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 1.16 kB
import*as e from"react/jsx-runtime";import*as t from"clsx";import*as s from"react";import*as a from"../../../hooks/use-consent-manager.js";import*as o from"../../../hooks/use-styles.js";import*as l from"../../../hooks/use-theme.js";import*as r from"../consent-manager-dialog.module.js";let m=({noStyle:m,style:n})=>{let i,{isPrivacyDialogOpen:u}=(0,a.useConsentManager)(),{disableAnimation:y,noStyle:d,scrollLock:f=!0}=(0,l.useTheme)(),[c,g]=(0,s.useState)(!1);(0,s.useEffect)(()=>{if(u)g(!0);else if(y)g(!1);else{let e=setTimeout(()=>{g(!1)},Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--dialog-animation-duration")||"200",10));return()=>clearTimeout(e)}},[u,y]);let p="string"==typeof n?n:n?.className,v=(0,o.useStyles)("dialog.overlay",{baseClassName:!(d||m)&&r.default.overlay,className:p,noStyle:d||m});i=d||m||y?void 0:c?r.default.overlayVisible:r.default.overlayHidden;let j=(0,t.default)(v.className,i);return(0,e.jsx)("div",{style:"object"==typeof n&&"style"in n?{...v.style,...n.style}:v.style,className:j,"data-testid":"consent-manager-dialog-overlay"})},n=m;export{m as ConsentManagerDialogOverlay,n as Overlay};