{"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getServiceSelection.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optInOutManager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/deleteCookiesLocally.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/apply.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getDefaultDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/manager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getUserDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/getCookie.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/explode.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/bannerPredecisionShow.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optInAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/ready.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/regExpPatternFromWildcardName.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/pregQuote.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/supportsCookies.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/dispatchResizeEvent.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/asciiSpinner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookiePropertyList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/plainAntdIconAsSvg.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/tooltip.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/blocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/poweredByLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/jsxJoin.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonFooterLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonTeachings.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useBannerOrBlocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useLegalLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/usePlainCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teaching.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teachingSeparator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/header/headline.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/scale.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/getSsrPoweredByLink.tsx","webpack:///../../frontend-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../wordpress-packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/gateway.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/supportsCookies.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/promiseTimeout.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/dynamicRequest.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/userConsent.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/isHiddenDueLegal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/index.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerStateContextCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerActionLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useResettableAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/hexToRgb.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/calculateRgba.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/animateCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRenderedHeightsAsCssVars.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerButtonCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/portal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/logo.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/sectionTitle.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/title.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/list.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/groups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroup.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupItem.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupBullet.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroupList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelectOption.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/common.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptEssentials.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptIndividual.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/save.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptAll.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/button.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/isIE.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/ellipsesText.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/buttonList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/leftSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/rightSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/animatedContent.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/inner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRestrictScrollWhenVisible.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerHistory.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/alignment.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/overlay.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerToggleOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isPreventPreDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/hasPageClass.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerConsentListener.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/printConsentUuidsToHTMLElement.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///./src/public/ts/others/deleteCookiesServer.tsx","webpack:///./src/public/ts/components/bannerProductionNotice.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/others/getCookieConsentManager.tsx","webpack:///./src/public/ts/utils/getCmpVersion.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/polyfill.tsx","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \".\";\n\n/**\n * Read the selected groups + cookies depending on the passed type.\n */\nfunction getServiceSelection(_ref) {\n var decisionCookieName = _ref.decisionCookieName,\n tagManager = _ref.tagManager,\n groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug,\n type = _ref.type;\n var selectedGroups;\n var isManagerActive = tagManager !== \"none\";\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0];\n\n var consentEssentials = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n })); // Read current consent\n\n\n if (type === \"consent\") {\n var decision = getUserDecision(decisionCookieName);\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive: isManagerActive,\n selectedGroups: selectedGroups,\n iterateCookies: function () {\n var _iterateCookies = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callback) {\n var _iterator, _step, _group, _iterator2, _step2, _selectedGroups$_grou, _cookie, _isOptIn;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 25;\n break;\n }\n\n _group = _step.value;\n _iterator2 = _createForOfIteratorHelper(_group.items);\n _context.prev = 6;\n\n _iterator2.s();\n\n case 8:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 15;\n break;\n }\n\n _cookie = _step2.value;\n _isOptIn = type === \"all\" || ((_selectedGroups$_grou = selectedGroups[_group.id]) === null || _selectedGroups$_grou === void 0 ? void 0 : _selectedGroups$_grou.indexOf(_cookie.id)) > -1;\n _context.next = 13;\n return callback(_group, _cookie, _isOptIn);\n\n case 13:\n _context.next = 8;\n break;\n\n case 15:\n _context.next = 20;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](6);\n\n _iterator2.e(_context.t0);\n\n case 20:\n _context.prev = 20;\n\n _iterator2.f();\n\n return _context.finish(20);\n\n case 23:\n _context.next = 3;\n break;\n\n case 25:\n _context.next = 30;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 30:\n _context.prev = 30;\n\n _iterator.f();\n\n return _context.finish(30);\n\n case 33:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 27, 30, 33], [6, 17, 20, 23]]);\n }));\n\n function iterateCookies(_x) {\n return _iterateCookies.apply(this, arguments);\n }\n\n return iterateCookies;\n }()\n };\n}\n\nexport { getServiceSelection };","function getManagerDependingVariables(isManagerActive, setCookiesViaManager) {\n var useVariableNameCamel;\n var useVariableNamePascal;\n var useGlobalObjectName;\n\n if (isManagerActive) {\n useVariableNameCamel = setCookiesViaManager;\n useVariableNamePascal = useVariableNameCamel.charAt(0).toUpperCase() + useVariableNameCamel.slice(1);\n var isGtm = setCookiesViaManager === \"googleTagManager\"; // const isMtm = setCookiesViaManager === \"matomoTagManager\"; // This variable is not yet needed, because we only have 2 managers\n\n useGlobalObjectName = isGtm ? \"dataLayer\" : \"_mtm\";\n }\n\n return {\n useVariableNameCamel: useVariableNameCamel,\n useVariableNamePascal: useVariableNamePascal,\n useGlobalObjectName: useGlobalObjectName\n };\n}\n\nexport { getManagerDependingVariables };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_IN_EVENT } from \"../events\";\nimport { getManagerDependingVariables } from \".\";\n\n/**\n * Opt-in to a set of cookies.\n */\nfunction applyOptIn(_x) {\n return _applyOptIn.apply(this, arguments);\n}\n\nfunction _applyOptIn() {\n _applyOptIn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options) {\n var allOptInCookies, _getServiceSelection, isManagerActive, iterateCookies, tagManager, skipOptIn, _getManagerDependingV, useGlobalObjectName, useVariableNamePascal, isManagerOptOut, dataLayerPromise, waitPromises;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n allOptInCookies = [];\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager, skipOptIn = options.skipOptIn;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useGlobalObjectName = _getManagerDependingV.useGlobalObjectName, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle managers like GTM and MTM\n\n isManagerOptOut = false;\n dataLayerPromise = Promise.resolve(undefined);\n waitPromises = []; // Handle opt-ins sequentially\n\n _context2.next = 9;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var codeDynamics, codeOptIn, rest, isManager, isOnlyWhenNoConsentToManager, isSkipOptIn;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = cookie.codeDynamics, codeOptIn = cookie.codeOptIn, rest = _objectWithoutProperties(cookie, [\"codeDynamics\", \"codeOptIn\"]);\n isManager = isManagerActive && rest[\"thisIs\".concat(useVariableNamePascal)];\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n isSkipOptIn = typeof skipOptIn === \"function\" ? skipOptIn(cookie) : false;\n\n if (!isOnlyWhenNoConsentToManager && !isSkipOptIn) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: {\n group: group,\n cookie: cookie\n }\n }));\n allOptInCookies.push({\n group: group,\n cookie: cookie\n });\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 9:\n return _context2.abrupt(\"return\", {\n isManagerOptOut: isManagerOptOut,\n dataLayerPromise: dataLayerPromise,\n cookies: allOptInCookies,\n ready: Promise.all(waitPromises)\n });\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptIn.apply(this, arguments);\n}\n\nexport { applyOptIn };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { getManagerDependingVariables } from \".\";\n/**\n * Opt-in and opt-out to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptInOutManager(_x, _x2, _x3) {\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nfunction _applyOptInOutManager() {\n _applyOptInOutManager = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, dataLayer, isManagerOptOut) {\n var waitPromises, _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNameCamel, useVariableNamePascal;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n waitPromises = [];\n /* onlypro:start */\n\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNameCamel = _getManagerDependingV.useVariableNameCamel, useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (!dataLayer) {\n _context2.next = 11;\n break;\n }\n\n // Opt-in events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"InEventName\")];\n\n if (isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptInEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n }); // Wait x seconds\n\n _context2.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, 1000);\n });\n\n case 8:\n // Opt-out events\n iterateCookies(function (group, cookie, isOptIn) {\n var event = cookie[\"\".concat(useVariableNameCamel, \"OutEventName\")];\n\n if (!isOptIn && event) {\n dataLayer.push({\n realCookieBannerOptOutEvents: _defineProperty({}, event, true),\n event: event\n });\n }\n });\n _context2.next = 14;\n break;\n\n case 11:\n if (!(isManagerActive && isManagerOptOut)) {\n _context2.next = 14;\n break;\n }\n\n _context2.next = 14;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, _ref, isOptIn) {\n var codeDynamics, codeOptIn, rest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n codeDynamics = _ref.codeDynamics, codeOptIn = _ref.codeOptIn, rest = _objectWithoutProperties(_ref, [\"codeDynamics\", \"codeOptIn\"]);\n\n if (isOptIn && rest[\"codeOptInNo\".concat(useVariableNamePascal)]) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x4, _x5, _x6) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n case 14:\n return _context2.abrupt(\"return\", {\n ready: Promise.all(waitPromises)\n });\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptInOutManager.apply(this, arguments);\n}\n\nexport { applyOptInOutManager };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"../utils\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n var _iterator = _createForOfIteratorHelper(technicalDefinitions),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n type = _step$value.type,\n name = _step$value.name;\n // Create valid Regxp pattern\n var pattern = new RegExp(regExpPatternFromWildcardName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (var _i = 0, _Object$keys = Object.keys(Cookie.get()); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n var useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (var _i2 = 0, _Object$keys2 = Object.keys(useStorage); _i2 < _Object$keys2.length; _i2++) {\n var itemName = _Object$keys2[_i2];\n\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n var tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n}\n\nexport { deleteCookiesLocally };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_OUT_EVENT } from \"../events\";\nimport { deleteCookiesLocally, getManagerDependingVariables } from \".\";\n/**\n * Opt-in to a set of cookies for a given data manager like GTM / MTM.\n */\n\nfunction applyOptOut(_x, _x2) {\n return _applyOptOut.apply(this, arguments);\n}\n\nfunction _applyOptOut() {\n _applyOptOut = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(options, isManagerOptOut) {\n var _getServiceSelection, isManagerActive, iterateCookies, tagManager, _getManagerDependingV, useVariableNamePascal, deleteHttpCookies;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _getServiceSelection = getServiceSelection(options), isManagerActive = _getServiceSelection.isManagerActive, iterateCookies = _getServiceSelection.iterateCookies;\n tagManager = options.tagManager;\n _getManagerDependingV = getManagerDependingVariables(isManagerActive, tagManager), useVariableNamePascal = _getManagerDependingV.useVariableNamePascal; // Handle opt-outs sequentially\n\n deleteHttpCookies = [];\n _context2.next = 6;\n return iterateCookies( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(group, cookie, isOptIn) {\n var id, codeDynamics, codeOptOut, codeOptOutDelete, noTechnicalDefinitions, technicalDefinitions, rest, isOnlyWhenNoConsentToManager;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n id = cookie.id, codeDynamics = cookie.codeDynamics, codeOptOut = cookie.codeOptOut, codeOptOutDelete = cookie.codeOptOutDelete, noTechnicalDefinitions = cookie.noTechnicalDefinitions, technicalDefinitions = cookie.technicalDefinitions, rest = _objectWithoutProperties(cookie, [\"id\", \"codeDynamics\", \"codeOptOut\", \"codeOptOutDelete\", \"noTechnicalDefinitions\", \"technicalDefinitions\"]);\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n isOnlyWhenNoConsentToManager = isManagerActive && rest[\"codeOptInNo\".concat(useVariableNamePascal)];\n\n if (isOnlyWhenNoConsentToManager && !isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n putHtmlCodeToDom(codeOptOut, codeDynamics);\n }\n\n if (codeOptOutDelete && !noTechnicalDefinitions) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side cookies\n\n // Mark deletable server-side cookies\n if (technicalDefinitions.some(function (_ref2) {\n var type = _ref2.type;\n return type === \"http\";\n })) {\n deleteHttpCookies.push(id);\n }\n }\n\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: {\n group: group,\n cookie: cookie,\n deleteHttpCookies: deleteHttpCookies\n }\n }));\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n }());\n\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _applyOptOut.apply(this, arguments);\n}\n\nexport { applyOptOut };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { OPT_IN_ALL_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n/**\n * Apply cookies on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All cookies are applied (e. g. bots)\n * - `consent`: All cookies from the current consent (read from cookie)\n *\n * The cookies are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nfunction apply(_x) {\n return _apply.apply(this, arguments);\n}\n\nfunction _apply() {\n _apply = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options) {\n var _yield$applyOptIn, dataLayerPromise, isManagerOptOut, cookies, applyOptInReady, _yield$applyOptInOutM, applyOptInOutManagerReady, optInAllReady;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ready();\n\n case 2:\n _context.next = 4;\n return applyOptIn(options);\n\n case 4:\n _yield$applyOptIn = _context.sent;\n dataLayerPromise = _yield$applyOptIn.dataLayerPromise;\n isManagerOptOut = _yield$applyOptIn.isManagerOptOut;\n cookies = _yield$applyOptIn.cookies;\n applyOptInReady = _yield$applyOptIn.ready;\n _context.t0 = applyOptInOutManager;\n _context.t1 = options;\n _context.next = 13;\n return dataLayerPromise;\n\n case 13:\n _context.t2 = _context.sent;\n _context.t3 = isManagerOptOut;\n _context.next = 17;\n return (0, _context.t0)(_context.t1, _context.t2, _context.t3);\n\n case 17:\n _yield$applyOptInOutM = _context.sent;\n applyOptInOutManagerReady = _yield$applyOptInOutM.ready;\n optInAllReady = Promise.all([applyOptInReady, applyOptInOutManagerReady]);\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n cookies: cookies,\n ready: optInAllReady\n }\n })); // Do opt-out\n\n _context.next = 23;\n return applyOptOut(options, isManagerOptOut);\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _apply.apply(this, arguments);\n}\n\nexport { apply };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\n/**\n * Get the default decision and respect essential group and legitimate interests.\n */\nfunction getDefaultDecision(_ref) {\n var groups = _ref.groups,\n essentialGroupSlug = _ref.essentialGroupSlug;\n var respectLegitimateInterests = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var _groups$filter = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug === essentialGroupSlug;\n }),\n _groups$filter2 = _slicedToArray(_groups$filter, 1),\n essentialGroupObj = _groups$filter2[0]; // We need always use the current essential group\n\n\n var result = _defineProperty({}, essentialGroupObj.id, essentialGroupObj.items.map(function (_ref3) {\n var id = _ref3.id;\n return id;\n }));\n\n if (respectLegitimateInterests) {\n var _iterator = _createForOfIteratorHelper(groups),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var group = _step.value;\n\n if (group === essentialGroupObj) {\n continue;\n }\n\n var ids = group.items.filter(function (_ref4) {\n var legalBasis = _ref4.legalBasis;\n return legalBasis === \"legitimate-interest\";\n }).map(function (_ref5) {\n var id = _ref5.id;\n return id;\n });\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { apply } from \".\";\nimport { getDefaultDecision as _getDefaultDecision, getUserDecision as _getUserDecision } from \"..\";\n\n/**\n * Main class to manage cookie consents within your application.\n */\nvar CookieConsentManager = /*#__PURE__*/function () {\n function CookieConsentManager(options) {\n _classCallCheck(this, CookieConsentManager);\n\n this.options = void 0;\n this.options = options;\n }\n\n _createClass(CookieConsentManager, [{\n key: \"applyCookies\",\n value: function applyCookies(options) {\n return apply(_objectSpread(_objectSpread({}, options), this.options));\n }\n }, {\n key: \"getUserDecision\",\n value: function getUserDecision() {\n return _getUserDecision(this.getOption(\"decisionCookieName\"));\n }\n }, {\n key: \"getDefaultDecision\",\n value: function getDefaultDecision() {\n var respectLegitimateInterests = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return _getDefaultDecision(this.options, respectLegitimateInterests);\n }\n }, {\n key: \"getOption\",\n value: function getOption(name) {\n return this.options[name];\n }\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n return this.options;\n }\n }]);\n\n return CookieConsentManager;\n}();\n\nexport { CookieConsentManager };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { explode, getCookie, supportsCookies } from \"../utils\";\n\n/**\n * Get current user decision from the cookie value in a minimal form.\n */\nfunction getUserDecision(cookieName) {\n var cookieValue = getCookie(cookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n var split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n var _split = _slicedToArray(split, 2),\n uuidString = _split[0],\n revision = _split[1];\n\n var uuids = uuidString.split(\",\");\n var uuid = uuids.shift();\n var consent = JSON.parse(split[2]);\n return {\n uuid: uuid,\n previousUuids: uuids,\n revision: revision,\n consent: consent\n };\n}\n\nexport { getUserDecision };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n\n/**\n * Get cookie by name. Please keep in mind you need to `decodeURIComponent` the value in some cases!\n *\n * @param cname\n * @see https://stackoverflow.com/questions/10730362/get-cookie-by-name\n * @see https://stackoverflow.com/a/25490531/5506547\n */\nfunction getCookie(cname) {\n var decode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // In some cases there could be cookies with the same name in `document.cooke` -> take the last one\n var matches = _toConsumableArray(document.cookie.matchAll(new RegExp(\"(^|;)\\\\s*\".concat(cname, \"\\\\s*=\\\\s*([^;]+)\"), \"g\")));\n\n if (!matches.length) {\n return \"\";\n }\n\n var value = matches // Last match in `document.cookie`\n .pop() // Value of regex match\n .pop();\n return decode ? decodeURIComponent(value) : value;\n}\n\nexport { getCookie };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n var split = string.split(separator);\n if (split.length <= n) return split;\n var out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport var BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export var OPT_IN_EVENT = \"RCB/OptIn\";","export var OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export var OPT_OUT_EVENT = \"RCB/OptOut\";","/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\nvar ready = function ready(fn) {\n var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"complete\";\n return new Promise(function (resolve) {\n var cb = function cb() {\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n if (document.readyState === state) {\n cb();\n } else {\n document.addEventListener(\"readystatechange\", function () {\n if (document.readyState === state) {\n cb();\n }\n });\n }\n });\n};\n\nexport { ready };","import { pregQuote } from \".\";\n/**\n * Create regular expression pattern from a string like `my_test*` and replace asterisks\n * with `(.*)`.\n */\n\nfunction regExpPatternFromWildcardName(name) {\n var tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { regExpPatternFromWildcardName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\nfunction supportsCookies() {\n var cookieName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"test\";\n\n try {\n document.cookie = \"\".concat(cookieName, \"=1\");\n var result = document.cookie.indexOf(\"\".concat(cookieName, \"=\")) !== -1;\n document.cookie = \"\".concat(cookieName, \"=1; expires=Thu, 01-Jan-1970 00:00:01 GMT\");\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","var DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, function (fullMatch, variableName) {\n return Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch;\n });\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport var HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport var HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport var HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport var HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport var HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport var HTML_ATTRIBUTE_VISUAL_PAINT_MODE = \"consent-visual-paint-mode\";\nexport var HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport var HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport var HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport var HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport var HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED = \"consent-blocker-connected-pres\";\nexport var HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport var HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport var HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER = \"consent-cb-reset-parent-is-ratio\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED = \"consent-got-clicked\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE = \"1\";\nexport var HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED = \"2\";\nexport var HTML_ATTRIBUTE_THUMBNAIL = \"consent-thumbnail\";\nexport var HTML_ATTRIBUTE_THUMBNAIL_SUGGESTION = \"consent-thumbnail-suggestion\";","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nvar WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics) {\n var referenceNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : document.body;\n return new Promise(function (resolve) {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: function error(e) {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: function beforeWriteToken(token) {\n var attrs = token.attrs,\n booleanAttrs = token.booleanAttrs,\n src = token.src,\n href = token.href,\n content = token.content; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (var attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport var OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * In some cases, the complete layout can be changed and calculations are based on containers width.\n * Imagine: Google Fonts get added and the navigation bar has a button with a calculated width (e.g. BeTheme).\n * Another example: The instagram feed is not loaded / adjusted (masonry), so we need to trigger a resize\n * event manually\n *\n * @param delay\n */\nfunction dispatchResizeEvent() {\n var delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n setTimeout(function () {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n var inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `'ionid=`\n var doc = new DOMParser().parseFromString(\"\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n var _doc = new DOMParser().parseFromString(input, \"text/html\");\n\n return _doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n var pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n var elements = [];\n var elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nvar AsciiSpinner = function AsciiSpinner(_ref) {\n var _ref$ms = _ref.ms,\n ms = _ref$ms === void 0 ? 100 : _ref$ms,\n _ref$chars = _ref.chars,\n chars = _ref$chars === void 0 ? [\"◷\", \"◶\", \"◵\", \"◴\"] : _ref$chars;\n\n var _useState = useState(1),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n useEffect(function () {\n var interval = setInterval(function () {\n setI(i + 1);\n }, ms);\n return function () {\n return clearInterval(interval);\n };\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonGroupsInlineStyleLinkMore, commonInlineStyleGroupsCookieProperty } from \"../../../inlineStyles\";\n\nvar CookieProperty = function CookieProperty(_ref) {\n var label = _ref.label,\n value = _ref.value,\n children = _ref.children,\n printValueAs = _ref.printValueAs;\n var banner = useBannerOrBlocker();\n var _banner$i18n = banner.i18n,\n yes = _banner$i18n.yes,\n no = _banner$i18n.no;\n var isValueUrl = typeof value === \"string\" && isUrl(value);\n var useValue = isValueUrl ? h(\"a\", {\n href: value,\n style: _objectSpread({\n wordBreak: \"break-all\"\n }, commonGroupsInlineStyleLinkMore(banner, false).style),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n\n if (printValueAs === \"boolean\") {\n useValue = useValue ? yes : no;\n }\n\n return h(\"div\", _extends({\n key: label\n }, commonInlineStyleGroupsCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { CookieProperty };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleGroupsCookieProperty(_ref) {\n var _ref$group = _ref.group,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupBorderColor = _ref$group.groupBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, groupBorderWidth) : groupBorderWidth;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: useGroupBorderWidth > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookieProperty };","import { Fragment } from \"react\";\nimport { CookieProperty } from \".\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nvar CookiePropertyList = function CookiePropertyList(_ref) {\n var _ref$cookie = _ref.cookie,\n purpose = _ref$cookie.purpose,\n provider = _ref$cookie.provider,\n providerPrivacyPolicy = _ref$cookie.providerPrivacyPolicy,\n legalBasis = _ref$cookie.legalBasis,\n ePrivacyUSA = _ref$cookie.ePrivacyUSA,\n noTechnicalDefinitions = _ref$cookie.noTechnicalDefinitions,\n technicalDefinitions = _ref$cookie.technicalDefinitions,\n codeDynamics = _ref$cookie.codeDynamics,\n isEssentialGroup = _ref.isEssentialGroup;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n i18n = _useBannerOrBlocker.i18n,\n ePrivacyUSAEnabled = _useBannerOrBlocker.ePrivacyUSA;\n\n var types = getCookieTypeLocalizationMap();\n return h(Fragment, null, !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), h(CookieProperty, {\n label: i18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? i18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? i18n.legitimateInterest : i18n.consent\n }), h(CookieProperty, {\n label: i18n.provider,\n value: provider\n }), !!providerPrivacyPolicy && h(CookieProperty, {\n label: i18n.providerPrivacyPolicy,\n value: providerPrivacyPolicy\n }), !!ePrivacyUSAEnabled && h(CookieProperty, {\n label: i18n.ePrivacyUSA,\n value: ePrivacyUSA,\n printValueAs: \"boolean\"\n }), !noTechnicalDefinitions && technicalDefinitions.map(function (_ref2) {\n var type = _ref2.type,\n name = _ref2.name,\n host = _ref2.host,\n duration = _ref2.duration,\n durationUnit = _ref2.durationUnit,\n sessionDuration = _ref2.sessionDuration,\n purpose = _ref2.purpose;\n return h(CookieProperty, {\n key: name,\n label: i18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(CookieProperty, {\n label: i18n.type,\n value: types[type].name\n }), !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), !!host && h(CookieProperty, {\n label: i18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), h(CookieProperty, {\n label: i18n.duration,\n value: [\"local\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? i18n.noExpiration : sessionDuration || type === \"session\" ? \"Session\" : \"\".concat(duration, \" \").concat(i18n.durationUnit[durationUnit])\n }));\n }));\n};\n\nfunction getCookieTypeLocalizationMap() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { CookiePropertyList, getCookieTypeLocalizationMap };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useLayoutEffect, useState } from \"react\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonInlineStyleGroupsCookie, commonInlineStyleGroupsCheckbox } from \"../../..\";\nimport { PlainAntdIconAsSvg } from \"../..\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { CookiePropertyList } from \".\";\n\nvar Cookie = function Cookie(_ref) {\n var cookie = _ref.cookie,\n checked = _ref.checked,\n disabled = _ref.disabled,\n onToggleCheck = _ref.onToggleCheck,\n _ref$propertyListProp = _ref.propertyListProps,\n propertyListProps = _ref$propertyListProp === void 0 ? {} : _ref$propertyListProp;\n var name = cookie.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var bannerOrBlocker = useBannerOrBlocker();\n var descriptionFontSize = bannerOrBlocker.group.descriptionFontSize;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n return h(\"div\", commonInlineStyleGroupsCookie(bannerOrBlocker), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: onToggleCheck\n }, commonInlineStyleGroupsCheckbox(bannerOrBlocker, isRendered, checked, disabled, descriptionFontSize))), h(\"strong\", {\n style: {\n verticalAlign: \"middle\"\n },\n onClick: onToggleCheck\n }, name)), h(CookiePropertyList, _extends({\n cookie: cookie\n }, propertyListProps)));\n};\n\nexport { Cookie };","function commonInlineStyleGroupsCookie(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nvar PlainAntdIconAsSvg = function PlainAntdIconAsSvg(_ref) {\n var icon = _ref.icon,\n rest = _objectWithoutProperties(_ref, [\"icon\"]);\n\n var svgString = useMemo(function () {\n return renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n });\n }, [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nvar Tooltip = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n title = _ref.title,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? \"top\" : _ref$position,\n color = _ref.color,\n _ref$size = _ref.size,\n size = _ref$size === void 0 ? \"large\" : _ref$size,\n always = _ref.always,\n rounded = _ref.rounded,\n noAnimate = _ref.noAnimate,\n bounce = _ref.bounce,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"title\", \"position\", \"color\", \"size\", \"always\", \"rounded\", \"noAnimate\", \"bounce\"]);\n\n usePlainCss(hintCss, \"hint-css\", true);\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { Tooltip };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BannerContextFactory = /*#__PURE__*/function () {\n function BannerContextFactory() {\n _classCallCheck(this, BannerContextFactory);\n }\n\n _createClass(BannerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BannerContextFactory;\n}();\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nvar BlockerContextFactory = /*#__PURE__*/function () {\n function BlockerContextFactory() {\n _classCallCheck(this, BlockerContextFactory);\n }\n\n _createClass(BlockerContextFactory, null, [{\n key: \"Context\",\n value: function (_Context) {\n function Context() {\n return _Context.apply(this, arguments);\n }\n\n Context.toString = function () {\n return _Context.toString();\n };\n\n return Context;\n }(function () {\n return this.context = this.context || /*#__PURE__*/createContext({});\n })\n }]);\n\n return BlockerContextFactory;\n}();\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { useState } from \"react\";\nimport { commonInlineStyleFooterLink, useBannerOrBlocker } from \"../../..\";\n\nvar FooterLink = function FooterLink(_ref) {\n var children = _ref.children,\n anchorRest = _objectWithoutProperties(_ref, [\"children\"]);\n\n var bannerOrBlocker = useBannerOrBlocker();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isHover = _useState2[0],\n setIsHover = _useState2[1];\n\n return h(\"a\", _extends({\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }, commonInlineStyleFooterLink(bannerOrBlocker, isHover), anchorRest), children);\n};\n\nexport { FooterLink };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleFooterLink(_ref) {\n var _ref$footerDesign = _ref.footerDesign,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n hoverFontColor = _ref$footerDesign.hoverFontColor,\n fontInheritFamily = _ref$footerDesign.fontInheritFamily,\n fontFamily = _ref$footerDesign.fontFamily,\n linkTextDecoration = _ref.design.linkTextDecoration,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var isHover = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var style = {\n textDecoration: linkTextDecoration,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style: style\n };\n}\n\nexport { commonInlineStyleFooterLink };","import { FooterLink } from \".\";\nimport { Tooltip } from \"../..\";\n\nvar FooterPoweredByLink = function FooterPoweredByLink(_ref) {\n var poweredLink = _ref.poweredLink,\n affiliate = _ref.affiliate;\n return h(FooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(Tooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind));\n};\n\nexport { FooterPoweredByLink };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n var filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce(function (acc, curr, i) {\n return acc.length ? [].concat(_toConsumableArray(acc), [// Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr]) : [curr];\n }, []);\n}\n\nexport { jsxJoin };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { useCallback, Fragment } from \"react\";\nimport { useBannerOrBlocker, useLegalLinks } from \"..\";\nimport { FooterLink, FooterPoweredByLink } from \"../../components\";\nimport { jsxJoin } from \"../../utils\";\n\nfunction useCommonFooterLinks() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n onClose = _ref.onClose,\n putPoweredByLinkInRow = _ref.putPoweredByLinkInRow,\n row1 = _ref.row1;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n close = _useBannerOrBlocker.i18n.close,\n _useBannerOrBlocker$f = _useBannerOrBlocker.footerDesign,\n poweredByLink = _useBannerOrBlocker$f.poweredByLink,\n linkTarget = _useBannerOrBlocker$f.linkTarget,\n poweredLink = _useBannerOrBlocker.poweredLink,\n affiliate = _useBannerOrBlocker.affiliate;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy,\n linkImprint = _useLegalLinks.linkImprint;\n\n var targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n var rows = [// Row 1\n [onClose && h(FooterLink, {\n href: \"#\",\n onClick: onClose,\n key: \"close\"\n }, h(\"strong\", null, close))].concat(_toConsumableArray(row1 || []), [linkPrivacyPolicy && h(FooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(FooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)]).filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n rows[putPoweredByLinkInRow || 0].push(h(FooterPoweredByLink, {\n key: \"poweredBy\",\n poweredLink: poweredLink,\n affiliate: affiliate\n }));\n }\n\n var render = useCallback(function (rows) {\n return jsxJoin(rows.map(function (row) {\n return row.length ? h(Fragment, {\n key: row[0].key\n }, jsxJoin(row, h(Fragment, null, \" \\u2022 \"))) : null;\n }), h(\"br\", null));\n }, []);\n return {\n rows: rows,\n render: render\n };\n}\n\nexport { useCommonFooterLinks };","import { useBannerOrBlocker, useLegalLinks } from \"..\";\n\nfunction joinWithAndSeparator(arr, andSeparator) {\n if (arr.length > 1) {\n arr.splice(arr.length - 1, 0, \"{{andSeparator}}\");\n }\n\n return arr.join(\", \").replace(/,\\s+{{andSeparator}},\\s+/g, andSeparator);\n}\n/**\n * @see https://gist.github.com/unruthless/413930\n * @see https://stackoverflow.com/a/23630325/5506547\n */\n\n\nvar supWithLineHeightFix = '';\n\nfunction useCommonTeachings() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n disableDataProcessingInUnsafeCountries = _ref.disableDataProcessingInUnsafeCountries,\n disableAgeNotice = _ref.disableAgeNotice,\n disableListServicesNotice = _ref.disableListServicesNotice;\n\n var _useBannerOrBlocker = useBannerOrBlocker(),\n blocker = _useBannerOrBlocker.blocker,\n groups = _useBannerOrBlocker.groups,\n isEPrivacyUSA = _useBannerOrBlocker.ePrivacyUSA,\n isAgeNotice = _useBannerOrBlocker.ageNotice,\n isListServicesNotice = _useBannerOrBlocker.listServicesNotice,\n _useBannerOrBlocker$t = _useBannerOrBlocker.texts,\n description = _useBannerOrBlocker$t.description,\n ePrivacyUSA = _useBannerOrBlocker$t.ePrivacyUSA,\n ageNoticeBanner = _useBannerOrBlocker$t.ageNoticeBanner,\n listServicesNotice = _useBannerOrBlocker$t.listServicesNotice,\n consentForwardingExternalHostsText = _useBannerOrBlocker$t.consentForwardingExternalHosts,\n tcf = _useBannerOrBlocker.tcf,\n consentForwardingExternalHosts = _useBannerOrBlocker.consentForwardingExternalHosts,\n individualPrivacyOpen = _useBannerOrBlocker.individualPrivacyOpen,\n individualDescription = _useBannerOrBlocker.individualTexts.description,\n essentialGroup = _useBannerOrBlocker.essentialGroup,\n _useBannerOrBlocker$i = _useBannerOrBlocker.i18n,\n andSeparator = _useBannerOrBlocker$i.andSeparator,\n tcfBannerI18n = _useBannerOrBlocker$i.tcf,\n keepVariablesInTexts = _useBannerOrBlocker.keepVariablesInTexts;\n\n var _useLegalLinks = useLegalLinks(),\n linkPrivacyPolicy = _useLegalLinks.linkPrivacyPolicy; // Description text (combination of configured text and Consent Forwarding)\n\n\n var consentForwardingExternalHostsFinalText = \"\";\n\n if (consentForwardingExternalHosts && !keepVariablesInTexts) {\n consentForwardingExternalHostsFinalText = consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \"));\n }\n\n var useDescription = [blocker ? blocker.description : individualPrivacyOpen ? individualDescription : description, consentForwardingExternalHostsFinalText].filter(Boolean).join(\" \");\n\n if (!keepVariablesInTexts) {\n // Place policy link into the text https://regex101.com/r/ayeFVy/1\n useDescription = useDescription.replace(/{{privacyPolicy}}(.*){{\\/privacyPolicy}}/g, linkPrivacyPolicy ? \"$1\") : \"$1\");\n } // Teaching: Data processing in unsafe countries (formerly USA ePrivacy)\n\n\n var useDataProcessingInUnsafeCountries = !disableDataProcessingInUnsafeCountries && isEPrivacyUSA ? ePrivacyUSA : \"\"; // Teaching: Age notice\n\n var useAgeNotice = isAgeNotice && !disableAgeNotice ? ageNoticeBanner : \"\"; // Teaching: List services notice\n\n var useListServicesNotice = \"\";\n\n if (isListServicesNotice && !disableListServicesNotice) {\n var hasBothPlaceholders = listServicesNotice.indexOf(\"{{services}}\") > -1 && listServicesNotice.indexOf(\"{{serviceGroups}}\") > -1;\n var nonEssentialGroups = groups.filter(function (_ref2) {\n var slug = _ref2.slug;\n return slug !== essentialGroup;\n });\n var flattenSeparator = \"~;~\";\n var listServicesNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref3, groupIdx) {\n var items = _ref3.items;\n return items.map(function (_ref4) {\n var name = _ref4.name,\n ePrivacyUSA = _ref4.ePrivacyUSA;\n return \"\".concat(name).concat(supWithLineHeightFix).concat([hasBothPlaceholders ? groupIdx + 1 : \"\", useDataProcessingInUnsafeCountries && ePrivacyUSA ? \"U\" : \"\"].filter(Boolean).join(\",\"), \"\");\n }).join(flattenSeparator);\n }).join(flattenSeparator).split(flattenSeparator), andSeparator);\n\n if (listServicesNames) {\n var listServiceGroupsNames = joinWithAndSeparator(nonEssentialGroups.map(function (_ref5, groupIdx) {\n var name = _ref5.name;\n return \"\".concat(name).concat(supWithLineHeightFix).concat(hasBothPlaceholders ? groupIdx + 1 : \"\", \"\");\n }), andSeparator);\n useListServicesNotice = \"\".concat(listServicesNotice, \"\").concat(tcf && !individualPrivacyOpen ? \"\".concat(tcfBannerI18n.listOfServicesAppendix, \"\") : \"\");\n\n if (!keepVariablesInTexts) {\n // Place service list into the text\n useListServicesNotice = useListServicesNotice.replace(/{{services}}/g, listServicesNames) // Place service group list into the text\n .replace(/{{serviceGroups}}/g, listServiceGroupsNames);\n }\n\n if (useDataProcessingInUnsafeCountries) {\n useDataProcessingInUnsafeCountries += \"\".concat(supWithLineHeightFix, \"U\");\n }\n }\n }\n\n return {\n description: useDescription,\n teachings: [useDataProcessingInUnsafeCountries, useAgeNotice, useListServicesNotice].filter(Boolean)\n };\n}\n\nexport { useCommonTeachings };","import { useBanner, useBlocker } from \"../contexts\";\n\n/**\n * Use one of the available banner or blocker contexts as union typed.\n */\nfunction useBannerOrBlocker() {\n var banner = useBanner();\n var blocker = useBlocker(); // Check for a common context property in an available context as it is never `undefined`\n\n return banner.groups ? banner : blocker;\n}\n\nexport { useBannerOrBlocker };","import { useBannerOrBlocker } from \".\";\n\nfunction useLegalLinks() {\n var _useBannerOrBlocker = useBannerOrBlocker(),\n _useBannerOrBlocker$l = _useBannerOrBlocker.legal,\n privacyPolicy = _useBannerOrBlocker$l.privacyPolicy,\n privacyPolicyExternalUrl = _useBannerOrBlocker$l.privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl = _useBannerOrBlocker$l.privacyPolicyIsExternalUrl,\n privacyPolicyLabel = _useBannerOrBlocker$l.privacyPolicyLabel,\n imprint = _useBannerOrBlocker$l.imprint,\n imprintExternalUrl = _useBannerOrBlocker$l.imprintExternalUrl,\n imprintIsExternalUrl = _useBannerOrBlocker$l.imprintIsExternalUrl,\n imprintLabel = _useBannerOrBlocker$l.imprintLabel,\n pageByIdUrl = _useBannerOrBlocker.pageByIdUrl;\n\n var pageIdToPermalink = useBannerOrBlocker().pageIdToPermalink || {};\n var linkPrivacyPolicy = privacyPolicy > 0 ? pageIdToPermalink[privacyPolicy] || \"\".concat(pageByIdUrl, \"=\").concat(privacyPolicy) : undefined;\n var linkImprint = imprint > 0 ? pageIdToPermalink[imprint] || \"\".concat(pageByIdUrl, \"=\").concat(imprint) : undefined;\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel && linkPrivacyPolicy ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel && linkImprint ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nvar counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId, keep) {\n var id = useMemo(function () {\n return \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36));\n }, []);\n useLayoutEffect(function () {\n var element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return function () {\n if (!keep) {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n }\n };\n }, [css, keep]);\n return id;\n}\n\nexport { usePlainCss };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleBodyTeaching(_ref) {\n var _ref$bodyDesign = _ref.bodyDesign,\n teachingsInheritTextAlign = _ref$bodyDesign.teachingsInheritTextAlign,\n teachingsTextAlign = _ref$bodyDesign.teachingsTextAlign,\n teachingsInheritFontSize = _ref$bodyDesign.teachingsInheritFontSize,\n teachingsFontSize = _ref$bodyDesign.teachingsFontSize,\n teachingsInheritFontColor = _ref$bodyDesign.teachingsInheritFontColor,\n teachingsFontColor = _ref$bodyDesign.teachingsFontColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +teachingsFontSize) : +teachingsFontSize,\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeaching };","function commonInlineStyleBodyTeachingsSeparator(_ref) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n teachingsSeparatorActive = _ref$bodyDesign.teachingsSeparatorActive,\n teachingsSeparatorWidth = _ref$bodyDesign.teachingsSeparatorWidth,\n teachingsSeparatorHeight = _ref$bodyDesign.teachingsSeparatorHeight,\n teachingsSeparatorColor = _ref$bodyDesign.teachingsSeparatorColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeachingsSeparator };","import { scaleMobile } from \"../..\";\n\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\nfunction commonInlineStyleGroupsCheckbox(_ref, visible, checked, disabled, fontSize) {\n var borderRadius = _ref.layout.borderRadius,\n _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n checkboxBg = _ref$group.checkboxBg,\n checkboxBorderWidth = _ref$group.checkboxBorderWidth,\n checkboxBorderColor = _ref$group.checkboxBorderColor,\n checkboxActiveBg = _ref$group.checkboxActiveBg,\n checkboxActiveBorderColor = _ref$group.checkboxActiveBorderColor,\n checkboxActiveColor = _ref$group.checkboxActiveColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFontSize = fontSize || headlineFontSize;\n useFontSize = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, useFontSize) : useFontSize;\n var useCheckboxBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +checkboxBorderWidth) : +checkboxBorderWidth;\n var height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height: height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0,\n boxSizing: \"border-box\"\n }\n };\n}\n\nexport { commonInlineStyleGroupsCheckbox };","function commonGroupsInlineStyleLinkMore(_ref, isHover) {\n var linkTextDecoration = _ref.design.linkTextDecoration,\n _ref$group = _ref.group,\n linkColor = _ref$group.linkColor,\n linkHoverColor = _ref$group.linkHoverColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { commonGroupsInlineStyleLinkMore };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleHeaderHeadline(_ref, hasCloseIcon) {\n var _ref$headerDesign = _ref.headerDesign,\n fontSize = _ref$headerDesign.fontSize,\n fontColor = _ref$headerDesign.fontColor,\n fontInheritFamily = _ref$headerDesign.fontInheritFamily,\n fontFamily = _ref$headerDesign.fontFamily,\n fontWeight = _ref$headerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n lineHeight: 1.8,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n paddingRight: hasCloseIcon ? 20 : undefined\n }\n };\n}\n\nexport { commonInlineStyleHeaderHeadline };","var calculateNewVal = function calculateNewVal(val, scalePercent) {\n var newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction scaleMobile(_ref, useWidthOfThisContainerId, original, replaceWith) {\n var enabled = _ref.enabled,\n scalePercent = _ref.scalePercent,\n scalePercentVertical = _ref.scalePercentVertical;\n var additionalVerticalScaling = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { scaleMobile };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink(id) {\n var element = document.getElementById(id); // SSR-powered by\n\n var originalPoweredLink = element.nextElementSibling;\n var poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","function matchingSelector(element, selector) {\n var proto = typeof Element !== \"undefined\" ? Element.prototype : {};\n var nativeFunction = proto.matches || proto.matchesSelector || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector;\n\n if (!element || element.nodeType !== 1 || !element.parentElement) {\n return false;\n }\n\n if (nativeFunction) {\n return nativeFunction.call(element, selector);\n }\n\n var matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (var matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import Url from \"url-parse\";\nimport { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\n\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\nfunction commonUrlBuilder(_ref) {\n var location = _ref.location,\n _ref$params = _ref.params,\n params = _ref$params === void 0 ? {} : _ref$params,\n _ref$nonce = _ref.nonce,\n nonce = _ref$nonce === void 0 ? true : _ref$nonce,\n options = _ref.options;\n var apiUrl = new Url(options.restRoot, true);\n var query = apiUrl.query;\n var permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n var foundParams = [];\n var path = location.path.replace(/:([A-Za-z0-9-_]+)/g, function (match, group) {\n foundParams.push(group);\n return params[group];\n });\n var getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (var _i = 0, _Object$keys = Object.keys(params); _i < _Object$keys.length; _i++) {\n var checkParam = _Object$keys[_i];\n\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `url-parse` already\n }\n }\n\n var usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path; // Force protocol from parent location\n\n var useThisProtocol = new Url(window.location.href).protocol.slice(0, -1);\n apiUrl.set(\"protocol\", useThisProtocol); // Set path depending on permalink settings\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.set(\"pathname\", usePath); // Set path\n } // Append others\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n }\n\n var currentApiUrlString = apiUrl.toString();\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return currentApiUrlString.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n query._method = location.method;\n }\n\n return apiUrl.set(\"query\", deepMerge.all([options.restQuery, getParams, query])).toString();\n}\n\nexport { commonUrlBuilder, Url };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nvar pool = {};\nvar recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nfunction nonceDeprecationPool(_x, _x2) {\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nfunction _nonceDeprecationPool() {\n _nonceDeprecationPool = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nonce, restRecreateNonceEndpoint) {\n var resultPromise, returnNonce;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(typeof restRecreateNonceEndpoint !== \"undefined\")) {\n _context2.next = 6;\n break;\n }\n\n resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise(\n /*#__PURE__*/\n // eslint-disable-next-line no-async-promise-executor\n function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var recreateFetch, newNonce;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return window.fetch(restRecreateNonceEndpoint);\n\n case 3:\n recreateFetch = _context.sent;\n\n if (!recreateFetch.ok) {\n _context.next = 11;\n break;\n }\n\n _context.next = 7;\n return recreateFetch.text();\n\n case 7:\n newNonce = _context.sent;\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n\n _context.next = 12;\n break;\n\n case 11:\n reject();\n\n case 12:\n _context.next = 17;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](0);\n reject();\n\n case 17:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 14]]);\n }));\n\n return function (_x3, _x4) {\n return _ref.apply(this, arguments);\n };\n }());\n recreateFetchPool[nonce] = resultPromise;\n return _context2.abrupt(\"return\", resultPromise);\n\n case 6:\n if (!(typeof nonce === \"undefined\")) {\n _context2.next = 8;\n break;\n }\n\n return _context2.abrupt(\"return\", undefined);\n\n case 8:\n _context2.next = 10;\n return Promise.all(Object.values(recreateFetchPool));\n\n case 10:\n returnNonce = nonce;\n\n case 11:\n if (!pool[returnNonce]) {\n _context2.next = 17;\n break;\n }\n\n returnNonce = pool[returnNonce];\n\n if (!(pool[returnNonce] === nonce)) {\n _context2.next = 15;\n break;\n }\n\n return _context2.abrupt(\"break\", 17);\n\n case 15:\n _context2.next = 11;\n break;\n\n case 17:\n return _context2.abrupt(\"return\", Promise.resolve(returnNonce));\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _nonceDeprecationPool.apply(this, arguments);\n}\n\nexport { nonceDeprecationPool };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nfunction parseResult(_x, _x2, _x3) {\n return _parseResult.apply(this, arguments);\n}\n\nfunction _parseResult() {\n _parseResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url, result, method) {\n var cloneForFallback, body, lastError, _iterator, _step, line;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneForFallback = result.clone();\n _context.prev = 1;\n _context.next = 4;\n return result.json();\n\n case 4:\n return _context.abrupt(\"return\", _context.sent);\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](1);\n _context.next = 11;\n return cloneForFallback.text();\n\n case 11:\n body = _context.sent;\n\n if (!(body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1)) {\n _context.next = 14;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 14:\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body: body\n });\n _iterator = _createForOfIteratorHelper(body.split(\"\\n\"));\n _context.prev = 16;\n\n _iterator.s();\n\n case 18:\n if ((_step = _iterator.n()).done) {\n _context.next = 30;\n break;\n }\n\n line = _step.value;\n\n if (!(line.startsWith(\"[\") || line.startsWith(\"{\"))) {\n _context.next = 28;\n break;\n }\n\n _context.prev = 21;\n return _context.abrupt(\"return\", JSON.parse(line));\n\n case 25:\n _context.prev = 25;\n _context.t1 = _context[\"catch\"](21);\n lastError = _context.t1;\n\n case 28:\n _context.next = 18;\n break;\n\n case 30:\n _context.next = 35;\n break;\n\n case 32:\n _context.prev = 32;\n _context.t2 = _context[\"catch\"](16);\n\n _iterator.e(_context.t2);\n\n case 35:\n _context.prev = 35;\n\n _iterator.f();\n\n return _context.finish(35);\n\n case 38:\n throw lastError;\n\n case 39:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 7], [16, 32, 35, 38], [21, 25]]);\n }));\n return _parseResult.apply(this, arguments);\n}\n\nexport { parseResult };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { commonUrlBuilder, RouteHttpVerb } from \"./\";\nimport deepMerge from \"deepmerge\";\nimport Url from \"url-parse\";\nimport { parseResult, nonceDeprecationPool } from \".\";\nimport jsonFormData from \"json-form-data\";\nvar CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nfunction commonRequest(_x) {\n return _commonRequest.apply(this, arguments);\n}\n\nfunction _commonRequest() {\n _commonRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var location, options, routeRequest, params, _ref$settings, settings, _ref$multipart, multipart, _ref$sendRestNonce, sendRestNonce, url, apiUrl, allowBody, body, restNonce, hasRestNonce, init, apiUrlBuilt, result, responseJSON, replay, restRecreateNonceEndpoint, resultAny;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n location = _ref.location, options = _ref.options, routeRequest = _ref.request, params = _ref.params, _ref$settings = _ref.settings, settings = _ref$settings === void 0 ? {} : _ref$settings, _ref$multipart = _ref.multipart, multipart = _ref$multipart === void 0 ? false : _ref$multipart, _ref$sendRestNonce = _ref.sendRestNonce, sendRestNonce = _ref$sendRestNonce === void 0 ? true : _ref$sendRestNonce;\n url = commonUrlBuilder({\n location: location,\n params: params,\n nonce: false,\n options: options\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(function (s) {\n return url.indexOf(s) > -1;\n }).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n apiUrl = new Url(url, true);\n allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n apiUrl.set(\"query\", deepMerge(apiUrl.query, routeRequest));\n } // Determine body\n\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n _context.next = 9;\n return nonceDeprecationPool(options.restNonce);\n\n case 9:\n restNonce = _context.sent;\n hasRestNonce = typeof restNonce !== \"undefined\";\n init = deepMerge.all([settings, {\n headers: _objectSpread(_objectSpread(_objectSpread({}, typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}), hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}), {}, {\n Accept: \"application/json, */*;q=0.1\"\n })\n }]);\n init.body = body; // Do not make body merge-able\n\n apiUrlBuilt = apiUrl.toString();\n _context.next = 16;\n return window.fetch(apiUrlBuilt, init);\n\n case 16:\n result = _context.sent;\n\n if (result.ok) {\n _context.next = 47;\n break;\n }\n\n responseJSON = undefined;\n replay = false;\n _context.prev = 20;\n _context.next = 23;\n return parseResult(apiUrlBuilt, result, location.method);\n\n case 23:\n responseJSON = _context.sent;\n\n // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (!(responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce)) {\n _context.next = 35;\n break;\n }\n\n restRecreateNonceEndpoint = options.restRecreateNonceEndpoint;\n _context.prev = 27;\n _context.next = 30;\n return nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n\n case 30:\n replay = true;\n _context.next = 35;\n break;\n\n case 33:\n _context.prev = 33;\n _context.t0 = _context[\"catch\"](27);\n\n case 35:\n _context.next = 39;\n break;\n\n case 37:\n _context.prev = 37;\n _context.t1 = _context[\"catch\"](20);\n\n case 39:\n if (!replay) {\n _context.next = 43;\n break;\n }\n\n _context.next = 42;\n return commonRequest({\n location: location,\n options: options,\n multipart: multipart,\n params: params,\n request: routeRequest,\n sendRestNonce: true,\n settings: settings\n });\n\n case 42:\n return _context.abrupt(\"return\", _context.sent);\n\n case 43:\n // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n\n case 47:\n return _context.abrupt(\"return\", parseResult(apiUrlBuilt, result, location.method));\n\n case 48:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[20, 37], [27, 33]]);\n }));\n return _commonRequest.apply(this, arguments);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","var untrailingslashit = function untrailingslashit(str) {\n return str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n};\n\nvar trailingslashit = function trailingslashit(str) {\n return \"\".concat(untrailingslashit(str), \"/\");\n}; // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nvar getWebpackPublicPath = function getWebpackPublicPath(env) {\n var options = window[env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url) {\n var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.createElement(\"div\");\n return new Promise(function (resolve) {\n // Find matching blocker\n var found;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n blocker = _getOtherOptionsFromW.blocker;\n\n var isPseudoRef = !ref.parentElement;\n\n var _iterator = _createForOfIteratorHelper(blocker),\n _step;\n\n try {\n loop1: for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n var hosts = row.hosts; // Check if host matches\n\n var _iterator2 = _createForOfIteratorHelper(hosts),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var host = _step2.value;\n var regexp = regExpPatternFromWildcardName(host);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"cookies\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.cookies.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, function () {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { CookieConsentManager } from \"../apply\";\nimport { apply } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n\nfunction preDecisionGateway(_x, _x2) {\n return _preDecisionGateway.apply(this, arguments);\n}\n\nfunction _preDecisionGateway() {\n _preDecisionGateway = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(options, handler) {\n var show, useOptions, gateways, args, onIsDoNotTrack, onShowCookieBanner, _iterator, _step, gateway, result, _ret;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n show = true;\n useOptions = options instanceof CookieConsentManager ? options.getOptions() : options;\n gateways = handler.gateways, args = handler.args, onIsDoNotTrack = handler.onIsDoNotTrack, onShowCookieBanner = handler.onShowCookieBanner;\n _iterator = _createForOfIteratorHelper(gateways);\n _context.prev = 4;\n\n _iterator.s();\n\n case 6:\n if ((_step = _iterator.n()).done) {\n _context.next = 17;\n break;\n }\n\n gateway = _step.value;\n _context.next = 10;\n return gateway.apply(void 0, [useOptions].concat(_toConsumableArray(args)));\n\n case 10:\n result = _context.sent;\n\n if (!(result !== false)) {\n _context.next = 15;\n break;\n }\n\n _ret = function () {\n show = false;\n\n var applyCookiesWithOptions = function applyCookiesWithOptions(type) {\n return apply(_objectSpread({\n type: type\n }, useOptions));\n };\n\n if (result === \"all\") {\n applyCookiesWithOptions(\"all\");\n } else if (result === \"essentials\") {\n applyCookiesWithOptions(\"essentials\");\n } else if (result === \"dnt\") {\n onIsDoNotTrack(function () {\n return applyCookiesWithOptions(\"essentials\");\n });\n } else if (result === \"consent\") {\n // Apply cookies for the current user decision\n applyCookiesWithOptions(\"consent\");\n }\n\n return \"break\";\n }();\n\n if (!(_ret === \"break\")) {\n _context.next = 15;\n break;\n }\n\n return _context.abrupt(\"break\", 17);\n\n case 15:\n _context.next = 6;\n break;\n\n case 17:\n _context.next = 22;\n break;\n\n case 19:\n _context.prev = 19;\n _context.t0 = _context[\"catch\"](4);\n\n _iterator.e(_context.t0);\n\n case 22:\n _context.prev = 22;\n\n _iterator.f();\n\n return _context.finish(22);\n\n case 25:\n if (!show) {\n _context.next = 30;\n break;\n }\n\n onShowCookieBanner(); // Wait all events are initialized\n\n _context.next = 29;\n return ready();\n\n case 29:\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n\n case 30:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[4, 19, 22, 25]]);\n }));\n return _preDecisionGateway.apply(this, arguments);\n}\n\nexport { preDecisionGateway };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { supportsCookies } from \"../utils\";\n/**\n * Does the current browser support cookies?\n */\n\nvar preDecisionGatewaySupportsCookies = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var supportsCookiesName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n supportsCookiesName = _ref.supportsCookiesName;\n return _context.abrupt(\"return\", supportsCookies(supportsCookiesName) ? false : \"essentials\");\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewaySupportsCookies(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewaySupportsCookies };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise(function (resolve, reject) {\n promise.then(resolve, reject);\n var e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler, promiseTimeout } from \"../utils\";\n\n/**\n * Dynamically allow to get a predecision with a extra request to an external API.\n * If your server does not respond within a given timeout or with an error, it automatically\n * continues with the predecisions. Otherwise, the predecision of the response is used.\n */\nvar preDecisionGatewayDynamicRequest = function preDecisionGatewayDynamicRequest(request) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10000;\n var active = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision, _yield$promiseTimeout, predecision;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n\n if (!(isCrawler() || !active)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n // Check if revision has changed, and probably access our dynamic predecision again\n decision = getUserDecision(decisionCookieName);\n\n if (!decision) {\n _context.next = 8;\n break;\n }\n\n revision = decision.revision;\n\n if (!(revisionHash === revision)) {\n _context.next = 8;\n break;\n }\n\n return _context.abrupt(\"return\", \"consent\");\n\n case 8:\n _context.prev = 8;\n _context.next = 11;\n return promiseTimeout(request(), timeout);\n\n case 11:\n _yield$promiseTimeout = _context.sent;\n predecision = _yield$promiseTimeout.predecision;\n return _context.abrupt(\"return\", predecision);\n\n case 16:\n _context.prev = 16;\n _context.t0 = _context[\"catch\"](8);\n return _context.abrupt(\"return\", false);\n\n case 19:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 16]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayDynamicRequest };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n var w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isDoNotTrack } from \"../utils\";\n\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's automatically\n * save the dialog without any action.\n */\nvar preDecisionGatewayIsDoNotTrack = function preDecisionGatewayIsDoNotTrack() {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, groups, essentialGroupSlug, _groups$filter, _groups$filter2, essentialGroupObj, _iterator, _step, group, _iterator2, _step2, legalBasis;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, groups = _ref.groups, essentialGroupSlug = _ref.essentialGroupSlug;\n _groups$filter = groups.filter(function (_ref3) {\n var slug = _ref3.slug;\n return slug === essentialGroupSlug;\n }), _groups$filter2 = _slicedToArray(_groups$filter, 1), essentialGroupObj = _groups$filter2[0];\n\n if (!(getUserDecision(decisionCookieName) !== false || !active)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n // As soon we have a legitimate interest, we need to show the cookie banner\n _iterator = _createForOfIteratorHelper(groups);\n _context.prev = 5;\n\n _iterator.s();\n\n case 7:\n if ((_step = _iterator.n()).done) {\n _context.next = 29;\n break;\n }\n\n group = _step.value;\n\n if (!(group !== essentialGroupObj)) {\n _context.next = 27;\n break;\n }\n\n _iterator2 = _createForOfIteratorHelper(group.items);\n _context.prev = 11;\n\n _iterator2.s();\n\n case 13:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 19;\n break;\n }\n\n legalBasis = _step2.value.legalBasis;\n\n if (!(legalBasis === \"legitimate-interest\")) {\n _context.next = 17;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 17:\n _context.next = 13;\n break;\n\n case 19:\n _context.next = 24;\n break;\n\n case 21:\n _context.prev = 21;\n _context.t0 = _context[\"catch\"](11);\n\n _iterator2.e(_context.t0);\n\n case 24:\n _context.prev = 24;\n\n _iterator2.f();\n\n return _context.finish(24);\n\n case 27:\n _context.next = 7;\n break;\n\n case 29:\n _context.next = 34;\n break;\n\n case 31:\n _context.prev = 31;\n _context.t1 = _context[\"catch\"](5);\n\n _iterator.e(_context.t1);\n\n case 34:\n _context.prev = 34;\n\n _iterator.f();\n\n return _context.finish(34);\n\n case 37:\n return _context.abrupt(\"return\", isDoNotTrack() ? \"dnt\" : false);\n\n case 38:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 31, 34, 37], [11, 21, 24, 27]]);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsDoNotTrack };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\n/**\n * Has the user already consent to the latest requested revision (hash)?\n */\n\nvar preDecisionGatewayUserConsent = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, revisionHash, decision, revision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName, revisionHash = _ref.revisionHash;\n decision = getUserDecision(decisionCookieName);\n\n if (!(decision === false)) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 4:\n revision = decision.revision;\n return _context.abrupt(\"return\", revisionHash === revision ? \"consent\" : false);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function preDecisionGatewayUserConsent(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexport { preDecisionGatewayUserConsent };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.GET\n};","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n var _banner$legal = banner.legal,\n imprint = _banner$legal.imprint,\n imprintHide = _banner$legal.imprintHide,\n privacyPolicy = _banner$legal.privacyPolicy,\n privacyPolicyHide = _banner$legal.privacyPolicyHide,\n pageId = banner.pageId;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import { useCallback, useMemo } from \"react\";\nimport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../..\";\n/**\n * Depending on the current screen, calculate the animation to use.\n *\n * Currently, we do not support animations on resize as we cannot calculate the\n * width of the overlay container as it does not exist on first render cycle of React.\n *\n * Drawback if animation only on mobile is enabled: if the window is first a mobile,\n * and the window gets resize it will reuse the animation on desktop again\n */\n\nfunction useBannerAnimation() {\n var clientWidth = useMemo(function () {\n return window.innerWidth;\n }, []);\n var isMobile = clientWidth < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER; // Check if it is mobile Firefox, as it does not support `position:sticky;bottom:0;` and animations.\n // Effect: The buttons and footer are not visible.\n\n var isMobileFirefox = useMemo(function () {\n var userAgent = window.navigator.userAgent.toLowerCase();\n return [\"firefox\", \"gecko\", \"mobile\", \"android\"].map(function (term) {\n return userAgent.indexOf(term) > -1;\n }).filter(Boolean).length === 4;\n }, []);\n return useCallback(function (_ref) {\n var animationIn = _ref.animationIn,\n animationInOnlyMobile = _ref.animationInOnlyMobile,\n animationOut = _ref.animationOut,\n animationOutOnlyMobile = _ref.animationOutOnlyMobile;\n var useAnimationIn = animationInOnlyMobile ? isMobile ? animationIn : \"none\" : animationIn;\n var useAnimationOut = animationOutOnlyMobile ? isMobile ? animationOut : \"none\" : animationOut;\n\n if (isMobileFirefox) {\n useAnimationIn = \"none\";\n useAnimationOut = \"none\";\n }\n\n return {\n useAnimationIn: useAnimationIn,\n useAnimationOut: useAnimationOut\n };\n }, []);\n}\n\nexport { useBannerAnimation };","export var BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\nexport * from \"./types\";\nexport * from \"./contexts\";\nexport * from \"./hooks\";\nexport * from \"./inlineStyles\";\nexport * from \"./utils\";\nexport * from \"./components\";\nexport * from \"./others\";","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { createTcfModel } from \"@devowl-wp/cookie-consent-web-client\";\n\nvar cancelEvent = function cancelEvent(e) {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n};\n\nfunction useBannerStateContextCallbacks(_ref) {\n var toggleOverlay = _ref.toggleOverlay,\n _revokeConsent = _ref.revokeConsent;\n\n var toggleWithActiveAction = function toggleWithActiveAction(setContextValue, type) {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false\n }, toggleOverlay(state, true));\n });\n };\n\n return {\n openHistory: function openHistory(setContextValue) {\n toggleWithActiveAction(setContextValue, \"history\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n openBanner: function openBanner(setContextValue) {\n toggleWithActiveAction(setContextValue, \"change\");\n cancelEvent(arguments.length <= 1 ? undefined : arguments[1]);\n },\n revokeConsent: function revokeConsent(setContextValue) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var successMessage = args[0],\n e = args[1];\n setContextValue(function (state) {\n _revokeConsent(state).then(function () {\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(function () {\n return window.location.reload();\n }, 2000);\n }); // Do not change anything\n\n\n return state;\n });\n cancelEvent(e);\n },\n updateTcfFilterBy: function updateTcfFilterBy(setContextValue) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n var newFilter = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n tcfFilterBy: newFilter\n });\n });\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(setContextValue) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n var opened = args[0];\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n individualPrivacyOpen: opened\n });\n });\n },\n updateGroupChecked: function updateGroupChecked(setContextValue) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n var id = args[0],\n checked = args[1];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(function (group) {\n return group.id === id;\n })[0].items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n });\n } else {\n delete newConsent.groups[id];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent,\n didGroupFirstChange: true\n });\n });\n },\n updateCookieChecked: function updateCookieChecked(setContextValue) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n var groupId = args[0],\n id = args[1],\n checked = args[2];\n setContextValue(function (state) {\n var newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n var cookieIds = newConsent.groups[groupId];\n var indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: newConsent\n });\n });\n },\n onClose: function onClose(setContextValue) {\n setContextValue(function (state) {\n return _objectSpread(_objectSpread(_objectSpread({}, state), toggleOverlay(state, false)), {}, {\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n });\n });\n },\n selectHistoryEntry: function selectHistoryEntry(setContextValue) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n\n var groups = args[0],\n consentGroups = args[1],\n tcf = args[2];\n setContextValue(function (state) {\n var additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : createTcfModel(tcf)\n });\n }\n\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: groups,\n consent: _objectSpread(_objectSpread({}, state.consent), {}, {\n groups: consentGroups\n })\n }, additionalChanges);\n });\n }\n };\n}\n\nexport { useBannerStateContextCallbacks };","import { useEffect } from \"react\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nimport { useBanner } from \"../..\";\nvar HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n var _useBanner = useBanner(),\n openBanner = _useBanner.openBanner,\n openHistory = _useBanner.openHistory,\n revokeConsent = _useBanner.revokeConsent;\n\n useEffect(function () {\n var handleType = function handleType(type, successMessage, e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n }\n\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n var eventListenerDocumentClick = function eventListenerDocumentClick(e) {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n var element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(function (parent) {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n var eventListenerHashChange = function eventListenerHashChange() {\n var hash = window.location.hash;\n\n if (hash.startsWith(\"#consent-\")) {\n handleType(hash.substring(9), undefined, undefined);\n }\n };\n\n window.addEventListener(\"hashchange\", eventListenerHashChange);\n document.addEventListener(\"click\", eventListenerDocumentClick, true);\n return function () {\n window.removeEventListener(\"hashchange\", eventListenerHashChange);\n document.removeEventListener(\"click\", eventListenerDocumentClick, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useEffect, useState } from \"react\";\n\nfunction useResettableAnimation(animation, duration) {\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n i = _useState2[0],\n setI = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n j = _useState4[0],\n setJ = _useState4[1];\n\n var _useState5 = useState(animation),\n _useState6 = _slicedToArray(_useState5, 2),\n stateAnimation = _useState6[0],\n setStateAnimation = _useState6[1];\n\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n stateAnimationReset = _useState8[0],\n setStateAnimationReset = _useState8[1];\n\n var _useState9 = useState(duration),\n _useState10 = _slicedToArray(_useState9, 2),\n stateDuration = _useState10[0],\n setStateDuration = _useState10[1];\n\n var _useState11 = useState(undefined),\n _useState12 = _slicedToArray(_useState11, 2),\n stateDurationReset = _useState12[0],\n setStateDurationReset = _useState12[1]; // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(function () {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(function () {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(function () {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResettableAnimation };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateRgba(hex, alpha) {\n var _hexToRgb = hexToRgb(hex),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateRgba };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState(_ref) {\n var isVisible = _ref.isVisible,\n animationIn = _ref.animationIn,\n animationOut = _ref.animationOut,\n animationInDuration = _ref.animationInDuration,\n animationOutDuration = _ref.animationOutDuration,\n animationInDelay = _ref.animationInDelay,\n animationOutDelay = _ref.animationOutDelay;\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nvar AnimatedCss = function AnimatedCss(_ref2) {\n var _ref2$animateOnMount = _ref2.animateOnMount,\n animateOnMount = _ref2$animateOnMount === void 0 ? true : _ref2$animateOnMount,\n _ref2$isVisible = _ref2.isVisible,\n isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,\n _ref2$animationIn = _ref2.animationIn,\n animationIn = _ref2$animationIn === void 0 ? \"fadeIn\" : _ref2$animationIn,\n _ref2$animationOut = _ref2.animationOut,\n animationOut = _ref2$animationOut === void 0 ? \"fadeOut\" : _ref2$animationOut,\n _ref2$animationInDela = _ref2.animationInDelay,\n animationInDelay = _ref2$animationInDela === void 0 ? 0 : _ref2$animationInDela,\n _ref2$animationOutDel = _ref2.animationOutDelay,\n animationOutDelay = _ref2$animationOutDel === void 0 ? 0 : _ref2$animationOutDel,\n _ref2$animationInDura = _ref2.animationInDuration,\n animationInDuration = _ref2$animationInDura === void 0 ? 1000 : _ref2$animationInDura,\n _ref2$animationOutDur = _ref2.animationOutDuration,\n animationOutDuration = _ref2$animationOutDur === void 0 ? 1000 : _ref2$animationOutDur,\n _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? \"\" : _ref2$className,\n _ref2$style = _ref2.style,\n style = _ref2$style === void 0 ? {} : _ref2$style,\n children = _ref2.children;\n\n var _useState = useState(animateOnMount ? getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n }),\n _useState2 = _slicedToArray(_useState, 2),\n _useState2$ = _useState2[0],\n animation = _useState2$.animation,\n duration = _useState2$.duration,\n delay = _useState2$.delay,\n setAnimationRelatedState = _useState2[1];\n\n useEffect(function () {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible: isVisible,\n animationIn: animationIn,\n animationOut: animationOut,\n animationInDelay: animationInDelay,\n animationOutDelay: animationOutDelay,\n animationInDuration: animationInDuration,\n animationOutDuration: animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n var classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n var backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: _objectSpread(_objectSpread({\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\"\n }, style), backwardStyle)\n }, children);\n};\n\nexport { AnimatedCss };","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { usePlainCss } from \".\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions and variables\n * with the calculated height. This is needed as we need to do some positioning of header and footer.\n */\n\nfunction useRenderedHeightsAsCssVars(element, name) {\n var _useBanner = useBanner(),\n pageRequestUuid4 = _useBanner.pageRequestUuid4; // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n\n var cssId = usePlainCss(\"\", \"useRenderedHeightsAsCssVars-\".concat(name));\n var cssElement = document.getElementById(cssId);\n useEffect(function () {\n var previousHeight = 0;\n\n var recalculate = function recalculate() {\n var currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(currentHeight), \"px;--rendered-height-raw-\").concat(name, \": \").concat(currentHeight, \"px}\");\n }\n };\n\n if (!element) {\n return function () {// Silence is golden.\n };\n } // Support animations\n\n\n var animateContainer = document.querySelector(\"#\".concat(pageRequestUuid4, \" div[class*=\\\"animate__\\\"]\"));\n animateContainer.addEventListener(\"animationend\", recalculate);\n\n if (window.ResizeObserver) {\n var ro = new ResizeObserver(recalculate);\n ro.observe(element);\n return function () {\n ro.disconnect();\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n } else {\n var interval = setInterval(recalculate, 150);\n return function () {\n clearInterval(interval);\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n }\n }, [element, name]);\n}\n\nexport { useRenderedHeightsAsCssVars };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { useBanner } from \"../..\";\nimport { useCallback } from \"react\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtonCallbacks() {\n var _useBanner = useBanner(),\n individualPrivacyOpen = _useBanner.individualPrivacyOpen,\n onSave = _useBanner.onSave,\n updateGroupChecked = _useBanner.updateGroupChecked,\n updateCookieChecked = _useBanner.updateCookieChecked,\n groups = _useBanner.groups,\n essentialGroup = _useBanner.essentialGroup,\n updateIndividualPrivacyOpen = _useBanner.updateIndividualPrivacyOpen,\n activeAction = _useBanner.activeAction,\n onClose = _useBanner.onClose;\n\n var buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n var buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n var buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n var buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n var result = {\n buttonClickedAll: buttonClickedAll,\n buttonClickedEssentials: buttonClickedEssentials,\n buttonClickedCloseIcon: buttonClickedCloseIcon,\n buttonClickedCustom: buttonClickedCustom,\n acceptAll: useCallback(function () {\n groups.forEach(function (g) {\n return updateGroupChecked(g.id, true);\n });\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback(function () {\n var isCloseIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n groups.forEach(function (_ref) {\n var slug = _ref.slug,\n id = _ref.id,\n items = _ref.items;\n\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n var _iterator = _createForOfIteratorHelper(items),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _step$value = _step.value,\n legalBasis = _step$value.legalBasis,\n cookieId = _step$value.id;\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(function () {\n return onSave(false, buttonClickedCustom);\n }, [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(function () {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return _objectSpread(_objectSpread({}, result), {}, {\n closeIcon: useCallback(function () {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n });\n}\n\nexport { useBannerButtonCallbacks };","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n className = _ref.className,\n _ref$tag = _ref.tag,\n tag = _ref$tag === void 0 ? \"div\" : _ref$tag,\n renderInContainer = _ref.renderInContainer;\n\n var _useState = useState(function () {\n var el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }),\n _useState2 = _slicedToArray(_useState, 1),\n renderIn = _useState2[0]; // Append container to `body`\n\n\n useEffect(function () {\n document.body.appendChild(renderIn);\n return function () {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { useRect } from \"@reach/rect\";\nimport { usePlainCss } from \"../hooks\";\nimport { Portal, Tooltip } from \".\";\nvar counter = 0;\n/**\n * A portaled close icon creates a close icon rendered to a given container. This allows\n * you to put the close icon on the top right corner of an `overflow:hidden` container and\n * the tooltip gets rendered correctly.\n */\n\nvar CloseIcon = function CloseIcon(_ref) {\n var width = _ref.width,\n color = _ref.color,\n tooltipText = _ref.tooltipText,\n framed = _ref.framed,\n renderInContainer = _ref.renderInContainer,\n tooltipAlways = _ref.tooltipAlways,\n onClick = _ref.onClick,\n _ref$thickness = _ref.thickness,\n thickness = _ref$thickness === void 0 ? 1 : _ref$thickness;\n var idCloseIconNotPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var idCloseIconPortaled = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n var idCloseIconPlaceholder = useMemo(function () {\n return \"react-close-icon-\".concat((counter++).toString(36));\n }, []);\n var ref = useRef();\n var rect = useRect(ref);\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \", #\").concat(idCloseIconNotPortaled, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \" {\\n position: absolute !important;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \", #\").concat(idCloseIconPortaled, \" {\\n cursor: pointer;\\n pointer-events: all;\\n \").concat(framed ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n\\n#\").concat(idCloseIconPortaled, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n z-index: 99;\\n}\\n#\").concat(idCloseIconPortaled, \":after, #\").concat(idCloseIconNotPortaled, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIconPortaled, \">span:before, #\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:before, #\").concat(idCloseIconNotPortaled, \">span:after {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(color, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:after {\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIconPortaled, \">span:hover:before, #\").concat(idCloseIconPortaled, \">span:hover:after,\\n#\").concat(idCloseIconNotPortaled, \">span:hover:before, #\").concat(idCloseIconNotPortaled, \">span:hover:after {\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n return renderInContainer ? h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: renderInContainer\n }, h(Tooltip, {\n title: tooltipText,\n id: idCloseIconPortaled,\n onClick: onClick,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: tooltipAlways\n }, h(\"span\", null)))) : h(Tooltip, {\n title: tooltipText,\n id: idCloseIconNotPortaled,\n onClick: onClick,\n position: \"top-left\",\n always: tooltipAlways\n }, h(\"span\", null));\n};\n\nexport { CloseIcon };","import { useBanner, useBannerButtonCallbacks, scaleMobile, CloseIcon, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../../..\";\n\nvar BannerCloseIcon = function BannerCloseIcon() {\n var _useBanner = useBanner(),\n _useBanner$headerDesi = _useBanner.headerDesign,\n fontSize = _useBanner$headerDesi.fontSize,\n fontColor = _useBanner$headerDesi.fontColor,\n acceptEssentials = _useBanner.texts.acceptEssentials,\n mobile = _useBanner.mobile,\n activeAction = _useBanner.activeAction,\n pageRequestUuid4 = _useBanner.pageRequestUuid4,\n _useBanner$i18n = _useBanner.i18n,\n close = _useBanner$i18n.close,\n closeWithoutSaving = _useBanner$i18n.closeWithoutSaving,\n _useBanner$buttonClic = _useBanner.buttonClicked,\n buttonClicked = _useBanner$buttonClic === void 0 ? \"\" : _useBanner$buttonClic;\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedCloseIcon = _useBannerButtonCallb.buttonClickedCloseIcon,\n closeIcon = _useBannerButtonCallb.closeIcon;\n\n var container = document.getElementById(pageRequestUuid4);\n return h(CloseIcon, {\n width: scaleMobile(mobile, pageRequestUuid4, fontSize),\n color: fontColor,\n tooltipText: activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials,\n tooltipAlways: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER,\n framed: buttonClicked === buttonClickedCloseIcon,\n renderInContainer: container,\n onClick: closeIcon\n });\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, commonInlineStyleHeaderHeadline, BannerCloseIcon } from \"../../..\";\nimport { forwardRef } from \"react\"; // eslint-disable-next-line react/display-name\n\nvar BannerHeader = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var _banner$headerDesign = banner.headerDesign,\n logo = _banner$headerDesign.logo,\n logoRetina = _banner$headerDesign.logoRetina,\n showCloseIcon = banner.decision.showCloseIcon,\n headline = banner.texts.headline,\n activeAction = banner.activeAction,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n individualTexts = banner.individualTexts,\n headerTitlePrivacyPolicyHistory = banner.i18n.headerTitlePrivacyPolicyHistory; // Calculate logo\n\n var useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n var useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n var useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n alt: \"\",\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", commonInlineStyleHeaderHeadline(banner, false), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n restDesign = _objectWithoutProperties(_ref$design, [\"borderWidth\", \"borderColor\"]),\n _ref$headerDesign = _ref.headerDesign,\n inheritBg = _ref$headerDesign.inheritBg,\n bg = _ref$headerDesign.bg,\n padding = _ref$headerDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n textAlign = _ref.design.textAlign,\n _ref$headerDesign = _ref.headerDesign,\n inheritTextAlign = _ref$headerDesign.inheritTextAlign,\n logo = _ref$headerDesign.logo,\n logoPosition = _ref$headerDesign.logoPosition,\n restHeaderDesign = _objectWithoutProperties(_ref$headerDesign, [\"inheritTextAlign\", \"logo\", \"logoPosition\"]),\n headline = _ref.texts.headline,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n\n var useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n textAlign: useTextAlign,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleLogo(_ref, isRetina) {\n var _ref$headerDesign = _ref.headerDesign,\n logoMaxHeight = _ref$headerDesign.logoMaxHeight,\n logoMargin = _ref$headerDesign.logoMargin,\n logoFitDim = _ref$headerDesign.logoFitDim,\n logoRetinaFitDim = _ref$headerDesign.logoRetinaFitDim,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n var dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: scaleMobile(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: _objectSpread(_objectSpread({}, dimStyle), {}, {\n margin: scaleMobile(mobile, pageRequestUuid4, logoMargin).map(function (m) {\n return \"\".concat(m, \"px\");\n }).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n })\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { useBanner, bannerGroupsInlineStyleTitle, bannerGroupsInlineStyleDescription } from \"../../..\";\n\nvar BannerGroupSectionTitle = function BannerGroupSectionTitle(_ref) {\n var title = _ref.title,\n children = _ref.children;\n var banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleTitle(_ref) {\n var _ref$group = _ref.group,\n headlineFontSize = _ref$group.headlineFontSize,\n headlineFontColor = _ref$group.headlineFontColor,\n headlineFontWeight = _ref$group.headlineFontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleDescription(_ref) {\n var fontWeight = _ref.design.fontWeight,\n _ref$group = _ref.group,\n descriptionFontColor = _ref$group.descriptionFontColor,\n descriptionFontSize = _ref$group.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight: fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import { useCallback } from \"react\";\nimport { useBanner, Cookie } from \"../../..\";\n\nvar BannerCookie = function BannerCookie(_ref) {\n var _consent$groups;\n\n var group = _ref.group,\n cookie = _ref.cookie;\n var id = cookie.id;\n var banner = useBanner();\n var consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n var isEssentialGroup = essentialGroup === group.slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(function (c) {\n return c === id;\n });\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked);\n }, [isDisabled, banner, group, id, isChecked]);\n return h(Cookie, {\n cookie: cookie,\n propertyListProps: {\n isEssentialGroup: isEssentialGroup\n },\n checked: isChecked,\n disabled: isDisabled,\n onToggleCheck: handleCheckbox\n });\n};\n\nexport { BannerCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner, bannerGroupsInlineStyleGroup, commonInlineStyleGroupsCheckbox, commonGroupsInlineStyleLinkMore, PlainAntdIconAsSvg, BannerGroupSectionTitle, BannerCookie } from \"../../..\";\n\nvar BannerGroup = function BannerGroup(_ref) {\n var _consent$groups$id;\n\n var group = _ref.group;\n var banner = useBanner();\n var id = group.id,\n slug = group.slug,\n name = group.name,\n description = group.description,\n items = group.items;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isOpen = _useState6[0],\n setIsOpen = _useState6[1];\n\n var previewCheckboxActiveState = banner.previewCheckboxActiveState,\n _banner$individualTex = banner.individualTexts,\n showMore = _banner$individualTex.showMore,\n hideMore = _banner$individualTex.hideMore,\n consent = banner.consent,\n activeAction = banner.activeAction,\n essentialGroup = banner.essentialGroup;\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isDisabled = isEssentialGroup || activeAction === \"history\";\n var isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n var isPartial = !isEssentialGroup && JSON.stringify(items.map(function (_ref2) {\n var id = _ref2.id;\n return id;\n }).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n var CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n var handleCheckbox = useCallback(function () {\n return !isDisabled && banner.updateGroupChecked(id, !isChecked);\n }, [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(Fragment, null, h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isDisabled))), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n },\n onClick: handleCheckbox\n }, name, \" (\", items.length, \")\"))\n }, description, !!items && h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, commonGroupsInlineStyleLinkMore(banner, isHover), {\n onClick: function onClick(e) {\n setIsOpen(!isOpen);\n e.preventDefault();\n },\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n }), isOpen ? hideMore : showMore), isOpen && items.map(function (cookie) {\n return h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n });\n }))));\n};\n\nexport { BannerGroup };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleGroup(_ref) {\n var _ref$group = _ref.group,\n groupBg = _ref$group.groupBg,\n groupBorderRadius = _ref$group.groupBorderRadius,\n groupBorderColor = _ref$group.groupBorderColor,\n groupPadding = _ref$group.groupPadding,\n groupBorderWidth = _ref$group.groupBorderWidth,\n groupInheritBg = _ref$group.groupInheritBg,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useGroupBorderWidth = scaleMobile(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, groupPadding).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { scaleMobile, useBanner, bannerGroupsInlineStyle, BannerGroup } from \"../../..\";\nimport { Fragment } from \"react\";\n\nvar BannerGroupList = function BannerGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n groupSpacing = banner.group.groupSpacing,\n mobile = banner.mobile,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var useGroups = groups.filter(function (_ref) {\n var items = _ref.items;\n return items.length;\n });\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map(function (group, index) {\n return h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: scaleMobile(mobile, pageRequestUuid4, +groupSpacing)\n }\n }));\n }));\n};\n\nexport { BannerGroupList };","function bannerGroupsInlineStyle(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, Fragment, useCallback } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { CheckOutlined } from \"@ant-design/icons-svg\";\nimport { useBanner } from \"../../../contexts\";\nimport { bannerInlineStyleBodyDottedGroupItem, commonInlineStyleGroupsCheckbox, bannerInlineStyleBodyDottedGroupBullet } from \"../../../inlineStyles\";\nimport { PlainAntdIconAsSvg } from \"../..\";\n\nvar BannerDottedGroup = function BannerDottedGroup(_ref) {\n var _ref$group = _ref.group,\n id = _ref$group.id,\n slug = _ref$group.slug,\n name = _ref$group.name;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isRendered = _useState2[0],\n setIsRendered = _useState2[1];\n\n var banner = useBanner();\n var groupsFirstView = banner.decision.groupsFirstView,\n fontSize = banner.design.fontSize,\n consent = banner.consent,\n essentialGroup = banner.essentialGroup;\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n useLayoutEffect(function () {\n setIsRendered(true);\n }, []);\n var isEssentialGroup = essentialGroup === slug;\n var isChecked = isEssentialGroup || !!consent.groups[id];\n var handleCheckbox = useCallback(function () {\n return isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked);\n }, [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(PlainAntdIconAsSvg, _extends({\n icon: CheckOutlined,\n onClick: handleCheckbox\n }, commonInlineStyleGroupsCheckbox(banner, isRendered, isChecked, isEssentialGroup, fontSize))) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDottedGroupItem(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n dottedGroupsInheritFontSize = _ref$bodyDesign.dottedGroupsInheritFontSize,\n dottedGroupsFontSize = _ref$bodyDesign.dottedGroupsFontSize,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: scaleMobile(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet(_ref) {\n var dottedGroupsBulletColor = _ref.bodyDesign.dottedGroupsBulletColor;\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup } from \".\";\nimport { useBanner, bannerInlineStyleBodyDottedGroups } from \"../../..\";\n\nvar BannerDottedGroupList = function BannerDottedGroupList() {\n var banner = useBanner();\n var groups = banner.groups,\n showGroups = banner.decision.showGroups;\n return showGroups ? h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(function (_ref) {\n var items = _ref.items;\n return !!items.length;\n }).map(function (group) {\n return h(BannerDottedGroup, {\n key: group.id,\n group: group\n });\n })) : null;\n};\n\nexport { BannerDottedGroupList };","function bannerInlineStyleBodyDottedGroups(_ref) {\n var antiAdBlocker = _ref.customCss.antiAdBlocker;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useBanner, bannerInlineStyleHistorySelect, bannerInlineStyleHistorySelectOption } from \"../../..\";\nimport { useMemo } from \"react\";\nimport { Fragment, useState, useEffect } from \"react\";\nvar SELECT_NONE = -1;\n\nvar BannerHistorySelect = function BannerHistorySelect() {\n var banner = useBanner();\n\n var _useState = useState(SELECT_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n selectedId = _useState2[0],\n setSelectedId = _useState2[1];\n\n var activeAction = banner.activeAction,\n history = banner.history,\n selectHistoryEntry = banner.selectHistoryEntry,\n _banner$i18n = banner.i18n,\n historyLabel = _banner$i18n.historyLabel,\n historySelectNone = _banner$i18n.historySelectNone;\n var selectedHistoryItem = useMemo(function () {\n var _history$filter;\n\n return history === null || history === void 0 ? void 0 : (_history$filter = history.filter(function (_ref) {\n var id = _ref.id;\n return id === selectedId;\n })) === null || _history$filter === void 0 ? void 0 : _history$filter[0];\n }, [selectedId]); // Reset select after exit history dialog\n\n useEffect(function () {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n var uuid = selectedHistoryItem === null || selectedHistoryItem === void 0 ? void 0 : selectedHistoryItem.uuid;\n var optionStyle = bannerInlineStyleHistorySelectOption(banner);\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: function onChange(e) {\n var value = +e.target.value;\n history.forEach(function (_ref2) {\n var id = _ref2.id,\n decision = _ref2.decision,\n groups = _ref2.groups,\n tcf = _ref2.tcf;\n\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(function (_ref3) {\n var id = _ref3.id,\n isDoNotTrack = _ref3.isDoNotTrack,\n isUnblock = _ref3.isUnblock,\n isForwarded = _ref3.isForwarded,\n created = _ref3.created;\n return h(\"option\", _extends({\n key: id,\n value: id\n }, optionStyle), new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\");\n }) : h(\"option\", _extends({\n value: SELECT_NONE\n }, optionStyle), historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleHistorySelect(_ref) {\n var _ref$design = _ref.design,\n fontSize = _ref$design.fontSize,\n fontColor = _ref$design.fontColor,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateRgba(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","function bannerInlineStyleHistorySelectOption(_ref) {\n var bg = _ref.design.bg;\n return {\n className: undefined,\n style: {\n background: bg\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelectOption };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerButtonsInlineStyleCommon(_ref, mobile, isHover, framed, isTwoButtonRowLayout) {\n var name = _ref.name,\n order = _ref.order,\n type = _ref.type,\n borderRadius = _ref.borderRadius,\n bg = _ref.bg,\n hoverBg = _ref.hoverBg,\n fontSize = _ref.fontSize,\n textAlign = _ref.textAlign,\n fontColor = _ref.fontColor,\n fontWeight = _ref.fontWeight,\n hoverFontColor = _ref.hoverFontColor,\n borderWidth = _ref.borderWidth,\n borderColor = _ref.borderColor,\n hoverBorderColor = _ref.hoverBorderColor,\n padding = _ref.padding,\n antiAdBlocker = _ref.antiAdBlocker,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var fullWidth = !isTwoButtonRowLayout || order > 1;\n var marginLeft = isTwoButtonRowLayout && order === 1 ? 5 : 0;\n var marginRight = isTwoButtonRowLayout && order === 0 ? 5 : 0;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, +borderWidth);\n var style = {\n textDecoration: type === \"link\" ? \"underline\" : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(scaleMobile(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n order: order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style: style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n acceptEssentials = _ref.decision.acceptEssentials,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptEssentialsFontSize = _ref$bodyDesign.acceptEssentialsFontSize,\n acceptEssentialsBg = _ref$bodyDesign.acceptEssentialsBg,\n acceptEssentialsTextAlign = _ref$bodyDesign.acceptEssentialsTextAlign,\n acceptEssentialsBorderColor = _ref$bodyDesign.acceptEssentialsBorderColor,\n acceptEssentialsPadding = _ref$bodyDesign.acceptEssentialsPadding,\n acceptEssentialsBorderWidth = _ref$bodyDesign.acceptEssentialsBorderWidth,\n acceptEssentialsFontColor = _ref$bodyDesign.acceptEssentialsFontColor,\n acceptEssentialsFontWeight = _ref$bodyDesign.acceptEssentialsFontWeight,\n acceptEssentialsHoverBg = _ref$bodyDesign.acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor = _ref$bodyDesign.acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor = _ref$bodyDesign.acceptEssentialsHoverBorderColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order: order,\n type: acceptEssentials,\n borderRadius: borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptIndividual = _ref.decision.acceptIndividual,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptIndividualFontSize = _ref$bodyDesign.acceptIndividualFontSize,\n acceptIndividualBg = _ref$bodyDesign.acceptIndividualBg,\n acceptIndividualTextAlign = _ref$bodyDesign.acceptIndividualTextAlign,\n acceptIndividualBorderColor = _ref$bodyDesign.acceptIndividualBorderColor,\n acceptIndividualPadding = _ref$bodyDesign.acceptIndividualPadding,\n acceptIndividualBorderWidth = _ref$bodyDesign.acceptIndividualBorderWidth,\n acceptIndividualFontColor = _ref$bodyDesign.acceptIndividualFontColor,\n acceptIndividualFontWeight = _ref$bodyDesign.acceptIndividualFontWeight,\n acceptIndividualHoverBg = _ref$bodyDesign.acceptIndividualHoverBg,\n acceptIndividualHoverFontColor = _ref$bodyDesign.acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor = _ref$bodyDesign.acceptIndividualHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order: order,\n type: acceptIndividual,\n borderRadius: borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var isTcf = _ref.isTcf,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n _ref$saveButton = _ref.saveButton,\n type = _ref$saveButton.type,\n fontSize = _ref$saveButton.fontSize,\n bg = _ref$saveButton.bg,\n textAlign = _ref$saveButton.textAlign,\n borderColor = _ref$saveButton.borderColor,\n padding = _ref$saveButton.padding,\n borderWidth = _ref$saveButton.borderWidth,\n fontColor = _ref$saveButton.fontColor,\n fontWeight = _ref$saveButton.fontWeight,\n hoverBg = _ref$saveButton.hoverBg,\n hoverFontColor = _ref$saveButton.hoverFontColor,\n hoverBorderColor = _ref$saveButton.hoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order: order,\n type: type,\n borderRadius: borderRadius,\n bg: bg,\n hoverBg: hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign: textAlign,\n fontColor: fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor: hoverFontColor,\n borderWidth: borderWidth,\n borderColor: borderColor,\n hoverBorderColor: hoverBorderColor,\n padding: padding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptAll(_ref, isHover, framed, order, isTwoButtonRowLayout) {\n var acceptAll = _ref.decision.acceptAll,\n borderRadius = _ref.layout.borderRadius,\n _ref$bodyDesign = _ref.bodyDesign,\n acceptAllFontSize = _ref$bodyDesign.acceptAllFontSize,\n acceptAllBg = _ref$bodyDesign.acceptAllBg,\n acceptAllTextAlign = _ref$bodyDesign.acceptAllTextAlign,\n acceptAllBorderColor = _ref$bodyDesign.acceptAllBorderColor,\n acceptAllPadding = _ref$bodyDesign.acceptAllPadding,\n acceptAllBorderWidth = _ref$bodyDesign.acceptAllBorderWidth,\n acceptAllFontColor = _ref$bodyDesign.acceptAllFontColor,\n acceptAllFontWeight = _ref$bodyDesign.acceptAllFontWeight,\n acceptAllHoverBg = _ref$bodyDesign.acceptAllHoverBg,\n acceptAllHoverFontColor = _ref$bodyDesign.acceptAllHoverFontColor,\n acceptAllHoverBorderColor = _ref$bodyDesign.acceptAllHoverBorderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order: order,\n type: acceptAll,\n borderRadius: borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker: antiAdBlocker,\n pageRequestUuid4: pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { isIE, AsciiSpinner, useBanner, bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleEllipsesText, bannerButtonsInlineStyleSave } from \"../../../..\";\n\nvar BannerButton = function BannerButton(_ref) {\n var inlineStyle = _ref.inlineStyle,\n type = _ref.type,\n onClick = _ref.onClick,\n children = _ref.children,\n framed = _ref.framed,\n busyOnClick = _ref.busyOnClick,\n order = _ref.order;\n\n if (type === \"hide\") {\n return null;\n }\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isBusy = _useState2[0],\n setIsBusy = _useState2[1];\n\n var handleOnClick = useCallback(function () {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n isHover = _useState4[0],\n setIsHover = _useState4[1];\n\n var banner = useBanner();\n var individualPrivacyOpen = banner.individualPrivacyOpen,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n _banner$bodyDesign = banner.bodyDesign,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: function onMouseEnter() {\n return setIsHover(true);\n },\n onMouseLeave: function onMouseLeave() {\n return setIsHover(false);\n }\n };\n var useStyleFn = useMemo(function () {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, order, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || useAcceptEssentials === \"hide\" || individualPrivacyOpen || order > 1 ? false : acceptAllOneRowLayout)), h(\"span\", _extends({}, bannerButtonsInlineStyleEllipsesText(), type === \"link\" ? interactionAttr : {}), isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","function bannerButtonsInlineStyleEllipsesText() {\n return {\n style: {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n wordBreak: \"keep-all\",\n overflow: \"hidden\",\n cursor: \"pointer\"\n }\n };\n}\n\nexport { bannerButtonsInlineStyleEllipsesText };","import { Fragment, useMemo } from \"react\";\nimport { useBanner, useBannerButtonCallbacks, BannerButton } from \"../../..\";\n\nvar BannerButtonList = function BannerButtonList() {\n var banner = useBanner();\n var activeAction = banner.activeAction,\n _banner$bodyDesign = banner.bodyDesign,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n acceptAllOneRowLayout = _banner$bodyDesign.acceptAllOneRowLayout,\n _banner$decision = banner.decision,\n showGroups = _banner$decision.showGroups,\n groupsFirstView = _banner$decision.groupsFirstView,\n saveButton = _banner$decision.saveButton,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n acceptIndividual = _banner$decision.acceptIndividual,\n buttonOrderString = _banner$decision.buttonOrder,\n _banner$texts = banner.texts,\n acceptAllText = _banner$texts.acceptAll,\n acceptEssentialsText = _banner$texts.acceptEssentials,\n acceptIndividualText = _banner$texts.acceptIndividual,\n _banner$saveButton = banner.saveButton,\n saveButtonType = _banner$saveButton.type,\n saveButtonUseAcceptAll = _banner$saveButton.useAcceptAll,\n save = banner.individualTexts.save,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n didGroupFirstChange = banner.didGroupFirstChange,\n productionNotice = banner.productionNotice,\n _banner$buttonClicked = banner.buttonClicked,\n buttonClicked = _banner$buttonClicked === void 0 ? \"\" : _banner$buttonClicked; // Calculate order of the buttons depending on a string like `all,essential,save,individual`\n\n var _useMemo = useMemo(function () {\n var buttonOrder = buttonOrderString.split(\",\");\n var buttonToOrder = buttonOrder.reduce(function (previous, curr) {\n previous[curr] = buttonOrder.indexOf(curr);\n return previous;\n }, {});\n var orderToButton = buttonOrder.reduce(function (previous, curr) {\n previous[buttonOrder.indexOf(curr)] = curr;\n return previous;\n }, {}); // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n\n // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n if (acceptAllOneRowLayout) {\n buttonToOrder[orderToButton[0]] = 1;\n buttonToOrder[orderToButton[1]] = 0;\n }\n\n return buttonToOrder;\n }, [buttonOrderString, acceptAllOneRowLayout]),\n buttonOrderAll = _useMemo.all,\n buttonOrderEssential = _useMemo.essential,\n buttonOrderIndividual = _useMemo.individual,\n buttonOrderSave = _useMemo.save;\n\n var isPro = process.env.PLUGIN_CTX === \"pro\";\n\n var _useBannerButtonCallb = useBannerButtonCallbacks(),\n buttonClickedAll = _useBannerButtonCallb.buttonClickedAll,\n buttonClickedEssentials = _useBannerButtonCallb.buttonClickedEssentials,\n buttonClickedCustom = _useBannerButtonCallb.buttonClickedCustom,\n handleAll = _useBannerButtonCallb.acceptAll,\n handleEssentials = _useBannerButtonCallb.acceptEssentials,\n handleIndividual = _useBannerButtonCallb.acceptIndividual,\n openIndividualPrivacy = _useBannerButtonCallb.openIndividualPrivacy; // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n\n var busyOnClick = activeAction === \"change\";\n var groupsFirstViewEnabled = showGroups && groupsFirstView;\n return h(Fragment, null, !individualPrivacyOpen && isPro && groupsFirstViewEnabled && saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, save) : h(BannerButton, {\n onClick: handleAll,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, acceptAllText), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials,\n inlineStyle: acceptEssentialsUseAcceptAll ? \"acceptAll\" : \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick,\n order: buttonOrderEssential\n }, acceptEssentialsText), (individualPrivacyOpen || isPro && groupsFirstViewEnabled && (saveButton === \"always\" || saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButtonUseAcceptAll ? acceptAll : saveButtonType,\n inlineStyle: saveButtonUseAcceptAll ? \"acceptAll\" : \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderSave\n }, save), !individualPrivacyOpen && h(BannerButton, {\n type: acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick,\n order: buttonOrderIndividual\n }, acceptIndividualText), productionNotice);\n};\n\nexport { BannerButtonList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, usePlainCss, scaleMobile, bannerInlineStylesRightSide, bannerInlineStylesLeftSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, commonInlineStyleBodyTeaching, commonInlineStyleBodyTeachingsSeparator, BannerDottedGroupList, BannerTcfStackList, BannerGroupList, BannerTcfGroupList, BannerButtonList, BannerHistorySelect, useCommonTeachings } from \"../../..\";\nimport { useMemo, Fragment } from \"react\";\n\nvar BannerBody = function BannerBody(_ref) {\n var _document$getElementB;\n\n var leftSideContainerRef = _ref.leftSideContainerRef,\n rightSideContainerRef = _ref.rightSideContainerRef;\n var banner = useBanner();\n var type = banner.layout.type,\n mobile = banner.mobile,\n teachingsSeparatorActive = banner.bodyDesign.teachingsSeparatorActive,\n tcf = banner.tcf,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n\n var _useCommonTeachings = useCommonTeachings(),\n description = _useCommonTeachings.description,\n teachings = _useCommonTeachings.teachings; // Make the content responsive\n\n\n var leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Calculate the body content depending on TCF availability and if second view got opened\n\n var stackOrGroups = useMemo(function () {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroupList, null) : h(BannerTcfStackList, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroupList, null) : h(BannerDottedGroupList, null);\n }\n }, [individualPrivacyOpen, tcf]);\n var leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), teachings.length > 0 && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", commonInlineStyleBodyTeachingsSeparator(banner))), teachings.map(function (teaching) {\n return h(\"span\", _extends({\n key: teaching\n }, commonInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: teaching\n }\n }));\n })))), stackOrGroups);\n var rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtonList, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { scaleMobile } from \"../../scale\";\nvar BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide(_ref) {\n var type = _ref.layout.type,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n activeAction = _ref.activeAction,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding);\n var style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style: style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDescription(_ref) {\n var fontSize = _ref.design.fontSize,\n _ref$bodyDesign = _ref.bodyDesign,\n descriptionInheritFontSize = _ref$bodyDesign.descriptionInheritFontSize,\n descriptionFontSize = _ref$bodyDesign.descriptionFontSize,\n descriptionTextAlign = _ref.individualLayout.descriptionTextAlign,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { hexToRgb } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\nimport { BUTTONS_WIDTH } from \"./leftSide\";\n\nfunction bannerInlineStylesRightSide(_ref) {\n var _style;\n\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n bg = _ref$design.bg,\n fontColor = _ref$design.fontColor,\n headerDesign = _ref.headerDesign,\n footerDesign = _ref.footerDesign,\n padding = _ref.bodyDesign.padding,\n inheritDialogMaxWidth = _ref.individualLayout.inheritDialogMaxWidth,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var usePadding = scaleMobile(mobile, pageRequestUuid4, padding, undefined, true);\n\n var _hexToRgb = hexToRgb(fontColor),\n r = _hexToRgb.r,\n g = _hexToRgb.g,\n b = _hexToRgb.b;\n\n var width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n var style = (_style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width: width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\"\n }, _defineProperty(_style, individualPrivacyOpen ? \"top\" : \"bottom\", individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(scaleMobile(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(scaleMobile(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\")), _defineProperty(_style, \"zIndex\", 1), _defineProperty(_style, \"display\", \"flex\"), _defineProperty(_style, \"flexWrap\", \"wrap\"), _defineProperty(_style, \"transition\", \"box-shadow ease-in-out .1s\"), _defineProperty(_style, \"--boxShadowShowScroll\", \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")), _style);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style: style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyContainer(_ref) {\n var type = _ref.layout.type,\n _ref$design = _ref.design,\n bg = _ref$design.bg,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n padding = _ref.bodyDesign.padding,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: scaleMobile(mobile, pageRequestUuid4, padding).map(function (p, i) {\n return \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\");\n }).join(\" \"),\n lineHeight: 1.4\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBody(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style: style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef, useCallback } from \"react\";\nimport { useBanner, bannerFooterInlineStyle, bannerFooterInlineStyleContainer, FooterLink, useCommonFooterLinks } from \"../../..\"; // eslint-disable-next-line react/display-name\n\nvar BannerFooter = /*#__PURE__*/forwardRef(function (_, ref) {\n var banner = useBanner();\n var isTcf = banner.isTcf,\n type = banner.layout.type,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n updateIndividualPrivacyOpen = banner.updateIndividualPrivacyOpen,\n onClose = banner.onClose,\n tcf = banner.i18n.tcf,\n isConsentRecord = banner.isConsentRecord;\n var handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(function (e) {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n var handleClose = useCallback(function (e) {\n onClose();\n e.preventDefault();\n }, [onClose]);\n\n var _useCommonFooterLinks = useCommonFooterLinks({\n onClose: isConsentRecord ? handleClose : undefined,\n putPoweredByLinkInRow: type === \"banner\" ? 0 : 1,\n row1: [process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(FooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList)]\n }),\n links = _useCommonFooterLinks.rows,\n renderLinks = _useCommonFooterLinks.render;\n\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), renderLinks(links)));\n});\nexport { BannerFooter };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleContainer(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n inheritBg = _ref$footerDesign.inheritBg,\n bg = _ref$footerDesign.bg,\n inheritTextAlign = _ref$footerDesign.inheritTextAlign,\n textAlign = _ref$footerDesign.textAlign,\n padding = _ref$footerDesign.padding,\n fontSize = _ref$footerDesign.fontSize,\n fontColor = _ref$footerDesign.fontColor,\n fontWeight = _ref$footerDesign.fontWeight,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(function (p) {\n return \"\".concat(p, \"px\");\n }).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight: fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n bannerMaxWidth = _ref$layout.bannerMaxWidth,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { scaleMobile, useBanner, usePlainCss, useRenderedHeightsAsCssVars, bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerFooter, BannerBody } from \"../../..\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\n\nvar BannerContent = function BannerContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n type = _banner$layout.type,\n dialogBorderRadius = _banner$layout.dialogBorderRadius,\n _banner$decision = banner.decision,\n acceptAll = _banner$decision.acceptAll,\n acceptEssentials = _banner$decision.acceptEssentials,\n showCloseIcon = _banner$decision.showCloseIcon,\n mobile = banner.mobile,\n individualPrivacyOpen = banner.individualPrivacyOpen,\n bg = banner.design.bg,\n _banner$bodyDesign = banner.bodyDesign,\n teachingsFontColor = _banner$bodyDesign.teachingsFontColor,\n acceptEssentialsUseAcceptAll = _banner$bodyDesign.acceptEssentialsUseAcceptAll,\n activeAction = banner.activeAction,\n pageRequestUuid4 = banner.pageRequestUuid4;\n var rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n var id = \"cntnt-\".concat(pageRequestUuid4);\n var ref = useRef();\n var currentRef = ref.current;\n var useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n var showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (useAcceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = scaleMobile(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showScrollBoxShadow = _useState2[0],\n setShowScrollBoxShadow = _useState2[1];\n\n var updateShowScrollBoxShadow = useCallback(function () {\n if (currentRef) {\n var clientHeight = currentRef.clientHeight,\n scrollHeight = currentRef.scrollHeight,\n scrollTop = currentRef.scrollTop,\n offsetHeight = currentRef.offsetHeight;\n var hasScrollbar = clientHeight < scrollHeight;\n var scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n var result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(function () {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return function () {\n return currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n };\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return function () {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n var headerRef = useRef();\n var footerRef = useRef();\n var rightSideContainerRef = useRef();\n useRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyle(_ref) {\n var _document$getElementB;\n\n var type = _ref.layout.type,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n showCloseIcon = _ref.decision.showCloseIcon,\n activeAction = _ref.activeAction,\n individualPrivacyOpen = _ref.individualPrivacyOpen,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n var mobileMaxHeight = +mobile.maxHeight;\n var useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n var closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: scaleMobile(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$headerDesign = _ref.headerDesign,\n borderWidth = _ref$headerDesign.borderWidth,\n borderColor = _ref$headerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useDesignBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style: style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleSeparator(_ref) {\n var type = _ref.layout.type,\n design = _ref.design,\n _ref$footerDesign = _ref.footerDesign,\n borderWidth = _ref$footerDesign.borderWidth,\n borderColor = _ref$footerDesign.borderColor,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n var style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style: style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { bannerContentInlineStyleInner, useBanner, useBannerAnimation, useResettableAnimation } from \"../../..\";\nimport { AnimatedCss } from \"../..\";\nimport { BannerContent } from \".\";\n\nvar BannerAnimatedContent = function BannerAnimatedContent() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n animationInDuration = _banner$layout.animationInDuration,\n animationOutDuration = _banner$layout.animationOutDuration,\n animationVisible = banner.animationVisible;\n\n var _useBannerAnimation = useBannerAnimation()(banner.layout),\n useAnimationIn = _useBannerAnimation.useAnimationIn,\n useAnimationOut = _useBannerAnimation.useAnimationOut;\n\n var _useResettableAnimati = useResettableAnimation(useAnimationIn, animationInDuration),\n _useResettableAnimati2 = _slicedToArray(_useResettableAnimati, 2),\n stateAnimationIn = _useResettableAnimati2[0],\n stateAnimationInDuration = _useResettableAnimati2[1];\n\n var _useResettableAnimati3 = useResettableAnimation(useAnimationOut === \"none\" ? \"fadeOut\" : useAnimationOut, useAnimationOut === \"none\" ? 0 : animationOutDuration),\n _useResettableAnimati4 = _slicedToArray(_useResettableAnimati3, 2),\n stateAnimationOut = _useResettableAnimati4[0],\n stateAnimationOutDuration = _useResettableAnimati4[1];\n\n return h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null));\n};\n\nexport { BannerAnimatedContent };","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyleInner(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogMaxWidth = _ref$layout.dialogMaxWidth,\n dialogPosition = _ref$layout.dialogPosition,\n dialogMargin = _ref$layout.dialogMargin,\n bannerPosition = _ref$layout.bannerPosition,\n dialogBorderRadius = _ref$layout.dialogBorderRadius,\n _ref$design = _ref.design,\n borderWidth = _ref$design.borderWidth,\n borderColor = _ref$design.borderColor,\n textAlign = _ref$design.textAlign,\n fontColor = _ref$design.fontColor,\n fontInheritFamily = _ref$design.fontInheritFamily,\n fontFamily = _ref$design.fontFamily,\n fontWeight = _ref$design.fontWeight,\n boxShadowEnabled = _ref$design.boxShadowEnabled,\n boxShadowOffsetX = _ref$design.boxShadowOffsetX,\n boxShadowOffsetY = _ref$design.boxShadowOffsetY,\n boxShadowBlurRadius = _ref$design.boxShadowBlurRadius,\n boxShadowSpreadRadius = _ref$design.boxShadowSpreadRadius,\n boxShadowColor = _ref$design.boxShadowColor,\n boxShadowColorAlpha = _ref$design.boxShadowColorAlpha,\n individualLayout = _ref.individualLayout,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4,\n individualPrivacyOpen = _ref.individualPrivacyOpen;\n var mobileAlignment = mobile.alignment;\n var useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n var useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n var width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n\n var style = _defineProperty({\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign: textAlign,\n width: width,\n overflow: \"hidden\",\n alignSelf: scaleMobile(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight: fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateRgba(boxShadowColor, boxShadowColorAlpha)) : undefined\n }, useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\", useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined);\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(function (i) {\n return \"\".concat(i, \"px\");\n }).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style: style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { dispatchResizeEvent } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBanner, useBannerActionLinks, useBannerHistory, usePlainCss, useRestrictScrollWhenVisible, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, BannerAnimatedContent, isHiddenDueLegal } from \"../..\";\n\nvar Banner = function Banner() {\n var banner = useBanner();\n var _banner$layout = banner.layout,\n overlay = _banner$layout.overlay,\n overlayBlur = _banner$layout.overlayBlur,\n _banner$customCss = banner.customCss,\n antiAdBlocker = _banner$customCss.antiAdBlocker,\n css = _banner$customCss.css,\n visible = banner.visible,\n animationVisible = banner.animationVisible,\n activeAction = banner.activeAction,\n skipOverlay = banner.skipOverlay,\n gotHiddenDueLegal = banner.gotHiddenDueLegal,\n pageRequestUuid4 = banner.pageRequestUuid4,\n individualPrivacyOpen = banner.individualPrivacyOpen;\n var hiddenDueLegal = isHiddenDueLegal(banner);\n var show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss(\"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;backface-visibility:initial;text-transform: initial;}\")); // Blur effect\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n useRestrictScrollWhenVisible(show && overlay && animationVisible); // Listen to window resizes and resize the content automatically\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n setInvalidate = _useState2[1];\n\n var updateSize = function updateSize() {\n return setInvalidate(+new Date());\n };\n\n useLayoutEffect(function () {\n window.addEventListener(\"resize\", updateSize);\n return function () {\n return window.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n useLayoutEffect(function () {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(function () {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerHistory();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n var content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(BannerAnimatedContent, null));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\n/**\n * Do not allow scrolling when this banner is visible\n *\n * @param visible\n */\n\nfunction useRestrictScrollWhenVisible(visible) {\n return useEffect(function () {\n var _document$body = document.body,\n dataset = _document$body.dataset,\n style = _document$body.style; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = visible ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n }, [visible]);\n}\n\nexport { useRestrictScrollWhenVisible };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect, useState } from \"react\";\nimport { useBanner } from \"../../..\";\n\nfunction useBannerHistory() {\n var banner = useBanner();\n var consent = banner.consent,\n groups = banner.groups,\n tcf = banner.tcf,\n activeAction = banner.activeAction,\n selectHistoryEntry = banner.selectHistoryEntry,\n fetchHistory = banner.fetchHistory; // Save the current consent and group settings to restore\n\n var _useState = useState({\n consent: consent,\n groups: groups,\n tcf: tcf\n }),\n _useState2 = _slicedToArray(_useState, 2),\n originalConsent = _useState2[0],\n setOriginalConsent = _useState2[1]; // Listen to consent changes and save it as original consent (only when non-history)\n\n\n useEffect(function () {\n if (!activeAction) {\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(function () {\n function fetch() {\n return _fetch.apply(this, arguments);\n }\n\n function _fetch() {\n _fetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var result, _result, _result$, _groups2, decision, _tcf2;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return fetchHistory();\n\n case 2:\n result = _context.sent;\n\n // Initially select first item\n if (result.length) {\n _result = _slicedToArray(result, 1), _result$ = _result[0], _groups2 = _result$.groups, decision = _result$.decision, _tcf2 = _result$.tcf;\n selectHistoryEntry(_groups2, decision, _tcf2);\n } else {\n selectHistoryEntry([], []);\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetch.apply(this, arguments);\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent: consent,\n groups: groups,\n tcf: tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n var _groups = originalConsent.groups,\n consentGroups = originalConsent.consent.groups,\n _tcf = originalConsent.tcf;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(_groups, consentGroups, _tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerHistory };","import { scaleMobile } from \"../..\";\n\nfunction bannerOverlayInlineStyleAlignment(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n dialogPosition = _ref$layout.dialogPosition,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n var style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style: style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import { scaleMobile } from \"../..\";\nimport { calculateRgba } from \"../../..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle(_ref) {\n var _ref$layout = _ref.layout,\n type = _ref$layout.type,\n overlay = _ref$layout.overlay,\n overlayBg = _ref$layout.overlayBg,\n overlayBgAlpha = _ref$layout.overlayBgAlpha,\n fontSize = _ref.design.fontSize,\n antiAdBlocker = _ref.customCss.antiAdBlocker,\n mobile = _ref.mobile,\n pageRequestUuid4 = _ref.pageRequestUuid4;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateRgba(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 99999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n filter: \"none\"\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useState } from \"react\";\nimport { getOptionsFromWindow, getOtherOptionsFromWindow } from \"../utils\";\nimport { useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getCookieConsentManager } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\nimport { getUserDecision } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useBannerConsentListener } from \"@devowl-wp/react-cookie-banner\";\nimport { BannerContextFactory, useBannerToggleOverlay, Banner, useBannerStateContextCallbacks } from \"@devowl-wp/react-cookie-banner\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { BannerProductionNotice } from \".\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nvar WebsiteBanner = function WebsiteBanner(_ref) {\n var poweredLink = _ref.poweredLink;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.customizeValuesBanner,\n layout = _getOtherOptionsFromW2.layout,\n decision = _getOtherOptionsFromW2.decision,\n legal = _getOtherOptionsFromW2.legal,\n design = _getOtherOptionsFromW2.design,\n headerDesign = _getOtherOptionsFromW2.headerDesign,\n bodyDesign = _getOtherOptionsFromW2.bodyDesign,\n footerDesign = _getOtherOptionsFromW2.footerDesign,\n texts = _getOtherOptionsFromW2.texts,\n individualLayout = _getOtherOptionsFromW2.individualLayout,\n saveButton = _getOtherOptionsFromW2.saveButton,\n group = _getOtherOptionsFromW2.group,\n individualTexts = _getOtherOptionsFromW2.individualTexts,\n customCss = _getOtherOptionsFromW2.customCss,\n mobile = _getOtherOptionsFromW2.mobile,\n pageId = _getOtherOptionsFromW.pageId,\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4,\n pageIdToPermalink = _getOtherOptionsFromW.pageIdToPermalink,\n consentForwardingExternalHosts = _getOtherOptionsFromW.consentForwardingExternalHosts,\n essentialGroup = _getOtherOptionsFromW.essentialGroup,\n isTcf = _getOtherOptionsFromW.isTcf,\n isEPrivacyUSA = _getOtherOptionsFromW.isEPrivacyUSA,\n isAgeNotice = _getOtherOptionsFromW.isAgeNotice,\n isListServicesNotice = _getOtherOptionsFromW.isListServicesNotice,\n tcf = _getOtherOptionsFromW.tcf,\n tcfMetadata = _getOtherOptionsFromW.tcfMetadata,\n groups = _getOtherOptionsFromW.groups,\n isRefreshSiteAfterConsent = _getOtherOptionsFromW.isRefreshSiteAfterConsent,\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName,\n bannerI18n = _getOtherOptionsFromW.bannerI18n,\n affiliate = _getOtherOptionsFromW.affiliate,\n isCurrentlyInTranslationEditorPreview = _getOtherOptionsFromW.isCurrentlyInTranslationEditorPreview,\n pageByIdUrl = _getOtherOptionsFromW.pageByIdUrl;\n\n var userDecision = getUserDecision(userConsentCookieName); // TCF compatibility\n\n var tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n var _useBannerToggleOverl = useBannerToggleOverlay(document.getElementById(pageRequestUuid4)),\n toggleOverlay = _useBannerToggleOverl.toggleOverlay;\n\n var _useBannerStateContex = useBannerStateContextCallbacks({\n toggleOverlay: toggleOverlay,\n revokeConsent: function revokeConsent(_ref2) {\n var tcf = _ref2.tcf;\n // Do not rely on current state of `groups` because it can be altered through history change\n var buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n // TCF compatibility: revoke TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n return applyConsent({\n consent: {\n groups: getCookieConsentManager().getDefaultDecision(true)\n },\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n }\n }),\n _openHistory = _useBannerStateContex.openHistory,\n _openBanner = _useBannerStateContex.openBanner,\n _revokeConsent = _useBannerStateContex.revokeConsent,\n _updateTcfFilterBy = _useBannerStateContex.updateTcfFilterBy,\n _updateIndividualPrivacyOpen = _useBannerStateContex.updateIndividualPrivacyOpen,\n _updateGroupChecked = _useBannerStateContex.updateGroupChecked,\n _updateCookieChecked = _useBannerStateContex.updateCookieChecked,\n _onClose = _useBannerStateContex.onClose,\n _selectHistoryEntry = _useBannerStateContex.selectHistoryEntry; // Context values preparation\n\n\n var _useState = useState({\n layout: _objectSpread({}, layout),\n decision: _objectSpread({}, decision),\n legal: _objectSpread({}, legal),\n design: _objectSpread({}, design),\n headerDesign: _objectSpread({}, headerDesign),\n bodyDesign: _objectSpread({}, bodyDesign),\n footerDesign: _objectSpread({}, footerDesign),\n texts: _objectSpread({}, texts),\n individualLayout: _objectSpread({}, individualLayout),\n saveButton: _objectSpread({}, saveButton),\n group: _objectSpread({}, group),\n individualTexts: _objectSpread({}, individualTexts),\n customCss: _objectSpread({}, customCss),\n mobile: _objectSpread({}, mobile),\n productionNotice: h(BannerProductionNotice, null),\n pageRequestUuid4: pageRequestUuid4,\n pageIdToPermalink: pageIdToPermalink,\n pageByIdUrl: pageByIdUrl,\n consentForwardingExternalHosts: consentForwardingExternalHosts,\n pageId: pageId,\n isTcf: isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n groups: groups,\n essentialGroup: essentialGroup,\n poweredLink: poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n i18n: bannerI18n,\n keepVariablesInTexts: isCurrentlyInTranslationEditorPreview,\n affiliate: affiliate,\n consent: {\n groups: _objectSpread(_objectSpread({}, userDecision === false ? {} : userDecision.consent), getCookieConsentManager().getDefaultDecision(userDecision === false))\n },\n didGroupFirstChange: false,\n onSave: function onSave(markAsDoNotTrack, buttonClicked) {\n setContextValue(function (state) {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n var tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n var appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n tcfString: tcfString\n });\n\n if (isRefreshSiteAfterConsent || state.refreshSiteAfterSave) {\n appliedConsent.then(function () {\n return (// Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(function () {\n return window.location.reload();\n }, state.refreshSiteAfterSave ||\n /* BC */\n 2000)\n );\n }); // When refreshing the site, do not show any out animation\n\n // When refreshing the site, do not show any out animation\n return state;\n } else {\n return _objectSpread(_objectSpread({}, state), toggleOverlay(state, false));\n }\n });\n },\n fetchHistory: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, history;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce;\n _context.next = 3;\n return commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false\n });\n\n case 3:\n history = _context.sent;\n setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n history: history\n });\n });\n return _context.abrupt(\"return\", history);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function fetchHistory() {\n return _fetchHistory.apply(this, arguments);\n }\n\n return fetchHistory;\n }(),\n // Predefined callbacks\n updateTcfFilterBy: function updateTcfFilterBy(newFilter) {\n return _updateTcfFilterBy(setContextValue, newFilter);\n },\n updateIndividualPrivacyOpen: function updateIndividualPrivacyOpen(opened) {\n return _updateIndividualPrivacyOpen(setContextValue, opened);\n },\n updateGroupChecked: function updateGroupChecked(id, checked) {\n return _updateGroupChecked(setContextValue, id, checked);\n },\n updateCookieChecked: function updateCookieChecked(groupId, id, checked) {\n return _updateCookieChecked(setContextValue, groupId, id, checked);\n },\n onClose: function onClose() {\n return _onClose(setContextValue);\n },\n selectHistoryEntry: function selectHistoryEntry(groups, consentGroups, tcf) {\n return _selectHistoryEntry(setContextValue, groups, consentGroups, tcf);\n },\n openHistory: function openHistory(e) {\n return _openHistory(setContextValue, e);\n },\n openBanner: function openBanner(e) {\n return _openBanner(setContextValue, e);\n },\n revokeConsent: function revokeConsent(successMessage, e) {\n return _revokeConsent(setContextValue, successMessage, e);\n }\n }),\n _useState2 = _slicedToArray(_useState, 2),\n contextValue = _useState2[0],\n setContextValue = _useState2[1];\n\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n useBannerConsentListener(setContextValue, userConsentCookieName);\n var BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { prepareTcfString } from \"../tcf\";\nimport { applyTcfModelMetadata, applyRestrictivePurposes, createTcfModel, createTcfModelFromCookie } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCookieConsentManager } from \"../others\";\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\n\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(function () {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n var gvl;\n var model;\n var manager = getCookieConsentManager();\n var restored = createTcfModelFromCookie(tcf, tcfMeta, manager.getOption(\"tcfCookieName\")); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n var newTcf = createTcfModel({\n tcf: tcf,\n tcfMeta: tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyTcfModelMetadata(model, tcfMeta, manager);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl: gvl,\n model: model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { useCallback } from \"react\";\nimport { useBannerAnimation } from \"../..\";\n/**\n * Provides a callback which can be used to update the state of the banner context and manipulate\n * the `visible` and `animationVisible` property correctly.\n */\n\nfunction useBannerToggleOverlay(overlay) {\n var useBannerAnimationCallback = useBannerAnimation();\n var toggleOverlay = useCallback(function (_ref, show) {\n var layout = _ref.layout;\n var animationInDuration = layout.animationInDuration,\n animationOutDuration = layout.animationOutDuration;\n\n var _useBannerAnimationCa = useBannerAnimationCallback(layout),\n useAnimationIn = _useBannerAnimationCa.useAnimationIn,\n useAnimationOut = _useBannerAnimationCa.useAnimationOut;\n\n var defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n var useDuration = show ? useAnimationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : useAnimationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(function () {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(function () {\n var bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(function () {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n var animationVisible = {\n animationVisible: show\n };\n return show ? _objectSpread({\n visible: true\n }, animationVisible) : animationVisible;\n }, [useBannerAnimationCallback]);\n return {\n overlay: overlay,\n toggleOverlay: toggleOverlay\n };\n}\n\nexport { useBannerToggleOverlay };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { useEffect } from \"react\";\nimport { getOptionsFromWindow, isCustomize } from \"../utils\";\nimport { getCookieConsentManager } from \"../others\";\nimport { preDecisionGateway } from \"@devowl-wp/cookie-consent-web-client\";\nimport { preDecisionGatewayDynamicRequest, preDecisionGatewayHasPageClass, preDecisionGatewayIsCrawler, preDecisionGatewayIsPreventPreDecision, preDecisionGatewaySupportsCookies, preDecisionGatewayUserConsent, preDecisionGatewayIsDoNotTrack } from \"@devowl-wp/cookie-consent-web-client\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../wp-api\";\nimport { isHiddenDueLegal } from \"@devowl-wp/react-cookie-banner\";\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\n\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n useEffect(function () {\n // Only run this predecision mechanism once and when not in customize\n if (isCustomize()) {\n return;\n }\n\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce,\n _getOptionsFromWindow2 = _getOptionsFromWindow.others,\n isAcceptAllForBots = _getOptionsFromWindow2.isAcceptAllForBots,\n isPreventPreDecision = _getOptionsFromWindow2.isPreventPreDecision,\n hasDynamicPreDecisions = _getOptionsFromWindow2.hasDynamicPreDecisions,\n isRespectDoNotTrack = _getOptionsFromWindow2.isRespectDoNotTrack;\n\n var onSave = banner.onSave;\n preDecisionGateway(getCookieConsentManager(), {\n gateways: [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass([\"login-action-\"]), preDecisionGatewayDynamicRequest(function () {\n var _document$documentEle = document.documentElement,\n clientWidth = _document$documentEle.clientWidth,\n clientHeight = _document$documentEle.clientHeight;\n return commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n });\n }, 10000, hasDynamicPreDecisions), /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_, banner) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", isHiddenDueLegal(banner) ? \"consent\" : false);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }(), preDecisionGatewayIsPreventPreDecision(isPreventPreDecision), preDecisionGatewayIsCrawler(isAcceptAllForBots ? \"all\" : false), preDecisionGatewayIsDoNotTrack(isRespectDoNotTrack), preDecisionGatewayUserConsent],\n args: [banner],\n onIsDoNotTrack: function onIsDoNotTrack() {\n onSave(true, \"none\");\n },\n onShowCookieBanner: function onShowCookieBanner() {\n return setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getCookieConsentManager().getDefaultDecision()\n }\n }, toggleOverlay(state, true));\n });\n }\n });\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nvar preDecisionGatewayIsCrawler = function preDecisionGatewayIsCrawler(resultIfBot) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n\n if (!(getUserDecision(decisionCookieName) !== false || !resultIfBot)) {\n _context.next = 3;\n break;\n }\n\n return _context.abrupt(\"return\", false);\n\n case 3:\n return _context.abrupt(\"return\", isCrawler() ? resultIfBot : false);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsCrawler };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Prevent any predecision and user decision and force to reuse existing consent or all for crawlers.\n * This could be e.g. be configured by a dynamic hook or on server-side via a localized variable.\n */\n\nvar preDecisionGatewayIsPreventPreDecision = function preDecisionGatewayIsPreventPreDecision(preventPreDecision) {\n return /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var decisionCookieName, userDecision;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n decisionCookieName = _ref.decisionCookieName;\n userDecision = getUserDecision(decisionCookieName);\n return _context.abrupt(\"return\", preventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explicitly allow cookies on all pages\n \"all\" : \"consent\" : false);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }();\n};\n\nexport { preDecisionGatewayIsPreventPreDecision };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nvar preDecisionGatewayHasPageClass = function preDecisionGatewayHasPageClass(classNames) {\n return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var className;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n className = document.body.className;\n return _context.abrupt(\"return\", classNames.filter(function (c) {\n return className.indexOf(c) > -1;\n }).length > 0 ? \"consent\" : false);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\n\nexport { preDecisionGatewayHasPageClass };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { getUserDecision, OPT_IN_ALL_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useEffect } from \"react\";\n\nfunction useBannerConsentListener(setContextValue, userConsentCookieName) {\n useEffect(function () {\n var listener = function listener() {\n var consent = getUserDecision(userConsentCookieName);\n consent && setContextValue(function (state) {\n return _objectSpread(_objectSpread({}, state), {}, {\n consent: {\n groups: consent.consent\n }\n });\n });\n };\n\n document.addEventListener(OPT_IN_ALL_EVENT, listener);\n return function () {\n document.removeEventListener(OPT_IN_ALL_EVENT, listener);\n };\n }, []);\n}\n\nexport { useBannerConsentListener };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/**\n * Wait for a given object which is calculated through a callback.\n */\nfunction waitObject(_x) {\n return _waitObject.apply(this, arguments);\n}\n\nfunction _waitObject() {\n _waitObject = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(getObject) {\n var delayNextCheck,\n maxTries,\n i,\n _args = arguments;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n delayNextCheck = _args.length > 1 && _args[1] !== undefined ? _args[1] : 500;\n maxTries = _args.length > 2 && _args[2] !== undefined ? _args[2] : 0;\n i = 0;\n\n case 3:\n if (getObject()) {\n _context.next = 11;\n break;\n }\n\n if (!(maxTries > 0 && i >= maxTries)) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", undefined);\n\n case 6:\n _context.next = 8;\n return new Promise(function (r) {\n return setTimeout(r, delayNextCheck);\n });\n\n case 8:\n i++;\n _context.next = 3;\n break;\n\n case 11:\n return _context.abrupt(\"return\", getObject());\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _waitObject.apply(this, arguments);\n}\n\nexport { waitObject };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT, waitObject } from \"@devowl-wp/cookie-consent-web-client\";\nvar amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref) {\n var _ref$detail$cookie, presetId, codeOptIn, codeDynamics, _ref3, amznAssoWidgetHtmlId, element, slotNum, adContainer;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _ref$detail$cookie = _ref.detail.cookie, presetId = _ref$detail$cookie.presetId, codeOptIn = _ref$detail$cookie.codeOptIn, codeDynamics = _ref$detail$cookie.codeDynamics;\n _context2.t0 = presetId;\n _context2.next = _context2.t0 === \"amazon-associates-widget\" ? 4 : _context2.t0 === \"google-maps\" ? 16 : 18;\n break;\n\n case 4:\n _ref3 = codeDynamics || {}, amznAssoWidgetHtmlId = _ref3.amznAssoWidgetHtmlId;\n\n if (!amznAssoWidgetHtmlId) {\n _context2.next = 15;\n break;\n }\n\n element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (!element) {\n _context2.next = 15;\n break;\n }\n\n slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n _context2.next = 13;\n return waitObject(function () {\n return document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\"));\n }, 500, 50);\n\n case 13:\n adContainer = _context2.sent;\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n\n case 15:\n return _context2.abrupt(\"break\", 19);\n\n case 16:\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {\n var element, _ref6, et_pb_map_init, jQuery;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n element = _ref4.detail.element;\n _ref6 = window, et_pb_map_init = _ref6.et_pb_map_init, jQuery = _ref6.jQuery;\n\n if (!(jQuery && element.matches(\".et_pb_map\") && et_pb_map_init)) {\n _context.next = 6;\n break;\n }\n\n _context.next = 5;\n return waitObject(function () {\n return window.google;\n });\n\n case 5:\n et_pb_map_init(jQuery(element).parent());\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x2) {\n return _ref5.apply(this, arguments);\n };\n }());\n return _context2.abrupt(\"break\", 19);\n\n case 18:\n return _context2.abrupt(\"break\", 19);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n}\n\nexport { listenPresetOptIn };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\nimport { getUserDecision, regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n var found = [];\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n groups = _getOtherOptionsFromW.groups,\n revisionHash = _getOtherOptionsFromW.revisionHash;\n\n var allCookies = groups.map(function (_ref) {\n var items = _ref.items;\n return items;\n }).flat();\n\n var _iterator = _createForOfIteratorHelper(allCookies),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var row = _step.value;\n\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n var technicalDefinitions = row.technicalDefinitions;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n var _iterator2 = _createForOfIteratorHelper(technicalDefinitions),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var td = _step2.value;\n var regexp = regExpPatternFromWildcardName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var already = getUserDecision(getOtherOptionsFromWindow().userConsentCookieName);\n\n if (found.length) {\n var relevantCookie = found.sort(function (_ref2, _ref3) {\n var a = _ref2.relevance;\n var b = _ref3.relevance;\n return a - b;\n })[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n var consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { OPT_IN_EVENT, OPT_OUT_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new Promise(function (resolve, reject) {\n var _consentSync = consentSync.apply(void 0, args),\n foundCookie = _consentSync.cookie,\n consentGiven = _consentSync.consentGiven,\n cookieOptIn = _consentSync.cookieOptIn;\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cookie = _ref.detail.cookie;\n\n if (cookie === foundCookie) {\n resolve();\n }\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {\n var cookie;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cookie = _ref3.detail.cookie;\n\n if (cookie === foundCookie) {\n reject();\n }\n\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }());\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(function (args) {\n return consent.apply(void 0, _toConsumableArray(args));\n }));\n}\n\nexport { consentAll };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\n/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, deleteCookiesServer, getCookieConsentManager } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { printConsentUuidsToHTMLElement } from \"@devowl-wp/cookie-consent-web-client\";\nimport { OPT_OUT_EVENT, ready } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getSsrPoweredByLink } from \"@devowl-wp/react-cookie-banner\";\n__webpack_public_path__ = getWebpackPublicPath(process.env);\nlistenPresetOptIn();\ntcfCmpApi();\nready(function () {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n pageRequestUuid4 = _getOtherOptionsFromW.pageRequestUuid4;\n\n var poweredLink = getSsrPoweredByLink(pageRequestUuid4);\n var element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n printConsentUuidsToHTMLElement(\".rcb-consent-history-uuids\", getCookieConsentManager());\n document.addEventListener(OPT_OUT_EVENT, /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var deleteHttpCookies;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n deleteHttpCookies = _ref.detail.deleteHttpCookies;\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n deleteHttpCookies.length && setTimeout(function () {\n return deleteCookiesServer(deleteHttpCookies);\n }, 0);\n\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { tcfCmpApiDispatcher } from \"@devowl-wp/cookie-consent-web-client\";\nimport { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCookieConsentManager } from \"../others\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nvar cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n var other = getOtherOptionsFromWindow();\n var isTcf = other.isTcf;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n var tcf = other.tcf,\n tcfMetadata = other.tcfMetadata;\n var scope = tcfMetadata.scope; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(function () {\n return tcfCmpApiDispatcher(tcf, tcfMetadata, cmpApiInstance, getCookieConsentManager().getOption(\"tcfCookieName\"));\n }, 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { CookieConsentManager } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT, OPT_IN_ALL_EVENT } from \"../events\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current consent to HTML elements.\n */\n\nfunction printConsentUuidsToHTMLElement(selector, decisionCookieName) {\n var elements = Array.prototype.slice.call(document.querySelectorAll(selector));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, function () {\n elements.forEach(function (element) {\n return element.innerHTML = element.getAttribute(\"data-fallback\");\n });\n });\n document.addEventListener(OPT_IN_ALL_EVENT, function () {\n var consent = getUserDecision(decisionCookieName instanceof CookieConsentManager ? decisionCookieName.getOption(\"decisionCookieName\") : decisionCookieName);\n var allUuids = consent ? [consent.uuid].concat(_toConsumableArray(consent.previousUuids)) : [];\n elements.forEach(function (element) {\n return element.innerHTML = allUuids.length > 0 ? allUuids.join(\", \") : element.getAttribute(\"data-fallback\");\n });\n });\n}\n\nexport { printConsentUuidsToHTMLElement };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n var _document = document,\n body = _document.body;\n var parentElement = element.parentElement;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentClearDelete } from \"../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n var _getOptionsFromWindow = getOptionsFromWindow(),\n restNamespace = _getOptionsFromWindow.restNamespace,\n restRoot = _getOptionsFromWindow.restRoot,\n restQuery = _getOptionsFromWindow.restQuery,\n restNonce = _getOptionsFromWindow.restNonce;\n\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import { getOtherOptionsFromWindow } from \"../utils\";\n\nvar BannerProductionNotice = function BannerProductionNotice() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro,\n isLicensed = _getOtherOptionsFromW.isLicensed,\n isDevLicense = _getOtherOptionsFromW.isDevLicense,\n _getOtherOptionsFromW2 = _getOtherOptionsFromW.bannerI18n,\n noLicense = _getOtherOptionsFromW2.noLicense,\n devLicense = _getOtherOptionsFromW2.devLicense;\n\n if (!isPro) {\n return null;\n }\n\n var useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerProductionNotice };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport var locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n};","import _createForOfIteratorHelper from \"@babel/runtime/helpers/createForOfIteratorHelper\";\nimport { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding(_ref) {\n var endpoints = _ref.endpoints,\n data = _ref.data;\n\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n isPro = _getOtherOptionsFromW.isPro;\n\n if (isPro) {\n /* onlypro:start */\n var promises = [];\n\n var _iterator = _createForOfIteratorHelper(endpoints),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var endpoint = _step.value;\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyConsentForwarding, getCookieConsentManager } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n\n/**\n * Save consent to the backend and apply cookies on running session.\n */\nfunction applyConsent(_x) {\n return _applyConsent.apply(this, arguments);\n}\n\nfunction _applyConsent() {\n _applyConsent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {\n var consent, _ref$markAsDoNotTrack, markAsDoNotTrack, buttonClicked, _ref$blocker, blocker, blockerThumbnail, tcfString, _document$documentEle, clientWidth, clientHeight, _getOptionsFromWindow, restNamespace, restRoot, restQuery, restNonce, _yield$commonRequest, forward, uuid, cookie_revision, decision_in_cookie;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n consent = _ref.consent, _ref$markAsDoNotTrack = _ref.markAsDoNotTrack, markAsDoNotTrack = _ref$markAsDoNotTrack === void 0 ? false : _ref$markAsDoNotTrack, buttonClicked = _ref.buttonClicked, _ref$blocker = _ref.blocker, blocker = _ref$blocker === void 0 ? 0 : _ref$blocker, blockerThumbnail = _ref.blockerThumbnail, tcfString = _ref.tcfString;\n _document$documentEle = document.documentElement, clientWidth = _document$documentEle.clientWidth, clientHeight = _document$documentEle.clientHeight;\n _getOptionsFromWindow = getOptionsFromWindow(), restNamespace = _getOptionsFromWindow.restNamespace, restRoot = _getOptionsFromWindow.restRoot, restQuery = _getOptionsFromWindow.restQuery, restNonce = _getOptionsFromWindow.restNonce; // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n _context.next = 5;\n return commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace: restNamespace,\n restRoot: restRoot,\n restQuery: restQuery,\n restNonce: restNonce\n },\n sendRestNonce: false,\n request: _objectSpread(_objectSpread({}, consent), {}, {\n markAsDoNotTrack: markAsDoNotTrack,\n buttonClicked: buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker: blocker,\n blockerThumbnail: blockerThumbnail,\n tcfString: tcfString\n }),\n params: {\n _wp_http_referer: window.location.href\n }\n });\n\n case 5:\n _yield$commonRequest = _context.sent;\n forward = _yield$commonRequest.forward;\n uuid = _yield$commonRequest.uuid;\n cookie_revision = _yield$commonRequest.cookie_revision;\n decision_in_cookie = _yield$commonRequest.decision_in_cookie;\n // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n window.rcbDisabledCookieComp = {\n uuid: uuid,\n previousUuids: [],\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n _context.next = 13;\n return Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), getCookieConsentManager().applyCookies({\n type: \"consent\"\n })].filter(Boolean));\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _applyConsent.apply(this, arguments);\n}\n\nexport { applyConsent };","import { CookieConsentManager } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\n\nfunction getCookieConsentManager() {\n var _getOtherOptionsFromW = getOtherOptionsFromWindow(),\n userConsentCookieName = _getOtherOptionsFromW.userConsentCookieName,\n revisionHash = _getOtherOptionsFromW.revisionHash,\n setCookiesViaManager = _getOtherOptionsFromW.setCookiesViaManager,\n groups = _getOtherOptionsFromW.groups,\n essentialGroup = _getOtherOptionsFromW.essentialGroup;\n\n if (!window.rcbConsentManager) {\n window.rcbConsentManager = new CookieConsentManager({\n decisionCookieName: userConsentCookieName,\n essentialGroupSlug: essentialGroup,\n groups: groups,\n revisionHash: revisionHash,\n supportsCookiesName: \"real_cookie_banner-test\",\n tagManager: setCookiesViaManager,\n skipOptIn: function skipOptIn(cookie) {\n var _ref = cookie,\n presetId = _ref.presetId;\n return [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n },\n cmpId: process.env.TCF_CMP_ID,\n cmpVersion: getCmpVersion(\"major\"),\n tcfCookieName: \"\".concat(userConsentCookieName, \"-tcf\")\n });\n }\n\n return window.rcbConsentManager;\n}\n\nexport { getCookieConsentManager };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Get the version of Real Cookie Banner as integer.\n */\n\nfunction getCmpVersion(type) {\n var split = getOptionsFromWindow().version.split(\".\");\n return +(type === \"major\" ? split[0] : split.map(function (i) {\n return +i < 10 ? \"0\".concat(i) : i;\n }).join(\"\")); // 1.11.1 => 1011000; 2.5.0 => 2005001;\n}\n\nexport { getCmpVersion };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n })];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","// Currently we can not rely on core-js for frontend banner because\n// it increases the bundle size a lot. There is an open issue for this:\n// https://github.com/zloirock/core-js/issues/388\n// import \"core-js/stable/string/virtual/starts-with\";\n// import \"core-js/stable/string/virtual/ends-with\";\n// import \"core-js/features/object/assign\";\n// import \"core-js/features/object/values\";\n// import \"core-js/features/promise\";\n// https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWIth\nif (!String.prototype.startsWith) {\n // @see\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.indexOf(searchString, position) === position;\n };\n} // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n\n if (typeof position !== \"number\" || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames\n\n\nif (Element.prototype.getAttributeNames == undefined) {\n Element.prototype.getAttributeNames = function () {\n var attributes = this.attributes;\n var length = attributes.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++) {\n result[i] = attributes[i].name;\n }\n\n return result;\n };\n} // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill\n\n\n(function () {\n if (typeof window.CustomEvent === \"function\") return;\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n})(); // https://github.com/KhaledElAnsari/Object.values\n\n\nObject.values = Object.values ? Object.values : function (obj) {\n var allowedTypes = [\"[object String]\", \"[object Object]\", \"[object Array]\", \"[object Function]\"];\n var objType = Object.prototype.toString.call(obj);\n\n if (obj === null || typeof obj === \"undefined\") {\n throw new TypeError(\"Cannot convert undefined or null to object\");\n } else if (!~allowedTypes.indexOf(objType)) {\n return [];\n } else {\n // if ES6 is supported\n if (Object.keys) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n }\n\n var result = [];\n\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n result.push(obj[prop]);\n }\n }\n\n return result;\n }\n}; // https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nif (typeof Object.assign != \"function\") {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n value: function assign() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var target = args[0]; // .length of function is 2\n\n \"use strict\";\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError(\"Cannot convert undefined or null to object\");\n }\n\n var to = Object(target);\n\n for (var index = 1; index < args.length; index++) {\n var nextSource = args[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n\n return to;\n },\n writable: true,\n configurable: true\n });\n} // https://stackoverflow.com/a/20428914/5506547\n\n\n(function (arr) {\n arr.forEach(function (item) {\n // eslint-disable-next-line no-prototype-builtins\n if (item.hasOwnProperty(\"remove\")) {\n return;\n }\n\n Object.defineProperty(item, \"remove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function remove() {\n this.parentNode.removeChild(this);\n }\n });\n });\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);","// 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].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\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) scriptUrl = scripts[scripts.length - 1].src\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;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t392: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [568], function() { return __webpack_require__(6652); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], function() { return __webpack_require__(6946); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","getServiceSelection","_ref","selectedGroups","_iterateCookies","decisionCookieName","tagManager","groups","essentialGroupSlug","type","isManagerActive","_groups$filter","filter","_ref2","slug","essentialGroupObj","consentEssentials","id","items","map","_ref3","decision","getUserDecision","consent","console","warn","iterateCookies","_callee","callback","_iterator","_step","_group","_iterator2","_step2","_selectedGroups$_grou","_cookie","_isOptIn","_context","prev","next","s","n","done","value","indexOf","t0","e","f","finish","t1","stop","_x","apply","this","arguments","getManagerDependingVariables","setCookiesViaManager","useVariableNameCamel","useVariableNamePascal","useGlobalObjectName","charAt","toUpperCase","slice","applyOptIn","_applyOptIn","_callee2","options","allOptInCookies","_getServiceSelection","skipOptIn","_getManagerDependingV","isManagerOptOut","dataLayerPromise","waitPromises","_context2","Promise","resolve","undefined","group","cookie","isOptIn","codeDynamics","codeOptIn","rest","isOnlyWhenNoConsentToManager","isSkipOptIn","concat","push","putHtmlCodeToDom","document","dispatchEvent","CustomEvent","detail","_x2","_x3","_x4","abrupt","cookies","ready","all","applyOptInOutManager","_applyOptInOutManager","dataLayer","event","realCookieBannerOptInEvents","r","setTimeout","realCookieBannerOptOutEvents","_x5","_x6","deleteCookiesLocally","technicalDefinitions","dynamics","_step$value","name","pattern","RegExp","regExpPatternFromWildcardName","applyDynamicsToHtml","_i","_Object$keys","Object","keys","length","key","test","useStorage","window","localStorage","sessionStorage","_i2","_Object$keys2","itemName","setItem","tries","getItem","removeItem","err","applyOptOut","_applyOptOut","deleteHttpCookies","codeOptOut","codeOptOutDelete","noTechnicalDefinitions","some","_apply","_yield$applyOptIn","applyOptInReady","_yield$applyOptInOutM","applyOptInOutManagerReady","optInAllReady","sent","t2","t3","respectLegitimateInterests","_groups$filter2","result","ids","_ref4","legalBasis","_ref5","CookieConsentManager","getOption","cookieName","cookieValue","cname","decode","matches","matchAll","pop","decodeURIComponent","getCookie","supportsCookies","rcbDisabledCookieComp","split","string","separator","out","join","explode","_split","uuidString","revision","uuids","uuid","shift","previousUuids","JSON","parse","BANNER_PRE_DECISION_SHOW_EVENT","OPT_IN_EVENT","OPT_IN_ALL_EVENT","OPT_OUT_EVENT","fn","state","cb","readyState","addEventListener","str","tmp","replace","DYNAMICS_VARIABLE_REGEXP","src","fullMatch","variableName","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_VISUAL_PAINT_MODE","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER","HTML_ATTRIBUTE_GOT_CLICKED","HTML_ATTRIBUTE_GOT_CLICKED_VALUE","HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED","HTML_ATTRIBUTE_THUMBNAIL","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","html","referenceNode","body","error","beforeWriteToken","token","attrs","booleanAttrs","href","content","attr","querySelector","OPT_IN_CONTENT_BLOCKER","dispatchResizeEvent","delay","Event","htmlDecode","input","_doc$querySelector","DOMParser","parseFromString","documentElement","textContent","isUrl","url","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","AsciiSpinner","_ref$ms","ms","_ref$chars","chars","_useState","_useState2","i","setI","interval","setInterval","clearInterval","h","dangerouslySetInnerHTML","__html","CookieProperty","label","children","printValueAs","banner","useBannerOrBlocker","_banner$i18n","i18n","yes","no","useValue","style","wordBreak","c","target","rel","_ref$group","groupBorderWidth","groupBorderColor","antiAdBlocker","customCss","mobile","pageRequestUuid4","className","borderLeft","scale","paddingLeft","commonInlineStyleGroupsCookieProperty","CookiePropertyList","_ref$cookie","purpose","provider","providerPrivacyPolicy","ePrivacyUSA","isEssentialGroup","_useBannerOrBlocker","ePrivacyUSAEnabled","types","http","abbr","backgroundColor","local","session","flash","indexedDb","legalRequirement","legitimateInterest","host","duration","durationUnit","sessionDuration","technicalCookieDefinition","fontFamily","noExpiration","Cookie","checked","disabled","onToggleCheck","_ref$propertyListProp","propertyListProps","isRendered","setIsRendered","bannerOrBlocker","descriptionFontSize","marginTop","commonInlineStyleGroupsCookie","marginBottom","icon","CheckOutlined","onClick","verticalAlign","PlainAntdIconAsSvg","svgString","extraSVGAttrs","fill","Tooltip","ref","title","_ref$position","position","color","_ref$size","size","always","rounded","noAnimate","bounce","display","BannerContextFactory","_Context","Context","toString","context","useBanner","BlockerContextFactory","useBlocker","FooterLink","anchorRest","isHover","setIsHover","onMouseEnter","onMouseLeave","_ref$footerDesign","footerDesign","fontSize","fontColor","hoverFontColor","fontInheritFamily","linkTextDecoration","design","textDecoration","padding","commonInlineStyleFooterLink","FooterPoweredByLink","poweredLink","affiliate","link","innerHTML","description","labelBehind","jsxJoin","components","filtered","Boolean","reduce","acc","curr","useCommonFooterLinks","onClose","putPoweredByLinkInRow","row1","close","_useBannerOrBlocker$f","poweredByLink","linkTarget","_useLegalLinks","useLegalLinks","linkPrivacyPolicy","linkImprint","targetAttributes","rows","render","row","joinWithAndSeparator","arr","andSeparator","splice","supWithLineHeightFix","useCommonTeachings","disableDataProcessingInUnsafeCountries","disableAgeNotice","disableListServicesNotice","blocker","isEPrivacyUSA","isAgeNotice","ageNotice","isListServicesNotice","listServicesNotice","_useBannerOrBlocker$t","texts","ageNoticeBanner","consentForwardingExternalHostsText","consentForwardingExternalHosts","tcf","individualPrivacyOpen","individualDescription","individualTexts","essentialGroup","_useBannerOrBlocker$i","tcfBannerI18n","keepVariablesInTexts","consentForwardingExternalHostsFinalText","useDescription","useDataProcessingInUnsafeCountries","useAgeNotice","useListServicesNotice","hasBothPlaceholders","nonEssentialGroups","flattenSeparator","listServicesNames","groupIdx","listServiceGroupsNames","listOfServicesAppendix","teachings","_useBannerOrBlocker$l","legal","privacyPolicy","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprint","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","pageByIdUrl","pageIdToPermalink","counter","usePlainCss","css","uniqueId","keep","getElementById","createElement","getElementsByTagName","appendChild","_element$parentNode","parentNode","removeChild","commonInlineStyleBodyTeaching","_ref$bodyDesign","bodyDesign","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","textAlign","commonInlineStyleBodyTeachingsSeparator","borderRadius","layout","teachingsSeparatorActive","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","maxWidth","width","height","background","commonInlineStyleGroupsCheckbox","visible","headlineFontSize","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","useFontSize","useCheckboxBorderWidth","cursor","opacity","border","marginRight","lineHeight","boxSizing","commonGroupsInlineStyleLinkMore","linkColor","linkHoverColor","commonInlineStyleHeaderHeadline","hasCloseIcon","_ref$headerDesign","headerDesign","fontWeight","paddingRight","scaleMobile","useWidthOfThisContainerId","original","replaceWith","enabled","scalePercent","scalePercentVertical","getSsrPoweredByLink","originalPoweredLink","nextElementSibling","rcbPoweredByCacheOuterHTML","toLowerCase","outerHTML","matchingSelector","proto","Element","nativeFunction","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchingElements","querySelectorAll","matchIdx","commonUrlBuilder","location","_ref$params","params","_ref$nonce","nonce","apiUrl","restRoot","query","permalinkPath","rest_route","pathname","foundParams","path","match","getParams","checkParam","usePath","namespace","restNamespace","useThisProtocol","protocol","set","restNonce","_wpnonce","currentApiUrlString","method","_method","restQuery","pool","recreateFetchPool","nonceDeprecationPool","_nonceDeprecationPool","restRecreateNonceEndpoint","resultPromise","returnNonce","reject","recreateFetch","newNonce","ok","text","values","parseResult","_parseResult","cloneForFallback","lastError","line","clone","json","startsWith","CONTENT_TYPE_JSON","commonRequest","_commonRequest","routeRequest","_ref$settings","settings","_ref$multipart","multipart","_ref$sendRestNonce","sendRestNonce","allowBody","hasRestNonce","init","apiUrlBuilt","responseJSON","replay","resultAny","request","stringify","headers","Accept","code","status","detectCorruptRestApiFailed","RouteHttpVerb","untrailingslashit","endsWith","trailingslashit","getWebpackPublicPath","env","g","publicUrl","chunkFolder","unblock","found","isPseudoRef","loop1","hosts","regexp","setAttribute","remove","_preDecisionGateway","handler","show","useOptions","gateways","args","onIsDoNotTrack","onShowCookieBanner","gateway","getOptions","applyCookiesWithOptions","preDecisionGatewaySupportsCookies","supportsCookiesName","isCrawler","userAgent","navigator","promiseTimeout","promise","then","Error","preDecisionGatewayDynamicRequest","timeout","active","revisionHash","_yield$promiseTimeout","predecision","isDoNotTrack","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","preDecisionGatewayIsDoNotTrack","preDecisionGatewayUserConsent","locationRestConsentDynamicPredecisionGet","isHiddenDueLegal","_banner$legal","imprintHide","privacyPolicyHide","pageId","useBannerAnimation","isMobile","innerWidth","isMobileFirefox","term","animationIn","animationInOnlyMobile","animationOut","animationOutOnlyMobile","useAnimationIn","useAnimationOut","cancelEvent","preventDefault","stopPropagation","HREF_MATCHER","useResettableAnimation","animation","_useState3","_useState4","j","setJ","_useState5","_useState6","stateAnimation","setStateAnimation","_useState7","_useState8","stateAnimationReset","setStateAnimationReset","_useState9","_useState10","stateDuration","setStateDuration","_useState11","_useState12","stateDurationReset","setStateDurationReset","hexToRgb","hex","exec","parseInt","b","calculateRgba","alpha","_hexToRgb","getAnimationRelatedState","isVisible","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","AnimatedCss","_ref2$animateOnMount","animateOnMount","_ref2$isVisible","_ref2$animationIn","_ref2$animationOut","_ref2$animationInDela","_ref2$animationOutDel","_ref2$animationInDura","_ref2$animationOutDur","_ref2$className","_ref2$style","_useState2$","setAnimationRelatedState","classes","backwardStyle","transition","animationDelay","animationDuration","pointerEvents","useRenderedHeightsAsCssVars","cssId","cssElement","previousHeight","recalculate","currentHeight","getBoundingClientRect","Math","floor","animateContainer","ResizeObserver","ro","observe","disconnect","removeEventListener","useBannerButtonCallbacks","_useBanner","onSave","updateGroupChecked","updateCookieChecked","updateIndividualPrivacyOpen","activeAction","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","Portal","_ref$tag","tag","renderInContainer","el","classList","add","renderIn","CloseIcon","tooltipText","framed","tooltipAlways","_ref$thickness","thickness","idCloseIconNotPortaled","idCloseIconPortaled","idCloseIconPlaceholder","rect","y","x","BannerCloseIcon","_useBanner$headerDesi","_useBanner$i18n","closeWithoutSaving","_useBanner$buttonClic","buttonClicked","_useBannerButtonCallb","container","clientWidth","BannerHeader","_","_ref$layout","dialogBorderRadius","_ref$design","borderWidth","borderColor","restDesign","inheritBg","bg","useType","useBorderWidth","_banner$headerDesign","logo","logoRetina","showCloseIcon","headline","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","p","zIndex","top","borderTop","borderRight","bannerMaxWidth","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","inheritBannerMaxWidth","margin","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","alt","isRetina","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","useFitDim","dimStyle","m","bannerHeaderInlineStyleLogo","BannerGroupSectionTitle","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","bannerGroupsInlineStyleDescription","BannerCookie","_consent$groups","isDisabled","isChecked","handleCheckbox","BannerGroup","_consent$groups$id","isOpen","setIsOpen","previewCheckboxActiveState","_banner$individualTex","showMore","hideMore","CheckboxIcon","sort","MinusOutlined","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","BannerGroupList","groupSpacing","useGroups","clear","index","BannerDottedGroup","groupsFirstView","dottedGroupsInheritFontSize","dottedGroupsFontSize","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroupList","showGroups","lineBreak","BannerHistorySelect","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","selectedHistoryItem","_history$filter","descriptionInheritFontSize","optionStyle","borderBottom","onChange","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerButtonsInlineStyleCommon","isTwoButtonRowLayout","order","hoverBg","hoverBorderColor","fullWidth","marginLeft","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","_ref$saveButton","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","_banner$decision","_banner$bodyDesign","acceptAllOneRowLayout","useAcceptEssentials","acceptEssentialsUseAcceptAll","interactionAttr","useStyleFn","textOverflow","BannerButtonList","buttonOrderString","buttonOrder","_banner$texts","acceptAllText","acceptEssentialsText","acceptIndividualText","_banner$saveButton","saveButtonType","saveButtonUseAcceptAll","useAcceptAll","save","productionNotice","didGroupFirstChange","_banner$buttonClicked","_useMemo","buttonToOrder","previous","orderToButton","buttonOrderAll","buttonOrderEssential","essential","buttonOrderIndividual","individual","buttonOrderSave","handleAll","handleEssentials","handleIndividual","BannerBody","_document$getElementB","leftSideContainerRef","rightSideContainerRef","_useCommonTeachings","leftSideId","rightSideId","contentId","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teaching","rightSide","_style","dialogMaxWidth","inheritDialogMaxWidth","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooter","isConsentRecord","handleClose","_useCommonFooterLinks","useCommonFooterLink","links","renderLinks","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","BannerContent","_banner$layout","currentRef","current","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","ceil","platform","headerRef","footerRef","innerHeight","mobileMaxHeight","maxHeight","useMobileMaxHeight","closeIconDistance","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","BannerAnimatedContent","dialogPosition","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","mobileAlignment","animationVisible","_useBannerAnimation","_useResettableAnimati","_useResettableAnimati2","stateAnimationIn","stateAnimationInDuration","_useResettableAnimati3","_useResettableAnimati4","stateAnimationOut","stateAnimationOutDuration","alignment","alignSelf","boxShadow","Banner","overlay","_banner$customCss","overlayBlur","skipOverlay","gotHiddenDueLegal","hiddenDueLegal","_document$body","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","openBanner","openHistory","revokeConsent","setInvalidate","updateSize","fetchHistory","originalConsent","setOriginalConsent","_fetch","_result","_result$","_groups2","_tcf2","fetch","_groups","consentGroups","_tcf","useBannerHistory","handleType","successMessage","eventListenerDocumentClick","parent","getAttribute","eventListenerHashChange","hash","substring","bannerOverlayInlineStyleAlignment","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","locationRestConsentGet","WebsiteBanner","_fetchHistory","_getOtherOptionsFromW","getOtherOptionsFromWindow","_getOtherOptionsFromW2","customizeValuesBanner","tcfMetadata","isRefreshSiteAfterConsent","userConsentCookieName","bannerI18n","isCurrentlyInTranslationEditorPreview","userDecision","tcfObject","tcfMeta","useTcf","_useBannerToggleOverl","useBannerAnimationCallback","toggleOverlay","_useBannerAnimationCa","useDuration","trim","useBannerToggleOverlay","_useBannerStateContex","_revokeConsent","toggleWithActiveAction","setContextValue","refreshSiteAfterSave","_len","Array","_key","alert","reload","updateTcfFilterBy","_len2","_key2","newFilter","tcfFilterBy","_len3","_key3","opened","_len4","_key4","newConsent","_len5","_key5","groupId","cookieIds","_len6","_key6","additionalChanges","useBannerStateContextCallbacks","applyConsent","getCookieConsentManager","getDefaultDecision","tcfString","_openHistory","_openBanner","_updateTcfFilterBy","_updateIndividualPrivacyOpen","_updateGroupChecked","_updateCookieChecked","_onClose","_selectHistoryEntry","markAsDoNotTrack","appliedConsent","_getOptionsFromWindow","getOptionsFromWindow","contextValue","customizeIdsBanner","resultIfBot","preventPreDecision","classNames","_getOptionsFromWindow2","others","isAcceptAllForBots","isPreventPreDecision","hasDynamicPreDecisions","isRespectDoNotTrack","preDecisionGateway","_document$documentEle","viewPortWidth","viewPortHeight","_wp_http_referer","useBannerPreDecisionGateway","listener","useBannerConsentListener","BannerContext","Provider","waitObject","_waitObject","getObject","delayNextCheck","maxTries","_args","amazonWidgetsSlotNum","locationRestConsentClearDelete","consentSync","typeOrId","allCookies","flat","relevance","td","already","relevantCookie","consentGiven","cookieOptIn","_consentSync","foundCookie","consentAll","_ref$detail$cookie","presetId","amznAssoWidgetHtmlId","slotNum","adContainer","_ref6","et_pb_map_init","jQuery","google","ensureBodyElement","allUuids","consentApi","BannerProductionNotice","isPro","isLicensed","isDevLicense","noLicense","devLicense","useText","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","_applyConsent","_ref$markAsDoNotTrack","_ref$blocker","blockerThumbnail","_yield$commonRequest","forward","cookie_revision","decision_in_cookie","applyCookies","rcbConsentManager","cmpId","cmpVersion","version","tcfCookieName","String","searchString","subjectString","isFinite","lastIndex","getAttributeNames","attributes","bubbles","cancelable","evt","createEvent","initCustomEvent","obj","objType","TypeError","prop","assign","defineProperty","to","nextSource","nextKey","writable","configurable","CharacterData","DocumentType","item","enumerable","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","a","definition","o","get","globalThis","Function","Symbol","toStringTag","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}