@c15t/react
Version:
Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization
2 lines • 4.89 kB
JavaScript
'use client';
;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 a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__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__,{Root:()=>Root,ConsentManagerDialogRoot:()=>ConsentManagerDialogRoot});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"),external_react_dom_namespaceObject=require("react-dom"),theme_context_cjs_namespaceObject=require("../../../context/theme-context.cjs"),index_cjs_namespaceObject=require("../../../hooks/index.cjs"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_focus_trap_cjs_namespaceObject=require("../../../hooks/use-focus-trap.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_consent_manager_dialog_module_cjs_namespaceObject=require("../consent-manager-dialog.module.cjs");var external_consent_manager_dialog_module_cjs_default=__webpack_require__.n(external_consent_manager_dialog_module_cjs_namespaceObject);let external_overlay_cjs_namespaceObject=require("./overlay.cjs"),ConsentManagerDialogRoot=({children:e,open:_,noStyle:a,disableAnimation:t,scrollLock:c=!0,trapFocus:r=!0,overlay:n,className:s,style:o,theme:l,...u})=>{let i=(0,use_theme_cjs_namespaceObject.useTheme)(),m={...i.theme,...l},p=t??i.disableAnimation??!1,j=a??i.noStyle??!1,d=c??i.scrollLock??!0,b=r??i.trapFocus??!0,{isPrivacyDialogOpen:x,translationConfig:g}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),O=(0,index_cjs_namespaceObject.useTextDirection)(g.defaultLanguage),f=_??x,[k,y]=(0,external_react_namespaceObject.useState)(!1),q=(0,external_react_namespaceObject.useRef)(null),w=(0,external_react_namespaceObject.useRef)(null),[h,v]=(0,external_react_namespaceObject.useState)(!1);(0,external_react_namespaceObject.useEffect)(()=>{v(!0)},[]),(0,external_react_namespaceObject.useEffect)(()=>{if(f)y(!0);else if(p)y(!1);else{let e=setTimeout(()=>y(!1),Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--dialog-animation-duration")||"200",10));return()=>clearTimeout(e)}},[f,p]),(0,use_focus_trap_cjs_namespaceObject.useFocusTrap)(f&&b,q),(0,use_scroll_lock_cjs_namespaceObject.useScrollLock)(f&&d);let R=external_clsx_default()(external_consent_manager_dialog_module_cjs_default().root,!p&&(k?external_consent_manager_dialog_module_cjs_default().dialogVisible:external_consent_manager_dialog_module_cjs_default().dialogHidden),s),S=(0,use_styles_cjs_namespaceObject.useStyles)("dialog.root",{baseClassName:void 0,className:R,style:o,noStyle:j}),M=(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.LocalThemeContext.Provider,{value:{disableAnimation:p,noStyle:j,scrollLock:d,trapFocus:b,theme:m},children:f&&(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[!1===n?null:n??(0,jsx_runtime_namespaceObject.jsx)(external_overlay_cjs_namespaceObject.Overlay,{}),(0,jsx_runtime_namespaceObject.jsx)("dialog",{ref:q,...u,...S,className:S.className,"aria-labelledby":"privacy-settings-title",tabIndex:-1,dir:O,children:(0,jsx_runtime_namespaceObject.jsx)("div",{ref:w,className:external_clsx_default()(external_consent_manager_dialog_module_cjs_default().container,!p&&k?external_consent_manager_dialog_module_cjs_default().contentVisible:external_consent_manager_dialog_module_cjs_default().contentHidden),children:e})})]})});return h?(0,external_react_dom_namespaceObject.createPortal)(M,document.body):null},Root=ConsentManagerDialogRoot;for(var __webpack_i__ in exports.ConsentManagerDialogRoot=__webpack_exports__.ConsentManagerDialogRoot,exports.Root=__webpack_exports__.Root,__webpack_exports__)-1===["ConsentManagerDialogRoot","Root"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});