{"version":3,"file":"foblex-m-render-cookie-popup-DzpgC1SS.mjs","sources":["../../../../libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.ts","../../../../libs/m-render/src/lib/analytics/cookie-popup/cookie-popup.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\nimport { GTagService } from '../g-tag.service';\nimport { LOCAL_STORAGE } from '../../common';\n\nexport const F_ACCEPT_COOKIES_KEY = 'm-accepts-cookies';\n\n@Component({\n  selector: 'cookie-popup',\n  standalone: true,\n  templateUrl: './cookie-popup.html',\n  styleUrls: ['./cookie-popup.scss'],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CookiePopup {\n  private readonly _localStorage = inject(LOCAL_STORAGE);\n  private readonly _gtag = inject(GTagService, { optional: true });\n\n  private readonly _consentValue = signal<string | null>(null);\n\n  protected readonly showPopup = computed(() =>\n    this._gtag !== null &&\n    this._consentValue() !== 'true' &&\n    this._consentValue() !== 'false',\n  );\n\n  constructor() {\n    try {\n      const value = this._localStorage?.getItem(F_ACCEPT_COOKIES_KEY);\n      this._consentValue.set(value);\n    } catch {\n      this._consentValue.set(null);\n    }\n  }\n\n  protected accept(): void {\n    try {\n      this._localStorage?.setItem(F_ACCEPT_COOKIES_KEY, 'true');\n    } catch { /* empty */ }\n\n    this._gtag?.updateConsent(true);\n    this._consentValue.set('true');\n  }\n}\n\n","@if (showPopup()) {\n  <div class=\"docs-cookies-popup docs-invert-mode\">\n    <p>This site uses cookies from Google to deliver its services and to analyze traffic.</p>\n\n    <div>\n      <a href=\"https://policies.google.com/technologies/cookies\" target=\"_blank\" rel=\"noopener\">\n        <button class=\"f-button\" [attr.text]=\"'Learn more'\" aria-label=\"Learn More\">\n          Learn more\n        </button>\n      </a>\n      <button\n        (click)=\"accept()\"\n        class=\"f-button\"\n        [attr.text]=\"'Ok, Got it'\"\n        aria-label=\"Ok, Got it\">\n        Ok, Got it\n      </button>\n    </div>\n  </div>\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,oBAAoB,GAAG;MASvB,WAAW,CAAA;AACL,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACrC,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE/C,IAAA,aAAa,GAAG,MAAM,CAAgB,IAAI,yDAAC;IAEzC,SAAS,GAAG,QAAQ,CAAC,MACtC,IAAI,CAAC,KAAK,KAAK,IAAI;AACnB,QAAA,IAAI,CAAC,aAAa,EAAE,KAAK,MAAM;AAC/B,QAAA,IAAI,CAAC,aAAa,EAAE,KAAK,OAAO,qDACjC;AAED,IAAA,WAAA,GAAA;AACE,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC;AAC/D,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;QAC/B;AAAE,QAAA,MAAM;AACN,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B;IACF;IAEU,MAAM,GAAA;AACd,QAAA,IAAI;YACF,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC;QAC3D;AAAE,QAAA,MAAM,cAAc;AAEtB,QAAA,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;IAChC;uGA5BW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,wECbxB,ooBAoBA,EAAA,MAAA,EAAA,CAAA,+sBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDPa,WAAW,EAAA,UAAA,EAAA,CAAA;kBAPvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,UAAA,EACZ,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ooBAAA,EAAA,MAAA,EAAA,CAAA,+sBAAA,CAAA,EAAA;;;;;"}