{"version":3,"file":"cookie-banner.js","sources":["../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/directives/repeat.js","../src/services/cookieService.ts","../src/components/cookie-banner/models.ts","../src/assets/close_icon.svg","../src/components/cookie-banner/cookie-settings.tsx","../src/services/tracking/models.ts","../src/services/tracking/tracking-service.ts","../src/components/cookie-banner/cookie-banner.tsx","../src/components/cookie-banner/cookie-overlay.tsx","../src/cookie-banner.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import {CookieDescription} from \"../components/cookie-banner/models\";\nimport {conf} from \"../config\";\n\nclass CookieService {\n\n private cookieDescriptions: CookieDescription[] = [];\n private COOKIE_BANNER_LAST_SEEN_KEY = 'NY_COOKIE_BANNER_LAST_SEEN';\n\n private cookieSubscribers: any = [];\n\n openCookieSettings() {\n window.dispatchEvent(new CustomEvent('ny-menu-closed', {detail: this as CookieService}));\n window.dispatchEvent(new CustomEvent('ny-cookie-settings-open'));\n }\n\n subscribeForCookies(callback: (cookieData: CookieDescription[])=>void) {\n this.cookieSubscribers.push(callback);\n\n if (this.cookieDescriptions.length > 0) {\n callback(this.cookieDescriptions)\n }\n }\n\n notifyCookieSubscribers(cookieData: CookieDescription[]){\n this.cookieDescriptions = cookieData;\n this.cookieSubscribers.forEach((callback: any)=> callback(cookieData))\n }\n\n private dispatchCookiesUpdated(cd: CookieDescription[]) {\n window.dispatchEvent(new CustomEvent('ny-cookies-updated', {detail: cd}));\n }\n\n getLastSeen() {\n const dateString = localStorage.getItem(this.COOKIE_BANNER_LAST_SEEN_KEY);\n if (!dateString) {return null}\n return new Date(dateString);\n }\n\n setLastSeen(date: Date) {\n localStorage.setItem(this.COOKIE_BANNER_LAST_SEEN_KEY, date.toISOString());\n }\n\n checkPermission(key: string) {\n return this.getCookieValueForKey(key);\n }\n\n acceptAllCookies() {\n for (const cd of this.cookieDescriptions) {\n this.setCookieValueForKey(cd.key, true)\n }\n this.updateCookiesWithLocalStoreValues();\n this.setLastSeen(new Date());\n this.dispatchCookiesUpdated(this.cookieDescriptions);\n }\n\n acceptRequiredCookies() {\n for (const cd of this.cookieDescriptions) {\n this.setCookieValueForKey(cd.key, cd.isRequired)\n }\n this.updateCookiesWithLocalStoreValues()\n this.setLastSeen(new Date());\n this.dispatchCookiesUpdated(this.cookieDescriptions);\n }\n\n updateCookies(cookieDescriptions: CookieDescription[]) {\n for (const cd of cookieDescriptions) {\n this.setCookieValueForKey(cd.key, cd.userPermission)\n }\n this.updateCookiesWithLocalStoreValues();\n this.dispatchCookiesUpdated(this.cookieDescriptions);\n }\n\n private getCookieValueForKey(key: string) {\n return (localStorage.getItem(key) === \"true\")\n }\n\n private setCookieValueForKey(key: string, value: boolean) {\n localStorage.setItem(key, value ? \"true\" : \"false\")\n }\n\n getCookieDescription(key: string) {\n return this.cookieDescriptions.find(it => it.key === key);\n }\n\n acceptCookie(key: string) {\n for (const cookieDescription of this.cookieDescriptions) {\n if (cookieDescription.key === key) {\n cookieDescription.userPermission = true;\n }\n }\n this.updateCookies(this.cookieDescriptions);\n }\n\n async loadCookieDescriptions(contextValue: string) {\n try {\n const res = await fetch(`${conf.assetServiceUrl}/cookies/?context=${contextValue}`);\n if (res.ok) {\n this.cookieDescriptions = await res.json();\n this.updateCookiesWithLocalStoreValues();\n }\n } catch (e) {\n console.error('error loading cookies: ', e);\n }\n return this.cookieDescriptions;\n }\n\n private updateCookiesWithLocalStoreValues() {\n this.cookieDescriptions = this.cookieDescriptions.map(cd => {\n cd.userPermission = !cd.isRequired ? this.getCookieValueForKey(cd.key) : true;\n return cd\n });\n }\n}\n\nexport const cookieService = new CookieService();\n","export const DISABLE_OPT_IN_PARAM = 'disableOptIn'\n\nexport class CookieDescription {\n public key: string;\n public isRequired: boolean;\n public headlineText: string;\n public descriptionText: string;\n public overlayHeadlineText: string;\n public overlayDescriptionText: string;\n public overlayButtonText: string;\n public infoUrl: string;\n public termsOfUseUrl: string;\n public userPermission: boolean;\n\n constructor(values: any) {\n this.key = values.key;\n this.isRequired = values.isRequired;\n this.headlineText = values.headlineText;\n this.descriptionText = values.descriptionText;\n this.overlayHeadlineText = values.overlayHeadlineText;\n this.overlayDescriptionText = values.overlayDescriptionText;\n this.overlayButtonText = values.overlayButtonText;\n this.infoUrl = values.infoUrl;\n this.termsOfUseUrl = values.termsOfUseUrl;\n this.userPermission = values.userPermission;\n }\n}\n","export default \"data:image/svg+xml,%3csvg%20aria-hidden='true'%20focusable='false'%20data-prefix='far'%20data-icon='times-circle'%20class='svg-inline--fa%20fa-times-circle%20fa-w-16'%20role='img'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3cpath%20fill='%23888888'%20d='M256%208C119%208%208%20119%208%20256s111%20248%20248%20248%20248-111%20248-248S393%208%20256%208zm0%20448c-110.5%200-200-89.5-200-200S145.5%2056%20256%2056s200%2089.5%20200%20200-89.5%20200-200%20200zm101.8-262.2L295.6%20256l62.2%2062.2c4.7%204.7%204.7%2012.3%200%2017l-22.6%2022.6c-4.7%204.7-12.3%204.7-17%200L256%20295.6l-62.2%2062.2c-4.7%204.7-12.3%204.7-17%200l-22.6-22.6c-4.7-4.7-4.7-12.3%200-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3%200-17l22.6-22.6c4.7-4.7%2012.3-4.7%2017%200l62.2%2062.2%2062.2-62.2c4.7-4.7%2012.3-4.7%2017%200l22.6%2022.6c4.7%204.7%204.7%2012.3%200%2017z'%3e%3c/path%3e%3c/svg%3e\"","import {html, LitElement} from 'lit'\nimport {customElement, state, property} from 'lit/decorators.js'\nimport {unsafeHTML} from 'lit/directives/unsafe-html.js'\nimport {repeat} from 'lit/directives/repeat.js';\nimport {i18nService} from '../../services/i18nService';\nimport {cookieService} from \"../../services/cookieService\";\nimport style from \"./cookie-settings.scss?inline\";\nimport {CookieDescription, DISABLE_OPT_IN_PARAM} from \"./models\";\nimport closeButton from \"../../assets/close_icon.svg\";\nimport {addCountryToRelativeUrl, getUrlParam} from \"./utils\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cookie-settings': CookieSettings\n }\n}\n\n@customElement('cookie-settings')\nexport class CookieSettings extends LitElement {\n\n @property() context: string = '';\n @state() i18nInitialized: boolean = false\n @state() cookieDescriptions: CookieDescription[] = [];\n\n constructor() {\n super();\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n }\n\n async connectedCallback() {\n super.connectedCallback();\n await i18nService.initTranslations();\n this.cookieDescriptions = await cookieService.loadCookieDescriptions(this.context);\n cookieService.notifyCookieSubscribers(this.cookieDescriptions)\n this.i18nInitialized = true;\n window.addEventListener('ny-cookie-settings-open', this.open)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('ny-cookie-settings-open', this.open)\n }\n\n async open() {\n if (getUrlParam(DISABLE_OPT_IN_PARAM)) {\n return\n }\n\n this.cookieDescriptions = await cookieService.loadCookieDescriptions(this.context);\n this.setAttribute('active', '');\n document.documentElement.style.overflowY = 'hidden';\n }\n\n close() {\n this.removeAttribute('active');\n document.documentElement.removeAttribute('style');\n }\n\n acceptAllCookies() {\n cookieService.acceptAllCookies();\n this.close();\n }\n\n togglePermission(cd: CookieDescription) {\n cd.userPermission = !cd.userPermission;\n }\n\n updateCookies() {\n cookieService.updateCookies(this.cookieDescriptions);\n cookieService.setLastSeen(new Date());\n this.close();\n }\n\n render() {\n if (!this.i18nInitialized) return;\n return html`\n \n
\n
\n
\n

${i18nService.translate(\"cookie_settings.header.text\")}

\n
\n \"close\"\n
\n
\n
\n
\n

${i18nService.translate(\"cookie_settings.introduction.text\")}

\n
\n
\n \n
\n
\n ${repeat(this.cookieDescriptions, (cd) => cd.key, (cd) => html`\n
\n
\n this.togglePermission(cd)}\">\n \n
\n

${unsafeHTML(i18nService.translate(cd.descriptionText, addCountryToRelativeUrl(cd.infoUrl)))}

\n
\n `)}\n
\n
\n
\n
\n \n
\n
\n
\n `\n }\n}","export class TrackPageEvent {\n path: string;\n title: string;\n\n constructor(path: string, title: string) {\n this.path = path;\n this.title = title;\n }\n}\n\nexport class TrackClickEvent {\n action: string;\n category: string;\n label: string;\n value: string;\n isSale: string;\n likeOrigin: string;\n imageType: string;\n\n constructor(values: any) {\n this.action = values.action;\n this.category = values.category;\n this.label = values.label;\n this.value = values.value;\n this.isSale = values.isSale;\n this.likeOrigin = values.likeOrigin;\n this.imageType = values.imageType;\n }\n}\n\nexport interface IConfig {\n analyticsTrackingId : string;\n}\n\nexport type TrackingEvent = TrackPageEvent | TrackClickEvent;\n","import {IConfig, TrackClickEvent, TrackingEvent, TrackPageEvent} from \"./models\";\nimport {CookieDescription} from \"../../components/cookie-banner/models\";\n\nexport const TRACKING_SERVICE_KEY = 'NY_TRACKER';\nexport const COOKIE_KEY = 'NY_COOKIE_MARKETING';\n\ndeclare global {\n interface Window {\n NY_TRACKER: ITrackingService\n dataLayer: any[]\n NY_CONFIG: IConfig\n }\n}\n\nexport interface ITrackingService {\n trackClick(event: TrackClickEvent): void;\n trackPage(path: string, title: string): void;\n}\n\nexport class TrackingService implements ITrackingService {\n private initialized: boolean = false;\n private queue: TrackingEvent[] = [];\n private readonly GA_TRACKING_ID: string = \"\";\n\n constructor(trackingID: string) {\n !trackingID ? console.error(\"No tracking ID provided\") : '';\n this.GA_TRACKING_ID = trackingID;\n this.onCookiesUpdated = this.onCookiesUpdated.bind(this)\n this._gtag = this._gtag.bind(this)\n this.activateTracking = this.activateTracking.bind(this)\n this.deactivateTracking = this.deactivateTracking.bind(this)\n this.trackClick = this.trackClick.bind(this)\n this.trackPage = this.trackPage.bind(this)\n\n window.dataLayer = window.dataLayer || [];\n\n this._gtag('consent', 'default', {\n 'ad_storage': 'denied',\n 'ad_user_data': 'denied',\n 'ad_personalization': 'denied',\n 'analytics_storage': 'denied'\n })\n\n this.initializeTracking()\n window.addEventListener('ny-cookies-updated', this.onCookiesUpdated)\n }\n\n\n onCookiesUpdated(event: Event) {\n const cookieDescriptions = (event as CustomEvent).detail;\n const marketingCookie = cookieDescriptions.find(cd => cd.key === COOKIE_KEY);\n if (marketingCookie?.userPermission) {\n this.activateTracking();\n } else {\n this.deactivateTracking();\n }\n }\n\n private initializeTracking() {\n const trackingPermission = localStorage.getItem(COOKIE_KEY);\n\n if (trackingPermission === 'true') {\n this.activateTracking();\n } else {\n this.deactivateTracking();\n }\n }\n\n // @ts-ignore\n private _gtag(...args: any[]) {\n window.dataLayer.push(arguments)\n }\n\n private activateTracking() {\n const script = document.createElement('script');\n script.src = \"https://www.googletagmanager.com/gtag/js?id=\" + this.GA_TRACKING_ID;\n document.body.appendChild(script);\n\n this._gtag('js', new Date());\n\n this._gtag('consent', 'update', {\n 'ad_storage': 'granted',\n 'ad_user_data': 'granted',\n 'ad_personalization': 'granted',\n 'analytics_storage': 'granted'\n })\n\n this._gtag('config', this.GA_TRACKING_ID, {\n 'anonymize_ip': true\n });\n\n this.initialized = true;\n (window)[`ga-disable- + ${this.GA_TRACKING_ID}`] = undefined;\n\n for (const event of this.queue) {\n if (event instanceof TrackPageEvent) {\n this.trackPage(event.path, event.title);\n } else {\n this.trackClick(event);\n }\n }\n }\n\n private deactivateTracking() {\n this.initialized = false;\n (window)['ga-disable-' + this.GA_TRACKING_ID] = true;\n\n this._gtag('consent', 'update', {\n 'ad_storage': 'denied',\n 'ad_user_data': 'denied',\n 'ad_personalization': 'denied',\n 'analytics_storage': 'denied'\n })\n }\n\n trackClick(event: TrackClickEvent) {\n if (!this.initialized) {\n this.queue.push(new TrackClickEvent(event));\n return\n }\n\n this._gtag('config', this.GA_TRACKING_ID, {\n 'send_page_view': false,\n 'custom_map': {\n 'dimension1': 'is_product_on_sale',\n 'dimension2': 'like_origin',\n 'dimension3': 'image_type'\n }\n });\n\n this._gtag('event', event.action, {\n 'event_category': event.category,\n 'event_label': event.label,\n 'value': event.value,\n 'is_product_on_sale': event.isSale,\n 'like_origin': event.likeOrigin,\n 'image_type': event.imageType\n });\n }\n\n trackPage(path: string, title: string) {\n if (!this.initialized) {\n this.queue.push(new TrackPageEvent(path, title));\n return\n }\n\n this._gtag('event', 'page_view', {\n 'page_title': title,\n 'page_path': path\n })\n }\n}\nexport const trackingService = new TrackingService(window.NY_CONFIG?.analyticsTrackingId);","import {html, LitElement} from 'lit'\nimport {customElement, state} from 'lit/decorators.js'\nimport {unsafeHTML} from 'lit/directives/unsafe-html.js'\nimport {i18nService} from '../../services/i18nService';\nimport {cookieService} from \"../../services/cookieService\";\nimport style from \"./cookie-banner.scss?inline\";\nimport {addCountryToRelativeUrl, getCountryFromUrl, getUrlParam} from \"./utils\";\nimport {DISABLE_OPT_IN_PARAM} from \"./models\";\nimport closeButton from \"../../assets/close_icon.svg\";\nimport {TrackClickEvent} from \"../../services/tracking/models\";\nimport {trackingService} from \"../../services/tracking/tracking-service\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cookie-banner': CookieBanner\n }\n}\n\n@customElement('cookie-banner')\nexport class CookieBanner extends LitElement {\n\n @state() i18nInitialized: boolean = false\n @state() active: boolean = true;\n\n private readonly privacyUrl = '/legal/privacy';\n private static readonly AcceptAllCookiesTrackingEvent = new TrackClickEvent({category: \"NY-Cookies\", action: \"accept all\", label: \"cookie-banner\"})\n private static readonly AcceptRequiredCookiesTrackingEvent = new TrackClickEvent({category: \"NY-Cookies\", action: \"accept required\", label: \"cookie-banner\"})\n private static readonly CookieSettingsOpenedTrackingEvent = new TrackClickEvent({category: \"NY-Cookies\", action: \"cookie-settings opened\", label: \"cookie-banner\"})\n\n constructor() {\n super();\n this.close = this.close.bind(this);\n }\n\n handleButtonAcceptAll() {\n trackingService.trackClick(CookieBanner.AcceptAllCookiesTrackingEvent);\n cookieService.acceptAllCookies()\n }\n\n handleButtonAcceptRequired() {\n trackingService.trackClick(CookieBanner.AcceptRequiredCookiesTrackingEvent);\n cookieService.acceptRequiredCookies()\n }\n\n handleButtonSettings() {\n trackingService.trackClick(CookieBanner.CookieSettingsOpenedTrackingEvent);\n cookieService.openCookieSettings();\n }\n\n close() {\n this.active = false;\n }\n\n handleShouldShow() {\n if (getUrlParam(DISABLE_OPT_IN_PARAM)) {\n this.active = false;\n }\n\n const lastSeen = cookieService.getLastSeen();\n if (lastSeen) {\n this.active = false;\n }\n }\n\n async connectedCallback() {\n super.connectedCallback();\n await i18nService.initTranslations();\n this.i18nInitialized = true;\n window.addEventListener('ny-cookies-updated', this.close);\n this.handleShouldShow();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('ny-cookies-updated', this.close);\n }\n\n renderInfoText() {\n const infoTranslation = i18nService.translate(\"cookie_banner.info.text\", addCountryToRelativeUrl(this.privacyUrl), \"[BUTTON]\");\n const textParts = infoTranslation.split('[BUTTON]');\n return html`${unsafeHTML(textParts[0])}${unsafeHTML(textParts[1])}`\n }\n\n showCloseButton() {\n return getCountryFromUrl() === 'it';\n }\n\n render() {\n if (!this.i18nInitialized || !this.active) return;\n return html`\n \n
\n ${this.showCloseButton() ? html`\n
\n \"close\"\n
` : ''}\n
\n

${this.renderInfoText()}

\n
\n
\n \n \n \n
\n
\n `\n }\n}","import {html, LitElement} from 'lit'\nimport {customElement, property, state} from 'lit/decorators.js'\nimport {i18nService} from '../../services/i18nService';\nimport {cookieService} from \"../../services/cookieService\";\nimport style from \"./cookie-overlay.scss?inline\";\nimport {CookieDescription, DISABLE_OPT_IN_PARAM} from \"./models\";\nimport {unsafeHTML} from \"lit/directives/unsafe-html.js\";\nimport {getUrlParam} from \"./utils\";\nimport {trackingService} from \"../../services/tracking/tracking-service\";\nimport {TrackClickEvent} from \"../../services/tracking/models\";\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cookie-overlay': CookieOverlay\n }\n}\n\n@customElement('cookie-overlay')\nexport class CookieOverlay extends LitElement {\n\n @property() cookie: string = '';\n @property() placeholder: string = '';\n @state() i18nInitialized: boolean = false;\n @state() cookieDescriptionInitialized: boolean = false;\n @state() cookieDescription: CookieDescription = new CookieDescription({});\n @state() hasPermission: boolean = false;\n\n private static readonly CookieSettingsOpenedTrackingEvent = new TrackClickEvent({\n category: \"NY-Cookies\",\n action: \"cookie-settings opened\",\n label: \"cookie-overlay\"\n })\n\n constructor() {\n super();\n this.onCookiesUpdated = this.onCookiesUpdated.bind(this);\n this.acceptCookie = this.acceptCookie.bind(this);\n }\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n async connectedCallback() {\n super.connectedCallback();\n await i18nService.initTranslations();\n this.i18nInitialized = true;\n cookieService.subscribeForCookies(() => {\n this.hasPermission = cookieService.checkPermission(this.cookie);\n const cookieDescription = cookieService.getCookieDescription(this.cookie);\n if (cookieDescription) {\n this.cookieDescription = cookieDescription;\n this.cookieDescriptionInitialized = true;\n }\n })\n window.addEventListener('ny-cookies-updated', this.onCookiesUpdated)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('ny-cookies-updated', this.onCookiesUpdated)\n }\n\n onCookiesUpdated(event: Event) {\n const cookieDescriptions = (event as CustomEvent).detail;\n for (const cd of cookieDescriptions) {\n if (cd.key === this.cookie) {\n this.hasPermission = cd.userPermission;\n }\n }\n }\n\n acceptCookie() {\n if (this.cookieDescription) {\n const cookieAcceptedTrackingEvent = new TrackClickEvent({\n category: \"NY-Cookies\",\n action: \"accept one\",\n label: this.cookieDescription.key\n })\n trackingService.trackClick(cookieAcceptedTrackingEvent);\n cookieService.acceptCookie(this.cookieDescription.key);\n }\n }\n\n openCookieSettings() {\n trackingService.trackClick(CookieOverlay.CookieSettingsOpenedTrackingEvent);\n cookieService.openCookieSettings();\n }\n\n render() {\n if (!this.cookieDescriptionInitialized && !this.i18nInitialized) {\n return\n }\n\n if (this.hasPermission || getUrlParam(DISABLE_OPT_IN_PARAM)) {\n const template = this.querySelector('template');\n if (template) {\n return html`${document.importNode(template.content, true)}`\n }\n }\n\n return html`\n \n
\n ${this.placeholder && html`\"placeholder\"/`}\n
\n

${i18nService.translate(this.cookieDescription.overlayHeadlineText)}

\n\n ${this.cookieDescription.termsOfUseUrl ? html`

\n ${unsafeHTML(i18nService.translate(this.cookieDescription.overlayDescriptionText, this.cookieDescription.infoUrl, this.cookieDescription.termsOfUseUrl))}

` : html`\n

\n ${unsafeHTML(i18nService.translate(this.cookieDescription.overlayDescriptionText, i18nService.translate(this.cookieDescription.headlineText), this.cookieDescription.infoUrl))}

`}\n
\n \n \n
\n
\n
\n `\n }\n}","import \"/src/components/cookie-banner/index\"\nimport {TRACKING_SERVICE_KEY, trackingService} from \"./services/tracking/tracking-service\";\n\nif (!window[TRACKING_SERVICE_KEY]) {\n window[TRACKING_SERVICE_KEY] = trackingService;\n}"],"names":["t","e","i","r","s","o","n","l","c","_a","v","u","m","p","h","d","a","y","x","j","k","w","f","CookieService","callback","cookieData","cd","dateString","date","key","cookieDescriptions","value","it","cookieDescription","contextValue","res","conf","cookieService","DISABLE_OPT_IN_PARAM","CookieDescription","values","closeButton","CookieSettings","LitElement","i18nService","getUrlParam","html","style","repeat","unsafeHTML","addCountryToRelativeUrl","__decorateClass","property","state","customElement","TrackPageEvent","path","title","TrackClickEvent","TRACKING_SERVICE_KEY","COOKIE_KEY","TrackingService","trackingID","event","marketingCookie","args","script","trackingService","CookieBanner","textParts","getCountryFromUrl","CookieOverlay","cookieAcceptedTrackingEvent","template"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}