@c15t/react 2.0.0-rc.1 → 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 +85 -25
- 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,349 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
/* tslint:disable */
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Mock Service Worker.
|
|
6
|
-
* @see https://github.com/mswjs/msw
|
|
7
|
-
* - Please do NOT modify this file.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const PACKAGE_VERSION = '2.12.7';
|
|
11
|
-
const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82';
|
|
12
|
-
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse');
|
|
13
|
-
const activeClientIds = new Set();
|
|
14
|
-
|
|
15
|
-
addEventListener('install', function () {
|
|
16
|
-
self.skipWaiting();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
addEventListener('activate', function (event) {
|
|
20
|
-
event.waitUntil(self.clients.claim());
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
addEventListener('message', async function (event) {
|
|
24
|
-
const clientId = Reflect.get(event.source || {}, 'id');
|
|
25
|
-
|
|
26
|
-
if (!clientId || !self.clients) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const client = await self.clients.get(clientId);
|
|
31
|
-
|
|
32
|
-
if (!client) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const allClients = await self.clients.matchAll({
|
|
37
|
-
type: 'window',
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
switch (event.data) {
|
|
41
|
-
case 'KEEPALIVE_REQUEST': {
|
|
42
|
-
sendToClient(client, {
|
|
43
|
-
type: 'KEEPALIVE_RESPONSE',
|
|
44
|
-
});
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
case 'INTEGRITY_CHECK_REQUEST': {
|
|
49
|
-
sendToClient(client, {
|
|
50
|
-
type: 'INTEGRITY_CHECK_RESPONSE',
|
|
51
|
-
payload: {
|
|
52
|
-
packageVersion: PACKAGE_VERSION,
|
|
53
|
-
checksum: INTEGRITY_CHECKSUM,
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
case 'MOCK_ACTIVATE': {
|
|
60
|
-
activeClientIds.add(clientId);
|
|
61
|
-
|
|
62
|
-
sendToClient(client, {
|
|
63
|
-
type: 'MOCKING_ENABLED',
|
|
64
|
-
payload: {
|
|
65
|
-
client: {
|
|
66
|
-
id: client.id,
|
|
67
|
-
frameType: client.frameType,
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
case 'CLIENT_CLOSED': {
|
|
75
|
-
activeClientIds.delete(clientId);
|
|
76
|
-
|
|
77
|
-
const remainingClients = allClients.filter((client) => {
|
|
78
|
-
return client.id !== clientId;
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// Unregister itself when there are no more clients
|
|
82
|
-
if (remainingClients.length === 0) {
|
|
83
|
-
self.registration.unregister();
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
addEventListener('fetch', function (event) {
|
|
92
|
-
const requestInterceptedAt = Date.now();
|
|
93
|
-
|
|
94
|
-
// Bypass navigation requests.
|
|
95
|
-
if (event.request.mode === 'navigate') {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// Opening the DevTools triggers the "only-if-cached" request
|
|
100
|
-
// that cannot be handled by the worker. Bypass such requests.
|
|
101
|
-
if (
|
|
102
|
-
event.request.cache === 'only-if-cached' &&
|
|
103
|
-
event.request.mode !== 'same-origin'
|
|
104
|
-
) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Bypass all requests when there are no active clients.
|
|
109
|
-
// Prevents the self-unregistered worked from handling requests
|
|
110
|
-
// after it's been terminated (still remains active until the next reload).
|
|
111
|
-
if (activeClientIds.size === 0) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
const requestId = crypto.randomUUID();
|
|
116
|
-
event.respondWith(handleRequest(event, requestId, requestInterceptedAt));
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* @param {FetchEvent} event
|
|
121
|
-
* @param {string} requestId
|
|
122
|
-
* @param {number} requestInterceptedAt
|
|
123
|
-
*/
|
|
124
|
-
async function handleRequest(event, requestId, requestInterceptedAt) {
|
|
125
|
-
const client = await resolveMainClient(event);
|
|
126
|
-
const requestCloneForEvents = event.request.clone();
|
|
127
|
-
const response = await getResponse(
|
|
128
|
-
event,
|
|
129
|
-
client,
|
|
130
|
-
requestId,
|
|
131
|
-
requestInterceptedAt
|
|
132
|
-
);
|
|
133
|
-
|
|
134
|
-
// Send back the response clone for the "response:*" life-cycle events.
|
|
135
|
-
// Ensure MSW is active and ready to handle the message, otherwise
|
|
136
|
-
// this message will pend indefinitely.
|
|
137
|
-
if (client && activeClientIds.has(client.id)) {
|
|
138
|
-
const serializedRequest = await serializeRequest(requestCloneForEvents);
|
|
139
|
-
|
|
140
|
-
// Clone the response so both the client and the library could consume it.
|
|
141
|
-
const responseClone = response.clone();
|
|
142
|
-
|
|
143
|
-
sendToClient(
|
|
144
|
-
client,
|
|
145
|
-
{
|
|
146
|
-
type: 'RESPONSE',
|
|
147
|
-
payload: {
|
|
148
|
-
isMockedResponse: IS_MOCKED_RESPONSE in response,
|
|
149
|
-
request: {
|
|
150
|
-
id: requestId,
|
|
151
|
-
...serializedRequest,
|
|
152
|
-
},
|
|
153
|
-
response: {
|
|
154
|
-
type: responseClone.type,
|
|
155
|
-
status: responseClone.status,
|
|
156
|
-
statusText: responseClone.statusText,
|
|
157
|
-
headers: Object.fromEntries(responseClone.headers.entries()),
|
|
158
|
-
body: responseClone.body,
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
responseClone.body ? [serializedRequest.body, responseClone.body] : []
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return response;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Resolve the main client for the given event.
|
|
171
|
-
* Client that issues a request doesn't necessarily equal the client
|
|
172
|
-
* that registered the worker. It's with the latter the worker should
|
|
173
|
-
* communicate with during the response resolving phase.
|
|
174
|
-
* @param {FetchEvent} event
|
|
175
|
-
* @returns {Promise<Client | undefined>}
|
|
176
|
-
*/
|
|
177
|
-
async function resolveMainClient(event) {
|
|
178
|
-
const client = await self.clients.get(event.clientId);
|
|
179
|
-
|
|
180
|
-
if (activeClientIds.has(event.clientId)) {
|
|
181
|
-
return client;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (client?.frameType === 'top-level') {
|
|
185
|
-
return client;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
const allClients = await self.clients.matchAll({
|
|
189
|
-
type: 'window',
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
return allClients
|
|
193
|
-
.filter((client) => {
|
|
194
|
-
// Get only those clients that are currently visible.
|
|
195
|
-
return client.visibilityState === 'visible';
|
|
196
|
-
})
|
|
197
|
-
.find((client) => {
|
|
198
|
-
// Find the client ID that's recorded in the
|
|
199
|
-
// set of clients that have registered the worker.
|
|
200
|
-
return activeClientIds.has(client.id);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* @param {FetchEvent} event
|
|
206
|
-
* @param {Client | undefined} client
|
|
207
|
-
* @param {string} requestId
|
|
208
|
-
* @param {number} requestInterceptedAt
|
|
209
|
-
* @returns {Promise<Response>}
|
|
210
|
-
*/
|
|
211
|
-
async function getResponse(event, client, requestId, requestInterceptedAt) {
|
|
212
|
-
// Clone the request because it might've been already used
|
|
213
|
-
// (i.e. its body has been read and sent to the client).
|
|
214
|
-
const requestClone = event.request.clone();
|
|
215
|
-
|
|
216
|
-
function passthrough() {
|
|
217
|
-
// Cast the request headers to a new Headers instance
|
|
218
|
-
// so the headers can be manipulated with.
|
|
219
|
-
const headers = new Headers(requestClone.headers);
|
|
220
|
-
|
|
221
|
-
// Remove the "accept" header value that marked this request as passthrough.
|
|
222
|
-
// This prevents request alteration and also keeps it compliant with the
|
|
223
|
-
// user-defined CORS policies.
|
|
224
|
-
const acceptHeader = headers.get('accept');
|
|
225
|
-
if (acceptHeader) {
|
|
226
|
-
const values = acceptHeader.split(',').map((value) => value.trim());
|
|
227
|
-
const filteredValues = values.filter(
|
|
228
|
-
(value) => value !== 'msw/passthrough'
|
|
229
|
-
);
|
|
230
|
-
|
|
231
|
-
if (filteredValues.length > 0) {
|
|
232
|
-
headers.set('accept', filteredValues.join(', '));
|
|
233
|
-
} else {
|
|
234
|
-
headers.delete('accept');
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return fetch(requestClone, { headers });
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// Bypass mocking when the client is not active.
|
|
242
|
-
if (!client) {
|
|
243
|
-
return passthrough();
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
// Bypass initial page load requests (i.e. static assets).
|
|
247
|
-
// The absence of the immediate/parent client in the map of the active clients
|
|
248
|
-
// means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet
|
|
249
|
-
// and is not ready to handle requests.
|
|
250
|
-
if (!activeClientIds.has(client.id)) {
|
|
251
|
-
return passthrough();
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Notify the client that a request has been intercepted.
|
|
255
|
-
const serializedRequest = await serializeRequest(event.request);
|
|
256
|
-
const clientMessage = await sendToClient(
|
|
257
|
-
client,
|
|
258
|
-
{
|
|
259
|
-
type: 'REQUEST',
|
|
260
|
-
payload: {
|
|
261
|
-
id: requestId,
|
|
262
|
-
interceptedAt: requestInterceptedAt,
|
|
263
|
-
...serializedRequest,
|
|
264
|
-
},
|
|
265
|
-
},
|
|
266
|
-
[serializedRequest.body]
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
switch (clientMessage.type) {
|
|
270
|
-
case 'MOCK_RESPONSE': {
|
|
271
|
-
return respondWithMock(clientMessage.data);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
case 'PASSTHROUGH': {
|
|
275
|
-
return passthrough();
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
return passthrough();
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* @param {Client} client
|
|
284
|
-
* @param {any} message
|
|
285
|
-
* @param {Array<Transferable>} transferrables
|
|
286
|
-
* @returns {Promise<any>}
|
|
287
|
-
*/
|
|
288
|
-
function sendToClient(client, message, transferrables = []) {
|
|
289
|
-
return new Promise((resolve, reject) => {
|
|
290
|
-
const channel = new MessageChannel();
|
|
291
|
-
|
|
292
|
-
channel.port1.onmessage = (event) => {
|
|
293
|
-
if (event.data && event.data.error) {
|
|
294
|
-
return reject(event.data.error);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
resolve(event.data);
|
|
298
|
-
};
|
|
299
|
-
|
|
300
|
-
client.postMessage(message, [
|
|
301
|
-
channel.port2,
|
|
302
|
-
...transferrables.filter(Boolean),
|
|
303
|
-
]);
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* @param {Response} response
|
|
309
|
-
* @returns {Response}
|
|
310
|
-
*/
|
|
311
|
-
function respondWithMock(response) {
|
|
312
|
-
// Setting response status code to 0 is a no-op.
|
|
313
|
-
// However, when responding with a "Response.error()", the produced Response
|
|
314
|
-
// instance will have status code set to 0. Since it's not possible to create
|
|
315
|
-
// a Response instance with status code 0, handle that use-case separately.
|
|
316
|
-
if (response.status === 0) {
|
|
317
|
-
return Response.error();
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
const mockedResponse = new Response(response.body, response);
|
|
321
|
-
|
|
322
|
-
Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
|
|
323
|
-
value: true,
|
|
324
|
-
enumerable: true,
|
|
325
|
-
});
|
|
326
|
-
|
|
327
|
-
return mockedResponse;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* @param {Request} request
|
|
332
|
-
*/
|
|
333
|
-
async function serializeRequest(request) {
|
|
334
|
-
return {
|
|
335
|
-
url: request.url,
|
|
336
|
-
mode: request.mode,
|
|
337
|
-
method: request.method,
|
|
338
|
-
headers: Object.fromEntries(request.headers.entries()),
|
|
339
|
-
cache: request.cache,
|
|
340
|
-
credentials: request.credentials,
|
|
341
|
-
destination: request.destination,
|
|
342
|
-
integrity: request.integrity,
|
|
343
|
-
redirect: request.redirect,
|
|
344
|
-
referrer: request.referrer,
|
|
345
|
-
referrerPolicy: request.referrerPolicy,
|
|
346
|
-
body: await request.arrayBuffer(),
|
|
347
|
-
keepalive: request.keepalive,
|
|
348
|
-
};
|
|
349
|
-
}
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/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.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/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.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png";export{e as default};
|
|
@@ -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_modules__={"./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png"(e){e.exports=require("../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}var __webpack_exports__=__webpack_require__("./src/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png");for(var __rspack_i in exports.default=__webpack_exports__.default,__webpack_exports__)-1===["default"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import a from"../../../../static/image/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png";export{a as default};
|
|
@@ -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_c15t_namespaceObject=require("c15t"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),external_index_cjs_namespaceObject=require("../../index.cjs"),mockFetch=external_vitest_namespaceObject.vi.fn();for(var __rspack_i in window.fetch=mockFetch,(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Basic Request Behavior",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),mockFetch.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:external_c15t_namespaceObject.defaultTranslationConfig.translations.en}}),{status:200,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should only make one initial request for consent banner status",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test Component"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t/init"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should not make additional requests when props change but core options remain same",async()=>{mockFetch.mockClear();let{rerender:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",theme:{slots:{bannerCard:"light"}}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Light theme"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",theme:{slots:{bannerCard:"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Dark theme"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()}),(0,external_vitest_namespaceObject.it)("should make a new request when core options change",async()=>{let{rerender:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"First URL"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-1/init"),external_vitest_namespaceObject.expect.any(Object)),mockFetch.mockClear(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Second URL"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-2/init"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should handle rapid re-renders without making duplicate requests",async()=>{mockFetch.mockClear();let{rerender:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Counter: 0"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();for(let t=1;t<=5;t++)e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsxs)("div",{children:["Counter: ",t]})})),await external_vitest_namespaceObject.vi.runAllTimersAsync();(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as n}from"react/jsx-runtime";import{defaultTranslationConfig as t}from"c15t";import{afterEach as i,beforeEach as a,describe as o,expect as r,it as s,vi as l}from"vitest";import{render as c}from"vitest-browser-react";import{ConsentManagerProvider as d}from"../../index.js";let m=l.fn();window.fetch=m,o("ConsentManagerProvider Basic Request Behavior",()=>{a(()=>{l.resetAllMocks(),l.useFakeTimers(),m.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0,jurisdiction:{code:"GDPR"},translations:{language:"en",translations:t.translations.en}}),{status:200,headers:{"Content-Type":"application/json"}}))}),i(()=>{l.clearAllMocks(),l.useRealTimers()}),s("should only make one initial request for consent banner status",async()=>{c(e(d,{options:{mode:"c15t",backendURL:"/api/c15t"},children:e("div",{children:"Test Component"})})),await l.runAllTimersAsync(),r(m).toHaveBeenCalledTimes(1),r(m).toHaveBeenCalledWith(r.stringContaining("/api/c15t/init"),r.any(Object))}),s("should not make additional requests when props change but core options remain same",async()=>{m.mockClear();let{rerender:n}=await c(e(d,{options:{mode:"offline",theme:{slots:{bannerCard:"light"}}},children:e("div",{children:"Light theme"})}));await l.runAllTimersAsync(),r(m).not.toHaveBeenCalled(),n(e(d,{options:{mode:"offline",theme:{slots:{bannerCard:"dark"}}},children:e("div",{children:"Dark theme"})})),await l.runAllTimersAsync(),r(m).not.toHaveBeenCalled()}),s("should make a new request when core options change",async()=>{let{rerender:n}=await c(e(d,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:e("div",{children:"First URL"})}));await l.runAllTimersAsync(),r(m).toHaveBeenCalledTimes(1),r(m).toHaveBeenCalledWith(r.stringContaining("/api/c15t-1/init"),r.any(Object)),m.mockClear(),n(e(d,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:e("div",{children:"Second URL"})})),await l.runAllTimersAsync(),r(m).toHaveBeenCalledWith(r.stringContaining("/api/c15t-2/init"),r.any(Object))}),s("should handle rapid re-renders without making duplicate requests",async()=>{m.mockClear();let{rerender:t}=await c(e(d,{options:{mode:"offline"},children:e("div",{children:"Counter: 0"})}));await l.runAllTimersAsync(),r(m).not.toHaveBeenCalled();for(let i=1;i<=5;i++)t(e(d,{options:{mode:"offline"},children:n("div",{children:["Counter: ",i]})})),await l.runAllTimersAsync();r(m).not.toHaveBeenCalled()})});
|
|
@@ -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"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs");(0,external_test_helpers_cjs_namespaceObject.setupMocks)();const modifyContextActiveUI=external_vitest_namespaceObject.vi.fn();for(var __rspack_i in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.activeUI="banner",modifyContextActiveUI(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),(0,external_consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",theme:{slots:{bannerCard:"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"active-ui",children:"banner"===e.activeUI?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({activeUI:e.activeUI})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextActiveUI).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("active-ui")).toHaveTextContent("true")},{timeout:3e3})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{afterEach as r,beforeEach as a,describe as n,expect as o,it as s,vi as i}from"vitest";import{render as c}from"vitest-browser-react";import{useConsentManager as l}from"../../hooks/use-consent-manager.js";import{ConsentManagerProvider as m,clearConsentRuntimeCache as d}from"../consent-manager-provider.js";import{setupMocks as u}from"./test-helpers.js";u();let v=i.fn();i.mock("../../hooks/use-consent-manager",async()=>{let e=await i.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.activeUI="banner",v(),t}}}),n("ConsentManagerProvider Context Values",()=>{a(()=>{i.resetAllMocks(),i.useFakeTimers(),d()}),r(()=>{i.clearAllMocks(),i.useRealTimers()}),s("should provide correct context values to children",async()=>{let{getByTestId:r}=await c(e(m,{options:{mode:"offline",theme:{slots:{bannerCard:"dark"}}},children:e(()=>{let r=l();return t("div",{children:[e("div",{"data-testid":"has-manager",children:(!!r.manager).toString()}),e("div",{"data-testid":"active-ui",children:"banner"===r.activeUI?"true":"false"}),e("div",{"data-testid":"debug-state",children:JSON.stringify({activeUI:r.activeUI})})]})},{})}));await i.runAllTimersAsync(),o(v).toHaveBeenCalled(),await i.waitFor(()=>{o(r("has-manager")).toHaveTextContent("true"),o(r("active-ui")).toHaveTextContent("true")},{timeout:3e3})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockFetch:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Error Handling",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),e.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks()}),(0,external_vitest_namespaceObject.it)("should handle errors from API responses",async()=>{let{getByTestId:t}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"request-state",children:e.manager?"Manager Ready":"Manager Not Ready"})},{})}));await external_vitest_namespaceObject.vi.waitFor(()=>{let e=t("request-state");(0,external_vitest_namespaceObject.expect)(e).toHaveTextContent(/Manager (Not )?Ready/)}),(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalledTimes(1)})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{afterEach as r,beforeEach as t,describe as o,expect as a,it as s,vi as n}from"vitest";import{render as i}from"vitest-browser-react";import{useConsentManager as m}from"../../hooks/use-consent-manager.js";import{ConsentManagerProvider as d}from"../consent-manager-provider.js";import{setupMocks as l}from"./test-helpers.js";let{mockFetch:c}=l();o("ConsentManagerProvider Error Handling",()=>{t(()=>{n.resetAllMocks(),c.mockResolvedValueOnce(new Response(JSON.stringify({error:"API error"}),{status:500,headers:{"Content-Type":"application/json"}}))}),r(()=>{n.clearAllMocks()}),s("should handle errors from API responses",async()=>{let{getByTestId:r}=await i(e(d,{options:{mode:"c15t",backendURL:"/api/c15t"},children:e(()=>e("div",{"data-testid":"request-state",children:m().manager?"Manager Ready":"Manager Not Ready"}),{})}));await n.waitFor(()=>{a(r("request-state")).toHaveTextContent(/Manager (Not )?Ready/)}),a(c).toHaveBeenCalledTimes(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"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),MockSSRProvider=({children:e})=>(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"ssr-provider",children:e}),RenderTracker=({label:e})=>(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":`render-${e}`,children:e});for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Hydration Behavior",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),(0,external_consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should render children immediately without blocking during hydration",async()=>{let{getByTestId:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:(0,jsx_runtime_namespaceObject.jsx)(RenderTracker,{label:"child"})}));(0,external_vitest_namespaceObject.expect)(e("render-child")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-child")).toHaveTextContent("child"),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(e("render-child")).toBeInTheDocument()}),(0,external_vitest_namespaceObject.it)("should not block SSR provider content when ConsentManager wraps SSR provider",async()=>{let{getByTestId:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:(0,jsx_runtime_namespaceObject.jsx)(MockSSRProvider,{children:(0,jsx_runtime_namespaceObject.jsx)(RenderTracker,{label:"ssr-content"})})}));(0,external_vitest_namespaceObject.expect)(e("ssr-provider")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-ssr-content")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-ssr-content")).toHaveTextContent("ssr-content"),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(e("ssr-provider")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-ssr-content")).toBeInTheDocument()}),(0,external_vitest_namespaceObject.it)("should not block SSR provider content when SSR provider wraps ConsentManager",async()=>{let{getByTestId:e}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(MockSSRProvider,{children:(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:(0,jsx_runtime_namespaceObject.jsx)(RenderTracker,{label:"nested-content"})})}));(0,external_vitest_namespaceObject.expect)(e("ssr-provider")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-nested-content")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-nested-content")).toHaveTextContent("nested-content"),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(e("ssr-provider")).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(e("render-nested-content")).toBeInTheDocument()}),(0,external_vitest_namespaceObject.it)("should handle rapid re-renders without blocking children",async()=>{let{rerender:e,getByTestId:t}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary"]},children:(0,jsx_runtime_namespaceObject.jsx)(RenderTracker,{label:"rapid-render"})}));(0,external_vitest_namespaceObject.expect)(t("render-rapid-render")).toBeInTheDocument();for(let n=0;n<3;n++)e((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:(0,jsx_runtime_namespaceObject.jsx)(RenderTracker,{label:"rapid-render"})})),(0,external_vitest_namespaceObject.expect)(t("render-rapid-render")).toBeInTheDocument(),await external_vitest_namespaceObject.vi.runAllTimersAsync()}),(0,external_vitest_namespaceObject.it)("should use startTransition for non-blocking state updates during hydration",async()=>{let e=!1,{getByTestId:t}=await (0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",consentCategories:["necessary"]},children:(0,jsx_runtime_namespaceObject.jsx)(()=>(e=!0,(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"hydration-test",children:"Content"})),{})}));(0,external_vitest_namespaceObject.expect)(e).toBe(!0),(0,external_vitest_namespaceObject.expect)(t("hydration-test")).toBeInTheDocument(),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(t("hydration-test")).toBeInTheDocument()})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{afterEach as n,beforeEach as t,describe as r,expect as o,it as s,vi as i}from"vitest";import{render as a}from"vitest-browser-react";import{ConsentManagerProvider as d,clearConsentRuntimeCache as c}from"../consent-manager-provider.js";let l=({children:n})=>e("div",{"data-testid":"ssr-provider",children:n}),h=({label:n})=>e("div",{"data-testid":`render-${n}`,children:n});r("ConsentManagerProvider Hydration Behavior",()=>{t(()=>{i.resetAllMocks(),i.useFakeTimers(),c()}),n(()=>{i.clearAllMocks(),i.useRealTimers()}),s("should render children immediately without blocking during hydration",async()=>{let{getByTestId:n}=await a(e(d,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:e(h,{label:"child"})}));o(n("render-child")).toBeInTheDocument(),o(n("render-child")).toHaveTextContent("child"),await i.runAllTimersAsync(),o(n("render-child")).toBeInTheDocument()}),s("should not block SSR provider content when ConsentManager wraps SSR provider",async()=>{let{getByTestId:n}=await a(e(d,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:e(l,{children:e(h,{label:"ssr-content"})})}));o(n("ssr-provider")).toBeInTheDocument(),o(n("render-ssr-content")).toBeInTheDocument(),o(n("render-ssr-content")).toHaveTextContent("ssr-content"),await i.runAllTimersAsync(),o(n("ssr-provider")).toBeInTheDocument(),o(n("render-ssr-content")).toBeInTheDocument()}),s("should not block SSR provider content when SSR provider wraps ConsentManager",async()=>{let{getByTestId:n}=await a(e(l,{children:e(d,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:e(h,{label:"nested-content"})})}));o(n("ssr-provider")).toBeInTheDocument(),o(n("render-nested-content")).toBeInTheDocument(),o(n("render-nested-content")).toHaveTextContent("nested-content"),await i.runAllTimersAsync(),o(n("ssr-provider")).toBeInTheDocument(),o(n("render-nested-content")).toBeInTheDocument()}),s("should handle rapid re-renders without blocking children",async()=>{let{rerender:n,getByTestId:t}=await a(e(d,{options:{mode:"offline",consentCategories:["necessary"]},children:e(h,{label:"rapid-render"})}));o(t("render-rapid-render")).toBeInTheDocument();for(let r=0;r<3;r++)n(e(d,{options:{mode:"offline",consentCategories:["necessary","marketing"]},children:e(h,{label:"rapid-render"})})),o(t("render-rapid-render")).toBeInTheDocument(),await i.runAllTimersAsync()}),s("should use startTransition for non-blocking state updates during hydration",async()=>{let n=!1,{getByTestId:t}=await a(e(d,{options:{mode:"offline",consentCategories:["necessary"]},children:e(()=>(n=!0,e("div",{"data-testid":"hydration-test",children:"Content"})),{})}));o(n).toBe(!0),o(t("hydration-test")).toBeInTheDocument(),await i.runAllTimersAsync(),o(t("hydration-test")).toBeInTheDocument()})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{TestConsumer:()=>TestConsumer,setupMocks:()=>setupMocks});const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_index_cjs_namespaceObject=require("../../index.cjs");function setupMocks(){let e=external_vitest_namespaceObject.vi.fn();window.fetch=e;let n=external_vitest_namespaceObject.vi.fn(),t=new Map,r=new Map;return(0,external_vitest_namespaceObject.beforeEach)(()=>{t.clear(),r.clear()}),external_vitest_namespaceObject.vi.mock("c15t",async()=>{let s=await external_vitest_namespaceObject.vi.importActual("c15t"),{createConsentManagerStore:a}=s,o=r=>{n(r);let s=r.backendURL||"";if("c15t"===r.mode)return{getCallbacks:()=>r.callbacks,showConsentBanner:async()=>(t.has(s)||(e(`${s}/init`,{headers:{"Content-Type":"application/json"}}),t.set(s,!0)),{ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})};if("offline"===r.mode)return{getCallbacks:()=>r.callbacks,showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})};if("custom"===r.mode&&"endpointHandlers"in r){let e=r.endpointHandlers;return{getCallbacks:()=>r.callbacks,init:async()=>e?.init?.({}),setConsent:async n=>e.setConsent({body:n}),verifyConsent:async n=>e.verifyConsent({body:n})}}return{getCallbacks:()=>r.callbacks,init:async()=>({ok:!0,data:{jurisdiction:"GDPR",location:{countryCode:"GB",regionCode:null},translations:{language:"en",translations:{}},branding:"c15t"},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}};return{...s,configureConsentManager:o,getOrCreateConsentRuntime:(e,n)=>{let t=e.mode||"c15t",s="backendURL"in e?e.backendURL:void 0,c=`${t}:${s??"default"}`,_=r.get(c);if(_)return{..._,cacheKey:c};let i=o({...e,mode:t,..."c15t"===t?{backendURL:s||"/api/c15t"}:{}}),l=a(i,{config:{pkg:n.pkg,version:n.version,mode:e.mode||"Unknown"},...e,...e.store,initialTranslationConfig:e.translations});return r.set(c,{consentManager:i,consentStore:l}),{consentManager:i,consentStore:l,cacheKey:c}}}}),{mockFetch:e,mockConfigureConsentManager:n}}const TestConsumer=()=>{let e=(0,external_index_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"consumer",children:"banner"===e.activeUI?"Show":"Hide"})};for(var __rspack_i in exports.TestConsumer=__webpack_exports__.TestConsumer,exports.setupMocks=__webpack_exports__.setupMocks,__webpack_exports__)-1===["TestConsumer","setupMocks"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as n}from"react/jsx-runtime";import{beforeEach as e,vi as t}from"vitest";import{useConsentManager as s}from"../../index.js";function o(){let n=t.fn();window.fetch=n;let s=t.fn(),o=new Map,r=new Map;return e(()=>{o.clear(),r.clear()}),t.mock("c15t",async()=>{let e=await t.importActual("c15t"),{createConsentManagerStore:a}=e,l=e=>{s(e);let t=e.backendURL||"";if("c15t"===e.mode)return{getCallbacks:()=>e.callbacks,showConsentBanner:async()=>(o.has(t)||(n(`${t}/init`,{headers:{"Content-Type":"application/json"}}),o.set(t,!0)),{ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})};if("offline"===e.mode)return{getCallbacks:()=>e.callbacks,showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})};if("custom"===e.mode&&"endpointHandlers"in e){let n=e.endpointHandlers;return{getCallbacks:()=>e.callbacks,init:async()=>n?.init?.({}),setConsent:async e=>n.setConsent({body:e}),verifyConsent:async e=>n.verifyConsent({body:e})}}return{getCallbacks:()=>e.callbacks,init:async()=>({ok:!0,data:{jurisdiction:"GDPR",location:{countryCode:"GB",regionCode:null},translations:{language:"en",translations:{}},branding:"c15t"},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})}};return{...e,configureConsentManager:l,getOrCreateConsentRuntime:(n,e)=>{let t=n.mode||"c15t",s="backendURL"in n?n.backendURL:void 0,o=`${t}:${s??"default"}`,i=r.get(o);if(i)return{...i,cacheKey:o};let c=l({...n,mode:t,..."c15t"===t?{backendURL:s||"/api/c15t"}:{}}),u=a(c,{config:{pkg:e.pkg,version:e.version,mode:n.mode||"Unknown"},...n,...n.store,initialTranslationConfig:n.translations});return r.set(o,{consentManager:c,consentStore:u}),{consentManager:c,consentStore:u,cacheKey:o}}}}),{mockFetch:n,mockConfigureConsentManager:s}}let r=()=>n("div",{"data-testid":"consumer",children:"banner"===s().activeUI?"Show":"Hide"});export{r as TestConsumer,o as setupMocks};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent-manager-provider.d.ts","sourceRoot":"","sources":["../../src/providers/consent-manager-provider.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAI5E;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CA0G7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-ssr-data.d.ts","sourceRoot":"","sources":["../../src/server/fetch-ssr-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA8CnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,YAAY,CACjC,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAkFrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../src/server/headers.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,iBAAiB,4NAQb,CAAC;AAEX,KAAK,eAAe,GACjB,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,GAClC,gBAAgB,GAChB,eAAe,CAAC;AAEnB,KAAK,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,OAAO,GAAG,eAAe,CA4B5E"}
|
|
@@ -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 external_vitest_namespaceObject=require("vitest"),external_headers_cjs_namespaceObject=require("./headers.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("extractRelevantHeaders",()=>{(0,external_vitest_namespaceObject.it)("should extract all relevant headers when present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST"),e.set("accept-language","en-US,en;q=0.9"),e.set("user-agent","Mozilla/5.0"),e.set("x-forwarded-host","example.com"),e.set("x-forwarded-for","127.0.0.1");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({"cf-ipcountry":"US","x-vercel-ip-country":"GB","x-amz-cf-ipcountry":"DE","x-country-code":"FR","x-vercel-ip-country-region":"CA-ON","x-region-code":"WEST","accept-language":"en-US,en;q=0.9","user-agent":"Mozilla/5.0","x-c15t-country":"US","x-c15t-region":"CA-ON","x-forwarded-host":"example.com","x-forwarded-for":"127.0.0.1"})}),(0,external_vitest_namespaceObject.it)("should only extract headers that are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("user-agent","Mozilla/5.0");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({"cf-ipcountry":"US","user-agent":"Mozilla/5.0","x-c15t-country":"US"})}),(0,external_vitest_namespaceObject.it)("should return empty object when no relevant headers are present",()=>{let e=new Headers;e.set("irrelevant-header","some-value");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({})}),(0,external_vitest_namespaceObject.it)("should handle empty Headers object",()=>{let e=new Headers,t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({})}),(0,external_vitest_namespaceObject.it)("should extract sec-gpc header when present",()=>{let e=new Headers;e.set("sec-gpc","1"),e.set("cf-ipcountry","CA");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toEqual({"sec-gpc":"1","cf-ipcountry":"CA","x-c15t-country":"CA"})}),(0,external_vitest_namespaceObject.it)("should not include sec-gpc when not present",()=>{let e=new Headers;e.set("cf-ipcountry","US");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).not.toHaveProperty("sec-gpc")}),(0,external_vitest_namespaceObject.it)("should add c15t headers when corresponding headers are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST");let t=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(e);(0,external_vitest_namespaceObject.expect)(t).toMatchObject({"x-c15t-country":"US","x-c15t-region":"CA-ON"});let a=new Headers;a.set("x-country-code","FR");let c=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(a);(0,external_vitest_namespaceObject.expect)(c).toMatchObject({"x-c15t-country":"FR"});let r=new Headers;r.set("x-region-code","WEST");let s=(0,external_headers_cjs_namespaceObject.extractRelevantHeaders)(r);(0,external_vitest_namespaceObject.expect)(s).toMatchObject({"x-c15t-region":"WEST"})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headers.test.d.ts","sourceRoot":"","sources":["../../src/server/headers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe as e,expect as t,it as r}from"vitest";import{extractRelevantHeaders as c}from"./headers.js";e("extractRelevantHeaders",()=>{r("should extract all relevant headers when present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST"),e.set("accept-language","en-US,en;q=0.9"),e.set("user-agent","Mozilla/5.0"),e.set("x-forwarded-host","example.com"),e.set("x-forwarded-for","127.0.0.1"),t(c(e)).toEqual({"cf-ipcountry":"US","x-vercel-ip-country":"GB","x-amz-cf-ipcountry":"DE","x-country-code":"FR","x-vercel-ip-country-region":"CA-ON","x-region-code":"WEST","accept-language":"en-US,en;q=0.9","user-agent":"Mozilla/5.0","x-c15t-country":"US","x-c15t-region":"CA-ON","x-forwarded-host":"example.com","x-forwarded-for":"127.0.0.1"})}),r("should only extract headers that are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("user-agent","Mozilla/5.0"),t(c(e)).toEqual({"cf-ipcountry":"US","user-agent":"Mozilla/5.0","x-c15t-country":"US"})}),r("should return empty object when no relevant headers are present",()=>{let e=new Headers;e.set("irrelevant-header","some-value"),t(c(e)).toEqual({})}),r("should handle empty Headers object",()=>{t(c(new Headers)).toEqual({})}),r("should extract sec-gpc header when present",()=>{let e=new Headers;e.set("sec-gpc","1"),e.set("cf-ipcountry","CA"),t(c(e)).toEqual({"sec-gpc":"1","cf-ipcountry":"CA","x-c15t-country":"CA"})}),r("should not include sec-gpc when not present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),t(c(e)).not.toHaveProperty("sec-gpc")}),r("should add c15t headers when corresponding headers are present",()=>{let e=new Headers;e.set("cf-ipcountry","US"),e.set("x-vercel-ip-country","GB"),e.set("x-amz-cf-ipcountry","DE"),e.set("x-country-code","FR"),e.set("x-vercel-ip-country-region","CA-ON"),e.set("x-region-code","WEST"),t(c(e)).toMatchObject({"x-c15t-country":"US","x-c15t-region":"CA-ON"});let r=new Headers;r.set("x-country-code","FR"),t(c(r)).toMatchObject({"x-c15t-country":"FR"});let o=new Headers;o.set("x-region-code","WEST"),t(c(o)).toMatchObject({"x-c15t-region":"WEST"})})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-url.d.ts","sourceRoot":"","sources":["../../src/server/normalize-url.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACtB,CAwBA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,GAClB,MAAM,GAAG,IAAI,CA4Bf"}
|
|
@@ -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 external_vitest_namespaceObject=require("vitest"),external_normalize_url_cjs_namespaceObject=require("./normalize-url.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("validateBackendURL",()=>{(0,external_vitest_namespaceObject.it)("should validate absolute URLs correctly",()=>{for(let e of["http://example.com","https://example.com","http://localhost:3000","https://api.example.com/path"]){let t=(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e);(0,external_vitest_namespaceObject.expect)(t.isAbsolute).toBe(!0),(0,external_vitest_namespaceObject.expect)(t.normalizedURL).toBe(e)}}),(0,external_vitest_namespaceObject.it)("should trim trailing slashes from absolute URLs",()=>{for(let{input:e,expected:t}of[{input:"https://my-instance.c15t.dev/",expected:"https://my-instance.c15t.dev"},{input:"https://example.com/",expected:"https://example.com"},{input:"http://localhost:3000/",expected:"http://localhost:3000"},{input:"https://api.example.com/path/",expected:"https://api.example.com/path"}]){let a=(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e);(0,external_vitest_namespaceObject.expect)(a.isAbsolute).toBe(!0),(0,external_vitest_namespaceObject.expect)(a.normalizedURL).toBe(t)}}),(0,external_vitest_namespaceObject.it)("should throw error for invalid absolute URLs",()=>{for(let e of["ftp://example.com","ws://example.com","not-a-url://","http:/invalid-url"])(0,external_vitest_namespaceObject.expect)(()=>(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e)).toThrow()}),(0,external_vitest_namespaceObject.it)("should validate relative URLs correctly",()=>{for(let{input:e,expected:t}of[{input:"/api/c15t",expected:"/api/c15t"},{input:"/path/to/api",expected:"/path/to/api"}]){let a=(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e);(0,external_vitest_namespaceObject.expect)(a.isAbsolute).toBe(!1),(0,external_vitest_namespaceObject.expect)(a.normalizedURL).toBe(t)}}),(0,external_vitest_namespaceObject.it)("should trim trailing slashes from relative URLs",()=>{for(let{input:e,expected:t}of[{input:"/api/c15t/",expected:"/api/c15t"},{input:"/path/to/api/",expected:"/path/to/api"},{input:"/",expected:"/"}]){let a=(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e);(0,external_vitest_namespaceObject.expect)(a.isAbsolute).toBe(!1),(0,external_vitest_namespaceObject.expect)(a.normalizedURL).toBe(t)}}),(0,external_vitest_namespaceObject.it)("should throw error for invalid relative URLs",()=>{for(let e of["not-a-url","http://","https://","api/c15t"])(0,external_vitest_namespaceObject.expect)(()=>(0,external_normalize_url_cjs_namespaceObject.validateBackendURL)(e)).toThrow()})}),(0,external_vitest_namespaceObject.describe)("normalizeBackendURL",()=>{let e=e=>({get:t=>e[t.toLowerCase()]||null});(0,external_vitest_namespaceObject.it)("should return absolute URLs unchanged",()=>{let t="https://example.com/api",a=e({}),c=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)(t,a);(0,external_vitest_namespaceObject.expect)(c).toBe(t)}),(0,external_vitest_namespaceObject.it)("should trim trailing slashes from absolute URLs",()=>{let t=e({});for(let{input:e,expected:a}of[{input:"https://my-instance.c15t.dev/",expected:"https://my-instance.c15t.dev"},{input:"https://example.com/api/",expected:"https://example.com/api"}]){let c=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)(e,t);(0,external_vitest_namespaceObject.expect)(c).toBe(a)}}),(0,external_vitest_namespaceObject.it)("should construct URL from x-forwarded headers",()=>{let t=e({"x-forwarded-proto":"https","x-forwarded-host":"example.com"}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("/api/c15t",t);(0,external_vitest_namespaceObject.expect)(a).toBe("https://example.com/api/c15t")}),(0,external_vitest_namespaceObject.it)("should construct URL from x-forwarded headers and trim trailing slashes",()=>{for(let{headers:t,input:a,expected:c}of[{headers:{"x-forwarded-proto":"https","x-forwarded-host":"my-instance.c15t.dev"},input:"/api/c15t/",expected:"https://my-instance.c15t.dev/api/c15t"},{headers:{"x-forwarded-proto":"https","x-forwarded-host":"example.com"},input:"/api/",expected:"https://example.com/api"}]){let s=e(t),r=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)(a,s);(0,external_vitest_namespaceObject.expect)(r).toBe(c)}}),(0,external_vitest_namespaceObject.it)("should use host header when x-forwarded-host is not available",()=>{let t=e({host:"example.com"}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("/api/c15t",t);(0,external_vitest_namespaceObject.expect)(a).toBe("https://example.com/api/c15t")}),(0,external_vitest_namespaceObject.it)("should use referer when host headers are not available",()=>{let t=e({referer:"https://example.com/some/path"}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("/api/c15t",t);(0,external_vitest_namespaceObject.expect)(a).toBe("https://example.com/api/c15t")}),(0,external_vitest_namespaceObject.it)("should use referer and trim trailing slashes",()=>{let t=e({referer:"https://my-instance.c15t.dev/some/path"}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("/api/c15t/",t);(0,external_vitest_namespaceObject.expect)(a).toBe("https://my-instance.c15t.dev/api/c15t")}),(0,external_vitest_namespaceObject.it)("should return null when no headers are available to determine base URL",()=>{let t=e({}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("/api/c15t",t);(0,external_vitest_namespaceObject.expect)(a).toBeNull()}),(0,external_vitest_namespaceObject.it)("should return null for invalid URLs",()=>{let t=e({host:"example.com"}),a=(0,external_normalize_url_cjs_namespaceObject.normalizeBackendURL)("not-a-url://",t);(0,external_vitest_namespaceObject.expect)(a).toBeNull()})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-url.test.d.ts","sourceRoot":"","sources":["../../src/server/normalize-url.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{describe as t,expect as e,it as o}from"vitest";import{normalizeBackendURL as a,validateBackendURL as p}from"./normalize-url.js";t("validateBackendURL",()=>{o("should validate absolute URLs correctly",()=>{for(let t of["http://example.com","https://example.com","http://localhost:3000","https://api.example.com/path"]){let o=p(t);e(o.isAbsolute).toBe(!0),e(o.normalizedURL).toBe(t)}}),o("should trim trailing slashes from absolute URLs",()=>{for(let{input:t,expected:o}of[{input:"https://my-instance.c15t.dev/",expected:"https://my-instance.c15t.dev"},{input:"https://example.com/",expected:"https://example.com"},{input:"http://localhost:3000/",expected:"http://localhost:3000"},{input:"https://api.example.com/path/",expected:"https://api.example.com/path"}]){let a=p(t);e(a.isAbsolute).toBe(!0),e(a.normalizedURL).toBe(o)}}),o("should throw error for invalid absolute URLs",()=>{for(let t of["ftp://example.com","ws://example.com","not-a-url://","http:/invalid-url"])e(()=>p(t)).toThrow()}),o("should validate relative URLs correctly",()=>{for(let{input:t,expected:o}of[{input:"/api/c15t",expected:"/api/c15t"},{input:"/path/to/api",expected:"/path/to/api"}]){let a=p(t);e(a.isAbsolute).toBe(!1),e(a.normalizedURL).toBe(o)}}),o("should trim trailing slashes from relative URLs",()=>{for(let{input:t,expected:o}of[{input:"/api/c15t/",expected:"/api/c15t"},{input:"/path/to/api/",expected:"/path/to/api"},{input:"/",expected:"/"}]){let a=p(t);e(a.isAbsolute).toBe(!1),e(a.normalizedURL).toBe(o)}}),o("should throw error for invalid relative URLs",()=>{for(let t of["not-a-url","http://","https://","api/c15t"])e(()=>p(t)).toThrow()})}),t("normalizeBackendURL",()=>{let t=t=>({get:e=>t[e.toLowerCase()]||null});o("should return absolute URLs unchanged",()=>{let o="https://example.com/api";e(a(o,t({}))).toBe(o)}),o("should trim trailing slashes from absolute URLs",()=>{let o=t({});for(let{input:t,expected:p}of[{input:"https://my-instance.c15t.dev/",expected:"https://my-instance.c15t.dev"},{input:"https://example.com/api/",expected:"https://example.com/api"}])e(a(t,o)).toBe(p)}),o("should construct URL from x-forwarded headers",()=>{e(a("/api/c15t",t({"x-forwarded-proto":"https","x-forwarded-host":"example.com"}))).toBe("https://example.com/api/c15t")}),o("should construct URL from x-forwarded headers and trim trailing slashes",()=>{for(let{headers:o,input:p,expected:s}of[{headers:{"x-forwarded-proto":"https","x-forwarded-host":"my-instance.c15t.dev"},input:"/api/c15t/",expected:"https://my-instance.c15t.dev/api/c15t"},{headers:{"x-forwarded-proto":"https","x-forwarded-host":"example.com"},input:"/api/",expected:"https://example.com/api"}])e(a(p,t(o))).toBe(s)}),o("should use host header when x-forwarded-host is not available",()=>{e(a("/api/c15t",t({host:"example.com"}))).toBe("https://example.com/api/c15t")}),o("should use referer when host headers are not available",()=>{e(a("/api/c15t",t({referer:"https://example.com/some/path"}))).toBe("https://example.com/api/c15t")}),o("should use referer and trim trailing slashes",()=>{e(a("/api/c15t/",t({referer:"https://my-instance.c15t.dev/some/path"}))).toBe("https://my-instance.c15t.dev/api/c15t")}),o("should return null when no headers are available to determine base URL",()=>{e(a("/api/c15t",t({}))).toBeNull()}),o("should return null for invalid URLs",()=>{e(a("not-a-url://",t({host:"example.com"}))).toBeNull()})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,SAAS,CAAC"}
|
|
Binary file
|
|
Binary file
|