{"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 `&#39;ionid=`\n    var doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"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 ? [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"] : _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 = '<sup style=\"vertical-align:top;line-height:100%;position:initial;\">';\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 ? \"<a href=\\\"\".concat(linkPrivacyPolicy.url, \"\\\" style=\\\"text-decoration:underline;color:inherit;\\\" onmouseenter=\\\"this.style.textDecoration='none'\\\" onmouseleave=\\\"this.style.textDecoration='underline'\\\" target=\\\"_blank\\\">$1</a>\") : \"$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(\",\"), \"</sup>\");\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 : \"\", \"</sup>\");\n      }), andSeparator);\n      useListServicesNotice = \"<span>\".concat(listServicesNotice, \"</span>\").concat(tcf && !individualPrivacyOpen ? \"<span>\".concat(tcfBannerI18n.listOfServicesAppendix, \"</span>\") : \"\");\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</sup>\");\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<typeof jsonFormData>[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":""}