{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/helpers/motion.js","webpack://@verndale/toolkit/./src/js/modules/CookieBanner.js","webpack://@verndale/toolkit/./node_modules/js-cookie/dist/js.cookie.mjs"],"names":[],"mappings":"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","file":"scripts/4063.fa8bba6ab99e45909155.js","sourcesContent":["import { animate } from 'motion';\n\nexport const open = (element, duration = 1, easing = [0.19, 1, 0.22, 1]) =>\n animate(\n element,\n {\n maxHeight: `${element.scrollHeight}px`,\n opacity: 1\n },\n {\n duration,\n easing\n }\n );\n\nexport const close = (element, duration = 1, easing = [0.19, 1, 0.22, 1]) =>\n animate(\n element,\n {\n maxHeight: 0,\n opacity: 0\n },\n {\n duration,\n easing\n }\n );\n\nexport const hideOpacity = (\n element,\n duration = 1,\n delay = 0,\n easing = [0.19, 1, 0.22, 1]\n) =>\n animate(\n element,\n {\n opacity: 0\n },\n {\n duration,\n delay,\n easing\n }\n );\n\nexport const showOpacity = (\n element,\n duration = 1,\n delay = 0,\n easing = [0.19, 1, 0.22, 1]\n) =>\n animate(\n element,\n {\n opacity: 1\n },\n {\n duration,\n delay,\n easing\n }\n );\n\nexport const show = (\n element,\n duration = 1,\n delay = 0,\n easing = [0.19, 1, 0.22, 1]\n) =>\n animate(\n element,\n {\n maxBlockSize: 'unset'\n },\n {\n duration,\n delay,\n easing\n }\n );\n\nexport const hide = (\n element,\n maxBlockSize = 0,\n duration = 1,\n delay = 0,\n easing = [0.19, 1, 0.22, 1]\n) =>\n animate(\n element,\n {\n maxBlockSize\n },\n {\n duration,\n delay,\n easing\n }\n );\n\nexport const showFromBottom = (\n element,\n delay = 0.2,\n duration = 0.2,\n easing = [0.11, 0, 0.5, 0]\n) =>\n animate(\n element,\n {\n opacity: 1,\n translateY: 0\n },\n {\n delay,\n duration,\n easing\n }\n );\n\nexport const hideFromTop = (\n element,\n delay = 0.2,\n duration = 0.2,\n easing = [0.11, 0, 0.5, 0]\n) =>\n animate(\n element,\n {\n opacity: 0,\n translateY: 30\n },\n {\n delay,\n duration,\n easing\n }\n );\n\nexport const hideToRight = (\n element,\n delay = 0.2,\n duration = 0.2,\n easing = [0.11, 0, 0.5, 0]\n) =>\n animate(\n element,\n {\n opacity: 0,\n translateX: 90\n },\n {\n delay,\n duration,\n easing\n }\n );\n\nexport const hideToLeft = (\n element,\n delay = 0.2,\n duration = 0.2,\n easing = [0.11, 0, 0.5, 0]\n) =>\n animate(\n element,\n {\n opacity: 0,\n translateX: -90\n },\n {\n delay,\n duration,\n easing\n }\n );\n","import { Component } from '@verndale/core';\nimport Cookies from 'js-cookie';\nimport { open, close } from '../helpers/motion';\n\nclass CookieDisclaimer extends Component {\n setupDefaults() {\n this.dom = {\n acceptButton: this.el.querySelectorAll('.cookie-banner__accept-btn')\n };\n\n this.id = this.el.id;\n this.cookieName = `mcphs_cookie_${this.id}`;\n this.shouldDisplayCookieBanner();\n }\n\n addListeners() {\n this.dom.acceptButton?.forEach(button =>\n button.addEventListener('click', this.handleClick.bind(this))\n );\n }\n\n shouldDisplayCookieBanner() {\n if (Cookies.get(this.cookieName)) {\n return this.el.remove();\n }\n this.el.style.display = 'block';\n open(this.el);\n }\n\n handleClick(e) {\n e.preventDefault();\n Cookies.set(this.cookieName, this.id, {\n expires: parseInt(this.el.dataset.cookieExpiration, 10) || 1\n });\n close(this.el).finished.then(() => {\n this.el.remove();\n });\n }\n}\n\nexport default CookieDisclaimer;\n","/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n"],"sourceRoot":""}