@c15t/react 2.0.0-rc.5 → 2.0.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/consent-banner/atoms/overlay.cjs +1 -1
- package/dist/components/consent-banner/atoms/root.cjs +1 -1
- package/dist/components/consent-banner/atoms/root.js +1 -1
- package/dist/components/consent-banner/components.cjs +1 -1
- package/dist/components/consent-banner/components.js +1 -1
- package/dist/components/consent-banner/consent-banner.cjs +1 -1
- package/dist/components/consent-banner/consent-banner.js +1 -1
- package/dist/components/consent-banner/error-boundary.cjs +1 -1
- package/dist/components/consent-banner/index.cjs +1 -1
- package/dist/components/consent-banner/index.js +1 -1
- package/dist/components/consent-dialog/atoms/card.cjs +1 -1
- package/dist/components/consent-dialog/atoms/card.js +1 -1
- package/dist/components/consent-dialog/atoms/overlay.cjs +1 -1
- package/dist/components/consent-dialog/atoms/overlay.js +1 -1
- package/dist/components/consent-dialog/atoms/root.cjs +1 -1
- package/dist/components/consent-dialog/atoms/root.js +1 -1
- package/dist/components/consent-dialog/consent-dialog.cjs +1 -1
- package/dist/components/consent-dialog/index.cjs +1 -1
- package/dist/components/consent-dialog/index.js +1 -1
- package/dist/components/consent-dialog-link/index.cjs +1 -1
- package/dist/components/consent-dialog-link/index.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/button.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/root.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/root.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/text.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/text.js +1 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +1 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +1 -1
- package/dist/components/consent-dialog-trigger/index.cjs +1 -1
- package/dist/components/consent-dialog-trigger/index.js +1 -1
- package/dist/components/consent-dialog-trigger/types.cjs +1 -1
- package/dist/components/consent-dialog-trigger/use-draggable.cjs +1 -1
- package/dist/components/consent-dialog-trigger/use-draggable.js +1 -1
- package/dist/components/consent-preferences-link/consent-preferences-link.cjs +1 -1
- package/dist/components/consent-preferences-link/index.cjs +1 -1
- package/dist/components/consent-preferences-link/index.js +1 -1
- package/dist/components/consent-widget/atoms/accordion.cjs +1 -1
- package/dist/components/consent-widget/atoms/accordion.js +1 -1
- package/dist/components/consent-widget/atoms/button.cjs +1 -1
- package/dist/components/consent-widget/atoms/footer.cjs +1 -1
- package/dist/components/consent-widget/atoms/root.cjs +1 -1
- package/dist/components/consent-widget/consent-widget.cjs +1 -1
- package/dist/components/consent-widget/consent-widget.js +1 -1
- package/dist/components/consent-widget/index.cjs +1 -1
- package/dist/components/consent-widget/index.js +1 -1
- package/dist/components/consent-widget/types.cjs +1 -1
- package/dist/components/frame/atoms.cjs +1 -1
- package/dist/components/frame/frame.cjs +1 -1
- package/dist/components/frame/index.cjs +1 -1
- package/dist/components/frame/index.js +1 -1
- package/dist/components/frame/types.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/button-group.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/card.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/card.js +1 -1
- package/dist/components/iab-consent-banner/atoms/description.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/footer.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/footer.js +1 -1
- package/dist/components/iab-consent-banner/atoms/header.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/header.js +1 -1
- package/dist/components/iab-consent-banner/atoms/overlay.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/root.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/root.js +1 -1
- package/dist/components/iab-consent-banner/atoms/title.cjs +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.cjs +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.js +1 -1
- package/dist/components/iab-consent-banner/index.cjs +1 -1
- package/dist/components/iab-consent-banner/index.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/card.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/card.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/content.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/footer.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/footer.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/header.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/header.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/root.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/root.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.js +1 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -1
- package/dist/components/iab-consent-dialog/index.cjs +1 -1
- package/dist/components/iab-consent-dialog/index.js +1 -1
- package/dist/components/iab-consent-dialog/types.cjs +1 -1
- package/dist/components/iab-consent-dialog/use-iab-translations.cjs +1 -1
- package/dist/components/shared/libs/policy-actions.cjs +1 -1
- package/dist/components/shared/libs/policy-actions.js +1 -1
- package/dist/components/shared/libs/polymorphic.cjs +1 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +1 -1
- package/dist/components/shared/libs/slot.cjs +1 -0
- package/dist/components/shared/libs/slot.js +1 -0
- package/dist/components/shared/libs/use-controllable-state.cjs +1 -0
- package/dist/components/shared/libs/use-controllable-state.js +1 -0
- package/dist/components/shared/primitives/box.cjs +1 -1
- package/dist/components/shared/primitives/box.js +1 -1
- package/dist/components/shared/primitives/button.cjs +1 -1
- package/dist/components/shared/primitives/button.js +1 -1
- package/dist/components/shared/primitives/button.types.cjs +1 -1
- package/dist/components/shared/primitives/legal-links/index.cjs +1 -1
- package/dist/components/shared/primitives/legal-links/index.js +1 -1
- package/dist/components/shared/ui/accordion/accordion.cjs +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +1 -1
- package/dist/components/shared/ui/accordion/accordion.types.cjs +1 -1
- package/dist/components/shared/ui/accordion/index.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/index.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/index.js +1 -1
- package/dist/components/shared/ui/button/button.cjs +1 -1
- package/dist/components/shared/ui/button/button.js +1 -1
- package/dist/components/shared/ui/button/button.types.cjs +1 -1
- package/dist/components/shared/ui/button/index.cjs +1 -1
- package/dist/components/shared/ui/collapsible/collapsible.cjs +1 -0
- package/dist/components/shared/ui/collapsible/collapsible.js +1 -0
- package/dist/components/shared/ui/collapsible/index.cjs +1 -0
- package/dist/components/shared/ui/collapsible/index.js +1 -0
- package/dist/components/shared/ui/dialog/dialog.cjs +1 -0
- package/dist/components/shared/ui/dialog/dialog.js +1 -0
- package/dist/components/shared/ui/dialog/index.cjs +1 -0
- package/dist/components/shared/ui/dialog/index.js +1 -0
- package/dist/components/shared/ui/icon.cjs +1 -1
- package/dist/components/shared/ui/logo.cjs +1 -1
- package/dist/components/shared/ui/preference-item/index.cjs +1 -0
- package/dist/components/shared/ui/preference-item/index.js +1 -0
- package/dist/components/shared/ui/preference-item/preference-item.cjs +1 -0
- package/dist/components/shared/ui/preference-item/preference-item.js +1 -0
- package/dist/components/shared/ui/switch/index.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.js +1 -1
- package/dist/components/shared/ui/switch/switch.types.cjs +1 -1
- package/dist/components/shared/ui/tabs/index.cjs +1 -0
- package/dist/components/shared/ui/tabs/index.js +1 -0
- package/dist/components/shared/ui/tabs/tabs.cjs +1 -0
- package/dist/components/shared/ui/tabs/tabs.js +1 -0
- package/dist/context/consent-manager-context.cjs +1 -1
- package/dist/context/consent-tracking-context.cjs +1 -1
- package/dist/context/theme-context.cjs +1 -1
- package/dist/headless.cjs +1 -1
- package/dist/headless.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/use-color-scheme.cjs +1 -1
- package/dist/hooks/use-component-config.cjs +1 -1
- package/dist/hooks/use-consent-dialog-trigger.cjs +1 -1
- package/dist/hooks/use-consent-manager.cjs +1 -1
- package/dist/hooks/use-focus-trap.cjs +1 -1
- package/dist/hooks/use-focus-trap.js +1 -1
- package/dist/hooks/use-headless-consent-ui.cjs +1 -1
- package/dist/hooks/use-headless-consent-ui.js +1 -1
- package/dist/hooks/use-headless-iab-consent-ui.cjs +1 -1
- package/dist/hooks/use-reduced-motion.cjs +1 -1
- package/dist/hooks/use-reduced-motion.js +1 -1
- package/dist/hooks/use-scroll-lock.cjs +1 -1
- package/dist/hooks/use-scroll-lock.js +1 -1
- package/dist/hooks/use-ssr-status.cjs +1 -1
- package/dist/hooks/use-styles.cjs +1 -1
- package/dist/hooks/use-text-direction.cjs +1 -1
- package/dist/hooks/use-theme.cjs +1 -1
- package/dist/hooks/use-theme.js +1 -1
- package/dist/hooks/use-translations.cjs +1 -1
- package/dist/iab/styles.css +1 -0
- package/dist/iab/styles.tw3.css +1 -0
- package/dist/iab.cjs +1 -0
- package/dist/iab.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/primitives/accordion.cjs +1 -0
- package/dist/primitives/accordion.js +1 -0
- package/dist/primitives/button.cjs +1 -0
- package/dist/primitives/button.js +1 -0
- package/dist/primitives/collapsible.cjs +1 -0
- package/dist/primitives/collapsible.js +1 -0
- package/dist/primitives/dialog.cjs +1 -0
- package/dist/primitives/dialog.js +1 -0
- package/dist/primitives/preference-item.cjs +1 -0
- package/dist/primitives/preference-item.js +1 -0
- package/dist/primitives/switch.cjs +1 -0
- package/dist/primitives/switch.js +1 -0
- package/dist/primitives/tabs.cjs +1 -0
- package/dist/primitives/tabs.js +1 -0
- package/dist/primitives.cjs +1 -0
- package/dist/primitives.js +1 -0
- package/dist/providers/consent-manager-provider.cjs +1 -1
- package/dist/providers/consent-manager-provider.js +1 -1
- package/dist/server/fetch-ssr-data.cjs +1 -1
- package/dist/server/fetch-ssr-data.js +1 -1
- package/dist/server/headers.cjs +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/init-cache-key.cjs +1 -1
- package/dist/server/init-cache-key.js +1 -1
- package/dist/server/normalize-url.cjs +1 -1
- package/dist/server/types.cjs +1 -1
- package/dist/styles.css +1 -0
- package/dist/styles.tw3.css +1 -0
- package/dist/types/consent-manager.cjs +1 -1
- package/dist/types/theme/index.cjs +1 -1
- package/dist/types/theme/style-keys.cjs +1 -1
- package/dist/types/theme/style-types.cjs +1 -1
- package/dist/utils/cn.cjs +1 -1
- package/dist/utils/merge-styles.cjs +1 -1
- package/dist/utils/test-helpers.cjs +1 -1
- package/dist/utils/test-helpers.js +1 -1
- package/dist/utils/theme-utils.cjs +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/dist-types/components/consent-banner/atoms/overlay.d.ts +1 -1
- package/dist-types/components/consent-banner/atoms/root.d.ts +44 -13
- package/dist-types/components/consent-banner/components.d.ts +1 -1
- package/dist-types/components/consent-banner/index.d.ts +45 -25
- package/dist-types/components/consent-dialog/atoms/card.d.ts +1 -1
- package/dist-types/components/consent-dialog/atoms/overlay.d.ts +1 -1
- package/dist-types/components/consent-dialog/atoms/root.d.ts +1 -1
- package/dist-types/components/consent-dialog/index.d.ts +30 -9
- package/dist-types/components/consent-dialog-trigger/consent-dialog-trigger.d.ts +2 -2
- package/dist-types/components/consent-dialog-trigger/types.d.ts +1 -1
- package/dist-types/components/consent-dialog-trigger/use-draggable.d.ts +1 -1
- package/dist-types/components/consent-widget/atoms/accordion.d.ts +20 -37
- package/dist-types/components/consent-widget/atoms/button.d.ts +1 -1
- package/dist-types/components/consent-widget/atoms/root.d.ts +1 -1
- package/dist-types/components/consent-widget/index.d.ts +24 -7
- package/dist-types/components/frame/atoms.d.ts +1 -1
- package/dist-types/components/frame/index.d.ts +1 -1
- package/dist-types/components/iab-consent-banner/index.d.ts +1 -1
- package/dist-types/components/iab-consent-dialog/atoms/tabs.d.ts +3 -30
- package/dist-types/components/iab-consent-dialog/index.d.ts +1 -1
- package/dist-types/components/shared/libs/policy-actions.d.ts +3 -3
- package/dist-types/components/shared/libs/slot.d.ts +6 -0
- package/dist-types/components/shared/libs/use-controllable-state.d.ts +7 -0
- package/dist-types/components/shared/ui/accordion/accordion.d.ts +32 -67
- package/dist-types/components/shared/ui/button/button.d.ts +2 -2
- package/dist-types/components/shared/ui/collapsible/collapsible.d.ts +20 -0
- package/dist-types/components/shared/ui/collapsible/index.d.ts +1 -0
- package/dist-types/components/shared/ui/dialog/dialog.d.ts +29 -0
- package/dist-types/components/shared/ui/dialog/index.d.ts +1 -0
- package/dist-types/components/shared/ui/preference-item/index.d.ts +1 -0
- package/dist-types/components/shared/ui/preference-item/preference-item.d.ts +33 -0
- package/dist-types/components/shared/ui/switch/switch.d.ts +7 -31
- package/dist-types/components/shared/ui/tabs/index.d.ts +1 -0
- package/dist-types/components/shared/ui/tabs/tabs.d.ts +28 -0
- package/dist-types/headless.d.ts +0 -1
- package/dist-types/hooks/use-headless-consent-ui.d.ts +1 -1
- package/dist-types/iab.d.ts +24 -0
- package/dist-types/index.d.ts +0 -3
- package/dist-types/primitives/accordion.d.ts +1 -0
- package/dist-types/primitives/button.d.ts +1 -0
- package/dist-types/primitives/collapsible.d.ts +1 -0
- package/dist-types/primitives/dialog.d.ts +1 -0
- package/dist-types/primitives/preference-item.d.ts +1 -0
- package/dist-types/primitives/switch.d.ts +1 -0
- package/dist-types/primitives/tabs.d.ts +1 -0
- package/dist-types/primitives.d.ts +7 -0
- package/dist-types/version.d.ts +1 -1
- package/docs/building-headless-components.md +7 -4
- package/docs/components/consent-banner.md +68 -18
- package/docs/components/consent-dialog.md +31 -2
- package/docs/components/consent-manager-provider.md +1 -0
- package/docs/components/consent-widget.md +31 -2
- package/docs/concepts/policy-packs.md +1 -1
- package/docs/headless.md +13 -7
- package/docs/hooks/use-consent-manager/overview.md +2 -2
- package/docs/hooks/use-translations.md +1 -0
- package/docs/quickstart.md +13 -3
- package/docs/styling/classnames.md +17 -9
- package/docs/styling/overview.md +166 -29
- package/docs/styling/slots.md +37 -7
- package/docs/styling/tailwind.md +30 -9
- package/package.json +30 -18
- package/src/iab/styles.tw3.css +10 -0
- package/src/styles.tw3.css +10 -0
- package/client/components/iab-consent-banner.js +0 -4
- package/client/components/iab-consent-dialog.js +0 -4
package/dist/server/headers.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"u">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__,{extractRelevantHeaders:()=>extractRelevantHeaders});const COUNTRY_PRIORITY=["cf-ipcountry","x-vercel-ip-country","x-amz-cf-ipcountry","x-country-code"],REGION_PRIORITY=["x-vercel-ip-country-region","x-region-code"],FORWARDED_HEADERS=[...COUNTRY_PRIORITY,...REGION_PRIORITY,"accept-language","user-agent","x-forwarded-host","x-forwarded-for","sec-gpc","purpose","sec-purpose","next-router-prefetch","x-middleware-prefetch"];function extractRelevantHeaders(e){let r={};for(let _ of FORWARDED_HEADERS){let t=e.get(_);t&&(r[_]=t)}let _=COUNTRY_PRIORITY.find(e=>r[e]);_&&(r["x-c15t-country"]=r[_]);let t=REGION_PRIORITY.find(e=>r[e]);return t&&(r["x-c15t-region"]=r[t]),r}for(var __rspack_i in exports.extractRelevantHeaders=__webpack_exports__.extractRelevantHeaders,__webpack_exports__)-1===["extractRelevantHeaders"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/server/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{createSSRInitCacheKey:()=>external_init_cache_key_cjs_namespaceObject.createSSRInitCacheKey,normalizeBackendURL:()=>external_normalize_url_cjs_namespaceObject.normalizeBackendURL,fetchSSRData:()=>external_fetch_ssr_data_cjs_namespaceObject.fetchSSRData,validateBackendURL:()=>external_normalize_url_cjs_namespaceObject.validateBackendURL,extractRelevantHeaders:()=>external_headers_cjs_namespaceObject.extractRelevantHeaders});const external_fetch_ssr_data_cjs_namespaceObject=require("./fetch-ssr-data.cjs"),external_headers_cjs_namespaceObject=require("./headers.cjs"),external_init_cache_key_cjs_namespaceObject=require("./init-cache-key.cjs"),external_normalize_url_cjs_namespaceObject=require("./normalize-url.cjs");for(var __rspack_i in exports.createSSRInitCacheKey=__webpack_exports__.createSSRInitCacheKey,exports.extractRelevantHeaders=__webpack_exports__.extractRelevantHeaders,exports.fetchSSRData=__webpack_exports__.fetchSSRData,exports.normalizeBackendURL=__webpack_exports__.normalizeBackendURL,exports.validateBackendURL=__webpack_exports__.validateBackendURL,__webpack_exports__)-1===["createSSRInitCacheKey","extractRelevantHeaders","fetchSSRData","normalizeBackendURL","validateBackendURL"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/server/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export{fetchSSRData}from"./fetch-ssr-data.js";export{extractRelevantHeaders}from"./headers.js";export{createSSRInitCacheKey}from"./init-cache-key.js";export{normalizeBackendURL,validateBackendURL}from"./normalize-url.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{createSSRInitCacheKey:()=>createSSRInitCacheKey});const external_headers_cjs_namespaceObject=require("./headers.cjs");function createSSRInitCacheKey({normalizedURL:e,headers:_,overrides:r}){let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(_);return JSON.stringify({normalizedURL:e,country:r?.country??t["x-c15t-country"]??"",region:r?.region??t["x-c15t-region"]??"",language:r?.language??t["accept-language"]??"",gpc:t["sec-gpc"]??""})}for(var __rspack_i in exports.createSSRInitCacheKey=__webpack_exports__.createSSRInitCacheKey,__webpack_exports__)-1===["createSSRInitCacheKey"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{extractRelevantHeaders as e}from"./headers.js";function n({normalizedURL:
|
|
1
|
+
import{extractRelevantHeaders as e}from"./headers.js";function n({normalizedURL:r,headers:t,overrides:c}){let g=e(t);return JSON.stringify({normalizedURL:r,country:c?.country??g["x-c15t-country"]??"",region:c?.region??g["x-c15t-region"]??"",language:c?.language??g["accept-language"]??"",gpc:g["sec-gpc"]??""})}export{n as createSSRInitCacheKey};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"u">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__,{normalizeBackendURL:()=>normalizeBackendURL,validateBackendURL:()=>validateBackendURL});const ABSOLUTE_URL_REGEX=/^https?:\/\//;function trimTrailingSlash(e){return"/"===e?e:e.endsWith("/")?e.slice(0,-1):e}function validateBackendURL(e){if(ABSOLUTE_URL_REGEX.test(e))return new URL(e),{isAbsolute:!0,normalizedURL:trimTrailingSlash(e)};if(e.startsWith("/"))return{isAbsolute:!1,normalizedURL:trimTrailingSlash(e)};throw Error(`Invalid URL format: ${e}. URL must be absolute (https://...) or relative starting with (/)`)}function normalizeBackendURL(e,r){try{let{normalizedURL:_,isAbsolute:t}=validateBackendURL(e);if(t)return _;let a=r.get("referer"),i=r.get("x-forwarded-proto")||"https",n=r.get("x-forwarded-host")||r.get("host");if(n)return trimTrailingSlash(`${i}://${n}${_}`);if(a){let e=new URL(a);return trimTrailingSlash(`${e.protocol}//${e.host}${_}`)}return null}catch{return null}}for(var __rspack_i in exports.normalizeBackendURL=__webpack_exports__.normalizeBackendURL,exports.validateBackendURL=__webpack_exports__.validateBackendURL,__webpack_exports__)-1===["normalizeBackendURL","validateBackendURL"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/server/types.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in __webpack_require__.r(__webpack_exports__),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "@c15t/ui/styles.css";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "@c15t/ui/styles.tw3.css";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in __webpack_require__.r(__webpack_exports__),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./style-keys"(e){e.exports=require("./style-keys.cjs")},"./style-types"(e){e.exports=require("./style-types.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__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=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("./style-keys"),_={};for(let r in e)"default"!==r&&(_[r]=()=>e[r]);__webpack_require__.d(__webpack_exports__,_);var r=__webpack_require__("./style-types"),_={};for(let e in r)"default"!==e&&(_[e]=()=>r[e]);__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in __webpack_require__.r(__webpack_exports__),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};function defineTheme(e){return e}for(var __rspack_i in __webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{defineTheme:()=>defineTheme}),exports.defineTheme=__webpack_exports__.defineTheme,__webpack_exports__)-1===["defineTheme"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/utils/cn.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{cnExt:()=>cnExt});const utils_namespaceObject=require("@c15t/ui/utils");function cnExt(...e){return(0,utils_namespaceObject.cn)(...e)}for(var __rspack_i in exports.cnExt=__webpack_exports__.cnExt,__webpack_exports__)-1===["cnExt"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{mergeStyles:()=>mergeStyles});const utils_namespaceObject=require("@c15t/ui/utils");function mergeStyles(e,_){return(0,utils_namespaceObject.mergeStyles)(e,_)}for(var __rspack_i in exports.mergeStyles=__webpack_exports__.mergeStyles,__webpack_exports__)-1===["mergeStyles"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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,t)=>{for(var _ in t)__webpack_require__.o(t,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:t[_]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">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__,{testComponentStyles:()=>testComponentStyles,default:()=>test_helpers});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),consent_manager_provider_cjs_namespaceObject=require("../providers/consent-manager-provider.cjs");async function testComponentStyles({component:e,testCases:t,noStyle:_=!1,theme:r}){let{container:a}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",noStyle:_,theme:r},children:e}));for(let{testId:e,styles:r}of(await new Promise(e=>setTimeout(e,50)),t)){let t=a.querySelector(`[data-testid="${e}"]`),s=document.body.querySelector(`[data-testid="${e}"]`),c=t||s;if(!c){console.warn(`Element with testId "${e}" not found in DOM`),(0,external_vitest_namespaceObject.expect)(!0).toBe(!0);continue}(0,external_vitest_namespaceObject.expect)(c).toBeTruthy(),"string"==typeof r&&r?_?(0,external_vitest_namespaceObject.expect)(c.className).toBe(r):(0,external_vitest_namespaceObject.expect)(c.className).toContain(r):"object"==typeof r&&r?.className&&(_?(0,external_vitest_namespaceObject.expect)(c.className).toBe(r.className):(0,external_vitest_namespaceObject.expect)(c.className).toContain(r.className))}}const test_helpers=testComponentStyles;for(var __rspack_i in exports.default=__webpack_exports__.default,exports.testComponentStyles=__webpack_exports__.testComponentStyles,__webpack_exports__)-1===["default","testComponentStyles"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{expect as e}from"vitest";import{render as o}from"vitest-browser-react";import{ConsentManagerProvider as s}from"../providers/consent-manager-provider.js";async function a({component:
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{expect as e}from"vitest";import{render as o}from"vitest-browser-react";import{ConsentManagerProvider as s}from"../providers/consent-manager-provider.js";async function a({component:r,testCases:n,noStyle:i=!1,theme:m}){let{container:c}=await o(t(s,{options:{mode:"offline",noStyle:i,theme:m},children:r}));for(let{testId:t,styles:o}of(await new Promise(t=>setTimeout(t,50)),n)){let s=c.querySelector(`[data-testid="${t}"]`),a=document.body.querySelector(`[data-testid="${t}"]`),r=s||a;if(!r){console.warn(`Element with testId "${t}" not found in DOM`),e(!0).toBe(!0);continue}e(r).toBeTruthy(),"string"==typeof o&&o?i?e(r.className).toBe(o):e(r.className).toContain(o):"object"==typeof o&&o?.className&&(i?e(r.className).toBe(o.className):e(r.className).toContain(o.className))}}export default a;export{a as testComponentStyles};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{generateThemeCSS:()=>generateThemeCSS,defaultTheme:()=>defaultTheme,themeToVars:()=>themeToVars});const theme_namespaceObject=require("@c15t/ui/theme"),defaultTheme=theme_namespaceObject.defaultTheme;function themeToVars(e,_=!1){return(0,theme_namespaceObject.themeToVars)(e,_)}function generateThemeCSS(e){return(0,theme_namespaceObject.generateThemeCSS)(e)}for(var __rspack_i in exports.defaultTheme=__webpack_exports__.defaultTheme,exports.generateThemeCSS=__webpack_exports__.generateThemeCSS,exports.themeToVars=__webpack_exports__.themeToVars,__webpack_exports__)-1===["defaultTheme","generateThemeCSS","themeToVars"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/version.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<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 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=>{"u">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__,{version:()=>version});const version="2.0.0-rc.7";for(var __rspack_i in exports.version=__webpack_exports__.version,__webpack_exports__)-1===["version"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e="2.0.0-rc.
|
|
1
|
+
let e="2.0.0-rc.7";export{e as version};
|
|
@@ -42,4 +42,4 @@ interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
42
42
|
*/
|
|
43
43
|
declare const ConsentBannerOverlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
44
44
|
declare const Overlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
45
|
-
export {
|
|
45
|
+
export { ConsentBannerOverlay, Overlay };
|
|
@@ -67,29 +67,60 @@ interface ConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
67
67
|
* Basic usage:
|
|
68
68
|
* ```tsx
|
|
69
69
|
* <ConsentBanner.Root>
|
|
70
|
-
* <ConsentBanner.
|
|
71
|
-
*
|
|
72
|
-
*
|
|
70
|
+
* <ConsentBanner.Card>
|
|
71
|
+
* <ConsentBanner.Header>
|
|
72
|
+
* <ConsentBanner.Title />
|
|
73
|
+
* <ConsentBanner.Description />
|
|
74
|
+
* </ConsentBanner.Header>
|
|
75
|
+
* <ConsentBanner.Footer>
|
|
76
|
+
* <ConsentBanner.CustomizeButton />
|
|
77
|
+
* <ConsentBanner.FooterSubGroup>
|
|
78
|
+
* <ConsentBanner.RejectButton />
|
|
79
|
+
* <ConsentBanner.AcceptButton />
|
|
80
|
+
* </ConsentBanner.FooterSubGroup>
|
|
81
|
+
* </ConsentBanner.Footer>
|
|
82
|
+
* </ConsentBanner.Card>
|
|
73
83
|
* </ConsentBanner.Root>
|
|
74
84
|
* ```
|
|
75
85
|
*
|
|
76
86
|
* @example
|
|
77
|
-
*
|
|
87
|
+
* Preferred styling with provider theme tokens and slots:
|
|
78
88
|
* ```tsx
|
|
79
|
-
* <
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
89
|
+
* <ConsentManagerProvider
|
|
90
|
+
* options={{
|
|
91
|
+
* theme: {
|
|
92
|
+
* colors: {
|
|
93
|
+
* surface: '#fffdf8',
|
|
94
|
+
* surfaceHover: '#f6f3ee',
|
|
95
|
+
* },
|
|
96
|
+
* slots: {
|
|
97
|
+
* consentBannerCard: 'rounded-3xl shadow-xl',
|
|
98
|
+
* consentBannerFooter: 'border-t border-black/10 px-6',
|
|
99
|
+
* consentBannerTitle: 'tracking-tight',
|
|
100
|
+
* },
|
|
101
|
+
* },
|
|
85
102
|
* }}
|
|
86
103
|
* >
|
|
87
|
-
*
|
|
88
|
-
*
|
|
104
|
+
* <ConsentBanner.Root>
|
|
105
|
+
* <ConsentBanner.Card>
|
|
106
|
+
* <ConsentBanner.Header>
|
|
107
|
+
* <ConsentBanner.Title />
|
|
108
|
+
* <ConsentBanner.Description />
|
|
109
|
+
* </ConsentBanner.Header>
|
|
110
|
+
* <ConsentBanner.Footer>
|
|
111
|
+
* <ConsentBanner.CustomizeButton />
|
|
112
|
+
* <ConsentBanner.FooterSubGroup>
|
|
113
|
+
* <ConsentBanner.RejectButton />
|
|
114
|
+
* <ConsentBanner.AcceptButton />
|
|
115
|
+
* </ConsentBanner.FooterSubGroup>
|
|
116
|
+
* </ConsentBanner.Footer>
|
|
117
|
+
* </ConsentBanner.Card>
|
|
118
|
+
* </ConsentBanner.Root>
|
|
119
|
+
* </ConsentManagerProvider>
|
|
89
120
|
* ```
|
|
90
121
|
*
|
|
91
122
|
* @public
|
|
92
123
|
*/
|
|
93
124
|
declare const ConsentBannerRoot: FC<ConsentBannerRootProps>;
|
|
94
125
|
declare const Root: FC<ConsentBannerRootProps>;
|
|
95
|
-
export {
|
|
126
|
+
export { ConsentBannerRoot, Root };
|
|
@@ -138,4 +138,4 @@ declare const Header: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
|
138
138
|
declare const RejectButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
139
139
|
declare const CustomizeButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
140
140
|
declare const AcceptButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
141
|
-
export {
|
|
141
|
+
export { AcceptButton, Card, ConsentBannerAcceptButton, ConsentBannerCard, ConsentBannerCustomizeButton, ConsentBannerDescription, ConsentBannerFooter, ConsentBannerFooterSubGroup, ConsentBannerHeader, ConsentBannerRejectButton, ConsentBannerTitle, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title, };
|
|
@@ -34,8 +34,9 @@ export interface ConsentBannerCompoundComponent extends FC<ConsentBannerProps> {
|
|
|
34
34
|
*
|
|
35
35
|
* @remarks
|
|
36
36
|
* This component serves as the main entry point for rendering a consent banner.
|
|
37
|
-
*
|
|
38
|
-
*
|
|
37
|
+
* Start with the pre-built component and its existing configuration surface.
|
|
38
|
+
* For most customization, use `ConsentManagerProvider` options, theme tokens,
|
|
39
|
+
* slots, and `theme.consentActions` before reaching for compound composition.
|
|
39
40
|
*
|
|
40
41
|
* Key features:
|
|
41
42
|
* - Fully accessible by default
|
|
@@ -43,7 +44,7 @@ export interface ConsentBannerCompoundComponent extends FC<ConsentBannerProps> {
|
|
|
43
44
|
* - Customizable appearance
|
|
44
45
|
* - Responsive design
|
|
45
46
|
* - Error boundary protection
|
|
46
|
-
* -
|
|
47
|
+
* - Advanced compound component support when markup must change
|
|
47
48
|
*
|
|
48
49
|
* @example
|
|
49
50
|
* Simple usage with default settings:
|
|
@@ -52,41 +53,60 @@ export interface ConsentBannerCompoundComponent extends FC<ConsentBannerProps> {
|
|
|
52
53
|
* ```
|
|
53
54
|
*
|
|
54
55
|
* @example
|
|
55
|
-
*
|
|
56
|
+
* Preferred customization via provider `i18n`, theme tokens, and slots:
|
|
56
57
|
* ```tsx
|
|
57
|
-
* <
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
58
|
+
* <ConsentManagerProvider
|
|
59
|
+
* options={{
|
|
60
|
+
* i18n: {
|
|
61
|
+
* locale: 'en',
|
|
62
|
+
* messages: {
|
|
63
|
+
* en: {
|
|
64
|
+
* cookieBanner: { title: 'Privacy choices' },
|
|
65
|
+
* },
|
|
66
|
+
* },
|
|
67
|
+
* },
|
|
68
|
+
* theme: {
|
|
69
|
+
* colors: {
|
|
70
|
+
* surface: '#fffdf8',
|
|
71
|
+
* surfaceHover: '#f6f3ee',
|
|
72
|
+
* },
|
|
73
|
+
* slots: {
|
|
74
|
+
* consentBannerCard: 'rounded-3xl',
|
|
75
|
+
* consentBannerFooter: 'border-t border-black/10',
|
|
76
|
+
* },
|
|
77
|
+
* },
|
|
78
|
+
* }}
|
|
79
|
+
* >
|
|
80
|
+
* <ConsentBanner primaryButton="accept" />
|
|
81
|
+
* </ConsentManagerProvider>
|
|
64
82
|
* ```
|
|
65
83
|
*
|
|
66
84
|
* @example
|
|
85
|
+
* Advanced custom markup with compound components:
|
|
67
86
|
* ```tsx
|
|
68
87
|
* <ConsentBanner.Root>
|
|
69
|
-
* <ConsentBanner.
|
|
70
|
-
* <ConsentBanner.
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* </ConsentBanner.
|
|
74
|
-
* <ConsentBanner.
|
|
75
|
-
* <ConsentBanner.
|
|
76
|
-
* <ConsentBanner.
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
88
|
+
* <ConsentBanner.Card>
|
|
89
|
+
* <ConsentBanner.Header>
|
|
90
|
+
* <ConsentBanner.Title />
|
|
91
|
+
* <ConsentBanner.Description />
|
|
92
|
+
* </ConsentBanner.Header>
|
|
93
|
+
* <ConsentBanner.Footer>
|
|
94
|
+
* <ConsentBanner.CustomizeButton />
|
|
95
|
+
* <ConsentBanner.FooterSubGroup>
|
|
96
|
+
* <ConsentBanner.RejectButton />
|
|
97
|
+
* <ConsentBanner.AcceptButton />
|
|
98
|
+
* </ConsentBanner.FooterSubGroup>
|
|
99
|
+
* </ConsentBanner.Footer>
|
|
100
|
+
* </ConsentBanner.Card>
|
|
80
101
|
* </ConsentBanner.Root>
|
|
81
102
|
* ```
|
|
82
|
-
* Note: Next.js Server Components do not support compound components. Ensure you add 'use client' to the file.
|
|
83
|
-
* Using compound components for custom layout:
|
|
103
|
+
* Note: Next.js Server Components do not support compound components. Ensure you add `'use client'` to the file.
|
|
84
104
|
*
|
|
85
105
|
* @public
|
|
86
106
|
*/
|
|
87
107
|
declare const ConsentBanner: ConsentBannerCompoundComponent;
|
|
88
108
|
export default ConsentBanner;
|
|
89
|
-
export { ConsentBanner, type ConsentBannerButton, type ConsentBannerLayout, type ConsentBannerProps, };
|
|
90
109
|
export { ConsentBannerOverlay, Overlay } from './atoms/overlay';
|
|
91
110
|
export { ConsentBannerRoot, Root } from './atoms/root';
|
|
92
111
|
export { AcceptButton, Card, ConsentBannerAcceptButton, ConsentBannerCard, ConsentBannerCustomizeButton, ConsentBannerDescription, ConsentBannerFooter, ConsentBannerFooterSubGroup, ConsentBannerHeader, ConsentBannerRejectButton, ConsentBannerTitle, CustomizeButton, Description, Footer, FooterSubGroup, Header, RejectButton, Title, } from './components';
|
|
112
|
+
export { ConsentBanner, type ConsentBannerButton, type ConsentBannerLayout, type ConsentBannerProps, };
|
|
@@ -102,4 +102,4 @@ declare const Footer: import("react").ForwardRefExoticComponent<BoxProps & {
|
|
|
102
102
|
hideBranding?: boolean;
|
|
103
103
|
'data-testid'?: string;
|
|
104
104
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
105
|
-
export { Card,
|
|
105
|
+
export { Card, ConsentCustomizationCard, ConsentDialogCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle, };
|
|
@@ -64,4 +64,4 @@ export interface ConsentDialogRootProps extends HTMLAttributes<HTMLDialogElement
|
|
|
64
64
|
*/
|
|
65
65
|
declare const ConsentDialogRoot: FC<ConsentDialogRootProps>;
|
|
66
66
|
declare const Root: FC<ConsentDialogRootProps>;
|
|
67
|
-
export {
|
|
67
|
+
export { ConsentDialogRoot, Root };
|
|
@@ -42,36 +42,57 @@ export interface ConsentDialogCompoundComponent extends FC<ConsentDialogProps> {
|
|
|
42
42
|
* - Provides an accessible modal interface for consent customization
|
|
43
43
|
* - Implements smooth enter/exit animations
|
|
44
44
|
* - Manages proper focus handling
|
|
45
|
-
* - Supports theme customization
|
|
45
|
+
* - Supports theme customization through provider tokens and slots
|
|
46
46
|
* - Handles client-side portal rendering
|
|
47
|
+
* - Exposes compound primitives for advanced markup changes
|
|
47
48
|
*
|
|
48
49
|
* @example
|
|
50
|
+
* Basic usage:
|
|
49
51
|
* ```tsx
|
|
50
|
-
* <ConsentDialog
|
|
51
|
-
* theme={customTheme}
|
|
52
|
-
* disableAnimation={false}
|
|
53
|
-
* noStyle={false}
|
|
54
|
-
* />
|
|
52
|
+
* <ConsentDialog />
|
|
55
53
|
* ```
|
|
56
54
|
*
|
|
57
55
|
* @example
|
|
56
|
+
* Preferred customization with stock structure:
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <ConsentManagerProvider
|
|
59
|
+
* options={{
|
|
60
|
+
* theme: {
|
|
61
|
+
* slots: {
|
|
62
|
+
* consentDialogCard: 'rounded-3xl shadow-xl',
|
|
63
|
+
* consentDialogFooter: 'border-t border-black/10',
|
|
64
|
+
* },
|
|
65
|
+
* },
|
|
66
|
+
* }}
|
|
67
|
+
* >
|
|
68
|
+
* <ConsentDialog hideBranding showTrigger />
|
|
69
|
+
* </ConsentManagerProvider>
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* Advanced custom markup with compound components:
|
|
58
74
|
* ```tsx
|
|
59
75
|
* <ConsentDialog.Root>
|
|
60
76
|
* <ConsentDialog.Card>
|
|
61
77
|
* <ConsentDialog.Header>
|
|
62
|
-
* <ConsentDialog.HeaderTitle
|
|
78
|
+
* <ConsentDialog.HeaderTitle />
|
|
79
|
+
* <ConsentDialog.HeaderDescription />
|
|
63
80
|
* </ConsentDialog.Header>
|
|
81
|
+
* <ConsentDialog.Content>
|
|
82
|
+
* <ConsentWidget />
|
|
83
|
+
* </ConsentDialog.Content>
|
|
84
|
+
* <ConsentDialog.Footer />
|
|
64
85
|
* </ConsentDialog.Card>
|
|
65
86
|
* </ConsentDialog.Root>
|
|
66
87
|
* ```
|
|
67
88
|
*
|
|
68
|
-
* Note: Next.js Server Components do not support compound components. Ensure you add 'use client' to the file.
|
|
89
|
+
* Note: Next.js Server Components do not support compound components. Ensure you add `'use client'` to the file.
|
|
69
90
|
*
|
|
70
91
|
* @public
|
|
71
92
|
*/
|
|
72
93
|
declare const ConsentDialog: ConsentDialogCompoundComponent;
|
|
73
94
|
export default ConsentDialog;
|
|
74
|
-
export { ConsentDialog };
|
|
75
95
|
export { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle, } from './atoms/card';
|
|
76
96
|
export { ConsentDialogOverlay, Overlay } from './atoms/overlay';
|
|
77
97
|
export { ConsentDialogRoot, Root } from './atoms/root';
|
|
98
|
+
export { ConsentDialog };
|
|
@@ -48,5 +48,5 @@ export interface ConsentDialogTriggerCompound extends FC<ConsentDialogTriggerPro
|
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
50
|
export declare const ConsentDialogTrigger: ConsentDialogTriggerCompound;
|
|
51
|
-
export {
|
|
52
|
-
export
|
|
51
|
+
export type { TriggerButtonProps, TriggerIconProps, TriggerRootProps, TriggerTextProps, };
|
|
52
|
+
export { TriggerButton, TriggerIcon, TriggerRoot, TriggerText, useTriggerContext, };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
|
-
import type { CornerPosition } from '
|
|
6
|
+
import type { CornerPosition } from '@c15t/ui/utils/trigger-utils';
|
|
7
7
|
import type { ReactNode } from 'react';
|
|
8
8
|
/**
|
|
9
9
|
* Icon options for the trigger button.
|
|
@@ -1,45 +1,28 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
1
2
|
import { type BoxProps } from '../../shared/primitives/box';
|
|
2
|
-
import * as
|
|
3
|
+
import * as PreferenceItem from '../../shared/ui/preference-item';
|
|
3
4
|
import * as RadixSwitch from '../../shared/ui/switch';
|
|
4
|
-
/**
|
|
5
|
-
* Accordion Trigger Component
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* - Provides visual grouping for related consent options
|
|
9
|
-
* - Supports theme customization
|
|
10
|
-
* - Maintains accessibility structure
|
|
11
|
-
*/
|
|
12
5
|
declare const ConsentWidgetAccordionTrigger: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
|
-
declare const ConsentWidgetAccordionTriggerInner: import("react").ForwardRefExoticComponent<
|
|
14
|
-
declare const ConsentWidgetAccordionContent: import("react").ForwardRefExoticComponent<
|
|
15
|
-
declare const ConsentWidgetAccordionArrow:
|
|
16
|
-
declare const ConsentWidgetAccordion: import("react").ForwardRefExoticComponent<RadixAccordion.AccordionRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
6
|
+
declare const ConsentWidgetAccordionTriggerInner: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
7
|
+
declare const ConsentWidgetAccordionContent: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
+
declare const ConsentWidgetAccordionArrow: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemSlotProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
17
9
|
declare const ConsentWidgetSwitch: import("react").ForwardRefExoticComponent<RadixSwitch.SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* - Supports keyboard navigation
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```tsx
|
|
30
|
-
* <ConsentWidgetAccordion>
|
|
31
|
-
* <ConsentWidgetAccordionItems />
|
|
32
|
-
* </ConsentWidgetAccordion>
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
10
|
+
type ConsentWidgetAccordionProps = Omit<BoxProps, 'themeKey'> & {
|
|
11
|
+
'data-testid'?: string;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
onValueChange?: (value: string | string[]) => void;
|
|
14
|
+
type?: 'multiple' | 'single';
|
|
15
|
+
value?: string | string[];
|
|
16
|
+
};
|
|
17
|
+
declare const ConsentWidgetAccordion: ({ "data-testid": dataTestId, children, className, noStyle, onValueChange, style, type, value, ...props }: ConsentWidgetAccordionProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
18
|
declare const ConsentWidgetAccordionItems: () => import("react/jsx-runtime").JSX.Element[];
|
|
36
|
-
declare const ConsentWidgetAccordionItem: import("react").ForwardRefExoticComponent<Omit<
|
|
37
|
-
declare const AccordionTriggerInner: import("react").ForwardRefExoticComponent<
|
|
19
|
+
declare const ConsentWidgetAccordionItem: import("react").ForwardRefExoticComponent<Omit<PreferenceItem.PreferenceItemRootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
20
|
+
declare const AccordionTriggerInner: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
38
21
|
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
|
-
declare const AccordionContent: import("react").ForwardRefExoticComponent<
|
|
40
|
-
declare const AccordionArrow:
|
|
41
|
-
declare const Accordion:
|
|
22
|
+
declare const AccordionContent: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
23
|
+
declare const AccordionArrow: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemSlotProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
|
+
declare const Accordion: ({ "data-testid": dataTestId, children, className, noStyle, onValueChange, style, type, value, ...props }: ConsentWidgetAccordionProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
25
|
declare const Switch: import("react").ForwardRefExoticComponent<RadixSwitch.SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
43
26
|
declare const AccordionItems: () => import("react/jsx-runtime").JSX.Element[];
|
|
44
|
-
declare const AccordionItem: import("react").ForwardRefExoticComponent<Omit<
|
|
45
|
-
export {
|
|
27
|
+
declare const AccordionItem: import("react").ForwardRefExoticComponent<Omit<PreferenceItem.PreferenceItemRootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
28
|
+
export { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, ConsentWidgetAccordion, ConsentWidgetAccordionArrow, ConsentWidgetAccordionContent, ConsentWidgetAccordionItem, ConsentWidgetAccordionItems, ConsentWidgetAccordionTrigger, ConsentWidgetAccordionTriggerInner, ConsentWidgetSwitch, Switch, };
|
|
@@ -23,4 +23,4 @@ declare const AcceptAllButton: import("react").ForwardRefExoticComponent<Consent
|
|
|
23
23
|
declare const CustomizeButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
24
24
|
declare const SaveButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
25
25
|
declare const RejectButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
26
|
-
export { AcceptAllButton,
|
|
26
|
+
export { AcceptAllButton, ConsentWidgetAcceptAllButton, ConsentWidgetCustomizeButton, ConsentWidgetRejectButton, ConsentWidgetSaveButton, CustomizeButton, RejectButton, SaveButton, };
|