UNPKG

@c15t/react

Version:

Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization

1 lines 3.26 kB
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CookieBannerOverlay:()=>CookieBannerOverlay,Overlay:()=>Overlay});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_clsx_namespaceObject=require("clsx");var external_clsx_default=__webpack_require__.n(external_clsx_namespaceObject);let external_react_namespaceObject=require("react"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_scroll_lock_cjs_namespaceObject=require("../../../hooks/use-scroll-lock.cjs"),use_styles_cjs_namespaceObject=require("../../../hooks/use-styles.cjs"),use_theme_cjs_namespaceObject=require("../../../hooks/use-theme.cjs"),external_cookie_banner_module_cjs_namespaceObject=require("../cookie-banner.module.cjs");var external_cookie_banner_module_cjs_default=__webpack_require__.n(external_cookie_banner_module_cjs_namespaceObject);let CookieBannerOverlay=(0,external_react_namespaceObject.forwardRef)(({className:e,style:_,noStyle:r,asChild:a,...t},c)=>{let n,{showPopup:s}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),{disableAnimation:o,noStyle:l,scrollLock:u}=(0,use_theme_cjs_namespaceObject.useTheme)(),[i,p]=(0,external_react_namespaceObject.useState)(!1);(0,external_react_namespaceObject.useEffect)(()=>{if(s)p(!0);else if(o)p(!1);else{let e=setTimeout(()=>{p(!1)},Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--banner-animation-duration")||"200",10));return()=>clearTimeout(e)}},[s,o]);let b=(0,use_styles_cjs_namespaceObject.useStyles)("banner.overlay",{baseClassName:!(l||r)&&external_cookie_banner_module_cjs_default().overlay,className:e,noStyle:l||r});n=l||r||o?void 0:i?external_cookie_banner_module_cjs_default().overlayVisible:external_cookie_banner_module_cjs_default().overlayHidden;let m=external_clsx_default()(b.className,n);return(0,use_scroll_lock_cjs_namespaceObject.useScrollLock)(!!(s&&u)),s&&u?(0,jsx_runtime_namespaceObject.jsx)("div",{ref:c,...t,className:m,style:{...b.style,..._},"data-testid":"cookie-banner-overlay"}):null}),Overlay=CookieBannerOverlay;for(var __webpack_i__ in exports.CookieBannerOverlay=__webpack_exports__.CookieBannerOverlay,exports.Overlay=__webpack_exports__.Overlay,__webpack_exports__)-1===["CookieBannerOverlay","Overlay"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});