@c15t/react 1.8.3 → 2.0.0-rc.1
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 +6 -6
- 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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
interface IABConsentBannerTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Title component for the IAB Consent Banner.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
declare const IABConsentBannerTitle: import("react").ForwardRefExoticComponent<IABConsentBannerTitleProps & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
11
|
+
export { IABConsentBannerTitle };
|
|
12
|
+
//# sourceMappingURL=title.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../../../src/components/iab-consent-banner/atoms/title.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExE,UAAU,0BACT,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IAC1C,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED;;;;GAIG;AACH,QAAA,MAAM,qBAAqB,2HAazB,CAAC;AAIH,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"@c15t/ui/styles/components/iab-consent-banner.module.css";import{forwardRef as n}from"react";let r=n(({children:n,className:r,...o},i)=>e("h2",{ref:i,className:r?`${t.title} ${r}`:t.title,...o,children:n}));r.displayName="IABConsentBannerTitle";export{r as IABConsentBannerTitle};
|
|
@@ -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 s in n)__webpack_require__.o(n,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},__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__,{IABConsentBanner:()=>IABConsentBanner});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),iab_consent_banner_module_css_namespaceObject=require("@c15t/ui/styles/components/iab-consent-banner.module.css");var iab_consent_banner_module_css_default=__webpack_require__.n(iab_consent_banner_module_css_namespaceObject);const external_react_namespaceObject=require("react"),box_cjs_namespaceObject=require("../shared/primitives/box.cjs"),index_cjs_namespaceObject=require("../shared/ui/button/index.cjs"),use_component_config_cjs_namespaceObject=require("../../hooks/use-component-config.cjs"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),use_focus_trap_cjs_namespaceObject=require("../../hooks/use-focus-trap.cjs"),use_iab_translations_cjs_namespaceObject=require("../iab-consent-dialog/use-iab-translations.cjs"),root_cjs_namespaceObject=require("./atoms/root.cjs"),IABConsentBanner=({noStyle:e,disableAnimation:n,scrollLock:s=!0,trapFocus:a=!0,primaryButton:t="customize",models:r,uiSource:c})=>{let _=(0,use_iab_translations_cjs_namespaceObject.useIABTranslations)(),{iab:o,setActiveUI:i}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),l=(0,external_react_namespaceObject.useRef)(null),u=(0,use_component_config_cjs_namespaceObject.useComponentConfig)({noStyle:e,disableAnimation:n,scrollLock:s,trapFocus:a}),m=(0,external_react_namespaceObject.useMemo)(()=>o?.gvl?Object.keys(o.gvl.vendors).length+(o.nonIABVendors?.length??0):0,[o?.gvl,o?.nonIABVendors]),b=(0,external_react_namespaceObject.useMemo)(()=>{if(!o?.gvl)return{displayed:[],remainingCount:0,isReady:!1};let e=o.gvl,n=Object.entries(e.purposes).filter(([n])=>Object.values(e.vendors).some(e=>e.purposes?.includes(Number(n))||e.legIntPurposes?.includes(Number(n)))).map(([e,n])=>({id:Number(e),name:n.name})),s=n.find(e=>1===e.id),a=n.filter(e=>1!==e.id),t=new Set(a.map(e=>e.id)),r=e.stacks||{},c=[];for(let[e,n]of Object.entries(r)){let s=n.purposes.filter(e=>t.has(e));s.length>=2&&c.push({stackId:Number(e),name:n.name,coveredPurposeIds:s,score:s.length})}c.sort((e,n)=>n.score-e.score);let _=[],i=new Set;for(let{name:e,coveredPurposeIds:n}of c){let s=n.filter(e=>!i.has(e));if(s.length>=2)for(let n of(_.push(e),s))i.add(n)}let l=a.filter(e=>!i.has(e.id)),u=Object.entries(e.specialFeatures||{}).filter(([n])=>Object.values(e.vendors).some(e=>e.specialFeatures?.includes(Number(n)))).map(([,e])=>e.name),m=[];for(let e of(s&&m.push(s.name),_))m.push(e);for(let e of l)m.push(e.name);for(let e of u)m.push(e);return{displayed:m.slice(0,5),remainingCount:Math.max(0,m.length-5),isReady:!0}},[o?.gvl]);if((0,use_focus_trap_cjs_namespaceObject.useFocusTrap)(!!u.trapFocus,l),!o?.config.enabled||!b.isReady)return null;let p=_.banner.description.replace("{partnerCount}",String(m)),d=_.banner.partnersLink.replace("{count}",String(m)),j=_.banner.scopeServiceSpecific;return(0,jsx_runtime_namespaceObject.jsx)(root_cjs_namespaceObject.IABConsentBannerRoot,{...u,models:r,uiSource:c,children:(0,jsx_runtime_namespaceObject.jsxs)(box_cjs_namespaceObject.Box,{ref:l,baseClassName:iab_consent_banner_module_css_default().card,themeKey:"iabConsentBannerCard",tabIndex:0,role:"dialog","aria-modal":u.trapFocus?"true":void 0,"aria-label":_.banner.title,"data-testid":"iab-consent-banner-card",children:[(0,jsx_runtime_namespaceObject.jsxs)(box_cjs_namespaceObject.Box,{baseClassName:iab_consent_banner_module_css_default().header,themeKey:"iabConsentBannerHeader","data-testid":"iab-consent-banner-header",children:[(0,jsx_runtime_namespaceObject.jsx)("h2",{className:iab_consent_banner_module_css_default().title,children:_.banner.title}),(0,jsx_runtime_namespaceObject.jsxs)("p",{className:iab_consent_banner_module_css_default().description,children:[p.split(d)[0],(0,jsx_runtime_namespaceObject.jsx)("button",{type:"button",className:iab_consent_banner_module_css_default().partnersLink,onClick:()=>{o?.setPreferenceCenterTab("vendors"),i("dialog")},onMouseEnter:()=>{},children:d}),p.split(d)[1]]}),(0,jsx_runtime_namespaceObject.jsxs)("ul",{className:iab_consent_banner_module_css_default().purposeList,children:[b.displayed.map((e,n)=>(0,jsx_runtime_namespaceObject.jsx)("li",{children:e},n)),b.remainingCount>0&&(0,jsx_runtime_namespaceObject.jsx)("li",{className:iab_consent_banner_module_css_default().purposeMore,children:_.banner.andMore.replace("{count}",String(b.remainingCount))})]}),(0,jsx_runtime_namespaceObject.jsxs)("p",{className:iab_consent_banner_module_css_default().legitimateInterestNotice,children:[_.banner.legitimateInterestNotice," ",j]})]}),(0,jsx_runtime_namespaceObject.jsxs)(box_cjs_namespaceObject.Box,{baseClassName:iab_consent_banner_module_css_default().footer,themeKey:"iabConsentBannerFooter","data-testid":"iab-consent-banner-footer",children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:iab_consent_banner_module_css_default().footerButtonGroup,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"reject"===t?"primary":"neutral",mode:"stroke",size:"small",onClick:()=>{o?.rejectAll(),o?.save(),i("none")},className:iab_consent_banner_module_css_default().rejectButton,"data-testid":"iab-consent-banner-reject-button",children:_.common.rejectAll}),(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"accept"===t?"primary":"neutral",mode:"accept"===t?"filled":"stroke",size:"small",onClick:()=>{o?.acceptAll(),o?.save(),i("none")},className:iab_consent_banner_module_css_default().acceptButton,"data-testid":"iab-consent-banner-accept-button",children:_.common.acceptAll})]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:iab_consent_banner_module_css_default().footerSpacer}),(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"customize"===t?"primary":"neutral",mode:"customize"===t?"filled":"stroke",size:"small",onClick:()=>{o?.setPreferenceCenterTab("purposes"),i("dialog")},className:iab_consent_banner_module_css_default().customizeButton,"data-testid":"iab-consent-banner-customize-button",children:_.common.customize})]})]})})};for(var __rspack_i in exports.IABConsentBanner=__webpack_exports__.IABConsentBanner,__webpack_exports__)-1===["IABConsentBanner"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props for the IABConsentBanner component.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface IABConsentBannerProps {
|
|
7
|
+
/**
|
|
8
|
+
* When true, removes all default styling from the component.
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
noStyle?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* When true, disables entrance/exit animations.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
disableAnimation?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* When true, locks page scroll when the banner is visible.
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
scrollLock?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* When true, traps keyboard focus within the banner.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
trapFocus?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Specifies which button should be highlighted as primary.
|
|
29
|
+
* @default 'customize'
|
|
30
|
+
*/
|
|
31
|
+
primaryButton?: 'reject' | 'accept' | 'customize';
|
|
32
|
+
/**
|
|
33
|
+
* Which consent models this banner responds to.
|
|
34
|
+
* @default ['iab']
|
|
35
|
+
*/
|
|
36
|
+
models?: import('c15t').Model[];
|
|
37
|
+
/**
|
|
38
|
+
* Override the UI source identifier sent with consent API calls.
|
|
39
|
+
* @default 'iab_banner'
|
|
40
|
+
*/
|
|
41
|
+
uiSource?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* IAB TCF 2.3 compliant cookie consent banner.
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* This component implements the required IAB TCF 2.3 UI elements:
|
|
48
|
+
* - Partner count disclosure
|
|
49
|
+
* - Purpose summary
|
|
50
|
+
* - Legitimate interest notice
|
|
51
|
+
* - Accept All / Reject All / Customize buttons
|
|
52
|
+
*
|
|
53
|
+
* The banner only renders when IAB mode is enabled in the consent manager.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```tsx
|
|
57
|
+
* <ConsentManagerProvider options={{ iab: { enabled: true, cmpId: 000, vendors: [1, 2, 10] } }}>
|
|
58
|
+
* <IABConsentBanner />
|
|
59
|
+
* </ConsentManagerProvider>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export declare const IABConsentBanner: FC<IABConsentBannerProps>;
|
|
65
|
+
//# sourceMappingURL=iab-consent-banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iab-consent-banner.d.ts","sourceRoot":"","sources":["../../../src/components/iab-consent-banner/iab-consent-banner.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,EAAmC,MAAM,OAAO,CAAC;AASjE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAElD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkStD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import n from"@c15t/ui/styles/components/iab-consent-banner.module.css";import{useMemo as r,useRef as a}from"react";import{Box as s}from"../shared/primitives/box.js";import{Root as o}from"../shared/ui/button/index.js";import{useComponentConfig as i}from"../../hooks/use-component-config.js";import{useConsentManager as l}from"../../hooks/use-consent-manager.js";import{useFocusTrap as c}from"../../hooks/use-focus-trap.js";import{useIABTranslations as m}from"../iab-consent-dialog/use-iab-translations.js";import{IABConsentBannerRoot as d}from"./atoms/root.js";let u=({noStyle:u,disableAnimation:p,scrollLock:b=!0,trapFocus:f=!0,primaryButton:h="customize",models:g,uiSource:v})=>{let N=m(),{iab:j,setActiveUI:C}=l(),k=a(null),y=i({noStyle:u,disableAnimation:p,scrollLock:b,trapFocus:f}),B=r(()=>j?.gvl?Object.keys(j.gvl.vendors).length+(j.nonIABVendors?.length??0):0,[j?.gvl,j?.nonIABVendors]),S=r(()=>{if(!j?.gvl)return{displayed:[],remainingCount:0,isReady:!1};let e=j.gvl,t=Object.entries(e.purposes).filter(([t])=>Object.values(e.vendors).some(e=>e.purposes?.includes(Number(t))||e.legIntPurposes?.includes(Number(t)))).map(([e,t])=>({id:Number(e),name:t.name})),n=t.find(e=>1===e.id),r=t.filter(e=>1!==e.id),a=new Set(r.map(e=>e.id)),s=e.stacks||{},o=[];for(let[e,t]of Object.entries(s)){let n=t.purposes.filter(e=>a.has(e));n.length>=2&&o.push({stackId:Number(e),name:t.name,coveredPurposeIds:n,score:n.length})}o.sort((e,t)=>t.score-e.score);let i=[],l=new Set;for(let{name:e,coveredPurposeIds:t}of o){let n=t.filter(e=>!l.has(e));if(n.length>=2)for(let t of(i.push(e),n))l.add(t)}let c=r.filter(e=>!l.has(e.id)),m=Object.entries(e.specialFeatures||{}).filter(([t])=>Object.values(e.vendors).some(e=>e.specialFeatures?.includes(Number(t)))).map(([,e])=>e.name),d=[];for(let e of(n&&d.push(n.name),i))d.push(e);for(let e of c)d.push(e.name);for(let e of m)d.push(e);return{displayed:d.slice(0,5),remainingCount:Math.max(0,d.length-5),isReady:!0}},[j?.gvl]);if(c(!!y.trapFocus,k),!j?.config.enabled||!S.isReady)return null;let I=N.banner.description.replace("{partnerCount}",String(B)),z=N.banner.partnersLink.replace("{count}",String(B)),A=N.banner.scopeServiceSpecific;return e(d,{...y,models:g,uiSource:v,children:t(s,{ref:k,baseClassName:n.card,themeKey:"iabConsentBannerCard",tabIndex:0,role:"dialog","aria-modal":y.trapFocus?"true":void 0,"aria-label":N.banner.title,"data-testid":"iab-consent-banner-card",children:[t(s,{baseClassName:n.header,themeKey:"iabConsentBannerHeader","data-testid":"iab-consent-banner-header",children:[e("h2",{className:n.title,children:N.banner.title}),t("p",{className:n.description,children:[I.split(z)[0],e("button",{type:"button",className:n.partnersLink,onClick:()=>{j?.setPreferenceCenterTab("vendors"),C("dialog")},onMouseEnter:()=>{},children:z}),I.split(z)[1]]}),t("ul",{className:n.purposeList,children:[S.displayed.map((t,n)=>e("li",{children:t},n)),S.remainingCount>0&&e("li",{className:n.purposeMore,children:N.banner.andMore.replace("{count}",String(S.remainingCount))})]}),t("p",{className:n.legitimateInterestNotice,children:[N.banner.legitimateInterestNotice," ",A]})]}),t(s,{baseClassName:n.footer,themeKey:"iabConsentBannerFooter","data-testid":"iab-consent-banner-footer",children:[t("div",{className:n.footerButtonGroup,children:[e(o,{variant:"reject"===h?"primary":"neutral",mode:"stroke",size:"small",onClick:()=>{j?.rejectAll(),j?.save(),C("none")},className:n.rejectButton,"data-testid":"iab-consent-banner-reject-button",children:N.common.rejectAll}),e(o,{variant:"accept"===h?"primary":"neutral",mode:"accept"===h?"filled":"stroke",size:"small",onClick:()=>{j?.acceptAll(),j?.save(),C("none")},className:n.acceptButton,"data-testid":"iab-consent-banner-accept-button",children:N.common.acceptAll})]}),e("div",{className:n.footerSpacer}),e(o,{variant:"customize"===h?"primary":"neutral",mode:"customize"===h?"filled":"stroke",size:"small",onClick:()=>{j?.setPreferenceCenterTab("purposes"),C("dialog")},className:n.customizeButton,"data-testid":"iab-consent-banner-customize-button",children:N.common.customize})]})]})})};export{u as IABConsentBanner};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,n)=>{for(var r in n)__webpack_require__.o(n,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},__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__,{IABConsentBannerTitle:()=>title_cjs_namespaceObject.IABConsentBannerTitle,IABConsentBannerFooterSpacer:()=>button_group_cjs_namespaceObject.IABConsentBannerFooterSpacer,IABConsentBannerButtonGroup:()=>button_group_cjs_namespaceObject.IABConsentBannerButtonGroup,IABConsentBannerOverlay:()=>overlay_cjs_namespaceObject.IABConsentBannerOverlay,IABConsentBannerRoot:()=>root_cjs_namespaceObject.IABConsentBannerRoot,IABConsentBannerHeader:()=>header_cjs_namespaceObject.IABConsentBannerHeader,default:()=>iab_consent_banner,IABConsentBannerCard:()=>card_cjs_namespaceObject.IABConsentBannerCard,IABConsentBanner:()=>IABConsentBanner,IABConsentBannerDescription:()=>description_cjs_namespaceObject.IABConsentBannerDescription,IABConsentBannerFooter:()=>footer_cjs_namespaceObject.IABConsentBannerFooter});const button_group_cjs_namespaceObject=require("./atoms/button-group.cjs"),card_cjs_namespaceObject=require("./atoms/card.cjs"),description_cjs_namespaceObject=require("./atoms/description.cjs"),footer_cjs_namespaceObject=require("./atoms/footer.cjs"),header_cjs_namespaceObject=require("./atoms/header.cjs"),overlay_cjs_namespaceObject=require("./atoms/overlay.cjs"),root_cjs_namespaceObject=require("./atoms/root.cjs"),title_cjs_namespaceObject=require("./atoms/title.cjs"),external_iab_consent_banner_cjs_namespaceObject=require("./iab-consent-banner.cjs"),IABConsentBanner=Object.assign(external_iab_consent_banner_cjs_namespaceObject.IABConsentBanner,{Root:root_cjs_namespaceObject.IABConsentBannerRoot,Card:card_cjs_namespaceObject.IABConsentBannerCard,Header:header_cjs_namespaceObject.IABConsentBannerHeader,Title:title_cjs_namespaceObject.IABConsentBannerTitle,Description:description_cjs_namespaceObject.IABConsentBannerDescription,Footer:footer_cjs_namespaceObject.IABConsentBannerFooter,ButtonGroup:button_group_cjs_namespaceObject.IABConsentBannerButtonGroup,FooterSpacer:button_group_cjs_namespaceObject.IABConsentBannerFooterSpacer,Overlay:overlay_cjs_namespaceObject.IABConsentBannerOverlay}),iab_consent_banner=IABConsentBanner;for(var __rspack_i in exports.IABConsentBanner=__webpack_exports__.IABConsentBanner,exports.IABConsentBannerButtonGroup=__webpack_exports__.IABConsentBannerButtonGroup,exports.IABConsentBannerCard=__webpack_exports__.IABConsentBannerCard,exports.IABConsentBannerDescription=__webpack_exports__.IABConsentBannerDescription,exports.IABConsentBannerFooter=__webpack_exports__.IABConsentBannerFooter,exports.IABConsentBannerFooterSpacer=__webpack_exports__.IABConsentBannerFooterSpacer,exports.IABConsentBannerHeader=__webpack_exports__.IABConsentBannerHeader,exports.IABConsentBannerOverlay=__webpack_exports__.IABConsentBannerOverlay,exports.IABConsentBannerRoot=__webpack_exports__.IABConsentBannerRoot,exports.IABConsentBannerTitle=__webpack_exports__.IABConsentBannerTitle,exports.default=__webpack_exports__.default,__webpack_exports__)-1===["IABConsentBanner","IABConsentBannerButtonGroup","IABConsentBannerCard","IABConsentBannerDescription","IABConsentBannerFooter","IABConsentBannerFooterSpacer","IABConsentBannerHeader","IABConsentBannerOverlay","IABConsentBannerRoot","IABConsentBannerTitle","default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced IABConsentBanner component with compound components attached.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* This is the main export that provides access to all IABConsentBanner components.
|
|
6
|
+
* It follows the compound components pattern, allowing for flexible composition
|
|
7
|
+
* of the banner's parts.
|
|
8
|
+
*/
|
|
9
|
+
import type { FC } from 'react';
|
|
10
|
+
import { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer } from './atoms/button-group';
|
|
11
|
+
import { IABConsentBannerCard } from './atoms/card';
|
|
12
|
+
import { IABConsentBannerDescription } from './atoms/description';
|
|
13
|
+
import { IABConsentBannerFooter } from './atoms/footer';
|
|
14
|
+
import { IABConsentBannerHeader } from './atoms/header';
|
|
15
|
+
import { IABConsentBannerOverlay } from './atoms/overlay';
|
|
16
|
+
import { IABConsentBannerRoot } from './atoms/root';
|
|
17
|
+
import { IABConsentBannerTitle } from './atoms/title';
|
|
18
|
+
import { type IABConsentBannerProps } from './iab-consent-banner';
|
|
19
|
+
/**
|
|
20
|
+
* This interface extends the base IABConsentBanner component with additional sub-components
|
|
21
|
+
* that can be used to compose the banner's structure.
|
|
22
|
+
*/
|
|
23
|
+
export interface IABConsentBannerCompoundComponent extends FC<IABConsentBannerProps> {
|
|
24
|
+
Root: typeof IABConsentBannerRoot;
|
|
25
|
+
Card: typeof IABConsentBannerCard;
|
|
26
|
+
Header: typeof IABConsentBannerHeader;
|
|
27
|
+
Title: typeof IABConsentBannerTitle;
|
|
28
|
+
Description: typeof IABConsentBannerDescription;
|
|
29
|
+
Footer: typeof IABConsentBannerFooter;
|
|
30
|
+
ButtonGroup: typeof IABConsentBannerButtonGroup;
|
|
31
|
+
FooterSpacer: typeof IABConsentBannerFooterSpacer;
|
|
32
|
+
Overlay: typeof IABConsentBannerOverlay;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* IAB TCF 2.3 compliant cookie consent banner component.
|
|
36
|
+
*
|
|
37
|
+
* @remarks
|
|
38
|
+
* This component serves as the main entry point for rendering an IAB-compliant consent banner.
|
|
39
|
+
* It provides a structured layout with required IAB TCF elements.
|
|
40
|
+
*
|
|
41
|
+
* Key features:
|
|
42
|
+
* - IAB TCF 2.3 compliant
|
|
43
|
+
* - Fully accessible by default
|
|
44
|
+
* - Customizable appearance
|
|
45
|
+
* - Compound component pattern support
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* Simple usage with default settings:
|
|
49
|
+
* ```tsx
|
|
50
|
+
* <IABConsentBanner />
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* Using compound components for custom layout:
|
|
55
|
+
* ```tsx
|
|
56
|
+
* <IABConsentBanner.Root>
|
|
57
|
+
* <IABConsentBanner.Card>
|
|
58
|
+
* <IABConsentBanner.Header>
|
|
59
|
+
* <IABConsentBanner.Title>Privacy Settings</IABConsentBanner.Title>
|
|
60
|
+
* <IABConsentBanner.Description>We and our partners...</IABConsentBanner.Description>
|
|
61
|
+
* </IABConsentBanner.Header>
|
|
62
|
+
* <IABConsentBanner.Footer>
|
|
63
|
+
* <IABConsentBanner.ButtonGroup>
|
|
64
|
+
* <Button onClick={handleReject}>Reject All</Button>
|
|
65
|
+
* <Button onClick={handleAccept}>Accept All</Button>
|
|
66
|
+
* </IABConsentBanner.ButtonGroup>
|
|
67
|
+
* </IABConsentBanner.Footer>
|
|
68
|
+
* </IABConsentBanner.Card>
|
|
69
|
+
* </IABConsentBanner.Root>
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* Note: Next.js Server Components do not support compound components.
|
|
73
|
+
* Ensure you add 'use client' to the file.
|
|
74
|
+
*
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
declare const IABConsentBanner: IABConsentBannerCompoundComponent;
|
|
78
|
+
export default IABConsentBanner;
|
|
79
|
+
export { IABConsentBanner, type IABConsentBannerProps };
|
|
80
|
+
export { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer, } from './atoms/button-group';
|
|
81
|
+
export { IABConsentBannerCard } from './atoms/card';
|
|
82
|
+
export { IABConsentBannerDescription } from './atoms/description';
|
|
83
|
+
export { IABConsentBannerFooter } from './atoms/footer';
|
|
84
|
+
export { IABConsentBannerHeader } from './atoms/header';
|
|
85
|
+
export { IABConsentBannerOverlay } from './atoms/overlay';
|
|
86
|
+
export { IABConsentBannerRoot } from './atoms/root';
|
|
87
|
+
export { IABConsentBannerTitle } from './atoms/title';
|
|
88
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/iab-consent-banner/index.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACN,2BAA2B,EAC3B,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAEN,KAAK,qBAAqB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW,iCAChB,SAAQ,EAAE,CAAC,qBAAqB,CAAC;IACjC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAClC,IAAI,EAAE,OAAO,oBAAoB,CAAC;IAClC,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,KAAK,EAAE,OAAO,qBAAqB,CAAC;IACpC,WAAW,EAAE,OAAO,2BAA2B,CAAC;IAChD,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,WAAW,EAAE,OAAO,2BAA2B,CAAC;IAChD,YAAY,EAAE,OAAO,4BAA4B,CAAC;IAClD,OAAO,EAAE,OAAO,uBAAuB,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,QAAA,MAAM,gBAAgB,EAUhB,iCAAiC,CAAC;AAGxC,eAAe,gBAAgB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAGxD,OAAO,EACN,2BAA2B,EAC3B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{IABConsentBannerButtonGroup as o,IABConsentBannerFooterSpacer as n}from"./atoms/button-group.js";import{IABConsentBannerCard as r}from"./atoms/card.js";import{IABConsentBannerDescription as t}from"./atoms/description.js";import{IABConsentBannerFooter as e}from"./atoms/footer.js";import{IABConsentBannerHeader as a}from"./atoms/header.js";import{IABConsentBannerOverlay as s}from"./atoms/overlay.js";import{IABConsentBannerRoot as m}from"./atoms/root.js";import{IABConsentBannerTitle as B}from"./atoms/title.js";import{IABConsentBanner as i}from"./iab-consent-banner.js";let p=Object.assign(i,{Root:m,Card:r,Header:a,Title:B,Description:t,Footer:e,ButtonGroup:o,FooterSpacer:n,Overlay:s}),C=p;export{p as IABConsentBanner,o as IABConsentBannerButtonGroup,r as IABConsentBannerCard,t as IABConsentBannerDescription,e as IABConsentBannerFooter,n as IABConsentBannerFooterSpacer,a as IABConsentBannerHeader,s as IABConsentBannerOverlay,m as IABConsentBannerRoot,B as IABConsentBannerTitle,C as default};
|
|
@@ -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"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_iab_consent_dialog_cjs_namespaceObject=require("../iab-consent-dialog.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,a)=>{e[t]=a},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const mockGVL={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud",description:"",illustrations:[]},2:{id:2,name:"Deliver content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other sources",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"",illustrations:[]},2:{id:2,name:"Actively scan device characteristics",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Consent Only Vendor",purposes:[1,2,3],legIntPurposes:[],specialPurposes:[1],features:[1],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor1.com/privacy"}]},10:{id:10,name:"LI Vendor",purposes:[1],legIntPurposes:[2,7,9,10],specialPurposes:[1],features:[],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor10.com/privacy"}]},20:{id:20,name:"Another LI Vendor",purposes:[1,2],legIntPurposes:[7,8,9],specialPurposes:[1,2],features:[1,2],specialFeatures:[],flexiblePurposes:[2],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://vendor20.com/privacy"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,3],legIntPurposes:[7,9,10],specialPurposes:[1,2],features:[1,2],specialFeatures:[1],flexiblePurposes:[2,7,9,10],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]}}};globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>Promise.resolve(new Response(JSON.stringify(mockGVL),{status:200,headers:{"Content-Type":"application/json"}})));const defaultIABOptions={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("Legitimate Interest UI - Purpose Level",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("LI purposes section should be separate from consent",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("LI toggle should default to allowed (not objected)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("Purpose 1 should not have LI toggle (per IAB spec)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("Purposes 2-11 can have LI toggles",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Legitimate Interest UI - Vendor Level",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("Vendor with LI purposes should show LI toggle",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("Vendor without LI purposes should not show LI toggle",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("Vendor-level LI objection should be independent per vendor",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Legitimate Interest UI - Objection Behavior",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("Toggling to object should set LI to false",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("Purpose-level LI objection should cascade to vendors using that purpose",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("LI objection should persist after save",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Legitimate Interest UI - Display Requirements",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("LI section should display purpose names from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("LI toggle should be clearly distinguishable from consent toggle",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("Vendor details should show which purposes use LI",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Legitimate Interest UI - Flexible Purposes",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("Flexible purposes can use either consent or LI",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("Vendor with flexible purposes should show both consent and LI options",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e;import{jsx as o}from"react/jsx-runtime";import{beforeEach as t,describe as i,expect as n,test as s,vi as a}from"vitest";import{render as r}from"vitest-browser-react";import{ConsentManagerProvider as c,clearConsentRuntimeCache as d}from"../../../providers/consent-manager-provider.js";import{IABConsentDialog as l}from"../iab-consent-dialog.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:o=>e[o]||null,setItem:(o,t)=>{e[o]=t},removeItem:o=>{delete e[o]},clear:()=>{e={}}})});let u={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud",description:"",illustrations:[]},2:{id:2,name:"Deliver content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other sources",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"",illustrations:[]},2:{id:2,name:"Actively scan device characteristics",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Consent Only Vendor",purposes:[1,2,3],legIntPurposes:[],specialPurposes:[1],features:[1],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor1.com/privacy"}]},10:{id:10,name:"LI Vendor",purposes:[1],legIntPurposes:[2,7,9,10],specialPurposes:[1],features:[],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor10.com/privacy"}]},20:{id:20,name:"Another LI Vendor",purposes:[1,2],legIntPurposes:[7,8,9],specialPurposes:[1,2],features:[1,2],specialFeatures:[],flexiblePurposes:[2],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://vendor20.com/privacy"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,3],legIntPurposes:[7,9,10],specialPurposes:[1,2],features:[1,2],specialFeatures:[1],flexiblePurposes:[2,7,9,10],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]}}};globalThis.fetch=a.fn(()=>Promise.resolve(new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})));let p={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};i("Legitimate Interest UI - Purpose Level",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),d(),delete window.__tcfapi}),s("LI purposes section should be separate from consent",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("LI toggle should default to allowed (not objected)",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("Purpose 1 should not have LI toggle (per IAB spec)",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("Purposes 2-11 can have LI toggles",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Legitimate Interest UI - Vendor Level",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),d(),delete window.__tcfapi}),s("Vendor with LI purposes should show LI toggle",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()}),s("Vendor without LI purposes should not show LI toggle",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()}),s("Vendor-level LI objection should be independent per vendor",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),i("Legitimate Interest UI - Objection Behavior",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),d(),delete window.__tcfapi}),s("Toggling to object should set LI to false",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("Purpose-level LI objection should cascade to vendors using that purpose",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("LI objection should persist after save",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Legitimate Interest UI - Display Requirements",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),d(),delete window.__tcfapi}),s("LI section should display purpose names from GVL",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("LI toggle should be clearly distinguishable from consent toggle",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("Vendor details should show which purposes use LI",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),i("Legitimate Interest UI - Flexible Purposes",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),d(),delete window.__tcfapi}),s("Flexible purposes can use either consent or LI",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("Vendor with flexible purposes should show both consent and LI options",async()=>{r(o(c,{options:p,children:o(l,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})});
|
|
@@ -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"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_iab_consent_dialog_cjs_namespaceObject=require("../iab-consent-dialog.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,a)=>{e[t]=a},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const mockGVL={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies, device identifiers...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent fraud",description:"",illustrations:[]},2:{id:2,name:"Deliver content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]},3:{id:3,name:"Identify devices",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"",illustrations:[]},2:{id:2,name:"Actively scan device characteristics",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Test Vendor 1",purposes:[1,2,3],legIntPurposes:[7,8],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://test.com/privacy"}]},755:{id:755,name:"Google Advertising",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],flexiblePurposes:[2,7,9,10,11],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Content personalisation",description:"",purposes:[5,6,11],specialFeatures:[]}}};globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>Promise.resolve(new Response(JSON.stringify(mockGVL),{status:200,headers:{"Content-Type":"application/json"}})));const defaultIABOptions={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Consent Dialog Unit 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)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.describe)("Component Rendering",()=>{(0,external_vitest_namespaceObject.test)("should render when open=true",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should render card container",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-card"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Tab Navigation",()=>{(0,external_vitest_namespaceObject.test)("should display tab buttons",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]');(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0)},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should have purposes tab",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e?.textContent?.toLowerCase()).toContain("purpose")},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should have vendors tab",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e?.textContent?.toLowerCase()).toContain("vendor")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Accessibility",()=>{(0,external_vitest_namespaceObject.test)("should have dialog role",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-card"]');(0,external_vitest_namespaceObject.expect)(e?.getAttribute("role")).toBe("dialog")},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should have aria-label",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-card"]');(0,external_vitest_namespaceObject.expect)(e?.getAttribute("aria-label")).toBeTruthy()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Action Buttons",()=>{(0,external_vitest_namespaceObject.test)("should display Accept All button",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("accept all"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should display Reject All button",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("reject all"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should display Save button",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("save")||e.textContent?.toLowerCase().includes("confirm"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Content Loading",()=>{(0,external_vitest_namespaceObject.test)("should display purposes after GVL loads",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Props",()=>{(0,external_vitest_namespaceObject.test)("should accept hideBranding prop",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0,hideBranding:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should accept showTrigger prop",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{showTrigger:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(document.body).toBeTruthy()},{timeout:1e3})})})}),__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}from"react/jsx-runtime";import{beforeEach as o,describe as i,expect as n,test as s,vi as a}from"vitest";import{render as r}from"vitest-browser-react";import{ConsentManagerProvider as d,clearConsentRuntimeCache as l}from"../../../providers/consent-manager-provider.js";import{IABConsentDialog as c}from"../iab-consent-dialog.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:t=>e[t]||null,setItem:(t,o)=>{e[t]=o},removeItem:t=>{delete e[t]},clear:()=>{e={}}})});let u={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies, device identifiers...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent fraud",description:"",illustrations:[]},2:{id:2,name:"Deliver content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]},3:{id:3,name:"Identify devices",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"",illustrations:[]},2:{id:2,name:"Actively scan device characteristics",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Test Vendor 1",purposes:[1,2,3],legIntPurposes:[7,8],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://test.com/privacy"}]},755:{id:755,name:"Google Advertising",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],flexiblePurposes:[2,7,9,10,11],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Content personalisation",description:"",purposes:[5,6,11],specialFeatures:[]}}};globalThis.fetch=a.fn(()=>Promise.resolve(new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})));let p={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};i("IAB Consent Dialog Unit Tests",()=>{o(()=>{for(let e of(window.localStorage.clear(),document.cookie.split(";"))){let t=e.split("=")[0]?.trim();t&&(document.cookie=`${t}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/`)}a.clearAllMocks(),l(),delete window.__tcfapi}),i("Component Rendering",()=>{s("should render when open=true",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("should render card container",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-card"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Tab Navigation",()=>{s("should display tab buttons",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]').length).toBeGreaterThan(0)},{timeout:3e3})}),s("should have purposes tab",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');n(e?.textContent?.toLowerCase()).toContain("purpose")},{timeout:3e3})}),s("should have vendors tab",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');n(e?.textContent?.toLowerCase()).toContain("vendor")},{timeout:3e3})})}),i("Accessibility",()=>{s("should have dialog role",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-card"]');n(e?.getAttribute("role")).toBe("dialog")},{timeout:3e3})}),s("should have aria-label",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-card"]');n(e?.getAttribute("aria-label")).toBeTruthy()},{timeout:3e3})})}),i("Action Buttons",()=>{s("should display Accept All button",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("accept all"))).toBeDefined()},{timeout:3e3})}),s("should display Reject All button",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("reject all"))).toBeDefined()},{timeout:3e3})}),s("should display Save button",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("save")||e.textContent?.toLowerCase().includes("confirm"))).toBeDefined()},{timeout:3e3})})}),i("Content Loading",()=>{s("should display purposes after GVL loads",async()=>{r(t(d,{options:p,children:t(c,{open:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Props",()=>{s("should accept hideBranding prop",async()=>{r(t(d,{options:p,children:t(c,{open:!0,hideBranding:!0})})),await a.waitFor(()=>{n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),s("should accept showTrigger prop",async()=>{r(t(d,{options:p,children:t(c,{showTrigger:!0})})),await a.waitFor(()=>{n(document.body).toBeTruthy()},{timeout:1e3})})})});
|
|
@@ -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"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_iab_consent_dialog_cjs_namespaceObject=require("../iab-consent-dialog.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,a)=>{e[t]=a},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const mockGVL={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies, device identifiers...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud, and fix errors",description:"",illustrations:[]},2:{id:2,name:"Deliver and present advertising and content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other data sources",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]},3:{id:3,name:"Identify devices based on information transmitted automatically",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"With your acceptance, your precise location...",illustrations:[]},2:{id:2,name:"Actively scan device characteristics for identification",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Test Vendor 1",purposes:[1,2,3,7],legIntPurposes:[8,9],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[]},755:{id:755,name:"Google Advertising",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],flexiblePurposes:[2,7,9,10,11],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Content personalisation",description:"",purposes:[5,6,11],specialFeatures:[]}}};globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>Promise.resolve(new Response(JSON.stringify(mockGVL),{status:200,headers:{"Content-Type":"application/json"}})));const defaultIABOptions={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("Purposes Tab - Consent",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("Purpose 1 should be displayed",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("should display multiple purposes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Legitimate Interest",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("should display LI section for purposes with LI vendors",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Special Purposes",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("special purposes section should exist when expanded",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Special Features",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("should display special features section",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})}),(0,external_vitest_namespaceObject.test)("special feature toggles should exist",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Stacks",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("should group purposes into stacks from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-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 e;import{jsx as t}from"react/jsx-runtime";import{beforeEach as o,describe as i,expect as s,test as a,vi as n}from"vitest";import{render as r}from"vitest-browser-react";import{ConsentManagerProvider as c,clearConsentRuntimeCache as l}from"../../../providers/consent-manager-provider.js";import{IABConsentDialog as d}from"../iab-consent-dialog.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:t=>e[t]||null,setItem:(t,o)=>{e[t]=o},removeItem:t=>{delete e[t]},clear:()=>{e={}}})});let p={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies, device identifiers...",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},8:{id:8,name:"Measure content performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud, and fix errors",description:"",illustrations:[]},2:{id:2,name:"Deliver and present advertising and content",description:"",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other data sources",description:"",illustrations:[]},2:{id:2,name:"Link different devices",description:"",illustrations:[]},3:{id:3,name:"Identify devices based on information transmitted automatically",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"With your acceptance, your precise location...",illustrations:[]},2:{id:2,name:"Actively scan device characteristics for identification",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Test Vendor 1",purposes:[1,2,3,7],legIntPurposes:[8,9],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[]},755:{id:755,name:"Google Advertising",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],flexiblePurposes:[2,7,9,10,11],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[]}},stacks:{1:{id:1,name:"Advertising measurement",description:"",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Content personalisation",description:"",purposes:[5,6,11],specialFeatures:[]}}};globalThis.fetch=n.fn(()=>Promise.resolve(new Response(JSON.stringify(p),{status:200,headers:{"Content-Type":"application/json"}})));let u={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};i("Purposes Tab - Consent",()=>{o(()=>{window.localStorage.clear(),n.clearAllMocks(),l(),delete window.__tcfapi}),a("Purpose 1 should be displayed",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),a("should display multiple purposes",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Purposes Tab - Legitimate Interest",()=>{o(()=>{window.localStorage.clear(),n.clearAllMocks(),l(),delete window.__tcfapi}),a("should display LI section for purposes with LI vendors",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Purposes Tab - Special Purposes",()=>{o(()=>{window.localStorage.clear(),n.clearAllMocks(),l(),delete window.__tcfapi}),a("special purposes section should exist when expanded",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Purposes Tab - Special Features",()=>{o(()=>{window.localStorage.clear(),n.clearAllMocks(),l(),delete window.__tcfapi}),a("should display special features section",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})}),a("special feature toggles should exist",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Purposes Tab - Stacks",()=>{o(()=>{window.localStorage.clear(),n.clearAllMocks(),l(),delete window.__tcfapi}),a("should group purposes into stacks from GVL",async()=>{r(t(c,{options:u,children:t(d,{open:!0})})),await n.waitFor(()=>{s(document.querySelector('[data-testid="iab-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"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_iab_consent_dialog_cjs_namespaceObject=require("../iab-consent-dialog.cjs"),localStorageMock=(()=>{let e={};return{getItem:t=>e[t]||null,setItem:(t,a)=>{e[t]=a},removeItem:t=>{delete e[t]},clear:()=>{e={}}}})();Object.defineProperty(window,"localStorage",{value:localStorageMock});const mockGVL={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Security",description:"",illustrations:[]}},features:{1:{id:1,name:"Match data",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Geolocation",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Exponential Interactive",purposes:[1,2],legIntPurposes:[7,9,10],specialPurposes:[1],features:[1],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor1.com/privacy"}]},10:{id:10,name:"Index Exchange",purposes:[1],legIntPurposes:[2,7,9,10],specialPurposes:[1],features:[],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://indexexchange.com/privacy"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,7,9,10],legIntPurposes:[],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2,7,9,10],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising",description:"",purposes:[2,7],specialFeatures:[]}}};globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>Promise.resolve(new Response(JSON.stringify(mockGVL),{status:200,headers:{"Content-Type":"application/json"}})));const defaultIABOptions={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("Vendors Tab - Display",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("should display vendor list when vendors tab is selected",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should display all GVL vendors",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should show vendor count in tab",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Vendors Tab - Per-Vendor Consent",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("should display consent toggle for vendors",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Vendors Tab - Per-Vendor Legitimate Interest",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("vendors with LI purposes should have LI toggle option",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Vendors Tab - Vendor Details",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{window.localStorage.clear(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)(),delete window.__tcfapi}),(0,external_vitest_namespaceObject.test)("vendor details should be expandable",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()},{timeout:3e3});let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e;import{jsx as o}from"react/jsx-runtime";import{beforeEach as t,describe as i,expect as s,test as n,vi as a}from"vitest";import{render as r}from"vitest-browser-react";import{ConsentManagerProvider as d,clearConsentRuntimeCache as l}from"../../../providers/consent-manager-provider.js";import{IABConsentDialog as c}from"../iab-consent-dialog.js";Object.defineProperty(window,"localStorage",{value:(e={},{getItem:o=>e[o]||null,setItem:(o,t)=>{e[o]=t},removeItem:o=>{delete e[o]},clear:()=>{e={}}})});let u={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"",illustrations:[]},2:{id:2,name:"Use limited data to select advertising",description:"",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"",illustrations:[]},9:{id:9,name:"Understand audiences through statistics",description:"",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"",illustrations:[]}},specialPurposes:{1:{id:1,name:"Security",description:"",illustrations:[]}},features:{1:{id:1,name:"Match data",description:"",illustrations:[]}},specialFeatures:{1:{id:1,name:"Geolocation",description:"",illustrations:[]}},vendors:{1:{id:1,name:"Exponential Interactive",purposes:[1,2],legIntPurposes:[7,9,10],specialPurposes:[1],features:[1],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vendor1.com/privacy"}]},10:{id:10,name:"Index Exchange",purposes:[1],legIntPurposes:[2,7,9,10],specialPurposes:[1],features:[],specialFeatures:[],flexiblePurposes:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://indexexchange.com/privacy"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,7,9,10],legIntPurposes:[],specialPurposes:[1],features:[1],specialFeatures:[1],flexiblePurposes:[2,7,9,10],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising",description:"",purposes:[2,7],specialFeatures:[]}}};globalThis.fetch=a.fn(()=>Promise.resolve(new Response(JSON.stringify(u),{status:200,headers:{"Content-Type":"application/json"}})));let p={mode:"offline",iab:{enabled:!0,cmpId:160,cmpVersion:1}};i("Vendors Tab - Display",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),l(),delete window.__tcfapi}),n("should display vendor list when vendors tab is selected",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),s(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()}),n("should display all GVL vendors",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),s(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()}),n("should show vendor count in tab",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3})})}),i("Vendors Tab - Per-Vendor Consent",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),l(),delete window.__tcfapi}),n("should display consent toggle for vendors",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),s(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),i("Vendors Tab - Per-Vendor Legitimate Interest",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),l(),delete window.__tcfapi}),n("vendors with LI purposes should have LI toggle option",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),s(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),i("Vendors Tab - Vendor Details",()=>{t(()=>{window.localStorage.clear(),a.clearAllMocks(),l(),delete window.__tcfapi}),n("vendor details should be expandable",async()=>{r(o(d,{options:p,children:o(c,{open:!0})})),await a.waitFor(()=>{s(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()},{timeout:3e3}),s(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})});
|
|
@@ -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 a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"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__,{IABConsentDialogCard:()=>IABConsentDialogCard});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),iab_consent_dialog_module_css_namespaceObject=require("@c15t/ui/styles/components/iab-consent-dialog.module.css");var iab_consent_dialog_module_css_default=__webpack_require__.n(iab_consent_dialog_module_css_namespaceObject);const external_react_namespaceObject=require("react"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_focus_trap_cjs_namespaceObject=require("../../../hooks/use-focus-trap.cjs"),use_theme_cjs_namespaceObject=require("../../../hooks/use-theme.cjs"),external_use_iab_translations_cjs_namespaceObject=require("../use-iab-translations.cjs"),IABConsentDialogCard=(0,external_react_namespaceObject.forwardRef)(({children:e,className:_,...a},t)=>{let{trapFocus:r}=(0,use_theme_cjs_namespaceObject.useTheme)(),{activeUI:s}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),c=(0,external_use_iab_translations_cjs_namespaceObject.useIABTranslations)(),[n,o]=(0,external_react_namespaceObject.useState)(!1),i="dialog"===s;(0,use_focus_trap_cjs_namespaceObject.useFocusTrap)(!!(i&&r),t),(0,external_react_namespaceObject.useEffect)(()=>{if(i)o(!0);else{let e=setTimeout(()=>{o(!1)},150);return()=>clearTimeout(e)}},[i]);let u=_?`${iab_consent_dialog_module_css_default().card} ${n?iab_consent_dialog_module_css_default().contentVisible:iab_consent_dialog_module_css_default().contentHidden} ${_}`:`${iab_consent_dialog_module_css_default().card} ${n?iab_consent_dialog_module_css_default().contentVisible:iab_consent_dialog_module_css_default().contentHidden}`;return(0,jsx_runtime_namespaceObject.jsx)("div",{ref:t,className:u,role:"dialog","aria-modal":r?"true":void 0,"aria-label":c.preferenceCenter.title,tabIndex:0,"data-testid":"iab-consent-dialog-card",...a,children:e})});for(var __rspack_i in IABConsentDialogCard.displayName="IABConsentDialogCard",exports.IABConsentDialogCard=__webpack_exports__.IABConsentDialogCard,__webpack_exports__)-1===["IABConsentDialogCard"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
interface IABConsentDialogCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Card component for the IAB Consent Dialog.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Main container for the consent dialog content. Handles focus trap when trapFocus is enabled.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare const IABConsentDialogCard: import("react").ForwardRefExoticComponent<IABConsentDialogCardProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { IABConsentDialogCard };
|
|
15
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/iab-consent-dialog/atoms/card.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,cAAc,EACnB,KAAK,SAAS,EAId,MAAM,OAAO,CAAC;AAMf,UAAU,yBAA0B,SAAQ,cAAc,CAAC,cAAc,CAAC;IACzE,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,oBAAoB,sHAyCxB,CAAC;AAIH,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"@c15t/ui/styles/components/iab-consent-dialog.module.css";import{forwardRef as o,useEffect as r,useState as i}from"react";import{useConsentManager as a}from"../../../hooks/use-consent-manager.js";import{useFocusTrap as s}from"../../../hooks/use-focus-trap.js";import{useTheme as n}from"../../../hooks/use-theme.js";import{useIABTranslations as l}from"../use-iab-translations.js";let m=o(({children:o,className:m,...d},c)=>{let{trapFocus:u}=n(),{activeUI:p}=a(),f=l(),[b,g]=i(!1),h="dialog"===p;return s(!!(h&&u),c),r(()=>{if(h)g(!0);else{let e=setTimeout(()=>{g(!1)},150);return()=>clearTimeout(e)}},[h]),e("div",{ref:c,className:m?`${t.card} ${b?t.contentVisible:t.contentHidden} ${m}`:`${t.card} ${b?t.contentVisible:t.contentHidden}`,role:"dialog","aria-modal":u?"true":void 0,"aria-label":f.preferenceCenter.title,tabIndex:0,"data-testid":"iab-consent-dialog-card",...d,children:o})});m.displayName="IABConsentDialogCard";export{m as IABConsentDialogCard};
|
|
@@ -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 t in _)__webpack_require__.o(_,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:_[t]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{IABConsentDialogContent:()=>IABConsentDialogContent});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),iab_consent_dialog_module_css_namespaceObject=require("@c15t/ui/styles/components/iab-consent-dialog.module.css");var iab_consent_dialog_module_css_default=__webpack_require__.n(iab_consent_dialog_module_css_namespaceObject);const external_react_namespaceObject=require("react"),IABConsentDialogContent=(0,external_react_namespaceObject.forwardRef)(({children:e,className:_,...t},r)=>{let n=_?`${iab_consent_dialog_module_css_default().content} ${_}`:iab_consent_dialog_module_css_default().content;return(0,jsx_runtime_namespaceObject.jsx)("div",{ref:r,className:n,...t,children:e})});for(var __rspack_i in IABConsentDialogContent.displayName="IABConsentDialogContent",exports.IABConsentDialogContent=__webpack_exports__.IABConsentDialogContent,__webpack_exports__)-1===["IABConsentDialogContent"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
interface IABConsentDialogContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Content container component for the IAB Consent Dialog.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Scrollable area containing purpose/vendor content.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare const IABConsentDialogContent: import("react").ForwardRefExoticComponent<IABConsentDialogContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { IABConsentDialogContent };
|
|
15
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/components/iab-consent-dialog/atoms/content.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExE,UAAU,4BAA6B,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC5E,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,uBAAuB,yHAa3B,CAAC;AAIH,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import o from"@c15t/ui/styles/components/iab-consent-dialog.module.css";import{forwardRef as e}from"react";let n=e(({children:e,className:n,...i},r)=>t("div",{ref:r,className:n?`${o.content} ${n}`:o.content,...i,children:e}));n.displayName="IABConsentDialogContent";export{n as IABConsentDialogContent};
|
|
@@ -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 a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"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__,{IABConsentDialogFooter:()=>IABConsentDialogFooter});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),iab_consent_dialog_module_css_namespaceObject=require("@c15t/ui/styles/components/iab-consent-dialog.module.css");var iab_consent_dialog_module_css_default=__webpack_require__.n(iab_consent_dialog_module_css_namespaceObject);const external_react_namespaceObject=require("react"),index_cjs_namespaceObject=require("../../shared/ui/button/index.cjs"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),use_gvl_data_cjs_namespaceObject=require("../hooks/use-gvl-data.cjs"),external_use_iab_translations_cjs_namespaceObject=require("../use-iab-translations.cjs"),IABConsentDialogFooter=(0,external_react_namespaceObject.forwardRef)(({children:e,className:_,...a},s)=>{let{iab:t,setActiveUI:n}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),r=(0,external_use_iab_translations_cjs_namespaceObject.useIABTranslations)(),{isLoading:c}=(0,use_gvl_data_cjs_namespaceObject.useGVLData)(),o=_?`${iab_consent_dialog_module_css_default().footer} ${_}`:iab_consent_dialog_module_css_default().footer;return(0,jsx_runtime_namespaceObject.jsx)("div",{ref:s,className:o,...a,children:e||(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:iab_consent_dialog_module_css_default().footerButtons,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"neutral",mode:"stroke",size:"small",onClick:()=>{t?.rejectAll(),t?.save(),n("none")},disabled:c,children:r.common.rejectAll}),(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"neutral",mode:"stroke",size:"small",onClick:()=>{t?.acceptAll(),t?.save(),n("none")},disabled:c,children:r.common.acceptAll})]}),(0,jsx_runtime_namespaceObject.jsx)("div",{className:iab_consent_dialog_module_css_default().footerSpacer}),(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Root,{variant:"primary",mode:"filled",size:"small",onClick:()=>{t?.save(),n("none")},disabled:c,children:r.common.saveSettings})]})})});for(var __rspack_i in IABConsentDialogFooter.displayName="IABConsentDialogFooter",exports.IABConsentDialogFooter=__webpack_exports__.IABConsentDialogFooter,__webpack_exports__)-1===["IABConsentDialogFooter"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
interface IABConsentDialogFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Footer component for the IAB Consent Dialog.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Contains action buttons (Reject All, Accept All, Save).
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare const IABConsentDialogFooter: import("react").ForwardRefExoticComponent<IABConsentDialogFooterProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { IABConsentDialogFooter };
|
|
15
|
+
//# sourceMappingURL=footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../../../src/components/iab-consent-dialog/atoms/footer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxE,UAAU,2BAA4B,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,wHAqE1B,CAAC;AAIH,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as e,jsx as o,jsxs as r}from"react/jsx-runtime";import t from"@c15t/ui/styles/components/iab-consent-dialog.module.css";import{forwardRef as s}from"react";import{Root as a}from"../../shared/ui/button/index.js";import{useConsentManager as i}from"../../../hooks/use-consent-manager.js";import{useGVLData as l}from"../hooks/use-gvl-data.js";import{useIABTranslations as n}from"../use-iab-translations.js";let m=s(({children:s,className:m,...c},d)=>{let{iab:p,setActiveUI:f}=i(),u=n(),{isLoading:v}=l();return o("div",{ref:d,className:m?`${t.footer} ${m}`:t.footer,...c,children:s||r(e,{children:[r("div",{className:t.footerButtons,children:[o(a,{variant:"neutral",mode:"stroke",size:"small",onClick:()=>{p?.rejectAll(),p?.save(),f("none")},disabled:v,children:u.common.rejectAll}),o(a,{variant:"neutral",mode:"stroke",size:"small",onClick:()=>{p?.acceptAll(),p?.save(),f("none")},disabled:v,children:u.common.acceptAll})]}),o("div",{className:t.footerSpacer}),o(a,{variant:"primary",mode:"filled",size:"small",onClick:()=>{p?.save(),f("none")},disabled:v,children:u.common.saveSettings})]})})});m.displayName="IABConsentDialogFooter";export{m as IABConsentDialogFooter};
|
|
@@ -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 a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"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__,{IABConsentDialogHeader:()=>IABConsentDialogHeader});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),iab_consent_dialog_module_css_namespaceObject=require("@c15t/ui/styles/components/iab-consent-dialog.module.css");var iab_consent_dialog_module_css_default=__webpack_require__.n(iab_consent_dialog_module_css_namespaceObject);const external_react_namespaceObject=require("react"),use_consent_manager_cjs_namespaceObject=require("../../../hooks/use-consent-manager.cjs"),external_use_iab_translations_cjs_namespaceObject=require("../use-iab-translations.cjs"),IABConsentDialogHeader=(0,external_react_namespaceObject.forwardRef)(({children:e,headerTitle:_,description:a,showCloseButton:r=!0,className:s},n)=>{let{setActiveUI:t}=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)(),c=(0,external_use_iab_translations_cjs_namespaceObject.useIABTranslations)(),o=s?`${iab_consent_dialog_module_css_default().header} ${s}`:iab_consent_dialog_module_css_default().header;return(0,jsx_runtime_namespaceObject.jsx)("div",{ref:n,className:o,children:e||(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsxs)("div",{className:iab_consent_dialog_module_css_default().headerContent,children:[(0,jsx_runtime_namespaceObject.jsx)("h2",{className:iab_consent_dialog_module_css_default().title,children:_??c.preferenceCenter.title}),(0,jsx_runtime_namespaceObject.jsx)("p",{className:iab_consent_dialog_module_css_default().description,children:a??c.preferenceCenter.description})]}),r&&(0,jsx_runtime_namespaceObject.jsx)("button",{type:"button",onClick:()=>{t("none")},className:iab_consent_dialog_module_css_default().closeButton,"aria-label":"Close",children:(0,jsx_runtime_namespaceObject.jsxs)("svg",{style:{width:"1rem",height:"1rem"},viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,jsx_runtime_namespaceObject.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,jsx_runtime_namespaceObject.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})});for(var __rspack_i in IABConsentDialogHeader.displayName="IABConsentDialogHeader",exports.IABConsentDialogHeader=__webpack_exports__.IABConsentDialogHeader,__webpack_exports__)-1===["IABConsentDialogHeader"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface IABConsentDialogHeaderProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Custom title. If not provided, uses translation.
|
|
6
|
+
*/
|
|
7
|
+
headerTitle?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Custom description. If not provided, uses translation.
|
|
10
|
+
*/
|
|
11
|
+
description?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to show the close button.
|
|
14
|
+
* @default true
|
|
15
|
+
*/
|
|
16
|
+
showCloseButton?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Additional class name.
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Header component for the IAB Consent Dialog.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* Contains title, description, and close button.
|
|
27
|
+
*
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
declare const IABConsentDialogHeader: import("react").ForwardRefExoticComponent<IABConsentDialogHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
export { IABConsentDialogHeader };
|
|
32
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/components/iab-consent-dialog/atoms/header.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,UAAU,2BAA2B;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,sBAAsB,wHAyD3B,CAAC;AAIF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|