@c15t/react 2.2.1 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +88 -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 +133 -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 +173 -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 +144 -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 +88 -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 +41 -249
- 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 +35 -535
- package/docs/frameworks/react/styling/overview.md +160 -255
- 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/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,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BoxProps } from '../../shared/primitives/box';
|
|
3
3
|
import type { InlineLegalLinksProps } from '../../shared/primitives/legal-links';
|
|
4
|
-
import {
|
|
4
|
+
import type { BrandingSlotContext, BrandingVariant } from '../../shared/ui/branding';
|
|
5
5
|
import type { ClassNameStyle } from '../../../types/theme';
|
|
6
6
|
declare const ConsentDialogCard: import("react").ForwardRefExoticComponent<{
|
|
7
7
|
/** The content to be rendered inside the consent dialog card */
|
|
@@ -16,7 +16,7 @@ declare const ConsentDialogCard: import("react").ForwardRefExoticComponent<{
|
|
|
16
16
|
* - Should be the first child of ConsentDialogCard
|
|
17
17
|
* - Styled according to the theme configuration
|
|
18
18
|
*/
|
|
19
|
-
declare const ConsentDialogHeader: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
19
|
+
declare const ConsentDialogHeader: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
20
20
|
/**
|
|
21
21
|
* The title component for the consent dialog header.
|
|
22
22
|
* Displays the main heading of the consent management interface.
|
|
@@ -26,7 +26,7 @@ declare const ConsentDialogHeader: import("react").ForwardRefExoticComponent<Omi
|
|
|
26
26
|
* - Should be used within ConsentDialogHeader
|
|
27
27
|
* - Supports theme customization
|
|
28
28
|
*/
|
|
29
|
-
declare const ConsentDialogHeaderTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
29
|
+
declare const ConsentDialogHeaderTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
30
|
/**
|
|
31
31
|
* The description component for the consent dialog header.
|
|
32
32
|
* Provides additional context about privacy settings and consent choices.
|
|
@@ -37,7 +37,7 @@ declare const ConsentDialogHeaderTitle: import("react").ForwardRefExoticComponen
|
|
|
37
37
|
* - Important for explaining privacy choices to users
|
|
38
38
|
* - Can include legal links inline with the description
|
|
39
39
|
*/
|
|
40
|
-
declare const ConsentDialogHeaderDescription: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
40
|
+
declare const ConsentDialogHeaderDescription: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & {
|
|
41
41
|
legalLinks?: InlineLegalLinksProps['links'];
|
|
42
42
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
43
43
|
/**
|
|
@@ -49,23 +49,23 @@ declare const ConsentDialogHeaderDescription: import("react").ForwardRefExoticCo
|
|
|
49
49
|
* - Supports custom content and styling
|
|
50
50
|
* - Handles user interactions with privacy settings
|
|
51
51
|
*/
|
|
52
|
-
declare const ConsentDialogContent: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
52
|
+
declare const ConsentDialogContent: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
53
53
|
/**
|
|
54
54
|
* The footer section of the consent dialog.
|
|
55
55
|
* This contains the branding but can be overidden with a custom footer.
|
|
56
56
|
*/
|
|
57
|
+
export declare const Branding: (props: BrandingProps) => import("react").JSX.Element;
|
|
57
58
|
declare const ConsentDialogFooter: import("react").ForwardRefExoticComponent<BoxProps & {
|
|
58
59
|
hideBranding?: boolean;
|
|
59
60
|
'data-testid'?: string;
|
|
60
61
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
61
|
-
|
|
62
|
+
interface BrandingProps {
|
|
62
63
|
hideBranding: boolean;
|
|
63
64
|
variant?: BrandingVariant;
|
|
64
|
-
|
|
65
|
+
slotContext?: BrandingSlotContext;
|
|
65
66
|
className?: string;
|
|
66
67
|
'data-testid'?: string;
|
|
67
|
-
}
|
|
68
|
-
export declare function Branding(props: BrandingProps): import("react").JSX.Element;
|
|
68
|
+
}
|
|
69
69
|
/**
|
|
70
70
|
* A pre-configured privacy settings card.
|
|
71
71
|
* Combines all consent dialog components with default content for privacy customization.
|
|
@@ -98,12 +98,12 @@ declare const Card: import("react").ForwardRefExoticComponent<{
|
|
|
98
98
|
/** The content to be rendered inside the consent dialog card */
|
|
99
99
|
children?: ReactNode;
|
|
100
100
|
} & ClassNameStyle<Record<string, string | number>> & import("react").RefAttributes<HTMLDivElement>>;
|
|
101
|
-
declare const Header: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
102
|
-
declare const HeaderTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
103
|
-
declare const HeaderDescription: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
101
|
+
declare const Header: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
102
|
+
declare const HeaderTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
103
|
+
declare const HeaderDescription: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & {
|
|
104
104
|
legalLinks?: InlineLegalLinksProps['links'];
|
|
105
105
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
106
|
-
declare const Content: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
106
|
+
declare const Content: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
107
107
|
declare const Footer: import("react").ForwardRefExoticComponent<BoxProps & {
|
|
108
108
|
hideBranding?: boolean;
|
|
109
109
|
'data-testid'?: string;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Provides the overlay backdrop component for the consent management interface.
|
|
4
4
|
* Implements accessible modal behavior with animation support.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import type { FC, PropsWithChildren } from 'react';
|
|
7
7
|
import type { ThemeValue } from '../../../types/theme';
|
|
8
8
|
/**
|
|
9
9
|
* Props for the Overlay component.
|
|
@@ -15,17 +15,25 @@ import type { ThemeValue } from '../../../types/theme';
|
|
|
15
15
|
*
|
|
16
16
|
* @public
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Props for the Overlay component.
|
|
20
|
+
*
|
|
21
|
+
* @remarks
|
|
22
|
+
* Extends {@link PropsWithChildren} so that the overlay can optionally wrap
|
|
23
|
+
* its compound components (e.g. `ConsentDialog.Card`). This resolves
|
|
24
|
+
* TypeScript errors when consumers nest elements inside
|
|
25
|
+
* `<ConsentDialog.Root>`.
|
|
26
|
+
*/
|
|
27
|
+
export type OverlayProps = PropsWithChildren<{
|
|
19
28
|
/**
|
|
20
29
|
* Custom styles to override default overlay styling.
|
|
21
30
|
*
|
|
22
31
|
* @remarks
|
|
23
|
-
* -
|
|
24
|
-
* - Also accepts the legacy string class name or object with className and style properties
|
|
32
|
+
* - Can be a string class name or an object with className and style properties
|
|
25
33
|
* - Styles are merged with theme styles and default styles
|
|
26
34
|
* - Useful for customizing overlay appearance while maintaining functionality
|
|
27
35
|
*/
|
|
28
|
-
style?:
|
|
36
|
+
style?: ThemeValue;
|
|
29
37
|
/**
|
|
30
38
|
* Disables default styling when true.
|
|
31
39
|
*
|
|
@@ -35,7 +43,15 @@ export interface OverlayProps extends Omit<HTMLAttributes<HTMLDivElement>, 'styl
|
|
|
35
43
|
* - Maintains functionality without visual opinions
|
|
36
44
|
*/
|
|
37
45
|
noStyle?: boolean;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Whether the dialog the overlay backs is open.
|
|
48
|
+
*
|
|
49
|
+
* `ConsentDialog.Root` passes its own open state, so a dialog opened
|
|
50
|
+
* through the `open` prop rather than the consent manager still fades
|
|
51
|
+
* its backdrop in. Falls back to the manager's active surface.
|
|
52
|
+
*/
|
|
53
|
+
open?: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
declare const ConsentDialogOverlay: FC<OverlayProps>;
|
|
56
|
+
declare const Overlay: FC<OverlayProps>;
|
|
41
57
|
export { ConsentDialogOverlay, Overlay };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
1
2
|
import type { FC, HTMLAttributes, ReactNode } from 'react';
|
|
2
3
|
/**
|
|
3
4
|
* Props for the root component of the ConsentDialog.
|
|
4
5
|
*
|
|
5
6
|
* @public
|
|
6
7
|
*/
|
|
7
|
-
export interface ConsentDialogRootProps extends HTMLAttributes<
|
|
8
|
+
export interface ConsentDialogRootProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
9
|
/**
|
|
9
10
|
* React children that will be rendered inside the dialog container.
|
|
10
11
|
* Typically this includes `ConsentDialog.Card` and its sub-components.
|
|
@@ -17,9 +18,9 @@ export interface ConsentDialogRootProps extends HTMLAttributes<HTMLDialogElement
|
|
|
17
18
|
open?: boolean;
|
|
18
19
|
/**
|
|
19
20
|
* Which consent models this dialog responds to.
|
|
20
|
-
* @default ['opt-in', 'opt-out']
|
|
21
|
+
* @default ['opt-in', 'opt-out', 'none']
|
|
21
22
|
*/
|
|
22
|
-
models?:
|
|
23
|
+
models?: C15tCoreTypes.Model[];
|
|
23
24
|
/**
|
|
24
25
|
* When true, the component will not apply any internal styles.
|
|
25
26
|
*/
|
|
@@ -10,7 +10,7 @@ import type { FC } from 'react';
|
|
|
10
10
|
import { Card, ConsentCustomizationCard, ConsentDialogContent, ConsentDialogFooter, ConsentDialogHeader, ConsentDialogHeaderDescription, ConsentDialogHeaderTitle, Content, Footer, Header, HeaderDescription, HeaderTitle } from './atoms/card';
|
|
11
11
|
import { Overlay } from './atoms/overlay';
|
|
12
12
|
import { Root } from './atoms/root';
|
|
13
|
-
import {
|
|
13
|
+
import type { ConsentDialogProps } from './panel';
|
|
14
14
|
export type { ConsentDialogProps };
|
|
15
15
|
/**
|
|
16
16
|
* This interface extends the base ConsentDialog component with additional sub-components
|
|
@@ -55,19 +55,24 @@ export interface ConsentDialogCompoundComponent extends FC<ConsentDialogProps> {
|
|
|
55
55
|
* @example
|
|
56
56
|
* Preferred customization with stock structure:
|
|
57
57
|
* ```tsx
|
|
58
|
-
* <
|
|
58
|
+
* <ConsentProvider
|
|
59
59
|
* options={{
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
60
|
+
* mode: hosted({ url: '/api/c15t' }),
|
|
61
|
+
* components: {
|
|
62
|
+
* dialog: {
|
|
63
|
+
* card: { className: 'rounded-3xl shadow-xl' },
|
|
64
|
+
* },
|
|
65
|
+
* manager: {
|
|
66
|
+
* footer: { className: 'gap-3 pt-6' },
|
|
67
|
+
* },
|
|
68
|
+
* tag: {
|
|
69
|
+
* dialog: { className: 'shadow-none' },
|
|
65
70
|
* },
|
|
66
71
|
* },
|
|
67
72
|
* }}
|
|
68
73
|
* >
|
|
69
74
|
* <ConsentDialog hideBranding showTrigger />
|
|
70
|
-
* </
|
|
75
|
+
* </ConsentProvider>
|
|
71
76
|
* ```
|
|
72
77
|
*
|
|
73
78
|
* @example
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type * as C15tCoreTypes from '@c15t/core';
|
|
1
2
|
/**
|
|
2
3
|
* @packageDocumentation
|
|
3
4
|
* Default implementation of the Consent Dialog that ships with c15t.
|
|
@@ -7,7 +8,7 @@
|
|
|
7
8
|
* prefer a one-line `<ConsentDialog />` usage still have it.
|
|
8
9
|
*/
|
|
9
10
|
import type { FC } from 'react';
|
|
10
|
-
import {
|
|
11
|
+
import type { ConsentDialogTriggerProps } from '../panel-trigger';
|
|
11
12
|
import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
12
13
|
/**
|
|
13
14
|
* Props for the `<ConsentDialog />` convenience component.
|
|
@@ -15,7 +16,7 @@ import type { InlineLegalLinksProps } from '../shared/primitives/legal-links';
|
|
|
15
16
|
export interface ConsentDialogProps {
|
|
16
17
|
/**
|
|
17
18
|
* Theme configuration override (deprecated)
|
|
18
|
-
* @deprecated Theme should be set on the
|
|
19
|
+
* @deprecated Theme should be set on the ConsentProvider
|
|
19
20
|
*/
|
|
20
21
|
theme?: never;
|
|
21
22
|
/**
|
|
@@ -61,7 +62,7 @@ export interface ConsentDialogProps {
|
|
|
61
62
|
* ```
|
|
62
63
|
*
|
|
63
64
|
* @remarks
|
|
64
|
-
* You must set the legal links in the
|
|
65
|
+
* You must set the legal links in the ConsentProvider options.
|
|
65
66
|
*/
|
|
66
67
|
legalLinks?: InlineLegalLinksProps['links'];
|
|
67
68
|
/**
|
|
@@ -83,9 +84,9 @@ export interface ConsentDialogProps {
|
|
|
83
84
|
showTrigger?: boolean | ConsentDialogTriggerProps;
|
|
84
85
|
/**
|
|
85
86
|
* Which consent models this dialog responds to.
|
|
86
|
-
* @default ['opt-in', 'opt-out']
|
|
87
|
+
* @default ['opt-in', 'opt-out', 'none']
|
|
87
88
|
*/
|
|
88
|
-
models?:
|
|
89
|
+
models?: C15tCoreTypes.Model[];
|
|
89
90
|
/**
|
|
90
91
|
* Override the UI source identifier sent with consent API calls.
|
|
91
92
|
* @default 'dialog'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
2
|
import type { TriggerSize } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Props for the Button component.
|
|
@@ -24,6 +24,7 @@ export interface TriggerButtonProps {
|
|
|
24
24
|
* @default false
|
|
25
25
|
*/
|
|
26
26
|
noStyle?: boolean;
|
|
27
|
+
'data-testid'?: string;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* The clickable button element for the trigger.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
2
|
import type { TriggerIcon as TriggerIconType } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Props for the Icon component.
|
|
@@ -24,21 +24,6 @@ export interface TriggerIconProps {
|
|
|
24
24
|
*/
|
|
25
25
|
noStyle?: boolean;
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Icon component that renders the appropriate icon based on branding.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```tsx
|
|
32
|
-
* // Default branding icon
|
|
33
|
-
* <ConsentDialogTrigger.Icon />
|
|
34
|
-
*
|
|
35
|
-
* // Fingerprint icon
|
|
36
|
-
* <ConsentDialogTrigger.Icon icon="fingerprint" />
|
|
37
|
-
*
|
|
38
|
-
* // Custom icon
|
|
39
|
-
* <ConsentDialogTrigger.Icon icon={<MyCustomIcon />} />
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
27
|
export declare function TriggerIcon({ icon, className, noStyle, }: TriggerIconProps): ReactNode;
|
|
43
28
|
export declare namespace TriggerIcon {
|
|
44
29
|
var displayName: string;
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
* Root component for the ConsentDialogTrigger compound component.
|
|
3
|
-
* Provides context and handles portal rendering.
|
|
4
|
-
*
|
|
5
|
-
* @packageDocumentation
|
|
6
|
-
*/
|
|
7
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
8
2
|
import type { CornerPosition, TriggerVisibility } from '../types';
|
|
9
|
-
import {
|
|
3
|
+
import type { UseDraggableReturn } from '../use-draggable';
|
|
10
4
|
/**
|
|
11
5
|
* Context value for the ConsentDialogTrigger compound component.
|
|
12
6
|
*/
|
|
@@ -35,7 +29,7 @@ declare const TriggerContext: import("react").Context<TriggerContextValue | null
|
|
|
35
29
|
* Hook to access the trigger context.
|
|
36
30
|
* Must be used within a ConsentDialogTrigger.Root component.
|
|
37
31
|
*/
|
|
38
|
-
export declare
|
|
32
|
+
export declare const useTriggerContext: () => TriggerContextValue;
|
|
39
33
|
/**
|
|
40
34
|
* Props for the Root component.
|
|
41
35
|
*/
|
|
@@ -53,9 +47,15 @@ export interface TriggerRootProps {
|
|
|
53
47
|
persistPosition?: boolean;
|
|
54
48
|
/**
|
|
55
49
|
* Controls when the trigger is visible.
|
|
56
|
-
* @default '
|
|
50
|
+
* @default 'always'
|
|
57
51
|
*/
|
|
58
52
|
showWhen?: TriggerVisibility;
|
|
53
|
+
/**
|
|
54
|
+
* Replaces the `showWhen` calculation with a host-computed value. The
|
|
55
|
+
* toolbar uses it so app-owned actions stay mounted while only the
|
|
56
|
+
* built-in preferences action follows the prompt state.
|
|
57
|
+
*/
|
|
58
|
+
visible?: boolean;
|
|
59
59
|
/**
|
|
60
60
|
* Callback when position changes.
|
|
61
61
|
*/
|
|
@@ -65,19 +65,7 @@ export interface TriggerRootProps {
|
|
|
65
65
|
*/
|
|
66
66
|
onClick?: () => void;
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
* Root component that provides context and handles positioning.
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```tsx
|
|
73
|
-
* <ConsentDialogTrigger.Root>
|
|
74
|
-
* <ConsentDialogTrigger.Button>
|
|
75
|
-
* <ConsentDialogTrigger.Icon />
|
|
76
|
-
* </ConsentDialogTrigger.Button>
|
|
77
|
-
* </ConsentDialogTrigger.Root>
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
|
-
export declare function TriggerRoot({ children, defaultPosition, persistPosition: shouldPersist, showWhen, onPositionChange, onClick, }: TriggerRootProps): ReactNode;
|
|
68
|
+
export declare function TriggerRoot({ children, defaultPosition, persistPosition: shouldPersist, showWhen, visible, onPositionChange, onClick, }: TriggerRootProps): ReactNode;
|
|
81
69
|
export declare namespace TriggerRoot {
|
|
82
70
|
var displayName: string;
|
|
83
71
|
}
|
|
@@ -14,17 +14,6 @@ export interface TriggerTextProps {
|
|
|
14
14
|
*/
|
|
15
15
|
noStyle?: boolean;
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Text component for adding labels to the trigger button.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```tsx
|
|
22
|
-
* <ConsentDialogTrigger.Button>
|
|
23
|
-
* <ConsentDialogTrigger.Icon />
|
|
24
|
-
* <ConsentDialogTrigger.Text>Privacy Settings</ConsentDialogTrigger.Text>
|
|
25
|
-
* </ConsentDialogTrigger.Button>
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
17
|
export declare function TriggerText({ children, className, noStyle, }: TriggerTextProps): ReactNode;
|
|
29
18
|
export declare namespace TriggerText {
|
|
30
19
|
var displayName: string;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal toolbar view for ConsentDialogTriggerToolbar.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
import type { PolicyRight } from '@c15t/schema/types';
|
|
1
7
|
import type { ReactNode } from 'react';
|
|
2
8
|
import type { ClassNameStyle } from '../../../types/theme';
|
|
3
9
|
import type { ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, TriggerOrientation, TriggerSize } from '../types';
|
|
10
|
+
/** Right the built-in action stands for; opt-out wins when the rule carries it. */
|
|
11
|
+
export type ToolbarPreferencesRight = Extract<PolicyRight, 'opt-out' | 'preferences'>;
|
|
4
12
|
export interface TriggerToolbarProps extends Omit<ClassNameStyle, 'baseClassName'> {
|
|
5
13
|
/** App-owned actions rendered alongside the preferences action. */
|
|
6
14
|
actions: readonly ConsentDialogTriggerToolbarAction[];
|
|
@@ -12,11 +20,14 @@ export interface TriggerToolbarProps extends Omit<ClassNameStyle, 'baseClassName
|
|
|
12
20
|
orientation?: TriggerOrientation;
|
|
13
21
|
/** Accessible name for the toolbar group. @default 'Privacy controls' */
|
|
14
22
|
ariaLabel?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the built-in preferences action is rendered. App-owned
|
|
25
|
+
* actions render regardless.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
showPreferences?: boolean;
|
|
15
29
|
}
|
|
16
|
-
|
|
17
|
-
* A draggable group of app-owned actions and one built-in preferences action.
|
|
18
|
-
*/
|
|
19
|
-
export declare function TriggerToolbar({ actions, preferences, size, orientation, ariaLabel, className, style, noStyle, }: TriggerToolbarProps): ReactNode;
|
|
30
|
+
export declare function TriggerToolbar({ actions, preferences, size, orientation, ariaLabel, showPreferences, className, style, noStyle, }: TriggerToolbarProps): ReactNode;
|
|
20
31
|
export declare namespace TriggerToolbar {
|
|
21
32
|
var displayName: string;
|
|
22
33
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
|
-
export { ConsentDialogTrigger, type ConsentDialogTriggerCompound, TriggerButton, type TriggerButtonProps, TriggerIcon, type TriggerIconProps, TriggerRoot, type TriggerRootProps, TriggerText, type TriggerTextProps, useTriggerContext, } from './
|
|
7
|
-
export { ConsentDialogTriggerToolbar } from './
|
|
6
|
+
export { ConsentDialogTrigger, type ConsentDialogTriggerCompound, TriggerButton, type TriggerButtonProps, TriggerIcon, type TriggerIconProps, TriggerRoot, type TriggerRootProps, TriggerText, type TriggerTextProps, useTriggerContext, } from './panel-trigger';
|
|
7
|
+
export { ConsentDialogTriggerToolbar } from './panel-trigger-toolbar';
|
|
8
8
|
export type { ConsentDialogTriggerProps, ConsentDialogTriggerToolbarAction, ConsentDialogTriggerToolbarPreferences, ConsentDialogTriggerToolbarProps, CornerPosition, TriggerIcon as TriggerIconType, TriggerOrientation, TriggerSize, TriggerVisibility, } from './types';
|
|
9
9
|
export { type UseDraggableOptions, type UseDraggableReturn, useDraggable, } from './use-draggable';
|
|
@@ -6,29 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { ReactNode } from 'react';
|
|
8
8
|
import type { ConsentDialogTriggerToolbarProps } from './types';
|
|
9
|
-
/**
|
|
10
|
-
* A draggable toolbar that always includes one action for opening consent
|
|
11
|
-
* preferences and can include app-owned actions such as theme or support
|
|
12
|
-
* controls.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```tsx
|
|
16
|
-
* <ConsentDialogTriggerToolbar
|
|
17
|
-
* ariaLabel="Website controls"
|
|
18
|
-
* actions={[
|
|
19
|
-
* {
|
|
20
|
-
* id: 'theme',
|
|
21
|
-
* label: 'Switch to dark theme',
|
|
22
|
-
* icon: <MoonIcon />,
|
|
23
|
-
* pressed: isDark,
|
|
24
|
-
* onSelect: toggleTheme,
|
|
25
|
-
* },
|
|
26
|
-
* ]}
|
|
27
|
-
* />
|
|
28
|
-
* ```
|
|
29
|
-
*
|
|
30
|
-
* @returns The toolbar portal, or `null` while hidden or server-rendered.
|
|
31
|
-
*/
|
|
32
9
|
export declare function ConsentDialogTriggerToolbar({ actions, preferences, orientation, defaultPosition, persistPosition, ariaLabel, showWhen, size, className, style, noStyle, onPositionChange, }: ConsentDialogTriggerToolbarProps): ReactNode;
|
|
33
10
|
export declare namespace ConsentDialogTriggerToolbar {
|
|
34
11
|
var displayName: string;
|
|
@@ -7,10 +7,14 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
import type { FC } from 'react';
|
|
10
|
-
import { TriggerButton
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { TriggerButton } from './atoms/button';
|
|
11
|
+
import type { TriggerButtonProps } from './atoms/button';
|
|
12
|
+
import { TriggerIcon } from './atoms/icon';
|
|
13
|
+
import type { TriggerIconProps } from './atoms/icon';
|
|
14
|
+
import { TriggerRoot, useTriggerContext } from './atoms/root';
|
|
15
|
+
import type { TriggerRootProps } from './atoms/root';
|
|
16
|
+
import { TriggerText } from './atoms/text';
|
|
17
|
+
import type { TriggerTextProps } from './atoms/text';
|
|
14
18
|
import type { ConsentDialogTriggerProps } from './types';
|
|
15
19
|
/**
|
|
16
20
|
* Compound component interface for ConsentDialogTrigger.
|
|
@@ -18,11 +18,13 @@ export type TriggerIcon = 'branding' | 'fingerprint' | 'settings' | ReactNode;
|
|
|
18
18
|
/**
|
|
19
19
|
* Visibility options for when to show a trigger.
|
|
20
20
|
*
|
|
21
|
-
* - `'always'` -
|
|
22
|
-
* - `'after-
|
|
21
|
+
* - `'always'` - Visible whenever the preference center is closed
|
|
22
|
+
* - `'after-prompt'` - Visible only once no prompt is owed: after a choice
|
|
23
|
+
* is saved or a notice is dismissed, and hidden again while a policy
|
|
24
|
+
* change asks for a new answer
|
|
23
25
|
* - `'never'` - Never visible (useful for programmatic control)
|
|
24
26
|
*/
|
|
25
|
-
export type TriggerVisibility = 'always' | 'after-
|
|
27
|
+
export type TriggerVisibility = 'always' | 'after-prompt' | 'never';
|
|
26
28
|
/**
|
|
27
29
|
* Size options for trigger controls.
|
|
28
30
|
*/
|
|
@@ -119,7 +121,10 @@ export interface ConsentDialogTriggerToolbarPreferences {
|
|
|
119
121
|
/**
|
|
120
122
|
* Accessible name announced for the preferences button.
|
|
121
123
|
*
|
|
122
|
-
*
|
|
124
|
+
* Defaults to the active rule's rights: the translated opt-out label
|
|
125
|
+
* ("Do not sell or share my data") when the rule
|
|
126
|
+
* carries the `opt-out` right, otherwise the translated preferences
|
|
127
|
+
* label ("Manage preferences").
|
|
123
128
|
*/
|
|
124
129
|
label?: string;
|
|
125
130
|
/**
|
|
@@ -146,8 +151,8 @@ export interface ConsentDialogTriggerToolbarProps extends Omit<ClassNameStyle, '
|
|
|
146
151
|
*/
|
|
147
152
|
actions?: readonly ConsentDialogTriggerToolbarAction[];
|
|
148
153
|
/**
|
|
149
|
-
* Customization for the built-in preferences action. The toolbar
|
|
150
|
-
*
|
|
154
|
+
* Customization for the built-in preferences action. The toolbar renders
|
|
155
|
+
* at most one preferences action; `showWhen` decides whether it is shown.
|
|
151
156
|
*/
|
|
152
157
|
preferences?: ConsentDialogTriggerToolbarPreferences;
|
|
153
158
|
/**
|
|
@@ -175,7 +180,11 @@ export interface ConsentDialogTriggerToolbarProps extends Omit<ClassNameStyle, '
|
|
|
175
180
|
*/
|
|
176
181
|
ariaLabel?: string;
|
|
177
182
|
/**
|
|
178
|
-
* Controls when the
|
|
183
|
+
* Controls when the built-in preferences action is visible. App-owned
|
|
184
|
+
* `actions` always render, so a theme toggle stays available while a
|
|
185
|
+
* prompt is owed; `after-prompt` hides only the preferences action until
|
|
186
|
+
* the visitor has answered, and `never` omits it. The toolbar renders
|
|
187
|
+
* nothing only when it has no visible item.
|
|
179
188
|
*
|
|
180
189
|
* @default 'always'
|
|
181
190
|
*/
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* React hook for drag-to-corner functionality.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the framework-agnostic utilities from @c15t/ui with React state management.
|
|
5
|
-
*
|
|
6
|
-
* @packageDocumentation
|
|
7
|
-
*/
|
|
8
|
-
import { type CornerPosition } from '@c15t/ui/utils/trigger-utils';
|
|
1
|
+
import type { CornerPosition } from '@c15t/ui/utils/trigger-utils';
|
|
9
2
|
/**
|
|
10
3
|
* Options for the useDraggable hook.
|
|
11
4
|
*/
|
|
@@ -73,4 +66,4 @@ export interface UseDraggableReturn {
|
|
|
73
66
|
* }
|
|
74
67
|
* ```
|
|
75
68
|
*/
|
|
76
|
-
export declare
|
|
69
|
+
export declare const useDraggable: (options?: UseDraggableOptions) => UseDraggableReturn;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { BoxProps } from '../../shared/primitives/box';
|
|
3
3
|
import * as PreferenceItem from '../../shared/ui/preference-item';
|
|
4
4
|
import * as RadixSwitch from '../../shared/ui/switch';
|
|
5
5
|
declare const ConsentWidgetAccordionTrigger: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -7,7 +7,7 @@ declare const ConsentWidgetAccordionTriggerInner: import("react").ForwardRefExot
|
|
|
7
7
|
declare const ConsentWidgetAccordionContent: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
8
8
|
declare const ConsentWidgetAccordionArrow: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemSlotProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
9
|
declare const ConsentWidgetSwitch: import("react").ForwardRefExoticComponent<RadixSwitch.SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
10
|
-
type ConsentWidgetAccordionProps = Omit<BoxProps, '
|
|
10
|
+
type ConsentWidgetAccordionProps = Omit<BoxProps, 'slotKey'> & {
|
|
11
11
|
'data-testid'?: string;
|
|
12
12
|
children: ReactNode;
|
|
13
13
|
onValueChange?: (value: string | string[]) => void;
|
|
@@ -21,8 +21,8 @@ declare const AccordionTriggerInner: import("react").ForwardRefExoticComponent<P
|
|
|
21
21
|
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
22
22
|
declare const AccordionContent: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
23
23
|
declare const AccordionArrow: import("react").ForwardRefExoticComponent<PreferenceItem.PreferenceItemSlotProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
|
-
declare const Accordion:
|
|
24
|
+
declare const Accordion: typeof ConsentWidgetAccordion;
|
|
25
25
|
declare const Switch: import("react").ForwardRefExoticComponent<RadixSwitch.SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
26
|
-
declare const AccordionItems:
|
|
26
|
+
declare const AccordionItems: typeof ConsentWidgetAccordionItems;
|
|
27
27
|
declare const AccordionItem: import("react").ForwardRefExoticComponent<Omit<PreferenceItem.PreferenceItemRootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
28
28
|
export { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, ConsentWidgetAccordion, ConsentWidgetAccordionArrow, ConsentWidgetAccordionContent, ConsentWidgetAccordionItem, ConsentWidgetAccordionItems, ConsentWidgetAccordionTrigger, ConsentWidgetAccordionTriggerInner, ConsentWidgetSwitch, Switch, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BoxProps } from '../../shared/primitives/box';
|
|
2
2
|
/**
|
|
3
3
|
* Footer component for consent management actions.
|
|
4
4
|
*
|
|
@@ -7,8 +7,8 @@ import { type BoxProps } from '../../shared/primitives/box';
|
|
|
7
7
|
* - Supports customization through theme
|
|
8
8
|
* - Maintains consistent layout
|
|
9
9
|
*/
|
|
10
|
-
export declare const ConsentWidgetFooter: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
10
|
+
export declare const ConsentWidgetFooter: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
11
11
|
export declare const ConsentWidgetFooterSubGroup: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
-
declare const Footer: import("react").ForwardRefExoticComponent<Omit<BoxProps, "
|
|
12
|
+
declare const Footer: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
13
|
declare const FooterSubGroup: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
14
|
export { Footer, FooterSubGroup };
|
|
@@ -61,21 +61,23 @@ export interface ConsentWidgetCompoundComponent extends FC<ConsentWidgetProps> {
|
|
|
61
61
|
* ```
|
|
62
62
|
*
|
|
63
63
|
* @example
|
|
64
|
-
* Preferred stock customization with
|
|
64
|
+
* Preferred stock customization with component slots:
|
|
65
65
|
* ```tsx
|
|
66
|
-
* <
|
|
66
|
+
* <ConsentProvider
|
|
67
67
|
* options={{
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
68
|
+
* mode: hosted({ url: '/api/c15t' }),
|
|
69
|
+
* components: {
|
|
70
|
+
* accordion: {
|
|
71
|
+
* root: { className: 'rounded-3xl border border-black/10' },
|
|
72
|
+
* },
|
|
73
|
+
* manager: {
|
|
74
|
+
* footer: { className: 'border-t border-black/10' },
|
|
73
75
|
* },
|
|
74
76
|
* },
|
|
75
77
|
* }}
|
|
76
78
|
* >
|
|
77
79
|
* <ConsentWidget hideBranding />
|
|
78
|
-
* </
|
|
80
|
+
* </ConsentProvider>
|
|
79
81
|
* ```
|
|
80
82
|
*
|
|
81
83
|
* @example
|
|
@@ -95,6 +97,6 @@ export default ConsentWidget;
|
|
|
95
97
|
export { Accordion, AccordionArrow, AccordionContent, AccordionItem, AccordionItems, AccordionTrigger, AccordionTriggerInner, ConsentWidgetAccordion, ConsentWidgetAccordionArrow, ConsentWidgetAccordionContent, ConsentWidgetAccordionItem, ConsentWidgetAccordionItems, ConsentWidgetAccordionTrigger, ConsentWidgetAccordionTriggerInner, ConsentWidgetSwitch, Switch, } from './atoms/accordion';
|
|
96
98
|
export { AcceptAllButton, ConsentWidgetAcceptAllButton, ConsentWidgetCustomizeButton, ConsentWidgetRejectButton, ConsentWidgetSaveButton, CustomizeButton, RejectButton, SaveButton, } from './atoms/button';
|
|
97
99
|
export { ConsentWidgetFooter, ConsentWidgetFooterSubGroup, Footer, FooterSubGroup, } from './atoms/footer';
|
|
98
|
-
export { ConsentWidgetRoot, Root
|
|
100
|
+
export { ConsentWidgetRoot, Root } from './atoms/root';
|
|
99
101
|
export { type ConsentWidgetPolicyActionRenderProps, ConsentWidgetPolicyActions, type ConsentWidgetPolicyActionsProps, PolicyActions, } from './policy-actions';
|
|
100
102
|
export { ConsentWidget };
|