{"version":3,"file":"978.js","mappings":"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","sources":["webpack://sanook-consent-banner/./src/styles/icon.module.css?e348","webpack://sanook-consent-banner/./src/components/CookieSetting/style.module.css?0134","webpack://sanook-consent-banner/./src/components/utils/sendEventTrackingButton.js","webpack://sanook-consent-banner/./src/components/hooks/useI18NText.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/tabbable.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/focusManager.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/scopeTab.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/ariaAppHider.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/classList.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/portalOpenInstances.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/helpers/bodyTrap.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/ModalPortal.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/Modal/index.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/ItemCookie/style.module.css?2ff7","webpack://sanook-consent-banner/./src/components/CookieSetting/components/ItemCookie/index.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/SwitchBtn/style.module.css?51e2","webpack://sanook-consent-banner/./src/components/CookieSetting/components/SwitchBtn/index.js","webpack://sanook-consent-banner/./src/components/CookieSetting/Template.js","webpack://sanook-consent-banner/./src/components/CookieSetting/index.js","webpack://sanook-consent-banner/./src/components/LockBodyScroll/util.js","webpack://sanook-consent-banner/./src/components/LockBodyScroll/index.js","webpack://sanook-consent-banner/./src/components/Template.js","webpack://sanook-consent-banner/./node_modules/classnames/index.js","webpack://sanook-consent-banner/./src/components/CookieSetting/components/ItemCookie/style.module.css","webpack://sanook-consent-banner/./src/components/CookieSetting/components/SwitchBtn/style.module.css","webpack://sanook-consent-banner/./src/components/CookieSetting/style.module.css","webpack://sanook-consent-banner/./src/styles/icon.module.css"],"sourcesContent":["\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!./icon.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!./icon.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import sendEventTracking from '@utils/stats/sendEventTracking'\n\nexport default function sendEventTrackingButton({\n isAcceptPerformance,\n isAcceptTargeting,\n isAcceptAdvertising,\n}) {\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: isAcceptPerformance\n ? 'gdprnoti-setting-2-on'\n : 'gdprnoti-setting-2-off',\n })\n\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: isAcceptTargeting\n ? 'gdprnoti-setting-3-on'\n : 'gdprnoti-setting-3-off',\n })\n\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: isAcceptAdvertising\n ? 'gdprnoti-setting-4-on'\n : 'gdprnoti-setting-4-off',\n })\n}\n","import { useEffect, useState } from 'preact/hooks'\n\nimport { CONSENT_BANNER_ATTRIBUTE, DOM_ROOT_ID, SUPPORT_LANG } from '@configs'\n\nexport default function useI18NText(key) {\n const [text, setText] = useState({})\n\n useEffect(() => {\n const element = document.getElementById(DOM_ROOT_ID)\n if (!element) {\n return\n }\n\n const lang = element.getAttribute(CONSENT_BANNER_ATTRIBUTE.LANG)\n if (lang && lang === SUPPORT_LANG.EN) {\n import('@configs/i18n/en').then((obj) => {\n setText(obj.default[key])\n })\n\n return\n }\n\n import('@configs/i18n/th').then((obj) => {\n setText(obj.default[key])\n })\n }, [])\n\n return text\n}\n","/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nconst tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction hidesContents(element) {\n const zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n const style = window.getComputedStyle(element);\n return zeroSize\n ? style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n (element.scrollWidth <= 0 && element.scrollHeight <= 0)\n : style.getPropertyValue(\"display\") == \"none\";\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n let parentElement = element;\n let rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode)\n parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n const nodeName = element.nodeName.toLowerCase();\n const res =\n (tabbableNode.test(nodeName) && !element.disabled) ||\n (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n let tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n const isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nexport default function findTabbableDescendants(element) {\n const descendants = [].slice\n .call(element.querySelectorAll(\"*\"), 0)\n .reduce(\n (finished, el) => finished.concat(\n !el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot)\n ),\n []\n );\n return descendants.filter(tabbable);\n}\n","import findTabbable from './tabbable'\n\nlet focusLaterElements = []\nlet modalElement = null\nlet needToFocus = false\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nexport function resetState() {\n focusLaterElements = []\n}\n\n/* istanbul ignore next */\nexport function log() {\n if (process.env.NODE_ENV !== 'production') {\n console.log('focusManager ----------')\n focusLaterElements.forEach((f) => {\n const check = f || {}\n console.log(check.nodeName, check.className, check.id)\n })\n console.log('end focusManager ----------')\n }\n}\n/* eslint-enable no-console */\n\nexport function handleBlur() {\n needToFocus = true\n}\n\nexport function handleFocus() {\n if (needToFocus) {\n needToFocus = false\n if (!modalElement) {\n return\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(() => {\n if (modalElement.contains(document.activeElement)) {\n return\n }\n const el = findTabbable(modalElement)[0] || modalElement\n el.focus()\n }, 0)\n }\n}\n\nexport function markForFocusLater() {\n focusLaterElements.push(document.activeElement)\n}\n\n/* eslint-disable no-console */\nexport function returnFocus(preventScroll = false) {\n let toFocus = null\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop()\n toFocus.focus({ preventScroll })\n }\n return\n } catch (e) {\n console.warn(\n [\n 'You tried to return focus to',\n toFocus,\n 'but it is not in the DOM anymore',\n ].join(' '),\n )\n }\n}\n/* eslint-enable no-console */\n\nexport function popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop()\n}\n\nexport function setupScopedFocus(element) {\n modalElement = element\n\n if (window.addEventListener) {\n window.addEventListener('blur', handleBlur, false)\n document.addEventListener('focus', handleFocus, true)\n } else {\n window.attachEvent('onBlur', handleBlur)\n document.attachEvent('onFocus', handleFocus)\n }\n}\n\nexport function teardownScopedFocus() {\n modalElement = null\n\n if (window.addEventListener) {\n window.removeEventListener('blur', handleBlur)\n document.removeEventListener('focus', handleFocus)\n } else {\n window.detachEvent('onBlur', handleBlur)\n document.detachEvent('onFocus', handleFocus)\n }\n}\n","import findTabbable from \"./tabbable\";\n\nfunction getActiveElement(el = document) {\n return el.activeElement.shadowRoot\n ? getActiveElement(el.activeElement.shadowRoot)\n : el.activeElement;\n}\n\nexport default function scopeTab(node, event) {\n const tabbable = findTabbable(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n let target;\n\n const shiftKey = event.shiftKey;\n const head = tabbable[0];\n const tail = tabbable[tabbable.length - 1];\n const activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n const checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n const isSafariDesktop =\n checkSafari != null &&\n checkSafari[1] != \"Chrome\" &&\n /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\n","let globalElement = null\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nexport function resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute('aria-hidden')\n } else if (globalElement.length != null) {\n globalElement.forEach((element) => element.removeAttribute('aria-hidden'))\n } else {\n document\n .querySelectorAll(globalElement)\n .forEach((element) => element.removeAttribute('aria-hidden'))\n }\n }\n globalElement = null\n}\n\n/* istanbul ignore next */\nexport function log() {\n if (process.env.NODE_ENV !== 'production') {\n var check = globalElement || {}\n console.log('ariaAppHider ----------')\n console.log(check.nodeName, check.className, check.id)\n console.log('end ariaAppHider ----------')\n }\n}\n/* eslint-enable no-console */\n\nexport function assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\n `react-modal: No elements were found for selector ${selector}.`,\n )\n }\n}\n\nexport function setElement(element) {\n let useElement = element\n if (typeof useElement === 'string') {\n const el = document.querySelectorAll(useElement)\n assertNodeList(el, useElement)\n useElement = el\n }\n globalElement = useElement || globalElement\n return globalElement\n}\n\nexport function validateElement(appElement) {\n const el = appElement || globalElement\n if (el) {\n return Array.isArray(el) ||\n el instanceof HTMLCollection ||\n el instanceof NodeList\n ? el\n : [el]\n } else {\n return []\n }\n}\n\nexport function hide(appElement) {\n for (let el of validateElement(appElement)) {\n el.setAttribute('aria-hidden', 'true')\n }\n}\n\nexport function show(appElement) {\n for (let el of validateElement(appElement)) {\n el.removeAttribute('aria-hidden')\n }\n}\n\nexport function documentNotReadyOrSSRTesting() {\n globalElement = null\n}\n","let htmlClassList = {};\nlet docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nexport function resetState() {\n const htmlElement = document.getElementsByTagName(\"html\")[0];\n for (let cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n const body = document.body;\n for (let cls in docBodyClassList) {\n removeClass(body, docBodyClassList[cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nexport function log() {\n if (process.env.NODE_ENV !== \"production\") {\n let classes = document.getElementsByTagName(\"html\")[0].className;\n let buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += ` (${classes}):\n `;\n for (let x in htmlClassList) {\n buffer += ` ${x} ${htmlClassList[x]}\n `;\n }\n\n classes = document.body.className;\n\n buffer += `\\n\\ndoc.body (${classes}):\n `;\n for (let x in docBodyClassList) {\n buffer += ` ${x} ${docBodyClassList[x]}\n `;\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nconst incrementReference = (poll, className) => {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nconst decrementReference = (poll, className) => {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nconst trackClass = (classListRef, poll, classes) => {\n classes.forEach(className => {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nconst untrackClass = (classListRef, poll, classes) => {\n classes.forEach(className => {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nexport const add = (element, classString) =>\n trackClass(\n element.classList,\n element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList,\n classString.split(\" \")\n );\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nexport const remove = (element, classString) =>\n untrackClass(\n element.classList,\n element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList,\n classString.split(\" \")\n );\n","// Tracks portals that are open and emits events to subscribers\n\nclass PortalOpenInstances {\n constructor() {\n this.openInstances = [];\n this.subscribers = [];\n }\n\n register = openInstance => {\n if (this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\n `React-Modal: Cannot register modal instance that's already open`\n );\n }\n return;\n }\n this.openInstances.push(openInstance);\n this.emit(\"register\");\n };\n\n deregister = openInstance => {\n const index = this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\n `React-Modal: Unable to deregister ${openInstance} as ` +\n `it was never registered`\n );\n }\n return;\n }\n this.openInstances.splice(index, 1);\n this.emit(\"deregister\");\n };\n\n subscribe = callback => {\n this.subscribers.push(callback);\n };\n\n emit = eventType => {\n this.subscribers.forEach(subscriber =>\n subscriber(\n eventType,\n // shallow copy to avoid accidental mutation\n this.openInstances.slice()\n )\n );\n };\n}\n\nlet portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nexport function log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(p => console.log(p));\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nexport function resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexport default portalOpenInstances;\n","import portalOpenInstances from \"./portalOpenInstances\";\n// Body focus trap see Issue #742\n\nlet before,\n after,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nexport function resetState() {\n for (let item of [before, after]) {\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nexport function log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n for (let item of [before, after]) {\n let check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(`React-Modal: Open instances > 0 expected`);\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\nportalOpenInstances.subscribe(bodyTrap);\n","import { h, Component } from 'preact'\n\nimport * as focusManager from './helpers/focusManager'\nimport scopeTab from './helpers/scopeTab'\nimport * as ariaAppHider from './helpers/ariaAppHider'\nimport * as classList from './helpers/classList'\n\nimport portalOpenInstances from './helpers/portalOpenInstances'\nimport './helpers/bodyTrap'\n\n// so that our CSS is statically analyzable\nconst CLASS_NAMES = {\n overlay: 'ReactModal__Overlay',\n content: 'ReactModal__Content',\n}\n\nconst TAB_KEY = 9\nconst ESC_KEY = 27\n\nlet ariaHiddenInstances = 0\n\nexport const bodyOpenClassName = 'modal-body--open'\n\nexport default class ModalPortal extends Component {\n static defaultProps = {\n style: {\n overlay: {},\n content: {},\n },\n defaultStyles: {},\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n afterOpen: false,\n beforeClose: false,\n }\n\n this.shouldClose = null\n this.moveFromContentToOverlay = null\n }\n\n componentDidMount() {\n if (this.props.isOpen) {\n this.open()\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open()\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close()\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.state.isOpen && !prevState.isOpen) {\n this.focusContent()\n }\n }\n\n componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose()\n }\n clearTimeout(this.closeTimer)\n cancelAnimationFrame(this.openAnimationFrame)\n }\n\n setOverlayRef = (overlay) => {\n this.overlay = overlay\n this.props.overlayRef && this.props.overlayRef(overlay)\n }\n\n setContentRef = (content) => {\n this.content = content\n this.props.contentRef && this.props.contentRef(content)\n }\n\n beforeOpen() {\n const { appElement, htmlOpenClassName } = this.props\n\n // Add classes.\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName)\n\n htmlOpenClassName &&\n classList.add(document.getElementsByTagName('html')[0], htmlOpenClassName)\n\n ariaHiddenInstances += 1\n ariaAppHider.hide(appElement)\n\n portalOpenInstances.register(this)\n }\n\n afterClose = () => {\n const { appElement, htmlOpenClassName } = this.props\n\n // Remove classes.\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName)\n\n htmlOpenClassName &&\n classList.remove(\n document.getElementsByTagName('html')[0],\n htmlOpenClassName,\n )\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement)\n }\n }\n\n focusManager.returnFocus(false)\n focusManager.teardownScopedFocus()\n\n if (this.props.onAfterClose) {\n this.props.onAfterClose()\n }\n\n portalOpenInstances.deregister(this)\n }\n\n open = () => {\n this.beforeOpen()\n if (this.state.afterOpen && this.state.beforeClose) {\n clearTimeout(this.closeTimer)\n this.setState({ beforeClose: false })\n } else {\n focusManager.setupScopedFocus(this.node)\n focusManager.markForFocusLater()\n\n this.setState({ isOpen: true }, () => {\n this.openAnimationFrame = requestAnimationFrame(() => {\n this.setState({ afterOpen: true })\n\n if (this.props.isOpen && this.props.onAfterOpen) {\n this.props.onAfterOpen({\n overlayEl: this.overlay,\n contentEl: this.content,\n })\n }\n })\n })\n }\n }\n\n close = () => {\n this.closeWithoutTimeout()\n }\n\n // Don't steal focus from inner elements\n focusContent = () =>\n this.content &&\n !this.contentHasFocus() &&\n this.content.focus({ preventScroll: true })\n\n closeWithTimeout = () => {\n const closesAt = Date.now() + this.props.closeTimeoutMS\n this.setState({ beforeClose: true, closesAt }, () => {\n this.closeTimer = setTimeout(\n this.closeWithoutTimeout,\n this.state.closesAt - Date.now(),\n )\n })\n }\n\n closeWithoutTimeout = () => {\n this.setState(\n {\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null,\n },\n this.afterClose,\n )\n }\n\n handleKeyDown = (event) => {\n if (event.keyCode === TAB_KEY) {\n scopeTab(this.content, event)\n }\n\n if (event.keyCode === ESC_KEY) {\n event.stopPropagation()\n this.requestClose(event)\n }\n }\n\n handleOverlayOnClick = (event) => {\n if (this.shouldClose === null) {\n this.shouldClose = true\n }\n\n if (this.shouldClose) {\n if (this.ownerHandlesClose()) {\n this.requestClose(event)\n } else {\n this.focusContent()\n }\n }\n this.shouldClose = null\n }\n\n handleContentOnMouseUp = () => {\n this.shouldClose = false\n }\n\n handleContentOnClick = () => {\n this.shouldClose = false\n }\n\n handleContentOnMouseDown = () => {\n this.shouldClose = false\n }\n\n requestClose = (event) =>\n this.ownerHandlesClose() && this.props.onRequestClose(event)\n\n ownerHandlesClose = () => this.props.onRequestClose\n\n shouldBeClosed = () => !this.state.isOpen && !this.state.beforeClose\n\n contentHasFocus = () =>\n document.activeElement === this.content ||\n this.content.contains(document.activeElement)\n\n buildClassName = (which, additional) => {\n const classNames =\n typeof additional === 'object'\n ? additional\n : {\n base: CLASS_NAMES[which],\n afterOpen: `${CLASS_NAMES[which]}--after-open`,\n beforeClose: `${CLASS_NAMES[which]}--before-close`,\n }\n let className = classNames.base\n if (this.state.afterOpen) {\n className = `${className} ${classNames.afterOpen}`\n }\n if (this.state.beforeClose) {\n className = `${className} ${classNames.beforeClose}`\n }\n return typeof additional === 'string' && additional\n ? `${className} ${additional}`\n : className\n }\n\n attributesFromObject = (prefix, items) =>\n Object.keys(items).reduce((acc, name) => {\n acc[`${prefix}-${name}`] = items[name]\n return acc\n }, {})\n\n render() {\n const { id, className, overlayClassName, defaultStyles, children } =\n this.props\n const contentStyles = className ? {} : defaultStyles.content\n const overlayStyles = overlayClassName ? {} : defaultStyles.overlay\n\n if (this.shouldBeClosed()) {\n return null\n }\n\n const overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName('overlay', overlayClassName),\n style: { ...overlayStyles, ...this.props.style.overlay },\n onClick: this.handleOverlayOnClick,\n }\n\n const contentProps = {\n id,\n ref: this.setContentRef,\n style: { ...contentStyles, ...this.props.style.content },\n className: this.buildClassName('content', className),\n tabIndex: '-1',\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: 'dialog',\n 'aria-label': this.props.contentLabel,\n ...this.attributesFromObject('aria', { modal: true, ...this.props.aria }),\n ...this.attributesFromObject('data', this.props.data || {}),\n }\n\n const contentElement =
{children}
\n return
{contentElement}
\n }\n}\n","import { h } from 'preact'\n\nimport { useEffect, useRef } from 'preact/hooks'\nimport { createPortal } from 'preact/compat'\n\nimport ModalPortal from './ModalPortal'\nimport * as ariaAppHider from './helpers/ariaAppHider'\n\nconst Modal = (props) => {\n const node = useRef()\n\n useEffect(() => {\n document.body.appendChild(node.current)\n return () => {\n document.body.removeChild(node.current)\n }\n }, [])\n\n if (!node.current) {\n node.current = document.createElement('div')\n node.current.className = 'modal-portal'\n }\n\n return createPortal(, node.current)\n}\n\nModal.setAppElement = (element) => {\n ariaAppHider.setElement(element)\n}\n\nexport default Modal\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { h, Fragment } from 'preact'\n\nimport cx from 'classnames'\n\nimport iconStyle from '@styles/icon.module.css'\n\nimport style from './style.module.css'\n\nfunction ItemCookie({ onToggle, isShow, title, subTitle, detail, children }) {\n return (\n \n
\n
\n
\n \n {isShow ? (\n \n ) : (\n \n )}\n \n

\n {title}\n ({subTitle})\n

\n
\n
{children}
\n
\n {isShow &&
{detail}
}\n
\n
\n )\n}\n\nexport default ItemCookie\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!./style.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { h } from 'preact'\n\nimport cx from 'classnames'\n\nimport style from './style.module.css'\n\nfunction SwitchBtn({ onClick, isAccept, disabled }) {\n return (\n \n {isAccept ? 'เปิด' : 'ปิด'}\n \n )\n}\n\nexport default SwitchBtn\n","import { h, Fragment } from 'preact'\n\nimport iconStyle from '@styles/icon.module.css'\n\nimport useI18NText from '../hooks/useI18NText'\n\nimport Modal from './components/Modal'\nimport ItemCookie from './components/ItemCookie'\nimport SwitchBtn from './components/SwitchBtn'\n\nimport style from './style.module.css'\n\nModal.setAppElement('body')\n\nconst modalStyle = {\n overlay: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.75)',\n zIndex: 100001,\n },\n content: {\n position: 'absolute',\n background: 'transparent',\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n marginTop: '15px',\n transform: 'translate(-50%, -50%)',\n overflow: 'hidden',\n borderRadius: '6px',\n border: 'none',\n width: '85%',\n maxWidth: '440px',\n height: 'auto',\n padding: '0',\n boxShadow: 'none',\n },\n}\n\nexport default function Template({\n isOpenCookieSetting,\n isAcceptTargeting,\n isAcceptPerformance,\n isAcceptAdvertising,\n onToggleTargeting,\n onTogglePerformance,\n onToggleAdvertising,\n isShowDetailSanookWebsiteCookie,\n isShowDetailPerformanceCookie,\n isShowDetailTargetingCookie,\n isShowDetailAdvertisingCookie,\n onToggleDetailSanookWebsiteCookie,\n onToggleDetailPerformanceCookie,\n onToggleDetailTargetingCookie,\n onToggleDetailAdvertisingCookie,\n onCloseModal,\n onClickOutsideModal,\n onAcceptAll,\n onSave,\n}) {\n const text = useI18NText('cookieSetting')\n\n return (\n \n \n \n
\n
\n

{text.title}

\n

\n {text.subTitle}\n

\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n

{text?.description}

\n
\n
\n
\n
\n \n {text?.acceptAllBtn}\n \n \n {text?.saveBtn}\n \n
\n
\n
\n \n
\n )\n}\n","import { h } from 'preact'\n\nimport { useEffect, useState } from 'preact/hooks'\n\nimport sendEventTracking from '@utils/stats/sendEventTracking'\n\nimport {\n COOKIE_STATUS,\n COOKIE_SETTING_TYPE,\n IS_ACCEPT_CONSENT_BANNER,\n} from '@configs'\n\nimport {\n refreshCookieSetting,\n setCookieSetting,\n} from '../utils/sanookHubHelper'\nimport sendEventTrackingButton from '../utils/sendEventTrackingButton'\n\nimport updateSaAndDcCookie from '../utils/updateSaAndDcCookie'\nimport updateAdsCookie from '../utils/updateAdsCookie'\n\nimport Template from './Template'\n\nconst { performance, targeting, advertising } = COOKIE_SETTING_TYPE\n\nexport default function CookieSettingContainer({\n cookieSetting,\n isOpenCookieSetting,\n setIsOpenCookieSetting,\n setShouldShowConsentBanner,\n}) {\n const [isAcceptPerformance, setIsAcceptPerformance] = useState(true)\n const [isAcceptTargeting, setIsAcceptTargeting] = useState(true)\n const [isAcceptAdvertising, setIsAcceptAdvertising] = useState(true)\n\n const [isShowDetailSanookWebsiteCookie, setIsShowDetailSanookWebsiteCookie] =\n useState(false)\n const [isShowDetailPerformanceCookie, setIsShowDetailPerformanceCookie] =\n useState(false)\n const [isShowDetailTargetingCookie, setIsShowDetailTargetingCookie] =\n useState(false)\n const [isShowDetailAdvertisingCookie, setIsShowDetailAdvertisingCookie] =\n useState(false)\n\n useEffect(() => {\n if (cookieSetting === undefined || cookieSetting === null) {\n return\n }\n\n setIsAcceptPerformance(cookieSetting[performance] !== false)\n setIsAcceptTargeting(cookieSetting[targeting] !== false)\n setIsAcceptAdvertising(cookieSetting[advertising] !== false)\n }, [cookieSetting])\n\n const onTogglePerformance = () => {\n setIsAcceptPerformance((prev) => !prev)\n }\n\n const onToggleTargeting = () => {\n setIsAcceptTargeting((prev) => !prev)\n }\n\n const onToggleAdvertising = () => {\n setIsAcceptAdvertising((prev) => !prev)\n }\n\n const onToggleDetailSanookWebsiteCookie = () => {\n setIsShowDetailSanookWebsiteCookie((prev) => !prev)\n }\n\n const onToggleDetailPerformanceCookie = () => {\n setIsShowDetailPerformanceCookie((prev) => !prev)\n }\n\n const onToggleDetailTargetingCookie = () => {\n setIsShowDetailTargetingCookie((prev) => !prev)\n }\n\n const onToggleDetailAdvertisingCookie = () => {\n setIsShowDetailAdvertisingCookie((prev) => !prev)\n }\n\n const onCloseModal = () => {\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: 'gdprnoti-setting-close',\n })\n\n setIsOpenCookieSetting(false)\n }\n\n const onClickOutsideModal = () => {\n setIsOpenCookieSetting(false)\n }\n\n const onAcceptAll = () => {\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: 'gdprnoti-setting-acceptcookies',\n })\n\n sendEventTrackingButton({\n isAcceptPerformance: true,\n isAcceptTargeting: true,\n isAcceptAdvertising: true,\n })\n\n setCookieSetting({\n ...cookieSetting,\n [IS_ACCEPT_CONSENT_BANNER]: true,\n [performance]: true,\n [targeting]: true,\n [advertising]: true,\n })\n\n refreshCookieSetting()\n\n updateSaAndDcCookie(COOKIE_STATUS.ACCEPT)\n updateAdsCookie(COOKIE_STATUS.ACCEPT)\n\n setShouldShowConsentBanner(false)\n setIsOpenCookieSetting(false)\n }\n\n const onSave = () => {\n sendEventTracking({\n eventCategory: 'gdprnoti',\n eventAction: 'modal',\n eventLabel: 'gdprnoti-setting-save',\n })\n\n sendEventTrackingButton({\n isAcceptPerformance,\n isAcceptTargeting,\n isAcceptAdvertising,\n })\n\n setCookieSetting({\n ...cookieSetting,\n [IS_ACCEPT_CONSENT_BANNER]: true,\n [performance]: isAcceptPerformance,\n [targeting]: isAcceptTargeting,\n [advertising]: isAcceptAdvertising,\n })\n\n refreshCookieSetting()\n\n updateSaAndDcCookie(\n isAcceptAdvertising ? COOKIE_STATUS.ACCEPT : COOKIE_STATUS.OPT_OUT,\n )\n updateAdsCookie(\n isAcceptAdvertising ? COOKIE_STATUS.ACCEPT : COOKIE_STATUS.OPT_OUT,\n )\n\n setShouldShowConsentBanner(false)\n setIsOpenCookieSetting(false)\n }\n\n return (\n \n )\n}\n","let locks = []\nlet initialClientY = -1\n\nexport const preventDefault = (rawEvent) => {\n const e = rawEvent || window.event\n\n if (e.touches.length > 1) {\n return true\n }\n\n if (e.preventDefault && e.cancelable) {\n e.preventDefault()\n }\n\n return false\n}\n\nconst isTargetElementTotallyScrolled = (targetElement) => {\n return targetElement\n ? targetElement.scrollHeight - targetElement.scrollTop <=\n targetElement.clientHeight\n : false\n}\n\nconst handleScroll = (event, targetElement) => {\n const clientY = event.targetTouches[0].clientY - initialClientY\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n return preventDefault(event)\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n return preventDefault(event)\n }\n\n event.stopPropagation()\n return true\n}\n\nexport const disableBodyScroll = (targetElement) => {\n if (locks.some((lock) => lock.targetElement === targetElement)) {\n return\n }\n\n const lock = {\n targetElement,\n }\n\n locks = [...locks, lock]\n\n targetElement.ontouchstart = (event) => {\n if (event.targetTouches.length === 1) {\n initialClientY = event.targetTouches[0].clientY\n }\n }\n targetElement.ontouchmove = (event) => {\n if (event.targetTouches.length === 1) {\n handleScroll(event, targetElement)\n }\n }\n}\n\nexport const clearAllBodyScrollLocks = () => {\n locks.forEach((lock) => {\n lock.targetElement.ontouchstart = null\n lock.targetElement.ontouchmove = null\n })\n\n initialClientY = -1\n\n locks = []\n}\n","import { h } from 'preact'\n\nimport { useEffect } from 'preact/hooks'\n\nimport { isMobile } from '@utils/ua'\n\nimport { clearAllBodyScrollLocks, disableBodyScroll } from './util'\n\nimport { preventDefault } from './util'\n\nexport default function LockBodyScroll({\n shouldLockScroll,\n allowScrollElementClassLists = [],\n}) {\n const handleGestureStart = (e) => {\n e.preventDefault()\n }\n\n const lockScroll = () => {\n if (isMobile) {\n allowScrollElementClassLists.forEach((className) => {\n disableBodyScroll(document.querySelector(`.${className}`))\n })\n\n document.addEventListener('touchmove', preventDefault, { passive: false })\n }\n\n document.addEventListener('gesturestart', handleGestureStart)\n document.documentElement.classList.add('lock-scroll')\n }\n\n const releaseScroll = () => {\n if (isMobile) {\n clearAllBodyScrollLocks()\n document.removeEventListener('touchmove', preventDefault, {\n passive: false,\n })\n }\n\n document.removeEventListener('gesturestart', handleGestureStart)\n document.documentElement.classList.remove('lock-scroll')\n }\n\n useEffect(() => {\n if (shouldLockScroll) {\n lockScroll()\n } else {\n releaseScroll()\n }\n\n return () => {\n document.removeEventListener('gesturestart', handleGestureStart)\n }\n }, [shouldLockScroll])\n\n if (!shouldLockScroll) {\n return null\n }\n\n return (\n \n )\n}\n","import { h, Fragment } from 'preact'\n\nimport iconStyle from '@styles/icon.module.css'\n\nimport cookieSettingStyle from './CookieSetting/style.module.css'\nimport style from './style.module.css'\n\nimport CookieSettingContainer from './CookieSetting'\nimport LockBodyScroll from './LockBodyScroll'\n\nimport useI18NText from './hooks/useI18NText'\n\nexport default function Template({\n isApp,\n cookieSetting,\n shouldShowConsentBanner,\n setShouldShowConsentBanner,\n isOpenCookieSetting,\n setIsOpenCookieSetting,\n handleOnClickPolicyLink,\n handleOnClickCookiePolicyLink,\n handleOnClickAccept,\n handleOnOpenCookieSetting,\n}) {\n const text = useI18NText('consentBanner')\n\n return (\n \n {shouldShowConsentBanner && (\n
\n
\n
\n \n
\n\n

\n {text.title} {text.description}\n
\n \n {text.policyBtn}\n {' '}\n {text.separator}{' '}\n \n {text.cookiePolicyBtn}\n \n

\n
\n \n {text.acceptBtn}\n \n \n \n \n
\n
\n
\n )}\n\n {isOpenCookieSetting && (\n \n )}\n \n
\n )\n}\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".xWvN5djAVvh2Y1c4pExj {\\n background-color: #F0F4F7;\\n font-size: 14px;\\n color: #292B2C;\\n border-radius: 5px;\\n margin-bottom: 5px;\\n padding: 9px 15px 9px 13px;\\n}\\n\\n.xWvN5djAVvh2Y1c4pExj:nth-last-of-type(1) {\\n margin-bottom: 0;\\n}\\n\\n/* smallest */\\n@media only screen and (max-width: 350px) {\\n .xWvN5djAVvh2Y1c4pExj {\\n padding: 9px 10px 9px 9px;\\n }\\n .xWvN5djAVvh2Y1c4pExj .pR5gotwi3WBTSQP7XJEX {\\n grid-gap: 8px;\\n }\\n .xWvN5djAVvh2Y1c4pExj .B32PwlTrz1H0Pu2CL46r {\\n grid-gap: 8px;\\n }\\n}\\n\\n.BCMQw_PfAnGGTU_ICfP5 {\\n display: flex;\\n align-items: center;\\n font-size: 9px;\\n cursor: pointer;\\n}\\n\\n._VDFIAHx7k3PxGugxpyH {\\n color: #0076F1;\\n}\\n\\n.pR5gotwi3WBTSQP7XJEX {\\n display: grid;\\n grid-template-columns: auto 50px;\\n grid-gap: 10px;\\n}\\n\\n.B32PwlTrz1H0Pu2CL46r {\\n display: grid;\\n grid-template-columns: 10px auto;\\n grid-gap: 10px;\\n}\\n\\n.lMwVz71vOqJVaDexNGKb {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 16px;\\n margin: 0;\\n cursor: pointer;\\n padding: 0;\\n}\\n\\n.Bcjo3xJbCw2JFSICxxa5 {\\n display: block;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 400;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .lMwVz71vOqJVaDexNGKb {\\n font-size: 11px;\\n line-height: 13px;\\n}\\n\\n.XWVBZuesctYmKe5ZHNag {\\n font-size: 12px;\\n line-height: 17px;\\n opacity: 0.6;\\n margin-top: 5px;\\n margin-left: 20px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .XWVBZuesctYmKe5ZHNag {\\n font-size: 10px;\\n line-height: 14px;\\n}\\n\\n.RwvDu5Ft9whtT0fjR4od {\\n display: flex;\\n align-items: center;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/CookieSetting/components/ItemCookie/style.module.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,yBAAyB;IACzB,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,0BAA0B;AAC9B;;AAEA;IACI,gBAAgB;AACpB;;AAEA,aAAa;AACb;IACI;QACI,yBAAyB;IAC7B;IACA;QACI,aAAa;IACjB;IACA;QACI,aAAa;IACjB;AACJ;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,eAAe;AACnB;;AAEA;IACI,cAAc;AAClB;;AAEA;IACI,aAAa;IACb,gCAAgC;IAChC,cAAc;AAClB;;AAEA;IACI,aAAa;IACb,gCAAgC;IAChC,cAAc;AAClB;;AAEA;IACI,qCAAqC;IACrC,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,SAAS;IACT,eAAe;IACf,UAAU;AACd;;AAEA;IACI,cAAc;IACd,qCAAqC;IACrC,gBAAgB;AACpB;;AAEA;IACI,eAAe;IACf,iBAAiB;AACrB;;AAEA;IACI,eAAe;IACf,iBAAiB;IACjB,YAAY;IACZ,eAAe;IACf,iBAAiB;AACrB;;AAEA;IACI,eAAe;IACf,iBAAiB;AACrB;;AAEA;IACI,aAAa;IACb,mBAAmB;AACvB\",\"sourcesContent\":[\".itemCookie {\\n background-color: #F0F4F7;\\n font-size: 14px;\\n color: #292B2C;\\n border-radius: 5px;\\n margin-bottom: 5px;\\n padding: 9px 15px 9px 13px;\\n}\\n\\n.itemCookie:nth-last-of-type(1) {\\n margin-bottom: 0;\\n}\\n\\n/* smallest */\\n@media only screen and (max-width: 350px) {\\n .itemCookie {\\n padding: 9px 10px 9px 9px;\\n }\\n .itemCookie .menu {\\n grid-gap: 8px;\\n }\\n .itemCookie .menuItem {\\n grid-gap: 8px;\\n }\\n}\\n\\n.expandIcon {\\n display: flex;\\n align-items: center;\\n font-size: 9px;\\n cursor: pointer;\\n}\\n\\n.expandIconActive {\\n color: #0076F1;\\n}\\n\\n.menu {\\n display: grid;\\n grid-template-columns: auto 50px;\\n grid-gap: 10px;\\n}\\n\\n.menuItem {\\n display: grid;\\n grid-template-columns: 10px auto;\\n grid-gap: 10px;\\n}\\n\\n.modalTitle {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 16px;\\n margin: 0;\\n cursor: pointer;\\n padding: 0;\\n}\\n\\n.modalTitleSpan {\\n display: block;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 400;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .modalTitle {\\n font-size: 11px;\\n line-height: 13px;\\n}\\n\\n.detail {\\n font-size: 12px;\\n line-height: 17px;\\n opacity: 0.6;\\n margin-top: 5px;\\n margin-left: 20px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .detail {\\n font-size: 10px;\\n line-height: 14px;\\n}\\n\\n.switchButton {\\n display: flex;\\n align-items: center;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"itemCookie\": \"xWvN5djAVvh2Y1c4pExj\",\n\t\"menu\": \"pR5gotwi3WBTSQP7XJEX\",\n\t\"menuItem\": \"B32PwlTrz1H0Pu2CL46r\",\n\t\"expandIcon\": \"BCMQw_PfAnGGTU_ICfP5\",\n\t\"expandIconActive\": \"_VDFIAHx7k3PxGugxpyH\",\n\t\"modalTitle\": \"lMwVz71vOqJVaDexNGKb\",\n\t\"modalTitleSpan\": \"Bcjo3xJbCw2JFSICxxa5\",\n\t\"detail\": \"XWVBZuesctYmKe5ZHNag\",\n\t\"switchButton\": \"RwvDu5Ft9whtT0fjR4od\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".ADNs0CIlWK5ioqNPebkM {\\n background-color: #B0B0B0;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 10px;\\n color: #fff;\\n text-align: center;\\n line-height: 12px;\\n width: 50px;\\n height: 20px;\\n padding-left: 20px;\\n border: 0;\\n border-radius: 10px;\\n position: relative;\\n outline: none;\\n cursor: pointer;\\n}\\n.ADNs0CIlWK5ioqNPebkM:before {\\n display: block;\\n content: '';\\n background-color: #fff;\\n width: 18px;\\n height: 18px;\\n border-radius: 50%;\\n position: absolute;\\n left: 1px;\\n bottom: 1px;\\n transition: 0.2s;\\n}\\n.ADNs0CIlWK5ioqNPebkM:disabled,\\n.ADNs0CIlWK5ioqNPebkM[disabled] {\\n opacity: 0.4;\\n cursor: not-allowed;\\n}\\n\\n.YiH_4esN_AH9ya6CaUAm {\\n background-color: #0076F1;\\n padding-left: 0;\\n padding-right: 13px;\\n}\\n\\n.YiH_4esN_AH9ya6CaUAm:before {\\n left: auto;\\n transform: translateX(31px);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/CookieSetting/components/SwitchBtn/style.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,yBAAyB;EACzB,qCAAqC;EACrC,gBAAgB;EAChB,eAAe;EACf,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,mBAAmB;EACnB,kBAAkB;EAClB,aAAa;EACb,eAAe;AACjB;AACA;EACE,cAAc;EACd,WAAW;EACX,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,kBAAkB;EAClB,SAAS;EACT,WAAW;EACX,gBAAgB;AAClB;AACA;;EAEE,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,yBAAyB;EACzB,eAAe;EACf,mBAAmB;AACrB;;AAEA;EACE,UAAU;EACV,2BAA2B;AAC7B\",\"sourcesContent\":[\".switchBtn {\\n background-color: #B0B0B0;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 10px;\\n color: #fff;\\n text-align: center;\\n line-height: 12px;\\n width: 50px;\\n height: 20px;\\n padding-left: 20px;\\n border: 0;\\n border-radius: 10px;\\n position: relative;\\n outline: none;\\n cursor: pointer;\\n}\\n.switchBtn:before {\\n display: block;\\n content: '';\\n background-color: #fff;\\n width: 18px;\\n height: 18px;\\n border-radius: 50%;\\n position: absolute;\\n left: 1px;\\n bottom: 1px;\\n transition: 0.2s;\\n}\\n.switchBtn:disabled,\\n.switchBtn[disabled] {\\n opacity: 0.4;\\n cursor: not-allowed;\\n}\\n\\n.switchBtnActive {\\n background-color: #0076F1;\\n padding-left: 0;\\n padding-right: 13px;\\n}\\n\\n.switchBtnActive:before {\\n left: auto;\\n transform: translateX(31px);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"switchBtn\": \"ADNs0CIlWK5ioqNPebkM\",\n\t\"switchBtnActive\": \"YiH_4esN_AH9ya6CaUAm\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mb2g1PxxKX7RwNbeXLXe::-webkit-scrollbar,\\n.WtIdDCQAW2O7MCpqEsjE::-webkit-scrollbar {\\n width: 5px;\\n}\\n.mb2g1PxxKX7RwNbeXLXe::-webkit-scrollbar-thumb,\\n.WtIdDCQAW2O7MCpqEsjE::-webkit-scrollbar-thumb {\\n background-color: #D1D4D9;\\n border-radius: 3px;\\n}\\n.mb2g1PxxKX7RwNbeXLXe::-webkit-scrollbar-track {\\n background-color: #F0F4F7;\\n border-radius: 3px;\\n}\\n\\n\\n.wfFWrCasupLqL4ZdyKmC {\\n background: transparent;\\n font-size: 15px;\\n color: #fff;\\n position: absolute;\\n top: 8px;\\n right: 8px;\\n padding: 0;\\n border: 0;\\n z-index: 5;\\n outline: none;\\n cursor: pointer;\\n}\\n\\n.JyYLsOnjYsCoxMMhz0bQ {\\n display: block;\\n width: 440px;\\n height: auto;\\n position: relative;\\n}\\n\\n.JyYLsOnjYsCoxMMhz0bQ * {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n box-sizing: border-box;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .JyYLsOnjYsCoxMMhz0bQ {\\n width: 100%;\\n}\\n\\n.RfdeMLsKdmjEjqr6Ru6z {\\n background-color: #0076F1;\\n color: #fff;\\n line-height: 21px;\\n padding: 8px 20px;\\n}\\n\\n.HdcvqhHGbAjHUxmNL95w {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 18px;\\n color: #fff;\\n}\\n\\n.l6JGZaMMxsX2OuFakEyk {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 400;\\n font-size: 14px;\\n margin: 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .RfdeMLsKdmjEjqr6Ru6z {\\n line-height: 18px;\\n padding: 13px 12px 9px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .HdcvqhHGbAjHUxmNL95w {\\n font-size: 14px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .l6JGZaMMxsX2OuFakEyk {\\n font-size: 11px;\\n}\\n\\n.H4VZzuZOM3gYGs5zZA8H {\\n background-color: #fff;\\n}\\n\\n.eVF4Q_pXwzq2dJxv3IU_ {\\n font-size: 14px;\\n padding: 10px 20px 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .eVF4Q_pXwzq2dJxv3IU_ {\\n padding: 5px 12px 0;\\n}\\n\\n.mb2g1PxxKX7RwNbeXLXe {\\n box-sizing: border-box;\\n overflow-y: scroll;\\n width: calc(100% + 15px);\\n height: 215px;\\n margin-bottom: 10px;\\n margin-right: -10px;\\n padding-right: 10px;\\n}\\n\\n\\nhtml[cb-device=\\\"mobile\\\"] .mb2g1PxxKX7RwNbeXLXe {\\n width: calc(100% + 8px);\\n height: 192px;\\n margin-bottom: 5px;\\n margin-right: -4px;\\n padding-right: 4px;\\n}\\n\\n._LPQuHjrCP6_0jfthSRj {\\n display: block;\\n width: 100%;\\n max-height: 159px;\\n border: 1px solid #f0f4f7;\\n border-radius: 5px;\\n padding: 4px 5px 7px;\\n color: #292B2C;\\n}\\nhtml[cb-device=\\\"mobile\\\"] ._LPQuHjrCP6_0jfthSRj {\\n max-height: 98px;\\n padding: 6px 5px;\\n color: #292b2c;\\n}\\n\\n._LPQuHjrCP6_0jfthSRj .caSS4dpMTIJLbs_mG48b {\\n font-size: 12px;\\n line-height: 16px;\\n margin-bottom: 5px;\\n}\\nhtml[cb-device=\\\"mobile\\\"] ._LPQuHjrCP6_0jfthSRj .caSS4dpMTIJLbs_mG48b {\\n font-size: 10px;\\n line-height: 12px;\\n}\\n\\n._LPQuHjrCP6_0jfthSRj .caSS4dpMTIJLbs_mG48b:nth-last-of-type(1) {\\n margin-bottom: 0;\\n}\\n\\n\\n.WtIdDCQAW2O7MCpqEsjE {\\n max-height: 145px;\\n overflow-y: scroll;\\n padding: 3px 5px 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .WtIdDCQAW2O7MCpqEsjE {\\n max-height: 86px;\\n padding-bottom: 2px;\\n}\\n\\n.QA3mbyCnokcsAYhEukd6 {\\n display: flex;\\n justify-content: space-between;\\n padding: 10px 20px;\\n}\\n\\n.c7R7oqFcbI0z6obDXrWl {\\n display: inline-block;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 12px;\\n width: 120px;\\n height: 30px;\\n border-radius: 15.5px;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n position: relative;\\n transition: all 0.2s linear; \\n text-align: center;\\n}\\n\\n.c7R7oqFcbI0z6obDXrWl span {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n line-height: 31px;\\n}\\n\\n.c7R7oqFcbI0z6obDXrWl:focus {\\n border: 0;\\n outline: 0;\\n padding: 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .QA3mbyCnokcsAYhEukd6 {\\n padding: 7px 12px 8px;\\n}\\n\\n.iojIjeRvz1uloZ1Dy1LQ {\\n background-color: #EBECEE;\\n color: #090909;\\n}\\n\\nhtml[cb-device=\\\"desktop\\\"] .iojIjeRvz1uloZ1Dy1LQ:hover {\\n background-color: #EBECEE;\\n filter: brightness(92%);\\n}\\n\\n._1eR2chBJeZVZQxAuQieY {\\n background-color: #0076F1;\\n color: #fff;\\n}\\n\\nhtml[cb-device=\\\"desktop\\\"] ._1eR2chBJeZVZQxAuQieY:hover {\\n background-color: #0076F1;\\n filter: brightness(111%);\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/CookieSetting/style.module.css\"],\"names\":[],\"mappings\":\"AAAA;;EAEE,UAAU;AACZ;AACA;;EAEE,yBAAyB;EACzB,kBAAkB;AACpB;AACA;EACE,yBAAyB;EACzB,kBAAkB;AACpB;;;AAGA;EACE,uBAAuB;EACvB,eAAe;EACf,WAAW;EACX,kBAAkB;EAClB,QAAQ;EACR,UAAU;EACV,UAAU;EACV,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,cAAc;EACd,YAAY;EACZ,YAAY;EACZ,kBAAkB;AACpB;;AAEA;EACE,6CAA6C;EAC7C,sBAAsB;AACxB;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,yBAAyB;EACzB,WAAW;EACX,iBAAiB;EACjB,iBAAiB;AACnB;;AAEA;EACE,qCAAqC;EACrC,gBAAgB;EAChB,eAAe;EACf,WAAW;AACb;;AAEA;EACE,qCAAqC;EACrC,gBAAgB;EAChB,eAAe;EACf,SAAS;AACX;;AAEA;EACE,iBAAiB;EACjB,sBAAsB;AACxB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,eAAe;EACf,oBAAoB;AACtB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,sBAAsB;EACtB,kBAAkB;EAClB,wBAAwB;EACxB,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,mBAAmB;AACrB;;;AAGA;EACE,uBAAuB;EACvB,aAAa;EACb,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,cAAc;EACd,WAAW;EACX,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;EAClB,oBAAoB;EACpB,cAAc;AAChB;AACA;EACE,gBAAgB;EAChB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;AAClB;;;AAGA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,mBAAmB;AACrB;;AAEA;EACE,aAAa;EACb,8BAA8B;EAC9B,kBAAkB;AACpB;;AAEA;EACE,qBAAqB;EACrB,qCAAqC;EACrC,gBAAgB;EAChB,eAAe;EACf,YAAY;EACZ,YAAY;EACZ,qBAAqB;EACrB,SAAS;EACT,UAAU;EACV,eAAe;EACf,kBAAkB;EAClB,2BAA2B;EAC3B,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,QAAQ;EACR,iBAAiB;AACnB;;AAEA;EACE,SAAS;EACT,UAAU;EACV,UAAU;AACZ;;AAEA;EACE,qBAAqB;AACvB;;AAEA;EACE,yBAAyB;EACzB,cAAc;AAChB;;AAEA;EACE,yBAAyB;EACzB,uBAAuB;AACzB;;AAEA;EACE,yBAAyB;EACzB,WAAW;AACb;;AAEA;EACE,yBAAyB;EACzB,wBAAwB;AAC1B\",\"sourcesContent\":[\".modalSetting::-webkit-scrollbar,\\n.descScroll::-webkit-scrollbar {\\n width: 5px;\\n}\\n.modalSetting::-webkit-scrollbar-thumb,\\n.descScroll::-webkit-scrollbar-thumb {\\n background-color: #D1D4D9;\\n border-radius: 3px;\\n}\\n.modalSetting::-webkit-scrollbar-track {\\n background-color: #F0F4F7;\\n border-radius: 3px;\\n}\\n\\n\\n.closeBtn {\\n background: transparent;\\n font-size: 15px;\\n color: #fff;\\n position: absolute;\\n top: 8px;\\n right: 8px;\\n padding: 0;\\n border: 0;\\n z-index: 5;\\n outline: none;\\n cursor: pointer;\\n}\\n\\n.CookieSetting {\\n display: block;\\n width: 440px;\\n height: auto;\\n position: relative;\\n}\\n\\n.CookieSetting * {\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n box-sizing: border-box;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSetting {\\n width: 100%;\\n}\\n\\n.CookieSettingHeader {\\n background-color: #0076F1;\\n color: #fff;\\n line-height: 21px;\\n padding: 8px 20px;\\n}\\n\\n.CookieSettingHeaderTitle {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 18px;\\n color: #fff;\\n}\\n\\n.CookieSettingHeaderParagraph {\\n font-family: sukhumvit-consent-banner;\\n font-weight: 400;\\n font-size: 14px;\\n margin: 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSettingHeader {\\n line-height: 18px;\\n padding: 13px 12px 9px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSettingHeaderTitle {\\n font-size: 14px;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSettingHeaderParagraph {\\n font-size: 11px;\\n}\\n\\n.CookieSettingBg {\\n background-color: #fff;\\n}\\n\\n.CookieSettingBody {\\n font-size: 14px;\\n padding: 10px 20px 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSettingBody {\\n padding: 5px 12px 0;\\n}\\n\\n.modalSetting {\\n box-sizing: border-box;\\n overflow-y: scroll;\\n width: calc(100% + 15px);\\n height: 215px;\\n margin-bottom: 10px;\\n margin-right: -10px;\\n padding-right: 10px;\\n}\\n\\n\\nhtml[cb-device=\\\"mobile\\\"] .modalSetting {\\n width: calc(100% + 8px);\\n height: 192px;\\n margin-bottom: 5px;\\n margin-right: -4px;\\n padding-right: 4px;\\n}\\n\\n.desc {\\n display: block;\\n width: 100%;\\n max-height: 159px;\\n border: 1px solid #f0f4f7;\\n border-radius: 5px;\\n padding: 4px 5px 7px;\\n color: #292B2C;\\n}\\nhtml[cb-device=\\\"mobile\\\"] .desc {\\n max-height: 98px;\\n padding: 6px 5px;\\n color: #292b2c;\\n}\\n\\n.desc .descParagraph {\\n font-size: 12px;\\n line-height: 16px;\\n margin-bottom: 5px;\\n}\\nhtml[cb-device=\\\"mobile\\\"] .desc .descParagraph {\\n font-size: 10px;\\n line-height: 12px;\\n}\\n\\n.desc .descParagraph:nth-last-of-type(1) {\\n margin-bottom: 0;\\n}\\n\\n\\n.descScroll {\\n max-height: 145px;\\n overflow-y: scroll;\\n padding: 3px 5px 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .descScroll {\\n max-height: 86px;\\n padding-bottom: 2px;\\n}\\n\\n.CookieSettingFooter {\\n display: flex;\\n justify-content: space-between;\\n padding: 10px 20px;\\n}\\n\\n.CookieSettingFooterButton {\\n display: inline-block;\\n font-family: sukhumvit-consent-banner;\\n font-weight: 700;\\n font-size: 12px;\\n width: 120px;\\n height: 30px;\\n border-radius: 15.5px;\\n border: 0;\\n padding: 0;\\n cursor: pointer;\\n position: relative;\\n transition: all 0.2s linear; \\n text-align: center;\\n}\\n\\n.CookieSettingFooterButton span {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n line-height: 31px;\\n}\\n\\n.CookieSettingFooterButton:focus {\\n border: 0;\\n outline: 0;\\n padding: 0;\\n}\\n\\nhtml[cb-device=\\\"mobile\\\"] .CookieSettingFooter {\\n padding: 7px 12px 8px;\\n}\\n\\n.acceptBtn {\\n background-color: #EBECEE;\\n color: #090909;\\n}\\n\\nhtml[cb-device=\\\"desktop\\\"] .acceptBtn:hover {\\n background-color: #EBECEE;\\n filter: brightness(92%);\\n}\\n\\n.saveBtn {\\n background-color: #0076F1;\\n color: #fff;\\n}\\n\\nhtml[cb-device=\\\"desktop\\\"] .saveBtn:hover {\\n background-color: #0076F1;\\n filter: brightness(111%);\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"modalSetting\": \"mb2g1PxxKX7RwNbeXLXe\",\n\t\"descScroll\": \"WtIdDCQAW2O7MCpqEsjE\",\n\t\"closeBtn\": \"wfFWrCasupLqL4ZdyKmC\",\n\t\"CookieSetting\": \"JyYLsOnjYsCoxMMhz0bQ\",\n\t\"CookieSettingHeader\": \"RfdeMLsKdmjEjqr6Ru6z\",\n\t\"CookieSettingHeaderTitle\": \"HdcvqhHGbAjHUxmNL95w\",\n\t\"CookieSettingHeaderParagraph\": \"l6JGZaMMxsX2OuFakEyk\",\n\t\"CookieSettingBg\": \"H4VZzuZOM3gYGs5zZA8H\",\n\t\"CookieSettingBody\": \"eVF4Q_pXwzq2dJxv3IU_\",\n\t\"desc\": \"_LPQuHjrCP6_0jfthSRj\",\n\t\"descParagraph\": \"caSS4dpMTIJLbs_mG48b\",\n\t\"CookieSettingFooter\": \"QA3mbyCnokcsAYhEukd6\",\n\t\"CookieSettingFooterButton\": \"c7R7oqFcbI0z6obDXrWl\",\n\t\"acceptBtn\": \"iojIjeRvz1uloZ1Dy1LQ\",\n\t\"saveBtn\": \"_1eR2chBJeZVZQxAuQieY\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".q7GPOcNHm0kKfOEHIugc {\\n font-family: base-icon-consent-banner;\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.rsdn2X9nm2Ble2rbjnGU:before {\\n content: \\\"\\\\e9ff\\\";\\n}\\n \\n.G9L_mg4cA4k59BqvS2Bb:before {\\n content: \\\"\\\\e90d\\\";\\n}\\n\\n.Hf9qu4lTf64FDQjXGjCs:before {\\n content: \\\"\\\\e99b\\\";\\n}\\n\\n.V8Xp5QeAXapu1P6XIBMM:before {\\n content: \\\"\\\\e99a\\\";\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/styles/icon.module.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,qCAAqC;IACrC,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,cAAc;;IAEd,mCAAmC;IACnC,kCAAkC;AACtC;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;AACpB;;AAEA;IACI,gBAAgB;AACpB\",\"sourcesContent\":[\".sn-icon {\\n font-family: base-icon-consent-banner;\\n speak: none;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.sn-icon--setting:before {\\n content: \\\"\\\\e9ff\\\";\\n}\\n \\n.sn-icon--cancel-s:before {\\n content: \\\"\\\\e90d\\\";\\n}\\n\\n.sn-icon--up:before {\\n content: \\\"\\\\e99b\\\";\\n}\\n\\n.sn-icon--down:before {\\n content: \\\"\\\\e99a\\\";\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"sn-icon\": \"q7GPOcNHm0kKfOEHIugc\",\n\t\"sn-icon--setting\": \"rsdn2X9nm2Ble2rbjnGU\",\n\t\"sn-icon--cancel-s\": \"G9L_mg4cA4k59BqvS2Bb\",\n\t\"sn-icon--up\": \"Hf9qu4lTf64FDQjXGjCs\",\n\t\"sn-icon--down\": \"V8Xp5QeAXapu1P6XIBMM\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","sendEventTrackingButton","isAcceptPerformance","isAcceptTargeting","isAcceptAdvertising","sendEventTracking","eventCategory","eventAction","eventLabel","useI18NText","key","text","setText","useState","useEffect","element","document","getElementById","DOM_ROOT_ID","lang","getAttribute","CONSENT_BANNER_ATTRIBUTE","SUPPORT_LANG","then","obj","default","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","style","window","getComputedStyle","getPropertyValue","scrollWidth","scrollHeight","exception","console","warn","tabbable","tabIndex","isTabIndexNaN","isNaN","isTabIndexNotNaN","nodeName","toLowerCase","test","disabled","href","parentElement","rootNode","getRootNode","body","host","parentNode","visible","focusable","findTabbableDescendants","slice","call","querySelectorAll","reduce","finished","el","concat","shadowRoot","filter","focusLaterElements","modalElement","needToFocus","handleBlur","handleFocus","setTimeout","contains","activeElement","findTabbable","focus","getActiveElement","scopeTab","node","event","length","preventDefault","target","shiftKey","head","tail","checkSafari","exec","navigator","userAgent","x","indexOf","globalElement","validateElement","appElement","Array","isArray","HTMLCollection","NodeList","htmlClassList","docBodyClassList","add","classString","trackClass","classListRef","classList","poll","split","forEach","className","incrementReference","remove","untrackClass","decrementReference","constructor","openInstance","this","openInstances","push","emit","index","splice","callback","subscribers","eventType","subscriber","before","after","instances","focusContent","portalOpenInstances","createElement","setAttribute","position","opacity","addEventListener","cloneNode","firstChild","insertBefore","lastChild","appendChild","removeChild","CLASS_NAMES","overlay","content","ariaHiddenInstances","bodyOpenClassName","ModalPortal","Component","props","super","overlayRef","contentRef","htmlOpenClassName","getElementsByTagName","removeAttribute","ariaAppHider","preventScroll","toFocus","pop","e","join","focusManager","removeEventListener","detachEvent","onAfterClose","beforeOpen","state","afterOpen","beforeClose","clearTimeout","closeTimer","setState","attachEvent","isOpen","openAnimationFrame","requestAnimationFrame","onAfterOpen","overlayEl","contentEl","closeWithoutTimeout","contentHasFocus","closesAt","Date","now","closeTimeoutMS","afterClose","keyCode","stopPropagation","requestClose","shouldClose","ownerHandlesClose","onRequestClose","which","additional","classNames","base","prefix","items","Object","keys","acc","name","moveFromContentToOverlay","componentDidMount","open","componentDidUpdate","prevProps","prevState","close","componentWillUnmount","cancelAnimationFrame","render","id","overlayClassName","defaultStyles","children","contentStyles","overlayStyles","shouldBeClosed","overlayProps","ref","setOverlayRef","buildClassName","onClick","handleOverlayOnClick","contentProps","setContentRef","onKeyDown","handleKeyDown","onMouseDown","handleContentOnMouseDown","onMouseUp","handleContentOnMouseUp","handleContentOnClick","role","contentLabel","attributesFromObject","modal","aria","data","contentElement","Modal","useRef","current","createPortal","setAppElement","useElement","nodeList","selector","Error","assertNodeList","onToggle","isShow","title","subTitle","detail","cx","iconStyle","isAccept","modalStyle","top","left","right","bottom","backgroundColor","zIndex","background","marginRight","marginTop","transform","overflow","borderRadius","border","width","maxWidth","height","padding","boxShadow","Template","isOpenCookieSetting","onToggleTargeting","onTogglePerformance","onToggleAdvertising","isShowDetailSanookWebsiteCookie","isShowDetailPerformanceCookie","isShowDetailTargetingCookie","isShowDetailAdvertisingCookie","onToggleDetailSanookWebsiteCookie","onToggleDetailPerformanceCookie","onToggleDetailTargetingCookie","onToggleDetailAdvertisingCookie","onCloseModal","onClickOutsideModal","onAcceptAll","onSave","cookies","necessary","description","performance","targeting","advertising","acceptAllBtn","saveBtn","COOKIE_SETTING_TYPE","CookieSettingContainer","cookieSetting","setIsOpenCookieSetting","setShouldShowConsentBanner","setIsAcceptPerformance","setIsAcceptTargeting","setIsAcceptAdvertising","setIsShowDetailSanookWebsiteCookie","setIsShowDetailPerformanceCookie","setIsShowDetailTargetingCookie","setIsShowDetailAdvertisingCookie","prev","setCookieSetting","IS_ACCEPT_CONSENT_BANNER","refreshCookieSetting","updateSaAndDcCookie","COOKIE_STATUS","updateAdsCookie","locks","initialClientY","rawEvent","touches","cancelable","LockBodyScroll","shouldLockScroll","allowScrollElementClassLists","handleGestureStart","isMobile","targetElement","some","lock","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","clientHeight","isTargetElementTotallyScrolled","handleScroll","disableBodyScroll","querySelector","passive","documentElement","isApp","shouldShowConsentBanner","handleOnClickPolicyLink","handleOnClickCookiePolicyLink","handleOnClickAccept","handleOnOpenCookieSetting","src","alt","policyBtn","separator","cookiePolicyBtn","type","acceptBtn","cookieSettingStyle","hasOwn","hasOwnProperty","classes","i","arguments","arg","argType","inner","apply","toString","prototype","module","exports","___CSS_LOADER_EXPORT___","locals"],"sourceRoot":""}