@c15t/react 2.0.0-rc.3 → 2.0.0-rc.4
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/client/components/consent-banner.js +4 -0
- package/client/components/consent-dialog-link.js +3 -0
- package/client/components/consent-dialog-trigger.js +3 -0
- package/client/components/consent-dialog.js +4 -0
- package/client/components/consent-widget.js +4 -0
- package/client/components/frame.js +3 -0
- package/client/components/iab-consent-banner.js +4 -0
- package/client/components/iab-consent-dialog.js +4 -0
- package/dist/components/consent-dialog-link/index.cjs +1 -0
- package/dist/components/consent-dialog-link/index.d.ts +2 -0
- package/dist/components/consent-dialog-link/index.d.ts.map +1 -0
- package/dist/components/consent-dialog-link/index.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/button.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/button.d.ts.map +1 -1
- package/dist/components/consent-dialog-trigger/atoms/button.js +1 -1
- package/dist/components/consent-preferences-link/consent-preferences-link.cjs +1 -0
- package/dist/components/consent-preferences-link/consent-preferences-link.d.ts +16 -0
- package/dist/components/consent-preferences-link/consent-preferences-link.d.ts.map +1 -0
- package/dist/components/consent-preferences-link/consent-preferences-link.js +1 -0
- package/dist/components/consent-preferences-link/index.cjs +1 -0
- package/dist/components/consent-preferences-link/index.d.ts +2 -0
- package/dist/components/consent-preferences-link/index.d.ts.map +1 -0
- package/dist/components/consent-preferences-link/index.js +1 -0
- package/dist/components/shared/primitives/button.cjs +1 -1
- package/dist/components/shared/primitives/button.d.ts.map +1 -1
- package/dist/components/shared/primitives/button.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +49 -6
- package/dist/components/__tests__/active-ui-transitions.e2e.test.cjs +0 -1
- package/dist/components/__tests__/active-ui-transitions.e2e.test.js +0 -1
- package/dist/components/__tests__/consent-flow.e2e.test.cjs +0 -1
- package/dist/components/__tests__/consent-flow.e2e.test.js +0 -1
- package/dist/components/__tests__/models-prop.e2e.test.cjs +0 -1
- package/dist/components/__tests__/models-prop.e2e.test.js +0 -1
- package/dist/components/__tests__/ui-source-tracking.e2e.test.cjs +0 -1
- package/dist/components/__tests__/ui-source-tracking.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/e2e-setup.cjs +0 -1
- package/dist/components/iab/__tests__/e2e-setup.js +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.cjs +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts +0 -212
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts.map +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.js +0 -1
- package/dist/components/iab/__tests__/iab-banner.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-banner.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-events.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-events.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-storage.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-storage.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-stub.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-stub.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/msw-handlers.cjs +0 -1
- package/dist/components/iab/__tests__/msw-handlers.js +0 -1
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.cjs +0 -1
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.js +0 -1
- package/dist/components/shared/ui/__tests__/primitives.test.cjs +0 -1
- package/dist/components/shared/ui/__tests__/primitives.test.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.js +0 -1
- package/dist/hooks/__tests__/use-color-scheme.test.cjs +0 -1
- package/dist/hooks/__tests__/use-color-scheme.test.js +0 -1
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +0 -1
- package/dist/hooks/__tests__/use-consent-manager.test.js +0 -1
- package/dist/hooks/__tests__/use-focus-trap.test.cjs +0 -1
- package/dist/hooks/__tests__/use-focus-trap.test.js +0 -1
- package/dist/hooks/__tests__/use-scroll-lock.test.cjs +0 -1
- package/dist/hooks/__tests__/use-scroll-lock.test.js +0 -1
- package/dist/hooks/__tests__/use-styles.test.cjs +0 -1
- package/dist/hooks/__tests__/use-styles.test.js +0 -1
- package/dist/hooks/__tests__/use-theme.test.cjs +0 -1
- package/dist/hooks/__tests__/use-theme.test.js +0 -1
- package/dist/hooks/__tests__/use-translations.test.cjs +0 -1
- package/dist/hooks/__tests__/use-translations.test.js +0 -1
- package/dist/mockServiceWorker.js +0 -349
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.js +0 -1
- package/dist/providers/__tests__/provider-basic.test.cjs +0 -1
- package/dist/providers/__tests__/provider-basic.test.js +0 -1
- package/dist/providers/__tests__/provider-context.test.cjs +0 -1
- package/dist/providers/__tests__/provider-context.test.js +0 -1
- package/dist/providers/__tests__/provider-errors.test.cjs +0 -1
- package/dist/providers/__tests__/provider-errors.test.js +0 -1
- package/dist/providers/__tests__/provider-hydration.test.cjs +0 -1
- package/dist/providers/__tests__/provider-hydration.test.js +0 -1
- package/dist/providers/__tests__/test-helpers.cjs +0 -1
- package/dist/providers/__tests__/test-helpers.js +0 -1
- package/dist/server/headers.test.cjs +0 -1
- package/dist/server/headers.test.d.ts +0 -2
- package/dist/server/headers.test.d.ts.map +0 -1
- package/dist/server/headers.test.js +0 -1
- package/dist/server/normalize-url.test.cjs +0 -1
- package/dist/server/normalize-url.test.d.ts +0 -2
- package/dist/server/normalize-url.test.d.ts.map +0 -1
- package/dist/server/normalize-url.test.js +0 -1
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png +0 -0
- package/dist/static/image/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.png +0 -0
- package/dist/static/image/useColorScheme-handles-default-theme-based-on-document-class-1.png +0 -0
- package/dist/static/image/useColorScheme-responds-to-system-preference-1.png +0 -0
- package/dist/static/image/useColorScheme-sets-dark-theme-correctly-1.png +0 -0
- package/dist/static/image/useColorScheme-updates-theme-when-default-theme-changes-1.png +0 -0
- package/dist/static/image/useColorScheme-updates-theme-when-system-preference-changes-1.png +0 -0
- package/dist/static/image/useConsentManager-provides-manager-object-when-configured-1.png +0 -0
- package/dist/static/image/useStyles-handles-string-className-correctly-1.png +0 -0
- package/dist/static/image/useStyles-merges-theme-and-component-styles-correctly-1.png +0 -0
- package/dist/static/image/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.png +0 -0
- package/dist/static/image/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.png +0 -0
- package/dist/static/image/useTheme-local-theme-takes-precedence-over-global-theme-1.png +0 -0
- package/dist/static/image/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.png +0 -0
- package/dist/static/image/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.png +0 -0
- package/dist/static/image/useTranslations-merges-custom-translations-with-defaults-1.png +0 -0
- package/dist/static/image/useTranslations-returns-English-translations-by-default-1.png +0 -0
- package/dist/test-setup.browser.cjs +0 -1
- package/dist/test-setup.browser.d.ts +0 -8
- package/dist/test-setup.browser.d.ts.map +0 -1
- package/dist/test-setup.browser.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const __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 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__,{ConsentDialogLink:()=>consent_preferences_link_cjs_namespaceObject.ConsentDialogLink});const consent_preferences_link_cjs_namespaceObject=require("../consent-preferences-link/consent-preferences-link.cjs");for(var __rspack_i in exports.ConsentDialogLink=__webpack_exports__.ConsentDialogLink,__webpack_exports__)-1===["ConsentDialogLink"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-dialog-link/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,iBAAiB,EACjB,KAAK,sBAAsB,GAC3B,MAAM,sDAAsD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ConsentDialogLink as e}from"../consent-preferences-link/consent-preferences-link.js";export{e as ConsentDialogLink};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __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__,{TriggerButton:()=>TriggerButton});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),consent_dialog_trigger_module_js_namespaceObject=require("@c15t/ui/styles/components/consent-dialog-trigger.module.js");var consent_dialog_trigger_module_js_default=__webpack_require__.n(consent_dialog_trigger_module_js_namespaceObject);const external_react_namespaceObject=require("react"),external_root_cjs_namespaceObject=require("./root.cjs"),cornerClassMap={"bottom-right":consent_dialog_trigger_module_js_default().bottomRight,"bottom-left":consent_dialog_trigger_module_js_default().bottomLeft,"top-right":consent_dialog_trigger_module_js_default().topRight,"top-left":consent_dialog_trigger_module_js_default().topLeft},sizeClassMap={sm:consent_dialog_trigger_module_js_default().sm,md:consent_dialog_trigger_module_js_default().md,lg:consent_dialog_trigger_module_js_default().lg},TriggerButton=(0,external_react_namespaceObject.forwardRef)(({children:e,size:_="md",ariaLabel:r="Open privacy settings",className:t,noStyle:o=!1},a)=>{let{corner:n,isDragging:i,isSnapping:s,wasDragged:c,handlers:l,dragStyle:g,openDialog:u}=(0,external_root_cjs_namespaceObject.useTriggerContext)(),d=()=>{c()||u()},p=o?t:[consent_dialog_trigger_module_js_default().trigger,cornerClassMap[n],sizeClassMap[_],i&&consent_dialog_trigger_module_js_default().dragging,s&&consent_dialog_trigger_module_js_default().snapping,t].filter(Boolean).join(" ");return(0,jsx_runtime_namespaceObject.jsx)("button",{ref:a,type:"button",className:p,"aria-label":r,onClick:d,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),d())},style:g,...l,children:e})});for(var __rspack_i in TriggerButton.displayName="ConsentDialogTrigger.Button",exports.TriggerButton=__webpack_exports__.TriggerButton,__webpack_exports__)-1===["TriggerButton"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"use strict";const __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__,{TriggerButton:()=>TriggerButton});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),consent_dialog_trigger_module_js_namespaceObject=require("@c15t/ui/styles/components/consent-dialog-trigger.module.js");var consent_dialog_trigger_module_js_default=__webpack_require__.n(consent_dialog_trigger_module_js_namespaceObject);const external_react_namespaceObject=require("react"),external_root_cjs_namespaceObject=require("./root.cjs"),cornerClassMap={"bottom-right":consent_dialog_trigger_module_js_default().bottomRight,"bottom-left":consent_dialog_trigger_module_js_default().bottomLeft,"top-right":consent_dialog_trigger_module_js_default().topRight,"top-left":consent_dialog_trigger_module_js_default().topLeft},sizeClassMap={sm:consent_dialog_trigger_module_js_default().sm,md:consent_dialog_trigger_module_js_default().md,lg:consent_dialog_trigger_module_js_default().lg},TriggerButton=(0,external_react_namespaceObject.forwardRef)(({children:e,size:_="md",ariaLabel:r="Open privacy settings",className:t,noStyle:o=!1},a)=>{let{corner:n,isDragging:i,isSnapping:s,wasDragged:c,handlers:l,dragStyle:g,openDialog:u}=(0,external_root_cjs_namespaceObject.useTriggerContext)(),d=()=>{c()||u()},p=o?t:[consent_dialog_trigger_module_js_default().trigger,cornerClassMap[n],sizeClassMap[_],i&&consent_dialog_trigger_module_js_default().dragging,s&&consent_dialog_trigger_module_js_default().snapping,t].filter(Boolean).join(" ");return(0,jsx_runtime_namespaceObject.jsx)("button",{ref:a,type:"button",className:p,"data-c15t-trigger":"true","aria-label":r,onClick:d,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),d())},style:g,...l,children:e})});for(var __rspack_i in TriggerButton.displayName="ConsentDialogTrigger.Button",exports.TriggerButton=__webpack_exports__.TriggerButton,__webpack_exports__)-1===["TriggerButton"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-dialog-trigger/atoms/button.tsx"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAsB5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-dialog-trigger/atoms/button.tsx"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAsB5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,kHAiEzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import e from"@c15t/ui/styles/components/consent-dialog-trigger.module.js";import{forwardRef as o}from"react";import{useTriggerContext as r}from"./root.js";let i={"bottom-right":e.bottomRight,"bottom-left":e.bottomLeft,"top-right":e.topRight,"top-left":e.topLeft},n={sm:e.sm,md:e.md,lg:e.lg},g=o(({children:o,size:g="md",ariaLabel:m="Open privacy settings",className:l,noStyle:a=!1},p)=>{let{corner:s,isDragging:f,isSnapping:c,wasDragged:u,handlers:d,dragStyle:y,openDialog:b}=r(),h=()=>{u()||b()};return t("button",{ref:p,type:"button",className:a?l:[e.trigger,i[s],n[g],f&&e.dragging,c&&e.snapping,l].filter(Boolean).join(" "),"data-c15t-trigger":"true","aria-label":m,onClick:h,onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),h())},style:y,...d,children:o})});g.displayName="ConsentDialogTrigger.Button";export{g as TriggerButton};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const __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 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__,{ConsentDialogLink:()=>ConsentDialogLink});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_react_namespaceObject=require("react"),button_cjs_namespaceObject=require("../shared/primitives/button.cjs"),ConsentDialogLink=(0,external_react_namespaceObject.forwardRef)(({children:e,noStyle:_=!0,...r},t)=>(0,jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.ConsentButton,{ref:t,action:"open-consent-dialog",noStyle:_,"data-testid":"consent-dialog-link",...r,children:e}));for(var __rspack_i in ConsentDialogLink.displayName="ConsentDialogLink",exports.ConsentDialogLink=__webpack_exports__.ConsentDialogLink,__webpack_exports__)-1===["ConsentDialogLink"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
3
|
+
/**
|
|
4
|
+
* Inline trigger for opening the consent dialog from places like site footers.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Renders an unstyled button by default so site styles can define the visual appearance.
|
|
8
|
+
*/
|
|
9
|
+
export interface ConsentDialogLinkProps extends Omit<ConsentButtonProps, 'children'> {
|
|
10
|
+
/**
|
|
11
|
+
* Custom trigger content, for example "Your privacy settings" or "Manage preferences".
|
|
12
|
+
*/
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export declare const ConsentDialogLink: import("react").ForwardRefExoticComponent<ConsentDialogLinkProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
//# sourceMappingURL=consent-preferences-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent-preferences-link.d.ts","sourceRoot":"","sources":["../../../src/components/consent-preferences-link/consent-preferences-link.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,sBAChB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAC5C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,sHAe5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{forwardRef as o}from"react";import{ConsentButton as i}from"../shared/primitives/button.js";let e=o(({children:o,noStyle:e=!0,...n},r)=>t(i,{ref:r,action:"open-consent-dialog",noStyle:e,"data-testid":"consent-dialog-link",...n,children:o}));e.displayName="ConsentDialogLink";export{e as ConsentDialogLink};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const __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 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__,{ConsentDialogLink:()=>external_consent_preferences_link_cjs_namespaceObject.ConsentDialogLink});const external_consent_preferences_link_cjs_namespaceObject=require("./consent-preferences-link.cjs");for(var __rspack_i in exports.ConsentDialogLink=__webpack_exports__.ConsentDialogLink,__webpack_exports__)-1===["ConsentDialogLink"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/consent-preferences-link/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,iBAAiB,EACjB,KAAK,sBAAsB,GAC3B,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ConsentDialogLink as e}from"./consent-preferences-link.js";export{e as ConsentDialogLink};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __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,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_slot_namespaceObject=require("@radix-ui/react-slot"),external_react_namespaceObject=require("react"),consent_tracking_context_cjs_namespaceObject=require("../../../context/consent-tracking-context.cjs"),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"),NON_DOM_PROPS=["primary","secondary","neutral"],ConsentButton=(0,external_react_namespaceObject.forwardRef)(({asChild:e,className:t,style:r,noStyle:n,action:_,themeKey:s,baseClassName:c,variant:a="neutral",mode:o="stroke",size:i="small",onClick:u,closeConsentBanner:p=!1,closeConsentDialog:
|
|
1
|
+
"use strict";const __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,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),react_slot_namespaceObject=require("@radix-ui/react-slot"),external_react_namespaceObject=require("react"),consent_tracking_context_cjs_namespaceObject=require("../../../context/consent-tracking-context.cjs"),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"),NON_DOM_PROPS=["primary","secondary","neutral"],ConsentButton=(0,external_react_namespaceObject.forwardRef)(({asChild:e,className:t,style:r,noStyle:n,action:_,themeKey:s,baseClassName:c,variant:a="neutral",mode:o="stroke",size:i="small",onClick:u,closeConsentBanner:p=!1,closeConsentDialog:l=!1,category:b,...m},j)=>{let{saveConsents:d,setActiveUI:k,setConsent:O}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),{uiSource:y}=(0,consent_tracking_context_cjs_namespaceObject.useConsentTracking)(),{noStyle:f}=(0,use_theme_cjs_namespaceObject.useTheme)(),{noStyle:x,...w}=(0,use_styles_cjs_namespaceObject.useStyles)(s??("primary"===a?"buttonPrimary":"buttonSecondary"),{baseClassName:[!(f||n)&&index_cjs_namespaceObject.buttonVariants({variant:a,mode:o,size:i}).root()],style:{...r},className:t,noStyle:f||n});if(!b&&"set-consent"===_)throw Error("Category is required for set-consent action");let q=(0,external_react_namespaceObject.useCallback)(e=>{if((p||l)&&k("none"),"open-consent-dialog"===_&&k("dialog"),u&&u(e),"open-consent-dialog"!==_){let e=y?{uiSource:y}:void 0;switch(_){case"accept-consent":d("all",e);break;case"reject-consent":d("necessary",e);break;case"custom-consent":d("custom",e);break;case"set-consent":if(!b)throw Error("Category is required for set-consent action");O(b,!0)}}},[p,l,u,d,k,_,b,O,y]),g=e?react_slot_namespaceObject.Slot:"button",C=Object.fromEntries(Object.entries(m).filter(([e])=>!NON_DOM_PROPS.includes(e)));return(0,jsx_runtime_namespaceObject.jsx)(g,{ref:j,...w,onClick:q,...C})});for(var __rspack_i in ConsentButton.displayName="ConsentButton",exports.ConsentButton=__webpack_exports__.ConsentButton,__webpack_exports__)-1===["ConsentButton"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/primitives/button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAW5C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQ/E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;YAKpB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,aAAa;eACL,eAAe;yBACL,OAAO;yBACP,OAAO;
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/primitives/button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAW5C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQ/E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;YAKpB,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,aAAa;eACL,eAAe;yBACL,OAAO;yBACP,OAAO;qDAgI9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{Slot as t}from"@radix-ui/react-slot";import{forwardRef as o,useCallback as r}from"react";import{useConsentTracking as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{Slot as t}from"@radix-ui/react-slot";import{forwardRef as o,useCallback as r}from"react";import{useConsentTracking as n}from"../../../context/consent-tracking-context.js";import{useConsentManager as s}from"../../../hooks/use-consent-manager.js";import{useStyles as a}from"../../../hooks/use-styles.js";import{useTheme as c}from"../../../hooks/use-theme.js";import{buttonVariants as i}from"../ui/button/index.js";let m=["primary","secondary","neutral"],l=o(({asChild:o,className:l,style:u,noStyle:f,action:p,themeKey:y,baseClassName:d,variant:b="neutral",mode:k="stroke",size:j="small",onClick:g,closeConsentBanner:h=!1,closeConsentDialog:C=!1,category:x,...N},S)=>{let{saveConsents:w,setActiveUI:E,setConsent:q}=s(),{uiSource:B}=n(),{noStyle:O}=c(),{noStyle:v,...P}=a(y??("primary"===b?"buttonPrimary":"buttonSecondary"),{baseClassName:[!(O||f)&&i({variant:b,mode:k,size:j}).root()],style:{...u},className:l,noStyle:O||f});if(!x&&"set-consent"===p)throw Error("Category is required for set-consent action");let z=r(e=>{if((h||C)&&E("none"),"open-consent-dialog"===p&&E("dialog"),g&&g(e),"open-consent-dialog"!==p){let e=B?{uiSource:B}:void 0;switch(p){case"accept-consent":w("all",e);break;case"reject-consent":w("necessary",e);break;case"custom-consent":w("custom",e);break;case"set-consent":if(!x)throw Error("Category is required for set-consent action");q(x,!0)}}},[h,C,g,w,E,p,x,q,B]),A=Object.fromEntries(Object.entries(N).filter(([e])=>!m.includes(e)));return e(o?t:"button",{ref:S,...P,onClick:z,...A})});l.displayName="ConsentButton";export{l as ConsentButton};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __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_modules__={"./components/consent-banner/components"(e){e.exports=require("./components/consent-banner/components.cjs")},"./components/consent-banner"(e){e.exports=require("./components/consent-banner/index.cjs")},"./components/consent-dialog-trigger"(e){e.exports=require("./components/consent-dialog-trigger/index.cjs")},"./components/consent-dialog"(e){e.exports=require("./components/consent-dialog/index.cjs")},"./components/consent-widget"(e){e.exports=require("./components/consent-widget/index.cjs")},"./components/frame"(e){e.exports=require("./components/frame/index.cjs")},"./components/iab-consent-banner"(e){e.exports=require("./components/iab-consent-banner/index.cjs")},"./components/iab-consent-dialog"(e){e.exports=require("./components/iab-consent-dialog/index.cjs")},"./components/shared/primitives/button"(e){e.exports=require("./components/shared/primitives/button.cjs")},"./hooks/use-color-scheme"(e){e.exports=require("./hooks/use-color-scheme.cjs")},"./hooks/use-consent-manager"(e){e.exports=require("./hooks/use-consent-manager.cjs")},"./hooks/use-focus-trap"(e){e.exports=require("./hooks/use-focus-trap.cjs")},"./hooks/use-ssr-status"(e){e.exports=require("./hooks/use-ssr-status.cjs")},"./hooks/use-translations"(e){e.exports=require("./hooks/use-translations.cjs")},"./providers/consent-manager-provider"(e){e.exports=require("./providers/consent-manager-provider.cjs")},c15t(e){e.exports=require("c15t")}},__webpack_module_cache__={};function __webpack_require__(e){var
|
|
1
|
+
"use strict";const __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_modules__={"./components/consent-banner/components"(e){e.exports=require("./components/consent-banner/components.cjs")},"./components/consent-banner"(e){e.exports=require("./components/consent-banner/index.cjs")},"./components/consent-dialog-link"(e){e.exports=require("./components/consent-dialog-link/index.cjs")},"./components/consent-dialog-trigger"(e){e.exports=require("./components/consent-dialog-trigger/index.cjs")},"./components/consent-dialog"(e){e.exports=require("./components/consent-dialog/index.cjs")},"./components/consent-widget"(e){e.exports=require("./components/consent-widget/index.cjs")},"./components/frame"(e){e.exports=require("./components/frame/index.cjs")},"./components/iab-consent-banner"(e){e.exports=require("./components/iab-consent-banner/index.cjs")},"./components/iab-consent-dialog"(e){e.exports=require("./components/iab-consent-dialog/index.cjs")},"./components/shared/primitives/button"(e){e.exports=require("./components/shared/primitives/button.cjs")},"./hooks/use-color-scheme"(e){e.exports=require("./hooks/use-color-scheme.cjs")},"./hooks/use-consent-manager"(e){e.exports=require("./hooks/use-consent-manager.cjs")},"./hooks/use-focus-trap"(e){e.exports=require("./hooks/use-focus-trap.cjs")},"./hooks/use-ssr-status"(e){e.exports=require("./hooks/use-ssr-status.cjs")},"./hooks/use-translations"(e){e.exports=require("./hooks/use-translations.cjs")},"./providers/consent-manager-provider"(e){e.exports=require("./providers/consent-manager-provider.cjs")},c15t(e){e.exports=require("c15t")}},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](o,o.exports,__webpack_require__),o.exports}__webpack_require__.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(n,{a:n}),n},__webpack_require__.d=(e,n)=>{for(var o in n)__webpack_require__.o(n,o)&&!__webpack_require__.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__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__={};for(var __rspack_i in(()=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentBanner:()=>n.ConsentBanner,ConsentButton:()=>g.ConsentButton,ConsentDialog:()=>s.ConsentDialog,ConsentDialogLink:()=>t.ConsentDialogLink,ConsentDialogTrigger:()=>_.ConsentDialogTrigger,ConsentManagerProvider:()=>k.ConsentManagerProvider,ConsentWidget:()=>a.ConsentWidget,Frame:()=>i.Frame,IABConsentBanner:()=>p.IABConsentBanner,IABConsentDialog:()=>c.IABConsentDialog,TriggerButton:()=>_.TriggerButton,TriggerIcon:()=>_.TriggerIcon,TriggerRoot:()=>_.TriggerRoot,TriggerText:()=>_.TriggerText,configureConsentManager:()=>e.configureConsentManager,defaultTranslationConfig:()=>e.defaultTranslationConfig,detectBrowserLanguage:()=>e.detectBrowserLanguage,mergeTranslationConfigs:()=>e.mergeTranslationConfigs,prepareTranslationConfig:()=>e.prepareTranslationConfig,useColorScheme:()=>u.useColorScheme,useConsentManager:()=>l.useConsentManager,useDraggable:()=>_.useDraggable,useFocusTrap:()=>x.useFocusTrap,useSSRStatus:()=>b.useSSRStatus,useTranslations:()=>C.useTranslations,useTriggerContext:()=>_.useTriggerContext});var e=__webpack_require__("c15t"),n=__webpack_require__("./components/consent-banner"),o=__webpack_require__("./components/consent-banner/components"),r={};for(let e in o)0>["ConsentManagerProvider","ConsentWidget","ConsentButton","Frame","ConsentDialog","IABConsentDialog","useTriggerContext","useColorScheme","detectBrowserLanguage","TriggerIcon","useSSRStatus","defaultTranslationConfig","useFocusTrap","mergeTranslationConfigs","ConsentDialogTrigger","prepareTranslationConfig","ConsentBanner","ConsentDialogLink","TriggerButton","useConsentManager","configureConsentManager","TriggerText","useTranslations","default","IABConsentBanner","useDraggable","TriggerRoot"].indexOf(e)&&(r[e]=()=>o[e]);__webpack_require__.d(__webpack_exports__,r);var s=__webpack_require__("./components/consent-dialog"),t=__webpack_require__("./components/consent-dialog-link"),_=__webpack_require__("./components/consent-dialog-trigger"),a=__webpack_require__("./components/consent-widget"),i=__webpack_require__("./components/frame"),p=__webpack_require__("./components/iab-consent-banner"),c=__webpack_require__("./components/iab-consent-dialog"),g=__webpack_require__("./components/shared/primitives/button"),u=__webpack_require__("./hooks/use-color-scheme"),l=__webpack_require__("./hooks/use-consent-manager"),x=__webpack_require__("./hooks/use-focus-trap"),b=__webpack_require__("./hooks/use-ssr-status"),C=__webpack_require__("./hooks/use-translations"),k=__webpack_require__("./providers/consent-manager-provider")})(),exports.ConsentBanner=__webpack_exports__.ConsentBanner,exports.ConsentButton=__webpack_exports__.ConsentButton,exports.ConsentDialog=__webpack_exports__.ConsentDialog,exports.ConsentDialogLink=__webpack_exports__.ConsentDialogLink,exports.ConsentDialogTrigger=__webpack_exports__.ConsentDialogTrigger,exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.ConsentWidget=__webpack_exports__.ConsentWidget,exports.Frame=__webpack_exports__.Frame,exports.IABConsentBanner=__webpack_exports__.IABConsentBanner,exports.IABConsentDialog=__webpack_exports__.IABConsentDialog,exports.TriggerButton=__webpack_exports__.TriggerButton,exports.TriggerIcon=__webpack_exports__.TriggerIcon,exports.TriggerRoot=__webpack_exports__.TriggerRoot,exports.TriggerText=__webpack_exports__.TriggerText,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useDraggable=__webpack_exports__.useDraggable,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useSSRStatus=__webpack_exports__.useSSRStatus,exports.useTranslations=__webpack_exports__.useTranslations,exports.useTriggerContext=__webpack_exports__.useTriggerContext,__webpack_exports__)-1===["ConsentBanner","ConsentButton","ConsentDialog","ConsentDialogLink","ConsentDialogTrigger","ConsentManagerProvider","ConsentWidget","Frame","IABConsentBanner","IABConsentDialog","TriggerButton","TriggerIcon","TriggerRoot","TriggerText","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useDraggable","useFocusTrap","useSSRStatus","useTranslations","useTriggerContext"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { configureConsentManager, defaultTranslationConfig, detectBrowserLanguag
|
|
|
3
3
|
export { ConsentBanner, type ConsentBannerProps, } from './components/consent-banner';
|
|
4
4
|
export * from './components/consent-banner/components';
|
|
5
5
|
export { ConsentDialog, type ConsentDialogProps, } from './components/consent-dialog';
|
|
6
|
+
export { ConsentDialogLink, type ConsentDialogLinkProps, } from './components/consent-dialog-link';
|
|
6
7
|
export { ConsentDialogTrigger, type ConsentDialogTriggerCompound, type ConsentDialogTriggerProps, TriggerButton, type TriggerButtonProps, TriggerIcon, type TriggerIconProps, type TriggerIconType, TriggerRoot, type TriggerRootProps, type TriggerSize, TriggerText, type TriggerTextProps, type TriggerVisibility, type UseDraggableOptions, type UseDraggableReturn, useDraggable, useTriggerContext, } from './components/consent-dialog-trigger';
|
|
7
8
|
export { ConsentWidget, type ConsentWidgetProps, } from './components/consent-widget';
|
|
8
9
|
export { Frame, type FrameProps } from './components/frame';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,YAAY,GACZ,MAAM,MAAM,CAAC;AAEd,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,MAAM,CAAC;AACd,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,6BAA6B,CAAC;AACrC,cAAc,wCAAwC,CAAC;AAEvD,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,YAAY,GACZ,MAAM,MAAM,CAAC;AAEd,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,MAAM,CAAC;AACd,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,6BAA6B,CAAC;AACrC,cAAc,wCAAwC,CAAC;AAEvD,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,iBAAiB,EACjB,KAAK,sBAAsB,GAC3B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACN,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,aAAa,EACb,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAEvB,YAAY,EACZ,iBAAiB,GACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,aAAa,EACb,KAAK,kBAAkB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EACN,gBAAgB,EAChB,KAAK,qBAAqB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,gBAAgB,EAChB,KAAK,qBAAqB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EACX,qBAAqB,EACrB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,KAAK,EACL,gBAAgB,GAChB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{configureConsentManager as o,defaultTranslationConfig as n,detectBrowserLanguage as e,mergeTranslationConfigs as r,prepareTranslationConfig as s}from"c15t";import{ConsentBanner as t}from"./components/consent-banner/index.js";import{ConsentDialog as i}from"./components/consent-dialog/index.js";import{ConsentDialogTrigger as
|
|
1
|
+
import{configureConsentManager as o,defaultTranslationConfig as n,detectBrowserLanguage as e,mergeTranslationConfigs as r,prepareTranslationConfig as s}from"c15t";import{ConsentBanner as t}from"./components/consent-banner/index.js";import{ConsentDialog as i}from"./components/consent-dialog/index.js";import{ConsentDialogLink as m}from"./components/consent-dialog-link/index.js";import{ConsentDialogTrigger as a,TriggerButton as g,TriggerIcon as p,TriggerRoot as c,TriggerText as f,useDraggable as u,useTriggerContext as d}from"./components/consent-dialog-trigger/index.js";import{ConsentWidget as l}from"./components/consent-widget/index.js";import{Frame as j}from"./components/frame/index.js";import{IABConsentBanner as C}from"./components/iab-consent-banner/index.js";import{IABConsentDialog as x}from"./components/iab-consent-dialog/index.js";import{ConsentButton as T}from"./components/shared/primitives/button.js";import{useColorScheme as h}from"./hooks/use-color-scheme.js";import{useConsentManager as b}from"./hooks/use-consent-manager.js";import{useFocusTrap as k}from"./hooks/use-focus-trap.js";import{useSSRStatus as B}from"./hooks/use-ssr-status.js";import{useTranslations as D}from"./hooks/use-translations.js";import{ConsentManagerProvider as v}from"./providers/consent-manager-provider.js";export*from"./components/consent-banner/components.js";export{t as ConsentBanner,T as ConsentButton,i as ConsentDialog,m as ConsentDialogLink,a as ConsentDialogTrigger,v as ConsentManagerProvider,l as ConsentWidget,j as Frame,C as IABConsentBanner,x as IABConsentDialog,g as TriggerButton,p as TriggerIcon,c as TriggerRoot,f as TriggerText,o as configureConsentManager,n as defaultTranslationConfig,e as detectBrowserLanguage,r as mergeTranslationConfigs,s as prepareTranslationConfig,h as useColorScheme,b as useConsentManager,u as useDraggable,k as useFocusTrap,B as useSSRStatus,D as useTranslations,d as useTriggerContext};
|
package/dist/version.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __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 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__,{version:()=>version});const version="2.0.0-rc.
|
|
1
|
+
"use strict";const __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 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__,{version:()=>version});const version="2.0.0-rc.4";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.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "2.0.0-rc.
|
|
1
|
+
export declare const version = "2.0.0-rc.4";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e="2.0.0-rc.
|
|
1
|
+
let e="2.0.0-rc.4";export{e as version};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c15t/react",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.4",
|
|
4
4
|
"description": "Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -54,6 +54,46 @@
|
|
|
54
54
|
"import": "./dist/components/cookie-banner/index.js",
|
|
55
55
|
"require": "./dist/components/cookie-banner/index.cjs"
|
|
56
56
|
},
|
|
57
|
+
"./components/consent-banner": {
|
|
58
|
+
"types": "./dist/components/consent-banner/index.d.ts",
|
|
59
|
+
"import": "./client/components/consent-banner.js",
|
|
60
|
+
"require": "./dist/components/consent-banner/index.cjs"
|
|
61
|
+
},
|
|
62
|
+
"./components/consent-dialog": {
|
|
63
|
+
"types": "./dist/components/consent-dialog/index.d.ts",
|
|
64
|
+
"import": "./client/components/consent-dialog.js",
|
|
65
|
+
"require": "./dist/components/consent-dialog/index.cjs"
|
|
66
|
+
},
|
|
67
|
+
"./components/consent-dialog-trigger": {
|
|
68
|
+
"types": "./dist/components/consent-dialog-trigger/index.d.ts",
|
|
69
|
+
"import": "./client/components/consent-dialog-trigger.js",
|
|
70
|
+
"require": "./dist/components/consent-dialog-trigger/index.cjs"
|
|
71
|
+
},
|
|
72
|
+
"./components/consent-dialog-link": {
|
|
73
|
+
"types": "./dist/components/consent-dialog-link/index.d.ts",
|
|
74
|
+
"import": "./client/components/consent-dialog-link.js",
|
|
75
|
+
"require": "./dist/components/consent-dialog-link/index.cjs"
|
|
76
|
+
},
|
|
77
|
+
"./components/consent-widget": {
|
|
78
|
+
"types": "./dist/components/consent-widget/index.d.ts",
|
|
79
|
+
"import": "./client/components/consent-widget.js",
|
|
80
|
+
"require": "./dist/components/consent-widget/index.cjs"
|
|
81
|
+
},
|
|
82
|
+
"./components/frame": {
|
|
83
|
+
"types": "./dist/components/frame/index.d.ts",
|
|
84
|
+
"import": "./client/components/frame.js",
|
|
85
|
+
"require": "./dist/components/frame/index.cjs"
|
|
86
|
+
},
|
|
87
|
+
"./components/iab-consent-banner": {
|
|
88
|
+
"types": "./dist/components/iab-consent-banner/index.d.ts",
|
|
89
|
+
"import": "./client/components/iab-consent-banner.js",
|
|
90
|
+
"require": "./dist/components/iab-consent-banner/index.cjs"
|
|
91
|
+
},
|
|
92
|
+
"./components/iab-consent-dialog": {
|
|
93
|
+
"types": "./dist/components/iab-consent-dialog/index.d.ts",
|
|
94
|
+
"import": "./client/components/iab-consent-dialog.js",
|
|
95
|
+
"require": "./dist/components/iab-consent-dialog/index.cjs"
|
|
96
|
+
},
|
|
57
97
|
"./hooks": {
|
|
58
98
|
"types": "./dist/hooks/index.d.ts",
|
|
59
99
|
"import": "./dist/hooks/index.js",
|
|
@@ -84,12 +124,15 @@
|
|
|
84
124
|
"module": "./dist/index.js",
|
|
85
125
|
"types": "./dist/index.d.ts",
|
|
86
126
|
"files": [
|
|
87
|
-
"dist"
|
|
127
|
+
"dist",
|
|
128
|
+
"client",
|
|
129
|
+
"!dist/mockServiceWorker.js"
|
|
88
130
|
],
|
|
89
131
|
"scripts": {
|
|
90
132
|
"prebuild": "genversion --esm --semi src/version.ts",
|
|
91
|
-
"build": "bun prebuild && rslib build",
|
|
133
|
+
"build": "bun prebuild && rslib build && bun run clean:dist:test-artifacts",
|
|
92
134
|
"check-types": "bun prebuild && tsc --noEmit",
|
|
135
|
+
"clean:dist:test-artifacts": "bun --eval \"import { rmSync } from 'node:fs'; rmSync('dist/mockServiceWorker.js', { force: true });\"",
|
|
93
136
|
"dev": "bun prebuild && rslib build",
|
|
94
137
|
"fmt": "bun biome format --write . && bun biome check --formatter-enabled=false --linter-enabled=false --write",
|
|
95
138
|
"lint": "bun biome lint ./src",
|
|
@@ -102,15 +145,15 @@
|
|
|
102
145
|
"not op_mini all"
|
|
103
146
|
],
|
|
104
147
|
"dependencies": {
|
|
105
|
-
"@c15t/ui": "2.0.0-rc.
|
|
148
|
+
"@c15t/ui": "2.0.0-rc.4",
|
|
106
149
|
"@radix-ui/react-accordion": "1.2.12",
|
|
107
150
|
"@radix-ui/react-slot": "1.2.4",
|
|
108
151
|
"@radix-ui/react-switch": "1.2.6",
|
|
109
|
-
"c15t": "2.0.0-rc.
|
|
152
|
+
"c15t": "2.0.0-rc.4",
|
|
110
153
|
"clsx": "2.1.1"
|
|
111
154
|
},
|
|
112
155
|
"devDependencies": {
|
|
113
|
-
"@c15t/backend": "2.0.0-rc.
|
|
156
|
+
"@c15t/backend": "2.0.0-rc.4",
|
|
114
157
|
"@c15t/typescript-config": "0.0.1-beta.1",
|
|
115
158
|
"@c15t/vitest-config": "1.0.0",
|
|
116
159
|
"genversion": "3.2.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __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_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),browser_namespaceObject=require("vitest/browser"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../consent-banner/index.cjs"),external_consent_dialog_index_cjs_namespaceObject=require("../consent-dialog/index.cjs"),external_consent_dialog_trigger_index_cjs_namespaceObject=require("../consent-dialog-trigger/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../providers/consent-manager-provider.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const defaultOptions={mode:"offline"};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("activeUI Transitions E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.test)("banner shows on first visit (activeUI becomes banner)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("customize transitions banner → dialog",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(t).not.toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("save from dialog hides all UI",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-customize-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await browser_namespaceObject.userEvent.click(t),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]'),t=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(t).not.toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("banner hidden for returning visitor",async()=>{let e={consents:{necessary:!0,functionality:!0,marketing:!0,measurement:!0,experience:!0},consentInfo:{time:Date.now(),type:"accept-all"}};window.localStorage.setItem("c15t",JSON.stringify(e)),(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await new Promise(e=>setTimeout(e,500));let t=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(t).not.toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("trigger appears after consent, opens dialog on click",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_trigger_index_cjs_namespaceObject.ConsentDialogTrigger,{showWhen:"always"})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-accept-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()},{timeout:3e3}),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('button[aria-label="Open privacy settings"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('button[aria-label="Open privacy settings"]');await browser_namespaceObject.userEvent.click(t),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("full lifecycle: banner → customize → dialog → save → trigger → dialog",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_trigger_index_cjs_namespaceObject.ConsentDialogTrigger,{showWhen:"always"})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await browser_namespaceObject.userEvent.click(t),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()},{timeout:3e3}),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('button[aria-label="Open privacy settings"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('button[aria-label="Open privacy settings"]');await browser_namespaceObject.userEvent.click(n),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let t;import{jsx as e,jsxs as o}from"react/jsx-runtime";import{beforeEach as n,describe as a,expect as i,test as r,vi as c}from"vitest";import{userEvent as s}from"vitest/browser";import{render as u}from"vitest-browser-react";import{ConsentBanner as d}from"../consent-banner/index.js";import{ConsentDialog as l}from"../consent-dialog/index.js";import{ConsentDialogTrigger as m}from"../consent-dialog-trigger/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as y}from"../../providers/consent-manager-provider.js";Object.defineProperty(window,"localStorage",{value:(t={},{getItem:e=>t[e]||null,setItem:(e,o)=>{t[e]=o.toString()},removeItem:e=>{delete t[e]},clear:()=>{t={}}})});let b={mode:"offline"};a("activeUI Transitions E2E Tests",()=>{n(()=>{for(let t of(window.localStorage.clear(),document.cookie.split(";"))){let e=t.split("=")[0]?.trim();e&&(document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}c.clearAllMocks(),y()}),r("banner shows on first visit (activeUI becomes banner)",async()=>{u(e(w,{options:b,children:e(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3})}),r("customize transitions banner → dialog",async()=>{u(o(w,{options:b,children:[e(d,{}),e(l,{})]})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-customize-button"]');await s.click(t),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()}),r("save from dialog hides all UI",async()=>{u(o(w,{options:b,children:[e(d,{}),e(l,{})]})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-customize-button"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-customize-button"]');await s.click(t),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await s.click(n),await c.waitFor(()=>{let t=document.querySelector('[data-testid="consent-banner-root"]'),e=document.querySelector('[data-testid="consent-dialog-root"]');i(t).not.toBeInTheDocument(),i(e).not.toBeInTheDocument()},{timeout:3e3})}),r("banner hidden for returning visitor",async()=>{let t={consents:{necessary:!0,functionality:!0,marketing:!0,measurement:!0,experience:!0},consentInfo:{time:Date.now(),type:"accept-all"}};window.localStorage.setItem("c15t",JSON.stringify(t)),u(e(w,{options:b,children:e(d,{})})),await new Promise(t=>setTimeout(t,500)),i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()}),r("trigger appears after consent, opens dialog on click",async()=>{u(o(w,{options:b,children:[e(d,{}),e(l,{}),e(m,{showWhen:"always"})]})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-accept-button"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-accept-button"]');await s.click(t),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()},{timeout:3e3}),await c.waitFor(()=>{i(document.querySelector('button[aria-label="Open privacy settings"]')).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('button[aria-label="Open privacy settings"]');await s.click(n),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),r("full lifecycle: banner → customize → dialog → save → trigger → dialog",async()=>{u(o(w,{options:b,children:[e(d,{}),e(l,{}),e(m,{showWhen:"always"})]})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-customize-button"]');await s.click(t),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await s.click(n),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).not.toBeInTheDocument()},{timeout:3e3}),await c.waitFor(()=>{i(document.querySelector('button[aria-label="Open privacy settings"]')).toBeInTheDocument()},{timeout:3e3});let a=document.querySelector('button[aria-label="Open privacy settings"]');await s.click(a),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __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_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),browser_namespaceObject=require("vitest/browser"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../consent-banner/index.cjs"),external_consent_dialog_index_cjs_namespaceObject=require("../consent-dialog/index.cjs"),external_consent_dialog_trigger_index_cjs_namespaceObject=require("../consent-dialog-trigger/index.cjs"),external_consent_widget_index_cjs_namespaceObject=require("../consent-widget/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../providers/consent-manager-provider.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const defaultOptions={mode:"offline"};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("Consent Flow E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("First Visit Flow",()=>{(0,external_vitest_namespaceObject.test)("should show cookie banner to first-time visitor",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should hide banner after accepting all",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-accept-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should hide banner after rejecting all",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-reject-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-reject-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Consent Persistence",()=>{(0,external_vitest_namespaceObject.test)("should persist consent to localStorage on accept",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-accept-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy();let t=JSON.parse(e);(0,external_vitest_namespaceObject.expect)(t.consents).toBeTruthy(),(0,external_vitest_namespaceObject.expect)(t.consents.necessary).toBe(!0)},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should persist reject decision to localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-reject-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-reject-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy();let t=JSON.parse(e);(0,external_vitest_namespaceObject.expect)(t.consents.necessary).toBe(!0),(0,external_vitest_namespaceObject.expect)(t.consents.marketing).toBe(!1),(0,external_vitest_namespaceObject.expect)(t.consents.measurement).toBe(!1)},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Returning Visitor Flow",()=>{(0,external_vitest_namespaceObject.test)("should not show banner if user has already consented",async()=>{let e={consents:{necessary:!0,functionality:!0,marketing:!0,measurement:!0,experience:!0},consentInfo:{time:Date.now(),type:"accept-all"}};window.localStorage.setItem("c15t",JSON.stringify(e)),(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await new Promise(e=>setTimeout(e,500));let t=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(t).not.toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Preference Center Trigger",()=>{(0,external_vitest_namespaceObject.test)("should show trigger after consent given when showWhen is always",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_trigger_index_cjs_namespaceObject.ConsentDialogTrigger,{showWhen:"always"})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('button[aria-label="Open privacy settings"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Widget Integration",()=>{(0,external_vitest_namespaceObject.test)("should render widget with all consent categories",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_widget_index_cjs_namespaceObject.ConsentWidget,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-widget-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3}),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelectorAll('[role="switch"]');(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0)},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should have disabled necessary consent toggle",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_widget_index_cjs_namespaceObject.ConsentWidget,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-widget-switch-necessary"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e?.getAttribute("data-disabled")).toBe("")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Dialog Integration",()=>{(0,external_vitest_namespaceObject.test)("should show dialog when open prop is true",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should contain widget inside dialog",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-widget-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Complete Flow",()=>{(0,external_vitest_namespaceObject.test)("should complete full consent flow: banner -> customize -> save",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-widget-switch-marketing"]');t&&await browser_namespaceObject.userEvent.click(t);let n=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await browser_namespaceObject.userEvent.click(n),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy();let t=JSON.parse(e);(0,external_vitest_namespaceObject.expect)(t.consents).toBeTruthy()},{timeout:3e3})})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e;import{jsx as t,jsxs as o}from"react/jsx-runtime";import{beforeEach as n,describe as a,expect as i,test as r,vi as c}from"vitest";import{userEvent as s}from"vitest/browser";import{render as l}from"vitest-browser-react";import{ConsentBanner as d}from"../consent-banner/index.js";import{ConsentDialog as u}from"../consent-dialog/index.js";import{ConsentDialogTrigger as m}from"../consent-dialog-trigger/index.js";import{ConsentWidget as w}from"../consent-widget/index.js";import{ConsentManagerProvider as h,clearConsentRuntimeCache as y}from"../../providers/consent-manager-provider.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:t=>e[t]||null,setItem:(t,o)=>{e[t]=o.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}})});let g={mode:"offline"};a("Consent Flow E2E Tests",()=>{n(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}c.clearAllMocks(),y()}),a("First Visit Flow",()=>{r("should show cookie banner to first-time visitor",async()=>{l(t(h,{options:g,children:t(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3})}),r("should hide banner after accepting all",async()=>{l(t(h,{options:g,children:t(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-accept-button"]')).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await s.click(e),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()},{timeout:3e3})}),r("should hide banner after rejecting all",async()=>{l(t(h,{options:g,children:t(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-reject-button"]')).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-reject-button"]');await s.click(e),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()},{timeout:3e3})})}),a("Consent Persistence",()=>{r("should persist consent to localStorage on accept",async()=>{l(t(h,{options:g,children:t(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-accept-button"]')).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await s.click(e),await c.waitFor(()=>{let e=window.localStorage.getItem("c15t");i(e).toBeTruthy();let t=JSON.parse(e);i(t.consents).toBeTruthy(),i(t.consents.necessary).toBe(!0)},{timeout:3e3})}),r("should persist reject decision to localStorage",async()=>{l(t(h,{options:g,children:t(d,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-reject-button"]')).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-reject-button"]');await s.click(e),await c.waitFor(()=>{let e=window.localStorage.getItem("c15t");i(e).toBeTruthy();let t=JSON.parse(e);i(t.consents.necessary).toBe(!0),i(t.consents.marketing).toBe(!1),i(t.consents.measurement).toBe(!1)},{timeout:3e3})})}),a("Returning Visitor Flow",()=>{r("should not show banner if user has already consented",async()=>{let e={consents:{necessary:!0,functionality:!0,marketing:!0,measurement:!0,experience:!0},consentInfo:{time:Date.now(),type:"accept-all"}};window.localStorage.setItem("c15t",JSON.stringify(e)),l(t(h,{options:g,children:t(d,{})})),await new Promise(e=>setTimeout(e,500)),i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()})}),a("Preference Center Trigger",()=>{r("should show trigger after consent given when showWhen is always",async()=>{l(t(h,{options:g,children:t(m,{showWhen:"always"})})),await c.waitFor(()=>{i(document.querySelector('button[aria-label="Open privacy settings"]')).toBeInTheDocument()},{timeout:3e3})})}),a("Widget Integration",()=>{r("should render widget with all consent categories",async()=>{l(t(h,{options:g,children:t(w,{})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-widget-root"]')).toBeInTheDocument()},{timeout:3e3}),await c.waitFor(()=>{i(document.querySelectorAll('[role="switch"]').length).toBeGreaterThan(0)},{timeout:3e3})}),r("should have disabled necessary consent toggle",async()=>{l(t(h,{options:g,children:t(w,{})})),await c.waitFor(()=>{let e=document.querySelector('[data-testid="consent-widget-switch-necessary"]');i(e).toBeInTheDocument(),i(e?.getAttribute("data-disabled")).toBe("")},{timeout:3e3})})}),a("Dialog Integration",()=>{r("should show dialog when open prop is true",async()=>{l(t(h,{options:g,children:t(u,{open:!0})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),r("should contain widget inside dialog",async()=>{l(t(h,{options:g,children:t(u,{open:!0})})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-widget-root"]')).toBeInTheDocument()},{timeout:3e3})})}),a("Complete Flow",()=>{r("should complete full consent flow: banner -> customize -> save",async()=>{l(o(h,{options:g,children:[t(d,{}),t(u,{})]})),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await s.click(e),await c.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('[data-testid="consent-widget-switch-marketing"]');n&&await s.click(n);let a=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await s.click(a),await c.waitFor(()=>{let e=window.localStorage.getItem("c15t");i(e).toBeTruthy(),i(JSON.parse(e).consents).toBeTruthy()},{timeout:3e3})})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __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_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../consent-banner/index.cjs"),external_consent_dialog_index_cjs_namespaceObject=require("../consent-dialog/index.cjs"),e2e_setup_cjs_namespaceObject=require("../iab/__tests__/e2e-setup.cjs"),external_iab_consent_banner_index_cjs_namespaceObject=require("../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../providers/consent-manager-provider.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const optInOptions={mode:"offline"};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("models Prop E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),(0,e2e_setup_cjs_namespaceObject.clearConsentState)()}),(0,external_vitest_namespaceObject.describe)("Opt-in mode (default)",()=>{(0,external_vitest_namespaceObject.test)("ConsentBanner renders in opt-in mode (default models includes opt-in)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("IABConsentBanner does NOT render in opt-in mode (default models is iab)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_banner_index_cjs_namespaceObject.IABConsentBanner,{})})),await new Promise(e=>setTimeout(e,1e3));let e=document.querySelector('[data-testid="iab-consent-banner-card"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("ConsentDialog renders in opt-in mode when open",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("IABConsentDialog does NOT render in opt-in mode",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await new Promise(e=>setTimeout(e,1e3));let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("IAB mode",()=>{(0,external_vitest_namespaceObject.test)("IABConsentBanner renders when model is iab",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_banner_index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-banner-card"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("ConsentBanner does NOT render when model is iab",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await new Promise(e=>setTimeout(e,1e3));let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Custom models prop",()=>{(0,external_vitest_namespaceObject.test)("ConsentBanner with models=[opt-in] renders in opt-in mode",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{models:["opt-in"]})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("ConsentBanner with models=[iab] does NOT render in opt-in mode",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{models:["iab"]})})),await new Promise(e=>setTimeout(e,1e3));let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("only matching component renders when both are present",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:optInOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_banner_index_cjs_namespaceObject.IABConsentBanner,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="iab-consent-banner-card"]');(0,external_vitest_namespaceObject.expect)(e).not.toBeInTheDocument()})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e;import{jsx as t,jsxs as o}from"react/jsx-runtime";import{beforeEach as n,describe as r,expect as i,test as a,vi as s}from"vitest";import{render as d}from"vitest-browser-react";import{ConsentBanner as c}from"../consent-banner/index.js";import{ConsentDialog as m}from"../consent-dialog/index.js";import{clearConsentState as l,defaultIABOptions as u}from"../iab/__tests__/e2e-setup.js";import{IABConsentBanner as p}from"../iab-consent-banner/index.js";import{IABConsentDialog as h}from"../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as b}from"../../providers/consent-manager-provider.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:t=>e[t]||null,setItem:(t,o)=>{e[t]=o.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}})});let y={mode:"offline"};r("models Prop E2E Tests",()=>{n(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}s.clearAllMocks(),b(),l()}),r("Opt-in mode (default)",()=>{a("ConsentBanner renders in opt-in mode (default models includes opt-in)",async()=>{d(t(w,{options:y,children:t(c,{})})),await s.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3})}),a("IABConsentBanner does NOT render in opt-in mode (default models is iab)",async()=>{d(t(w,{options:y,children:t(p,{})})),await new Promise(e=>setTimeout(e,1e3)),i(document.querySelector('[data-testid="iab-consent-banner-card"]')).not.toBeInTheDocument()}),a("ConsentDialog renders in opt-in mode when open",async()=>{d(t(w,{options:y,children:t(m,{open:!0})})),await s.waitFor(()=>{i(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),a("IABConsentDialog does NOT render in opt-in mode",async()=>{d(t(w,{options:y,children:t(h,{open:!0})})),await new Promise(e=>setTimeout(e,1e3)),i(document.querySelector('[data-testid="iab-consent-dialog-root"]')).not.toBeInTheDocument()})}),r("IAB mode",()=>{a("IABConsentBanner renders when model is iab",async()=>{d(o(w,{options:u,children:[t(p,{}),t(h,{})]})),await s.waitFor(()=>{i(document.querySelector('[data-testid="iab-consent-banner-card"]')).toBeInTheDocument()},{timeout:3e3})}),a("ConsentBanner does NOT render when model is iab",async()=>{d(t(w,{options:u,children:t(c,{})})),await new Promise(e=>setTimeout(e,1e3)),i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()})}),r("Custom models prop",()=>{a("ConsentBanner with models=[opt-in] renders in opt-in mode",async()=>{d(t(w,{options:y,children:t(c,{models:["opt-in"]})})),await s.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3})}),a("ConsentBanner with models=[iab] does NOT render in opt-in mode",async()=>{d(t(w,{options:y,children:t(c,{models:["iab"]})})),await new Promise(e=>setTimeout(e,1e3)),i(document.querySelector('[data-testid="consent-banner-root"]')).not.toBeInTheDocument()}),a("only matching component renders when both are present",async()=>{d(o(w,{options:y,children:[t(c,{}),t(p,{})]})),await s.waitFor(()=>{i(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3}),i(document.querySelector('[data-testid="iab-consent-banner-card"]')).not.toBeInTheDocument()})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __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_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),browser_namespaceObject=require("vitest/browser"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../consent-banner/index.cjs"),external_consent_dialog_index_cjs_namespaceObject=require("../consent-dialog/index.cjs"),external_consent_widget_index_cjs_namespaceObject=require("../consent-widget/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../providers/consent-manager-provider.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,a)=>{e[t]=a.toString()},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const defaultOptions={mode:"offline"};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("UI Source Tracking E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Banner uiSource",()=>{(0,external_vitest_namespaceObject.test)("should render banner and save consent via accept button",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-accept-button"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-accept-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy();let t=JSON.parse(e);(0,external_vitest_namespaceObject.expect)(t.consents.necessary).toBe(!0)},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should render banner with custom uiSource prop",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{uiSource:"custom_banner"})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Dialog uiSource",()=>{(0,external_vitest_namespaceObject.test)("should render dialog and save consent via accept button",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-widget-footer-accept-all-button"]');e&&(await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy()},{timeout:3e3}))}),(0,external_vitest_namespaceObject.test)("should render dialog with custom uiSource prop",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{open:!0,uiSource:"custom_dialog"})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Widget uiSource",()=>{(0,external_vitest_namespaceObject.test)("should render widget with default uiSource",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_widget_index_cjs_namespaceObject.ConsentWidget,{})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-widget-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Banner to Dialog flow preserves correct uiSource",()=>{(0,external_vitest_namespaceObject.test)("should transition from banner to dialog and save from dialog",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_consent_dialog_index_cjs_namespaceObject.ConsentDialog,{})]})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-banner-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=document.querySelector('[data-testid="consent-banner-customize-button"]');await browser_namespaceObject.userEvent.click(e),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await browser_namespaceObject.userEvent.click(t),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");(0,external_vitest_namespaceObject.expect)(e).toBeTruthy();let t=JSON.parse(e);(0,external_vitest_namespaceObject.expect)(t.consents).toBeTruthy()},{timeout:3e3})})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let t;import{jsx as e,jsxs as o}from"react/jsx-runtime";import{beforeEach as n,describe as r,expect as a,test as i,vi as c}from"vitest";import{userEvent as u}from"vitest/browser";import{render as d}from"vitest-browser-react";import{ConsentBanner as s}from"../consent-banner/index.js";import{ConsentDialog as l}from"../consent-dialog/index.js";import{ConsentWidget as m}from"../consent-widget/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as p}from"../../providers/consent-manager-provider.js";Object.defineProperty(window,"localStorage",{value:(t={},{getItem:e=>t[e]||null,setItem:(e,o)=>{t[e]=o.toString()},removeItem:e=>{delete t[e]},clear:()=>{t={}}})});let g={mode:"offline"};r("UI Source Tracking E2E Tests",()=>{n(()=>{for(let t of(window.localStorage.clear(),document.cookie.split(";"))){let e=t.split("=")[0]?.trim();e&&(document.cookie=`${e}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}c.clearAllMocks(),p()}),r("Banner uiSource",()=>{i("should render banner and save consent via accept button",async()=>{d(e(w,{options:g,children:e(s,{})})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-banner-accept-button"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-accept-button"]');await u.click(t),await c.waitFor(()=>{let t=window.localStorage.getItem("c15t");a(t).toBeTruthy(),a(JSON.parse(t).consents.necessary).toBe(!0)},{timeout:3e3})}),i("should render banner with custom uiSource prop",async()=>{d(e(w,{options:g,children:e(s,{uiSource:"custom_banner"})})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3})})}),r("Dialog uiSource",()=>{i("should render dialog and save consent via accept button",async()=>{d(e(w,{options:g,children:e(l,{open:!0})})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-widget-footer-accept-all-button"]');t&&(await u.click(t),await c.waitFor(()=>{a(window.localStorage.getItem("c15t")).toBeTruthy()},{timeout:3e3}))}),i("should render dialog with custom uiSource prop",async()=>{d(e(w,{options:g,children:e(l,{open:!0,uiSource:"custom_dialog"})})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),r("Widget uiSource",()=>{i("should render widget with default uiSource",async()=>{d(e(w,{options:g,children:e(m,{})})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-widget-root"]')).toBeInTheDocument()},{timeout:3e3})})}),r("Banner to Dialog flow preserves correct uiSource",()=>{i("should transition from banner to dialog and save from dialog",async()=>{d(o(w,{options:g,children:[e(s,{}),e(l,{})]})),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-banner-root"]')).toBeInTheDocument()},{timeout:3e3});let t=document.querySelector('[data-testid="consent-banner-customize-button"]');await u.click(t),await c.waitFor(()=>{a(document.querySelector('[data-testid="consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3});let n=document.querySelector('[data-testid="consent-widget-footer-save-button"]');await u.click(n),await c.waitFor(()=>{let t=window.localStorage.getItem("c15t");a(t).toBeTruthy(),a(JSON.parse(t).consents).toBeTruthy()},{timeout:3e3})})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __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,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__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__,{addCMPEventListener:()=>addCMPEventListener,defaultIABOptions:()=>defaultIABOptions,waitForCMP:()=>waitForCMP,assertTCStringHasConsent:()=>assertTCStringHasConsent,getStoredConsent:()=>getStoredConsent,waitForElement:()=>waitForElement,waitForElementRemoved:()=>waitForElementRemoved,mockGVL:()=>mock_consent_state_cjs_namespaceObject.mockGVL,tcfApiPromise:()=>tcfApiPromise,getCMPTCData:()=>getCMPTCData,getStoredTCString:()=>getStoredTCString,createMockLocalStorage:()=>createMockLocalStorage,getCMPPingData:()=>getCMPPingData,removeCMPEventListener:()=>removeCMPEventListener,assertTCStringHasLIObjection:()=>assertTCStringHasLIObjection,clearConsentState:()=>clearConsentState});const external_c15t_namespaceObject=require("c15t"),external_vitest_namespaceObject=require("vitest"),mock_consent_state_cjs_namespaceObject=require("./fixtures/mock-consent-state.cjs");function createMockLocalStorage(){let e={};return{getItem:t=>e[t]||null,setItem:(t,r)=>{e[t]=r},removeItem:t=>{delete e[t]},clear:()=>{e={}},get length(){return Object.keys(e).length},key:t=>Object.keys(e)[t]||null}}function clearConsentState(){for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT`)}"undefined"!=typeof window&&(delete window.__tcfapi,delete window.__tcfapiQueue),(0,external_c15t_namespaceObject.clearGVLCache)()}async function waitForCMP(e=5e3){return external_vitest_namespaceObject.vi.waitFor(()=>{if(!window.__tcfapi)throw Error("CMP not ready");return new Promise((e,t)=>{window.__tcfapi("ping",2,r=>{r?.cmpLoaded?e():t(Error("CMP not loaded"))})})},{timeout:e})}function tcfApiPromise(e,t=2,r){return new Promise((o,n)=>{let a=window.__tcfapi;a?a(e,t,(t,r)=>{r?o(t):n(Error(`__tcfapi ${e} failed`))},r):n(Error("__tcfapi not available"))})}async function getCMPPingData(){return tcfApiPromise("ping",2)}async function getCMPTCData(){return tcfApiPromise("getTCData",2)}function addCMPEventListener(){return new Promise((e,t)=>{let r=window.__tcfapi;r?r("addEventListener",2,t=>{e(t)}):t(Error("__tcfapi not available"))})}async function removeCMPEventListener(e){return tcfApiPromise("removeEventListener",2,e)}const defaultIABOptions={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1,gvl:mock_consent_state_cjs_namespaceObject.mockGVL}};async function assertTCStringHasLIObjection(e){if(!0===(await getCMPTCData()).vendor.legitimateInterests[e])throw Error(`Expected vendor ${e} to have LI objection, but LI is granted`)}async function assertTCStringHasConsent(e){if(!0!==(await getCMPTCData()).purpose.consents[e])throw Error(`Expected purpose ${e} to have consent, but it does not`)}async function waitForElement(e,t=2e3){return external_vitest_namespaceObject.vi.waitFor(()=>{let t=document.querySelector(e);if(!t)throw Error(`Element ${e} not found`);return t},{timeout:t})}async function waitForElementRemoved(e,t=2e3){return external_vitest_namespaceObject.vi.waitFor(()=>{if(document.querySelector(e))throw Error(`Element ${e} still present`)},{timeout:t})}function getStoredConsent(){let e=window.localStorage.getItem("c15t");if(!e)return null;try{return JSON.parse(e)}catch{return null}}function getStoredTCString(){return window.localStorage.getItem("euconsent-v2")}for(var __rspack_i in exports.addCMPEventListener=__webpack_exports__.addCMPEventListener,exports.assertTCStringHasConsent=__webpack_exports__.assertTCStringHasConsent,exports.assertTCStringHasLIObjection=__webpack_exports__.assertTCStringHasLIObjection,exports.clearConsentState=__webpack_exports__.clearConsentState,exports.createMockLocalStorage=__webpack_exports__.createMockLocalStorage,exports.defaultIABOptions=__webpack_exports__.defaultIABOptions,exports.getCMPPingData=__webpack_exports__.getCMPPingData,exports.getCMPTCData=__webpack_exports__.getCMPTCData,exports.getStoredConsent=__webpack_exports__.getStoredConsent,exports.getStoredTCString=__webpack_exports__.getStoredTCString,exports.mockGVL=__webpack_exports__.mockGVL,exports.removeCMPEventListener=__webpack_exports__.removeCMPEventListener,exports.tcfApiPromise=__webpack_exports__.tcfApiPromise,exports.waitForCMP=__webpack_exports__.waitForCMP,exports.waitForElement=__webpack_exports__.waitForElement,exports.waitForElementRemoved=__webpack_exports__.waitForElementRemoved,__webpack_exports__)-1===["addCMPEventListener","assertTCStringHasConsent","assertTCStringHasLIObjection","clearConsentState","createMockLocalStorage","defaultIABOptions","getCMPPingData","getCMPTCData","getStoredConsent","getStoredTCString","mockGVL","removeCMPEventListener","tcfApiPromise","waitForCMP","waitForElement","waitForElementRemoved"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{clearGVLCache as e}from"c15t";import{vi as t}from"vitest";import{mockGVL as n}from"./fixtures/mock-consent-state.js";function r(){let e={};return{getItem:t=>e[t]||null,setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]},clear:()=>{e={}},get length(){return Object.keys(e).length},key:t=>Object.keys(e)[t]||null}}function o(){for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`,document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT`)}"undefined"!=typeof window&&(delete window.__tcfapi,delete window.__tcfapiQueue),e()}async function i(e=5e3){return t.waitFor(()=>{if(!window.__tcfapi)throw Error("CMP not ready");return new Promise((e,t)=>{window.__tcfapi("ping",2,n=>{n?.cmpLoaded?e():t(Error("CMP not loaded"))})})},{timeout:e})}function a(e,t=2,n){return new Promise((r,o)=>{let i=window.__tcfapi;i?i(e,t,(t,n)=>{n?r(t):o(Error(`__tcfapi ${e} failed`))},n):o(Error("__tcfapi not available"))})}async function c(){return a("ping",2)}async function u(){return a("getTCData",2)}function l(){return new Promise((e,t)=>{let n=window.__tcfapi;n?n("addEventListener",2,t=>{e(t)}):t(Error("__tcfapi not available"))})}async function s(e){return a("removeEventListener",2,e)}let d={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1,gvl:n}};async function f(e){if(!0===(await u()).vendor.legitimateInterests[e])throw Error(`Expected vendor ${e} to have LI objection, but LI is granted`)}async function m(e){if(!0!==(await u()).purpose.consents[e])throw Error(`Expected purpose ${e} to have consent, but it does not`)}async function w(e,n=2e3){return t.waitFor(()=>{let t=document.querySelector(e);if(!t)throw Error(`Element ${e} not found`);return t},{timeout:n})}async function p(e,n=2e3){return t.waitFor(()=>{if(document.querySelector(e))throw Error(`Element ${e} still present`)},{timeout:n})}function g(){let e=window.localStorage.getItem("c15t");if(!e)return null;try{return JSON.parse(e)}catch{return null}}function E(){return window.localStorage.getItem("euconsent-v2")}export{l as addCMPEventListener,m as assertTCStringHasConsent,f as assertTCStringHasLIObjection,o as clearConsentState,r as createMockLocalStorage,d as defaultIABOptions,c as getCMPPingData,u as getCMPTCData,g as getStoredConsent,E as getStoredTCString,n as mockGVL,s as removeCMPEventListener,a as tcfApiPromise,i as waitForCMP,w as waitForElement,p as waitForElementRemoved};
|