@c15t/react 1.8.3 → 2.0.0-rc.0
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/README.md +2 -2
- package/dist/components/__tests__/active-ui-transitions.e2e.test.cjs +1 -0
- package/dist/components/__tests__/active-ui-transitions.e2e.test.js +1 -0
- package/dist/components/__tests__/consent-flow.e2e.test.cjs +1 -0
- package/dist/components/__tests__/consent-flow.e2e.test.js +1 -0
- package/dist/components/__tests__/models-prop.e2e.test.cjs +1 -0
- package/dist/components/__tests__/models-prop.e2e.test.js +1 -0
- package/dist/components/__tests__/ui-source-tracking.e2e.test.cjs +1 -0
- package/dist/components/__tests__/ui-source-tracking.e2e.test.js +1 -0
- package/dist/components/consent-banner/atoms/overlay.cjs +1 -0
- package/dist/components/{cookie-banner → consent-banner}/atoms/overlay.d.ts +7 -7
- package/dist/components/consent-banner/atoms/overlay.d.ts.map +1 -0
- package/dist/components/consent-banner/atoms/overlay.js +1 -0
- package/dist/components/consent-banner/atoms/root.cjs +1 -0
- package/dist/components/{cookie-banner → consent-banner}/atoms/root.d.ts +29 -26
- package/dist/components/consent-banner/atoms/root.d.ts.map +1 -0
- package/dist/components/consent-banner/atoms/root.js +1 -0
- package/dist/components/consent-banner/components.cjs +1 -0
- package/dist/components/{cookie-banner → consent-banner}/components.d.ts +38 -38
- package/dist/components/consent-banner/components.d.ts.map +1 -0
- package/dist/components/consent-banner/components.js +1 -0
- package/dist/components/consent-banner/consent-banner.cjs +1 -0
- package/dist/components/{cookie-banner/cookie-banner.d.ts → consent-banner/consent-banner.d.ts} +51 -24
- package/dist/components/consent-banner/consent-banner.d.ts.map +1 -0
- package/dist/components/consent-banner/consent-banner.js +1 -0
- package/dist/components/consent-banner/error-boundary.cjs +1 -0
- package/dist/components/consent-banner/error-boundary.d.ts.map +1 -0
- package/dist/components/{cookie-banner → consent-banner}/error-boundary.js +0 -1
- package/dist/components/consent-banner/index.cjs +1 -0
- package/dist/components/consent-banner/index.d.ts +93 -0
- package/dist/components/consent-banner/index.d.ts.map +1 -0
- package/dist/components/consent-banner/index.js +1 -0
- package/dist/components/consent-dialog/atoms/card.cjs +1 -0
- package/dist/components/{consent-manager-dialog/atoms/dialog-card.d.ts → consent-dialog/atoms/card.d.ts} +40 -38
- package/dist/components/consent-dialog/atoms/card.d.ts.map +1 -0
- package/dist/components/consent-dialog/atoms/card.js +1 -0
- package/dist/components/consent-dialog/atoms/overlay.cjs +1 -0
- package/dist/components/{consent-manager-dialog → consent-dialog}/atoms/overlay.d.ts +4 -4
- package/dist/components/consent-dialog/atoms/overlay.d.ts.map +1 -0
- package/dist/components/consent-dialog/atoms/overlay.js +1 -0
- package/dist/components/consent-dialog/atoms/root.cjs +1 -0
- package/dist/components/{consent-manager-dialog → consent-dialog}/atoms/root.d.ts +23 -15
- package/dist/components/consent-dialog/atoms/root.d.ts.map +1 -0
- package/dist/components/consent-dialog/atoms/root.js +1 -0
- package/dist/components/consent-dialog/consent-dialog.cjs +1 -0
- package/dist/components/consent-dialog/consent-dialog.d.ts +96 -0
- package/dist/components/consent-dialog/consent-dialog.d.ts.map +1 -0
- package/dist/components/consent-dialog/consent-dialog.js +1 -0
- package/dist/components/consent-dialog/index.cjs +1 -0
- package/dist/components/consent-dialog/index.d.ts +78 -0
- package/dist/components/consent-dialog/index.d.ts.map +1 -0
- package/dist/components/consent-dialog/index.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/button.cjs +1 -0
- package/dist/components/consent-dialog-trigger/atoms/button.d.ts +40 -0
- package/dist/components/consent-dialog-trigger/atoms/button.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/atoms/button.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/icon.cjs +1 -0
- package/dist/components/consent-dialog-trigger/atoms/icon.d.ts +46 -0
- package/dist/components/consent-dialog-trigger/atoms/icon.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/atoms/icon.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/root.cjs +1 -0
- package/dist/components/consent-dialog-trigger/atoms/root.d.ts +85 -0
- package/dist/components/consent-dialog-trigger/atoms/root.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/atoms/root.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/text.cjs +1 -0
- package/dist/components/consent-dialog-trigger/atoms/text.d.ts +32 -0
- package/dist/components/consent-dialog-trigger/atoms/text.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/atoms/text.js +1 -0
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +1 -0
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.d.ts +53 -0
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +1 -0
- package/dist/components/consent-dialog-trigger/index.cjs +1 -0
- package/dist/components/consent-dialog-trigger/index.d.ts +9 -0
- package/dist/components/consent-dialog-trigger/index.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/index.js +1 -0
- package/dist/components/{consent-manager-widget → consent-dialog-trigger}/types.cjs +1 -1
- package/dist/components/consent-dialog-trigger/types.d.ts +93 -0
- package/dist/components/consent-dialog-trigger/types.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/use-draggable.cjs +1 -0
- package/dist/components/consent-dialog-trigger/use-draggable.d.ts +77 -0
- package/dist/components/consent-dialog-trigger/use-draggable.d.ts.map +1 -0
- package/dist/components/consent-dialog-trigger/use-draggable.js +1 -0
- package/dist/components/consent-widget/atoms/accordion.cjs +1 -0
- package/dist/components/consent-widget/atoms/accordion.d.ts +46 -0
- package/dist/components/consent-widget/atoms/accordion.d.ts.map +1 -0
- package/dist/components/consent-widget/atoms/accordion.js +1 -0
- package/dist/components/consent-widget/atoms/button.cjs +1 -0
- package/dist/components/{consent-manager-widget → consent-widget}/atoms/button.d.ts +5 -5
- package/dist/components/consent-widget/atoms/button.d.ts.map +1 -0
- package/dist/components/consent-widget/atoms/button.js +1 -0
- package/dist/components/consent-widget/atoms/footer.cjs +1 -0
- package/dist/components/{consent-manager-widget → consent-widget}/atoms/footer.d.ts +2 -2
- package/dist/components/consent-widget/atoms/footer.d.ts.map +1 -0
- package/dist/components/consent-widget/atoms/footer.js +1 -0
- package/dist/components/consent-widget/atoms/root.cjs +1 -0
- package/dist/components/{consent-manager-widget → consent-widget}/atoms/root.d.ts +19 -15
- package/dist/components/consent-widget/atoms/root.d.ts.map +1 -0
- package/dist/components/consent-widget/atoms/root.js +1 -0
- package/dist/components/consent-widget/consent-widget.cjs +1 -0
- package/dist/components/consent-widget/consent-widget.d.ts +3 -0
- package/dist/components/consent-widget/consent-widget.d.ts.map +1 -0
- package/dist/components/consent-widget/consent-widget.js +1 -0
- package/dist/components/consent-widget/index.cjs +1 -0
- package/dist/components/{consent-manager-widget → consent-widget}/index.d.ts +20 -26
- package/dist/components/consent-widget/index.d.ts.map +1 -0
- package/dist/components/consent-widget/index.js +1 -0
- package/dist/components/{consent-manager-dialog/theme.cjs → consent-widget/types.cjs} +1 -1
- package/dist/components/{consent-manager-widget → consent-widget}/types.d.ts +28 -9
- package/dist/components/consent-widget/types.d.ts.map +1 -0
- package/dist/components/frame/atoms.cjs +1 -1
- package/dist/components/frame/atoms.d.ts +3 -1
- package/dist/components/frame/atoms.d.ts.map +1 -1
- package/dist/components/frame/atoms.js +1 -1
- package/dist/components/frame/frame.cjs +1 -2
- package/dist/components/frame/frame.d.ts.map +1 -1
- package/dist/components/frame/frame.js +1 -2
- package/dist/components/frame/index.cjs +1 -2
- package/dist/components/frame/index.d.ts.map +1 -1
- package/dist/components/frame/index.js +0 -1
- package/dist/components/frame/types.cjs +1 -1
- package/dist/components/frame/types.d.ts +1 -3
- package/dist/components/frame/types.d.ts.map +1 -1
- package/dist/components/iab/__tests__/e2e-setup.cjs +1 -0
- package/dist/components/iab/__tests__/e2e-setup.js +1 -0
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.cjs +1 -0
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts +212 -0
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts.map +1 -0
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.js +1 -0
- package/dist/components/iab/__tests__/iab-banner.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-banner.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-events.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-events.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-storage.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-storage.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-stub.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-stub.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.cjs +1 -0
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.js +1 -0
- package/dist/components/iab/__tests__/msw-handlers.cjs +1 -0
- package/dist/components/iab/__tests__/msw-handlers.js +1 -0
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.cjs +1 -0
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.js +1 -0
- package/dist/components/iab-consent-banner/atoms/button-group.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/button-group.d.ts +21 -0
- package/dist/components/iab-consent-banner/atoms/button-group.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/button-group.js +1 -0
- package/dist/components/iab-consent-banner/atoms/card.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/card.d.ts +15 -0
- package/dist/components/iab-consent-banner/atoms/card.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/card.js +1 -0
- package/dist/components/iab-consent-banner/atoms/description.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/description.d.ts +12 -0
- package/dist/components/iab-consent-banner/atoms/description.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/description.js +1 -0
- package/dist/components/iab-consent-banner/atoms/footer.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/footer.d.ts +15 -0
- package/dist/components/iab-consent-banner/atoms/footer.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/footer.js +1 -0
- package/dist/components/iab-consent-banner/atoms/header.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/header.d.ts +15 -0
- package/dist/components/iab-consent-banner/atoms/header.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/header.js +1 -0
- package/dist/components/iab-consent-banner/atoms/overlay.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/overlay.d.ts +7 -0
- package/dist/components/iab-consent-banner/atoms/overlay.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/overlay.js +1 -0
- package/dist/components/iab-consent-banner/atoms/root.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/root.d.ts +21 -0
- package/dist/components/iab-consent-banner/atoms/root.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/root.js +1 -0
- package/dist/components/iab-consent-banner/atoms/title.cjs +1 -0
- package/dist/components/iab-consent-banner/atoms/title.d.ts +12 -0
- package/dist/components/iab-consent-banner/atoms/title.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/atoms/title.js +1 -0
- package/dist/components/iab-consent-banner/iab-consent-banner.cjs +1 -0
- package/dist/components/iab-consent-banner/iab-consent-banner.d.ts +65 -0
- package/dist/components/iab-consent-banner/iab-consent-banner.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/iab-consent-banner.js +1 -0
- package/dist/components/iab-consent-banner/index.cjs +1 -0
- package/dist/components/iab-consent-banner/index.d.ts +88 -0
- package/dist/components/iab-consent-banner/index.d.ts.map +1 -0
- package/dist/components/iab-consent-banner/index.js +1 -0
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.cjs +1 -0
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.js +1 -0
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.cjs +1 -0
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.js +1 -0
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.cjs +1 -0
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.js +1 -0
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.cjs +1 -0
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/card.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/card.d.ts +15 -0
- package/dist/components/iab-consent-dialog/atoms/card.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/card.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/content.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/content.d.ts +15 -0
- package/dist/components/iab-consent-dialog/atoms/content.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/content.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/footer.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/footer.d.ts +15 -0
- package/dist/components/iab-consent-dialog/atoms/footer.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/footer.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/header.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/header.d.ts +32 -0
- package/dist/components/iab-consent-dialog/atoms/header.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/header.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/overlay.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/overlay.d.ts +8 -0
- package/dist/components/iab-consent-dialog/atoms/overlay.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/overlay.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/purpose-item.d.ts +22 -0
- package/dist/components/iab-consent-dialog/atoms/purpose-item.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/purpose-item.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/root.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/root.d.ts +33 -0
- package/dist/components/iab-consent-dialog/atoms/root.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/root.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/stack-item.d.ts +21 -0
- package/dist/components/iab-consent-dialog/atoms/stack-item.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/stack-item.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/tabs.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/tabs.d.ts +40 -0
- package/dist/components/iab-consent-dialog/atoms/tabs.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/tabs.js +1 -0
- package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +1 -0
- package/dist/components/iab-consent-dialog/atoms/vendor-list.d.ts +33 -0
- package/dist/components/iab-consent-dialog/atoms/vendor-list.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/atoms/vendor-list.js +1 -0
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +1 -0
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +28 -0
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.js +1 -0
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -0
- package/dist/components/iab-consent-dialog/iab-consent-dialog.d.ts +73 -0
- package/dist/components/iab-consent-dialog/iab-consent-dialog.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -0
- package/dist/components/iab-consent-dialog/index.cjs +1 -0
- package/dist/components/iab-consent-dialog/index.d.ts +92 -0
- package/dist/components/iab-consent-dialog/index.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/index.js +1 -0
- package/dist/components/{consent-manager-widget/theme.cjs → iab-consent-dialog/types.cjs} +1 -1
- package/dist/components/iab-consent-dialog/types.d.ts +73 -0
- package/dist/components/iab-consent-dialog/types.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/use-iab-translations.cjs +1 -0
- package/dist/components/iab-consent-dialog/use-iab-translations.d.ts +84 -0
- package/dist/components/iab-consent-dialog/use-iab-translations.d.ts.map +1 -0
- package/dist/components/iab-consent-dialog/use-iab-translations.js +1 -0
- package/dist/components/shared/libs/polymorphic.cjs +1 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +1 -1
- package/dist/components/shared/primitives/box.cjs +1 -2
- package/dist/components/shared/primitives/box.d.ts.map +1 -1
- package/dist/components/shared/primitives/box.js +1 -2
- package/dist/components/shared/primitives/button.cjs +1 -1
- package/dist/components/shared/primitives/button.d.ts +2 -2
- package/dist/components/shared/primitives/button.d.ts.map +1 -1
- package/dist/components/shared/primitives/button.js +1 -1
- package/dist/components/shared/primitives/button.types.cjs +1 -1
- package/dist/components/shared/primitives/button.types.d.ts +6 -0
- package/dist/components/shared/primitives/button.types.d.ts.map +1 -1
- package/dist/components/shared/primitives/legal-links/index.cjs +1 -1
- package/dist/components/shared/primitives/legal-links/index.d.ts +2 -2
- package/dist/components/shared/primitives/legal-links/index.d.ts.map +1 -1
- package/dist/components/shared/primitives/legal-links/index.js +1 -1
- package/dist/components/shared/ui/__tests__/primitives.test.cjs +1 -0
- package/dist/components/shared/ui/__tests__/primitives.test.js +1 -0
- package/dist/components/shared/ui/accordion/accordion.cjs +1 -2
- package/dist/components/shared/ui/accordion/accordion.d.ts +82 -16
- package/dist/components/shared/ui/accordion/accordion.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +1 -2
- package/dist/components/shared/ui/accordion/accordion.types.cjs +1 -1
- package/dist/components/shared/ui/accordion/accordion.types.d.ts +3 -61
- package/dist/components/shared/ui/accordion/accordion.types.d.ts.map +1 -1
- package/dist/components/shared/ui/accordion/index.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +1 -0
- package/dist/components/shared/ui/animated-collapse/animated-collapse.d.ts +54 -0
- package/dist/components/shared/ui/animated-collapse/animated-collapse.d.ts.map +1 -0
- package/dist/components/shared/ui/animated-collapse/animated-collapse.js +1 -0
- package/dist/components/shared/ui/animated-collapse/index.cjs +1 -0
- package/dist/components/shared/ui/animated-collapse/index.d.ts +3 -0
- package/dist/components/shared/ui/animated-collapse/index.d.ts.map +1 -0
- package/dist/components/shared/ui/animated-collapse/index.js +1 -0
- package/dist/components/shared/ui/button/button.cjs +1 -1
- package/dist/components/shared/ui/button/button.d.ts +3 -25
- package/dist/components/shared/ui/button/button.d.ts.map +1 -1
- package/dist/components/shared/ui/button/button.js +1 -1
- package/dist/components/shared/ui/button/button.types.cjs +1 -1
- package/dist/components/shared/ui/button/index.cjs +1 -1
- package/dist/components/shared/ui/icon.cjs +1 -1
- package/dist/components/shared/ui/logo.cjs +1 -1
- package/dist/components/shared/ui/logo.d.ts +27 -3
- package/dist/components/shared/ui/logo.d.ts.map +1 -1
- package/dist/components/shared/ui/logo.js +1 -1
- package/dist/components/shared/ui/switch/index.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.d.ts +30 -9
- package/dist/components/shared/ui/switch/switch.d.ts.map +1 -1
- package/dist/components/shared/ui/switch/switch.js +1 -1
- package/dist/components/shared/ui/switch/switch.types.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.types.d.ts +3 -31
- package/dist/components/shared/ui/switch/switch.types.d.ts.map +1 -1
- package/dist/context/consent-manager-context.cjs +1 -2
- package/dist/context/consent-manager-context.d.ts +5 -5
- package/dist/context/consent-manager-context.d.ts.map +1 -1
- package/dist/context/consent-manager-context.js +0 -1
- package/dist/context/consent-tracking-context.cjs +1 -0
- package/dist/context/consent-tracking-context.d.ts +33 -0
- package/dist/context/consent-tracking-context.d.ts.map +1 -0
- package/dist/context/consent-tracking-context.js +1 -0
- package/dist/context/theme-context.cjs +1 -2
- package/dist/context/theme-context.d.ts +14 -47
- package/dist/context/theme-context.d.ts.map +1 -1
- package/dist/context/theme-context.js +1 -2
- package/dist/headless.cjs +1 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.js +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.js +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.cjs +1 -0
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.js +1 -0
- package/dist/hooks/__tests__/use-color-scheme.test.cjs +1 -1
- package/dist/hooks/__tests__/use-color-scheme.test.js +1 -1
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +1 -1
- package/dist/hooks/__tests__/use-consent-manager.test.js +1 -1
- package/dist/hooks/__tests__/use-focus-trap.test.cjs +1 -0
- package/dist/hooks/__tests__/use-focus-trap.test.js +1 -0
- package/dist/hooks/__tests__/use-scroll-lock.test.cjs +1 -0
- package/dist/hooks/__tests__/use-scroll-lock.test.js +1 -0
- package/dist/hooks/__tests__/use-styles.test.cjs +1 -1
- package/dist/hooks/__tests__/use-styles.test.js +1 -1
- package/dist/hooks/__tests__/use-theme.test.cjs +1 -1
- package/dist/hooks/__tests__/use-theme.test.js +1 -1
- package/dist/hooks/__tests__/use-translations.test.cjs +1 -1
- package/dist/hooks/__tests__/use-translations.test.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-color-scheme.cjs +1 -2
- package/dist/hooks/use-color-scheme.d.ts +2 -11
- package/dist/hooks/use-color-scheme.d.ts.map +1 -1
- package/dist/hooks/use-color-scheme.js +1 -2
- package/dist/hooks/use-component-config.cjs +1 -0
- package/dist/hooks/use-component-config.d.ts +55 -0
- package/dist/hooks/use-component-config.d.ts.map +1 -0
- package/dist/hooks/use-component-config.js +1 -0
- package/dist/hooks/use-consent-manager.cjs +1 -1
- package/dist/hooks/use-consent-manager.d.ts +3 -79
- package/dist/hooks/use-consent-manager.d.ts.map +1 -1
- package/dist/hooks/use-consent-manager.js +1 -1
- package/dist/hooks/use-focus-trap.cjs +1 -2
- package/dist/hooks/use-focus-trap.d.ts +1 -1
- package/dist/hooks/use-focus-trap.d.ts.map +1 -1
- package/dist/hooks/use-focus-trap.js +1 -2
- package/dist/hooks/use-reduced-motion.cjs +1 -0
- package/dist/hooks/use-reduced-motion.d.ts +31 -0
- package/dist/hooks/use-reduced-motion.d.ts.map +1 -0
- package/dist/hooks/use-reduced-motion.js +1 -0
- package/dist/hooks/use-scroll-lock.cjs +1 -2
- package/dist/hooks/use-scroll-lock.d.ts +1 -17
- package/dist/hooks/use-scroll-lock.d.ts.map +1 -1
- package/dist/hooks/use-scroll-lock.js +1 -2
- package/dist/hooks/use-ssr-status.cjs +1 -0
- package/dist/hooks/use-ssr-status.d.ts +57 -0
- package/dist/hooks/use-ssr-status.d.ts.map +1 -0
- package/dist/hooks/use-ssr-status.js +1 -0
- package/dist/hooks/use-styles.cjs +1 -2
- package/dist/hooks/use-styles.d.ts +10 -19
- package/dist/hooks/use-styles.d.ts.map +1 -1
- package/dist/hooks/use-styles.js +1 -2
- package/dist/hooks/use-text-direction.cjs +1 -2
- package/dist/hooks/use-text-direction.d.ts +2 -2
- package/dist/hooks/use-text-direction.d.ts.map +1 -1
- package/dist/hooks/use-text-direction.js +1 -2
- package/dist/hooks/use-theme.cjs +1 -2
- package/dist/hooks/use-theme.d.ts +1 -1
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/hooks/use-theme.js +0 -1
- package/dist/hooks/use-translations.cjs +1 -2
- package/dist/hooks/use-translations.d.ts.map +1 -1
- package/dist/hooks/use-translations.js +1 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mockServiceWorker.js +349 -0
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.cjs +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.js +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.cjs +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.js +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.cjs +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.js +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.cjs +1 -0
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.js +1 -0
- package/dist/providers/__tests__/provider-basic.test.cjs +1 -1
- package/dist/providers/__tests__/provider-basic.test.js +1 -1
- package/dist/providers/__tests__/provider-context.test.cjs +1 -1
- package/dist/providers/__tests__/provider-context.test.js +1 -1
- package/dist/providers/__tests__/provider-errors.test.cjs +1 -1
- package/dist/providers/__tests__/provider-errors.test.js +1 -1
- package/dist/providers/__tests__/provider-hydration.test.cjs +1 -1
- package/dist/providers/__tests__/provider-hydration.test.js +1 -1
- package/dist/providers/__tests__/test-helpers.cjs +1 -1
- package/dist/providers/__tests__/test-helpers.js +1 -1
- package/dist/providers/consent-manager-provider.cjs +1 -2
- package/dist/providers/consent-manager-provider.d.ts +1 -1
- package/dist/providers/consent-manager-provider.d.ts.map +1 -1
- package/dist/providers/consent-manager-provider.js +1 -2
- package/dist/server/fetch-ssr-data.cjs +1 -0
- package/dist/server/fetch-ssr-data.d.ts +43 -0
- package/dist/server/fetch-ssr-data.d.ts.map +1 -0
- package/dist/server/fetch-ssr-data.js +1 -0
- package/dist/server/headers.cjs +1 -0
- package/dist/server/headers.d.ts +32 -0
- package/dist/server/headers.d.ts.map +1 -0
- package/dist/server/headers.js +1 -0
- package/dist/server/headers.test.cjs +1 -0
- package/dist/server/headers.test.d.ts +2 -0
- package/dist/server/headers.test.d.ts.map +1 -0
- package/dist/server/headers.test.js +1 -0
- package/dist/server/index.cjs +1 -0
- package/dist/server/index.d.ts +31 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1 -0
- package/dist/server/normalize-url.cjs +1 -0
- package/dist/server/normalize-url.d.ts +52 -0
- package/dist/server/normalize-url.d.ts.map +1 -0
- package/dist/server/normalize-url.js +1 -0
- package/dist/server/normalize-url.test.cjs +1 -0
- package/dist/server/normalize-url.test.d.ts +2 -0
- package/dist/server/normalize-url.test.d.ts.map +1 -0
- package/dist/server/normalize-url.test.js +1 -0
- package/dist/{components/cookie-banner/theme.cjs → server/types.cjs} +1 -1
- package/dist/server/types.d.ts +51 -0
- package/dist/server/types.d.ts.map +1 -0
- 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 +1 -0
- package/dist/test-setup.browser.d.ts +8 -0
- package/dist/test-setup.browser.d.ts.map +1 -0
- package/dist/test-setup.browser.js +1 -0
- package/dist/types/consent-manager.cjs +1 -1
- package/dist/types/consent-manager.d.ts +9 -136
- package/dist/types/consent-manager.d.ts.map +1 -1
- package/dist/types/theme/index.cjs +1 -1
- package/dist/types/theme/style-keys.cjs +1 -1
- package/dist/types/theme/style-keys.d.ts +1 -14
- package/dist/types/theme/style-keys.d.ts.map +1 -1
- package/dist/types/theme/style-types.cjs +1 -1
- package/dist/types/theme/style-types.d.ts +29 -19
- package/dist/types/theme/style-types.d.ts.map +1 -1
- package/dist/types/theme/style-types.js +1 -0
- package/dist/utils/cn.cjs +1 -1
- package/dist/utils/cn.d.ts +3 -3
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +1 -1
- package/dist/utils/merge-styles.cjs +1 -1
- package/dist/utils/merge-styles.d.ts +2 -1
- package/dist/utils/merge-styles.d.ts.map +1 -1
- package/dist/utils/merge-styles.js +1 -1
- package/dist/utils/test-helpers.cjs +1 -1
- package/dist/utils/test-helpers.d.ts +4 -2
- package/dist/utils/test-helpers.d.ts.map +1 -1
- package/dist/utils/test-helpers.js +1 -1
- package/dist/utils/theme-utils.cjs +1 -0
- package/dist/utils/theme-utils.d.ts +19 -0
- package/dist/utils/theme-utils.d.ts.map +1 -0
- package/dist/utils/theme-utils.js +1 -0
- package/dist/version.cjs +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +130 -119
- package/readme.json +2 -2
- package/LICENSE.md +0 -595
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +0 -1
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.d.ts +0 -2
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +0 -1
- package/dist/components/consent-manager-dialog/atoms/dialog-card.cjs +0 -2
- package/dist/components/consent-manager-dialog/atoms/dialog-card.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/atoms/dialog-card.js +0 -2
- package/dist/components/consent-manager-dialog/atoms/overlay.cjs +0 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/atoms/overlay.js +0 -1
- package/dist/components/consent-manager-dialog/atoms/root.cjs +0 -2
- package/dist/components/consent-manager-dialog/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/atoms/root.js +0 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.cjs +0 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts +0 -52
- package/dist/components/consent-manager-dialog/consent-manager-dialog.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog.js +0 -2
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.cjs +0 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog.module.js +0 -1
- package/dist/components/consent-manager-dialog/index.cjs +0 -2
- package/dist/components/consent-manager-dialog/index.d.ts +0 -79
- package/dist/components/consent-manager-dialog/index.d.ts.map +0 -1
- package/dist/components/consent-manager-dialog/index.js +0 -2
- package/dist/components/consent-manager-dialog/theme.d.ts +0 -20
- package/dist/components/consent-manager-dialog/theme.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +0 -15
- package/dist/components/consent-manager-widget/__tests__/styles.spec.d.ts +0 -2
- package/dist/components/consent-manager-widget/__tests__/styles.spec.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/__tests__/styles.spec.js +0 -15
- package/dist/components/consent-manager-widget/atoms/accordion.cjs +0 -1
- package/dist/components/consent-manager-widget/atoms/accordion.d.ts +0 -57
- package/dist/components/consent-manager-widget/atoms/accordion.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/accordion.js +0 -1
- package/dist/components/consent-manager-widget/atoms/button.cjs +0 -1
- package/dist/components/consent-manager-widget/atoms/button.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/button.js +0 -1
- package/dist/components/consent-manager-widget/atoms/footer.cjs +0 -1
- package/dist/components/consent-manager-widget/atoms/footer.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/footer.js +0 -1
- package/dist/components/consent-manager-widget/atoms/root.cjs +0 -2
- package/dist/components/consent-manager-widget/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/atoms/root.js +0 -2
- package/dist/components/consent-manager-widget/consent-manager-widget.cjs +0 -2
- package/dist/components/consent-manager-widget/consent-manager-widget.d.ts +0 -3
- package/dist/components/consent-manager-widget/consent-manager-widget.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/consent-manager-widget.js +0 -2
- package/dist/components/consent-manager-widget/consent-manager-widget.module.cjs +0 -1
- package/dist/components/consent-manager-widget/consent-manager-widget.module.js +0 -1
- package/dist/components/consent-manager-widget/index.cjs +0 -2
- package/dist/components/consent-manager-widget/index.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/index.js +0 -2
- package/dist/components/consent-manager-widget/theme.d.ts +0 -62
- package/dist/components/consent-manager-widget/theme.d.ts.map +0 -1
- package/dist/components/consent-manager-widget/types.d.ts.map +0 -1
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.cjs +0 -1
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts +0 -2
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.d.ts.map +0 -1
- package/dist/components/cookie-banner/__tests__/cookie-banner.e2e.test.js +0 -1
- package/dist/components/cookie-banner/__tests__/styles.spec.cjs +0 -15
- package/dist/components/cookie-banner/__tests__/styles.spec.d.ts +0 -2
- package/dist/components/cookie-banner/__tests__/styles.spec.d.ts.map +0 -1
- package/dist/components/cookie-banner/__tests__/styles.spec.js +0 -15
- package/dist/components/cookie-banner/atoms/overlay.cjs +0 -1
- package/dist/components/cookie-banner/atoms/overlay.d.ts.map +0 -1
- package/dist/components/cookie-banner/atoms/overlay.js +0 -1
- package/dist/components/cookie-banner/atoms/root.cjs +0 -2
- package/dist/components/cookie-banner/atoms/root.d.ts.map +0 -1
- package/dist/components/cookie-banner/atoms/root.js +0 -2
- package/dist/components/cookie-banner/components.cjs +0 -1
- package/dist/components/cookie-banner/components.d.ts.map +0 -1
- package/dist/components/cookie-banner/components.js +0 -1
- package/dist/components/cookie-banner/cookie-banner.cjs +0 -2
- package/dist/components/cookie-banner/cookie-banner.d.ts.map +0 -1
- package/dist/components/cookie-banner/cookie-banner.js +0 -2
- package/dist/components/cookie-banner/cookie-banner.module.cjs +0 -1
- package/dist/components/cookie-banner/cookie-banner.module.js +0 -1
- package/dist/components/cookie-banner/error-boundary.cjs +0 -2
- package/dist/components/cookie-banner/error-boundary.d.ts.map +0 -1
- package/dist/components/cookie-banner/index.cjs +0 -2
- package/dist/components/cookie-banner/index.d.ts +0 -100
- package/dist/components/cookie-banner/index.d.ts.map +0 -1
- package/dist/components/cookie-banner/index.js +0 -2
- package/dist/components/cookie-banner/theme.d.ts +0 -92
- package/dist/components/cookie-banner/theme.d.ts.map +0 -1
- package/dist/components/frame/frame.module.cjs +0 -1
- package/dist/components/frame/frame.module.js +0 -1
- package/dist/components/frame/theme.cjs +0 -1
- package/dist/components/frame/theme.d.ts +0 -41
- package/dist/components/frame/theme.d.ts.map +0 -1
- package/dist/components/frame/theme.js +0 -0
- package/dist/components/shared/primitives/legal-links/legal-links.module.cjs +0 -1
- package/dist/components/shared/primitives/legal-links/legal-links.module.js +0 -1
- package/dist/components/shared/primitives/legal-links/theme.cjs +0 -1
- package/dist/components/shared/primitives/legal-links/theme.d.ts +0 -17
- package/dist/components/shared/primitives/legal-links/theme.d.ts.map +0 -1
- package/dist/components/shared/primitives/legal-links/theme.js +0 -0
- package/dist/components/shared/ui/accordion/accordion.module.cjs +0 -1
- package/dist/components/shared/ui/accordion/accordion.module.js +0 -1
- package/dist/components/shared/ui/button/button.module.cjs +0 -1
- package/dist/components/shared/ui/button/button.module.js +0 -1
- package/dist/components/shared/ui/switch/switch.module.cjs +0 -1
- package/dist/components/shared/ui/switch/switch.module.js +0 -1
- package/dist/hooks/__tests__/use-color-scheme.test.d.ts +0 -2
- package/dist/hooks/__tests__/use-color-scheme.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts +0 -2
- package/dist/hooks/__tests__/use-consent-manager.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-styles.test.d.ts +0 -2
- package/dist/hooks/__tests__/use-styles.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-theme.test.d.ts +0 -2
- package/dist/hooks/__tests__/use-theme.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/use-translations.test.d.ts +0 -2
- package/dist/hooks/__tests__/use-translations.test.d.ts.map +0 -1
- package/dist/providers/__tests__/provider-basic.test.d.ts +0 -2
- package/dist/providers/__tests__/provider-basic.test.d.ts.map +0 -1
- package/dist/providers/__tests__/provider-context.test.d.ts +0 -2
- package/dist/providers/__tests__/provider-context.test.d.ts.map +0 -1
- package/dist/providers/__tests__/provider-errors.test.d.ts +0 -2
- package/dist/providers/__tests__/provider-errors.test.d.ts.map +0 -1
- package/dist/providers/__tests__/provider-hydration.test.d.ts +0 -2
- package/dist/providers/__tests__/provider-hydration.test.d.ts.map +0 -1
- package/dist/providers/__tests__/test-helpers.d.ts +0 -13
- package/dist/providers/__tests__/test-helpers.d.ts.map +0 -1
- /package/dist/components/{cookie-banner → consent-banner}/error-boundary.d.ts +0 -0
- /package/dist/components/{consent-manager-widget → consent-dialog-trigger}/types.js +0 -0
- /package/dist/components/{consent-manager-dialog/theme.js → consent-widget/types.js} +0 -0
- /package/dist/components/{consent-manager-widget/theme.js → iab-consent-dialog/types.js} +0 -0
- /package/dist/{components/cookie-banner/theme.js → server/types.js} +0 -0
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Developer-first CMP for React: cookie banner, consent manager, preferences centr
|
|
|
28
28
|
- Automatic GDPR compliance
|
|
29
29
|
- Minimal configuration with TypeScript-first design
|
|
30
30
|
- Comprehensive Consent Management Platform (CMP)
|
|
31
|
-
- Flexible Cookie Banner and
|
|
31
|
+
- Flexible Cookie Banner and Preference Center components
|
|
32
32
|
- Built-in internationalization support
|
|
33
33
|
- Seamless consent storage and tracking
|
|
34
34
|
|
|
@@ -68,7 +68,7 @@ To manually install, follow the guide in our [docs – manual setup](https://c15
|
|
|
68
68
|
## Usage
|
|
69
69
|
|
|
70
70
|
1. Import `ConsentManagerProvider` in your app's root component
|
|
71
|
-
2. Add `CookieBanner` and `
|
|
71
|
+
2. Add `CookieBanner` and `PreferenceCenter` components
|
|
72
72
|
3. Customise styling and behaviour to fit your app
|
|
73
73
|
4. For full implementation details, see the [React quickstart docs](https://c15t.com/docs/frameworks/react/quickstart)
|
|
74
74
|
|
|
@@ -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_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});
|
|
@@ -0,0 +1 @@
|
|
|
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})})});
|
|
@@ -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_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});
|
|
@@ -0,0 +1 @@
|
|
|
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})})})});
|
|
@@ -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_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});
|
|
@@ -0,0 +1 @@
|
|
|
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()})})});
|
|
@@ -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_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});
|
|
@@ -0,0 +1 @@
|
|
|
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})})})});
|
|
@@ -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__.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__,{ConsentBannerOverlay:()=>ConsentBannerOverlay,Overlay:()=>Overlay});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),consent_banner_module_css_namespaceObject=require("@c15t/ui/styles/components/consent-banner.module.css");var consent_banner_module_css_default=__webpack_require__.n(consent_banner_module_css_namespaceObject);const external_react_namespaceObject=require("react"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_scroll_lock_cjs_namespaceObject=require("../../../hooks/use-scroll-lock.cjs"),use_styles_cjs_namespaceObject=require("../../../hooks/use-styles.cjs"),use_theme_cjs_namespaceObject=require("../../../hooks/use-theme.cjs"),cn_cjs_namespaceObject=require("../../../utils/cn.cjs"),ConsentBannerOverlay=(0,external_react_namespaceObject.forwardRef)(({className:e,style:_,noStyle:r,asChild:n,...a},s)=>{let t,{activeUI:c}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),{disableAnimation:o,noStyle:l,scrollLock:u}=(0,use_theme_cjs_namespaceObject.useTheme)(),p="banner"===c,[i,b]=(0,external_react_namespaceObject.useState)(!1);(0,external_react_namespaceObject.useEffect)(()=>{if(p)b(!0);else if(o)b(!1);else{let e=setTimeout(()=>{b(!1)},Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--consent-banner-animation-duration")||"200",10));return()=>clearTimeout(e)}},[p,o]);let m=(0,use_styles_cjs_namespaceObject.useStyles)("consentBannerOverlay",{baseClassName:!(l||r)&&consent_banner_module_css_default().overlay,className:e,noStyle:l||r});t=l||r||o?void 0:i?consent_banner_module_css_default().overlayVisible:consent_banner_module_css_default().overlayHidden;let d=(0,cn_cjs_namespaceObject.cnExt)(m.className,t);return(0,use_scroll_lock_cjs_namespaceObject.useScrollLock)(!!(p&&u)),p&&u?(0,jsx_runtime_namespaceObject.jsx)("div",{ref:s,...a,className:d,style:{...m.style,..._},"data-testid":"consent-banner-overlay"}):null}),Overlay=ConsentBannerOverlay;for(var __rspack_i in exports.ConsentBannerOverlay=__webpack_exports__.ConsentBannerOverlay,exports.Overlay=__webpack_exports__.Overlay,__webpack_exports__)-1===["ConsentBannerOverlay","Overlay"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
|
-
* Provides the overlay backdrop component for the
|
|
3
|
+
* Provides the overlay backdrop component for the ConsentBanner.
|
|
4
4
|
*/
|
|
5
5
|
import { type HTMLAttributes } from 'react';
|
|
6
6
|
/**
|
|
7
7
|
* Props for the Overlay component.
|
|
8
8
|
*
|
|
9
9
|
* @remarks
|
|
10
|
-
* The overlay provides a semi-transparent backdrop behind the
|
|
11
|
-
* It can be styled using the
|
|
10
|
+
* The overlay provides a semi-transparent backdrop behind the consent banner content.
|
|
11
|
+
* It can be styled using the ConsentBanner theme system or through direct style props.
|
|
12
12
|
*
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
@@ -26,7 +26,7 @@ interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
26
26
|
asChild?: boolean;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Overlay component that provides a backdrop for the
|
|
29
|
+
* Overlay component that provides a backdrop for the ConsentBanner content.
|
|
30
30
|
*
|
|
31
31
|
* @remarks
|
|
32
32
|
* This component handles:
|
|
@@ -35,12 +35,12 @@ interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
35
35
|
* - Proper z-indexing for modal behavior
|
|
36
36
|
* - Theme-based styling
|
|
37
37
|
*
|
|
38
|
-
* The overlay visibility is controlled by the `
|
|
38
|
+
* The overlay visibility is controlled by the `activeUI` state from ConsentBanner context,
|
|
39
39
|
* and its animation behavior is controlled by the `disableAnimation` flag.
|
|
40
40
|
*
|
|
41
41
|
* @public
|
|
42
42
|
*/
|
|
43
|
-
declare const
|
|
43
|
+
declare const ConsentBannerOverlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
44
44
|
declare const Overlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
45
|
-
export { Overlay,
|
|
45
|
+
export { Overlay, ConsentBannerOverlay };
|
|
46
46
|
//# sourceMappingURL=overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-banner/atoms/overlay.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAc,KAAK,cAAc,EAAuB,MAAM,OAAO,CAAC;AAO7E;;;;;;;;GAQG;AACH,UAAU,YAAa,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC5D;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,oBAAoB,yGAiEzB,CAAC;AAEF,QAAA,MAAM,OAAO,yGAAuB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"@c15t/ui/styles/components/consent-banner.module.css";import{forwardRef as o,useEffect as r,useState as s}from"react";import{useConsentManager as n}from"../../../hooks/use-consent-manager.js";import{useScrollLock as l}from"../../../hooks/use-scroll-lock.js";import{useStyles as a}from"../../../hooks/use-styles.js";import{useTheme as m}from"../../../hooks/use-theme.js";import{cnExt as i}from"../../../utils/cn.js";let u=o(({className:o,style:u,noStyle:c,asChild:y,...p},d)=>{let f,{activeUI:v}=n(),{disableAnimation:b,noStyle:j,scrollLock:h}=m(),k="banner"===v,[N,g]=s(!1);r(()=>{if(k)g(!0);else if(b)g(!1);else{let e=setTimeout(()=>{g(!1)},Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--consent-banner-animation-duration")||"200",10));return()=>clearTimeout(e)}},[k,b]);let C=a("consentBannerOverlay",{baseClassName:!(j||c)&&t.overlay,className:o,noStyle:j||c});f=j||c||b?void 0:N?t.overlayVisible:t.overlayHidden;let O=i(C.className,f);return l(!!(k&&h)),k&&h?e("div",{ref:d,...p,className:O,style:{...C.style,...u},"data-testid":"consent-banner-overlay"}):null}),c=u;export{u as ConsentBannerOverlay,c as Overlay};
|
|
@@ -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__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__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__,{ConsentBannerRoot:()=>ConsentBannerRoot,Root:()=>Root});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),consent_banner_module_css_namespaceObject=require("@c15t/ui/styles/components/consent-banner.module.css");var consent_banner_module_css_default=__webpack_require__.n(consent_banner_module_css_namespaceObject);const external_react_namespaceObject=require("react"),external_react_dom_namespaceObject=require("react-dom"),consent_tracking_context_cjs_namespaceObject=require("../../../context/consent-tracking-context.cjs"),theme_context_cjs_namespaceObject=require("../../../context/theme-context.cjs"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_styles_cjs_namespaceObject=require("../../../hooks/use-styles.cjs"),use_text_direction_cjs_namespaceObject=require("../../../hooks/use-text-direction.cjs"),external_overlay_cjs_namespaceObject=require("./overlay.cjs"),ConsentBannerRoot=({children:e,className:t,noStyle:n,disableAnimation:_,scrollLock:a,trapFocus:r=!0,models:c,uiSource:s,...o})=>(0,jsx_runtime_namespaceObject.jsx)(consent_tracking_context_cjs_namespaceObject.ConsentTrackingContext.Provider,{value:{uiSource:s??"banner"},children:(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.LocalThemeContext.Provider,{value:{disableAnimation:_,noStyle:n,scrollLock:a,trapFocus:r},children:(0,jsx_runtime_namespaceObject.jsx)(ConsentBannerRootChildren,{disableAnimation:_,className:t,noStyle:n,models:c,...o,children:e})})}),ConsentBannerRootChildren=(0,external_react_namespaceObject.forwardRef)(({asChild:e,children:t,className:n,style:_,className:a,disableAnimation:r,noStyle:c,models:s=["opt-in"],...o},u)=>{let{activeUI:i,translationConfig:l,model:m}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),p=(0,use_text_direction_cjs_namespaceObject.useTextDirection)(l.defaultLanguage),[b,j]=(0,external_react_namespaceObject.useState)(!1),[d,x]=(0,external_react_namespaceObject.useState)(!1),[O,f]=(0,external_react_namespaceObject.useState)(200),k="banner"===i&&s.includes(m);(0,external_react_namespaceObject.useEffect)(()=>{f(Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--consent-banner-animation-duration")||"200",10))},[]),(0,external_react_namespaceObject.useEffect)(()=>{if(k)if(d)j(!0);else{let e=setTimeout(()=>{j(!0),x(!0)},10);return()=>clearTimeout(e)}else if(x(!1),r)j(!1);else{let e=setTimeout(()=>{j(!1)},O);return()=>clearTimeout(e)}},[k,r,d,O]);let y=(0,use_styles_cjs_namespaceObject.useStyles)("consentBanner",{baseClassName:[consent_banner_module_css_default().root,"ltr"===p?consent_banner_module_css_default().bottomLeft:consent_banner_module_css_default().bottomRight],style:_,className:n||a,noStyle:c}),[q,w]=(0,external_react_namespaceObject.useState)(!1);if((0,external_react_namespaceObject.useEffect)(()=>{w(!0)},[]),!q)return null;let R=c?y.className||"":`${y.className||""} ${b?consent_banner_module_css_default().bannerVisible:consent_banner_module_css_default().bannerHidden}`;return k?(0,external_react_dom_namespaceObject.createPortal)((0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(external_overlay_cjs_namespaceObject.Overlay,{}),(0,jsx_runtime_namespaceObject.jsx)("div",{ref:u,...o,...y,className:R,"data-testid":"consent-banner-root",dir:p,children:t})]}),document.body):null});ConsentBannerRootChildren.displayName="ConsentBannerRootChildren";const Root=ConsentBannerRoot;for(var __rspack_i in exports.ConsentBannerRoot=__webpack_exports__.ConsentBannerRoot,exports.Root=__webpack_exports__.Root,__webpack_exports__)-1===["ConsentBannerRoot","Root"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { type FC, type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
-
import type { CookieBannerTheme } from '../theme';
|
|
3
2
|
/**
|
|
4
|
-
* Props for the root component of the
|
|
3
|
+
* Props for the root component of the ConsentBanner.
|
|
5
4
|
*
|
|
6
5
|
* @remarks
|
|
7
6
|
* The root component serves as the top-level container and context provider
|
|
8
|
-
* for the
|
|
7
|
+
* for the consent banner. It manages the consent state and styling configuration
|
|
9
8
|
* for all child components.
|
|
10
9
|
*
|
|
11
10
|
* @public
|
|
12
11
|
*/
|
|
13
|
-
interface
|
|
12
|
+
interface ConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
14
13
|
/**
|
|
15
14
|
* @remarks
|
|
16
|
-
* React elements to be rendered within the
|
|
15
|
+
* React elements to be rendered within the consent banner.
|
|
17
16
|
* Typically includes Content, Title, Description, and Actions components.
|
|
18
17
|
*/
|
|
19
18
|
children: ReactNode;
|
|
@@ -23,12 +22,6 @@ interface CookieBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
23
22
|
* Useful when implementing completely custom styles.
|
|
24
23
|
*/
|
|
25
24
|
noStyle?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* @remarks
|
|
28
|
-
* Custom styles to be applied to the banner and its child components.
|
|
29
|
-
* These styles are made available through the CookieBanner context.
|
|
30
|
-
*/
|
|
31
|
-
theme?: Partial<CookieBannerTheme>;
|
|
32
25
|
/**
|
|
33
26
|
* @remarks
|
|
34
27
|
* When true, disables the entrance/exit animations.
|
|
@@ -37,25 +30,35 @@ interface CookieBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
37
30
|
disableAnimation?: boolean;
|
|
38
31
|
/**
|
|
39
32
|
* @remarks
|
|
40
|
-
* When true, the
|
|
41
|
-
* Useful for implementing a
|
|
33
|
+
* When true, the consent banner will lock the scroll of the page.
|
|
34
|
+
* Useful for implementing a consent banner that locks the scroll of the page.
|
|
42
35
|
* @default false
|
|
43
36
|
*/
|
|
44
37
|
scrollLock?: boolean;
|
|
45
38
|
/**
|
|
46
39
|
* @remarks
|
|
47
|
-
* When true, the
|
|
48
|
-
* Useful for implementing a
|
|
40
|
+
* When true, the consent banner will trap focus.
|
|
41
|
+
* Useful for implementing a consent banner that traps focus.
|
|
49
42
|
* @default true
|
|
50
43
|
*/
|
|
51
44
|
trapFocus?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Which consent models this banner responds to.
|
|
47
|
+
* @default ['opt-in', 'opt-out']
|
|
48
|
+
*/
|
|
49
|
+
models?: import('c15t').Model[];
|
|
50
|
+
/**
|
|
51
|
+
* Override the UI source identifier sent with consent API calls.
|
|
52
|
+
* @default 'banner'
|
|
53
|
+
*/
|
|
54
|
+
uiSource?: string;
|
|
52
55
|
}
|
|
53
56
|
/**
|
|
54
|
-
* Root component of the
|
|
57
|
+
* Root component of the ConsentBanner that provides context and styling.
|
|
55
58
|
*
|
|
56
59
|
* @remarks
|
|
57
60
|
* This component:
|
|
58
|
-
* - Provides the
|
|
61
|
+
* - Provides the ConsentBanner context to all child components
|
|
59
62
|
* - Manages consent state through the consent manager
|
|
60
63
|
* - Handles style distribution to child components
|
|
61
64
|
* - Serves as the main container for the banner
|
|
@@ -63,17 +66,17 @@ interface CookieBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
63
66
|
* @example
|
|
64
67
|
* Basic usage:
|
|
65
68
|
* ```tsx
|
|
66
|
-
* <
|
|
67
|
-
* <
|
|
69
|
+
* <ConsentBanner.Root>
|
|
70
|
+
* <ConsentBanner.Content>
|
|
68
71
|
* {Banner content}
|
|
69
|
-
* </
|
|
70
|
-
* </
|
|
72
|
+
* </ConsentBanner.Content>
|
|
73
|
+
* </ConsentBanner.Root>
|
|
71
74
|
* ```
|
|
72
75
|
*
|
|
73
76
|
* @example
|
|
74
77
|
* With custom styling:
|
|
75
78
|
* ```tsx
|
|
76
|
-
* <
|
|
79
|
+
* <ConsentBanner.Root
|
|
77
80
|
* styles={{
|
|
78
81
|
* root: "fixed bottom-0 w-full bg-white ",
|
|
79
82
|
* content: "max-w-4xl mx-auto p-4",
|
|
@@ -82,12 +85,12 @@ interface CookieBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
82
85
|
* }}
|
|
83
86
|
* >
|
|
84
87
|
* { Banner content}
|
|
85
|
-
* </
|
|
88
|
+
* </ConsentBanner.Root>
|
|
86
89
|
* ```
|
|
87
90
|
*
|
|
88
91
|
* @public
|
|
89
92
|
*/
|
|
90
|
-
declare const
|
|
91
|
-
declare const Root: FC<
|
|
92
|
-
export { Root,
|
|
93
|
+
declare const ConsentBannerRoot: FC<ConsentBannerRootProps>;
|
|
94
|
+
declare const Root: FC<ConsentBannerRootProps>;
|
|
95
|
+
export { Root, ConsentBannerRoot };
|
|
93
96
|
//# sourceMappingURL=root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../../src/components/consent-banner/atoms/root.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,EAAE,EAEP,KAAK,cAAc,EACnB,KAAK,SAAS,EAGd,MAAM,OAAO,CAAC;AAUf;;;;;;;;;GASG;AACH,UAAU,sBAAuB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACtE;;;;OAIG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAqCjD,CAAC;AAyMF,QAAA,MAAM,IAAI,4BAAoB,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as e,jsx as t,jsxs as o}from"react/jsx-runtime";import n from"@c15t/ui/styles/components/consent-banner.module.css";import{forwardRef as r,useEffect as s,useState as a}from"react";import{createPortal as m}from"react-dom";import{ConsentTrackingContext as i}from"../../../context/consent-tracking-context.js";import{LocalThemeContext as l}from"../../../context/theme-context.js";import{useConsentManager as c}from"../../../hooks/use-consent-manager.js";import{useStyles as u}from"../../../hooks/use-styles.js";import{useTextDirection as d}from"../../../hooks/use-text-direction.js";import{Overlay as f}from"./overlay.js";let p=({children:e,className:o,noStyle:n,disableAnimation:r,scrollLock:s,trapFocus:a=!0,models:m,uiSource:c,...u})=>t(i.Provider,{value:{uiSource:c??"banner"},children:t(l.Provider,{value:{disableAnimation:r,noStyle:n,scrollLock:s,trapFocus:a},children:t(b,{disableAnimation:r,className:o,noStyle:n,models:m,...u,children:e})})}),b=r(({asChild:r,children:i,className:l,style:p,className:b,disableAnimation:h,noStyle:y,models:N=["opt-in"],...g},j)=>{let{activeUI:x,translationConfig:v,model:C}=c(),k=d(v.defaultLanguage),[R,T]=a(!1),[B,P]=a(!1),[S,L]=a(200),V="banner"===x&&N.includes(C);s(()=>{L(Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--consent-banner-animation-duration")||"200",10))},[]),s(()=>{if(V)if(B)T(!0);else{let e=setTimeout(()=>{T(!0),P(!0)},10);return()=>clearTimeout(e)}else if(P(!1),h)T(!1);else{let e=setTimeout(()=>{T(!1)},S);return()=>clearTimeout(e)}},[V,h,B,S]);let $=u("consentBanner",{baseClassName:[n.root,"ltr"===k?n.bottomLeft:n.bottomRight],style:p,className:l||b,noStyle:y}),[A,E]=a(!1);if(s(()=>{E(!0)},[]),!A)return null;let H=y?$.className||"":`${$.className||""} ${R?n.bannerVisible:n.bannerHidden}`;return V?m(o(e,{children:[t(f,{}),t("div",{ref:j,...g,...$,className:H,"data-testid":"consent-banner-root",dir:k,children:i})]}),document.body):null});b.displayName="ConsentBannerRootChildren";let h=p;export{p as ConsentBannerRoot,h as Root};
|
|
@@ -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__.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 t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__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__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentBannerCard:()=>ConsentBannerCard,Header:()=>Header,FooterSubGroup:()=>FooterSubGroup,ConsentBannerFooterSubGroup:()=>ConsentBannerFooterSubGroup,ConsentBannerTitle:()=>ConsentBannerTitle,AcceptButton:()=>AcceptButton,ConsentBannerFooter:()=>ConsentBannerFooter,ConsentBannerCustomizeButton:()=>ConsentBannerCustomizeButton,Card:()=>Card,ConsentBannerRejectButton:()=>ConsentBannerRejectButton,CustomizeButton:()=>CustomizeButton,RejectButton:()=>RejectButton,ConsentBannerDescription:()=>ConsentBannerDescription,Footer:()=>Footer,Title:()=>Title,ConsentBannerHeader:()=>ConsentBannerHeader,ConsentBannerAcceptButton:()=>ConsentBannerAcceptButton,Description:()=>Description});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),consent_banner_module_css_namespaceObject=require("@c15t/ui/styles/components/consent-banner.module.css");var consent_banner_module_css_default=__webpack_require__.n(consent_banner_module_css_namespaceObject);const external_react_namespaceObject=require("react"),use_focus_trap_cjs_namespaceObject=require("../../hooks/use-focus-trap.cjs"),use_theme_cjs_namespaceObject=require("../../hooks/use-theme.cjs"),use_translations_cjs_namespaceObject=require("../../hooks/use-translations.cjs"),box_cjs_namespaceObject=require("../shared/primitives/box.cjs"),button_cjs_namespaceObject=require("../shared/primitives/button.cjs"),index_cjs_namespaceObject=require("../shared/primitives/legal-links/index.cjs"),CONSENT_BANNER_TITLE_NAME="ConsentBannerTitle",CONSENT_BANNER_DESCRIPTION_NAME="ConsentBannerDescription",CONSENT_BANNER_FOOTER_NAME="ConsentBannerFooter",CONSENT_BANNER_CARD_NAME="ConsentBannerCard",CONSENT_BANNER_HEADER_NAME="ConsentBannerHeader",CONSENT_BANNER_FOOTER_SUB_GROUP_NAME="ConsentBannerFooterSubGroup",CONSENT_BANNER_REJECT_BUTTON_NAME="ConsentBannerRejectButton",CONSENT_BANNER_CUSTOMIZE_BUTTON_NAME="ConsentBannerCustomizeButton",CONSENT_BANNER_ACCEPT_BUTTON_NAME="ConsentBannerAcceptButton",ConsentBannerTitle=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>{let{cookieBanner:r}=(0,use_translations_cjs_namespaceObject.useTranslations)();return(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:t,baseClassName:consent_banner_module_css_default().title,"data-testid":"consent-banner-title",themeKey:"consentBannerTitle",...n,children:e??r.title})});ConsentBannerTitle.displayName="ConsentBannerTitle";const ConsentBannerDescription=(0,external_react_namespaceObject.forwardRef)(({children:e,legalLinks:n,asChild:t,...r},o)=>{let{cookieBanner:s}=(0,use_translations_cjs_namespaceObject.useTranslations)();return t?(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:o,baseClassName:consent_banner_module_css_default().description,"data-testid":"consent-banner-description",themeKey:"consentBannerDescription",asChild:t,...r,children:e??s.description}):(0,jsx_runtime_namespaceObject.jsxs)(box_cjs_namespaceObject.Box,{ref:o,baseClassName:consent_banner_module_css_default().description,"data-testid":"consent-banner-description",themeKey:"consentBannerDescription",asChild:t,...r,children:[e??s.description,(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.InlineLegalLinks,{links:n,themeKey:"consentBannerDescription",testIdPrefix:"consent-banner-legal-link"})]})});ConsentBannerDescription.displayName="ConsentBannerDescription";const ConsentBannerFooter=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:t,baseClassName:consent_banner_module_css_default().footer,"data-testid":"consent-banner-footer",themeKey:"consentBannerFooter",...n,children:e}));ConsentBannerFooter.displayName="ConsentBannerFooter";const ConsentBannerCard=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>{let{trapFocus:r}=(0,use_theme_cjs_namespaceObject.useTheme)(),o=(0,external_react_namespaceObject.useRef)(null),s=t||o,a=!!r;return(0,use_focus_trap_cjs_namespaceObject.useFocusTrap)(a,s),(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:s,tabIndex:0,baseClassName:consent_banner_module_css_default().card,"data-testid":"consent-banner-card",themeKey:"consentBannerCard","aria-label":n["aria-label"]||"Consent Banner","aria-modal":a?"true":void 0,role:a?"dialog":void 0,...n,children:e})});ConsentBannerCard.displayName="ConsentBannerCard";const ConsentBannerHeader=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:t,baseClassName:consent_banner_module_css_default().header,"data-testid":"consent-banner-header",themeKey:"consentBannerHeader",...n,children:e}));ConsentBannerHeader.displayName="ConsentBannerHeader";const ConsentBannerFooterSubGroup=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>(0,jsx_runtime_namespaceObject.jsx)(box_cjs_namespaceObject.Box,{ref:t,baseClassName:consent_banner_module_css_default().footerSubGroup,"data-testid":"consent-banner-footer-sub-group",themeKey:"consentBannerFooterSubGroup",...n,children:e}));ConsentBannerFooterSubGroup.displayName="ConsentBannerFooterSubGroup";const ConsentBannerRejectButton=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>{let{common:r}=(0,use_translations_cjs_namespaceObject.useTranslations)();return(0,jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.ConsentButton,{ref:t,action:"reject-consent","data-testid":"consent-banner-reject-button",closeConsentBanner:!0,...n,children:e??r.rejectAll})});ConsentBannerRejectButton.displayName="ConsentBannerRejectButton";const ConsentBannerCustomizeButton=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>{let{common:r}=(0,use_translations_cjs_namespaceObject.useTranslations)();return(0,jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.ConsentButton,{ref:t,action:"open-consent-dialog","data-testid":"consent-banner-customize-button",...n,children:e??r.customize})});ConsentBannerCustomizeButton.displayName="ConsentBannerCustomizeButton";const ConsentBannerAcceptButton=(0,external_react_namespaceObject.forwardRef)(({children:e,...n},t)=>{let{common:r}=(0,use_translations_cjs_namespaceObject.useTranslations)(),{noStyle:o}=(0,use_theme_cjs_namespaceObject.useTheme)();return(0,jsx_runtime_namespaceObject.jsx)(button_cjs_namespaceObject.ConsentButton,{ref:t,action:"accept-consent","data-testid":"consent-banner-accept-button",closeConsentBanner:!0,noStyle:o,...n,children:e??r.acceptAll})});ConsentBannerAcceptButton.displayName="ConsentBannerAcceptButton";const Title=ConsentBannerTitle,Description=ConsentBannerDescription,Footer=ConsentBannerFooter,FooterSubGroup=ConsentBannerFooterSubGroup,Card=ConsentBannerCard,Header=ConsentBannerHeader,RejectButton=ConsentBannerRejectButton,CustomizeButton=ConsentBannerCustomizeButton,AcceptButton=ConsentBannerAcceptButton;for(var __rspack_i in exports.AcceptButton=__webpack_exports__.AcceptButton,exports.Card=__webpack_exports__.Card,exports.ConsentBannerAcceptButton=__webpack_exports__.ConsentBannerAcceptButton,exports.ConsentBannerCard=__webpack_exports__.ConsentBannerCard,exports.ConsentBannerCustomizeButton=__webpack_exports__.ConsentBannerCustomizeButton,exports.ConsentBannerDescription=__webpack_exports__.ConsentBannerDescription,exports.ConsentBannerFooter=__webpack_exports__.ConsentBannerFooter,exports.ConsentBannerFooterSubGroup=__webpack_exports__.ConsentBannerFooterSubGroup,exports.ConsentBannerHeader=__webpack_exports__.ConsentBannerHeader,exports.ConsentBannerRejectButton=__webpack_exports__.ConsentBannerRejectButton,exports.ConsentBannerTitle=__webpack_exports__.ConsentBannerTitle,exports.CustomizeButton=__webpack_exports__.CustomizeButton,exports.Description=__webpack_exports__.Description,exports.Footer=__webpack_exports__.Footer,exports.FooterSubGroup=__webpack_exports__.FooterSubGroup,exports.Header=__webpack_exports__.Header,exports.RejectButton=__webpack_exports__.RejectButton,exports.Title=__webpack_exports__.Title,__webpack_exports__)-1===["AcceptButton","Card","ConsentBannerAcceptButton","ConsentBannerCard","ConsentBannerCustomizeButton","ConsentBannerDescription","ConsentBannerFooter","ConsentBannerFooterSubGroup","ConsentBannerHeader","ConsentBannerRejectButton","ConsentBannerTitle","CustomizeButton","Description","Footer","FooterSubGroup","Header","RejectButton","Title"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
|
-
* Provides the core components for building
|
|
3
|
+
* Provides the core components for building consent banners.
|
|
4
4
|
* Implements accessible, customizable components following GDPR requirements.
|
|
5
5
|
*/
|
|
6
6
|
import { type BoxProps } from '../shared/primitives/box';
|
|
7
7
|
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
8
8
|
import type { LegalLinksProps } from '../shared/primitives/legal-links';
|
|
9
9
|
/**
|
|
10
|
-
* Title component for the
|
|
10
|
+
* Title component for the consent banner.
|
|
11
11
|
*
|
|
12
12
|
* @remarks
|
|
13
|
-
* Provides the main heading for the
|
|
13
|
+
* Provides the main heading for the consent notice.
|
|
14
14
|
* Implements proper heading semantics and supports theming.
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```tsx
|
|
18
|
-
* <
|
|
18
|
+
* <ConsentBannerTitle>
|
|
19
19
|
* Cookie Preferences
|
|
20
|
-
* </
|
|
20
|
+
* </ConsentBannerTitle>
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
declare const
|
|
23
|
+
declare const ConsentBannerTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
24
|
/**
|
|
25
|
-
* Description component for the
|
|
25
|
+
* Description component for the consent banner.
|
|
26
26
|
*
|
|
27
27
|
* @remarks
|
|
28
28
|
* Provides explanatory text about cookie usage and privacy policies.
|
|
@@ -31,16 +31,16 @@ declare const CookieBannerTitle: import("react").ForwardRefExoticComponent<Omit<
|
|
|
31
31
|
*
|
|
32
32
|
* @example
|
|
33
33
|
* ```tsx
|
|
34
|
-
* <
|
|
34
|
+
* <ConsentBannerDescription>
|
|
35
35
|
* We use cookies to enhance your browsing experience and analyze our traffic.
|
|
36
|
-
* </
|
|
36
|
+
* </ConsentBannerDescription>
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
declare const
|
|
39
|
+
declare const ConsentBannerDescription: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & {
|
|
40
40
|
legalLinks?: LegalLinksProps["links"];
|
|
41
41
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
42
42
|
/**
|
|
43
|
-
* Footer component for the
|
|
43
|
+
* Footer component for the consent banner.
|
|
44
44
|
*
|
|
45
45
|
* @remarks
|
|
46
46
|
* Contains action buttons and additional information.
|
|
@@ -48,38 +48,38 @@ declare const CookieBannerDescription: import("react").ForwardRefExoticComponent
|
|
|
48
48
|
*
|
|
49
49
|
* @example
|
|
50
50
|
* ```tsx
|
|
51
|
-
* <
|
|
52
|
-
* <
|
|
53
|
-
* <
|
|
54
|
-
* </
|
|
51
|
+
* <ConsentBannerFooter>
|
|
52
|
+
* <ConsentBannerRejectButton>Reject All</ConsentBannerRejectButton>
|
|
53
|
+
* <ConsentBannerAcceptButton>Accept All</ConsentBannerAcceptButton>
|
|
54
|
+
* </ConsentBannerFooter>
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
declare const
|
|
57
|
+
declare const ConsentBannerFooter: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
58
58
|
/**
|
|
59
|
-
* Card component for the
|
|
59
|
+
* Card component for the consent banner.
|
|
60
60
|
*
|
|
61
61
|
* @remarks
|
|
62
|
-
* Provides the main container for the
|
|
62
|
+
* Provides the main container for the consent notice.
|
|
63
63
|
* Implements proper elevation and layout structure.
|
|
64
64
|
*
|
|
65
65
|
* @example
|
|
66
66
|
* ```tsx
|
|
67
|
-
* <
|
|
68
|
-
* <
|
|
69
|
-
* <
|
|
70
|
-
* </
|
|
71
|
-
* </
|
|
67
|
+
* <ConsentBannerCard>
|
|
68
|
+
* <ConsentBannerHeader>
|
|
69
|
+
* <ConsentBannerTitle>Cookie Notice</ConsentBannerTitle>
|
|
70
|
+
* </ConsentBannerHeader>
|
|
71
|
+
* </ConsentBannerCard>
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
|
-
declare const
|
|
74
|
+
declare const ConsentBannerCard: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
75
75
|
/**
|
|
76
|
-
* Header component for the
|
|
76
|
+
* Header component for the consent banner.
|
|
77
77
|
*
|
|
78
78
|
* @remarks
|
|
79
79
|
* Contains the title and description sections.
|
|
80
80
|
* Implements proper spacing and layout for header content.
|
|
81
81
|
*/
|
|
82
|
-
declare const
|
|
82
|
+
declare const ConsentBannerHeader: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
83
83
|
/**
|
|
84
84
|
* Footer sub-group component for organizing related actions.
|
|
85
85
|
*
|
|
@@ -87,46 +87,46 @@ declare const CookieBannerHeader: import("react").ForwardRefExoticComponent<Omit
|
|
|
87
87
|
* Groups related buttons or controls in the footer.
|
|
88
88
|
* Implements proper spacing and alignment for button groups.
|
|
89
89
|
*/
|
|
90
|
-
declare const
|
|
90
|
+
declare const ConsentBannerFooterSubGroup: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
91
91
|
/**
|
|
92
92
|
* Button to reject all non-essential cookies.
|
|
93
93
|
*
|
|
94
94
|
* @remarks
|
|
95
|
-
* Implements the reject action for
|
|
95
|
+
* Implements the reject action for consent preferences.
|
|
96
96
|
* Provides proper accessibility attributes and keyboard interaction.
|
|
97
97
|
*
|
|
98
98
|
* @example
|
|
99
99
|
* ```tsx
|
|
100
|
-
* <
|
|
100
|
+
* <ConsentBannerRejectButton>
|
|
101
101
|
* Reject All Cookies
|
|
102
|
-
* </
|
|
102
|
+
* </ConsentBannerRejectButton>
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
declare const
|
|
105
|
+
declare const ConsentBannerRejectButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
106
106
|
/**
|
|
107
|
-
* Button to open detailed
|
|
107
|
+
* Button to open detailed consent preferences.
|
|
108
108
|
*
|
|
109
109
|
* @remarks
|
|
110
110
|
* Opens the detailed consent management interface.
|
|
111
111
|
* Implements proper focus management and keyboard interaction.
|
|
112
112
|
*/
|
|
113
|
-
declare const
|
|
113
|
+
declare const ConsentBannerCustomizeButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
114
114
|
/**
|
|
115
115
|
* Button to accept all cookies.
|
|
116
116
|
*
|
|
117
117
|
* @remarks
|
|
118
|
-
* Implements the accept action for
|
|
118
|
+
* Implements the accept action for consent preferences.
|
|
119
119
|
* Provides proper accessibility attributes and keyboard interaction.
|
|
120
120
|
* Supports theming and style customization.
|
|
121
121
|
*
|
|
122
122
|
* @example
|
|
123
123
|
* ```tsx
|
|
124
|
-
* <
|
|
124
|
+
* <ConsentBannerAcceptButton>
|
|
125
125
|
* Accept All Cookies
|
|
126
|
-
* </
|
|
126
|
+
* </ConsentBannerAcceptButton>
|
|
127
127
|
* ```
|
|
128
128
|
*/
|
|
129
|
-
declare const
|
|
129
|
+
declare const ConsentBannerAcceptButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
130
130
|
declare const Title: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
131
131
|
declare const Description: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & {
|
|
132
132
|
legalLinks?: LegalLinksProps["links"];
|
|
@@ -138,5 +138,5 @@ declare const Header: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
|
138
138
|
declare const RejectButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
139
139
|
declare const CustomizeButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
140
140
|
declare const AcceptButton: import("react").ForwardRefExoticComponent<ConsentButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
141
|
-
export {
|
|
141
|
+
export { ConsentBannerTitle, ConsentBannerDescription, ConsentBannerFooter, ConsentBannerFooterSubGroup, ConsentBannerCard, ConsentBannerHeader, ConsentBannerRejectButton, ConsentBannerCustomizeButton, ConsentBannerAcceptButton, Title, Description, Footer, FooterSubGroup, Card, Header, RejectButton, CustomizeButton, AcceptButton, };
|
|
142
142
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/components/consent-banner/components.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAaxE;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,kBAAkB,uHAgBtB,CAAC;AAIH;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,wBAAwB;iBAGf,eAAe,CAAC,OAAO,CAAC;kDAqCrC,CAAC;AAIH;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,mBAAmB,uHAevB,CAAC;AAIH;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,iBAAiB,uHA2BrB,CAAC;AAIH;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB,uHAevB,CAAC;AAIH;;;;;;GAMG;AACH,QAAA,MAAM,2BAA2B,uHAe/B,CAAC;AAIH;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,yBAAyB,kHAgB7B,CAAC;AAIH;;;;;;GAMG;AACH,QAAA,MAAM,4BAA4B,kHAehC,CAAC;AAIH;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,yBAAyB,kHAkB7B,CAAC;AAIH,QAAA,MAAM,KAAK,uHAAqB,CAAC;AACjC,QAAA,MAAM,WAAW;iBAhRF,eAAe,CAAC,OAAO,CAAC;kDAgRK,CAAC;AAC7C,QAAA,MAAM,MAAM,uHAAsB,CAAC;AACnC,QAAA,MAAM,cAAc,uHAA8B,CAAC;AACnD,QAAA,MAAM,IAAI,uHAAoB,CAAC;AAC/B,QAAA,MAAM,MAAM,uHAAsB,CAAC;AACnC,QAAA,MAAM,YAAY,kHAA4B,CAAC;AAC/C,QAAA,MAAM,eAAe,kHAA+B,CAAC;AACrD,QAAA,MAAM,YAAY,kHAA4B,CAAC;AAE/C,OAAO,EACN,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,EACL,WAAW,EACX,MAAM,EACN,cAAc,EACd,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,GACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as n}from"react/jsx-runtime";import t from"@c15t/ui/styles/components/consent-banner.module.css";import{forwardRef as r,useRef as o}from"react";import{useFocusTrap as a}from"../../hooks/use-focus-trap.js";import{useTheme as s}from"../../hooks/use-theme.js";import{useTranslations as i}from"../../hooks/use-translations.js";import{Box as c}from"../shared/primitives/box.js";import{ConsentButton as l}from"../shared/primitives/button.js";import{InlineLegalLinks as d}from"../shared/primitives/legal-links/index.js";let m=r(({children:n,...r},o)=>{let{cookieBanner:a}=i();return e(c,{ref:o,baseClassName:t.title,"data-testid":"consent-banner-title",themeKey:"consentBannerTitle",...r,children:n??a.title})});m.displayName="ConsentBannerTitle";let p=r(({children:r,legalLinks:o,asChild:a,...s},l)=>{let{cookieBanner:m}=i();return a?e(c,{ref:l,baseClassName:t.description,"data-testid":"consent-banner-description",themeKey:"consentBannerDescription",asChild:a,...s,children:r??m.description}):n(c,{ref:l,baseClassName:t.description,"data-testid":"consent-banner-description",themeKey:"consentBannerDescription",asChild:a,...s,children:[r??m.description,e(d,{links:o,themeKey:"consentBannerDescription",testIdPrefix:"consent-banner-legal-link"})]})});p.displayName="ConsentBannerDescription";let u=r(({children:n,...r},o)=>e(c,{ref:o,baseClassName:t.footer,"data-testid":"consent-banner-footer",themeKey:"consentBannerFooter",...r,children:n}));u.displayName="ConsentBannerFooter";let B=r(({children:n,...r},i)=>{let{trapFocus:l}=s(),d=o(null),m=i||d,p=!!l;return a(p,m),e(c,{ref:m,tabIndex:0,baseClassName:t.card,"data-testid":"consent-banner-card",themeKey:"consentBannerCard","aria-label":r["aria-label"]||"Consent Banner","aria-modal":p?"true":void 0,role:p?"dialog":void 0,...r,children:n})});B.displayName="ConsentBannerCard";let C=r(({children:n,...r},o)=>e(c,{ref:o,baseClassName:t.header,"data-testid":"consent-banner-header",themeKey:"consentBannerHeader",...r,children:n}));C.displayName="ConsentBannerHeader";let b=r(({children:n,...r},o)=>e(c,{ref:o,baseClassName:t.footerSubGroup,"data-testid":"consent-banner-footer-sub-group",themeKey:"consentBannerFooterSubGroup",...r,children:n}));b.displayName="ConsentBannerFooterSubGroup";let h=r(({children:n,...t},r)=>{let{common:o}=i();return e(l,{ref:r,action:"reject-consent","data-testid":"consent-banner-reject-button",closeConsentBanner:!0,...t,children:n??o.rejectAll})});h.displayName="ConsentBannerRejectButton";let f=r(({children:n,...t},r)=>{let{common:o}=i();return e(l,{ref:r,action:"open-consent-dialog","data-testid":"consent-banner-customize-button",...t,children:n??o.customize})});f.displayName="ConsentBannerCustomizeButton";let y=r(({children:n,...t},r)=>{let{common:o}=i(),{noStyle:a}=s();return e(l,{ref:r,action:"accept-consent","data-testid":"consent-banner-accept-button",closeConsentBanner:!0,noStyle:a,...t,children:n??o.acceptAll})});y.displayName="ConsentBannerAcceptButton";let N=m,j=p,k=u,F=b,K=B,x=C,D=h,S=f,g=y;export{g as AcceptButton,K as Card,y as ConsentBannerAcceptButton,B as ConsentBannerCard,f as ConsentBannerCustomizeButton,p as ConsentBannerDescription,u as ConsentBannerFooter,b as ConsentBannerFooterSubGroup,C as ConsentBannerHeader,h as ConsentBannerRejectButton,m as ConsentBannerTitle,S as CustomizeButton,j as Description,k as Footer,F as FooterSubGroup,x as Header,D as RejectButton,N as Title};
|