From bb159948204a9e51671c5bbdc98bb39aecfba3ea Mon Sep 17 00:00:00 2001 From: "noah.lancien" Date: Mon, 29 Jan 2024 16:39:38 +0000 Subject: [PATCH] Removed 'font-weight: bolder' on accept btn --- changelog.md | 4 ++++ dist/browser/cookie-cn.css | 5 ++--- dist/browser/typings/ts/index.d.ts | 5 +++-- dist/esm/ts/index.js | 2 +- dist/typings/ts/index.d.ts | 5 +++-- dist/umd/css/standard.css | 5 ++--- dist/umd/main.js | 26 +++++++++++----------- dist/umd/main.js.map | 2 +- examples/laravel/lang/de/cookie-notice.php | 2 +- examples/laravel/lang/en/cookie-notice.php | 2 +- examples/laravel/lang/fr/cookie-notice.php | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/scss/themes/standard.scss | 3 +-- src/ts/index.ts | 2 +- 15 files changed, 37 insertions(+), 34 deletions(-) diff --git a/changelog.md b/changelog.md index 2b54fff..05b7be1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +## 4.0.1 + +- Removed `font-weight: bolder` property on the accept button. + ## 4.0.0 - Bump to major version in order to prevent breaking projects, diff --git a/dist/browser/cookie-cn.css b/dist/browser/cookie-cn.css index f59dbee..b078670 100644 --- a/dist/browser/cookie-cn.css +++ b/dist/browser/cookie-cn.css @@ -50,7 +50,7 @@ transform: scale(0.99); } -/** 4.0.0 */ +/** 4.0.1 */ /* FENETRE D'ACCUEIL */ /* Title settings */ /* Text settings */ @@ -407,7 +407,6 @@ width: 50%; border-right: 1px solid #6d6d6d; border-left: 1px solid #6d6d6d; - font-weight: bolder; } #cn-wrapper .cn-nav #cn-settings-banner { width: 100%; @@ -458,4 +457,4 @@ left: 0.5rem; transition: all 1s; } -} \ No newline at end of file +} diff --git a/dist/browser/typings/ts/index.d.ts b/dist/browser/typings/ts/index.d.ts index 1a590d8..01a81f3 100644 --- a/dist/browser/typings/ts/index.d.ts +++ b/dist/browser/typings/ts/index.d.ts @@ -1,4 +1,4 @@ -/** 4.0.0 */ +/** 4.0.1 */ export default class CookieNotice { browserCookieName: string; /** Cookie life time */ @@ -234,4 +234,5 @@ export type CookieOptions = { */ fallback: () => void | null; }; -export {}; +export { }; + diff --git a/dist/esm/ts/index.js b/dist/esm/ts/index.js index 787693e..3504b7b 100644 --- a/dist/esm/ts/index.js +++ b/dist/esm/ts/index.js @@ -1,4 +1,4 @@ -/** 4.0.0 */ +/** 4.0.1 */ export default class CookieNotice { constructor(config) { this.browserCookieName = "cn-init"; diff --git a/dist/typings/ts/index.d.ts b/dist/typings/ts/index.d.ts index 1a590d8..01a81f3 100644 --- a/dist/typings/ts/index.d.ts +++ b/dist/typings/ts/index.d.ts @@ -1,4 +1,4 @@ -/** 4.0.0 */ +/** 4.0.1 */ export default class CookieNotice { browserCookieName: string; /** Cookie life time */ @@ -234,4 +234,5 @@ export type CookieOptions = { */ fallback: () => void | null; }; -export {}; +export { }; + diff --git a/dist/umd/css/standard.css b/dist/umd/css/standard.css index f59dbee..b078670 100644 --- a/dist/umd/css/standard.css +++ b/dist/umd/css/standard.css @@ -50,7 +50,7 @@ transform: scale(0.99); } -/** 4.0.0 */ +/** 4.0.1 */ /* FENETRE D'ACCUEIL */ /* Title settings */ /* Text settings */ @@ -407,7 +407,6 @@ width: 50%; border-right: 1px solid #6d6d6d; border-left: 1px solid #6d6d6d; - font-weight: bolder; } #cn-wrapper .cn-nav #cn-settings-banner { width: 100%; @@ -458,4 +457,4 @@ left: 0.5rem; transition: all 1s; } -} \ No newline at end of file +} diff --git a/dist/umd/main.js b/dist/umd/main.js index c856b69..ce385fc 100644 --- a/dist/umd/main.js +++ b/dist/umd/main.js @@ -40,7 +40,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } -/** 4.0.0 */ +/** 4.0.1 */ var CookieNotice = /*#__PURE__*/function () { /** Cookie expiration date as specified in the cookie itself */ @@ -867,7 +867,7 @@ module.exports = __webpack_require__.p + "css/standard.css"; /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; -/******/ +/******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache @@ -881,14 +881,14 @@ module.exports = __webpack_require__.p + "css/standard.css"; /******/ // no module.loaded needed /******/ exports: {} /******/ }; -/******/ +/******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ +/******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } -/******/ +/******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ !function() { @@ -901,7 +901,7 @@ module.exports = __webpack_require__.p + "css/standard.css"; /******/ } /******/ }; /******/ }(); -/******/ +/******/ /******/ /* webpack/runtime/global */ /******/ !function() { /******/ __webpack_require__.g = (function() { @@ -913,12 +913,12 @@ module.exports = __webpack_require__.p + "css/standard.css"; /******/ } /******/ })(); /******/ }(); -/******/ +/******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ !function() { /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } /******/ }(); -/******/ +/******/ /******/ /* webpack/runtime/make namespace object */ /******/ !function() { /******/ // define __esModule on exports @@ -929,7 +929,7 @@ module.exports = __webpack_require__.p + "css/standard.css"; /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ }(); -/******/ +/******/ /******/ /* webpack/runtime/publicPath */ /******/ !function() { /******/ var scriptUrl; @@ -952,17 +952,17 @@ module.exports = __webpack_require__.p + "css/standard.css"; /******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"); /******/ __webpack_require__.p = scriptUrl; /******/ }(); -/******/ +/******/ /************************************************************************/ -/******/ +/******/ /******/ // startup /******/ // Load entry module and return exports /******/ __webpack_require__("./src/ts/index.ts"); /******/ // This entry module doesn't tell about it's top-level declarations so it can't be inlined /******/ var __webpack_exports__ = __webpack_require__("./src/scss/themes/standard.scss"); -/******/ +/******/ /******/ return __webpack_exports__; /******/ })() ; }); -//# sourceMappingURL=main.js.map \ No newline at end of file +//# sourceMappingURL=main.js.map diff --git a/dist/umd/main.js.map b/dist/umd/main.js.map index 6fc557b..ce549cc 100644 --- a/dist/umd/main.js.map +++ b/dist/umd/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","mappings":"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","sources":["webpack://CookieNotice/webpack/universalModuleDefinition","webpack://CookieNotice/./src/ts/index.ts","webpack://CookieNotice/webpack/bootstrap","webpack://CookieNotice/webpack/runtime/define property getters","webpack://CookieNotice/webpack/runtime/global","webpack://CookieNotice/webpack/runtime/hasOwnProperty shorthand","webpack://CookieNotice/webpack/runtime/make namespace object","webpack://CookieNotice/webpack/runtime/publicPath","webpack://CookieNotice/webpack/before-startup","webpack://CookieNotice/webpack/startup","webpack://CookieNotice/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CookieNotice\"] = factory();\n\telse\n\t\troot[\"CookieNotice\"] = factory();\n})(this, function() {\nreturn ","/** 4.0.0 */\n\nexport default class CookieNotice {\n browserCookieName = \"cn-init\";\n\n /** Cookie life time */\n cookieTimeLife = 6;\n\n /** The index on which store the expiration date */\n cookieExpirationName = \"_expiration\";\n\n /** Cookie policies for each functionality */\n cookiePolicies: CookiePolicy = {\n sameSite: CookiePolicySameSite.lax,\n secure: \"\",\n };\n\n /** Cookie expiration date as specified in the cookie itself */\n cookieExpirationDate: Date;\n\n config: Record;\n modalBg: HTMLDivElement;\n cookieContainer: HTMLDivElement;\n bannerContainer: HTMLDivElement;\n modalContainer: HTMLDivElement;\n\n cookieShowModalBtn: HTMLButtonElement;\n cookieCloseModalBtn: HTMLButtonElement;\n\n bannerContent: HTMLDivElement;\n acceptAllBtn: HTMLButtonElement;\n denyAllBtn: HTMLButtonElement;\n customizeBtn: HTMLButtonElement;\n cookiesUnorderedList: HTMLUListElement;\n cookieLinkShowCustomizeModalList: NodeListOf;\n modalWrapper: HTMLDivElement;\n template: HTMLDivElement;\n bannerDetailsAreExpanded: boolean;\n\n restrictCloseModal: boolean;\n\n static noConflict: (deep?: boolean) => typeof CookieNotice;\n\n constructor(config: Record) {\n // * Setup Config\n this.config = config;\n\n // * Setup cookie expiration date\n let cookieExpirationDate: Date|null = this.readCookiesExpirationDate();\n if (!cookieExpirationDate) {\n cookieExpirationDate = new Date();\n cookieExpirationDate.setMonth(cookieExpirationDate.getMonth() + this.cookieTimeLife);\n }\n this.cookieExpirationDate = cookieExpirationDate;\n\n // * Inject DOM modal BG\n const modalBg = document.createElement(\"div\");\n modalBg.classList.add(\"cn-modal-bg\");\n document.body.append(modalBg);\n this.modalBg = modalBg;\n\n // * Setup Dom Elements\n const cookieContainer = document.querySelector(\n \"div#cn-wrapper\"\n ) as HTMLDivElement | null,\n cookieShowModalBtn = document.querySelector(\n \"button#cn-cookie-btn\"\n ) as HTMLButtonElement | null,\n cookieCloseModalBtn = document.querySelector(\n \"button#cn-close-modal\"\n ) as HTMLButtonElement | null,\n cookieLinkShowCustomizeModalPageList = document.querySelectorAll(\n \".cn-cookie-link\"\n ) as NodeListOf,\n bannerContainer = document.querySelector(\n \"div#cn-banner\"\n ) as HTMLDivElement | null,\n bannerContent = document.querySelector(\n \"div.cn-banner-content\"\n ) as HTMLDivElement | null,\n modalContainer = document.querySelector(\n \"div.cn-modal-container\"\n ) as HTMLDivElement | null,\n acceptAllBtn = document.querySelector(\n \"button#cn-accept-banner\"\n ) as HTMLButtonElement | null,\n denyAllBtn = document.querySelector(\n \"button#cn-deny-banner\"\n ) as HTMLButtonElement | null,\n customizeBtn = document.querySelector(\n \"button#cn-settings-banner\"\n ) as HTMLButtonElement | null,\n cookiesUnorderedList = document.querySelector(\n \"ul#cn-modal-list\"\n ) as HTMLUListElement | null,\n modalWrapper = document.querySelector(\n \"div.cn-modal-wrapper\"\n ) as HTMLDivElement,\n template = document.querySelector(\n \"div#cn-li-template\"\n ) as HTMLDivElement | null;\n if (!cookieContainer) {\n throw new Error(\"Cannot find div#cn-wrapper\");\n }\n if (!cookieShowModalBtn) {\n throw new Error(\"Cannot find 'button#cn-cookie-btn' element\");\n }\n if (!cookieCloseModalBtn) {\n throw new Error(\"Cannot find 'button#cn-close-modal' element\");\n }\n if (!bannerContainer) {\n throw new Error(\"Cannot find 'div#cn-banner' element\");\n }\n if (!bannerContent) {\n throw new Error(\"Cannot find 'div.cn-banner-content' element\");\n }\n if (!modalContainer) {\n throw new Error(\"Cannot find 'div.cn-modal-container' element\");\n }\n if (!acceptAllBtn) {\n throw new Error(\"Cannot find 'button#cn-accept-banner' element\");\n }\n if (!denyAllBtn) {\n throw new Error(\"Cannot find 'button#cn-deny-banner' element\");\n }\n if (!customizeBtn) {\n throw new Error(\"Cannot find 'button.cn-settings-banner' element\");\n }\n if (!cookiesUnorderedList) {\n throw new Error(\"Cannot find 'ul#cn-modal-list' element\");\n }\n if (!modalWrapper) {\n throw new Error(\"Cannot find 'div.cn-modal-wrapper' element\");\n }\n if (!template) {\n throw new Error(\"Cannot find 'div#cn-li-template' element\");\n }\n\n this.cookieShowModalBtn = cookieShowModalBtn;\n this.cookieCloseModalBtn = cookieCloseModalBtn;\n this.cookieLinkShowCustomizeModalList =\n cookieLinkShowCustomizeModalPageList;\n this.cookieContainer = cookieContainer;\n this.bannerContainer = bannerContainer;\n this.bannerContent = bannerContent;\n this.cookiesUnorderedList = cookiesUnorderedList;\n this.modalWrapper = modalWrapper;\n this.modalContainer = modalContainer;\n this.acceptAllBtn = acceptAllBtn;\n this.denyAllBtn = denyAllBtn;\n this.customizeBtn = customizeBtn;\n\n this.bannerDetailsAreExpanded = false;\n this.template = template;\n const memoryTemplate = this.template.cloneNode(true) as HTMLDivElement;\n this.template.remove();\n this.template = memoryTemplate;\n\n this.restrictCloseModal = true;\n\n // * Setup Events\n this.addEventPrevent(this.modalBg, \"click\", this.closeCookieModal);\n this.addEventPrevent(\n this.cookieCloseModalBtn,\n \"click\",\n this.closeCookieModal\n );\n this.addEventPrevent(this.acceptAllBtn, \"click\", this.acceptAllCookies);\n this.addEventPrevent(this.denyAllBtn, \"click\", this.denyAllCookies);\n this.addEventPrevent(\n this.customizeBtn,\n \"click\",\n this.toggleCookieModalPages\n );\n this.addEventPrevent(\n this.cookieShowModalBtn,\n \"click\",\n this.toggleCookieModal\n );\n this.cookieLinkShowCustomizeModalList.forEach((cookieLink) => {\n this.addEventPrevent(\n cookieLink,\n \"click\",\n this.openCookieModalToCookiePage\n );\n this.addEventKbdValidate(cookieLink, this.openCookieModalToCookiePage);\n });\n\n // * Setup CN Cookie\n if (!this.cookiesMatchesConfig() || this.cookiesOlderThan(new Date())) {\n // * Setup Browser Cookie if none.\n this.resetBrowserCookie();\n this.openCookieModalToBannerPage();\n }\n\n this.updateRestrictCloseModal();\n\n // * Cookie should have been created from here.\n Object.entries(this.getCookieStatusList()).forEach(([cookieName, cookieStatus]) => {\n if (cookieStatus === CookieStatus.wait) {\n // * Open modal if any cookie config is not set.\n this.openCookieModalToBannerPage();\n return;\n }\n if (!this.config[cookieName]) {\n // * Ignore missing config\n return;\n }\n if (cookieStatus === CookieStatus.true) {\n // * Exec script part for accepted cookie.\n this.config[cookieName].script();\n return;\n }\n if (this.config[cookieName].fallback != null) {\n // * Exec fallback part for accepted cookie if provided.\n this.config[cookieName].fallback();\n }\n });\n }\n\n // COOKIES\n\n /**\n * Update restrict for closing cookie modal\n */\n updateRestrictCloseModal() {\n this.restrictCloseModal = (Object.values(this.getCookieStatusList()).includes(CookieStatus.wait)) ? true : false;\n (this.restrictCloseModal) ? this.cookieCloseModalBtn.classList.add(\"d-none\") : this.cookieCloseModalBtn.classList.remove(\"d-none\");\n (this.restrictCloseModal) ? this.modalBg.classList.add(\"cn-modal-bg-active\") : this.modalBg.classList.remove(\"cn-modal-bg-active\");\n }\n\n /**\n * Get cookies expiration date or null if not defined alread\n */\n readCookiesExpirationDate(): Date | null {\n const cookies = this.getBrowserCookieValue() ?? \"\",\n expirationDateString = cookies.split(\",\").find((cookieString) =>\n cookieString.startsWith(this.cookieExpirationName));\n if (!expirationDateString) {\n return null;\n }\n try {\n const epochExpiration = Number.parseInt(expirationDateString.replace(`${this.cookieExpirationName}=`, \"\"));\n if (isNaN(epochExpiration)) {\n return null;\n }\n return new Date(epochExpiration);\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Check if the cookies date are older than a specified date\n\n * @param date The limit date for cookies\n */\n cookiesOlderThan(date: Date): boolean {\n return this.cookieExpirationDate.getTime() < date.getTime();\n }\n\n /**\n * Check if the actual cookie matches the config\n */\n cookiesMatchesConfig(): boolean {\n const cookies = this.getCookieStatusList();\n return Object.keys(cookies).length === Object.keys(this.config).length;\n }\n\n /**\n * Accept a all cookies\n */\n acceptAllCookies() {\n Object.entries(this.config).forEach(([cookieName, cookieOption]) =>\n this.setCookieStatus(cookieName, CookieStatus.true, cookieOption)\n );\n for (const acceptLabel of this.cookieContainer.querySelectorAll(\n \".accept > label\"\n )) {\n acceptLabel.classList.add(\"active\");\n }\n for (const denyLabel of this.cookieContainer.querySelectorAll(\n \".deny > label\"\n )) {\n denyLabel.classList.remove(\"active\");\n }\n this.closeCookieModal();\n }\n\n /**\n * Deny a all cookies\n */\n denyAllCookies() {\n Object.entries(this.config).forEach(([cookieName, cookieOption]) =>\n this.setCookieStatus(cookieName, CookieStatus.false, cookieOption)\n );\n for (const acceptLabel of this.cookieContainer.querySelectorAll(\n \".accept > label\"\n )) {\n acceptLabel.classList.remove(\"active\");\n }\n for (const denyLabel of this.cookieContainer.querySelectorAll(\n \".deny > label\"\n )) {\n denyLabel.classList.add(\"active\");\n }\n this.closeCookieModal();\n }\n\n /**\n * Deny all waiting cookies\n */\n denyAllWaitingCookies() {\n Object.entries(this.getCookieStatusList()).forEach(([cookieName, cookieStatus]) => {\n if (cookieStatus === CookieStatus.wait) {\n this.setBrowserCookieStatus(cookieName, CookieStatus.false);\n return;\n }\n });\n this.updateRestrictCloseModal();\n }\n\n /**\n * Fetch the cookie status list\n *\n * @returns the cookie status list\n */\n getCookieStatusList(): CookieStatusList {\n const cookies = this.getBrowserCookieValue(),\n statusList: CookieStatusList = {};\n if (cookies === undefined) {\n return statusList;\n }\n /** specificCookieString contains youtube=true like */\n cookies.split(\",\")\n // * Ignore timestamp\n .filter((specificCookieString) => !specificCookieString.startsWith(this.cookieExpirationName))\n .forEach((specificCookieString) => {\n const values = specificCookieString.split(\"=\");\n statusList[values[0]] = values[1] as CookieStatus;\n });\n return statusList;\n }\n\n /**\n * Check has cookie status\n *\n * @param key\n * @param value\n */\n containsCookieStatus(key: string): boolean {\n const statusList: CookieStatusList = this.getCookieStatusList();\n return (\n Object.keys(statusList).find((cookieName) => cookieName === key) !==\n undefined\n );\n }\n\n /**\n * Set the cookie value\n *\n * @param cookieName\n * @param status\n * @param cookieOption\n */\n setCookieStatus(\n cookieName: string,\n status: CookieStatus,\n cookieOption: CookieOptions\n ) {\n if (status === CookieStatus.true) {\n this.addCookieStatus(cookieName, cookieOption);\n return;\n }\n if (status === CookieStatus.false) {\n this.removeCookieStatus(cookieName, cookieOption);\n return;\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.wait);\n }\n\n /**\n * Add a specific cookie and\n * change his status to true\n *\n * @param cookieName\n * @param cookieOption\n */\n addCookieStatus(cookieName: string, cookieOption: CookieOptions) {\n if (cookieOption.script) {\n cookieOption.script();\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.true);\n }\n\n /**\n * Remove a specific cookie and\n * change his status to false\n *\n * @param cookieName\n * @param cookieOption\n */\n removeCookieStatus(cookieName: string, cookieOption: CookieOptions) {\n const cookieNameElement = document.getElementById(cookieName);\n if (cookieNameElement) {\n cookieNameElement.remove();\n }\n if (cookieOption.fallback) {\n cookieOption.fallback();\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.false);\n }\n\n /**\n * Change the status of a cookie\n *\n * @param cookieName\n * @param status\n */\n setBrowserCookieStatus(cookieName: string, status: CookieStatus) {\n const statusList: CookieStatusList = this.getCookieStatusList();\n // * Force refresh\n this.deleteBrowserCookie();\n statusList[cookieName] = status;\n this.saveBrowserCookie(statusList);\n this.updateRestrictCloseModal();\n }\n\n /**\n * Has CN cokie setup ?\n * @returns true if the cookie is setup\n */\n hasBrowserCookie(): boolean {\n return Boolean(this.getBrowserCookieValue());\n }\n\n /**\n * Get the Ldcweb cookie\n *\n * @returns A string like analytics=true,youtube=true or undefined\n */\n getBrowserCookieValue() {\n const matches = document.cookie.match(\n new RegExp(\n \"(?:^|; )\" +\n this.browserCookieName.replace(\n /([.$?*|{}()[\\]\\\\/+^])/g,\n \"\\\\$1\"\n ) +\n \"=([^;]*)\"\n )\n );\n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n\n /**\n * Save cookie content on web browser\n *\n * @param list\n */\n saveBrowserCookie(statusList: CookieStatusList) {\n const date = new Date(),\n content = Object.entries(statusList)\n .map(([cookieName, cookieStatus]) => {\n return `${cookieName}=${cookieStatus}`;\n });\n // * Update expiration date\n this.cookieExpirationDate = new Date(date.setMonth(date.getMonth() + this.cookieTimeLife));\n // * Append expiration date\n content.push(`${this.cookieExpirationName}=${this.cookieExpirationDate.getTime()}`);\n document.cookie = `${this.browserCookieName}=${content.join(\",\")};path=/${\n location.hostname ? `;domain=${location.hostname}` : \"\"\n };expires=${this.cookieExpirationDate.toUTCString()};${this.getCookiePoliciesAsString()}`;\n }\n\n /**\n * Set an older expire parameter to a specific cookie\n */\n deleteBrowserCookie() {\n if (this.hasBrowserCookie()) {\n // * Suppression du cookie et de sa version precedé d'un point\n document.cookie = `${this.browserCookieName}=;path=/${\n location.hostname ? `;domain=.${location.hostname}` : \"\"\n };expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n document.cookie = `${this.browserCookieName}=;path=/${\n location.hostname ? `;domain=${location.hostname}` : \"\"\n };expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n }\n }\n\n getCookiePoliciesAsString(): string {\n return Object.entries(this.cookiePolicies)\n .map(([policyName, policyValue]) => `${policyName}=${policyValue}`)\n .join(\";\");\n }\n\n /**\n * Reset Ldc Web CN cookie\n */\n resetBrowserCookie() {\n // * Create Cookie as It does not exists.\n const newCookieList: CookieStatusList = {};\n Object.entries(this.config).forEach(\n ([cookieName]) => (newCookieList[cookieName] = CookieStatus.wait)\n );\n this.saveBrowserCookie(newCookieList);\n }\n\n // LISTENERS\n\n /**\n * Add event on a specific element\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEvent(element: HTMLElement, evnt: string, funct: (e: Event) => void) {\n return element.addEventListener(evnt, funct.bind(this), false);\n }\n\n /**\n * Add event on a specific element and prevent default\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEventPrevent(\n element: HTMLElement,\n evnt: string,\n funct: (e: Event) => void\n ) {\n return element.addEventListener(\n evnt,\n (e) => {\n e.preventDefault();\n funct.call(this, e);\n },\n false\n );\n }\n\n /**\n * Add event on a specific element\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEventKbdValidate(element: HTMLElement, funct: (e: Event) => void) {\n return this.addEvent(element, \"keydown\", (e: Event) => {\n const kbdEvt = e as KeyboardEvent;\n if (\n kbdEvt.key == \" \" ||\n kbdEvt.code == \"Space\" ||\n kbdEvt.keyCode == 32 ||\n kbdEvt.key == \"Enter\" ||\n kbdEvt.code == \"Enter\" ||\n kbdEvt.keyCode == 13\n ) {\n funct.call(this, kbdEvt);\n e.preventDefault();\n }\n });\n }\n\n // COOKIE MODAL\n\n /**\n * Show or hide Cookie modal\n * @returns\n */\n toggleCookieModal() {\n if (!document.body.classList.contains(\"cn-open\")) {\n this.openCookieModalToBannerPage();\n return;\n }\n this.closeCookieModal();\n }\n\n /**\n * Open the cookies modal to the banner page\n */\n openCookieModalToBannerPage() {\n this.openCookieModalToCookiePage();\n this.toggleCookieModalPages();\n }\n\n /**\n * Open the cookies modal to the cookies page\n */\n openCookieModalToCookiePage() {\n document.body.classList.add(\"cn-open\");\n this.resetCookieModal();\n this.bannerContent.classList.add(\"d-none\");\n this.modalContainer.classList.remove(\"d-none\");\n\n // Scroll to the top of the cookies list\n this.modalWrapper.scrollTop = 0;\n this.setupCookieModalList();\n this.setTabIndex();\n }\n\n /**\n * Hide the cookies modal\n */\n closeCookieModal() {\n this.updateRestrictCloseModal();\n if (!this.restrictCloseModal) {\n document.body.classList.remove(\"cn-open\");\n this.unsetTabIndex();\n this.setupCookieModalList();\n } else {\n throw new Error(\"You need to accept or refuse all cookies\");\n }\n }\n\n /**\n * Setup tab indexes on visible elements\n */\n setTabIndex() {\n // * Prevent focus html tag\n document.documentElement.setAttribute(\"tabindex\", \"-1\");\n setTimeout(() => {\n const focusableSelector =\n \"a[href], button, [role=\\\"button\\\"], input, embed, object, iframe, textarea, select, details, [tabindex]:not([tabindex=\\\"-1\\\"])\";\n\n // * Only focusable elements\n [...document.body.querySelectorAll(focusableSelector)]\n .filter(\n (el) =>\n !el.hasAttribute(\"disabled\") &&\n !el.getAttribute(\"aria-hidden\")\n )\n .forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"-1\");\n (el as HTMLElement).classList.add(\"cn-disabled\");\n });\n [...this.cookieContainer.querySelectorAll(focusableSelector)]\n .filter(\n (el) =>\n !el.hasAttribute(\"disabled\") &&\n !el.getAttribute(\"aria-hidden\") &&\n // * Only visible elements\n !!(\n (el as HTMLElement).offsetWidth ||\n (el as HTMLElement).offsetHeight ||\n el.getClientRects().length\n )\n )\n .forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"0\");\n (el as HTMLElement).classList.remove(\"cn-disabled\");\n });\n this.cookieShowModalBtn.setAttribute(\"tabindex\", \"-1\");\n }, 500);\n }\n\n /**\n * Undo setup tab indexes on visible elements\n */\n unsetTabIndex() {\n document.documentElement.setAttribute(\"tabindex\", \"0\");\n setTimeout(() => {\n document.body.querySelectorAll(\".cn-disabled\").forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"0\");\n (el as HTMLElement).classList.remove(\"cn-disabled\");\n });\n this.cookieShowModalBtn.setAttribute(\"tabindex\", \"0\");\n }, 500);\n }\n\n /**\n * Reset the modal view state\n */\n resetCookieModal() {\n this.bannerContent.classList.remove(\"d-none\");\n this.modalContainer.classList.add(\"d-none\");\n if (!this.customizeBtn.dataset.openModal) {\n throw new Error(\"Cannot find attribut data-open-modal\");\n }\n this.customizeBtn.innerHTML = this.customizeBtn.dataset.openModal;\n }\n\n /**\n * Set the cookies list in the modal\n */\n setupCookieModalList() {\n this.cookiesUnorderedList.innerHTML = \"\";\n Object.entries(this.config).forEach(([cookieName, cookieConfig]) => {\n const cookie = document.createElement(\"li\");\n const childItem = this.template.children.item(\n 0\n ) as HTMLDivElement | null;\n if (childItem === null) {\n throw new Error(\"Cannot find child item\");\n }\n cookie.append(childItem.cloneNode(true));\n const name = cookie.querySelector(\n \"span.cn-cookie-name\"\n ) as HTMLSpanElement;\n const description = cookie.querySelector(\n \"span.cn-cookie-description\"\n ) as HTMLSpanElement;\n const link = cookie.querySelector(\n \".cn-cookie-link\"\n ) as HTMLElement;\n const acceptInput = cookie.querySelector(\n \".accept > input\"\n ) as HTMLInputElement;\n const denyInput = cookie.querySelector(\n \".deny > input\"\n ) as HTMLInputElement;\n const acceptLabel = cookie.querySelector(\n \".accept > label\"\n ) as HTMLLabelElement;\n const denyLabel = cookie.querySelector(\n \".deny > label\"\n ) as HTMLLabelElement;\n\n name.textContent = cookieConfig.name;\n description.textContent = cookieConfig.description;\n link.textContent = cookieConfig.labelLink;\n link.setAttribute(\"href\", cookieConfig.link);\n acceptInput.id = cookieName + \"1\";\n acceptInput.name = cookieName;\n acceptInput.dataset.name = cookieName;\n acceptLabel.htmlFor = cookieName + \"1\";\n acceptLabel.textContent = `${acceptLabel.textContent} ${cookieName}`;\n acceptLabel.title = `${acceptLabel.textContent} ${cookieName}`;\n denyInput.id = cookieName + \"2\";\n denyInput.name = cookieName;\n denyInput.dataset.name = cookieName;\n denyLabel.htmlFor = cookieName + \"2\";\n denyLabel.textContent = `${denyLabel.textContent} ${cookieName}`;\n denyLabel.title = `${denyLabel.textContent} ${cookieName}`;\n\n const acceptFn = () => {\n acceptLabel.classList.add(\"active\");\n denyLabel.classList.remove(\"active\");\n this.setCookieStatus(\n cookieName,\n CookieStatus.true,\n cookieConfig\n );\n },\n denyFn = () => {\n acceptLabel.classList.remove(\"active\");\n denyLabel.classList.add(\"active\");\n this.setCookieStatus(\n cookieName,\n CookieStatus.false,\n cookieConfig\n );\n };\n this.addEvent(acceptInput, \"click\", acceptFn);\n this.addEventKbdValidate(acceptLabel, acceptFn);\n this.addEvent(denyInput, \"click\", denyFn);\n this.addEventKbdValidate(denyLabel, denyFn);\n\n this.cookiesUnorderedList.append(cookie);\n\n if (!this.hasBrowserCookie()) {\n // * Ldcweb cookie is not set.\n return;\n }\n // * Setup list status state\n Object.entries(this.getCookieStatusList()).forEach(\n ([ckName, cookieStatus]) => {\n if (ckName === cookieName) {\n acceptLabel.classList.remove(\"active\");\n denyLabel.classList.remove(\"active\");\n switch (cookieStatus) {\n case CookieStatus.true:\n acceptLabel.classList.add(\"active\");\n break;\n case CookieStatus.false:\n denyLabel.classList.add(\"active\");\n break;\n }\n }\n }\n );\n });\n }\n\n /**\n * Toggle Cookie modal pages\n */\n toggleCookieModalPages() {\n this.bannerContent.classList.toggle(\"d-none\");\n this.modalContainer.classList.toggle(\"d-none\");\n if (!this.modalContainer.classList.contains(\"d-none\")) {\n this.denyAllWaitingCookies();\n }\n this.setTabIndex();\n this.setupCookieModalList();\n this.togglePersonalizeBtn();\n }\n\n /**\n * Toggle customize btn\n */\n togglePersonalizeBtn() {\n const customizeBtnBannerDataset = this.customizeBtn.dataset;\n this.modalWrapper.scrollTop = 0;\n if (this.bannerContent.classList.contains(\"d-none\")) {\n this.customizeBtn.innerHTML =\n customizeBtnBannerDataset.openModal as string;\n this.customizeBtn.title = customizeBtnBannerDataset.openModal as string;\n } else {\n this.customizeBtn.innerHTML =\n customizeBtnBannerDataset.closeModal as string;\n this.customizeBtn.title = customizeBtnBannerDataset.closeModal as string;\n }\n }\n}\n\nenum CookieStatus {\n true = \"true\",\n false = \"false\",\n wait = \"wait\",\n}\n\ntype CookieStatusList = Record;\n\ntype CookiePolicy = {\n sameSite: CookiePolicySameSite;\n secure: string;\n};\n\nenum CookiePolicySameSite {\n lax = \"lax\",\n strict = \"strict\",\n none = \"none\",\n}\n\nexport type CookieOptions = {\n name: string;\n description: string;\n link: string;\n labelLink: string;\n cookies: string[];\n /**\n * Fonction qui sert à initialiser la fonctionnalité\n * conduisant à la génération du cookie\n * @return void\n */\n script: () => void;\n /**\n * Fonction qui sert à informer l'utilisateur\n * sur chaque élèment que le cookie\n * associé à la fonctionnalité\n * est désactivé et propose un lien sur\n * cookie notice pour l'activer\n * @return void\n */\n fallback: () => void | null;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","","// startup\n// Load entry module and return exports\n__webpack_require__(\"./src/ts/index.ts\");\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/scss/themes/standard.scss\");\n",""],"names":["CookieNotice","config","_this","_classCallCheck","_defineProperty","sameSite","CookiePolicySameSite","lax","secure","cookieExpirationDate","readCookiesExpirationDate","Date","setMonth","getMonth","cookieTimeLife","modalBg","document","createElement","classList","add","body","append","cookieContainer","querySelector","cookieShowModalBtn","cookieCloseModalBtn","cookieLinkShowCustomizeModalPageList","querySelectorAll","bannerContainer","bannerContent","modalContainer","acceptAllBtn","denyAllBtn","customizeBtn","cookiesUnorderedList","modalWrapper","template","Error","cookieLinkShowCustomizeModalList","bannerDetailsAreExpanded","memoryTemplate","cloneNode","remove","restrictCloseModal","addEventPrevent","closeCookieModal","acceptAllCookies","denyAllCookies","toggleCookieModalPages","toggleCookieModal","forEach","cookieLink","openCookieModalToCookiePage","addEventKbdValidate","cookiesMatchesConfig","cookiesOlderThan","resetBrowserCookie","openCookieModalToBannerPage","updateRestrictCloseModal","Object","entries","getCookieStatusList","_ref","_ref2","_slicedToArray","cookieName","cookieStatus","CookieStatus","wait","true","script","fallback","_createClass","key","value","values","includes","_this$getBrowserCooki","_this2","cookies","getBrowserCookieValue","expirationDateString","split","find","cookieString","startsWith","cookieExpirationName","epochExpiration","Number","parseInt","replace","concat","isNaN","e","date","getTime","keys","length","_this3","_ref3","_ref4","cookieOption","setCookieStatus","_iterator","_createForOfIteratorHelper","_step","s","n","done","acceptLabel","err","f","_iterator2","_step2","denyLabel","_this4","_ref5","_ref6","false","_iterator3","_step3","_iterator4","_step4","denyAllWaitingCookies","_this5","_ref7","_ref8","setBrowserCookieStatus","_this6","statusList","undefined","filter","specificCookieString","containsCookieStatus","status","addCookieStatus","removeCookieStatus","cookieNameElement","getElementById","deleteBrowserCookie","saveBrowserCookie","hasBrowserCookie","Boolean","matches","cookie","match","RegExp","browserCookieName","decodeURIComponent","content","map","_ref9","_ref10","push","join","location","hostname","toUTCString","getCookiePoliciesAsString","cookiePolicies","_ref11","_ref12","policyName","policyValue","newCookieList","_ref13","_ref14","addEvent","element","evnt","funct","addEventListener","bind","_this7","preventDefault","call","_this8","kbdEvt","code","keyCode","contains","resetCookieModal","scrollTop","setupCookieModalList","setTabIndex","unsetTabIndex","_this9","documentElement","setAttribute","setTimeout","focusableSelector","_toConsumableArray","el","hasAttribute","getAttribute","offsetWidth","offsetHeight","getClientRects","_this10","dataset","openModal","innerHTML","_this11","_ref15","_ref16","cookieConfig","childItem","children","item","name","description","link","acceptInput","denyInput","textContent","labelLink","id","htmlFor","title","acceptFn","denyFn","_ref17","_ref18","ckName","toggle","togglePersonalizeBtn","customizeBtnBannerDataset","closeModal","default"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"main.js","mappings":"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","sources":["webpack://CookieNotice/webpack/universalModuleDefinition","webpack://CookieNotice/./src/ts/index.ts","webpack://CookieNotice/webpack/bootstrap","webpack://CookieNotice/webpack/runtime/define property getters","webpack://CookieNotice/webpack/runtime/global","webpack://CookieNotice/webpack/runtime/hasOwnProperty shorthand","webpack://CookieNotice/webpack/runtime/make namespace object","webpack://CookieNotice/webpack/runtime/publicPath","webpack://CookieNotice/webpack/before-startup","webpack://CookieNotice/webpack/startup","webpack://CookieNotice/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"CookieNotice\"] = factory();\n\telse\n\t\troot[\"CookieNotice\"] = factory();\n})(this, function() {\nreturn ","/** 4.0.1 */\n\nexport default class CookieNotice {\n browserCookieName = \"cn-init\";\n\n /** Cookie life time */\n cookieTimeLife = 6;\n\n /** The index on which store the expiration date */\n cookieExpirationName = \"_expiration\";\n\n /** Cookie policies for each functionality */\n cookiePolicies: CookiePolicy = {\n sameSite: CookiePolicySameSite.lax,\n secure: \"\",\n };\n\n /** Cookie expiration date as specified in the cookie itself */\n cookieExpirationDate: Date;\n\n config: Record;\n modalBg: HTMLDivElement;\n cookieContainer: HTMLDivElement;\n bannerContainer: HTMLDivElement;\n modalContainer: HTMLDivElement;\n\n cookieShowModalBtn: HTMLButtonElement;\n cookieCloseModalBtn: HTMLButtonElement;\n\n bannerContent: HTMLDivElement;\n acceptAllBtn: HTMLButtonElement;\n denyAllBtn: HTMLButtonElement;\n customizeBtn: HTMLButtonElement;\n cookiesUnorderedList: HTMLUListElement;\n cookieLinkShowCustomizeModalList: NodeListOf;\n modalWrapper: HTMLDivElement;\n template: HTMLDivElement;\n bannerDetailsAreExpanded: boolean;\n\n restrictCloseModal: boolean;\n\n static noConflict: (deep?: boolean) => typeof CookieNotice;\n\n constructor(config: Record) {\n // * Setup Config\n this.config = config;\n\n // * Setup cookie expiration date\n let cookieExpirationDate: Date|null = this.readCookiesExpirationDate();\n if (!cookieExpirationDate) {\n cookieExpirationDate = new Date();\n cookieExpirationDate.setMonth(cookieExpirationDate.getMonth() + this.cookieTimeLife);\n }\n this.cookieExpirationDate = cookieExpirationDate;\n\n // * Inject DOM modal BG\n const modalBg = document.createElement(\"div\");\n modalBg.classList.add(\"cn-modal-bg\");\n document.body.append(modalBg);\n this.modalBg = modalBg;\n\n // * Setup Dom Elements\n const cookieContainer = document.querySelector(\n \"div#cn-wrapper\"\n ) as HTMLDivElement | null,\n cookieShowModalBtn = document.querySelector(\n \"button#cn-cookie-btn\"\n ) as HTMLButtonElement | null,\n cookieCloseModalBtn = document.querySelector(\n \"button#cn-close-modal\"\n ) as HTMLButtonElement | null,\n cookieLinkShowCustomizeModalPageList = document.querySelectorAll(\n \".cn-cookie-link\"\n ) as NodeListOf,\n bannerContainer = document.querySelector(\n \"div#cn-banner\"\n ) as HTMLDivElement | null,\n bannerContent = document.querySelector(\n \"div.cn-banner-content\"\n ) as HTMLDivElement | null,\n modalContainer = document.querySelector(\n \"div.cn-modal-container\"\n ) as HTMLDivElement | null,\n acceptAllBtn = document.querySelector(\n \"button#cn-accept-banner\"\n ) as HTMLButtonElement | null,\n denyAllBtn = document.querySelector(\n \"button#cn-deny-banner\"\n ) as HTMLButtonElement | null,\n customizeBtn = document.querySelector(\n \"button#cn-settings-banner\"\n ) as HTMLButtonElement | null,\n cookiesUnorderedList = document.querySelector(\n \"ul#cn-modal-list\"\n ) as HTMLUListElement | null,\n modalWrapper = document.querySelector(\n \"div.cn-modal-wrapper\"\n ) as HTMLDivElement,\n template = document.querySelector(\n \"div#cn-li-template\"\n ) as HTMLDivElement | null;\n if (!cookieContainer) {\n throw new Error(\"Cannot find div#cn-wrapper\");\n }\n if (!cookieShowModalBtn) {\n throw new Error(\"Cannot find 'button#cn-cookie-btn' element\");\n }\n if (!cookieCloseModalBtn) {\n throw new Error(\"Cannot find 'button#cn-close-modal' element\");\n }\n if (!bannerContainer) {\n throw new Error(\"Cannot find 'div#cn-banner' element\");\n }\n if (!bannerContent) {\n throw new Error(\"Cannot find 'div.cn-banner-content' element\");\n }\n if (!modalContainer) {\n throw new Error(\"Cannot find 'div.cn-modal-container' element\");\n }\n if (!acceptAllBtn) {\n throw new Error(\"Cannot find 'button#cn-accept-banner' element\");\n }\n if (!denyAllBtn) {\n throw new Error(\"Cannot find 'button#cn-deny-banner' element\");\n }\n if (!customizeBtn) {\n throw new Error(\"Cannot find 'button.cn-settings-banner' element\");\n }\n if (!cookiesUnorderedList) {\n throw new Error(\"Cannot find 'ul#cn-modal-list' element\");\n }\n if (!modalWrapper) {\n throw new Error(\"Cannot find 'div.cn-modal-wrapper' element\");\n }\n if (!template) {\n throw new Error(\"Cannot find 'div#cn-li-template' element\");\n }\n\n this.cookieShowModalBtn = cookieShowModalBtn;\n this.cookieCloseModalBtn = cookieCloseModalBtn;\n this.cookieLinkShowCustomizeModalList =\n cookieLinkShowCustomizeModalPageList;\n this.cookieContainer = cookieContainer;\n this.bannerContainer = bannerContainer;\n this.bannerContent = bannerContent;\n this.cookiesUnorderedList = cookiesUnorderedList;\n this.modalWrapper = modalWrapper;\n this.modalContainer = modalContainer;\n this.acceptAllBtn = acceptAllBtn;\n this.denyAllBtn = denyAllBtn;\n this.customizeBtn = customizeBtn;\n\n this.bannerDetailsAreExpanded = false;\n this.template = template;\n const memoryTemplate = this.template.cloneNode(true) as HTMLDivElement;\n this.template.remove();\n this.template = memoryTemplate;\n\n this.restrictCloseModal = true;\n\n // * Setup Events\n this.addEventPrevent(this.modalBg, \"click\", this.closeCookieModal);\n this.addEventPrevent(\n this.cookieCloseModalBtn,\n \"click\",\n this.closeCookieModal\n );\n this.addEventPrevent(this.acceptAllBtn, \"click\", this.acceptAllCookies);\n this.addEventPrevent(this.denyAllBtn, \"click\", this.denyAllCookies);\n this.addEventPrevent(\n this.customizeBtn,\n \"click\",\n this.toggleCookieModalPages\n );\n this.addEventPrevent(\n this.cookieShowModalBtn,\n \"click\",\n this.toggleCookieModal\n );\n this.cookieLinkShowCustomizeModalList.forEach((cookieLink) => {\n this.addEventPrevent(\n cookieLink,\n \"click\",\n this.openCookieModalToCookiePage\n );\n this.addEventKbdValidate(cookieLink, this.openCookieModalToCookiePage);\n });\n\n // * Setup CN Cookie\n if (!this.cookiesMatchesConfig() || this.cookiesOlderThan(new Date())) {\n // * Setup Browser Cookie if none.\n this.resetBrowserCookie();\n this.openCookieModalToBannerPage();\n }\n\n this.updateRestrictCloseModal();\n\n // * Cookie should have been created from here.\n Object.entries(this.getCookieStatusList()).forEach(([cookieName, cookieStatus]) => {\n if (cookieStatus === CookieStatus.wait) {\n // * Open modal if any cookie config is not set.\n this.openCookieModalToBannerPage();\n return;\n }\n if (!this.config[cookieName]) {\n // * Ignore missing config\n return;\n }\n if (cookieStatus === CookieStatus.true) {\n // * Exec script part for accepted cookie.\n this.config[cookieName].script();\n return;\n }\n if (this.config[cookieName].fallback != null) {\n // * Exec fallback part for accepted cookie if provided.\n this.config[cookieName].fallback();\n }\n });\n }\n\n // COOKIES\n\n /**\n * Update restrict for closing cookie modal\n */\n updateRestrictCloseModal() {\n this.restrictCloseModal = (Object.values(this.getCookieStatusList()).includes(CookieStatus.wait)) ? true : false;\n (this.restrictCloseModal) ? this.cookieCloseModalBtn.classList.add(\"d-none\") : this.cookieCloseModalBtn.classList.remove(\"d-none\");\n (this.restrictCloseModal) ? this.modalBg.classList.add(\"cn-modal-bg-active\") : this.modalBg.classList.remove(\"cn-modal-bg-active\");\n }\n\n /**\n * Get cookies expiration date or null if not defined alread\n */\n readCookiesExpirationDate(): Date | null {\n const cookies = this.getBrowserCookieValue() ?? \"\",\n expirationDateString = cookies.split(\",\").find((cookieString) =>\n cookieString.startsWith(this.cookieExpirationName));\n if (!expirationDateString) {\n return null;\n }\n try {\n const epochExpiration = Number.parseInt(expirationDateString.replace(`${this.cookieExpirationName}=`, \"\"));\n if (isNaN(epochExpiration)) {\n return null;\n }\n return new Date(epochExpiration);\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Check if the cookies date are older than a specified date\n\n * @param date The limit date for cookies\n */\n cookiesOlderThan(date: Date): boolean {\n return this.cookieExpirationDate.getTime() < date.getTime();\n }\n\n /**\n * Check if the actual cookie matches the config\n */\n cookiesMatchesConfig(): boolean {\n const cookies = this.getCookieStatusList();\n return Object.keys(cookies).length === Object.keys(this.config).length;\n }\n\n /**\n * Accept a all cookies\n */\n acceptAllCookies() {\n Object.entries(this.config).forEach(([cookieName, cookieOption]) =>\n this.setCookieStatus(cookieName, CookieStatus.true, cookieOption)\n );\n for (const acceptLabel of this.cookieContainer.querySelectorAll(\n \".accept > label\"\n )) {\n acceptLabel.classList.add(\"active\");\n }\n for (const denyLabel of this.cookieContainer.querySelectorAll(\n \".deny > label\"\n )) {\n denyLabel.classList.remove(\"active\");\n }\n this.closeCookieModal();\n }\n\n /**\n * Deny a all cookies\n */\n denyAllCookies() {\n Object.entries(this.config).forEach(([cookieName, cookieOption]) =>\n this.setCookieStatus(cookieName, CookieStatus.false, cookieOption)\n );\n for (const acceptLabel of this.cookieContainer.querySelectorAll(\n \".accept > label\"\n )) {\n acceptLabel.classList.remove(\"active\");\n }\n for (const denyLabel of this.cookieContainer.querySelectorAll(\n \".deny > label\"\n )) {\n denyLabel.classList.add(\"active\");\n }\n this.closeCookieModal();\n }\n\n /**\n * Deny all waiting cookies\n */\n denyAllWaitingCookies() {\n Object.entries(this.getCookieStatusList()).forEach(([cookieName, cookieStatus]) => {\n if (cookieStatus === CookieStatus.wait) {\n this.setBrowserCookieStatus(cookieName, CookieStatus.false);\n return;\n }\n });\n this.updateRestrictCloseModal();\n }\n\n /**\n * Fetch the cookie status list\n *\n * @returns the cookie status list\n */\n getCookieStatusList(): CookieStatusList {\n const cookies = this.getBrowserCookieValue(),\n statusList: CookieStatusList = {};\n if (cookies === undefined) {\n return statusList;\n }\n /** specificCookieString contains youtube=true like */\n cookies.split(\",\")\n // * Ignore timestamp\n .filter((specificCookieString) => !specificCookieString.startsWith(this.cookieExpirationName))\n .forEach((specificCookieString) => {\n const values = specificCookieString.split(\"=\");\n statusList[values[0]] = values[1] as CookieStatus;\n });\n return statusList;\n }\n\n /**\n * Check has cookie status\n *\n * @param key\n * @param value\n */\n containsCookieStatus(key: string): boolean {\n const statusList: CookieStatusList = this.getCookieStatusList();\n return (\n Object.keys(statusList).find((cookieName) => cookieName === key) !==\n undefined\n );\n }\n\n /**\n * Set the cookie value\n *\n * @param cookieName\n * @param status\n * @param cookieOption\n */\n setCookieStatus(\n cookieName: string,\n status: CookieStatus,\n cookieOption: CookieOptions\n ) {\n if (status === CookieStatus.true) {\n this.addCookieStatus(cookieName, cookieOption);\n return;\n }\n if (status === CookieStatus.false) {\n this.removeCookieStatus(cookieName, cookieOption);\n return;\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.wait);\n }\n\n /**\n * Add a specific cookie and\n * change his status to true\n *\n * @param cookieName\n * @param cookieOption\n */\n addCookieStatus(cookieName: string, cookieOption: CookieOptions) {\n if (cookieOption.script) {\n cookieOption.script();\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.true);\n }\n\n /**\n * Remove a specific cookie and\n * change his status to false\n *\n * @param cookieName\n * @param cookieOption\n */\n removeCookieStatus(cookieName: string, cookieOption: CookieOptions) {\n const cookieNameElement = document.getElementById(cookieName);\n if (cookieNameElement) {\n cookieNameElement.remove();\n }\n if (cookieOption.fallback) {\n cookieOption.fallback();\n }\n this.setBrowserCookieStatus(cookieName, CookieStatus.false);\n }\n\n /**\n * Change the status of a cookie\n *\n * @param cookieName\n * @param status\n */\n setBrowserCookieStatus(cookieName: string, status: CookieStatus) {\n const statusList: CookieStatusList = this.getCookieStatusList();\n // * Force refresh\n this.deleteBrowserCookie();\n statusList[cookieName] = status;\n this.saveBrowserCookie(statusList);\n this.updateRestrictCloseModal();\n }\n\n /**\n * Has CN cokie setup ?\n * @returns true if the cookie is setup\n */\n hasBrowserCookie(): boolean {\n return Boolean(this.getBrowserCookieValue());\n }\n\n /**\n * Get the Ldcweb cookie\n *\n * @returns A string like analytics=true,youtube=true or undefined\n */\n getBrowserCookieValue() {\n const matches = document.cookie.match(\n new RegExp(\n \"(?:^|; )\" +\n this.browserCookieName.replace(\n /([.$?*|{}()[\\]\\\\/+^])/g,\n \"\\\\$1\"\n ) +\n \"=([^;]*)\"\n )\n );\n return matches ? decodeURIComponent(matches[1]) : undefined;\n }\n\n /**\n * Save cookie content on web browser\n *\n * @param list\n */\n saveBrowserCookie(statusList: CookieStatusList) {\n const date = new Date(),\n content = Object.entries(statusList)\n .map(([cookieName, cookieStatus]) => {\n return `${cookieName}=${cookieStatus}`;\n });\n // * Update expiration date\n this.cookieExpirationDate = new Date(date.setMonth(date.getMonth() + this.cookieTimeLife));\n // * Append expiration date\n content.push(`${this.cookieExpirationName}=${this.cookieExpirationDate.getTime()}`);\n document.cookie = `${this.browserCookieName}=${content.join(\",\")};path=/${\n location.hostname ? `;domain=${location.hostname}` : \"\"\n };expires=${this.cookieExpirationDate.toUTCString()};${this.getCookiePoliciesAsString()}`;\n }\n\n /**\n * Set an older expire parameter to a specific cookie\n */\n deleteBrowserCookie() {\n if (this.hasBrowserCookie()) {\n // * Suppression du cookie et de sa version precedé d'un point\n document.cookie = `${this.browserCookieName}=;path=/${\n location.hostname ? `;domain=.${location.hostname}` : \"\"\n };expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n document.cookie = `${this.browserCookieName}=;path=/${\n location.hostname ? `;domain=${location.hostname}` : \"\"\n };expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n }\n }\n\n getCookiePoliciesAsString(): string {\n return Object.entries(this.cookiePolicies)\n .map(([policyName, policyValue]) => `${policyName}=${policyValue}`)\n .join(\";\");\n }\n\n /**\n * Reset Ldc Web CN cookie\n */\n resetBrowserCookie() {\n // * Create Cookie as It does not exists.\n const newCookieList: CookieStatusList = {};\n Object.entries(this.config).forEach(\n ([cookieName]) => (newCookieList[cookieName] = CookieStatus.wait)\n );\n this.saveBrowserCookie(newCookieList);\n }\n\n // LISTENERS\n\n /**\n * Add event on a specific element\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEvent(element: HTMLElement, evnt: string, funct: (e: Event) => void) {\n return element.addEventListener(evnt, funct.bind(this), false);\n }\n\n /**\n * Add event on a specific element and prevent default\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEventPrevent(\n element: HTMLElement,\n evnt: string,\n funct: (e: Event) => void\n ) {\n return element.addEventListener(\n evnt,\n (e) => {\n e.preventDefault();\n funct.call(this, e);\n },\n false\n );\n }\n\n /**\n * Add event on a specific element\n *\n * @param element\n * @param evnt\n * @param funct\n * @returns\n */\n addEventKbdValidate(element: HTMLElement, funct: (e: Event) => void) {\n return this.addEvent(element, \"keydown\", (e: Event) => {\n const kbdEvt = e as KeyboardEvent;\n if (\n kbdEvt.key == \" \" ||\n kbdEvt.code == \"Space\" ||\n kbdEvt.keyCode == 32 ||\n kbdEvt.key == \"Enter\" ||\n kbdEvt.code == \"Enter\" ||\n kbdEvt.keyCode == 13\n ) {\n funct.call(this, kbdEvt);\n e.preventDefault();\n }\n });\n }\n\n // COOKIE MODAL\n\n /**\n * Show or hide Cookie modal\n * @returns\n */\n toggleCookieModal() {\n if (!document.body.classList.contains(\"cn-open\")) {\n this.openCookieModalToBannerPage();\n return;\n }\n this.closeCookieModal();\n }\n\n /**\n * Open the cookies modal to the banner page\n */\n openCookieModalToBannerPage() {\n this.openCookieModalToCookiePage();\n this.toggleCookieModalPages();\n }\n\n /**\n * Open the cookies modal to the cookies page\n */\n openCookieModalToCookiePage() {\n document.body.classList.add(\"cn-open\");\n this.resetCookieModal();\n this.bannerContent.classList.add(\"d-none\");\n this.modalContainer.classList.remove(\"d-none\");\n\n // Scroll to the top of the cookies list\n this.modalWrapper.scrollTop = 0;\n this.setupCookieModalList();\n this.setTabIndex();\n }\n\n /**\n * Hide the cookies modal\n */\n closeCookieModal() {\n this.updateRestrictCloseModal();\n if (!this.restrictCloseModal) {\n document.body.classList.remove(\"cn-open\");\n this.unsetTabIndex();\n this.setupCookieModalList();\n } else {\n throw new Error(\"You need to accept or refuse all cookies\");\n }\n }\n\n /**\n * Setup tab indexes on visible elements\n */\n setTabIndex() {\n // * Prevent focus html tag\n document.documentElement.setAttribute(\"tabindex\", \"-1\");\n setTimeout(() => {\n const focusableSelector =\n \"a[href], button, [role=\\\"button\\\"], input, embed, object, iframe, textarea, select, details, [tabindex]:not([tabindex=\\\"-1\\\"])\";\n\n // * Only focusable elements\n [...document.body.querySelectorAll(focusableSelector)]\n .filter(\n (el) =>\n !el.hasAttribute(\"disabled\") &&\n !el.getAttribute(\"aria-hidden\")\n )\n .forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"-1\");\n (el as HTMLElement).classList.add(\"cn-disabled\");\n });\n [...this.cookieContainer.querySelectorAll(focusableSelector)]\n .filter(\n (el) =>\n !el.hasAttribute(\"disabled\") &&\n !el.getAttribute(\"aria-hidden\") &&\n // * Only visible elements\n !!(\n (el as HTMLElement).offsetWidth ||\n (el as HTMLElement).offsetHeight ||\n el.getClientRects().length\n )\n )\n .forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"0\");\n (el as HTMLElement).classList.remove(\"cn-disabled\");\n });\n this.cookieShowModalBtn.setAttribute(\"tabindex\", \"-1\");\n }, 500);\n }\n\n /**\n * Undo setup tab indexes on visible elements\n */\n unsetTabIndex() {\n document.documentElement.setAttribute(\"tabindex\", \"0\");\n setTimeout(() => {\n document.body.querySelectorAll(\".cn-disabled\").forEach((el) => {\n (el as HTMLElement).setAttribute(\"tabindex\", \"0\");\n (el as HTMLElement).classList.remove(\"cn-disabled\");\n });\n this.cookieShowModalBtn.setAttribute(\"tabindex\", \"0\");\n }, 500);\n }\n\n /**\n * Reset the modal view state\n */\n resetCookieModal() {\n this.bannerContent.classList.remove(\"d-none\");\n this.modalContainer.classList.add(\"d-none\");\n if (!this.customizeBtn.dataset.openModal) {\n throw new Error(\"Cannot find attribut data-open-modal\");\n }\n this.customizeBtn.innerHTML = this.customizeBtn.dataset.openModal;\n }\n\n /**\n * Set the cookies list in the modal\n */\n setupCookieModalList() {\n this.cookiesUnorderedList.innerHTML = \"\";\n Object.entries(this.config).forEach(([cookieName, cookieConfig]) => {\n const cookie = document.createElement(\"li\");\n const childItem = this.template.children.item(\n 0\n ) as HTMLDivElement | null;\n if (childItem === null) {\n throw new Error(\"Cannot find child item\");\n }\n cookie.append(childItem.cloneNode(true));\n const name = cookie.querySelector(\n \"span.cn-cookie-name\"\n ) as HTMLSpanElement;\n const description = cookie.querySelector(\n \"span.cn-cookie-description\"\n ) as HTMLSpanElement;\n const link = cookie.querySelector(\n \".cn-cookie-link\"\n ) as HTMLElement;\n const acceptInput = cookie.querySelector(\n \".accept > input\"\n ) as HTMLInputElement;\n const denyInput = cookie.querySelector(\n \".deny > input\"\n ) as HTMLInputElement;\n const acceptLabel = cookie.querySelector(\n \".accept > label\"\n ) as HTMLLabelElement;\n const denyLabel = cookie.querySelector(\n \".deny > label\"\n ) as HTMLLabelElement;\n\n name.textContent = cookieConfig.name;\n description.textContent = cookieConfig.description;\n link.textContent = cookieConfig.labelLink;\n link.setAttribute(\"href\", cookieConfig.link);\n acceptInput.id = cookieName + \"1\";\n acceptInput.name = cookieName;\n acceptInput.dataset.name = cookieName;\n acceptLabel.htmlFor = cookieName + \"1\";\n acceptLabel.textContent = `${acceptLabel.textContent} ${cookieName}`;\n acceptLabel.title = `${acceptLabel.textContent} ${cookieName}`;\n denyInput.id = cookieName + \"2\";\n denyInput.name = cookieName;\n denyInput.dataset.name = cookieName;\n denyLabel.htmlFor = cookieName + \"2\";\n denyLabel.textContent = `${denyLabel.textContent} ${cookieName}`;\n denyLabel.title = `${denyLabel.textContent} ${cookieName}`;\n\n const acceptFn = () => {\n acceptLabel.classList.add(\"active\");\n denyLabel.classList.remove(\"active\");\n this.setCookieStatus(\n cookieName,\n CookieStatus.true,\n cookieConfig\n );\n },\n denyFn = () => {\n acceptLabel.classList.remove(\"active\");\n denyLabel.classList.add(\"active\");\n this.setCookieStatus(\n cookieName,\n CookieStatus.false,\n cookieConfig\n );\n };\n this.addEvent(acceptInput, \"click\", acceptFn);\n this.addEventKbdValidate(acceptLabel, acceptFn);\n this.addEvent(denyInput, \"click\", denyFn);\n this.addEventKbdValidate(denyLabel, denyFn);\n\n this.cookiesUnorderedList.append(cookie);\n\n if (!this.hasBrowserCookie()) {\n // * Ldcweb cookie is not set.\n return;\n }\n // * Setup list status state\n Object.entries(this.getCookieStatusList()).forEach(\n ([ckName, cookieStatus]) => {\n if (ckName === cookieName) {\n acceptLabel.classList.remove(\"active\");\n denyLabel.classList.remove(\"active\");\n switch (cookieStatus) {\n case CookieStatus.true:\n acceptLabel.classList.add(\"active\");\n break;\n case CookieStatus.false:\n denyLabel.classList.add(\"active\");\n break;\n }\n }\n }\n );\n });\n }\n\n /**\n * Toggle Cookie modal pages\n */\n toggleCookieModalPages() {\n this.bannerContent.classList.toggle(\"d-none\");\n this.modalContainer.classList.toggle(\"d-none\");\n if (!this.modalContainer.classList.contains(\"d-none\")) {\n this.denyAllWaitingCookies();\n }\n this.setTabIndex();\n this.setupCookieModalList();\n this.togglePersonalizeBtn();\n }\n\n /**\n * Toggle customize btn\n */\n togglePersonalizeBtn() {\n const customizeBtnBannerDataset = this.customizeBtn.dataset;\n this.modalWrapper.scrollTop = 0;\n if (this.bannerContent.classList.contains(\"d-none\")) {\n this.customizeBtn.innerHTML =\n customizeBtnBannerDataset.openModal as string;\n this.customizeBtn.title = customizeBtnBannerDataset.openModal as string;\n } else {\n this.customizeBtn.innerHTML =\n customizeBtnBannerDataset.closeModal as string;\n this.customizeBtn.title = customizeBtnBannerDataset.closeModal as string;\n }\n }\n}\n\nenum CookieStatus {\n true = \"true\",\n false = \"false\",\n wait = \"wait\",\n}\n\ntype CookieStatusList = Record;\n\ntype CookiePolicy = {\n sameSite: CookiePolicySameSite;\n secure: string;\n};\n\nenum CookiePolicySameSite {\n lax = \"lax\",\n strict = \"strict\",\n none = \"none\",\n}\n\nexport type CookieOptions = {\n name: string;\n description: string;\n link: string;\n labelLink: string;\n cookies: string[];\n /**\n * Fonction qui sert à initialiser la fonctionnalité\n * conduisant à la génération du cookie\n * @return void\n */\n script: () => void;\n /**\n * Fonction qui sert à informer l'utilisateur\n * sur chaque élèment que le cookie\n * associé à la fonctionnalité\n * est désactivé et propose un lien sur\n * cookie notice pour l'activer\n * @return void\n */\n fallback: () => void | null;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","","// startup\n// Load entry module and return exports\n__webpack_require__(\"./src/ts/index.ts\");\n// This entry module doesn't tell about it's top-level declarations so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/scss/themes/standard.scss\");\n",""],"names":["CookieNotice","config","_this","_classCallCheck","_defineProperty","sameSite","CookiePolicySameSite","lax","secure","cookieExpirationDate","readCookiesExpirationDate","Date","setMonth","getMonth","cookieTimeLife","modalBg","document","createElement","classList","add","body","append","cookieContainer","querySelector","cookieShowModalBtn","cookieCloseModalBtn","cookieLinkShowCustomizeModalPageList","querySelectorAll","bannerContainer","bannerContent","modalContainer","acceptAllBtn","denyAllBtn","customizeBtn","cookiesUnorderedList","modalWrapper","template","Error","cookieLinkShowCustomizeModalList","bannerDetailsAreExpanded","memoryTemplate","cloneNode","remove","restrictCloseModal","addEventPrevent","closeCookieModal","acceptAllCookies","denyAllCookies","toggleCookieModalPages","toggleCookieModal","forEach","cookieLink","openCookieModalToCookiePage","addEventKbdValidate","cookiesMatchesConfig","cookiesOlderThan","resetBrowserCookie","openCookieModalToBannerPage","updateRestrictCloseModal","Object","entries","getCookieStatusList","_ref","_ref2","_slicedToArray","cookieName","cookieStatus","CookieStatus","wait","true","script","fallback","_createClass","key","value","values","includes","_this$getBrowserCooki","_this2","cookies","getBrowserCookieValue","expirationDateString","split","find","cookieString","startsWith","cookieExpirationName","epochExpiration","Number","parseInt","replace","concat","isNaN","e","date","getTime","keys","length","_this3","_ref3","_ref4","cookieOption","setCookieStatus","_iterator","_createForOfIteratorHelper","_step","s","n","done","acceptLabel","err","f","_iterator2","_step2","denyLabel","_this4","_ref5","_ref6","false","_iterator3","_step3","_iterator4","_step4","denyAllWaitingCookies","_this5","_ref7","_ref8","setBrowserCookieStatus","_this6","statusList","undefined","filter","specificCookieString","containsCookieStatus","status","addCookieStatus","removeCookieStatus","cookieNameElement","getElementById","deleteBrowserCookie","saveBrowserCookie","hasBrowserCookie","Boolean","matches","cookie","match","RegExp","browserCookieName","decodeURIComponent","content","map","_ref9","_ref10","push","join","location","hostname","toUTCString","getCookiePoliciesAsString","cookiePolicies","_ref11","_ref12","policyName","policyValue","newCookieList","_ref13","_ref14","addEvent","element","evnt","funct","addEventListener","bind","_this7","preventDefault","call","_this8","kbdEvt","code","keyCode","contains","resetCookieModal","scrollTop","setupCookieModalList","setTabIndex","unsetTabIndex","_this9","documentElement","setAttribute","setTimeout","focusableSelector","_toConsumableArray","el","hasAttribute","getAttribute","offsetWidth","offsetHeight","getClientRects","_this10","dataset","openModal","innerHTML","_this11","_ref15","_ref16","cookieConfig","childItem","children","item","name","description","link","acceptInput","denyInput","textContent","labelLink","id","htmlFor","title","acceptFn","denyFn","_ref17","_ref18","ckName","toggle","togglePersonalizeBtn","customizeBtnBannerDataset","closeModal","default"],"sourceRoot":""} \ No newline at end of file diff --git a/examples/laravel/lang/de/cookie-notice.php b/examples/laravel/lang/de/cookie-notice.php index 7464a0f..dcc5a86 100644 --- a/examples/laravel/lang/de/cookie-notice.php +++ b/examples/laravel/lang/de/cookie-notice.php @@ -1,6 +1,6 @@ 'Cookie-Einstellungen', diff --git a/examples/laravel/lang/en/cookie-notice.php b/examples/laravel/lang/en/cookie-notice.php index f3a740b..d68fa96 100644 --- a/examples/laravel/lang/en/cookie-notice.php +++ b/examples/laravel/lang/en/cookie-notice.php @@ -1,6 +1,6 @@ 'Customize cookies', diff --git a/examples/laravel/lang/fr/cookie-notice.php b/examples/laravel/lang/fr/cookie-notice.php index fbf4368..cd628ee 100644 --- a/examples/laravel/lang/fr/cookie-notice.php +++ b/examples/laravel/lang/fr/cookie-notice.php @@ -1,6 +1,6 @@ 'Personnaliser les cookies', diff --git a/package-lock.json b/package-lock.json index 7def816..249e523 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ldc-web/cookie-notice", - "version": "4.0.0", + "version": "4.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@ldc-web/cookie-notice", - "version": "4.0.0", + "version": "4.0.1", "license": "MIT", "devDependencies": { "@babel/core": "^7.22.11", diff --git a/package.json b/package.json index c8662d3..130ca01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ldc-web/cookie-notice", - "version": "4.0.0", + "version": "4.0.1", "description": "Web cookie notice for websites usage", "main": "./dist/umd/main.js", "module": "./dist/esm/ts/index.js", diff --git a/src/scss/themes/standard.scss b/src/scss/themes/standard.scss index 6c3b159..1b4db92 100644 --- a/src/scss/themes/standard.scss +++ b/src/scss/themes/standard.scss @@ -3,7 +3,7 @@ @import "./../mixins"; @import "./../reset"; -/** 4.0.0 */ +/** 4.0.1 */ /* FENETRE D'ACCUEIL */ $ck-bg-color: $ck-background-color; @@ -493,7 +493,6 @@ $breakpoint-mobile: 535px; width: 50%; border-right: 1px solid #{$ck-borders-color}; border-left: 1px solid #{$ck-borders-color}; - font-weight: bolder; } #cn-settings-banner { diff --git a/src/ts/index.ts b/src/ts/index.ts index 0f46baa..725de32 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -1,4 +1,4 @@ -/** 4.0.0 */ +/** 4.0.1 */ export default class CookieNotice { browserCookieName = "cn-init";