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 2.63 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__.d=(e,_)=>{for(var t in _)__webpack_require__.o(_,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:_[t]})},__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__,{ConsentButton:()=>ConsentButton});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_slot_namespaceObject=require("@radix-ui/react-slot"),external_react_namespaceObject=require("react"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_styles_cjs_namespaceObject=require("../../../hooks/use-styles.cjs"),use_theme_cjs_namespaceObject=require("../../../hooks/use-theme.cjs"),index_cjs_namespaceObject=require("../ui/button/index.cjs"),ConsentButton=(0,external_react_namespaceObject.forwardRef)(({asChild:e,className:_,style:t,noStyle:s,action:a,themeKey:r,baseClassName:n,variant:c="neutral",mode:o="stroke",size:u="small",onClick:p,closeCookieBanner:i=!1,closeCustomizeDialog:b=!1,...l},m)=>{let{saveConsents:j,setShowPopup:k,setIsPrivacyDialogOpen:d}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),{noStyle:w}=(0,use_theme_cjs_namespaceObject.useTheme)(),O=(0,use_styles_cjs_namespaceObject.useStyles)(r??"button",{baseClassName:[!(w||s)&&index_cjs_namespaceObject.buttonVariants({variant:c,mode:o,size:u}).root()],style:{...t},className:_,noStyle:w||s}),x=(0,external_react_namespaceObject.useCallback)(e=>{if(i&&k(!1),b&&d(!1),"open-consent-dialog"===a&&(d(!0),k(!1,!0)),p&&p(e),"open-consent-dialog"!==a)switch(a){case"accept-consent":j("all");break;case"reject-consent":j("necessary");break;case"custom-consent":j("custom")}},[i,b,p,j,d,k,a]),y=e?react_slot_namespaceObject.Slot:"button";return(0,jsx_runtime_namespaceObject.jsx)(y,{ref:m,...O,onClick:x,...l})});for(var __webpack_i__ in ConsentButton.displayName="ConsentButton",exports.ConsentButton=__webpack_exports__.ConsentButton,__webpack_exports__)-1===["ConsentButton"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});