@c15t/react 2.2.1 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +89 -141
- package/README.md +2 -2
- package/dist/aggregate-components.js +2 -0
- package/dist/chunk-warming.js +1 -0
- package/dist/component-hooks/use-headless-consent-ui.js +2 -0
- package/dist/component-hooks/use-headless-iab-consent-ui.js +2 -0
- package/dist/component-hooks/use-manager.js +2 -0
- package/dist/component-hooks/use-panel-trigger.js +2 -0
- package/dist/component-hooks/use-translations.js +2 -0
- package/dist/components/consent-preferences-link/consent-preferences-link.js +2 -1
- package/dist/components/consent-preferences-link/index.js +1 -0
- package/dist/components/frame/atoms.js +1 -1
- package/dist/components/frame/frame.js +2 -1
- package/dist/components/frame/index.js +2 -1
- package/dist/components/iab-panel/atoms/card.js +2 -0
- package/dist/components/iab-panel/atoms/content.js +2 -0
- package/dist/components/iab-panel/atoms/footer.js +2 -0
- package/dist/components/iab-panel/atoms/header.js +2 -0
- package/dist/components/iab-panel/atoms/overlay.js +2 -0
- package/dist/components/iab-panel/atoms/purpose-item.js +2 -0
- package/dist/components/iab-panel/atoms/root.js +2 -0
- package/dist/components/iab-panel/atoms/stack-item.js +2 -0
- package/dist/components/iab-panel/atoms/tabs.js +2 -0
- package/dist/components/iab-panel/atoms/vendor-list.js +2 -0
- package/dist/components/iab-panel/hooks/use-display-model.js +2 -0
- package/dist/components/iab-panel/hooks/use-gvl-data.js +2 -0
- package/dist/components/iab-panel/iab-panel.js +2 -0
- package/dist/components/iab-panel/index.js +2 -0
- package/dist/components/iab-panel/use-iab-translations.js +1 -0
- package/dist/components/iab-prompt/atoms/button-group.js +2 -0
- package/dist/components/iab-prompt/atoms/card.js +2 -0
- package/dist/components/iab-prompt/atoms/description.js +2 -0
- package/dist/components/iab-prompt/atoms/footer.js +2 -0
- package/dist/components/iab-prompt/atoms/header.js +2 -0
- package/dist/components/iab-prompt/atoms/overlay.js +2 -0
- package/dist/components/iab-prompt/atoms/root.js +2 -0
- package/dist/components/iab-prompt/atoms/title.js +2 -0
- package/dist/components/iab-prompt/iab-prompt.js +2 -0
- package/dist/components/iab-prompt/index.js +2 -0
- package/dist/components/panel/atoms/card.js +2 -0
- package/dist/components/panel/atoms/overlay.js +1 -0
- package/dist/components/panel/atoms/root.js +2 -0
- package/dist/components/panel/index.js +2 -0
- package/dist/components/panel/panel.js +2 -0
- package/dist/components/{consent-dialog-link → panel-link}/index.js +1 -0
- package/dist/components/panel-trigger/atoms/button.js +2 -0
- package/dist/components/panel-trigger/atoms/icon.js +2 -0
- package/dist/components/panel-trigger/atoms/root.js +2 -0
- package/dist/components/panel-trigger/atoms/text.js +2 -0
- package/dist/components/panel-trigger/atoms/toolbar.js +2 -0
- package/dist/components/panel-trigger/index.js +2 -0
- package/dist/components/panel-trigger/panel-trigger-toolbar.js +2 -0
- package/dist/components/panel-trigger/panel-trigger.js +2 -0
- package/dist/components/panel-trigger/use-draggable.js +2 -0
- package/dist/components/preferences/atoms/accordion.js +1 -0
- package/dist/components/preferences/atoms/button.js +1 -0
- package/dist/components/preferences/atoms/footer.js +1 -0
- package/dist/components/preferences/atoms/root.js +2 -0
- package/dist/components/preferences/index.js +2 -0
- package/dist/components/preferences/policy-actions.js +2 -0
- package/dist/components/preferences/preferences.js +2 -0
- package/dist/components/prompt/atoms/overlay.js +1 -0
- package/dist/components/prompt/atoms/root.js +2 -0
- package/dist/components/prompt/components.js +1 -0
- package/dist/components/prompt/error-boundary.js +2 -0
- package/dist/components/prompt/index.js +2 -0
- package/dist/components/prompt/policy-actions.js +2 -0
- package/dist/components/prompt/prompt.js +2 -0
- package/dist/components/prompt/resolve-banner-primary-actions.js +1 -0
- package/dist/components/prompt/surface-context.js +2 -0
- package/dist/components/prompt/use-banner-copy.js +2 -0
- package/dist/components/shared/libs/recursive-clone-children.js +1 -1
- package/dist/components/shared/libs/slot.js +1 -1
- package/dist/components/shared/libs/use-controllable-state.js +1 -1
- package/dist/components/shared/policy-actions.js +2 -1
- package/dist/components/shared/primitives/box.js +2 -1
- package/dist/components/shared/primitives/button.js +1 -1
- package/dist/components/shared/primitives/legal-links/index.js +1 -1
- package/dist/components/shared/ui/accordion/accordion.js +2 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.js +2 -1
- package/dist/components/shared/ui/branding.js +1 -1
- package/dist/components/shared/ui/button/button.js +1 -1
- package/dist/components/shared/ui/collapsible/collapsible.js +2 -1
- package/dist/components/shared/ui/dialog/dialog.js +2 -1
- package/dist/components/shared/ui/icon.js +1 -1
- package/dist/components/shared/ui/logo.js +1 -1
- package/dist/components/shared/ui/preference-item/preference-item.js +2 -1
- package/dist/components/shared/ui/switch/switch.js +1 -1
- package/dist/components/shared/ui/tabs/tabs.js +2 -1
- package/dist/context/consent-tracking-context.js +1 -0
- package/dist/context/iab-context-value.js +1 -0
- package/dist/context/index.js +1 -0
- package/dist/context/theme-context.js +2 -1
- package/dist/context.js +1 -0
- package/dist/devtools.js +2 -0
- package/dist/draft.js +2 -0
- package/dist/external-iab-context.js +2 -0
- package/dist/frame.js +2 -0
- package/dist/headless.js +1 -1
- package/dist/hooks/use-color-scheme.js +2 -1
- package/dist/hooks/use-component-config.js +2 -1
- package/dist/hooks/use-focus-trap.js +2 -1
- package/dist/hooks/use-headless-iab-consent-ui.js +2 -1
- package/dist/hooks/use-iab-manager.js +2 -0
- package/dist/hooks/use-is-hydrated.js +2 -0
- package/dist/hooks/use-reduced-motion.js +2 -1
- package/dist/hooks/use-scroll-lock.js +2 -1
- package/dist/hooks/use-text-direction.js +2 -1
- package/dist/hooks/use-theme.js +2 -1
- package/dist/hooks.js +1 -0
- package/dist/iab/styles.css +1 -1
- package/dist/iab/styles.tw3.css +27 -19
- package/dist/iab-context.js +2 -0
- package/dist/iab.js +1 -1
- package/dist/index.js +1 -1
- package/dist/module-hooks/iframe-blocker.js +2 -0
- package/dist/module-hooks/network-blocker.js +2 -0
- package/dist/module-hooks/persistence.js +2 -0
- package/dist/module-hooks/script-loader.js +2 -0
- package/dist/module-hooks/shared.js +2 -0
- package/dist/module-hooks.js +2 -0
- package/dist/panel-link.js +2 -0
- package/dist/panel-trigger.js +2 -0
- package/dist/panel.js +2 -0
- package/dist/preferences.js +2 -0
- package/dist/primitives.js +1 -1
- package/dist/prompt.js +2 -0
- package/dist/provider.js +2 -0
- package/dist/server/fetch-ssr-data.js +1 -1
- package/dist/server/headers.js +1 -1
- package/dist/server/init-cache-key.js +1 -1
- package/dist/server/normalize-url.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.tw3.css +67 -29
- package/dist/theme-provider.js +2 -0
- package/dist/transports/offline.js +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/theme/index.js +1 -1
- package/dist/types/theme/style-types.js +1 -1
- package/dist/ui-config-context.js +2 -0
- package/dist/ui-save.js +1 -0
- package/dist/utils/cn.js +1 -1
- package/dist/utils/default-translation-config.js +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/merge-slot-props.js +1 -0
- package/dist/utils/merge-styles.js +1 -1
- package/dist/utils/theme-utils.js +1 -1
- package/dist/version.js +1 -1
- package/dist-types/aggregate-components.d.ts +4 -0
- package/dist-types/chunk-warming.d.ts +19 -0
- package/dist-types/component-hooks/use-headless-consent-ui.d.ts +68 -0
- package/dist-types/component-hooks/use-headless-iab-consent-ui.d.ts +22 -0
- package/dist-types/component-hooks/use-manager.d.ts +40 -0
- package/dist-types/component-hooks/use-panel-trigger.d.ts +20 -0
- package/dist-types/component-hooks/use-translations.d.ts +2 -0
- package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +1 -1
- package/dist-types/components/frame/atoms.d.ts +5 -5
- package/dist-types/components/frame/types.d.ts +3 -2
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/card.d.ts +2 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/content.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/footer.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/header.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/overlay.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/purpose-item.d.ts +7 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/root.d.ts +3 -2
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/stack-item.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/tabs.d.ts +1 -1
- package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/vendor-list.d.ts +2 -3
- package/dist-types/components/iab-panel/hooks/use-display-model.d.ts +18 -0
- package/dist-types/components/iab-panel/hooks/use-gvl-data.d.ts +17 -0
- package/dist-types/components/{iab-consent-dialog/iab-consent-dialog.d.ts → iab-panel/iab-panel.d.ts} +10 -3
- package/dist-types/components/{iab-consent-dialog → iab-panel}/index.d.ts +3 -2
- package/dist-types/components/iab-panel/types.d.ts +1 -0
- package/dist-types/components/{iab-consent-dialog → iab-panel}/use-iab-translations.d.ts +3 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/button-group.d.ts +1 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/card.d.ts +2 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/description.d.ts +1 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/footer.d.ts +2 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/header.d.ts +2 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/overlay.d.ts +1 -1
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/root.d.ts +3 -2
- package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/title.d.ts +1 -1
- package/dist-types/components/{iab-consent-banner/iab-consent-banner.d.ts → iab-prompt/iab-prompt.d.ts} +10 -4
- package/dist-types/components/{iab-consent-banner → iab-prompt}/index.d.ts +1 -1
- package/dist-types/components/{consent-dialog → panel}/atoms/card.d.ts +15 -15
- package/dist-types/components/{consent-dialog → panel}/atoms/overlay.d.ts +24 -8
- package/dist-types/components/{consent-dialog → panel}/atoms/root.d.ts +4 -3
- package/dist-types/components/{consent-dialog → panel}/index.d.ts +13 -8
- package/dist-types/components/{consent-dialog/consent-dialog.d.ts → panel/panel.d.ts} +6 -5
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/button.d.ts +2 -1
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/icon.d.ts +1 -16
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/root.d.ts +11 -23
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/text.d.ts +0 -11
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/toolbar.d.ts +15 -4
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/index.d.ts +2 -2
- package/dist-types/components/{consent-dialog-trigger/consent-dialog-trigger-toolbar.d.ts → panel-trigger/panel-trigger-toolbar.d.ts} +0 -23
- package/dist-types/components/{consent-dialog-trigger/consent-dialog-trigger.d.ts → panel-trigger/panel-trigger.d.ts} +8 -4
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/types.d.ts +16 -7
- package/dist-types/components/{consent-dialog-trigger → panel-trigger}/use-draggable.d.ts +2 -9
- package/dist-types/components/{consent-widget → preferences}/atoms/accordion.d.ts +5 -5
- package/dist-types/components/{consent-widget → preferences}/atoms/footer.d.ts +3 -3
- package/dist-types/components/{consent-widget → preferences}/atoms/root.d.ts +1 -1
- package/dist-types/components/{consent-widget → preferences}/index.d.ts +11 -9
- package/dist-types/components/preferences/policy-actions.d.ts +10 -0
- package/dist-types/components/{consent-banner → prompt}/atoms/overlay.d.ts +1 -1
- package/dist-types/components/prompt/atoms/root.d.ts +78 -0
- package/dist-types/components/{consent-banner → prompt}/components.d.ts +99 -14
- package/dist-types/components/{consent-banner → prompt}/error-boundary.d.ts +3 -1
- package/dist-types/components/{consent-banner → prompt}/index.d.ts +18 -10
- package/dist-types/components/prompt/policy-actions.d.ts +12 -0
- package/dist-types/components/{consent-banner/consent-banner.d.ts → prompt/prompt.d.ts} +36 -10
- package/dist-types/components/prompt/resolve-banner-primary-actions.d.ts +14 -0
- package/dist-types/components/prompt/surface-context.d.ts +45 -0
- package/dist-types/components/prompt/use-banner-copy.d.ts +16 -0
- package/dist-types/components/shared/libs/polymorphic.d.ts +2 -2
- package/dist-types/components/shared/libs/recursive-clone-children.d.ts +2 -2
- package/dist-types/components/shared/libs/slot.d.ts +1 -1
- package/dist-types/components/shared/libs/use-controllable-state.d.ts +1 -1
- package/dist-types/components/shared/policy-actions.d.ts +8 -3
- package/dist-types/components/shared/primitives/box.d.ts +3 -1
- package/dist-types/components/shared/primitives/button.d.ts +4 -37
- package/dist-types/components/shared/primitives/button.types.d.ts +3 -1
- package/dist-types/components/shared/primitives/legal-links/index.d.ts +7 -11
- package/dist-types/components/shared/ui/accordion/accordion.d.ts +45 -12
- package/dist-types/components/shared/ui/accordion/accordion.types.d.ts +1 -1
- package/dist-types/components/shared/ui/animated-collapse/animated-collapse.d.ts +1 -1
- package/dist-types/components/shared/ui/branding.d.ts +12 -12
- package/dist-types/components/shared/ui/button/button.d.ts +19 -25
- package/dist-types/components/shared/ui/button/button.types.d.ts +2 -2
- package/dist-types/components/shared/ui/collapsible/collapsible.d.ts +18 -1
- package/dist-types/components/shared/ui/dialog/dialog.d.ts +6 -6
- package/dist-types/components/shared/ui/icon.d.ts +1 -1
- package/dist-types/components/shared/ui/logo.d.ts +0 -21
- package/dist-types/components/shared/ui/preference-item/preference-item.d.ts +46 -2
- package/dist-types/components/shared/ui/switch/switch.d.ts +19 -8
- package/dist-types/components/shared/ui/tabs/tabs.d.ts +19 -2
- package/dist-types/context/iab-context-value.d.ts +37 -0
- package/dist-types/context/index.d.ts +3 -0
- package/dist-types/context/theme-context.d.ts +2 -2
- package/dist-types/context.d.ts +17 -0
- package/dist-types/devtools.d.ts +54 -0
- package/dist-types/draft.d.ts +31 -0
- package/dist-types/external-iab-context.d.ts +29 -0
- package/dist-types/frame.d.ts +1 -0
- package/dist-types/headless.d.ts +12 -8
- package/dist-types/hooks/use-color-scheme.d.ts +1 -1
- package/dist-types/hooks/use-component-config.d.ts +2 -2
- package/dist-types/hooks/use-focus-trap.d.ts +2 -2
- package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +7 -8
- package/dist-types/hooks/use-iab-manager.d.ts +52 -0
- package/dist-types/hooks/use-is-hydrated.d.ts +8 -0
- package/dist-types/hooks/use-reduced-motion.d.ts +1 -1
- package/dist-types/hooks/use-scroll-lock.d.ts +1 -1
- package/dist-types/hooks/use-text-direction.d.ts +1 -1
- package/dist-types/hooks/use-theme.d.ts +2 -1
- package/dist-types/hooks.d.ts +148 -0
- package/dist-types/iab-context.d.ts +28 -0
- package/dist-types/iab.d.ts +14 -8
- package/dist-types/index.d.ts +61 -22
- package/dist-types/module-hooks/iframe-blocker.d.ts +6 -0
- package/dist-types/module-hooks/network-blocker.d.ts +9 -0
- package/dist-types/module-hooks/persistence.d.ts +4 -0
- package/dist-types/module-hooks/script-loader.d.ts +6 -0
- package/dist-types/module-hooks/shared.d.ts +2 -0
- package/dist-types/module-hooks.d.ts +4 -0
- package/dist-types/panel-link.d.ts +1 -0
- package/dist-types/panel-trigger.d.ts +1 -0
- package/dist-types/panel.d.ts +1 -0
- package/dist-types/preferences.d.ts +1 -0
- package/dist-types/prompt.d.ts +1 -0
- package/dist-types/provider.d.ts +149 -0
- package/dist-types/server/fetch-ssr-data.d.ts +2 -2
- package/dist-types/server/headers.d.ts +3 -3
- package/dist-types/server/init-cache-key.d.ts +3 -3
- package/dist-types/server/normalize-url.d.ts +2 -2
- package/dist-types/server/types.d.ts +1 -1
- package/dist-types/theme-provider.d.ts +10 -0
- package/dist-types/transports/offline.d.ts +18 -0
- package/dist-types/types/index.d.ts +3 -0
- package/dist-types/types/manager.d.ts +15 -0
- package/dist-types/types/slots.d.ts +5 -0
- package/dist-types/types/theme/index.d.ts +0 -1
- package/dist-types/types/theme/style-types.d.ts +3 -9
- package/dist-types/ui-config-context.d.ts +9 -0
- package/dist-types/ui-save.d.ts +5 -0
- package/dist-types/utils/cn.d.ts +1 -1
- package/dist-types/utils/default-translation-config.d.ts +6 -0
- package/dist-types/utils/index.d.ts +4 -0
- package/dist-types/utils/merge-slot-props.d.ts +14 -0
- package/dist-types/utils/merge-styles.d.ts +1 -1
- package/dist-types/utils/theme-utils.d.ts +2 -2
- package/dist-types/version.d.ts +1 -1
- package/docs/README.md +89 -141
- package/docs/assets/v3/brand-bar.png +0 -0
- package/docs/assets/v3/brand-card.png +0 -0
- package/docs/assets/v3/choice-wall.png +0 -0
- package/docs/assets/v3/mobile-card.png +0 -0
- package/docs/assets/v3/preferences.png +0 -0
- package/docs/customization/overview.md +45 -0
- package/docs/customization/recipes.md +79 -0
- package/docs/customization/slots.md +55 -0
- package/docs/customization/tokens.md +76 -0
- package/docs/customization/translations.md +49 -0
- package/docs/frameworks/react/components/consent-banner.md +219 -202
- package/docs/frameworks/react/components/consent-dialog-link.md +88 -35
- package/docs/frameworks/react/components/consent-dialog-trigger.md +74 -134
- package/docs/frameworks/react/components/consent-dialog.md +170 -135
- package/docs/frameworks/react/components/consent-manager-provider.md +57 -256
- package/docs/frameworks/react/components/consent-widget.md +154 -118
- package/docs/frameworks/react/components/dev-tools.md +198 -33
- package/docs/frameworks/react/components/frame.md +120 -42
- package/docs/frameworks/react/concepts/consent-categories.md +24 -89
- package/docs/frameworks/react/concepts/policy-presets.md +123 -0
- package/docs/frameworks/react/headless.md +91 -185
- package/docs/frameworks/react/hooks/use-consent-manager/overview.md +39 -153
- package/docs/frameworks/react/iab/overview.md +33 -108
- package/docs/frameworks/react/quickstart.md +116 -112
- package/docs/frameworks/react/script-loader.md +41 -533
- package/docs/frameworks/react/styling/overview.md +168 -253
- package/docs/frameworks/react/troubleshooting.md +47 -119
- package/docs/guides/consent-state.md +60 -0
- package/docs/guides/data-fetching.md +163 -0
- package/docs/guides/deployment-modes.md +63 -0
- package/docs/guides/troubleshooting.md +68 -0
- package/docs/guides/verify-consent.md +62 -0
- package/docs/integrations/adobe-analytics.md +239 -105
- package/docs/integrations/ahrefs-analytics.md +238 -104
- package/docs/integrations/amplitude.md +219 -157
- package/docs/integrations/building-integrations.md +32 -224
- package/docs/integrations/clear-on-revocation.md +167 -0
- package/docs/integrations/clearbit.md +247 -86
- package/docs/integrations/cloudflare-web-analytics.md +250 -84
- package/docs/integrations/crisp.md +251 -97
- package/docs/integrations/databuddy.md +259 -153
- package/docs/integrations/fathom-analytics.md +239 -96
- package/docs/integrations/google-maps.md +328 -207
- package/docs/integrations/google-tag-manager.md +248 -96
- package/docs/integrations/google-tag.md +261 -90
- package/docs/integrations/heap.md +222 -149
- package/docs/integrations/hightouch.md +225 -131
- package/docs/integrations/hotjar.md +239 -90
- package/docs/integrations/intercom.md +239 -98
- package/docs/integrations/linkedin-insights.md +243 -113
- package/docs/integrations/logrocket.md +241 -123
- package/docs/integrations/matomo-analytics.md +256 -111
- package/docs/integrations/meta-pixel.md +197 -324
- package/docs/integrations/microsoft-clarity.md +233 -114
- package/docs/integrations/microsoft-uet.md +245 -110
- package/docs/integrations/mixpanel-analytics.md +252 -87
- package/docs/integrations/openai-pixel.md +441 -0
- package/docs/integrations/overview.md +95 -133
- package/docs/integrations/pirsch.md +249 -96
- package/docs/integrations/plausible-analytics.md +241 -100
- package/docs/integrations/posthog.md +353 -214
- package/docs/integrations/promptwatch.md +251 -81
- package/docs/integrations/reddit-pixel.md +226 -173
- package/docs/integrations/rudderstack.md +244 -187
- package/docs/integrations/rybbit-analytics.md +244 -91
- package/docs/integrations/segment.md +238 -92
- package/docs/integrations/snapchat-pixel.md +240 -110
- package/docs/integrations/tiktok-pixel.md +249 -81
- package/docs/integrations/umami-analytics.md +242 -95
- package/docs/integrations/vercel-analytics.md +242 -90
- package/docs/integrations/x-pixel.md +238 -104
- package/docs/integrations/youtube.md +354 -142
- package/docs/upgrade-v3.md +334 -0
- package/iab/styles.css +1 -1
- package/iab/styles.tw3.css +1 -1
- package/package.json +187 -102
- package/readme.json +1 -1
- package/src/iab/styles.css +1 -1
- package/src/iab/styles.tw3.css +1 -1
- package/src/styles.css +1 -1
- package/src/styles.tw3.css +1 -1
- package/styles.css +1 -1
- package/styles.tw3.css +1 -1
- package/client/components/consent-banner.js +0 -4
- package/client/components/consent-dialog-link.js +0 -3
- package/client/components/consent-dialog-trigger.js +0 -3
- package/client/components/consent-dialog.js +0 -4
- package/client/components/consent-widget.js +0 -4
- package/client/components/frame.js +0 -3
- package/client/components/integrations.js +0 -3
- package/dist/components/consent-banner/atoms/overlay.cjs +0 -1
- package/dist/components/consent-banner/atoms/overlay.js +0 -1
- package/dist/components/consent-banner/atoms/root.cjs +0 -1
- package/dist/components/consent-banner/atoms/root.js +0 -1
- package/dist/components/consent-banner/components.cjs +0 -1
- package/dist/components/consent-banner/components.js +0 -1
- package/dist/components/consent-banner/consent-banner.cjs +0 -1
- package/dist/components/consent-banner/consent-banner.js +0 -1
- package/dist/components/consent-banner/error-boundary.cjs +0 -1
- package/dist/components/consent-banner/error-boundary.js +0 -1
- package/dist/components/consent-banner/index.cjs +0 -1
- package/dist/components/consent-banner/index.js +0 -1
- package/dist/components/consent-banner/policy-actions.cjs +0 -1
- package/dist/components/consent-banner/policy-actions.js +0 -1
- package/dist/components/consent-dialog/atoms/card.cjs +0 -1
- package/dist/components/consent-dialog/atoms/card.js +0 -1
- package/dist/components/consent-dialog/atoms/overlay.cjs +0 -1
- package/dist/components/consent-dialog/atoms/overlay.js +0 -1
- package/dist/components/consent-dialog/atoms/root.cjs +0 -1
- package/dist/components/consent-dialog/atoms/root.js +0 -1
- package/dist/components/consent-dialog/consent-dialog.cjs +0 -1
- package/dist/components/consent-dialog/consent-dialog.js +0 -1
- package/dist/components/consent-dialog/index.cjs +0 -1
- package/dist/components/consent-dialog/index.js +0 -1
- package/dist/components/consent-dialog-link/index.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/button.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/button.js +0 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/icon.js +0 -1
- package/dist/components/consent-dialog-trigger/atoms/root.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/root.js +0 -1
- package/dist/components/consent-dialog-trigger/atoms/text.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/text.js +0 -1
- package/dist/components/consent-dialog-trigger/atoms/toolbar.cjs +0 -1
- package/dist/components/consent-dialog-trigger/atoms/toolbar.js +0 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger-toolbar.cjs +0 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger-toolbar.js +0 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +0 -1
- package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +0 -1
- package/dist/components/consent-dialog-trigger/index.cjs +0 -1
- package/dist/components/consent-dialog-trigger/index.js +0 -1
- package/dist/components/consent-dialog-trigger/types.cjs +0 -1
- package/dist/components/consent-dialog-trigger/use-draggable.cjs +0 -1
- package/dist/components/consent-dialog-trigger/use-draggable.js +0 -1
- package/dist/components/consent-preferences-link/consent-preferences-link.cjs +0 -1
- package/dist/components/consent-preferences-link/index.cjs +0 -1
- package/dist/components/consent-widget/atoms/accordion.cjs +0 -1
- package/dist/components/consent-widget/atoms/accordion.js +0 -1
- package/dist/components/consent-widget/atoms/button.cjs +0 -1
- package/dist/components/consent-widget/atoms/button.js +0 -1
- package/dist/components/consent-widget/atoms/footer.cjs +0 -1
- package/dist/components/consent-widget/atoms/footer.js +0 -1
- package/dist/components/consent-widget/atoms/root.cjs +0 -1
- package/dist/components/consent-widget/atoms/root.js +0 -1
- package/dist/components/consent-widget/consent-widget.cjs +0 -1
- package/dist/components/consent-widget/consent-widget.js +0 -1
- package/dist/components/consent-widget/index.cjs +0 -1
- package/dist/components/consent-widget/index.js +0 -1
- package/dist/components/consent-widget/policy-actions.cjs +0 -1
- package/dist/components/consent-widget/policy-actions.js +0 -1
- package/dist/components/consent-widget/types.cjs +0 -1
- package/dist/components/frame/atoms.cjs +0 -1
- package/dist/components/frame/frame.cjs +0 -1
- package/dist/components/frame/index.cjs +0 -1
- package/dist/components/frame/types.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/button-group.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/button-group.js +0 -1
- package/dist/components/iab-consent-banner/atoms/card.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/card.js +0 -1
- package/dist/components/iab-consent-banner/atoms/description.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/description.js +0 -1
- package/dist/components/iab-consent-banner/atoms/footer.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/footer.js +0 -1
- package/dist/components/iab-consent-banner/atoms/header.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/header.js +0 -1
- package/dist/components/iab-consent-banner/atoms/overlay.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/overlay.js +0 -1
- package/dist/components/iab-consent-banner/atoms/root.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/root.js +0 -1
- package/dist/components/iab-consent-banner/atoms/title.cjs +0 -1
- package/dist/components/iab-consent-banner/atoms/title.js +0 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.cjs +0 -1
- package/dist/components/iab-consent-banner/iab-consent-banner.js +0 -1
- package/dist/components/iab-consent-banner/index.cjs +0 -1
- package/dist/components/iab-consent-banner/index.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/card.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/card.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/content.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/content.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/footer.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/footer.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/header.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/header.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/overlay.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/purpose-item.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/root.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/root.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/stack-item.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/tabs.js +0 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +0 -1
- package/dist/components/iab-consent-dialog/atoms/vendor-list.js +0 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +0 -1
- package/dist/components/iab-consent-dialog/hooks/use-gvl-data.js +0 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +0 -1
- package/dist/components/iab-consent-dialog/iab-consent-dialog.js +0 -1
- package/dist/components/iab-consent-dialog/index.cjs +0 -1
- package/dist/components/iab-consent-dialog/index.js +0 -1
- package/dist/components/iab-consent-dialog/types.cjs +0 -1
- package/dist/components/iab-consent-dialog/use-iab-translations.cjs +0 -1
- package/dist/components/iab-consent-dialog/use-iab-translations.js +0 -1
- package/dist/components/integrations/google-map.cjs +0 -1
- package/dist/components/integrations/google-map.js +0 -1
- package/dist/components/integrations/index.cjs +0 -1
- package/dist/components/integrations/index.js +0 -1
- package/dist/components/integrations/shared.cjs +0 -1
- package/dist/components/integrations/shared.js +0 -1
- package/dist/components/integrations/youtube-embed.cjs +0 -1
- package/dist/components/integrations/youtube-embed.js +0 -1
- package/dist/components/shared/libs/polymorphic.cjs +0 -1
- package/dist/components/shared/libs/recursive-clone-children.cjs +0 -1
- package/dist/components/shared/libs/slot.cjs +0 -1
- package/dist/components/shared/libs/use-controllable-state.cjs +0 -1
- package/dist/components/shared/policy-actions.cjs +0 -1
- package/dist/components/shared/primitives/box.cjs +0 -1
- package/dist/components/shared/primitives/button.cjs +0 -1
- package/dist/components/shared/primitives/button.types.cjs +0 -1
- package/dist/components/shared/primitives/legal-links/index.cjs +0 -1
- package/dist/components/shared/ui/accordion/accordion.cjs +0 -1
- package/dist/components/shared/ui/accordion/accordion.types.cjs +0 -1
- package/dist/components/shared/ui/accordion/index.cjs +0 -1
- package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +0 -1
- package/dist/components/shared/ui/animated-collapse/index.cjs +0 -1
- package/dist/components/shared/ui/branding.cjs +0 -1
- package/dist/components/shared/ui/button/button.cjs +0 -1
- package/dist/components/shared/ui/button/button.types.cjs +0 -1
- package/dist/components/shared/ui/button/index.cjs +0 -1
- package/dist/components/shared/ui/collapsible/collapsible.cjs +0 -1
- package/dist/components/shared/ui/collapsible/index.cjs +0 -1
- package/dist/components/shared/ui/dialog/dialog.cjs +0 -1
- package/dist/components/shared/ui/dialog/index.cjs +0 -1
- package/dist/components/shared/ui/icon.cjs +0 -1
- package/dist/components/shared/ui/logo.cjs +0 -1
- package/dist/components/shared/ui/preference-item/index.cjs +0 -1
- package/dist/components/shared/ui/preference-item/preference-item.cjs +0 -1
- package/dist/components/shared/ui/switch/index.cjs +0 -1
- package/dist/components/shared/ui/switch/switch.cjs +0 -1
- package/dist/components/shared/ui/switch/switch.types.cjs +0 -1
- package/dist/components/shared/ui/tabs/index.cjs +0 -1
- package/dist/components/shared/ui/tabs/tabs.cjs +0 -1
- package/dist/context/consent-manager-context.cjs +0 -1
- package/dist/context/consent-manager-context.js +0 -1
- package/dist/context/consent-tracking-context.cjs +0 -1
- package/dist/context/theme-context.cjs +0 -1
- package/dist/headless.cjs +0 -1
- package/dist/hooks/index.cjs +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/use-color-scheme.cjs +0 -1
- package/dist/hooks/use-component-config.cjs +0 -1
- package/dist/hooks/use-consent-dialog-trigger.cjs +0 -1
- package/dist/hooks/use-consent-dialog-trigger.js +0 -1
- package/dist/hooks/use-consent-manager.cjs +0 -1
- package/dist/hooks/use-consent-manager.js +0 -1
- package/dist/hooks/use-consent-script.cjs +0 -1
- package/dist/hooks/use-consent-script.js +0 -1
- package/dist/hooks/use-focus-trap.cjs +0 -1
- package/dist/hooks/use-headless-consent-ui.cjs +0 -1
- package/dist/hooks/use-headless-consent-ui.js +0 -1
- package/dist/hooks/use-headless-iab-consent-ui.cjs +0 -1
- package/dist/hooks/use-reduced-motion.cjs +0 -1
- package/dist/hooks/use-scroll-lock.cjs +0 -1
- package/dist/hooks/use-ssr-status.cjs +0 -1
- package/dist/hooks/use-ssr-status.js +0 -1
- package/dist/hooks/use-styles.cjs +0 -1
- package/dist/hooks/use-styles.js +0 -1
- package/dist/hooks/use-text-direction.cjs +0 -1
- package/dist/hooks/use-theme.cjs +0 -1
- package/dist/hooks/use-translations.cjs +0 -1
- package/dist/hooks/use-translations.js +0 -1
- package/dist/iab.cjs +0 -1
- package/dist/index.cjs +0 -1
- package/dist/primitives/accordion.cjs +0 -1
- package/dist/primitives/button.cjs +0 -1
- package/dist/primitives/collapsible.cjs +0 -1
- package/dist/primitives/dialog.cjs +0 -1
- package/dist/primitives/preference-item.cjs +0 -1
- package/dist/primitives/switch.cjs +0 -1
- package/dist/primitives/tabs.cjs +0 -1
- package/dist/primitives.cjs +0 -1
- package/dist/providers/consent-manager-provider.cjs +0 -1
- package/dist/providers/consent-manager-provider.js +0 -1
- package/dist/server/fetch-ssr-data.cjs +0 -1
- package/dist/server/headers.cjs +0 -1
- package/dist/server/index.cjs +0 -1
- package/dist/server/init-cache-key.cjs +0 -1
- package/dist/server/normalize-url.cjs +0 -1
- package/dist/server/types.cjs +0 -1
- package/dist/types/consent-manager.cjs +0 -1
- package/dist/types/theme/index.cjs +0 -1
- package/dist/types/theme/style-keys.cjs +0 -1
- package/dist/types/theme/style-types.cjs +0 -1
- package/dist/utils/cn.cjs +0 -1
- package/dist/utils/merge-styles.cjs +0 -1
- package/dist/utils/test-helpers.cjs +0 -1
- package/dist/utils/test-helpers.js +0 -1
- package/dist/utils/theme-utils.cjs +0 -1
- package/dist/version.cjs +0 -1
- package/dist-types/components/consent-banner/atoms/root.d.ts +0 -126
- package/dist-types/components/consent-banner/policy-actions.d.ts +0 -11
- package/dist-types/components/consent-widget/policy-actions.d.ts +0 -11
- package/dist-types/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +0 -27
- package/dist-types/components/iab-consent-dialog/types.d.ts +0 -72
- package/dist-types/components/integrations/google-map.d.ts +0 -82
- package/dist-types/components/integrations/index.d.ts +0 -2
- package/dist-types/components/integrations/shared.d.ts +0 -12
- package/dist-types/components/integrations/youtube-embed.d.ts +0 -95
- package/dist-types/context/consent-manager-context.d.ts +0 -31
- package/dist-types/hooks/index.d.ts +0 -12
- package/dist-types/hooks/use-consent-dialog-trigger.d.ts +0 -10
- package/dist-types/hooks/use-consent-manager.d.ts +0 -27
- package/dist-types/hooks/use-consent-script.d.ts +0 -80
- package/dist-types/hooks/use-headless-consent-ui.d.ts +0 -46
- package/dist-types/hooks/use-ssr-status.d.ts +0 -57
- package/dist-types/hooks/use-styles.d.ts +0 -21
- package/dist-types/hooks/use-translations.d.ts +0 -28
- package/dist-types/providers/consent-manager-provider.d.ts +0 -40
- package/dist-types/types/consent-manager.d.ts +0 -39
- package/dist-types/types/theme/style-keys.d.ts +0 -1
- package/dist-types/utils/test-helpers.d.ts +0 -31
- package/docs/frameworks/react/building-headless-components.md +0 -370
- package/docs/frameworks/react/callbacks.md +0 -186
- package/docs/frameworks/react/concepts/client-modes.md +0 -177
- package/docs/frameworks/react/concepts/consent-models.md +0 -113
- package/docs/frameworks/react/concepts/cookie-management.md +0 -122
- package/docs/frameworks/react/concepts/glossary.md +0 -24
- package/docs/frameworks/react/concepts/initialization-flow.md +0 -149
- package/docs/frameworks/react/concepts/policy-packs.md +0 -228
- package/docs/frameworks/react/hooks/use-color-scheme.md +0 -41
- package/docs/frameworks/react/hooks/use-consent-manager/checking-consent.md +0 -96
- package/docs/frameworks/react/hooks/use-consent-manager/location-info.md +0 -97
- package/docs/frameworks/react/hooks/use-consent-manager/setting-consent.md +0 -94
- package/docs/frameworks/react/hooks/use-draggable.md +0 -59
- package/docs/frameworks/react/hooks/use-focus-trap.md +0 -42
- package/docs/frameworks/react/hooks/use-reduced-motion.md +0 -37
- package/docs/frameworks/react/hooks/use-ssr-status.md +0 -32
- package/docs/frameworks/react/hooks/use-text-direction.md +0 -50
- package/docs/frameworks/react/hooks/use-translations.md +0 -55
- package/docs/frameworks/react/iab/consent-banner.md +0 -91
- package/docs/frameworks/react/iab/consent-dialog.md +0 -129
- package/docs/frameworks/react/iab/use-gvl-data.md +0 -21
- package/docs/frameworks/react/iframe-blocking.md +0 -106
- package/docs/frameworks/react/internationalization.md +0 -207
- package/docs/frameworks/react/network-blocker.md +0 -140
- package/docs/frameworks/react/optimization.md +0 -148
- package/docs/frameworks/react/policy-packs.md +0 -242
- package/docs/frameworks/react/server-side.md +0 -158
- package/docs/frameworks/react/styling/classnames.md +0 -94
- package/docs/frameworks/react/styling/color-scheme.md +0 -84
- package/docs/frameworks/react/styling/css-variables.md +0 -53
- package/docs/frameworks/react/styling/slots.md +0 -94
- package/docs/frameworks/react/styling/tailwind.md +0 -119
- package/docs/frameworks/react/styling/tokens.md +0 -156
- package/docs/shared/concepts/client-modes.md +0 -103
- package/docs/shared/concepts/consent-categories.md +0 -41
- package/docs/shared/concepts/consent-models.md +0 -72
- package/docs/shared/concepts/cookie-management.md +0 -88
- package/docs/shared/concepts/glossary.md +0 -24
- package/docs/shared/concepts/initialization-flow.md +0 -105
- package/docs/shared/concepts/policy-packs.md +0 -225
- package/docs/shared/react/components/consent-banner.md +0 -242
- package/docs/shared/react/components/consent-dialog-link.md +0 -45
- package/docs/shared/react/components/consent-dialog-trigger.md +0 -185
- package/docs/shared/react/components/consent-dialog.md +0 -119
- package/docs/shared/react/components/consent-manager-provider.md +0 -225
- package/docs/shared/react/components/consent-widget.md +0 -121
- package/docs/shared/react/components/dev-tools.md +0 -81
- package/docs/shared/react/components/frame.md +0 -52
- package/docs/shared/react/guides/building-headless-components.md +0 -110
- package/docs/shared/react/guides/callbacks.md +0 -89
- package/docs/shared/react/guides/headless.md +0 -31
- package/docs/shared/react/guides/iframe-blocking.md +0 -65
- package/docs/shared/react/guides/internationalization.md +0 -123
- package/docs/shared/react/guides/network-blocker.md +0 -72
- package/docs/shared/react/guides/optimization.md +0 -44
- package/docs/shared/react/guides/policy-packs.md +0 -173
- package/docs/shared/react/guides/script-loader.md +0 -311
- package/docs/shared/react/hooks/use-color-scheme.md +0 -31
- package/docs/shared/react/hooks/use-consent-manager/checking-consent.md +0 -95
- package/docs/shared/react/hooks/use-consent-manager/location-info.md +0 -96
- package/docs/shared/react/hooks/use-consent-manager/overview.md +0 -74
- package/docs/shared/react/hooks/use-consent-manager/setting-consent.md +0 -93
- package/docs/shared/react/hooks/use-draggable.md +0 -30
- package/docs/shared/react/hooks/use-focus-trap.md +0 -20
- package/docs/shared/react/hooks/use-reduced-motion.md +0 -33
- package/docs/shared/react/hooks/use-ssr-status.md +0 -16
- package/docs/shared/react/hooks/use-text-direction.md +0 -38
- package/docs/shared/react/hooks/use-translations.md +0 -15
- package/docs/shared/react/iab/consent-banner.md +0 -60
- package/docs/shared/react/iab/consent-dialog.md +0 -76
- package/docs/shared/react/iab/overview.md +0 -80
- package/docs/shared/react/iab/use-gvl-data.md +0 -21
- package/docs/shared/react/styling/classnames.md +0 -93
- package/docs/shared/react/styling/color-scheme.md +0 -35
- package/docs/shared/react/styling/css-variables.md +0 -53
- package/docs/shared/react/styling/overview.md +0 -261
- package/docs/shared/react/styling/slots.md +0 -93
- package/docs/shared/react/styling/stylesheet-entrypoint.md +0 -8
- package/docs/shared/react/styling/tailwind.md +0 -88
- package/docs/shared/react/styling/tokens.md +0 -155
- package/docs/shared/troubleshooting.md +0 -82
- /package/dist/components/{consent-dialog-trigger → iab-panel}/types.js +0 -0
- /package/dist/components/{consent-widget → panel-trigger}/types.js +0 -0
- /package/dist/components/{iab-consent-dialog → preferences}/types.js +0 -0
- /package/dist/types/{consent-manager.js → manager.js} +0 -0
- /package/dist/types/{theme/style-keys.js → slots.js} +0 -0
- /package/dist-types/components/{consent-dialog-link → panel-link}/index.d.ts +0 -0
- /package/dist-types/components/{consent-widget → preferences}/atoms/button.d.ts +0 -0
- /package/dist-types/components/{consent-widget/consent-widget.d.ts → preferences/preferences.d.ts} +0 -0
- /package/dist-types/components/{consent-widget → preferences}/types.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
let e=function(e){return e};export{e as defineTheme};
|
package/dist/ui-save.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=new WeakMap,t=t=>{e.set(t,{})},n=async(n,a,i)=>{let o={};e.set(n,o);let l="dialog"===n.getSnapshot().activeUI,s=a();l&&e.get(n)===o&&n.set.activeUI("dialog");let g=n.subscribe(a=>{l&&"dialog"!==a.activeUI&&e.get(n)===o&&t(n)});try{let t=await s;if(t.ok&&i()&&l&&e.get(n)===o){let e=n.getSnapshot();n.set.activeUI(e.policyPending||"failed"===e.resolution.status||"none"===e.promptRequirement.kind?"none":"banner")}return t}finally{g()}};export{t as invalidateConsentUIAction,n as saveConsentUI};
|
package/dist/utils/cn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cn as t}from"@c15t/ui/utils";function
|
|
1
|
+
import{cn as t}from"@c15t/ui/utils";let n=function(...n){return t(...n)};export{n as cnExt};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{translations as n}from"@c15t/translations/en";let t={defaultLanguage:"en",translations:{en:n}};export{t as defaultTranslationConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export*from"./cn.js";export*from"./default-translation-config.js";export*from"./merge-styles.js";export*from"./theme-utils.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cnExt as e}from"./cn.js";let t=function(e,t){if(!t)return;let[o,r]=t.split(".");return e?.[o]?.[r]},o=function(t,{baseClassName:o,className:r,noStyle:s,style:l,...p}){let i=t?.style||l?{...t?.style,...l}:void 0,m=e(s?void 0:o,t?.className,r);return{...t,...p,className:m||void 0,style:i}};export{t as getSlotProps,o as mergeSlotProps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mergeStyles as e}from"@c15t/ui/utils";
|
|
1
|
+
import{mergeStyles as e}from"@c15t/ui/utils";let t=function(t,r){return e(t,r)};export{t as mergeStyles};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defaultTheme as e,generateThemeCSS as t,themeToVars as m}from"@c15t/ui/theme";let r=
|
|
1
|
+
import{defaultTheme as e,generateThemeCSS as t,themeToVars as m}from"@c15t/ui/theme";let a=e,r=function(e,t=!1){return m(e,t)},h=function(e){return t(e)};export{a as defaultTheme,h as generateThemeCSS,r as themeToVars};
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e="
|
|
1
|
+
let e="3.0.0-alpha.1";export{e as version};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ConsentDialogCompoundComponent } from './components/panel';
|
|
2
|
+
import type { ConsentWidgetCompoundComponent } from './components/preferences';
|
|
3
|
+
export declare const ConsentDialog: ConsentDialogCompoundComponent;
|
|
4
|
+
export declare const ConsentWidget: ConsentWidgetCompoundComponent;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chunk-warming registry (Vue-parity perf work, item #2).
|
|
3
|
+
*
|
|
4
|
+
* The aggregate `ConsentDialog` is lazy-loaded and — since the interaction
|
|
5
|
+
* fix — deferred until it can actually render. That leaves one cold path:
|
|
6
|
+
* the user's *first* "customize" click pays the chunk network+parse cost
|
|
7
|
+
* under throttle. Surfaces register their lazy import here, and intent
|
|
8
|
+
* signals (pointerenter/focus on the customize button) warm the chunk
|
|
9
|
+
* before the click.
|
|
10
|
+
*
|
|
11
|
+
* Module-level registry keeps banner components decoupled from the
|
|
12
|
+
* aggregate exports (no context change, tree-shakes with the aggregate).
|
|
13
|
+
*/
|
|
14
|
+
type Warmer = () => void;
|
|
15
|
+
/** Register a lazy chunk's import trigger. Returns an unregister fn. */
|
|
16
|
+
export declare const registerDialogChunkWarmer: (warmer: Warmer) => () => void;
|
|
17
|
+
/** Fire all registered warmers once (idempotent). */
|
|
18
|
+
export declare const warmDialogChunk: () => void;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ConsentPresentation, PresentationAction, ResolvedConsentPresentation } from '@c15t/core';
|
|
2
|
+
export type HeadlessConsentSurface = 'banner' | 'dialog';
|
|
3
|
+
export type HeadlessConsentSurfaceAction = PresentationAction;
|
|
4
|
+
export type HeadlessConsentWriteAction = 'accept' | 'reject' | 'save';
|
|
5
|
+
export type HeadlessConsentBannerAction = PresentationAction;
|
|
6
|
+
export type HeadlessConsentDialogAction = PresentationAction;
|
|
7
|
+
export interface HeadlessConsentSurfaceState<Action extends string = PresentationAction> extends Omit<ResolvedConsentPresentation, 'allowedActions' | 'orderedActions' | 'actionGroups' | 'primaryActions'> {
|
|
8
|
+
allowedActions: Action[];
|
|
9
|
+
orderedActions: Action[];
|
|
10
|
+
actionGroups: Action[][];
|
|
11
|
+
primaryActions: Action[];
|
|
12
|
+
isVisible: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type HeadlessConsentBannerState = HeadlessConsentSurfaceState;
|
|
15
|
+
export type HeadlessConsentDialogState = HeadlessConsentSurfaceState;
|
|
16
|
+
/** Resolve required controls with optional component-level presentation. */
|
|
17
|
+
export declare const useHeadlessConsentUI: (overrides?: ConsentPresentation) => {
|
|
18
|
+
activeUI: import("@c15t/core").KernelActiveUI;
|
|
19
|
+
banner: {
|
|
20
|
+
allowedActions: PresentationAction[];
|
|
21
|
+
requiredActions: PresentationAction[];
|
|
22
|
+
equivalentActions: PresentationAction[][];
|
|
23
|
+
orderedActions: PresentationAction[];
|
|
24
|
+
actionGroups: PresentationAction[][];
|
|
25
|
+
primaryActions: PresentationAction[];
|
|
26
|
+
diagnostics: import("@c15t/core").PresentationDiagnostic[];
|
|
27
|
+
rights: readonly import("@c15t/schema/types").PolicyRight[];
|
|
28
|
+
preferenceControls: Exclude<import("@c15t/schema/types").PolicyRight, 'disclosure'>[];
|
|
29
|
+
direction: 'row' | 'column';
|
|
30
|
+
uiProfile: 'balanced' | 'compact' | 'strict';
|
|
31
|
+
scrollLock: boolean;
|
|
32
|
+
trapFocus: boolean;
|
|
33
|
+
shouldFillActions: boolean;
|
|
34
|
+
variant: import("@c15t/core").PromptVariant;
|
|
35
|
+
position: import("@c15t/core").PromptPosition;
|
|
36
|
+
positionSource: 'host' | 'default';
|
|
37
|
+
blocking: boolean;
|
|
38
|
+
isVisible: boolean;
|
|
39
|
+
};
|
|
40
|
+
closeUI: () => void;
|
|
41
|
+
dialog: {
|
|
42
|
+
allowedActions: PresentationAction[];
|
|
43
|
+
requiredActions: PresentationAction[];
|
|
44
|
+
equivalentActions: PresentationAction[][];
|
|
45
|
+
orderedActions: PresentationAction[];
|
|
46
|
+
actionGroups: PresentationAction[][];
|
|
47
|
+
primaryActions: PresentationAction[];
|
|
48
|
+
diagnostics: import("@c15t/core").PresentationDiagnostic[];
|
|
49
|
+
rights: readonly import("@c15t/schema/types").PolicyRight[];
|
|
50
|
+
preferenceControls: Exclude<import("@c15t/schema/types").PolicyRight, 'disclosure'>[];
|
|
51
|
+
direction: 'row' | 'column';
|
|
52
|
+
uiProfile: 'balanced' | 'compact' | 'strict';
|
|
53
|
+
scrollLock: boolean;
|
|
54
|
+
trapFocus: boolean;
|
|
55
|
+
shouldFillActions: boolean;
|
|
56
|
+
variant: import("@c15t/core").PromptVariant;
|
|
57
|
+
position: import("@c15t/core").PromptPosition;
|
|
58
|
+
positionSource: 'host' | 'default';
|
|
59
|
+
blocking: boolean;
|
|
60
|
+
isVisible: boolean;
|
|
61
|
+
};
|
|
62
|
+
openBanner: () => void;
|
|
63
|
+
openDialog: () => void;
|
|
64
|
+
performAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
|
|
65
|
+
performBannerAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
|
|
66
|
+
performDialogAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
|
|
67
|
+
saveCustomPreferences: (input?: import("@c15t/core").SaveInput) => Promise<import("@c15t/core").SaveResult>;
|
|
68
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const useHeadlessIABConsentUI: () => {
|
|
2
|
+
activeUI: import("@c15t/core").ActiveUI;
|
|
3
|
+
banner: {
|
|
4
|
+
isReady: boolean;
|
|
5
|
+
vendorCount: number;
|
|
6
|
+
displayItems: string[];
|
|
7
|
+
remainingCount: number;
|
|
8
|
+
scrollLock: boolean | undefined;
|
|
9
|
+
};
|
|
10
|
+
closeUI: () => void;
|
|
11
|
+
dialog: {
|
|
12
|
+
isReady: boolean;
|
|
13
|
+
scrollLock: boolean | undefined;
|
|
14
|
+
};
|
|
15
|
+
iab: import("../iab-context").ReactIABState | null;
|
|
16
|
+
openDialog: (options?: {
|
|
17
|
+
tab?: 'purposes' | 'vendors';
|
|
18
|
+
}) => void;
|
|
19
|
+
openVendorsDialog: () => void;
|
|
20
|
+
performBannerAction: (action: 'accept' | 'reject' | 'customize') => Promise<void>;
|
|
21
|
+
performDialogAction: (action: 'accept' | 'reject' | 'customize') => Promise<void>;
|
|
22
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ActiveUI, AllConsentNames, ConsentState, ConsentType, HasCondition, Model, PromptPresentation, TranslationConfig } from '@c15t/core';
|
|
2
|
+
type SaveType = 'all' | 'custom' | 'necessary';
|
|
3
|
+
export declare const useConsentManager: () => {
|
|
4
|
+
activeUI: ActiveUI;
|
|
5
|
+
branding: import("@c15t/core").KernelBranding;
|
|
6
|
+
consentCategories: AllConsentNames[];
|
|
7
|
+
consentTypes: ConsentType[];
|
|
8
|
+
consents: ConsentState;
|
|
9
|
+
draftIsStale: boolean;
|
|
10
|
+
effectivePermissions: Readonly<ConsentState>;
|
|
11
|
+
explicitChoice: Readonly<import("@c15t/core").ExplicitChoice> | null;
|
|
12
|
+
getDisplayedConsents: () => ConsentType[];
|
|
13
|
+
has: (condition: HasCondition<AllConsentNames>) => boolean;
|
|
14
|
+
iab: Readonly<import("@c15t/core").KernelIABState> | null;
|
|
15
|
+
manager: null;
|
|
16
|
+
model: Model;
|
|
17
|
+
noticeDismissal: Readonly<import("@c15t/core").NoticeDismissal> | null;
|
|
18
|
+
optOutDirectives: readonly import("@c15t/core").PrivacyOptOut[];
|
|
19
|
+
policyBanner: PromptPresentation;
|
|
20
|
+
policyCategories: AllConsentNames[];
|
|
21
|
+
policyDialog: import("@c15t/core").PreferencesPresentation;
|
|
22
|
+
policyRule: Readonly<import("@c15t/core").ResolvedPolicyRule>;
|
|
23
|
+
policyScopeMode: import("@c15t/core").PolicyScopeMode;
|
|
24
|
+
privacySignals: import("@c15t/core").KernelPrivacySignals;
|
|
25
|
+
promptRequirement: Readonly<import("@c15t/core").PromptRequirement>;
|
|
26
|
+
resetDraft: () => void;
|
|
27
|
+
resolution: Readonly<import("@c15t/core").PolicyResolution>;
|
|
28
|
+
restrictions: Readonly<Partial<Record<import("@c15t/core").OptionalConsentCategory, readonly import("@c15t/core").RestrictionReason[]>>>;
|
|
29
|
+
saveConsents: (type: SaveType, _options?: {
|
|
30
|
+
uiSource?: string;
|
|
31
|
+
}) => Promise<void>;
|
|
32
|
+
selectedConsentTypes: Readonly<ConsentState>;
|
|
33
|
+
selectedConsents: Readonly<ConsentState>;
|
|
34
|
+
setActiveUI: (ui: ActiveUI) => void;
|
|
35
|
+
setSelectedConsent: (name: AllConsentNames, value: boolean) => void;
|
|
36
|
+
subscribeToConsentChanges: (listener: (state: ConsentState) => void) => () => void;
|
|
37
|
+
translationConfig: TranslationConfig;
|
|
38
|
+
updateConsentCategories: (_names: AllConsentNames[]) => void;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When a trigger surface is visible.
|
|
3
|
+
*
|
|
4
|
+
* - `always` renders whenever the preference center is closed.
|
|
5
|
+
* - `after-prompt` renders only once no prompt is owed: after a choice is
|
|
6
|
+
* saved or a notice is dismissed, and again when a policy change asks
|
|
7
|
+
* for a new prompt is answered.
|
|
8
|
+
* - `never` hides the surface so the host can open the dialog itself.
|
|
9
|
+
*/
|
|
10
|
+
export type ConsentDialogTriggerVisibility = 'always' | 'after-prompt' | 'never';
|
|
11
|
+
export interface UseConsentDialogTriggerOptions {
|
|
12
|
+
showWhen?: ConsentDialogTriggerVisibility;
|
|
13
|
+
onClick?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export interface UseConsentDialogTriggerResult {
|
|
16
|
+
isVisible: boolean;
|
|
17
|
+
openDialog: () => void;
|
|
18
|
+
}
|
|
19
|
+
/** Persistent preferences access does not depend on a choice or prompt. */
|
|
20
|
+
export declare const useConsentDialogTrigger: (options?: UseConsentDialogTriggerOptions) => UseConsentDialogTriggerResult;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AllConsentNames } from 'c15t';
|
|
2
|
-
import {
|
|
1
|
+
import type { AllConsentNames } from '@c15t/core';
|
|
2
|
+
import type { BoxProps } from '../shared/primitives/box';
|
|
3
3
|
import type { ConsentButtonProps } from '../shared/primitives/button.types';
|
|
4
|
-
declare const FrameRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
5
|
-
declare const FrameTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
4
|
+
declare const FrameRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const FrameTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & {
|
|
6
6
|
category?: AllConsentNames;
|
|
7
7
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
|
-
declare const FrameButton: import("react").ForwardRefExoticComponent<Omit<ConsentButtonProps, "
|
|
8
|
+
declare const FrameButton: import("react").ForwardRefExoticComponent<Omit<ConsentButtonProps, "slotKey"> & {
|
|
9
9
|
category: AllConsentNames;
|
|
10
10
|
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
11
11
|
export { FrameButton, FrameRoot, FrameTitle };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { AllConsentNames } from 'c15t';
|
|
1
|
+
import type { AllConsentNames } from '@c15t/core';
|
|
2
2
|
import type { ComponentPropsWithRef, FC, ReactNode } from 'react';
|
|
3
|
+
import type { Theme } from '../../types/theme';
|
|
3
4
|
import type * as Atom from './atoms';
|
|
4
5
|
export interface FrameProps extends ComponentPropsWithRef<'div'> {
|
|
5
6
|
/**
|
|
@@ -27,7 +28,7 @@ export interface FrameProps extends ComponentPropsWithRef<'div'> {
|
|
|
27
28
|
*
|
|
28
29
|
* @default undefined
|
|
29
30
|
*/
|
|
30
|
-
theme?:
|
|
31
|
+
theme?: Theme;
|
|
31
32
|
}
|
|
32
33
|
export interface FrameCompoundComponent extends FC<FrameProps> {
|
|
33
34
|
Root: typeof Atom.FrameRoot;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
interface IABConsentDialogCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
'data-testid'?: string;
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
6
7
|
* Card component for the IAB Consent Dialog.
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { FC } from 'react';
|
|
2
2
|
import type { ProcessedPurpose, VendorId } from '../types';
|
|
3
3
|
interface PurposeItemProps {
|
|
4
4
|
purpose: ProcessedPurpose;
|
|
5
|
+
/**
|
|
6
|
+
* The row's `data-testid`. Comes from the shared display model, which
|
|
7
|
+
* namespaces it by row kind — a purpose, a special purpose and a
|
|
8
|
+
* special feature can all be numbered `1`.
|
|
9
|
+
*/
|
|
10
|
+
testId?: string;
|
|
5
11
|
isEnabled: boolean;
|
|
6
12
|
onToggle: (value: boolean) => void;
|
|
7
13
|
vendorConsents: Record<string, boolean>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
2
|
+
import type { FC, ReactNode } from 'react';
|
|
2
3
|
interface IABConsentDialogRootProps {
|
|
3
4
|
children: ReactNode;
|
|
4
5
|
/**
|
|
@@ -13,7 +14,7 @@ interface IABConsentDialogRootProps {
|
|
|
13
14
|
* Which consent models this dialog responds to.
|
|
14
15
|
* @default ['iab']
|
|
15
16
|
*/
|
|
16
|
-
models?:
|
|
17
|
+
models?: C15tCoreTypes.Model[];
|
|
17
18
|
/**
|
|
18
19
|
* Override the UI source identifier sent with consent API calls.
|
|
19
20
|
* @default 'iab_dialog'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
interface IABConsentDialogTabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
defaultTab?: 'purposes' | 'vendors';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { GlobalVendorList } from 'c15t';
|
|
2
|
-
import {
|
|
1
|
+
import type { GlobalVendorList } from '@c15t/core';
|
|
2
|
+
import type { FC } from 'react';
|
|
3
3
|
import type { ProcessedPurpose, VendorId } from '../types';
|
|
4
|
-
/** Custom vendor not registered with IAB */
|
|
5
4
|
interface CustomVendor {
|
|
6
5
|
id: string | number;
|
|
7
6
|
name: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { HeadlessIABDialogDisplayModel } from '@c15t/iab/headless';
|
|
2
|
+
/**
|
|
3
|
+
* The rows the IAB preference centre renders.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type IABDisplayModel = HeadlessIABDialogDisplayModel;
|
|
7
|
+
/**
|
|
8
|
+
* Hook over the shared IAB display model.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* React wrapper around `resolveIABDialogDisplayModel` from
|
|
12
|
+
* `@c15t/iab/headless`, so React, Svelte, Vue and the Astro server render
|
|
13
|
+
* agree on which rows a preference centre shows and in what order.
|
|
14
|
+
*
|
|
15
|
+
* @returns The ordered rows plus the tab counts.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export declare const useIABDisplayModel: () => IABDisplayModel;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HeadlessIABDialogData } from '@c15t/iab/headless';
|
|
2
|
+
/**
|
|
3
|
+
* Processed GVL data for the IAB Consent Dialog.
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export type GVLData = HeadlessIABDialogData;
|
|
7
|
+
/**
|
|
8
|
+
* Hook to process GVL (Global Vendor List) data into UI-friendly format.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* React wrapper around the framework-agnostic headless processor from
|
|
12
|
+
* `@c15t/iab/headless`.
|
|
13
|
+
*
|
|
14
|
+
* @returns Processed GVL data ready for UI rendering
|
|
15
|
+
* @public
|
|
16
|
+
*/
|
|
17
|
+
export declare const useGVLData: () => GVLData;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
2
|
+
import type { FC } from 'react';
|
|
3
|
+
import type { ConsentDialogTriggerProps } from '../panel-trigger';
|
|
3
4
|
/**
|
|
4
5
|
* Props for the IABConsentDialog component.
|
|
5
6
|
* @public
|
|
@@ -45,11 +46,17 @@ export interface IABConsentDialogProps {
|
|
|
45
46
|
* @default false
|
|
46
47
|
*/
|
|
47
48
|
showTrigger?: boolean | ConsentDialogTriggerProps;
|
|
49
|
+
/**
|
|
50
|
+
* Which tab the preference centre opens on. Lets a "N partners" link
|
|
51
|
+
* land on the vendor list instead of purposes.
|
|
52
|
+
* @default 'purposes'
|
|
53
|
+
*/
|
|
54
|
+
initialTab?: 'purposes' | 'vendors';
|
|
48
55
|
/**
|
|
49
56
|
* Which consent models this dialog responds to.
|
|
50
57
|
* @default ['iab']
|
|
51
58
|
*/
|
|
52
|
-
models?:
|
|
59
|
+
models?: C15tCoreTypes.Model[];
|
|
53
60
|
/**
|
|
54
61
|
* Override the UI source identifier sent with consent API calls.
|
|
55
62
|
* @default 'iab_dialog'
|
|
@@ -17,7 +17,7 @@ import { IABConsentDialogRoot } from './atoms/root';
|
|
|
17
17
|
import { StackItem } from './atoms/stack-item';
|
|
18
18
|
import { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
|
|
19
19
|
import { VendorList } from './atoms/vendor-list';
|
|
20
|
-
import {
|
|
20
|
+
import type { IABConsentDialogProps } from './iab-panel';
|
|
21
21
|
/**
|
|
22
22
|
* This interface extends the base IABConsentDialog component with additional sub-components
|
|
23
23
|
* that can be used to compose the consent dialog's structure.
|
|
@@ -84,8 +84,9 @@ export { IABConsentDialogOverlay } from './atoms/overlay';
|
|
|
84
84
|
export { PurposeItem } from './atoms/purpose-item';
|
|
85
85
|
export { IABConsentDialogRoot } from './atoms/root';
|
|
86
86
|
export { StackItem } from './atoms/stack-item';
|
|
87
|
-
export { IABConsentDialogTabButton, IABConsentDialogTabs
|
|
87
|
+
export { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
|
|
88
88
|
export { VendorList } from './atoms/vendor-list';
|
|
89
|
+
export { type IABDisplayModel, useIABDisplayModel, } from './hooks/use-display-model';
|
|
89
90
|
export { type GVLData, useGVLData } from './hooks/use-gvl-data';
|
|
90
91
|
export type { ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack, ProcessedVendor, } from './types';
|
|
91
92
|
export { IABConsentDialog, type IABConsentDialogProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { HeadlessIABProcessedFeature as ProcessedFeature, HeadlessIABProcessedPurpose as ProcessedPurpose, HeadlessIABProcessedSpecialFeature as ProcessedSpecialFeature, HeadlessIABProcessedStack as ProcessedStack, HeadlessIABProcessedVendor as ProcessedVendor, HeadlessIABVendorId as VendorId, } from '@c15t/iab/headless';
|
|
@@ -65,6 +65,8 @@ interface IABTranslations {
|
|
|
65
65
|
privacyPolicy: string;
|
|
66
66
|
storageDisclosure: string;
|
|
67
67
|
requiredNotice: string;
|
|
68
|
+
partnerSingular: string;
|
|
69
|
+
partnerPlural: string;
|
|
68
70
|
};
|
|
69
71
|
footer: {
|
|
70
72
|
consentStorage: string;
|
|
@@ -79,5 +81,5 @@ interface IABTranslations {
|
|
|
79
81
|
*
|
|
80
82
|
* @returns Complete IAB translations object
|
|
81
83
|
*/
|
|
82
|
-
export declare
|
|
84
|
+
export declare const useIABTranslations: () => IABTranslations;
|
|
83
85
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
interface IABConsentBannerCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
'data-testid'?: string;
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
6
7
|
* Card component for the IAB Consent Banner.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
interface IABConsentBannerFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
'data-testid'?: string;
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
6
7
|
* Footer component for the IAB Consent Banner.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
interface IABConsentBannerHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
'data-testid'?: string;
|
|
4
5
|
}
|
|
5
6
|
/**
|
|
6
7
|
* Header component for the IAB Consent Banner.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
2
|
+
import type { FC, HTMLAttributes, ReactNode } from 'react';
|
|
2
3
|
interface IABConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
children: ReactNode;
|
|
4
5
|
noStyle?: boolean;
|
|
@@ -9,7 +10,7 @@ interface IABConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
9
10
|
* Which consent models this banner responds to.
|
|
10
11
|
* @default ['iab']
|
|
11
12
|
*/
|
|
12
|
-
models?:
|
|
13
|
+
models?: C15tCoreTypes.Model[];
|
|
13
14
|
/**
|
|
14
15
|
* Override the UI source identifier sent with consent API calls.
|
|
15
16
|
* @default 'iab_banner'
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
2
|
+
import type { FC } from 'react';
|
|
2
3
|
/**
|
|
3
4
|
* Props for the IABConsentBanner component.
|
|
4
5
|
* @public
|
|
@@ -33,7 +34,7 @@ export interface IABConsentBannerProps {
|
|
|
33
34
|
* Which consent models this banner responds to.
|
|
34
35
|
* @default ['iab']
|
|
35
36
|
*/
|
|
36
|
-
models?:
|
|
37
|
+
models?: C15tCoreTypes.Model[];
|
|
37
38
|
/**
|
|
38
39
|
* Override the UI source identifier sent with consent API calls.
|
|
39
40
|
* @default 'iab_banner'
|
|
@@ -54,9 +55,14 @@ export interface IABConsentBannerProps {
|
|
|
54
55
|
*
|
|
55
56
|
* @example
|
|
56
57
|
* ```tsx
|
|
57
|
-
* <
|
|
58
|
+
* <ConsentProvider
|
|
59
|
+
* options={{
|
|
60
|
+
* mode: hosted({ url: '/api/c15t' }),
|
|
61
|
+
* iab: { cmpId: 123, vendors: [1, 2, 10] },
|
|
62
|
+
* }}
|
|
63
|
+
* >
|
|
58
64
|
* <IABConsentBanner />
|
|
59
|
-
* </
|
|
65
|
+
* </ConsentProvider>
|
|
60
66
|
* ```
|
|
61
67
|
*
|
|
62
68
|
* @public
|
|
@@ -15,7 +15,7 @@ import { IABConsentBannerHeader } from './atoms/header';
|
|
|
15
15
|
import { IABConsentBannerOverlay } from './atoms/overlay';
|
|
16
16
|
import { IABConsentBannerRoot } from './atoms/root';
|
|
17
17
|
import { IABConsentBannerTitle } from './atoms/title';
|
|
18
|
-
import {
|
|
18
|
+
import type { IABConsentBannerProps } from './iab-prompt';
|
|
19
19
|
/**
|
|
20
20
|
* This interface extends the base IABConsentBanner component with additional sub-components
|
|
21
21
|
* that can be used to compose the banner's structure.
|