@c15t/react 2.0.0-rc.0 → 2.0.0-rc.10
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 +12 -3
- package/client/components/consent-banner.js +4 -0
- package/client/components/consent-dialog-link.js +3 -0
- package/client/components/consent-dialog-trigger.js +3 -0
- package/client/components/consent-dialog.js +4 -0
- package/client/components/consent-widget.js +4 -0
- package/client/components/frame.js +3 -0
- package/dist/components/consent-banner/atoms/overlay.cjs +1 -1
- package/dist/components/consent-banner/atoms/overlay.js +1 -1
- package/dist/components/consent-banner/atoms/root.cjs +1 -1
- package/dist/components/consent-banner/atoms/root.js +1 -1
- package/dist/components/consent-banner/components.cjs +1 -1
- package/dist/components/consent-banner/components.js +1 -1
- package/dist/components/consent-banner/consent-banner.cjs +1 -1
- package/dist/components/consent-banner/consent-banner.js +1 -1
- package/dist/components/consent-banner/error-boundary.cjs +1 -1
- package/dist/components/consent-banner/index.cjs +1 -1
- package/dist/components/consent-banner/index.js +1 -1
- package/dist/components/consent-banner/policy-actions.cjs +1 -0
- package/dist/components/consent-banner/policy-actions.js +1 -0
- package/dist/components/consent-dialog/atoms/card.cjs +1 -1
- package/dist/components/consent-dialog/atoms/card.js +1 -1
- package/dist/components/consent-dialog/atoms/overlay.cjs +1 -1
- package/dist/components/consent-dialog/atoms/overlay.js +1 -1
- package/dist/components/consent-dialog/atoms/root.cjs +1 -1
- package/dist/components/consent-dialog/atoms/root.js +1 -1
- package/dist/components/consent-dialog/consent-dialog.cjs +1 -1
- package/dist/components/consent-dialog/consent-dialog.js +1 -1
- package/dist/components/consent-dialog/index.cjs +1 -1
- package/dist/components/consent-dialog/index.js +1 -1
- package/dist/components/consent-dialog-link/index.cjs +1 -0
- package/dist/components/consent-dialog-link/index.js +1 -0
- package/dist/components/consent-dialog-trigger/atoms/button.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/button.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/root.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/root.js +1 -1
- package/dist/components/consent-dialog-trigger/atoms/text.cjs +1 -1
- package/dist/components/consent-dialog-trigger/atoms/text.js +1 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +1 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +1 -1
- package/dist/components/consent-dialog-trigger/index.cjs +1 -1
- package/dist/components/consent-dialog-trigger/index.js +1 -1
- package/dist/components/consent-dialog-trigger/types.cjs +1 -1
- package/dist/components/consent-dialog-trigger/use-draggable.cjs +1 -1
- package/dist/components/consent-dialog-trigger/use-draggable.js +1 -1
- package/dist/components/consent-preferences-link/consent-preferences-link.cjs +1 -0
- package/dist/components/consent-preferences-link/consent-preferences-link.js +1 -0
- package/dist/components/consent-preferences-link/index.cjs +1 -0
- package/dist/components/consent-preferences-link/index.js +1 -0
- package/dist/components/consent-widget/atoms/accordion.cjs +1 -1
- package/dist/components/consent-widget/atoms/accordion.js +1 -1
- package/dist/components/consent-widget/atoms/button.cjs +1 -1
- package/dist/components/consent-widget/atoms/button.js +1 -1
- package/dist/components/consent-widget/atoms/footer.cjs +1 -1
- package/dist/components/consent-widget/atoms/footer.js +1 -1
- package/dist/components/consent-widget/atoms/root.cjs +1 -1
- package/dist/components/consent-widget/atoms/root.js +1 -1
- package/dist/components/consent-widget/consent-widget.cjs +1 -1
- package/dist/components/consent-widget/consent-widget.js +1 -1
- package/dist/components/consent-widget/index.cjs +1 -1
- package/dist/components/consent-widget/index.js +1 -1
- package/dist/components/consent-widget/policy-actions.cjs +1 -0
- package/dist/components/consent-widget/policy-actions.js +1 -0
- package/dist/components/consent-widget/types.cjs +1 -1
- package/dist/components/frame/atoms.cjs +1 -1
- package/dist/components/frame/atoms.js +1 -1
- package/dist/components/frame/frame.cjs +1 -1
- package/dist/components/frame/frame.js +1 -1
- package/dist/components/frame/index.cjs +1 -1
- package/dist/components/frame/index.js +1 -1
- package/dist/components/frame/types.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/button-group.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/button-group.js +1 -1
- package/dist/components/iab-consent-banner/atoms/card.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/card.js +1 -1
- package/dist/components/iab-consent-banner/atoms/description.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/description.js +1 -1
- package/dist/components/iab-consent-banner/atoms/footer.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/footer.js +1 -1
- package/dist/components/iab-consent-banner/atoms/header.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/header.js +1 -1
- package/dist/components/iab-consent-banner/atoms/overlay.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/overlay.js +1 -1
- package/dist/components/iab-consent-banner/atoms/root.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/root.js +1 -1
- package/dist/components/iab-consent-banner/atoms/title.cjs +1 -1
- package/dist/components/iab-consent-banner/atoms/title.js +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.cjs +1 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.js +1 -1
- package/dist/components/iab-consent-banner/index.cjs +1 -1
- package/dist/components/iab-consent-banner/index.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/card.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/card.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/content.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/content.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/footer.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/footer.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/header.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/header.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/root.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/root.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.js +1 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +1 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.js +1 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -1
- package/dist/components/iab-consent-dialog/index.cjs +1 -1
- package/dist/components/iab-consent-dialog/index.js +1 -1
- package/dist/components/iab-consent-dialog/types.cjs +1 -1
- package/dist/components/iab-consent-dialog/use-iab-translations.cjs +1 -1
- package/dist/components/shared/libs/polymorphic.cjs +1 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +1 -1
- package/dist/components/shared/libs/slot.cjs +1 -0
- package/dist/components/shared/libs/slot.js +1 -0
- package/dist/components/shared/libs/use-controllable-state.cjs +1 -0
- package/dist/components/shared/libs/use-controllable-state.js +1 -0
- package/dist/components/shared/policy-actions.cjs +1 -0
- package/dist/components/shared/policy-actions.js +1 -0
- package/dist/components/shared/primitives/box.cjs +1 -1
- package/dist/components/shared/primitives/box.js +1 -1
- package/dist/components/shared/primitives/button.cjs +1 -1
- package/dist/components/shared/primitives/button.js +1 -1
- package/dist/components/shared/primitives/button.types.cjs +1 -1
- package/dist/components/shared/primitives/legal-links/index.cjs +1 -1
- package/dist/components/shared/primitives/legal-links/index.js +1 -1
- package/dist/components/shared/ui/accordion/accordion.cjs +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +1 -1
- package/dist/components/shared/ui/accordion/accordion.types.cjs +1 -1
- package/dist/components/shared/ui/accordion/index.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/index.cjs +1 -1
- package/dist/components/shared/ui/animated-collapse/index.js +1 -1
- package/dist/components/shared/ui/branding.cjs +1 -0
- package/dist/components/shared/ui/branding.js +1 -0
- package/dist/components/shared/ui/button/button.cjs +1 -1
- package/dist/components/shared/ui/button/button.js +1 -1
- package/dist/components/shared/ui/button/button.types.cjs +1 -1
- package/dist/components/shared/ui/button/index.cjs +1 -1
- package/dist/components/shared/ui/collapsible/collapsible.cjs +1 -0
- package/dist/components/shared/ui/collapsible/collapsible.js +1 -0
- package/dist/components/shared/ui/collapsible/index.cjs +1 -0
- package/dist/components/shared/ui/collapsible/index.js +1 -0
- package/dist/components/shared/ui/dialog/dialog.cjs +1 -0
- package/dist/components/shared/ui/dialog/dialog.js +1 -0
- package/dist/components/shared/ui/dialog/index.cjs +1 -0
- package/dist/components/shared/ui/dialog/index.js +1 -0
- package/dist/components/shared/ui/icon.cjs +1 -1
- package/dist/components/shared/ui/logo.cjs +1 -1
- package/dist/components/shared/ui/logo.js +1 -1
- package/dist/components/shared/ui/preference-item/index.cjs +1 -0
- package/dist/components/shared/ui/preference-item/index.js +1 -0
- package/dist/components/shared/ui/preference-item/preference-item.cjs +1 -0
- package/dist/components/shared/ui/preference-item/preference-item.js +1 -0
- package/dist/components/shared/ui/switch/index.cjs +1 -1
- package/dist/components/shared/ui/switch/index.js +1 -1
- package/dist/components/shared/ui/switch/switch.cjs +1 -1
- package/dist/components/shared/ui/switch/switch.js +1 -1
- package/dist/components/shared/ui/switch/switch.types.cjs +1 -1
- package/dist/components/shared/ui/tabs/index.cjs +1 -0
- package/dist/components/shared/ui/tabs/index.js +1 -0
- package/dist/components/shared/ui/tabs/tabs.cjs +1 -0
- package/dist/components/shared/ui/tabs/tabs.js +1 -0
- package/dist/context/consent-manager-context.cjs +1 -1
- package/dist/context/consent-tracking-context.cjs +1 -1
- package/dist/context/theme-context.cjs +1 -1
- package/dist/headless.cjs +1 -1
- package/dist/headless.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-color-scheme.cjs +1 -1
- package/dist/hooks/use-component-config.cjs +1 -1
- package/dist/hooks/use-consent-dialog-trigger.cjs +1 -0
- package/dist/hooks/use-consent-dialog-trigger.js +1 -0
- package/dist/hooks/use-consent-manager.cjs +1 -1
- package/dist/hooks/use-consent-manager.js +1 -1
- package/dist/hooks/use-focus-trap.cjs +1 -1
- package/dist/hooks/use-focus-trap.js +1 -1
- package/dist/hooks/use-headless-consent-ui.cjs +1 -0
- package/dist/hooks/use-headless-consent-ui.js +1 -0
- package/dist/hooks/use-headless-iab-consent-ui.cjs +1 -0
- package/dist/hooks/use-headless-iab-consent-ui.js +1 -0
- package/dist/hooks/use-reduced-motion.cjs +1 -1
- package/dist/hooks/use-reduced-motion.js +1 -1
- package/dist/hooks/use-scroll-lock.cjs +1 -1
- package/dist/hooks/use-scroll-lock.js +1 -1
- package/dist/hooks/use-ssr-status.cjs +1 -1
- package/dist/hooks/use-styles.cjs +1 -1
- package/dist/hooks/use-text-direction.cjs +1 -1
- package/dist/hooks/use-theme.cjs +1 -1
- package/dist/hooks/use-theme.js +1 -1
- package/dist/hooks/use-translations.cjs +1 -1
- package/dist/iab/styles.css +11 -0
- package/dist/iab/styles.tw3.css +14 -0
- package/dist/iab.cjs +1 -0
- package/dist/iab.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/primitives/accordion.cjs +1 -0
- package/dist/primitives/accordion.js +1 -0
- package/dist/primitives/button.cjs +1 -0
- package/dist/primitives/button.js +1 -0
- package/dist/primitives/collapsible.cjs +1 -0
- package/dist/primitives/collapsible.js +1 -0
- package/dist/primitives/dialog.cjs +1 -0
- package/dist/primitives/dialog.js +1 -0
- package/dist/primitives/preference-item.cjs +1 -0
- package/dist/primitives/preference-item.js +1 -0
- package/dist/primitives/switch.cjs +1 -0
- package/dist/primitives/switch.js +1 -0
- package/dist/primitives/tabs.cjs +1 -0
- package/dist/primitives/tabs.js +1 -0
- package/dist/primitives.cjs +1 -0
- package/dist/primitives.js +1 -0
- package/dist/providers/consent-manager-provider.cjs +1 -1
- package/dist/providers/consent-manager-provider.js +1 -1
- package/dist/server/fetch-ssr-data.cjs +1 -1
- package/dist/server/fetch-ssr-data.js +1 -1
- package/dist/server/headers.cjs +1 -1
- package/dist/server/headers.js +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/init-cache-key.cjs +1 -0
- package/dist/server/init-cache-key.js +1 -0
- package/dist/server/normalize-url.cjs +1 -1
- package/dist/server/types.cjs +1 -1
- package/dist/styles.css +10 -0
- package/dist/styles.tw3.css +13 -0
- package/dist/types/consent-manager.cjs +1 -1
- package/dist/types/theme/index.cjs +1 -1
- package/dist/types/theme/style-keys.cjs +1 -1
- package/dist/types/theme/style-types.cjs +1 -1
- package/dist/utils/cn.cjs +1 -1
- package/dist/utils/merge-styles.cjs +1 -1
- package/dist/utils/test-helpers.cjs +1 -1
- package/dist/utils/test-helpers.js +1 -1
- package/dist/utils/theme-utils.cjs +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.js +1 -1
- package/{dist → dist-types}/components/consent-banner/atoms/overlay.d.ts +1 -2
- package/{dist → dist-types}/components/consent-banner/atoms/root.d.ts +44 -14
- package/{dist → dist-types}/components/consent-banner/components.d.ts +4 -5
- package/{dist → dist-types}/components/consent-banner/consent-banner.d.ts +14 -8
- package/{dist → dist-types}/components/consent-banner/error-boundary.d.ts +0 -1
- package/{dist → dist-types}/components/consent-banner/index.d.ts +48 -26
- package/dist-types/components/consent-banner/policy-actions.d.ts +11 -0
- package/{dist → dist-types}/components/consent-dialog/atoms/card.d.ts +14 -8
- package/{dist → dist-types}/components/consent-dialog/atoms/overlay.d.ts +1 -2
- package/{dist → dist-types}/components/consent-dialog/atoms/root.d.ts +1 -2
- package/{dist → dist-types}/components/consent-dialog/consent-dialog.d.ts +2 -3
- package/{dist → dist-types}/components/consent-dialog/index.d.ts +31 -10
- package/dist-types/components/consent-dialog-link/index.d.ts +1 -0
- package/{dist → dist-types}/components/consent-dialog-trigger/atoms/button.d.ts +0 -1
- package/{dist → dist-types}/components/consent-dialog-trigger/atoms/icon.d.ts +1 -2
- package/{dist → dist-types}/components/consent-dialog-trigger/atoms/root.d.ts +0 -1
- package/{dist → dist-types}/components/consent-dialog-trigger/atoms/text.d.ts +0 -1
- package/{dist → dist-types}/components/consent-dialog-trigger/consent-dialog-trigger.d.ts +2 -3
- package/{dist → dist-types}/components/consent-dialog-trigger/index.d.ts +0 -1
- package/{dist → dist-types}/components/consent-dialog-trigger/types.d.ts +2 -3
- package/{dist → dist-types}/components/consent-dialog-trigger/use-draggable.d.ts +1 -2
- package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +15 -0
- package/dist-types/components/consent-preferences-link/index.d.ts +1 -0
- package/dist-types/components/consent-widget/atoms/accordion.d.ts +28 -0
- package/{dist → dist-types}/components/consent-widget/atoms/button.d.ts +1 -2
- package/{dist → dist-types}/components/consent-widget/atoms/footer.d.ts +0 -1
- package/{dist → dist-types}/components/consent-widget/atoms/root.d.ts +1 -7
- package/{dist → dist-types}/components/consent-widget/consent-widget.d.ts +0 -1
- package/{dist → dist-types}/components/consent-widget/index.d.ts +27 -8
- package/dist-types/components/consent-widget/policy-actions.d.ts +11 -0
- package/{dist → dist-types}/components/consent-widget/types.d.ts +2 -3
- package/{dist → dist-types}/components/frame/atoms.d.ts +1 -2
- package/{dist → dist-types}/components/frame/frame.d.ts +0 -1
- package/{dist → dist-types}/components/frame/index.d.ts +1 -2
- package/{dist → dist-types}/components/frame/types.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/button-group.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/card.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/description.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/footer.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/header.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/overlay.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/root.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/atoms/title.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/iab-consent-banner.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-banner/index.d.ts +1 -2
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/card.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/content.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/footer.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/header.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/overlay.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/purpose-item.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/root.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/stack-item.d.ts +0 -1
- package/dist-types/components/iab-consent-dialog/atoms/tabs.d.ts +12 -0
- package/{dist → dist-types}/components/iab-consent-dialog/atoms/vendor-list.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/iab-consent-dialog.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/index.d.ts +1 -2
- package/{dist → dist-types}/components/iab-consent-dialog/types.d.ts +0 -1
- package/{dist → dist-types}/components/iab-consent-dialog/use-iab-translations.d.ts +0 -1
- package/{dist → dist-types}/components/shared/libs/polymorphic.d.ts +0 -1
- package/{dist → dist-types}/components/shared/libs/recursive-clone-children.d.ts +0 -1
- package/dist-types/components/shared/libs/slot.d.ts +6 -0
- package/dist-types/components/shared/libs/use-controllable-state.d.ts +7 -0
- package/dist-types/components/shared/policy-actions.d.ts +29 -0
- package/{dist → dist-types}/components/shared/primitives/box.d.ts +0 -1
- package/{dist → dist-types}/components/shared/primitives/button.d.ts +4 -1
- package/{dist → dist-types}/components/shared/primitives/button.types.d.ts +17 -1
- package/{dist → dist-types}/components/shared/primitives/legal-links/index.d.ts +0 -45
- package/{dist → dist-types}/components/shared/ui/accordion/accordion.d.ts +32 -68
- package/{dist → dist-types}/components/shared/ui/accordion/accordion.types.d.ts +0 -1
- package/{dist → dist-types}/components/shared/ui/accordion/index.d.ts +0 -1
- package/{dist → dist-types}/components/shared/ui/animated-collapse/animated-collapse.d.ts +0 -1
- package/{dist → dist-types}/components/shared/ui/animated-collapse/index.d.ts +0 -1
- package/dist-types/components/shared/ui/branding.d.ts +27 -0
- package/{dist → dist-types}/components/shared/ui/button/button.d.ts +2 -3
- package/{dist → dist-types}/components/shared/ui/button/button.types.d.ts +0 -1
- package/{dist → dist-types}/components/shared/ui/button/index.d.ts +0 -1
- package/dist-types/components/shared/ui/collapsible/collapsible.d.ts +20 -0
- package/dist-types/components/shared/ui/collapsible/index.d.ts +1 -0
- package/dist-types/components/shared/ui/dialog/dialog.d.ts +29 -0
- package/dist-types/components/shared/ui/dialog/index.d.ts +1 -0
- package/{dist → dist-types}/components/shared/ui/icon.d.ts +0 -1
- package/{dist → dist-types}/components/shared/ui/logo.d.ts +8 -1
- package/dist-types/components/shared/ui/preference-item/index.d.ts +1 -0
- package/dist-types/components/shared/ui/preference-item/preference-item.d.ts +33 -0
- package/dist-types/components/shared/ui/switch/index.d.ts +2 -0
- package/dist-types/components/shared/ui/switch/switch.d.ts +20 -0
- package/{dist → dist-types}/components/shared/ui/switch/switch.types.d.ts +0 -1
- package/dist-types/components/shared/ui/tabs/index.d.ts +1 -0
- package/dist-types/components/shared/ui/tabs/tabs.d.ts +28 -0
- package/{dist → dist-types}/context/consent-manager-context.d.ts +0 -1
- package/{dist → dist-types}/context/consent-tracking-context.d.ts +0 -1
- package/{dist → dist-types}/context/theme-context.d.ts +0 -1
- package/dist-types/headless.d.ts +9 -0
- package/{dist → dist-types}/hooks/index.d.ts +3 -1
- package/{dist → dist-types}/hooks/use-color-scheme.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-component-config.d.ts +0 -1
- package/dist-types/hooks/use-consent-dialog-trigger.d.ts +10 -0
- package/{dist → dist-types}/hooks/use-consent-manager.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-focus-trap.d.ts +0 -1
- package/dist-types/hooks/use-headless-consent-ui.d.ts +46 -0
- package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +41 -0
- package/{dist → dist-types}/hooks/use-reduced-motion.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-scroll-lock.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-ssr-status.d.ts +2 -2
- package/{dist → dist-types}/hooks/use-styles.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-text-direction.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-theme.d.ts +0 -1
- package/{dist → dist-types}/hooks/use-translations.d.ts +0 -1
- package/dist-types/iab.d.ts +24 -0
- package/{dist → dist-types}/index.d.ts +5 -6
- package/dist-types/primitives/accordion.d.ts +1 -0
- package/dist-types/primitives/button.d.ts +1 -0
- package/dist-types/primitives/collapsible.d.ts +1 -0
- package/dist-types/primitives/dialog.d.ts +1 -0
- package/dist-types/primitives/preference-item.d.ts +1 -0
- package/dist-types/primitives/switch.d.ts +1 -0
- package/dist-types/primitives/tabs.d.ts +1 -0
- package/dist-types/primitives.d.ts +7 -0
- package/{dist → dist-types}/providers/consent-manager-provider.d.ts +0 -1
- package/{dist → dist-types}/server/fetch-ssr-data.d.ts +0 -1
- package/{dist → dist-types}/server/headers.d.ts +2 -2
- package/{dist → dist-types}/server/index.d.ts +1 -1
- package/dist-types/server/init-cache-key.d.ts +21 -0
- package/{dist → dist-types}/server/normalize-url.d.ts +0 -1
- package/{dist → dist-types}/server/types.d.ts +0 -1
- package/{dist → dist-types}/types/consent-manager.d.ts +7 -1
- package/{dist → dist-types}/types/theme/index.d.ts +0 -1
- package/{dist → dist-types}/types/theme/style-keys.d.ts +0 -1
- package/{dist → dist-types}/types/theme/style-types.d.ts +2 -1
- package/{dist → dist-types}/utils/cn.d.ts +0 -1
- package/{dist → dist-types}/utils/merge-styles.d.ts +0 -1
- package/{dist → dist-types}/utils/test-helpers.d.ts +0 -1
- package/{dist → dist-types}/utils/theme-utils.d.ts +1 -2
- package/dist-types/version.d.ts +1 -0
- package/docs/README.md +76 -0
- package/docs/building-headless-components.md +266 -0
- package/docs/callbacks.md +184 -0
- package/docs/components/consent-banner.md +298 -0
- package/docs/components/consent-dialog-link.md +59 -0
- package/docs/components/consent-dialog-trigger.md +103 -0
- package/docs/components/consent-dialog.md +177 -0
- package/docs/components/consent-manager-provider.md +425 -0
- package/docs/components/consent-widget.md +160 -0
- package/docs/components/dev-tools.md +63 -0
- package/docs/components/frame.md +73 -0
- package/docs/concepts/client-modes.md +175 -0
- package/docs/concepts/consent-categories.md +97 -0
- package/docs/concepts/consent-models.md +112 -0
- package/docs/concepts/cookie-management.md +122 -0
- package/docs/concepts/glossary.md +23 -0
- package/docs/concepts/initialization-flow.md +148 -0
- package/docs/concepts/policy-packs.md +227 -0
- package/docs/headless.md +190 -0
- package/docs/hooks/use-color-scheme.md +40 -0
- package/docs/hooks/use-consent-manager/checking-consent.md +94 -0
- package/docs/hooks/use-consent-manager/location-info.md +95 -0
- package/docs/hooks/use-consent-manager/overview.md +420 -0
- package/docs/hooks/use-consent-manager/setting-consent.md +92 -0
- package/docs/hooks/use-draggable.md +57 -0
- package/docs/hooks/use-focus-trap.md +41 -0
- package/docs/hooks/use-reduced-motion.md +35 -0
- package/docs/hooks/use-ssr-status.md +31 -0
- package/docs/hooks/use-text-direction.md +49 -0
- package/docs/hooks/use-translations.md +118 -0
- package/docs/iab/consent-banner.md +92 -0
- package/docs/iab/consent-dialog.md +132 -0
- package/docs/iab/overview.md +125 -0
- package/docs/iab/use-gvl-data.md +208 -0
- package/docs/iframe-blocking.md +107 -0
- package/docs/integrations/building-integrations.md +405 -0
- package/docs/integrations/databuddy.md +203 -0
- package/docs/integrations/google-tag-manager.md +153 -0
- package/docs/integrations/google-tag.md +122 -0
- package/docs/integrations/linkedin-insights.md +109 -0
- package/docs/integrations/meta-pixel.md +342 -0
- package/docs/integrations/microsoft-uet.md +112 -0
- package/docs/integrations/overview.md +105 -0
- package/docs/integrations/posthog.md +199 -0
- package/docs/integrations/tiktok-pixel.md +113 -0
- package/docs/integrations/x-pixel.md +143 -0
- package/docs/internationalization.md +197 -0
- package/docs/network-blocker.md +178 -0
- package/docs/optimization.md +113 -0
- package/docs/policy-packs.md +240 -0
- package/docs/quickstart.md +152 -0
- package/docs/script-loader.md +321 -0
- package/docs/server-side.md +153 -0
- package/docs/styling/classnames.md +92 -0
- package/docs/styling/color-scheme.md +82 -0
- package/docs/styling/css-variables.md +92 -0
- package/docs/styling/overview.md +459 -0
- package/docs/styling/slots.md +127 -0
- package/docs/styling/tailwind.md +113 -0
- package/docs/styling/tokens.md +216 -0
- package/docs/troubleshooting.md +137 -0
- package/iab/styles.css +1 -0
- package/package.json +87 -27
- package/readme.json +6 -0
- package/src/iab/styles.css +11 -0
- package/src/iab/styles.tw3.css +14 -0
- package/src/styles.css +10 -0
- package/src/styles.tw3.css +13 -0
- package/styles.css +1 -0
- package/dist/components/__tests__/active-ui-transitions.e2e.test.cjs +0 -1
- package/dist/components/__tests__/active-ui-transitions.e2e.test.js +0 -1
- package/dist/components/__tests__/consent-flow.e2e.test.cjs +0 -1
- package/dist/components/__tests__/consent-flow.e2e.test.js +0 -1
- package/dist/components/__tests__/models-prop.e2e.test.cjs +0 -1
- package/dist/components/__tests__/models-prop.e2e.test.js +0 -1
- package/dist/components/__tests__/ui-source-tracking.e2e.test.cjs +0 -1
- package/dist/components/__tests__/ui-source-tracking.e2e.test.js +0 -1
- package/dist/components/consent-banner/atoms/overlay.d.ts.map +0 -1
- package/dist/components/consent-banner/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-banner/components.d.ts.map +0 -1
- package/dist/components/consent-banner/consent-banner.d.ts.map +0 -1
- package/dist/components/consent-banner/error-boundary.d.ts.map +0 -1
- package/dist/components/consent-banner/index.d.ts.map +0 -1
- package/dist/components/consent-dialog/atoms/card.d.ts.map +0 -1
- package/dist/components/consent-dialog/atoms/overlay.d.ts.map +0 -1
- package/dist/components/consent-dialog/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-dialog/consent-dialog.d.ts.map +0 -1
- package/dist/components/consent-dialog/index.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/atoms/button.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/atoms/text.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/index.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/types.d.ts.map +0 -1
- package/dist/components/consent-dialog-trigger/use-draggable.d.ts.map +0 -1
- package/dist/components/consent-widget/atoms/accordion.d.ts +0 -46
- package/dist/components/consent-widget/atoms/accordion.d.ts.map +0 -1
- package/dist/components/consent-widget/atoms/button.d.ts.map +0 -1
- package/dist/components/consent-widget/atoms/footer.d.ts.map +0 -1
- package/dist/components/consent-widget/atoms/root.d.ts.map +0 -1
- package/dist/components/consent-widget/consent-widget.d.ts.map +0 -1
- package/dist/components/consent-widget/index.d.ts.map +0 -1
- package/dist/components/consent-widget/types.d.ts.map +0 -1
- package/dist/components/frame/atoms.d.ts.map +0 -1
- package/dist/components/frame/frame.d.ts.map +0 -1
- package/dist/components/frame/index.d.ts.map +0 -1
- package/dist/components/frame/types.d.ts.map +0 -1
- package/dist/components/iab/__tests__/e2e-setup.cjs +0 -1
- package/dist/components/iab/__tests__/e2e-setup.js +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.cjs +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts +0 -212
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts.map +0 -1
- package/dist/components/iab/__tests__/fixtures/mock-consent-state.js +0 -1
- package/dist/components/iab/__tests__/iab-banner.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-banner.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-events.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-events.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-gvl.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-preference-center.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-storage.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-storage.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-stub.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-stub.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.cjs +0 -1
- package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.js +0 -1
- package/dist/components/iab/__tests__/msw-handlers.cjs +0 -1
- package/dist/components/iab/__tests__/msw-handlers.js +0 -1
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.cjs +0 -1
- package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.js +0 -1
- package/dist/components/iab-consent-banner/atoms/button-group.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/card.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/description.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/footer.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/header.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/overlay.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/root.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/atoms/title.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.d.ts.map +0 -1
- package/dist/components/iab-consent-banner/index.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/preference-center.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.js +0 -1
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.cjs +0 -1
- package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/card.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/content.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/footer.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/header.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/root.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.d.ts +0 -40
- package/dist/components/iab-consent-dialog/atoms/tabs.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/index.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/types.d.ts.map +0 -1
- package/dist/components/iab-consent-dialog/use-iab-translations.d.ts.map +0 -1
- package/dist/components/shared/libs/polymorphic.d.ts.map +0 -1
- package/dist/components/shared/libs/recursive-clone-children.d.ts.map +0 -1
- package/dist/components/shared/primitives/box.d.ts.map +0 -1
- package/dist/components/shared/primitives/button.d.ts.map +0 -1
- package/dist/components/shared/primitives/button.types.d.ts.map +0 -1
- package/dist/components/shared/primitives/legal-links/index.d.ts.map +0 -1
- package/dist/components/shared/ui/__tests__/primitives.test.cjs +0 -1
- package/dist/components/shared/ui/__tests__/primitives.test.js +0 -1
- package/dist/components/shared/ui/accordion/accordion.d.ts.map +0 -1
- package/dist/components/shared/ui/accordion/accordion.types.d.ts.map +0 -1
- package/dist/components/shared/ui/accordion/index.d.ts.map +0 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.d.ts.map +0 -1
- package/dist/components/shared/ui/animated-collapse/index.d.ts.map +0 -1
- package/dist/components/shared/ui/button/button.d.ts.map +0 -1
- package/dist/components/shared/ui/button/button.types.d.ts.map +0 -1
- package/dist/components/shared/ui/button/index.d.ts.map +0 -1
- package/dist/components/shared/ui/icon.d.ts.map +0 -1
- package/dist/components/shared/ui/logo.d.ts.map +0 -1
- package/dist/components/shared/ui/switch/index.d.ts +0 -3
- package/dist/components/shared/ui/switch/index.d.ts.map +0 -1
- package/dist/components/shared/ui/switch/switch.d.ts +0 -45
- package/dist/components/shared/ui/switch/switch.d.ts.map +0 -1
- package/dist/components/shared/ui/switch/switch.types.d.ts.map +0 -1
- package/dist/context/consent-manager-context.d.ts.map +0 -1
- package/dist/context/consent-tracking-context.d.ts.map +0 -1
- package/dist/context/theme-context.d.ts.map +0 -1
- package/dist/headless.d.ts +0 -8
- package/dist/headless.d.ts.map +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.js +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.cjs +0 -1
- package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.js +0 -1
- package/dist/hooks/__tests__/use-color-scheme.test.cjs +0 -1
- package/dist/hooks/__tests__/use-color-scheme.test.js +0 -1
- package/dist/hooks/__tests__/use-consent-manager.test.cjs +0 -1
- package/dist/hooks/__tests__/use-consent-manager.test.js +0 -1
- package/dist/hooks/__tests__/use-focus-trap.test.cjs +0 -1
- package/dist/hooks/__tests__/use-focus-trap.test.js +0 -1
- package/dist/hooks/__tests__/use-scroll-lock.test.cjs +0 -1
- package/dist/hooks/__tests__/use-scroll-lock.test.js +0 -1
- package/dist/hooks/__tests__/use-styles.test.cjs +0 -1
- package/dist/hooks/__tests__/use-styles.test.js +0 -1
- package/dist/hooks/__tests__/use-theme.test.cjs +0 -1
- package/dist/hooks/__tests__/use-theme.test.js +0 -1
- package/dist/hooks/__tests__/use-translations.test.cjs +0 -1
- package/dist/hooks/__tests__/use-translations.test.js +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/use-color-scheme.d.ts.map +0 -1
- package/dist/hooks/use-component-config.d.ts.map +0 -1
- package/dist/hooks/use-consent-manager.d.ts.map +0 -1
- package/dist/hooks/use-focus-trap.d.ts.map +0 -1
- package/dist/hooks/use-reduced-motion.d.ts.map +0 -1
- package/dist/hooks/use-scroll-lock.d.ts.map +0 -1
- package/dist/hooks/use-ssr-status.d.ts.map +0 -1
- package/dist/hooks/use-styles.d.ts.map +0 -1
- package/dist/hooks/use-text-direction.d.ts.map +0 -1
- package/dist/hooks/use-theme.d.ts.map +0 -1
- package/dist/hooks/use-translations.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mockServiceWorker.js +0 -349
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.js +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.cjs +0 -1
- package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.js +0 -1
- package/dist/providers/__tests__/provider-basic.test.cjs +0 -1
- package/dist/providers/__tests__/provider-basic.test.js +0 -1
- package/dist/providers/__tests__/provider-context.test.cjs +0 -1
- package/dist/providers/__tests__/provider-context.test.js +0 -1
- package/dist/providers/__tests__/provider-errors.test.cjs +0 -1
- package/dist/providers/__tests__/provider-errors.test.js +0 -1
- package/dist/providers/__tests__/provider-hydration.test.cjs +0 -1
- package/dist/providers/__tests__/provider-hydration.test.js +0 -1
- package/dist/providers/__tests__/test-helpers.cjs +0 -1
- package/dist/providers/__tests__/test-helpers.js +0 -1
- package/dist/providers/consent-manager-provider.d.ts.map +0 -1
- package/dist/server/fetch-ssr-data.d.ts.map +0 -1
- package/dist/server/headers.d.ts.map +0 -1
- package/dist/server/headers.test.cjs +0 -1
- package/dist/server/headers.test.d.ts +0 -2
- package/dist/server/headers.test.d.ts.map +0 -1
- package/dist/server/headers.test.js +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/normalize-url.d.ts.map +0 -1
- package/dist/server/normalize-url.test.cjs +0 -1
- package/dist/server/normalize-url.test.d.ts +0 -2
- package/dist/server/normalize-url.test.d.ts.map +0 -1
- package/dist/server/normalize-url.test.js +0 -1
- package/dist/server/types.d.ts.map +0 -1
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png +0 -0
- package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png +0 -0
- package/dist/static/image/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.png +0 -0
- package/dist/static/image/useColorScheme-handles-default-theme-based-on-document-class-1.png +0 -0
- package/dist/static/image/useColorScheme-responds-to-system-preference-1.png +0 -0
- package/dist/static/image/useColorScheme-sets-dark-theme-correctly-1.png +0 -0
- package/dist/static/image/useColorScheme-updates-theme-when-default-theme-changes-1.png +0 -0
- package/dist/static/image/useColorScheme-updates-theme-when-system-preference-changes-1.png +0 -0
- package/dist/static/image/useConsentManager-provides-manager-object-when-configured-1.png +0 -0
- package/dist/static/image/useStyles-handles-string-className-correctly-1.png +0 -0
- package/dist/static/image/useStyles-merges-theme-and-component-styles-correctly-1.png +0 -0
- package/dist/static/image/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.png +0 -0
- package/dist/static/image/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.png +0 -0
- package/dist/static/image/useTheme-local-theme-takes-precedence-over-global-theme-1.png +0 -0
- package/dist/static/image/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.png +0 -0
- package/dist/static/image/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.png +0 -0
- package/dist/static/image/useTranslations-merges-custom-translations-with-defaults-1.png +0 -0
- package/dist/static/image/useTranslations-returns-English-translations-by-default-1.png +0 -0
- package/dist/test-setup.browser.cjs +0 -1
- package/dist/test-setup.browser.d.ts +0 -8
- package/dist/test-setup.browser.d.ts.map +0 -1
- package/dist/test-setup.browser.js +0 -1
- package/dist/types/consent-manager.d.ts.map +0 -1
- package/dist/types/theme/index.d.ts.map +0 -1
- package/dist/types/theme/style-keys.d.ts.map +0 -1
- package/dist/types/theme/style-types.d.ts.map +0 -1
- package/dist/utils/cn.d.ts.map +0 -1
- package/dist/utils/merge-styles.d.ts.map +0 -1
- package/dist/utils/test-helpers.d.ts.map +0 -1
- package/dist/utils/theme-utils.d.ts.map +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.d.ts.map +0 -1
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock Consent State for IAB React Component Tests
|
|
3
|
-
*
|
|
4
|
-
* Provides mock IAB state objects for testing React components.
|
|
5
|
-
*
|
|
6
|
-
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
import type { GlobalVendorList } from 'c15t';
|
|
9
|
-
/**
|
|
10
|
-
* Mock GVL for React component testing
|
|
11
|
-
*/
|
|
12
|
-
export declare const mockGVL: GlobalVendorList;
|
|
13
|
-
/**
|
|
14
|
-
* Mock IAB state for testing components
|
|
15
|
-
*/
|
|
16
|
-
export declare function createMockIABState(overrides?: Partial<{
|
|
17
|
-
gvl: GlobalVendorList | null;
|
|
18
|
-
isLoadingGVL: boolean;
|
|
19
|
-
purposeConsents: Record<number, boolean>;
|
|
20
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
21
|
-
vendorConsents: Record<string, boolean>;
|
|
22
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
23
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
24
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
25
|
-
tcString: string | null;
|
|
26
|
-
preferenceCenterTab: 'purposes' | 'vendors';
|
|
27
|
-
}>): {
|
|
28
|
-
gvl: GlobalVendorList | null;
|
|
29
|
-
isLoadingGVL: boolean;
|
|
30
|
-
purposeConsents: Record<number, boolean>;
|
|
31
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
32
|
-
vendorConsents: Record<string, boolean>;
|
|
33
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
34
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
35
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
36
|
-
tcString: string | null;
|
|
37
|
-
preferenceCenterTab: "purposes" | "vendors";
|
|
38
|
-
config: {
|
|
39
|
-
enabled: boolean;
|
|
40
|
-
cmpId: number;
|
|
41
|
-
cmpVersion: number;
|
|
42
|
-
};
|
|
43
|
-
nonIABVendors: never[];
|
|
44
|
-
cmpApi: null;
|
|
45
|
-
setPurposeConsent: () => void;
|
|
46
|
-
setPurposeLegitimateInterest: () => void;
|
|
47
|
-
setVendorConsent: () => void;
|
|
48
|
-
setVendorLegitimateInterest: () => void;
|
|
49
|
-
setSpecialFeatureOptIn: () => void;
|
|
50
|
-
setPreferenceCenterTab: () => void;
|
|
51
|
-
acceptAll: () => void;
|
|
52
|
-
rejectAll: () => void;
|
|
53
|
-
save: () => void;
|
|
54
|
-
_updateState: () => void;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* Mock IAB state with all consents accepted
|
|
58
|
-
*/
|
|
59
|
-
export declare function createMockIABStateAllAccepted(): {
|
|
60
|
-
gvl: GlobalVendorList | null;
|
|
61
|
-
isLoadingGVL: boolean;
|
|
62
|
-
purposeConsents: Record<number, boolean>;
|
|
63
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
64
|
-
vendorConsents: Record<string, boolean>;
|
|
65
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
66
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
67
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
68
|
-
tcString: string | null;
|
|
69
|
-
preferenceCenterTab: "purposes" | "vendors";
|
|
70
|
-
config: {
|
|
71
|
-
enabled: boolean;
|
|
72
|
-
cmpId: number;
|
|
73
|
-
cmpVersion: number;
|
|
74
|
-
};
|
|
75
|
-
nonIABVendors: never[];
|
|
76
|
-
cmpApi: null;
|
|
77
|
-
setPurposeConsent: () => void;
|
|
78
|
-
setPurposeLegitimateInterest: () => void;
|
|
79
|
-
setVendorConsent: () => void;
|
|
80
|
-
setVendorLegitimateInterest: () => void;
|
|
81
|
-
setSpecialFeatureOptIn: () => void;
|
|
82
|
-
setPreferenceCenterTab: () => void;
|
|
83
|
-
acceptAll: () => void;
|
|
84
|
-
rejectAll: () => void;
|
|
85
|
-
save: () => void;
|
|
86
|
-
_updateState: () => void;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Mock IAB state with loading GVL
|
|
90
|
-
*/
|
|
91
|
-
export declare function createMockIABStateLoading(): {
|
|
92
|
-
gvl: GlobalVendorList | null;
|
|
93
|
-
isLoadingGVL: boolean;
|
|
94
|
-
purposeConsents: Record<number, boolean>;
|
|
95
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
96
|
-
vendorConsents: Record<string, boolean>;
|
|
97
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
98
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
99
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
100
|
-
tcString: string | null;
|
|
101
|
-
preferenceCenterTab: "purposes" | "vendors";
|
|
102
|
-
config: {
|
|
103
|
-
enabled: boolean;
|
|
104
|
-
cmpId: number;
|
|
105
|
-
cmpVersion: number;
|
|
106
|
-
};
|
|
107
|
-
nonIABVendors: never[];
|
|
108
|
-
cmpApi: null;
|
|
109
|
-
setPurposeConsent: () => void;
|
|
110
|
-
setPurposeLegitimateInterest: () => void;
|
|
111
|
-
setVendorConsent: () => void;
|
|
112
|
-
setVendorLegitimateInterest: () => void;
|
|
113
|
-
setSpecialFeatureOptIn: () => void;
|
|
114
|
-
setPreferenceCenterTab: () => void;
|
|
115
|
-
acceptAll: () => void;
|
|
116
|
-
rejectAll: () => void;
|
|
117
|
-
save: () => void;
|
|
118
|
-
_updateState: () => void;
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Mock IAB state with LI objections
|
|
122
|
-
*/
|
|
123
|
-
export declare function createMockIABStateWithLIObjections(): {
|
|
124
|
-
gvl: GlobalVendorList | null;
|
|
125
|
-
isLoadingGVL: boolean;
|
|
126
|
-
purposeConsents: Record<number, boolean>;
|
|
127
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
128
|
-
vendorConsents: Record<string, boolean>;
|
|
129
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
130
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
131
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
132
|
-
tcString: string | null;
|
|
133
|
-
preferenceCenterTab: "purposes" | "vendors";
|
|
134
|
-
config: {
|
|
135
|
-
enabled: boolean;
|
|
136
|
-
cmpId: number;
|
|
137
|
-
cmpVersion: number;
|
|
138
|
-
};
|
|
139
|
-
nonIABVendors: never[];
|
|
140
|
-
cmpApi: null;
|
|
141
|
-
setPurposeConsent: () => void;
|
|
142
|
-
setPurposeLegitimateInterest: () => void;
|
|
143
|
-
setVendorConsent: () => void;
|
|
144
|
-
setVendorLegitimateInterest: () => void;
|
|
145
|
-
setSpecialFeatureOptIn: () => void;
|
|
146
|
-
setPreferenceCenterTab: () => void;
|
|
147
|
-
acceptAll: () => void;
|
|
148
|
-
rejectAll: () => void;
|
|
149
|
-
save: () => void;
|
|
150
|
-
_updateState: () => void;
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* Custom vendor for testing non-IAB vendors
|
|
154
|
-
*/
|
|
155
|
-
export declare const mockCustomVendor: {
|
|
156
|
-
id: string;
|
|
157
|
-
name: string;
|
|
158
|
-
privacyPolicyUrl: string;
|
|
159
|
-
description: string;
|
|
160
|
-
purposes: number[];
|
|
161
|
-
legIntPurposes: number[];
|
|
162
|
-
features: number[];
|
|
163
|
-
dataCategories: number[];
|
|
164
|
-
usesCookies: boolean;
|
|
165
|
-
cookieMaxAgeSeconds: number;
|
|
166
|
-
dataRetentionDays: number;
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* Mock IAB state with custom vendors
|
|
170
|
-
*/
|
|
171
|
-
export declare function createMockIABStateWithCustomVendors(): {
|
|
172
|
-
nonIABVendors: {
|
|
173
|
-
id: string;
|
|
174
|
-
name: string;
|
|
175
|
-
privacyPolicyUrl: string;
|
|
176
|
-
description: string;
|
|
177
|
-
purposes: number[];
|
|
178
|
-
legIntPurposes: number[];
|
|
179
|
-
features: number[];
|
|
180
|
-
dataCategories: number[];
|
|
181
|
-
usesCookies: boolean;
|
|
182
|
-
cookieMaxAgeSeconds: number;
|
|
183
|
-
dataRetentionDays: number;
|
|
184
|
-
}[];
|
|
185
|
-
gvl: GlobalVendorList | null;
|
|
186
|
-
isLoadingGVL: boolean;
|
|
187
|
-
purposeConsents: Record<number, boolean>;
|
|
188
|
-
purposeLegitimateInterests: Record<number, boolean>;
|
|
189
|
-
vendorConsents: Record<string, boolean>;
|
|
190
|
-
vendorLegitimateInterests: Record<string, boolean>;
|
|
191
|
-
specialFeatureOptIns: Record<number, boolean>;
|
|
192
|
-
vendorsDisclosed: Record<number, boolean>;
|
|
193
|
-
tcString: string | null;
|
|
194
|
-
preferenceCenterTab: "purposes" | "vendors";
|
|
195
|
-
config: {
|
|
196
|
-
enabled: boolean;
|
|
197
|
-
cmpId: number;
|
|
198
|
-
cmpVersion: number;
|
|
199
|
-
};
|
|
200
|
-
cmpApi: null;
|
|
201
|
-
setPurposeConsent: () => void;
|
|
202
|
-
setPurposeLegitimateInterest: () => void;
|
|
203
|
-
setVendorConsent: () => void;
|
|
204
|
-
setVendorLegitimateInterest: () => void;
|
|
205
|
-
setSpecialFeatureOptIn: () => void;
|
|
206
|
-
setPreferenceCenterTab: () => void;
|
|
207
|
-
acceptAll: () => void;
|
|
208
|
-
rejectAll: () => void;
|
|
209
|
-
save: () => void;
|
|
210
|
-
_updateState: () => void;
|
|
211
|
-
};
|
|
212
|
-
//# sourceMappingURL=mock-consent-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-consent-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/iab/__tests__/fixtures/mock-consent-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,gBAiOrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C,CAAC;SAVI,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EA4D5C;AAED;;GAEG;AACH,wBAAgB,6BAA6B;SA1EtC,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EAuG5C;AAED;;GAEG;AACH,wBAAgB,yBAAyB;SArHlC,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EAiH5C;AAED;;GAEG;AACH,wBAAgB,kCAAkC;SA/H3C,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EA2I5C;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mCAAmC;;;;;;;;;;;;;;SA1K5C,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;EAsK5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e={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 or similar online identifiers...",illustrations:["Most purposes explained in this notice..."]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented to you based on limited data...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity on this service...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"Advertising can be presented to you based on a profile...",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"Information about your activity on this service...",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"Content can be presented to you based on a profile...",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"The performance and effectiveness of ads...",illustrations:[]},8:{id:8,name:"Measure content performance",description:"The performance and effectiveness of content...",illustrations:[]},9:{id:9,name:"Understand audiences through statistics or combinations of data",description:"Reports can be generated based on the combination of data sets...",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"Your data can be used to improve existing systems...",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"Content can be presented to you based on limited data...",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud, and fix errors",description:"Your data can be used to monitor for and prevent unusual...",illustrations:[]},2:{id:2,name:"Deliver and present advertising and content",description:"Certain information is used to ensure technical compatibility...",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other data sources",description:"Information about your activity on this service...",illustrations:[]},2:{id:2,name:"Link different devices",description:"In support of the purposes explained in this notice...",illustrations:[]},3:{id:3,name:"Identify devices based on information transmitted automatically",description:"Your device might be distinguished from other devices...",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:"With your acceptance, certain characteristics specific to your device...",illustrations:[]}},vendors:{1:{id:1,name:"Exponential Interactive, Inc d/b/a VDX.tv",purposes:[1,2,3,4,7,9,10],legIntPurposes:[],flexiblePurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1],cookieMaxAgeSeconds:7776e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vdx.tv/privacy/"}]},2:{id:2,name:"Captify Technologies Limited",purposes:[1,2,3,4,5,6,7,8,9,10],legIntPurposes:[],flexiblePurposes:[2,7,8,9],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://www.captifytechnologies.com/privacy-notice/"}]},10:{id:10,name:"Index Exchange, Inc.",purposes:[1],legIntPurposes:[2,7,9,10],flexiblePurposes:[],specialPurposes:[1,2],features:[2,3],specialFeatures:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://www.indexexchange.com/privacy/"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],flexiblePurposes:[2,7,9,10,11],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising based on limited data and advertising measurement",description:"Advertising can be presented based on limited data.",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Personalised advertising profile and target audience measurement",description:"Advertising can be personalised based on a profile.",purposes:[3,4,9],specialFeatures:[]},3:{id:3,name:"Content personalisation",description:"Content can be personalised based on a profile.",purposes:[5,6,11],specialFeatures:[]},4:{id:4,name:"Content measurement and product development",description:"Content performance can be measured.",purposes:[8,10],specialFeatures:[]}}};function s(s){return{config:{enabled:!0,cmpId:160,cmpVersion:1},gvl:e,isLoadingGVL:!1,nonIABVendors:[],tcString:null,purposeConsents:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1,7:!1,8:!1,9:!1,10:!1,11:!1},purposeLegitimateInterests:{2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0},vendorConsents:{},vendorLegitimateInterests:{},specialFeatureOptIns:{1:!1,2:!1},vendorsDisclosed:{},cmpApi:null,preferenceCenterTab:"purposes",setPurposeConsent:()=>{},setPurposeLegitimateInterest:()=>{},setVendorConsent:()=>{},setVendorLegitimateInterest:()=>{},setSpecialFeatureOptIn:()=>{},setPreferenceCenterTab:()=>{},acceptAll:()=>{},rejectAll:()=>{},save:()=>{},_updateState:()=>{},...s}}function t(){return s({purposeConsents:{1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0},vendorConsents:{1:!0,2:!0,10:!0,755:!0},vendorLegitimateInterests:{1:!0,2:!0,10:!0,755:!0},specialFeatureOptIns:{1:!0,2:!0},vendorsDisclosed:{1:!0,2:!0,10:!0,755:!0}})}function i(){return s({gvl:null,isLoadingGVL:!0})}function n(){return s({purposeLegitimateInterests:{2:!0,3:!0,4:!0,5:!0,6:!0,7:!1,8:!0,9:!1,10:!0,11:!0},vendorLegitimateInterests:{1:!0,2:!0,10:!1,755:!0}})}let o={id:"custom-analytics",name:"Custom Analytics Provider",privacyPolicyUrl:"https://analytics.example.com/privacy",description:"Custom analytics vendor for testing",purposes:[1,7,8,10],legIntPurposes:[9],features:[1],dataCategories:[1,2,6,8],usesCookies:!0,cookieMaxAgeSeconds:31536e3,dataRetentionDays:365};function a(){return{...s(),nonIABVendors:[o]}}export{s as createMockIABState,t as createMockIABStateAllAccepted,i as createMockIABStateLoading,a as createMockIABStateWithCustomVendors,n as createMockIABStateWithLIObjections,o as mockCustomVendor,e as mockGVL};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Banner E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Banner Display Requirements (IAB Appendix B)",()=>{(0,external_vitest_namespaceObject.test)("should show IAB banner with correct initial display",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-card"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-footer"]')).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("should display partner/vendor count from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e).toMatch(/\d+/)}),(0,external_vitest_namespaceObject.test)("should display purpose summary with stack grouping",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("should display legitimate interest notice",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e.toLowerCase()).toContain("legitimate")})}),(0,external_vitest_namespaceObject.describe)("Banner CTA Requirements",()=>{(0,external_vitest_namespaceObject.test)("should have Accept, Reject, and Customize buttons",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-accept-button"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-reject-button"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-customize-button"]')).toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Banner Actions",()=>{(0,external_vitest_namespaceObject.test)("should accept all via banner and close",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeTruthy()},{timeout:1e3})}),(0,external_vitest_namespaceObject.test)("should reject all via banner and close",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should open preference center from banner",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]')})}),(0,external_vitest_namespaceObject.describe)("Banner Accessibility",()=>{(0,external_vitest_namespaceObject.test)("should have ARIA labels",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');(0,external_vitest_namespaceObject.expect)(e.getAttribute("role")).toBe("dialog"),(0,external_vitest_namespaceObject.expect)(e.getAttribute("aria-label")).toBeTruthy()}),(0,external_vitest_namespaceObject.test)("should be keyboard accessible",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]'),t=document.querySelector('[data-testid="iab-consent-banner-customize-button"]'),a=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');e.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(e),t.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(t),a.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(a)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as n}from"@vitest/browser/context";import{beforeEach as a,describe as o,expect as i,test as c,vi as r}from"vitest";import{render as s}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as b}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as u,clearConsentRuntimeCache as l}from"../../../providers/consent-manager-provider.js";import{clearConsentState as m,defaultIABOptions as h,getStoredConsent as p,waitForElement as y,waitForElementRemoved as w}from"./e2e-setup.js";o("IAB Banner E2E Tests",()=>{a(()=>{m(),r.clearAllMocks(),l()}),o("Banner Display Requirements (IAB Appendix B)",()=>{c("should show IAB banner with correct initial display",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-card"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-footer"]')).toBeInTheDocument()}),c("should display partner/vendor count from GVL",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toMatch(/\d+/)}),c("should display purpose summary with stack grouping",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument()}),c("should display legitimate interest notice",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i((document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toLowerCase()).toContain("legitimate")})}),o("Banner CTA Requirements",()=>{c("should have Accept, Reject, and Customize buttons",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-accept-button"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-reject-button"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-customize-button"]')).toBeInTheDocument()})}),o("Banner Actions",()=>{c("should accept all via banner and close",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-accept-button"]');await n.click(a),await w('[data-testid="iab-consent-banner-card"]'),await r.waitFor(()=>{i(p()).toBeTruthy()},{timeout:1e3})}),c("should reject all via banner and close",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-reject-button"]');await n.click(a),await w('[data-testid="iab-consent-banner-card"]');let o=p();i(o?.consents?.necessary).toBe(!0)}),c("should open preference center from banner",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-customize-button"]');await n.click(a),await y('[data-testid="iab-consent-dialog-root"]')})}),o("Banner Accessibility",()=>{c("should have ARIA labels",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let n=await y('[data-testid="iab-consent-banner-card"]');i(n.getAttribute("role")).toBe("dialog"),i(n.getAttribute("aria-label")).toBeTruthy()}),c("should be keyboard accessible",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let n=await y('[data-testid="iab-consent-banner-reject-button"]'),a=document.querySelector('[data-testid="iab-consent-banner-customize-button"]'),o=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n.focus(),i(document.activeElement).toBe(n),a.focus(),i(document.activeElement).toBe(a),o.focus(),i(document.activeElement).toBe(o)})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Consent Flow E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Accept All Flow",()=>{(0,external_vitest_namespaceObject.test)("complete flow: display → accept → signal → storage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeTruthy()},{timeout:1e3})}),(0,external_vitest_namespaceObject.test)("should set all purposes to consented",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(t.purpose.consents[1]).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Reject All Flow",()=>{(0,external_vitest_namespaceObject.test)("complete flow: display → reject → signal → storage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Granular Consent Flow",()=>{(0,external_vitest_namespaceObject.test)("should open preference center for granular selection",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]')}),(0,external_vitest_namespaceObject.test)("should save granular preferences",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.includes("Store"))throw Error("Content not loaded")},{timeout:3e3});let t=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("save")||e.textContent?.toLowerCase().includes("confirm"));if(t){await context_namespaceObject.userEvent.click(t),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-dialog-root"]');let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}})}),(0,external_vitest_namespaceObject.describe)("Persistence & Restoration Flow",()=>{(0,external_vitest_namespaceObject.test)("consent should be stored in localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t?.consents).toBeDefined()}),(0,external_vitest_namespaceObject.test)("TC String should be stored",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t).toBe("string"),(0,external_vitest_namespaceObject.expect)(t?.length).toBeGreaterThan(10)})}),(0,external_vitest_namespaceObject.describe)("First Visit vs Return Visit",()=>{(0,external_vitest_namespaceObject.test)("first visit - banner should display",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]')})}),(0,external_vitest_namespaceObject.describe)("Event Notifications",()=>{(0,external_vitest_namespaceObject.test)("should fire useractioncomplete on Accept All",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=0,t=[],a=window.__tcfapi;a&&a("addEventListener",2,a=>{e++,t.push(a.eventStatus)});let n=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n&&await context_namespaceObject.userEvent.click(n),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!t.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(t).toContain("useractioncomplete")})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as a}from"@vitest/browser/context";import{beforeEach as n,describe as i,expect as o,test as s,vi as r}from"vitest";import{render as c}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as l}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as b}from"../../../providers/consent-manager-provider.js";import{clearConsentState as p,defaultIABOptions as u,getCMPTCData as m,getStoredConsent as f,getStoredTCString as h,waitForCMP as y,waitForElement as g,waitForElementRemoved as v}from"./e2e-setup.js";i("IAB Consent Flow E2E Tests",()=>{n(()=>{p(),r.clearAllMocks(),b()}),i("Accept All Flow",()=>{s("complete flow: display → accept → signal → storage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]'),await r.waitFor(()=>{o(f()).toBeTruthy()},{timeout:1e3})}),s("should set all purposes to consented",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]'),o((await m()).purpose.consents[1]).toBe(!0)})}),i("Reject All Flow",()=>{s("complete flow: display → reject → signal → storage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-reject-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=f();o(i).toBeDefined(),o(i?.consents?.necessary).toBe(!0)})}),i("Granular Consent Flow",()=>{s("should open preference center for granular selection",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-customize-button"]');await y(),await a.click(n),await g('[data-testid="iab-consent-dialog-root"]')}),s("should save granular preferences",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-customize-button"]');await y(),await a.click(n),await g('[data-testid="iab-consent-dialog-root"]'),await r.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.includes("Store"))throw Error("Content not loaded")},{timeout:3e3});let i=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("save")||t.textContent?.toLowerCase().includes("confirm"));i&&(await a.click(i),await v('[data-testid="iab-consent-dialog-root"]'),o(f()).toBeDefined())})}),i("Persistence & Restoration Flow",()=>{s("consent should be stored in localStorage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=f();o(i).toBeDefined(),o(i?.consents).toBeDefined()}),s("TC String should be stored",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=h();o(i).toBeDefined(),o(typeof i).toBe("string"),o(i?.length).toBeGreaterThan(10)})}),i("First Visit vs Return Visit",()=>{s("first visit - banner should display",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]})),await g('[data-testid="iab-consent-banner-card"]')})}),i("Event Notifications",()=>{s("should fire useractioncomplete on Accept All",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]})),await g('[data-testid="iab-consent-banner-card"]'),await y();let n=0,i=[],s=window.__tcfapi;s&&s("addEventListener",2,t=>{n++,i.push(t.eventStatus)});let b=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');b&&await a.click(b),await r.waitFor(()=>{if(!i.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),o(i).toContain("useractioncomplete")})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Events E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Event Status Values",()=>{(0,external_vitest_namespaceObject.test)('should emit "tcloaded" when CMP is ready',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBe("tcloaded")}),(0,external_vitest_namespaceObject.test)('should emit "cmpuishown" when UI is displayed',async()=>{let e=[];(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=window.__tcfapi;t&&t("addEventListener",2,t=>{e.push(t.eventStatus)}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===e.length)throw Error("No events received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(e).toContain("tcloaded")}),(0,external_vitest_namespaceObject.test)('should emit "useractioncomplete" after user action',async()=>{let e=[];(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=window.__tcfapi;t&&t("addEventListener",2,t=>{e.push(t.eventStatus)});let a=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');a&&await context_namespaceObject.userEvent.click(a),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(e).toContain("useractioncomplete")})}),(0,external_vitest_namespaceObject.describe)("Event Listener Lifecycle",()=>{(0,external_vitest_namespaceObject.test)("should invoke listener immediately on registration",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=!1,t=window.__tcfapi;t&&t("addEventListener",2,()=>{e=!0}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e)throw Error("Not called")},{timeout:100}),(0,external_vitest_namespaceObject.expect)(e).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should assign unique listenerIds",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),a=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(a.listenerId).toBeDefined();let n=new Set([e.listenerId,t.listenerId,a.listenerId]);(0,external_vitest_namespaceObject.expect)(n.size).toBe(3)}),(0,external_vitest_namespaceObject.test)("should stop notifying after removeEventListener",async()=>{let e;(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=0,a=window.__tcfapi;if(a&&a("addEventListener",2,a=>{t++,e=a.listenerId}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===t)throw Error("Not called")},{timeout:100}),(0,external_vitest_namespaceObject.expect)(t).toBe(1),void 0!==e){let t=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(e);(0,external_vitest_namespaceObject.expect)(t).toBe(!0)}let n=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n&&await context_namespaceObject.userEvent.click(n),await new Promise(e=>setTimeout(e,100)),(0,external_vitest_namespaceObject.expect)(t).toBe(1)}),(0,external_vitest_namespaceObject.test)("multiple listeners should all receive updates",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=[],t=[],a=[],n=window.__tcfapi;n&&(n("addEventListener",2,t=>{e.push(t.eventStatus)}),n("addEventListener",2,e=>{t.push(e.eventStatus)}),n("addEventListener",2,e=>{a.push(e.eventStatus)})),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===e.length||0===t.length||0===a.length)throw Error("Not all listeners received events")},{timeout:500}),(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0),(0,external_vitest_namespaceObject.expect)(t.length).toBeGreaterThan(0),(0,external_vitest_namespaceObject.expect)(a.length).toBeGreaterThan(0)})}),(0,external_vitest_namespaceObject.describe)("Event Data Completeness",()=>{(0,external_vitest_namespaceObject.test)("each event should include complete TCData",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=null,t=window.__tcfapi;t&&t("addEventListener",2,t=>{e=t}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e)throw Error("No data received")},{timeout:500}),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("eventStatus"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("listenerId"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("gdprApplies"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("cmpStatus")}),(0,external_vitest_namespaceObject.test)("listenerId in callback should match assigned ID",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.listenerId).toBe("number")})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as a}from"@vitest/browser/context";import{beforeEach as i,describe as n,expect as o,test as r,vi as s}from"vitest";import{render as d}from"vitest-browser-react";import{IABConsentBanner as c}from"../../iab-consent-banner/index.js";import{IABConsentDialog as l}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{addCMPEventListener as u,clearConsentState as m,defaultIABOptions as h,removeCMPEventListener as v,waitForCMP as b,waitForElement as f}from"./e2e-setup.js";n("IAB Events E2E Tests",()=>{i(()=>{m(),s.clearAllMocks(),p()}),n("Event Status Values",()=>{r('should emit "tcloaded" when CMP is ready',async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b(),o((await u()).eventStatus).toBe("tcloaded")}),r('should emit "cmpuishown" when UI is displayed',async()=>{let a=[];d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let i=window.__tcfapi;i&&i("addEventListener",2,t=>{a.push(t.eventStatus)}),await s.waitFor(()=>{if(0===a.length)throw Error("No events received")},{timeout:2e3}),o(a).toContain("tcloaded")}),r('should emit "useractioncomplete" after user action',async()=>{let i=[];d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let n=window.__tcfapi;n&&n("addEventListener",2,t=>{i.push(t.eventStatus)});let r=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');r&&await a.click(r),await s.waitFor(()=>{if(!i.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),o(i).toContain("useractioncomplete")})}),n("Event Listener Lifecycle",()=>{r("should invoke listener immediately on registration",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=!1,i=window.__tcfapi;i&&i("addEventListener",2,()=>{a=!0}),await s.waitFor(()=>{if(!a)throw Error("Not called")},{timeout:100}),o(a).toBe(!0)}),r("should assign unique listenerIds",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=await u(),i=await u(),n=await u();o(a.listenerId).toBeDefined(),o(i.listenerId).toBeDefined(),o(n.listenerId).toBeDefined(),o(new Set([a.listenerId,i.listenerId,n.listenerId]).size).toBe(3)}),r("should stop notifying after removeEventListener",async()=>{let i;d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let n=0,r=window.__tcfapi;r&&r("addEventListener",2,t=>{n++,i=t.listenerId}),await s.waitFor(()=>{if(0===n)throw Error("Not called")},{timeout:100}),o(n).toBe(1),void 0!==i&&o(await v(i)).toBe(!0);let p=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');p&&await a.click(p),await new Promise(t=>setTimeout(t,100)),o(n).toBe(1)}),r("multiple listeners should all receive updates",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=[],i=[],n=[],r=window.__tcfapi;r&&(r("addEventListener",2,t=>{a.push(t.eventStatus)}),r("addEventListener",2,t=>{i.push(t.eventStatus)}),r("addEventListener",2,t=>{n.push(t.eventStatus)})),await s.waitFor(()=>{if(0===a.length||0===i.length||0===n.length)throw Error("Not all listeners received events")},{timeout:500}),o(a.length).toBeGreaterThan(0),o(i.length).toBeGreaterThan(0),o(n.length).toBeGreaterThan(0)})}),n("Event Data Completeness",()=>{r("each event should include complete TCData",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=null,i=window.__tcfapi;i&&i("addEventListener",2,t=>{a=t}),await s.waitFor(()=>{if(!a)throw Error("No data received")},{timeout:500}),o(a).toHaveProperty("eventStatus"),o(a).toHaveProperty("listenerId"),o(a).toHaveProperty("gdprApplies"),o(a).toHaveProperty("cmpStatus")}),r("listenerId in callback should match assigned ID",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=await u();o(a.listenerId).toBeDefined(),o(typeof a.listenerId).toBe("number")})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB GVL E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("GVL Loading",()=>{(0,external_vitest_namespaceObject.test)("should fetch GVL successfully",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendors).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should display vendor count from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e).toMatch(/\d+/)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Purposes",()=>{(0,external_vitest_namespaceObject.test)("should have all 11 purposes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).purposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2),(0,external_vitest_namespaceObject.expect)(e).toContain(3),(0,external_vitest_namespaceObject.expect)(e).toContain(4),(0,external_vitest_namespaceObject.expect)(e).toContain(5),(0,external_vitest_namespaceObject.expect)(e).toContain(6),(0,external_vitest_namespaceObject.expect)(e).toContain(7),(0,external_vitest_namespaceObject.expect)(e).toContain(8),(0,external_vitest_namespaceObject.expect)(e).toContain(9),(0,external_vitest_namespaceObject.expect)(e).toContain(10),(0,external_vitest_namespaceObject.expect)(e).toContain(11),(0,external_vitest_namespaceObject.expect)(e.length).toBe(11)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Special Purposes",()=>{(0,external_vitest_namespaceObject.test)("should have special purposes 1-2",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).specialPurposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Features",()=>{(0,external_vitest_namespaceObject.test)("should have features 1-3",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).features).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2),(0,external_vitest_namespaceObject.expect)(e).toContain(3)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Special Features",()=>{(0,external_vitest_namespaceObject.test)("should have special features 1-2",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).specialFeatures).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Stacks",()=>{(0,external_vitest_namespaceObject.test)("should have stacks for UI grouping",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.stacks).toBeDefined(),(0,external_vitest_namespaceObject.expect)(Object.keys(e.stacks).length).toBeGreaterThan(0)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Vendors",()=>{(0,external_vitest_namespaceObject.test)("should have vendors with required fields",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(Object.keys(e.vendors).length).toBeGreaterThan(0);let t=Object.values(e.vendors)[0];(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("id"),(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("name"),(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("purposes")})}),(0,external_vitest_namespaceObject.describe)("GVL Version",()=>{(0,external_vitest_namespaceObject.test)("should have vendorListVersion",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.vendorListVersion).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.vendorListVersion).toBe("number")}),(0,external_vitest_namespaceObject.test)("should have tcfPolicyVersion=5",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.tcfPolicyVersion).toBe(5)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as e}from"react/jsx-runtime";import{beforeEach as a,describe as n,expect as o,test as i,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as c}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as l,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as b,tcfApiPromise as h,waitForCMP as w,waitForElement as m}from"./e2e-setup.js";n("IAB GVL E2E Tests",()=>{a(()=>{u(),s.clearAllMocks(),p()}),n("GVL Loading",()=>{i("should fetch GVL successfully",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a).toBeDefined(),o(a.purposes).toBeDefined(),o(a.vendors).toBeDefined()}),i("should display vendor count from GVL",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w(),o(document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toMatch(/\d+/)})}),n("GVL Content - Purposes",()=>{i("should have all 11 purposes",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).purposes).map(Number);o(a).toContain(1),o(a).toContain(2),o(a).toContain(3),o(a).toContain(4),o(a).toContain(5),o(a).toContain(6),o(a).toContain(7),o(a).toContain(8),o(a).toContain(9),o(a).toContain(10),o(a).toContain(11),o(a.length).toBe(11)})}),n("GVL Content - Special Purposes",()=>{i("should have special purposes 1-2",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).specialPurposes).map(Number);o(a).toContain(1),o(a).toContain(2)})}),n("GVL Content - Features",()=>{i("should have features 1-3",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).features).map(Number);o(a).toContain(1),o(a).toContain(2),o(a).toContain(3)})}),n("GVL Content - Special Features",()=>{i("should have special features 1-2",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).specialFeatures).map(Number);o(a).toContain(1),o(a).toContain(2)})}),n("GVL Content - Stacks",()=>{i("should have stacks for UI grouping",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a.stacks).toBeDefined(),o(Object.keys(a.stacks).length).toBeGreaterThan(0)})}),n("GVL Content - Vendors",()=>{i("should have vendors with required fields",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(Object.keys(a.vendors).length).toBeGreaterThan(0);let n=Object.values(a.vendors)[0];o(n).toHaveProperty("id"),o(n).toHaveProperty("name"),o(n).toHaveProperty("purposes")})}),n("GVL Version",()=>{i("should have vendorListVersion",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a.vendorListVersion).toBeDefined(),o(typeof a.vendorListVersion).toBe("number")}),i("should have tcfPolicyVersion=5",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w(),o((await h("getVendorList",2)).tcfPolicyVersion).toBe(5)})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Preference Center E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Preference Center Layout",()=>{(0,external_vitest_namespaceObject.test)("should render with purposes tab by default",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]');(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0)}),(0,external_vitest_namespaceObject.test)("should switch between purposes and vendors tabs",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));e&&(await context_namespaceObject.userEvent.click(e),(0,external_vitest_namespaceObject.expect)(e.getAttribute("data-state")).toBe("active"))}),(0,external_vitest_namespaceObject.test)("should display loading state while GVL loads",async()=>{let e=globalThis.fetch;globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>new Promise(e=>setTimeout(()=>e(new Response(JSON.stringify({}),{status:200,headers:{"Content-Type":"application/json"}})),1e3))),(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),globalThis.fetch=e})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Consent",()=>{(0,external_vitest_namespaceObject.test)("should display purpose toggles",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("all purpose consents should default to OFF (no pre-checked)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Legitimate Interest",()=>{(0,external_vitest_namespaceObject.test)("should display LI toggles for purposes 2-11",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Special Features",()=>{(0,external_vitest_namespaceObject.test)("should display special features with opt-in toggles",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Vendors Tab",()=>{(0,external_vitest_namespaceObject.test)("should display vendor list",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');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)("Save & Cancel Actions",()=>{(0,external_vitest_namespaceObject.test)("should save preferences when Save button clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');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()}),(0,external_vitest_namespaceObject.test)("should accept all when Accept All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');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()}),(0,external_vitest_namespaceObject.test)("should reject all when Reject All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');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()})}),(0,external_vitest_namespaceObject.describe)("Accessibility",()=>{(0,external_vitest_namespaceObject.test)("should have proper ARIA attributes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-card"]');(0,external_vitest_namespaceObject.expect)(e.getAttribute("role")).toBe("dialog"),(0,external_vitest_namespaceObject.expect)(e.getAttribute("aria-label")).toBeTruthy()})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{userEvent as e}from"@vitest/browser/context";import{beforeEach as o,describe as a,expect as n,test as i,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentDialog as d}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as l,clearConsentRuntimeCache as c}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as p,waitForElement as h}from"./e2e-setup.js";a("IAB Preference Center E2E Tests",()=>{o(()=>{u(),s.clearAllMocks(),c()}),a("Preference Center Layout",()=>{i("should render with purposes tab by default",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]').length).toBeGreaterThan(0)}),i("should switch between purposes and vendors tabs",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]');let o=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("vendor"));o&&(await e.click(o),n(o.getAttribute("data-state")).toBe("active"))}),i("should display loading state while GVL loads",async()=>{let e=globalThis.fetch;globalThis.fetch=s.fn(()=>new Promise(t=>setTimeout(()=>t(new Response(JSON.stringify({}),{status:200,headers:{"Content-Type":"application/json"}})),1e3))),r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),globalThis.fetch=e})}),a("Purposes Tab - Consent",()=>{i("should display purpose toggles",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()}),i("all purpose consents should default to OFF (no pre-checked)",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()})}),a("Purposes Tab - Legitimate Interest",()=>{i("should display LI toggles for purposes 2-11",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),await s.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),a("Special Features",()=>{i("should display special features with opt-in toggles",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),await s.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),a("Vendors Tab",()=>{i("should display vendor list",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),a("Save & Cancel Actions",()=>{i("should save preferences when Save button clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("save")||t.textContent?.toLowerCase().includes("confirm"))).toBeDefined()}),i("should accept all when Accept All clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("accept all"))).toBeDefined()}),i("should reject all when Reject All clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("reject all"))).toBeDefined()})}),a("Accessibility",()=>{i("should have proper ARIA attributes",async()=>{r(t(l,{options:p,children:t(d,{open:!0})}));let e=await h('[data-testid="iab-consent-dialog-card"]');n(e.getAttribute("role")).toBe("dialog"),n(e.getAttribute("aria-label")).toBeTruthy()})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Storage E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("localStorage Storage",()=>{(0,external_vitest_namespaceObject.test)("should store consent to localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");return(0,external_vitest_namespaceObject.expect)(e).not.toBeNull(),e},{timeout:1e3});let t=JSON.parse(window.localStorage.getItem("c15t")||"{}");(0,external_vitest_namespaceObject.expect)(t.consents).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should store TC string in localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t).toBe("string")}),(0,external_vitest_namespaceObject.test)("TC string should be valid base64url format",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toMatch(/^[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*$/)})}),(0,external_vitest_namespaceObject.describe)("Storage Update on Consent Change",()=>{(0,external_vitest_namespaceObject.test)("should update storage when Accept All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).toBeNull(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).not.toBeNull()}),(0,external_vitest_namespaceObject.test)("should update storage when Reject All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).toBeNull(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).not.toBeNull(),(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Storage Content",()=>{(0,external_vitest_namespaceObject.test)("should store consent info with timestamp",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=Date.now();await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let a=Date.now(),n=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeDefined(),(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeGreaterThanOrEqual(t-1e3),(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeLessThanOrEqual(a+1e3)}),(0,external_vitest_namespaceObject.test)("should store consent info with subjectId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t?.consentInfo?.subjectId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t?.consentInfo?.subjectId).toBe("string")})}),(0,external_vitest_namespaceObject.describe)("c15t Storage Key",()=>{(0,external_vitest_namespaceObject.test)('should use "c15t" key in localStorage',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(window.localStorage.getItem("c15t")).not.toBeNull()}),(0,external_vitest_namespaceObject.test)('should use "euconsent-v2" key for TC string',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(window.localStorage.getItem("euconsent-v2")).not.toBeNull()})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as a}from"react/jsx-runtime";import{userEvent as e}from"@vitest/browser/context";import{beforeEach as n,describe as o,expect as i,test as c,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentBanner as l}from"../../iab-consent-banner/index.js";import{IABConsentDialog as d}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as b,clearConsentRuntimeCache as w}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as p,getStoredConsent as m,getStoredTCString as g,waitForCMP as h,waitForElement as f,waitForElementRemoved as B}from"./e2e-setup.js";o("IAB Storage E2E Tests",()=>{n(()=>{u(),s.clearAllMocks(),w()}),o("localStorage Storage",()=>{c("should store consent to localStorage",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),await s.waitFor(()=>{let t=window.localStorage.getItem("c15t");return i(t).not.toBeNull(),t},{timeout:1e3}),i(JSON.parse(window.localStorage.getItem("c15t")||"{}").consents).toBeDefined()}),c("should store TC string in localStorage",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=g();i(o).toBeDefined(),i(typeof o).toBe("string")}),c("TC string should be valid base64url format",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(g()).toMatch(/^[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*$/)})}),o("Storage Update on Consent Change",()=>{c("should update storage when Accept All clicked",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),i(m()).toBeNull(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(m()).not.toBeNull()}),c("should update storage when Reject All clicked",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-reject-button"]');await h(),i(m()).toBeNull(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=m();i(o).not.toBeNull(),i(o?.consents?.necessary).toBe(!0)})}),o("Storage Content",()=>{c("should store consent info with timestamp",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h();let o=Date.now();await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let c=Date.now(),s=m();i(s?.consentInfo?.time).toBeDefined(),i(s?.consentInfo?.time).toBeGreaterThanOrEqual(o-1e3),i(s?.consentInfo?.time).toBeLessThanOrEqual(c+1e3)}),c("should store consent info with subjectId",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=m();i(o?.consentInfo?.subjectId).toBeDefined(),i(typeof o?.consentInfo?.subjectId).toBe("string")})}),o("c15t Storage Key",()=>{c('should use "c15t" key in localStorage',async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(window.localStorage.getItem("c15t")).not.toBeNull()}),c('should use "euconsent-v2" key for TC string',async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(window.localStorage.getItem("euconsent-v2")).not.toBeNull()})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Stub E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("__tcfapi Availability",()=>{(0,external_vitest_namespaceObject.test)("__tcfapi should be available after CMP loads",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)(window.__tcfapi).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof window.__tcfapi).toBe("function")}),(0,external_vitest_namespaceObject.test)("__tcfapi should accept standard parameters",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=window.__tcfapi;(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),await new Promise(t=>{e?.("ping",2,()=>{t()})})}),(0,external_vitest_namespaceObject.test)("__tcfapi should accept optional parameter",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=window.__tcfapi,t=await new Promise(t=>{e?.("removeEventListener",2,e=>{t(e)},12345)});(0,external_vitest_namespaceObject.expect)(t).toBe(!1)})}),(0,external_vitest_namespaceObject.describe)("Stub Ping Behavior",()=>{(0,external_vitest_namespaceObject.test)("ping should return cmpLoaded=true after CMP ready",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.cmpLoaded).toBe(!0)}),(0,external_vitest_namespaceObject.test)('ping should return cmpStatus="loaded" after CMP ready',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.cmpStatus).toBe("loaded")})}),(0,external_vitest_namespaceObject.describe)("Queue Processing",()=>{(0,external_vitest_namespaceObject.test)("calls should be processed after CMP loads",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getTCData",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("tcString")})}),(0,external_vitest_namespaceObject.describe)("Command Handling",()=>{(0,external_vitest_namespaceObject.test)("should handle ping command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.apiVersion).toBe("2.3")}),(0,external_vitest_namespaceObject.test)("should handle getTCData command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getTCData",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.gdprApplies).toBe("boolean")}),(0,external_vitest_namespaceObject.test)("should handle addEventListener command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("addEventListener",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.listenerId).toBe("number")}),(0,external_vitest_namespaceObject.test)("should handle getVendorList command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getVendorList",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should return false for unknown commands",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("unknownCommand",2,(t,a)=>{e({data:t,success:a})})});(0,external_vitest_namespaceObject.expect)(e.success).toBe(!1)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as a,jsxs as t}from"react/jsx-runtime";import{beforeEach as e,describe as n,expect as i,test as o,vi as d}from"vitest";import{render as s}from"vitest-browser-react";import{IABConsentBanner as r}from"../../iab-consent-banner/index.js";import{IABConsentDialog as c}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{clearConsentState as l,defaultIABOptions as m,waitForCMP as f,waitForElement as b}from"./e2e-setup.js";n("IAB Stub E2E Tests",()=>{e(()=>{l(),d.clearAllMocks(),p()}),n("__tcfapi Availability",()=>{o("__tcfapi should be available after CMP loads",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i(window.__tcfapi).toBeDefined(),i(typeof window.__tcfapi).toBe("function")}),o("__tcfapi should accept standard parameters",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=window.__tcfapi;i(e).toBeDefined(),await new Promise(a=>{e?.("ping",2,()=>{a()})})}),o("__tcfapi should accept optional parameter",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=window.__tcfapi;i(await new Promise(a=>{e?.("removeEventListener",2,t=>{a(t)},12345)})).toBe(!1)})}),n("Stub Ping Behavior",()=>{o("ping should return cmpLoaded=true after CMP ready",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).cmpLoaded).toBe(!0)}),o('ping should return cmpStatus="loaded" after CMP ready',async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).cmpStatus).toBe("loaded")})}),n("Queue Processing",()=>{o("calls should be processed after CMP loads",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("getTCData",2,t=>{a(t)})});i(e).toBeDefined(),i(e).toHaveProperty("tcString")})}),n("Command Handling",()=>{o("should handle ping command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).apiVersion).toBe("2.3")}),o("should handle getTCData command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("getTCData",2,t=>{a(t)})});i(e).toBeDefined(),i(typeof e.gdprApplies).toBe("boolean")}),o("should handle addEventListener command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("addEventListener",2,t=>{a(t)})});i(e.listenerId).toBeDefined(),i(typeof e.listenerId).toBe("number")}),o("should handle getVendorList command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("getVendorList",2,t=>{a(t)})})).purposes).toBeDefined()}),o("should return false for unknown commands",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("unknownCommand",2,(t,e)=>{a({data:t,success:e})})})).success).toBe(!1)})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("__tcfapi E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("ping Command",()=>{(0,external_vitest_namespaceObject.test)("should return cmpLoaded=true after CMP ready",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpLoaded).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should return correct gdprApplies value",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(typeof e.gdprApplies).toBe("boolean")}),(0,external_vitest_namespaceObject.test)("should return cmpId matching configured ID",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpId).toBe(160)}),(0,external_vitest_namespaceObject.test)('should return apiVersion="2.3"',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.apiVersion).toBe("2.3")}),(0,external_vitest_namespaceObject.test)("should return tcfPolicyVersion=5",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.tcfPolicyVersion).toBe(5)}),(0,external_vitest_namespaceObject.test)('should return cmpStatus="loaded"',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpStatus).toBe("loaded")})}),(0,external_vitest_namespaceObject.describe)("addEventListener Command",()=>{(0,external_vitest_namespaceObject.test)("should invoke callback immediately on registration",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should return unique listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.listenerId).not.toBe(t.listenerId)}),(0,external_vitest_namespaceObject.test)('should fire eventStatus="tcloaded" initially',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBe("tcloaded")})}),(0,external_vitest_namespaceObject.describe)("removeEventListener Command",()=>{(0,external_vitest_namespaceObject.test)("should remove listener by listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(e.listenerId);(0,external_vitest_namespaceObject.expect)(t).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should return false for invalid listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(999999);(0,external_vitest_namespaceObject.expect)(e).toBe(!1)})}),(0,external_vitest_namespaceObject.describe)("getTCData Command",()=>{(0,external_vitest_namespaceObject.test)("should return complete TCData object",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("tcString"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("gdprApplies"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("cmpStatus"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("isServiceSpecific"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("publisherCC"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("purpose"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("vendor")}),(0,external_vitest_namespaceObject.test)("should return isServiceSpecific=true",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.isServiceSpecific).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should have purpose.consents and purpose.legitimateInterests",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.purpose).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purpose.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purpose.legitimateInterests).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have vendor.consents and vendor.legitimateInterests",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.vendor).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendor.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendor.legitimateInterests).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have specialFeatureOptins",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.specialFeatureOptins).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have publisher object",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.publisher).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.publisher.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.publisher.legitimateInterests).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("getVendorList Command",()=>{(0,external_vitest_namespaceObject.test)("should return complete GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendors).toBeDefined()}),(0,external_vitest_namespaceObject.test)("GVL should contain all 11 purposes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).purposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(11),(0,external_vitest_namespaceObject.expect)(e.length).toBe(11)})}),(0,external_vitest_namespaceObject.describe)("getInAppTCData Command (Mobile Alias)",()=>{(0,external_vitest_namespaceObject.test)("should return same data as getTCData",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)(),t=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getInAppTCData",2);(0,external_vitest_namespaceObject.expect)(t.gdprApplies).toBe(e.gdprApplies),(0,external_vitest_namespaceObject.expect)(t.cmpStatus).toBe(e.cmpStatus)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|