{"version":3,"file":"cookie-banner.mjs","sources":["../../../../src/digitalmarketplace/components/cookie-banner/cookie-banner.ts"],"sourcesContent":["import { DigitalMarketplaceFrontendComponent } from '../../digitalmarketplace-frontend-component'\nimport { getCookiePreferences, setCookiePreferences } from '../../scripts/cookies/manage'\n\nclass CookieBanner implements DigitalMarketplaceFrontendComponent {\n  static moduleName = 'dm-cookie-banner'\n\n  $module: JQuery<HTMLElement>\n  $cookieBannerMainContent: JQuery<HTMLElement>\n  $cookieBannerConfirmationContent: JQuery<HTMLElement>\n  $cookieBannerConfirmationMessage: JQuery<HTMLElement>\n  $hideLink: JQuery<HTMLElement>\n  $acceptCookiesLink: JQuery<HTMLElement>\n  $rejectCookiesLink: JQuery<HTMLElement>\n\n  constructor ($module: JQuery<HTMLElement>) {\n    this.$module = $module\n    this.$cookieBannerMainContent = this.$module.find('.dm-cookie-banner__button--main')\n    this.$cookieBannerConfirmationContent = this.$module.find('.dm-cookie-banner--selection-made')\n    this.$cookieBannerConfirmationMessage = this.$module.find('.dm-cookie-banner__confirmation-message')\n    this.$hideLink = this.$module.find('button[data-hide-cookie-banner]')\n    this.$acceptCookiesLink = this.$module.find('button[data-accept-cookies=true]')\n    this.$rejectCookiesLink = this.$module.find('button[data-accept-cookies=false]')\n  }\n\n  init () {\n    this.$hideLink.on('click', (event) => {\n      this.hideCookieMessage(event)\n    })\n\n    this.$acceptCookiesLink.on('click', () => {\n      this.setCookieConsent(true)\n    })\n\n    this.$rejectCookiesLink.on('click', () => {\n      this.setCookieConsent(false)\n    })\n\n    this.showCookieMessage()\n  }\n\n  setCookieConsent (analyticsConsent: boolean) {\n    setCookiePreferences(analyticsConsent)\n\n    this.showConfirmationMessage(analyticsConsent)\n    this.$cookieBannerConfirmationContent.trigger('focus')\n  }\n\n  showCookieMessage () {\n    // Show the cookie banner if policy cookie not set\n    const cookiePreferences = getCookiePreferences()\n  \n    if (this.$module && !cookiePreferences.settings_viewed) {\n      this.$module.css('display', 'block')\n    }\n  }\n  \n  hideCookieMessage (event: JQuery.ClickEvent) {\n    this.$module.css('display', 'none')\n  \n    if (event.target) {\n      event.preventDefault()\n    }\n  }\n\n  showConfirmationMessage (analyticsConsent: boolean) {\n    const messagePrefix = analyticsConsent ? 'You’ve accepted analytics cookies.' : 'You told us not to use analytics cookies.'\n\n    this.$cookieBannerMainContent.attr('hidden', 'hidden')\n\n    this.$cookieBannerConfirmationMessage.prepend(messagePrefix)\n    this.$cookieBannerConfirmationContent.removeAttr('hidden')\n  }\n}\n\nexport { CookieBanner }\n"],"names":[],"mappings":";;AAGA,MAAM,YAAY,CAAA;AAChB,IAAA,OAAO,UAAU,GAAG,kBAAkB;AAEtC,IAAA,OAAO;AACP,IAAA,wBAAwB;AACxB,IAAA,gCAAgC;AAChC,IAAA,gCAAgC;AAChC,IAAA,SAAS;AACT,IAAA,kBAAkB;AAClB,IAAA,kBAAkB;AAElB,IAAA,WAAA,CAAa,OAA4B,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC;QACpF,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC;QAC9F,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC;QACpG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC;QACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC;QAC/E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC;IAClF;IAEA,IAAI,GAAA;QACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,KAAI;AACnC,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC/B,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAC7B,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE;IAC1B;AAEA,IAAA,gBAAgB,CAAE,gBAAyB,EAAA;QACzC,oBAAoB,CAAC,gBAAgB,CAAC;AAEtC,QAAA,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC;AAC9C,QAAA,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxD;IAEA,iBAAiB,GAAA;;AAEf,QAAA,MAAM,iBAAiB,GAAG,oBAAoB,EAAE;QAEhD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC;QACtC;IACF;AAEA,IAAA,iBAAiB,CAAE,KAAwB,EAAA;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;AAEnC,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;AAEA,IAAA,uBAAuB,CAAE,gBAAyB,EAAA;QAChD,MAAM,aAAa,GAAG,gBAAgB,GAAG,oCAAoC,GAAG,2CAA2C;QAE3H,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAEtD,QAAA,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,aAAa,CAAC;AAC5D,QAAA,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC5D;;;;;"}