From 82d5debe6284f3e8445a1da26ac3e351e616fdf0 Mon Sep 17 00:00:00 2001 From: Daniel Sitek Date: Wed, 12 Apr 2023 14:07:51 +0200 Subject: [PATCH] release v1.5.0 --- README.md | 6 +++--- dist/cookies-gtm.min.js | 2 +- dist/cookies.min.js | 2 +- package.json | 2 +- public/example.html | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b299a94..56109db 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Size](https://img.shields.io/github/size/danielsitek/dgp-cookie-consent/dist/cookies.min.js) [![Stable version](https://img.shields.io/github/v/release/danielsitek/dgp-cookie-consent)](https://github.com/danielsitek/dgp-cookie-consent/releases) -[![CDN](https://img.shields.io/badge/CDN-orange?style=flat&logo=jsdelivr&logoColor=white)](https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js) +[![CDN](https://img.shields.io/badge/CDN-orange?style=flat&logo=jsdelivr&logoColor=white)](https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js) [![Maintainability](https://api.codeclimate.com/v1/badges/27b5b5b749d18039f303/maintainability)](https://codeclimate.com/github/danielsitek/dgp-cookie-consent/maintainability) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/65b56152a2a84981b10576ad7081411d)](https://www.codacy.com/gh/danielsitek/dgp-cookie-consent/dashboard) @@ -55,7 +55,7 @@ Awesome one-of-a-kind Cookie Consent panel. 1. Download the latest release or use CDN. ``` - https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js + https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js ``` 1. Insert this code on the bottom of the page, or [inject it via GTM](#gtm-implementation). @@ -576,7 +576,7 @@ window.addEventListener('consent-ready', () => { (function cookiesInit() { var scriptEl = document.createElement('script'); - scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js'; + scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js'; scriptEl.type = 'text/javascript'; scriptEl.id = 'cookie-consent'; diff --git a/dist/cookies-gtm.min.js b/dist/cookies-gtm.min.js index 19d3687..168646d 100644 --- a/dist/cookies-gtm.min.js +++ b/dist/cookies-gtm.min.js @@ -1 +1 @@ -!function(){"use strict";const e="denied",o="granted";function n(...e){window.dataLayer=window.dataLayer||[],1!==e.length?window.dataLayer.push(e):window.dataLayer.push(e[0])}function t(e){const o=function(){const e={};return document.cookie.split(";").forEach((o=>{const n=o.trim(),t=n.split("=")[0],i=n.replace(`${t}=`,"");e[t]=i})),e}();if(Object.keys(o).includes(e))return o[e]}const i=function(){try{return JSON.parse(t("CookieConsent")||"")}catch(e){return{necessary:!0,marketing:!1,preferences:!1,statistics:!1}}}();n("consent","default",{ad_storage:i.marketing?o:e,analytics_storage:i.statistics?o:e,personalization_storage:i.preferences?o:e,functionality_storage:o,security_storage:o}),n({event:"cookie_consent_default"}),window.addEventListener("consent-ready",(function(){n({event:"cookie_consent_ready"})})),window.addEventListener("consent-updated",(function(){n("consent","update",{ad_storage:window.CookieConsent.marketing?o:e,analytics_storage:window.CookieConsent.statistics?o:e,personalization_storage:window.CookieConsent.preferences?o:e,functionality_storage:o,security_storage:o}),n({event:"cookie_consent_update",type:window.CookieConsent.type,personalization_storage:window.CookieConsent.preferences?o:e,ad_storage:window.CookieConsent.marketing?o:e,analytics_storage:window.CookieConsent.statistics?o:e})})),window.addEventListener("consent-show",(function(){n({event:"cookie_consent_bar_show"})})),window.addEventListener("consent-hide",(function(){n({event:"cookie_consent_bar_hide"})})),window.CookieConsentTheme=Object.assign({"base-color":"#3c3c3c","border-radius":"0","color-primary":"#000000","button-default__bg-color":"#f3f3f2","button-default__color":"#676767","button-default__border":"0 none","button-default--hover__bg-color":"#f3f3f2","button-default--hover__color":"#676767","button-default--hover__border":"0 none","button-default--hover__box-shadow":"none","button-primary__bg-color":"#000000","button-primary__color":"#fff","button-primary--hover__bg-color":"#f3f3f2","button-primary--hover__color":"#000"},window.CookieConsentTheme),window.CookieConsentTranslations=window.CookieConsentTranslations||{},window.CookieConsentSettings=window.CookieConsentSettings||{};const s=document.createElement("script");s.src="https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@latest/dist/cookies.min.js",s.type="text/javascript",s.id="cookie-consent",s.defer=!0,document.body.appendChild(s)}(); \ No newline at end of file +!function(){"use strict";const e="denied",o="granted";function n(...e){window.dataLayer=window.dataLayer||[],1!==e.length?window.dataLayer.push(e):window.dataLayer.push(e[0])}function t(e){const o=function(){const e={};return document.cookie.split(";").forEach((o=>{const n=o.trim(),t=n.split("=")[0],i=n.replace(`${t}=`,"");e[t]=i})),e}();if(Object.keys(o).includes(e))return o[e]}const i=function(){try{return JSON.parse(t("CookieConsent")||"")}catch(e){return{necessary:!0,marketing:!1,preferences:!1,statistics:!1}}}();n("consent","default",{ad_storage:i.marketing?o:e,analytics_storage:i.statistics?o:e,personalization_storage:i.preferences?o:e,functionality_storage:o,security_storage:o}),n({event:"cookie_consent_default"}),window.addEventListener("consent-ready",(function(){n({event:"cookie_consent_ready"})})),window.addEventListener("consent-updated",(function(){n("consent","update",{ad_storage:window.CookieConsent.marketing?o:e,analytics_storage:window.CookieConsent.statistics?o:e,personalization_storage:window.CookieConsent.preferences?o:e,functionality_storage:o,security_storage:o}),n({event:"cookie_consent_update",type:window.CookieConsent.type,personalization_storage:window.CookieConsent.preferences?o:e,ad_storage:window.CookieConsent.marketing?o:e,analytics_storage:window.CookieConsent.statistics?o:e})})),window.addEventListener("consent-show",(function(){n({event:"cookie_consent_bar_show"})})),window.addEventListener("consent-hide",(function(){n({event:"cookie_consent_bar_hide"})})),window.CookieConsentTheme=Object.assign({"base-color":"#3c3c3c","border-radius":"0","color-primary":"#000000","button-default__bg-color":"#f3f3f2","button-default__color":"#676767","button-default__border":"0 none","button-default--hover__bg-color":"#f3f3f2","button-default--hover__color":"#676767","button-default--hover__border":"0 none","button-default--hover__box-shadow":"none","button-primary__bg-color":"#000000","button-primary__color":"#fff","button-primary--hover__bg-color":"#f3f3f2","button-primary--hover__color":"#000"},window.CookieConsentTheme),window.CookieConsentThemeDark=window.CookieConsentThemeDark||{},window.CookieConsentTranslations=window.CookieConsentTranslations||{},window.CookieConsentSettings=window.CookieConsentSettings||{};const s=document.createElement("script");s.src="https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@latest/dist/cookies.min.js",s.type="text/javascript",s.id="cookie-consent",s.defer=!0,document.body.appendChild(s)}(); \ No newline at end of file diff --git a/dist/cookies.min.js b/dist/cookies.min.js index 1b6eab6..2ed9ab1 100644 --- a/dist/cookies.min.js +++ b/dist/cookies.min.js @@ -1 +1 @@ -!function(){"use strict";const t="CookieConsent",e="click",n="change",i="consent-dialog";function o(t){const e=function(){const t={};return document.cookie.split(";").forEach((e=>{const n=e.trim(),i=n.split("=")[0],o=n.replace(`${i}=`,"");t[i]=o})),t}();if(Object.keys(e).includes(t))return e[t]}function a(t,e,n){const i=[`${t}=${e}`,"path=/",`domain=${window.location.hostname.replace("www.","")}`,"Secure","SameSite=Lax"];if(n){const t=function(t){const e=new Date;return e.setTime(e.getTime()+24*t*60*60*1e3),e.toUTCString()}(n);i.push(`expires=${t}`)}const o=i.join("; ");return document.cookie=o,o}const s=t=>{const e=2+t;return`${Math.random().toFixed(e).slice(2,e)}.${(new Date).getTime().toString().slice(0,10)}`},r={necessary:!0,preferences:!1,statistics:!1,marketing:!1,updated:"",id:"",type:""};function l(t){return encodeURIComponent(JSON.stringify(t))}function c(e){return a(t,l(Object.assign(Object.assign({},e),{id:s(10)})),365),d()}function d(){if(!o(t))return c(r);const e=o(t);let n=r;return e&&(n=function(t){try{return JSON.parse(decodeURIComponent(t))}catch(e){return JSON.parse(decodeURIComponent(atob(t)))}}(e)),n.id&&n.id.length?n:c(n)}const b=(t,e)=>{let n=null;return(...i)=>{null!==n&&(clearTimeout(n),n=null),n=setTimeout((()=>t(...i)),e)}},p=new Event("consent-updated"),u=new Event("consent-show"),h=new Event("consent-hide"),m=new Event("consent-ready"),f=b((()=>{window.dispatchEvent(p)}),300),w=b((()=>{window.dispatchEvent(u)}),50),k=b((()=>{window.dispatchEvent(h)}),50),v=b((()=>{window.dispatchEvent(m)}),50),g={necessary:!0,preferences:!1,statistics:!1,marketing:!1,updated:"",id:"",type:""};class ConsentService{constructor(){this.getConsentData(),v()}get necessary(){return this.getConsentData(),g.necessary}set necessary(t){g.necessary=Boolean(t),this.updateConsentData()}get preferences(){return this.getConsentData(),g.preferences}set preferences(t){g.preferences=Boolean(t),this.updateConsentData()}get statistics(){return this.getConsentData(),g.statistics}set statistics(t){g.statistics=Boolean(t),this.updateConsentData()}get marketing(){return this.getConsentData(),g.marketing}set marketing(t){g.marketing=Boolean(t),this.updateConsentData()}get updated(){return this.getConsentData(),g.updated}get id(){return this.getConsentData(),g.id}get type(){return this.getConsentData(),g.type}set type(t){g.type=t,this.updateConsentData()}getConsentData(){const t=d();Object.keys(t).forEach((e=>{g[e]=t[e]}))}updateConsentData(){!function(e,n){const{id:i}=d(),o=Object.assign(Object.assign(Object.assign({},r),e),{updated:(s?new Date(s):new Date).toJSON(),id:i});var s;a(t,l(o),365);const c=d();n&&"function"==typeof n&&n.call(null,c)}(g,(()=>{f()}))}}function y(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{l(i.next(t))}catch(t){a(t)}}function r(t){try{l(i.throw(t))}catch(t){a(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,r)}l((i=i.apply(t,e||[])).next())}))}const x={showButtonRejectAll:!1},_={showButtonRejectAll:!1},C={},j={locale:"cs-CZ",tabAgree:{title:"Souhlas",body:"\n

Tato webová stránka používá cookies

\n

K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.

\n "},tabAbout:{title:"O aplikaci",body:"\n

Cookies jsou malé textové soubory, které mohou být používány webovými stránkami, aby učinily uživatelský zážitek více efektivní.

\n

Zákon uvádí, že můžeme ukládat cookies na vašem zařízení, pokud jsou nezbytně nutné pro provoz této stránky. Pro všechny ostatní typy cookies potřebujeme vaše povolení.

\n

Tato stránka používá různé typy cookies. Některé cookies jsou umístěny službami třetích stran, které se objevují na našich stránkách.

\n

Kdykoliv můžete změnit nebo zrušit svůj souhlas prostřednictvím Vyjádření o souborech cookie na našich webových stránkách.

\n "},tabDetail:{title:"Detail",necessary:{title:"Nutné",perex:"Nutné cookies pomáhají, aby byla webová stránka použitelná tak, že umožní základní funkce jako navigace stránky a přístup k zabezpečeným sekcím webové stránky. Webová stránka nemůže správně fungovat bez těchto cookies."},preferences:{title:"Preferenční",perex:"Preferenční cookies umožňují, aby si webová stránka zapamatovala informace, které mění, jak se webová stránka chová nebo jak vypadá. Je to například preferovaný jazyk nebo region, kde se nacházíte."},statistics:{title:"Statistické",perex:"Statistické cookies pomáhají majitelům webových stránek, aby porozuměli, jak návštěvníci používají webové stránky. Anonymně sbírají a sdělují informace."},marketing:{title:"Marketingové",perex:"Marketingové cookies jsou používány pro sledování návštěvníků na webových stránkách. Záměrem je zobrazit reklamu, která je relevantní a zajímavá pro jednotlivého uživatele a tímto hodnotnější pro vydavatele a inzerenty třetích stran."}},buttonEdit:{label:"Nastavit"},buttonAllowAll:{label:"Povolit vše"},buttonRejectAll:{label:"Odmítnout vše"},buttonConfirm:{label:"Potvrdit"},lastUpdated:"Prohlášení o cookies bylo naposledy aktualizováno %date."},A=()=>{var t,e,n,i,o;const a=null===window||void 0===window?void 0:window.CookieConsentTranslations;return{locale:(null==a?void 0:a.locale)||j.locale,tabAgree:Object.assign(Object.assign({},j.tabAgree),null==a?void 0:a.tabAgree),tabAbout:Object.assign(Object.assign({},j.tabAbout),null==a?void 0:a.tabAbout),tabDetail:{title:(null===(t=null==a?void 0:a.tabDetail)||void 0===t?void 0:t.title)||j.tabDetail.title,necessary:Object.assign(Object.assign({},j.tabDetail.necessary),null===(e=null==a?void 0:a.tabDetail)||void 0===e?void 0:e.necessary),preferences:Object.assign(Object.assign({},j.tabDetail.preferences),null===(n=null==a?void 0:a.tabDetail)||void 0===n?void 0:n.preferences),statistics:Object.assign(Object.assign({},j.tabDetail.statistics),null===(i=null==a?void 0:a.tabDetail)||void 0===i?void 0:i.statistics),marketing:Object.assign(Object.assign({},j.tabDetail.marketing),null===(o=null==a?void 0:a.tabDetail)||void 0===o?void 0:o.marketing)},buttonEdit:Object.assign(Object.assign({},j.buttonEdit),null==a?void 0:a.buttonEdit),buttonAllowAll:Object.assign(Object.assign({},j.buttonAllowAll),null==a?void 0:a.buttonAllowAll),buttonRejectAll:Object.assign(Object.assign({},j.buttonRejectAll),null==a?void 0:a.buttonRejectAll),buttonConfirm:Object.assign(Object.assign({},j.buttonConfirm),null==a?void 0:a.buttonConfirm),lastUpdated:(null==a?void 0:a.lastUpdated)||j.lastUpdated}},O=(t,e)=>{const n=document.createElement(t);return"button"===t&&n.setAttribute("type",t),e&&n.classList.add(...e.filter((t=>t))),n},D=t=>O("div",t),E=(t,e)=>e?[...t,...e.split(" ")]:t,B=t=>{const e=O("button",E(["c-b",t.variant?`c-b--${t.variant}`:""],t.modifier));return e.innerHTML=`${t.label}`,e};class z{constructor(t,e){if(this.props=t,this.element=O("button",["c-t"]),this.element.setAttribute("role","tab"),this.activeCallBack=e,this.element.innerHTML=`\n ${t.label}\n
\n `,this.props.modifier){const t=this.props.modifier.split(" ");this.element.classList.add(...t)}this.props.active&&(this.active=this.props.active),this.initListeners()}set active(t){var e,n;null===(e=this.element.parentElement)||void 0===e||e.querySelectorAll("button").forEach((t=>{t.classList.remove("c-t--a"),t.setAttribute("aria-selected","false")})),t?(this.element.classList.add("c-t--a"),this.element.setAttribute("aria-selected","true")):(this.element.classList.remove("c-t--a"),this.element.setAttribute("aria-selected","false")),this.active&&(null===(n=this.activeCallBack)||void 0===n||n.apply(null))}get active(){return this.element.classList.contains("c-t--a")}initListeners(){this.element.addEventListener(e,(()=>{this.active=!this.active}))}render(){return this.element}}const T=t=>{const e=D(),i=O("label",["s-b"]),o=O("input",["s-b__i"]),a=D(["s-b__b"]);return o.type="checkbox",o.checked=!!(null==t?void 0:t.checked),o.disabled=!!(null==t?void 0:t.disabled),a.innerHTML='
',o.addEventListener(n,(t=>{t.preventDefault(),i.setAttribute("aria-checked",`${t.target.checked}`),e.dispatchEvent(new Event(n))})),i.appendChild(o),i.appendChild(a),i.setAttribute("role","switch"),e.appendChild(i),e.isChecked=()=>o.checked,e.setChecked=t=>{o.checked=t,i.setAttribute("aria-checked",`${t}`)},e},L=t=>{const e=D(E(["c-d__f"],t.modifier));return t.buttons.filter((t=>t)).forEach((t=>{"boolean"!=typeof t&&e.appendChild(t)})),e},S=t=>{const e=D(["c-t-c"]),n=D(["c-d__b"]);return n.innerHTML=t.body||"props.body",e.setAttribute("role","tabpanel"),e.appendChild(n),e.appendChild(L({buttons:t.buttons||[]})),e},M=A(),$=t=>{const e=D(["c-d__b"]);return Object.keys(t.sections).forEach((n=>{e.appendChild((t=>{const e=D(["c-s"]),n=D(["c-s__i"]),i=D(["c-s__a-h"]),o=D(["c-s__a-p"]),a=D(["c-s__a-s"]);return i.innerHTML=`${t.title}`,o.innerHTML=t.perex,a.appendChild(t.switch),n.appendChild(i),n.appendChild(o),n.appendChild(a),e.appendChild(n),e})(t.sections[n]))})),e},R=t=>{const e=D(["c-d__u"]),n=(()=>{if(!window.CookieConsent.updated.length)return"";const t=new Date(window.CookieConsent.updated);return new Intl.DateTimeFormat(M.locale).format(t)})();if(n.length&&t.lastUpdated)return e.innerHTML=t.lastUpdated.replace("%date",n),e},P=A(),U=(()=>{const t=null===window||void 0===window?void 0:window.CookieConsentSettings;return{tabAgree:Object.assign(Object.assign({},x),null==t?void 0:t.tabAgree),tabAbout:Object.assign(Object.assign({},_),null==t?void 0:t.tabAbout)}})();class N extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:"closed"}),this.componentStyle=O("style"),this.componentThemeStyle=O("style"),this.mainElement=D(["c-d","t"]),this.mainElement.setAttribute("role","dialog"),this.mainElement.setAttribute("aria-modal","true"),this.mainElement.setAttribute("aria-hidden","false"),this.innerElement=D(["c-d__i"]),this.tabButtonAgree=new z({label:P.tabAgree.title,active:!0}),this.tabButtonDetails=new z({label:P.tabDetail.title}),this.tabButtonAbout=new z({label:P.tabAbout.title}),this.switchButtonNecessary=T({checked:!0,disabled:!0}),this.switchButtonPreferences=T(),this.switchButtonStatistics=T(),this.switchButtonMarketing=T(),this.main()}initStyles(){this.componentStyle.textContent='*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}::-webkit-scrollbar{display:none}p{margin-bottom:30px;margin-top:30px}@-webkit-keyframes animate-in{0%{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}to{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}}@keyframes animate-in{0%{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}to{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}}@-webkit-keyframes animate-out{0%{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}to{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}}@keyframes animate-out{0%{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}to{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}}.a.in{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:animate-in;animation-name:animate-in}.a.in,.a.out{-webkit-animation-duration:.3s;animation-duration:.3s}.a.out{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:animate-out;animation-name:animate-out}.c-d__f,.c-d__h{-webkit-box-shadow:0 0 40px var(--color-white,#fff),0 0 30px var(--color-white,#fff),0 0 20px var(--color-white,#fff),0 0 10px var(--color-white,#fff),0 0 5px var(--color-white,#fff);box-shadow:0 0 40px var(--color-white,#fff),0 0 30px var(--color-white,#fff),0 0 20px var(--color-white,#fff),0 0 10px var(--color-white,#fff),0 0 5px var(--color-white,#fff)}.c-d{background-color:var(--color-white,#fff);border-radius:var(--border-radius,6px);-webkit-box-shadow:0 1px 6px rgba(5,27,44,.06),0 2px 32px rgba(5,27,44,.16);box-shadow:0 1px 6px rgba(5,27,44,.06),0 2px 32px rgba(5,27,44,.16);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--base-color,#393939);display:block;font-family:var(--base-font-family,inherit);font-size:var(--base-font-size,15px);left:50%;letter-spacing:.1px;line-height:1.4;max-height:calc(100% - 20px);max-width:900px;overflow:hidden;position:fixed;text-align:initial;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:width,max-width,top,bottom,left,opacity;-o-transition-property:width,max-width,top,bottom,left,opacity;transition-property:width,max-width,top,bottom,left,opacity;width:calc(100% - 20px);z-index:2147483631}.c-d__h{z-index:1}.c-d__h,.c-d__i{position:relative}.c-d__b,.c-d__i{display:block}.c-d__b{overflow:hidden;overflow-y:auto;padding:0 20px}.c-d__u{color:var(--color-text-light,#757575);display:block;font-size:85%}.c-d__f,.c-d__u{border-top:var(--base-line,1px solid #d0d0d0);padding:20px}.c-d__f{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-box-pack:end;-ms-flex-pack:end;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse;justify-content:flex-end;margin:0;position:relative;z-index:1}.c-d__f-b+.c-d__f-b{margin:0 0 10px}@media (min-width:600px){.c-d__b{padding:0 50px}.c-d__u{padding:20px 50px}.c-d__f{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.c-d__f-b+.c-d__f-b{margin:0 0 0 20px}}.c-b{-webkit-box-flex:0;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:button;-moz-appearance:button;appearance:button;border-radius:var(--button-border-radius,6px);cursor:pointer;-ms-flex:0 0 auto;flex:0 0 auto;font-family:inherit;font-size:100%;font-weight:600;justify-content:center;line-height:1.4;margin:0;min-height:60px;padding:5px 10px;text-decoration:none;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color,color,border,-webkit-box-shadow;transition-property:background-color,color,border,-webkit-box-shadow;-o-transition-property:background-color,color,border,box-shadow;transition-property:background-color,color,border,box-shadow;transition-property:background-color,color,border,box-shadow,-webkit-box-shadow;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-b,.c-b__i{display:-webkit-box;display:-ms-flexbox;display:flex}.c-b--d{background-color:var(--button-default__bg-color,#f4f4f4);border:var(--button-default__border,1px solid #f4f4f4);-webkit-box-shadow:var(--button-default__box-shadow,none);box-shadow:var(--button-default__box-shadow,none);color:var(--button-default__color,#242424);text-transform:var(--button-default__text-transform,none)}.c-b--d:hover{background-color:var(--button-default--hover__bg-color,#fff);border:var(--button-default--hover__border,1px solid #d1d1d1);-webkit-box-shadow:var(--button-default--hover__box-shadow,0 0 17px 0 rgba(0,0,0,.1));box-shadow:var(--button-default--hover__box-shadow,0 0 17px 0 rgba(0,0,0,.1));color:var(--button-default--hover__color,#242424)}.c-b--p{background-color:var(--button-primary__bg-color,#f8c132);border:var(--button-primary__border,0 none);-webkit-box-shadow:var(--button-primary__box-shadow,none);box-shadow:var(--button-primary__box-shadow,none);color:var(--button-primary__color,#242424);text-transform:var(--button-primary__text-transform,uppercase)}.c-b--p:hover{background-color:var(--button-primary--hover__bg-color,#efaf08);border:var(--button-primary--hover__border,0 none);-webkit-box-shadow:var(--button-primary--hover__box-shadow,none);box-shadow:var(--button-primary--hover__box-shadow,none);color:var(--button-primary--hover__color,#242424)}@media (min-width:600px){.c-b{min-width:200px;padding:10px 20px}}.c-ts{border-bottom:var(--base-line,1px solid #d0d0d0);display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:0 20px}@media (min-width:600px){.c-ts{gap:30px;padding:0 50px}}.c-t{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:button;-moz-appearance:button;appearance:button;background-color:transparent;border:0;color:var(--color-text,#242424);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:110%;justify-content:center;line-height:1.3;margin:0;min-height:60px;padding:0;position:relative;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-t__i,.c-t__l{display:block}.c-t__l{background-color:var(--color-primary,#f8c132);border-radius:var(--border-radius,6px);bottom:-1px;height:3px;left:50%;opacity:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:opacity,width;-o-transition-property:opacity,width;transition-property:opacity,width;width:0}.c-t--a{display:-webkit-box;display:-ms-flexbox;display:flex}.c-t--a .c-t__l{opacity:1;width:100%}@media (min-width:600px){.c-t{font-size:120%;min-height:70px;padding:0 20px}}.c-t-c{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:calc(100vh - 110px)}.c-s{display:block;padding:30px 0}.c-s+.c-s{border-top:var(--base-line,1px solid #d0d0d0)}.c-s__i{display:grid;gap:20px 30px;grid-template-areas:"header switch" "perex perex";grid-template-columns:1fr auto}.c-s__a-h{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;grid-area:header}.c-s__a-p{grid-area:perex}.c-s__a-s{grid-area:switch}@media (min-width:600px){.c-s__i{grid-template-areas:"header header" "perex switch"}}.s-b__b,.s-b__b:before,.s-b__p{-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color,opacity,-webkit-transform;transition-property:background-color,opacity,-webkit-transform;-o-transition-property:transform,background-color,opacity;transition-property:transform,background-color,opacity;transition-property:transform,background-color,opacity,-webkit-transform}.s-b__b,.s-b__b:before,.s-b__i,.s-b__p,.s-b__p:before{border-radius:1000px}.s-b{cursor:pointer;display:grid;height:30px;position:relative;width:60px}.s-b__i{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;display:block;height:100%;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:-1000}.s-b__b{display:block;overflow:hidden;position:relative}.s-b__b:before{background-color:var(--color-grey,#d6d6d6);content:"";height:100%;position:absolute;width:100%}.s-b__p{padding:3px;position:relative;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);width:50%}.s-b__p,.s-b__p:before{display:block;height:100%}.s-b__p:before{background-color:var(--color-white,#fff);content:"";width:100%}.s-b__i:checked~.s-b__b:before{background-color:var(--color-primary,#f8c132)}.s-b__i:checked~.s-b__b .s-b__p{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.s-b__i:disabled~.s-b__b{cursor:default;opacity:.25}.s-b__i:disabled~.s-b__b:before{background-color:var(--color-grey,#d6d6d6)}.s-b__i:disabled:checked~.s-b__b:before{background-color:var(--color-primary,#f8c132)}',this.componentThemeStyle.textContent=(()=>{const t=Object.assign(Object.assign({},C),null===window||void 0===window?void 0:window.CookieConsentTheme);return{themeTextContent:`.t { ${Object.keys(t).map((e=>`--${e}: ${t[e]};`)).join(" ")} }`}})().themeTextContent;const t=this.tabButtonAgree.render(),n=this.tabButtonDetails.render(),i=this.tabButtonAbout.render();this.mainElement.style.display="none",this.mainElement.appendChild((t=>{const e=D(E(["c-ts"],t.modifier));return e.setAttribute("role","tablist"),t.tabs.forEach((t=>{e.appendChild(t)})),e})({tabs:[t,n,i],modifier:"c-d__h"})),this.mainElement.appendChild(this.innerElement),t.addEventListener(e,(()=>{this.setTabContentAgree()})),n.addEventListener(e,(()=>{this.setTabContentDetails()})),i.addEventListener(e,(()=>{this.setTabContentAbout()}))}setTabContent(t){this.innerElement.innerHTML="",this.innerElement.appendChild(t)}setTabContentAgree(){this.setTabContent(S({body:P.tabAgree.body,buttons:[!!U.tabAgree.showButtonRejectAll&&this.createButtonRejectAll(),this.createButtonEdit(),this.createButtonAllowAll()]})),this.tabButtonAgree.active=!0}setTabContentDetails(){this.setTabContent(this.tabContentDetails()),this.tabButtonDetails.active=!0}setTabContentAbout(){this.setTabContent(S({body:P.tabAbout.body,buttons:[!!U.tabAbout.showButtonRejectAll&&this.createButtonRejectAll(),this.createButtonEdit(),this.createButtonAllowAll()]})),this.tabButtonAbout.active=!0}tabContentDetails(){return this.switchButtonPreferences.setChecked(window.CookieConsent.preferences),this.switchButtonStatistics.setChecked(window.CookieConsent.statistics),this.switchButtonMarketing.setChecked(window.CookieConsent.marketing),(t=>{const e=D(["c-t-c"]),n=R(t);return e.appendChild($(t)),e.setAttribute("role","tabpanel"),n&&e.appendChild(n),e.appendChild(L({buttons:t.buttons||[]})),e})({buttons:[this.createButtonRejectAll(),this.createButtonConfirm()],lastUpdated:P.lastUpdated,sections:{necessary:Object.assign(Object.assign({},P.tabDetail.necessary),{switch:this.switchButtonNecessary}),preferences:Object.assign(Object.assign({},P.tabDetail.preferences),{switch:this.switchButtonPreferences}),statistics:Object.assign(Object.assign({},P.tabDetail.statistics),{switch:this.switchButtonStatistics}),marketing:Object.assign(Object.assign({},P.tabDetail.marketing),{switch:this.switchButtonMarketing})}})}updateConsentOnClick(t,e,n,i){window.CookieConsent.type=i,window.CookieConsent.preferences=t,window.CookieConsent.statistics=e,window.CookieConsent.marketing=n,this.closeModal()}createButtonEdit(){const t=B({label:P.buttonEdit.label,variant:"d",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.setTabContentDetails()})),t}createButtonAllowAll(){const t=B({label:P.buttonAllowAll.label,variant:"p",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.updateConsentOnClick(!0,!0,!0,"full")})),t}createButtonRejectAll(){const t=B({label:P.buttonRejectAll.label,variant:"d",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.switchButtonPreferences.setChecked(!1),this.switchButtonStatistics.setChecked(!1),this.switchButtonMarketing.setChecked(!1),this.updateConsentOnClick(!1,!1,!1,"rejected")})),t}createButtonConfirm(){const t=B({label:P.buttonConfirm.label,variant:"p",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.updateConsentOnClick(this.switchButtonPreferences.isChecked(),this.switchButtonStatistics.isChecked(),this.switchButtonMarketing.isChecked(),"advanced")})),t}appendCode(){this.shadow.appendChild(this.componentStyle),this.shadow.appendChild(this.componentThemeStyle),this.shadow.appendChild(this.mainElement)}closeModal(){setTimeout((()=>y(this,void 0,void 0,(function*(){yield((t,e)=>{let n;return new Promise((i=>{clearTimeout(n),t.style.animationDuration=`${e}ms`,t.classList.add("a"),t.classList.add("out"),n=setTimeout((()=>{t.style.display="none",t.classList.remove("out"),t.classList.remove("a"),t.style.animationDuration="",i()}),e)}))})(this.mainElement,300);const t=document.querySelector(i);null==t||t.remove()}))),500)}main(){return y(this,void 0,void 0,(function*(){this.initStyles(),this.appendCode(),this.setTabContentAgree(),yield((t,e)=>{let n;return new Promise((i=>{clearTimeout(n),t.style.display="block",t.style.animationDuration=`${e}ms`,t.classList.add("a"),t.classList.add("in"),n=setTimeout((()=>{t.classList.remove("in"),t.classList.remove("a"),t.style.animationDuration="",i()}),e)}))})(this.mainElement,300)}))}connectedCallback(){w()}disconnectedCallback(){k()}}customElements.define(i,N);const H=()=>{if(document.querySelectorAll(i).length)return;const t=O(i);document.body.appendChild(t)};window.CookieConsent=(()=>{const t=new ConsentService;return t.updated.length&&t.type.length||H(),t})(),window.CookieConsentModalOpen=()=>{H()}}(); \ No newline at end of file +!function(){"use strict";const t="CookieConsent",e="click",n="change",i="consent-dialog";function o(t){const e=function(){const t={};return document.cookie.split(";").forEach((e=>{const n=e.trim(),i=n.split("=")[0],o=n.replace(`${i}=`,"");t[i]=o})),t}();if(Object.keys(e).includes(t))return e[t]}function a(t,e,n){const i=[`${t}=${e}`,"path=/",`domain=${window.location.hostname.replace("www.","")}`,"Secure","SameSite=Lax"];if(n){const t=function(t){const e=new Date;return e.setTime(e.getTime()+24*t*60*60*1e3),e.toUTCString()}(n);i.push(`expires=${t}`)}const o=i.join("; ");return document.cookie=o,o}const s=t=>{const e=2+t;return`${Math.random().toFixed(e).slice(2,e)}.${(new Date).getTime().toString().slice(0,10)}`},r={necessary:!0,preferences:!1,statistics:!1,marketing:!1,updated:"",id:"",type:""};function l(t){return encodeURIComponent(JSON.stringify(t))}function c(e){return a(t,l(Object.assign(Object.assign({},e),{id:s(10)})),365),d()}function d(){if(!o(t))return c(r);const e=o(t);let n=r;return e&&(n=function(t){try{return JSON.parse(decodeURIComponent(t))}catch(e){return JSON.parse(decodeURIComponent(atob(t)))}}(e)),n.id&&n.id.length?n:c(n)}const b=(t,e)=>{let n=null;return(...i)=>{null!==n&&(clearTimeout(n),n=null),n=setTimeout((()=>t(...i)),e)}},p=new Event("consent-updated"),u=new Event("consent-show"),h=new Event("consent-hide"),m=new Event("consent-ready"),f=b((()=>{window.dispatchEvent(p)}),300),w=b((()=>{window.dispatchEvent(u)}),50),k=b((()=>{window.dispatchEvent(h)}),50),v=b((()=>{window.dispatchEvent(m)}),50),g={necessary:!0,preferences:!1,statistics:!1,marketing:!1,updated:"",id:"",type:""};class ConsentService{constructor(){this.getConsentData(),v()}get necessary(){return this.getConsentData(),g.necessary}set necessary(t){g.necessary=Boolean(t),this.updateConsentData()}get preferences(){return this.getConsentData(),g.preferences}set preferences(t){g.preferences=Boolean(t),this.updateConsentData()}get statistics(){return this.getConsentData(),g.statistics}set statistics(t){g.statistics=Boolean(t),this.updateConsentData()}get marketing(){return this.getConsentData(),g.marketing}set marketing(t){g.marketing=Boolean(t),this.updateConsentData()}get updated(){return this.getConsentData(),g.updated}get id(){return this.getConsentData(),g.id}get type(){return this.getConsentData(),g.type}set type(t){g.type=t,this.updateConsentData()}getConsentData(){const t=d();Object.keys(t).forEach((e=>{g[e]=t[e]}))}updateConsentData(){!function(e,n){const{id:i}=d(),o=Object.assign(Object.assign(Object.assign({},r),e),{updated:(s?new Date(s):new Date).toJSON(),id:i});var s;a(t,l(o),365);const c=d();n&&"function"==typeof n&&n.call(null,c)}(g,(()=>{f()}))}}function y(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{l(i.next(t))}catch(t){a(t)}}function r(t){try{l(i.throw(t))}catch(t){a(t)}}function l(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,r)}l((i=i.apply(t,e||[])).next())}))}const x={showButtonRejectAll:!1},_={showButtonRejectAll:!1},C={},j={"base-color":"#959ea8","base-line":"1px solid #3e454d","base-shadow":"0 1px 6px rgba(0,0,0,.2)","color-white":"#2b2e31","color-grey":"#44484c","color-text":"#dee5ec","color-text-light":"#8b939d"},A={locale:"cs-CZ",tabAgree:{title:"Souhlas",body:"\n

Tato webová stránka používá cookies

\n

K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.

\n "},tabAbout:{title:"O aplikaci",body:"\n

Cookies jsou malé textové soubory, které mohou být používány webovými stránkami, aby učinily uživatelský zážitek více efektivní.

\n

Zákon uvádí, že můžeme ukládat cookies na vašem zařízení, pokud jsou nezbytně nutné pro provoz této stránky. Pro všechny ostatní typy cookies potřebujeme vaše povolení.

\n

Tato stránka používá různé typy cookies. Některé cookies jsou umístěny službami třetích stran, které se objevují na našich stránkách.

\n

Kdykoliv můžete změnit nebo zrušit svůj souhlas prostřednictvím Vyjádření o souborech cookie na našich webových stránkách.

\n "},tabDetail:{title:"Detail",necessary:{title:"Nutné",perex:"Nutné cookies pomáhají, aby byla webová stránka použitelná tak, že umožní základní funkce jako navigace stránky a přístup k zabezpečeným sekcím webové stránky. Webová stránka nemůže správně fungovat bez těchto cookies."},preferences:{title:"Preferenční",perex:"Preferenční cookies umožňují, aby si webová stránka zapamatovala informace, které mění, jak se webová stránka chová nebo jak vypadá. Je to například preferovaný jazyk nebo region, kde se nacházíte."},statistics:{title:"Statistické",perex:"Statistické cookies pomáhají majitelům webových stránek, aby porozuměli, jak návštěvníci používají webové stránky. Anonymně sbírají a sdělují informace."},marketing:{title:"Marketingové",perex:"Marketingové cookies jsou používány pro sledování návštěvníků na webových stránkách. Záměrem je zobrazit reklamu, která je relevantní a zajímavá pro jednotlivého uživatele a tímto hodnotnější pro vydavatele a inzerenty třetích stran."}},buttonEdit:{label:"Nastavit"},buttonAllowAll:{label:"Povolit vše"},buttonRejectAll:{label:"Odmítnout vše"},buttonConfirm:{label:"Potvrdit"},lastUpdated:"Prohlášení o cookies bylo naposledy aktualizováno %date."},O=()=>{var t,e,n,i,o;const a=null===window||void 0===window?void 0:window.CookieConsentTranslations;return{locale:(null==a?void 0:a.locale)||A.locale,tabAgree:Object.assign(Object.assign({},A.tabAgree),null==a?void 0:a.tabAgree),tabAbout:Object.assign(Object.assign({},A.tabAbout),null==a?void 0:a.tabAbout),tabDetail:{title:(null===(t=null==a?void 0:a.tabDetail)||void 0===t?void 0:t.title)||A.tabDetail.title,necessary:Object.assign(Object.assign({},A.tabDetail.necessary),null===(e=null==a?void 0:a.tabDetail)||void 0===e?void 0:e.necessary),preferences:Object.assign(Object.assign({},A.tabDetail.preferences),null===(n=null==a?void 0:a.tabDetail)||void 0===n?void 0:n.preferences),statistics:Object.assign(Object.assign({},A.tabDetail.statistics),null===(i=null==a?void 0:a.tabDetail)||void 0===i?void 0:i.statistics),marketing:Object.assign(Object.assign({},A.tabDetail.marketing),null===(o=null==a?void 0:a.tabDetail)||void 0===o?void 0:o.marketing)},buttonEdit:Object.assign(Object.assign({},A.buttonEdit),null==a?void 0:a.buttonEdit),buttonAllowAll:Object.assign(Object.assign({},A.buttonAllowAll),null==a?void 0:a.buttonAllowAll),buttonRejectAll:Object.assign(Object.assign({},A.buttonRejectAll),null==a?void 0:a.buttonRejectAll),buttonConfirm:Object.assign(Object.assign({},A.buttonConfirm),null==a?void 0:a.buttonConfirm),lastUpdated:(null==a?void 0:a.lastUpdated)||A.lastUpdated}},D=(t,e)=>{const n=document.createElement(t);return"button"===t&&n.setAttribute("type",t),e&&n.classList.add(...e.filter((t=>t))),n},E=t=>D("div",t),B=(t,e)=>e?[...t,...e.split(" ")]:t,z=t=>{const e=D("button",B(["c-b",t.variant?`c-b--${t.variant}`:""],t.modifier));return e.innerHTML=`${t.label}`,e};class T{constructor(t,e){if(this.props=t,this.element=D("button",["c-t"]),this.element.setAttribute("role","tab"),this.activeCallBack=e,this.element.innerHTML=`\n ${t.label}\n
\n `,this.props.modifier){const t=this.props.modifier.split(" ");this.element.classList.add(...t)}this.props.active&&(this.active=this.props.active),this.initListeners()}set active(t){var e,n;null===(e=this.element.parentElement)||void 0===e||e.querySelectorAll("button").forEach((t=>{t.classList.remove("c-t--a"),t.setAttribute("aria-selected","false")})),t?(this.element.classList.add("c-t--a"),this.element.setAttribute("aria-selected","true")):(this.element.classList.remove("c-t--a"),this.element.setAttribute("aria-selected","false")),this.active&&(null===(n=this.activeCallBack)||void 0===n||n.apply(null))}get active(){return this.element.classList.contains("c-t--a")}initListeners(){this.element.addEventListener(e,(()=>{this.active=!this.active}))}render(){return this.element}}const L=t=>{const e=E(),i=D("label",["s-b"]),o=D("input",["s-b__i"]),a=E(["s-b__b"]);return o.type="checkbox",o.checked=!!(null==t?void 0:t.checked),o.disabled=!!(null==t?void 0:t.disabled),a.innerHTML='
',o.addEventListener(n,(t=>{t.preventDefault(),i.setAttribute("aria-checked",`${t.target.checked}`),e.dispatchEvent(new Event(n))})),i.appendChild(o),i.appendChild(a),i.setAttribute("role","switch"),e.appendChild(i),e.isChecked=()=>o.checked,e.setChecked=t=>{o.checked=t,i.setAttribute("aria-checked",`${t}`)},e},S=t=>{const e=E(B(["c-d__f"],t.modifier));return t.buttons.filter((t=>t)).forEach((t=>{"boolean"!=typeof t&&e.appendChild(t)})),e},$=t=>{const e=E(["c-t-c"]),n=E(["c-d__b"]);return n.innerHTML=t.body||"props.body",e.setAttribute("role","tabpanel"),e.appendChild(n),e.appendChild(S({buttons:t.buttons||[]})),e},M=O(),R=t=>{const e=E(["c-d__b"]);return Object.keys(t.sections).forEach((n=>{e.appendChild((t=>{const e=E(["c-s"]),n=E(["c-s__i"]),i=E(["c-s__a-h"]),o=E(["c-s__a-p"]),a=E(["c-s__a-s"]);return i.innerHTML=`${t.title}`,o.innerHTML=t.perex,a.appendChild(t.switch),n.appendChild(i),n.appendChild(o),n.appendChild(a),e.appendChild(n),e})(t.sections[n]))})),e},P=t=>{const e=E(["c-d__u"]),n=(()=>{if(!window.CookieConsent.updated.length)return"";const t=new Date(window.CookieConsent.updated);return new Intl.DateTimeFormat(M.locale).format(t)})();if(n.length&&t.lastUpdated)return e.innerHTML=t.lastUpdated.replace("%date",n),e},U=O(),N=(()=>{const t=null===window||void 0===window?void 0:window.CookieConsentSettings;return{tabAgree:Object.assign(Object.assign({},x),null==t?void 0:t.tabAgree),tabAbout:Object.assign(Object.assign({},_),null==t?void 0:t.tabAbout)}})();class H extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:"closed"}),this.componentStyle=D("style"),this.componentThemeStyle=D("style"),this.mainElement=E(["c-d","t"]),this.mainElement.setAttribute("role","dialog"),this.mainElement.setAttribute("aria-modal","true"),this.mainElement.setAttribute("aria-hidden","false"),this.innerElement=E(["c-d__i"]),this.tabButtonAgree=new T({label:U.tabAgree.title,active:!0}),this.tabButtonDetails=new T({label:U.tabDetail.title}),this.tabButtonAbout=new T({label:U.tabAbout.title}),this.switchButtonNecessary=L({checked:!0,disabled:!0}),this.switchButtonPreferences=L(),this.switchButtonStatistics=L(),this.switchButtonMarketing=L(),this.main()}initStyles(){this.componentStyle.textContent='*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}::-webkit-scrollbar{display:none}p{margin-bottom:30px;margin-top:30px}@-webkit-keyframes animate-in{0%{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}to{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}}@keyframes animate-in{0%{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}to{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}}@-webkit-keyframes animate-out{0%{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}to{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}}@keyframes animate-out{0%{opacity:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);visibility:visible}to{opacity:0;-webkit-transform:translate(-50%,-20%);transform:translate(-50%,-20%);visibility:hidden}}.a.in{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:animate-in;animation-name:animate-in}.a.in,.a.out{-webkit-animation-duration:.3s;animation-duration:.3s}.a.out{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-name:animate-out;animation-name:animate-out}.c-d__f,.c-d__h{-webkit-box-shadow:0 0 40px var(--color-white,#fff),0 0 30px var(--color-white,#fff),0 0 20px var(--color-white,#fff),0 0 10px var(--color-white,#fff),0 0 5px var(--color-white,#fff);box-shadow:0 0 40px var(--color-white,#fff),0 0 30px var(--color-white,#fff),0 0 20px var(--color-white,#fff),0 0 10px var(--color-white,#fff),0 0 5px var(--color-white,#fff)}.c-d{background-color:var(--color-white,#fff);border-radius:var(--border-radius,6px);-webkit-box-shadow:var(--base-shadow,0 1px 6px rgba(5,27,44,.06),0 2px 32px rgba(5,27,44,.16));box-shadow:var(--base-shadow,0 1px 6px rgba(5,27,44,.06),0 2px 32px rgba(5,27,44,.16));-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--base-color,#393939);display:block;font-family:var(--base-font-family,inherit);font-size:var(--base-font-size,15px);left:50%;letter-spacing:.1px;line-height:1.4;max-height:calc(100% - 20px);max-width:900px;overflow:hidden;position:fixed;text-align:initial;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:width,max-width,top,bottom,left,opacity;-o-transition-property:width,max-width,top,bottom,left,opacity;transition-property:width,max-width,top,bottom,left,opacity;width:calc(100% - 20px);z-index:2147483631}.c-d__h{z-index:1}.c-d__h,.c-d__i{position:relative}.c-d__b,.c-d__i{display:block}.c-d__b{overflow:hidden;overflow-y:auto;padding:0 20px}.c-d__u{color:var(--color-text-light,#757575);display:block;font-size:85%}.c-d__f,.c-d__u{border-top:var(--base-line,1px solid #d0d0d0);padding:20px}.c-d__f{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-box-pack:end;-ms-flex-pack:end;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse;justify-content:flex-end;margin:0;position:relative;z-index:1}.c-d__f-b+.c-d__f-b{margin:0 0 10px}@media (min-width:600px){.c-d__b{padding:0 50px}.c-d__u{padding:20px 50px}.c-d__f{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.c-d__f-b+.c-d__f-b{margin:0 0 0 20px}}.c-b{-webkit-box-flex:0;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:button;-moz-appearance:button;appearance:button;border-radius:var(--button-border-radius,6px);cursor:pointer;-ms-flex:0 0 auto;flex:0 0 auto;font-family:inherit;font-size:100%;font-weight:600;justify-content:center;line-height:1.4;margin:0;min-height:60px;padding:5px 10px;text-decoration:none;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color,color,border,-webkit-box-shadow;transition-property:background-color,color,border,-webkit-box-shadow;-o-transition-property:background-color,color,border,box-shadow;transition-property:background-color,color,border,box-shadow;transition-property:background-color,color,border,box-shadow,-webkit-box-shadow;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-b,.c-b__i{display:-webkit-box;display:-ms-flexbox;display:flex}.c-b--d{background-color:var(--button-default__bg-color,#f4f4f4);border:var(--button-default__border,1px solid #f4f4f4);-webkit-box-shadow:var(--button-default__box-shadow,none);box-shadow:var(--button-default__box-shadow,none);color:var(--button-default__color,#242424);text-transform:var(--button-default__text-transform,none)}.c-b--d:hover{background-color:var(--button-default--hover__bg-color,#fff);border:var(--button-default--hover__border,1px solid #d1d1d1);-webkit-box-shadow:var(--button-default--hover__box-shadow,0 0 17px 0 rgba(0,0,0,.1));box-shadow:var(--button-default--hover__box-shadow,0 0 17px 0 rgba(0,0,0,.1));color:var(--button-default--hover__color,#242424)}.c-b--p{background-color:var(--button-primary__bg-color,#f8c132);border:var(--button-primary__border,0 none);-webkit-box-shadow:var(--button-primary__box-shadow,none);box-shadow:var(--button-primary__box-shadow,none);color:var(--button-primary__color,#242424);text-transform:var(--button-primary__text-transform,uppercase)}.c-b--p:hover{background-color:var(--button-primary--hover__bg-color,#efaf08);border:var(--button-primary--hover__border,0 none);-webkit-box-shadow:var(--button-primary--hover__box-shadow,none);box-shadow:var(--button-primary--hover__box-shadow,none);color:var(--button-primary--hover__color,#242424)}@media (min-width:600px){.c-b{min-width:200px;padding:10px 20px}}.c-ts{border-bottom:var(--base-line,1px solid #d0d0d0);display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:0 20px}@media (min-width:600px){.c-ts{gap:30px;padding:0 50px}}.c-t{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-appearance:button;-moz-appearance:button;appearance:button;background-color:transparent;border:0;color:var(--color-text,#242424);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:110%;justify-content:center;line-height:1.3;margin:0;min-height:60px;padding:0;position:relative;-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color;-o-transition-property:background-color;transition-property:background-color;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.c-t__i,.c-t__l{display:block}.c-t__l{background-color:var(--color-primary,#f8c132);border-radius:var(--border-radius,6px);bottom:-1px;height:3px;left:50%;opacity:0;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:opacity,width;-o-transition-property:opacity,width;transition-property:opacity,width;width:0}.c-t--a{display:-webkit-box;display:-ms-flexbox;display:flex}.c-t--a .c-t__l{opacity:1;width:100%}@media (min-width:600px){.c-t{font-size:120%;min-height:70px;padding:0 20px}}.c-t-c{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:calc(100vh - 110px)}.c-s{display:block;padding:30px 0}.c-s+.c-s{border-top:var(--base-line,1px solid #d0d0d0)}.c-s__i{display:grid;gap:20px 30px;grid-template-areas:"header switch" "perex perex";grid-template-columns:1fr auto}.c-s__a-h{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;grid-area:header}.c-s__a-p{grid-area:perex}.c-s__a-s{grid-area:switch}@media (min-width:600px){.c-s__i{grid-template-areas:"header header" "perex switch"}}.s-b__b,.s-b__b:before,.s-b__p{-webkit-transition:.2s linear;-o-transition:.2s linear;transition:.2s linear;-webkit-transition-property:background-color,opacity,-webkit-transform;transition-property:background-color,opacity,-webkit-transform;-o-transition-property:transform,background-color,opacity;transition-property:transform,background-color,opacity;transition-property:transform,background-color,opacity,-webkit-transform}.s-b__b,.s-b__b:before,.s-b__i,.s-b__p,.s-b__p:before{border-radius:1000px}.s-b{cursor:pointer;display:grid;height:30px;position:relative;width:60px}.s-b__i{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;display:block;height:100%;left:0;margin:0;padding:0;position:absolute;top:0;width:100%;z-index:-1000}.s-b__b{display:block;overflow:hidden;position:relative}.s-b__b:before{background-color:var(--color-grey,#d6d6d6);content:"";height:100%;position:absolute;width:100%}.s-b__p{padding:3px;position:relative;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);width:50%}.s-b__p,.s-b__p:before{display:block;height:100%}.s-b__p:before{background-color:var(--color-white,#fff);content:"";width:100%}.s-b__i:checked~.s-b__b:before{background-color:var(--color-primary,#f8c132)}.s-b__i:checked~.s-b__b .s-b__p{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.s-b__i:disabled~.s-b__b{cursor:default;opacity:.25}.s-b__i:disabled~.s-b__b:before{background-color:var(--color-grey,#d6d6d6)}.s-b__i:disabled:checked~.s-b__b:before{background-color:var(--color-primary,#f8c132)}',this.componentThemeStyle.textContent=(()=>{const t=Object.assign(Object.assign({},C),null===window||void 0===window?void 0:window.CookieConsentTheme),e=Object.assign(Object.assign({},j),null===window||void 0===window?void 0:window.CookieConsentThemeDark),n=Object.keys(t).map((e=>`--${e}:${t[e]};`)),i=Object.keys(e).map((t=>`--${t}:${e[t]};`));return{themeTextContent:`.t{${n.join("")}}@media(prefers-color-scheme: dark){.t{${i.join("")}}}`}})().themeTextContent;const t=this.tabButtonAgree.render(),n=this.tabButtonDetails.render(),i=this.tabButtonAbout.render();this.mainElement.style.display="none",this.mainElement.appendChild((t=>{const e=E(B(["c-ts"],t.modifier));return e.setAttribute("role","tablist"),t.tabs.forEach((t=>{e.appendChild(t)})),e})({tabs:[t,n,i],modifier:"c-d__h"})),this.mainElement.appendChild(this.innerElement),t.addEventListener(e,(()=>{this.setTabContentAgree()})),n.addEventListener(e,(()=>{this.setTabContentDetails()})),i.addEventListener(e,(()=>{this.setTabContentAbout()}))}setTabContent(t){this.innerElement.innerHTML="",this.innerElement.appendChild(t)}setTabContentAgree(){this.setTabContent($({body:U.tabAgree.body,buttons:[!!N.tabAgree.showButtonRejectAll&&this.createButtonRejectAll(),this.createButtonEdit(),this.createButtonAllowAll()]})),this.tabButtonAgree.active=!0}setTabContentDetails(){this.setTabContent(this.tabContentDetails()),this.tabButtonDetails.active=!0}setTabContentAbout(){this.setTabContent($({body:U.tabAbout.body,buttons:[!!N.tabAbout.showButtonRejectAll&&this.createButtonRejectAll(),this.createButtonEdit(),this.createButtonAllowAll()]})),this.tabButtonAbout.active=!0}tabContentDetails(){return this.switchButtonPreferences.setChecked(window.CookieConsent.preferences),this.switchButtonStatistics.setChecked(window.CookieConsent.statistics),this.switchButtonMarketing.setChecked(window.CookieConsent.marketing),(t=>{const e=E(["c-t-c"]),n=P(t);return e.appendChild(R(t)),e.setAttribute("role","tabpanel"),n&&e.appendChild(n),e.appendChild(S({buttons:t.buttons||[]})),e})({buttons:[this.createButtonRejectAll(),this.createButtonConfirm()],lastUpdated:U.lastUpdated,sections:{necessary:Object.assign(Object.assign({},U.tabDetail.necessary),{switch:this.switchButtonNecessary}),preferences:Object.assign(Object.assign({},U.tabDetail.preferences),{switch:this.switchButtonPreferences}),statistics:Object.assign(Object.assign({},U.tabDetail.statistics),{switch:this.switchButtonStatistics}),marketing:Object.assign(Object.assign({},U.tabDetail.marketing),{switch:this.switchButtonMarketing})}})}updateConsentOnClick(t,e,n,i){window.CookieConsent.type=i,window.CookieConsent.preferences=t,window.CookieConsent.statistics=e,window.CookieConsent.marketing=n,this.closeModal()}createButtonEdit(){const t=z({label:U.buttonEdit.label,variant:"d",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.setTabContentDetails()})),t}createButtonAllowAll(){const t=z({label:U.buttonAllowAll.label,variant:"p",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.updateConsentOnClick(!0,!0,!0,"full")})),t}createButtonRejectAll(){const t=z({label:U.buttonRejectAll.label,variant:"d",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.switchButtonPreferences.setChecked(!1),this.switchButtonStatistics.setChecked(!1),this.switchButtonMarketing.setChecked(!1),this.updateConsentOnClick(!1,!1,!1,"rejected")})),t}createButtonConfirm(){const t=z({label:U.buttonConfirm.label,variant:"p",modifier:"c-d__f-b"});return t.addEventListener(e,(()=>{this.updateConsentOnClick(this.switchButtonPreferences.isChecked(),this.switchButtonStatistics.isChecked(),this.switchButtonMarketing.isChecked(),"advanced")})),t}appendCode(){this.shadow.appendChild(this.componentStyle),this.shadow.appendChild(this.componentThemeStyle),this.shadow.appendChild(this.mainElement)}closeModal(){setTimeout((()=>y(this,void 0,void 0,(function*(){yield((t,e)=>{let n;return new Promise((i=>{clearTimeout(n),t.style.animationDuration=`${e}ms`,t.classList.add("a"),t.classList.add("out"),n=setTimeout((()=>{t.style.display="none",t.classList.remove("out"),t.classList.remove("a"),t.style.animationDuration="",i()}),e)}))})(this.mainElement,300);const t=document.querySelector(i);null==t||t.remove()}))),500)}main(){return y(this,void 0,void 0,(function*(){this.initStyles(),this.appendCode(),this.setTabContentAgree(),yield((t,e)=>{let n;return new Promise((i=>{clearTimeout(n),t.style.display="block",t.style.animationDuration=`${e}ms`,t.classList.add("a"),t.classList.add("in"),n=setTimeout((()=>{t.classList.remove("in"),t.classList.remove("a"),t.style.animationDuration="",i()}),e)}))})(this.mainElement,300)}))}connectedCallback(){w()}disconnectedCallback(){k()}}customElements.define(i,H);const X=()=>{if(document.querySelectorAll(i).length)return;const t=D(i);document.body.appendChild(t)};window.CookieConsent=(()=>{const t=new ConsentService;return t.updated.length&&t.type.length||X(),t})(),window.CookieConsentModalOpen=()=>{X()}}(); \ No newline at end of file diff --git a/package.json b/package.json index 56dd064..d9beed8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@zoot/cookie-consent", - "version": "1.4.1", + "version": "1.5.0", "description": "ZOOT cookie consent", "main": "dist/cookies.js", "files": [ diff --git a/public/example.html b/public/example.html index a82690f..df8c193 100644 --- a/public/example.html +++ b/public/example.html @@ -73,7 +73,7 @@ (function cookiesInit() { var scriptEl = document.createElement('script'); - scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js'; + scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js'; scriptEl.type = 'text/javascript'; scriptEl.id = 'cookie-consent-main'; @@ -184,7 +184,7 @@ (function cookiesInit() { var scriptEl = document.createElement('script'); - scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js'; + scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js'; scriptEl.type = 'text/javascript'; scriptEl.id = 'cookie-consent-main'; @@ -289,7 +289,7 @@ (function cookiesInit() { var scriptEl = document.createElement('script'); - scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.4.1/dist/cookies.min.js'; + scriptEl.src = 'https://cdn.jsdelivr.net/gh/danielsitek/dgp-cookie-consent@1.5.0/dist/cookies.min.js'; scriptEl.type = 'text/javascript'; scriptEl.id = 'cookie-consent';