@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
package/dist/iab/styles.tw3.css
CHANGED
|
@@ -4,36 +4,150 @@
|
|
|
4
4
|
* This file inlines @c15t/ui CSS so bundlers that do not follow
|
|
5
5
|
* nested package CSS imports still include the complete stylesheet.
|
|
6
6
|
*/
|
|
7
|
-
/*
|
|
8
|
-
:root
|
|
7
|
+
/* default theme tokens (generated from defaultTheme) */
|
|
8
|
+
:root, :host, .c15t-theme-root {
|
|
9
|
+
--c15t-border: hsl(0, 0%, 90%);
|
|
10
|
+
--c15t-border-hover: hsl(0, 0%, 85%);
|
|
11
|
+
--c15t-duration-fast: 80ms;
|
|
12
|
+
--c15t-duration-normal: 150ms;
|
|
13
|
+
--c15t-duration-slow: 200ms;
|
|
14
|
+
--c15t-easing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
15
|
+
--c15t-easing-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
16
|
+
--c15t-easing-out: cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
17
|
+
--c15t-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
18
|
+
--c15t-font-family: system-ui, -apple-system, sans-serif;
|
|
19
|
+
--c15t-font-size-base: 1rem;
|
|
20
|
+
--c15t-font-size-lg: 1.125rem;
|
|
21
|
+
--c15t-font-size-sm: 0.875rem;
|
|
22
|
+
--c15t-font-weight-medium: 500;
|
|
23
|
+
--c15t-font-weight-normal: 400;
|
|
24
|
+
--c15t-font-weight-semibold: 600;
|
|
25
|
+
--c15t-line-height-normal: 1.5;
|
|
26
|
+
--c15t-line-height-relaxed: 1.75;
|
|
27
|
+
--c15t-line-height-tight: 1.25;
|
|
28
|
+
--c15t-overlay: hsla(0, 0%, 0%, 0.5);
|
|
29
|
+
--c15t-primary: hsl(228, 100%, 60%);
|
|
30
|
+
--c15t-primary-hover: hsl(228, 100%, 55%);
|
|
31
|
+
--c15t-radius-full: 9999px;
|
|
32
|
+
--c15t-radius-lg: 0.75rem;
|
|
33
|
+
--c15t-radius-md: 0.5rem;
|
|
34
|
+
--c15t-radius-sm: 0.25rem;
|
|
35
|
+
--c15t-shadow-lg: 0 8px 24px hsla(0, 0%, 0%, 0.12);
|
|
36
|
+
--c15t-shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
37
|
+
--c15t-shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);
|
|
38
|
+
--c15t-space-lg: 1.5rem;
|
|
39
|
+
--c15t-space-md: 1rem;
|
|
40
|
+
--c15t-space-sm: 0.5rem;
|
|
41
|
+
--c15t-space-xl: 2rem;
|
|
42
|
+
--c15t-space-xs: 0.25rem;
|
|
43
|
+
--c15t-surface: hsl(0, 0%, 100%);
|
|
44
|
+
--c15t-surface-hover: hsl(0, 0%, 98%);
|
|
45
|
+
--c15t-switch-thumb: hsl(0, 0%, 100%);
|
|
46
|
+
--c15t-switch-track: hsl(0, 0%, 85%);
|
|
47
|
+
--c15t-switch-track-active: hsl(228, 100%, 60%);
|
|
48
|
+
--c15t-text: hsl(0, 0%, 10%);
|
|
49
|
+
--c15t-text-muted: hsl(0, 0%, 40%);
|
|
50
|
+
--c15t-text-on-primary: hsl(0, 0%, 100%);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:root.dark, :host(.dark), .dark .c15t-theme-root, :root.c15t-dark, :host(.c15t-dark), .c15t-dark .c15t-theme-root {
|
|
54
|
+
--c15t-border: hsl(0, 0%, 20%);
|
|
55
|
+
--c15t-border-hover: hsl(0, 0%, 25%);
|
|
56
|
+
--c15t-duration-fast: 80ms;
|
|
57
|
+
--c15t-duration-normal: 150ms;
|
|
58
|
+
--c15t-duration-slow: 200ms;
|
|
59
|
+
--c15t-easing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
60
|
+
--c15t-easing-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
61
|
+
--c15t-easing-out: cubic-bezier(0.215, 0.61, 0.355, 1);
|
|
62
|
+
--c15t-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
63
|
+
--c15t-font-family: system-ui, -apple-system, sans-serif;
|
|
64
|
+
--c15t-font-size-base: 1rem;
|
|
65
|
+
--c15t-font-size-lg: 1.125rem;
|
|
66
|
+
--c15t-font-size-sm: 0.875rem;
|
|
67
|
+
--c15t-font-weight-medium: 500;
|
|
68
|
+
--c15t-font-weight-normal: 400;
|
|
69
|
+
--c15t-font-weight-semibold: 600;
|
|
70
|
+
--c15t-line-height-normal: 1.5;
|
|
71
|
+
--c15t-line-height-relaxed: 1.75;
|
|
72
|
+
--c15t-line-height-tight: 1.25;
|
|
73
|
+
--c15t-overlay: hsla(0, 0%, 0%, 0.7);
|
|
74
|
+
--c15t-primary: hsl(228, 100%, 70%);
|
|
75
|
+
--c15t-primary-hover: hsl(228, 100%, 65%);
|
|
76
|
+
--c15t-radius-full: 9999px;
|
|
77
|
+
--c15t-radius-lg: 0.75rem;
|
|
78
|
+
--c15t-radius-md: 0.5rem;
|
|
79
|
+
--c15t-radius-sm: 0.25rem;
|
|
80
|
+
--c15t-shadow-lg: 0 8px 24px hsla(0, 0%, 0%, 0.12);
|
|
81
|
+
--c15t-shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
82
|
+
--c15t-shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);
|
|
83
|
+
--c15t-space-lg: 1.5rem;
|
|
84
|
+
--c15t-space-md: 1rem;
|
|
85
|
+
--c15t-space-sm: 0.5rem;
|
|
86
|
+
--c15t-space-xl: 2rem;
|
|
87
|
+
--c15t-space-xs: 0.25rem;
|
|
88
|
+
--c15t-surface: hsl(0, 0%, 7%);
|
|
89
|
+
--c15t-surface-hover: hsl(0, 0%, 10%);
|
|
90
|
+
--c15t-switch-thumb: hsl(0, 0%, 93%);
|
|
91
|
+
--c15t-switch-track: hsl(0, 0%, 25%);
|
|
92
|
+
--c15t-switch-track-active: hsl(228, 100%, 70%);
|
|
93
|
+
--c15t-text: hsl(0, 0%, 93%);
|
|
94
|
+
--c15t-text-muted: hsl(0, 0%, 60%);
|
|
95
|
+
--c15t-text-on-primary: hsl(0, 0%, 100%);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/*
|
|
99
|
+
* Utility class to disable transitions during theme switching.
|
|
100
|
+
* Apply this class to the root element before switching themes,
|
|
101
|
+
* then remove it after a short delay to prevent flash of
|
|
102
|
+
* animated content during the color scheme change.
|
|
103
|
+
*
|
|
104
|
+
* Example usage:
|
|
105
|
+
* document.documentElement.classList.add('c15t-no-transitions');
|
|
106
|
+
* // Switch theme...
|
|
107
|
+
* requestAnimationFrame(() => {
|
|
108
|
+
* document.documentElement.classList.remove('c15t-no-transitions');
|
|
109
|
+
* });
|
|
110
|
+
*/
|
|
111
|
+
.c15t-no-transitions,
|
|
112
|
+
.c15t-no-transitions *,
|
|
113
|
+
.c15t-no-transitions *::before,
|
|
114
|
+
.c15t-no-transitions *::after {
|
|
115
|
+
transition: none !important;
|
|
116
|
+
animation: none !important;
|
|
117
|
+
}
|
|
9
118
|
|
|
10
119
|
/* primitives/button vars */
|
|
11
|
-
:root{--button-primary:var(--c15t-primary);--button-primary-dark:var(--c15t-primary);--button-primary-hover:var(--c15t-primary-hover);--button-primary-hover-dark:var(--c15t-primary-hover);--button-neutral:var(--c15t-text-muted);--button-neutral-dark:var(--c15t-text-muted);--button-neutral-hover:var(--c15t-text);--button-neutral-hover-dark:var(--c15t-text);--button-neutral-soft:var(--c15t-surface-hover);--button-neutral-soft-dark:var(--c15t-surface-hover);--button-focus-ring:var(--c15t-primary);--button-focus-ring-dark:var(--c15t-primary);--button-text:var(--c15t-text);--button-text-dark:var(--c15t-text);--button-text-hover:var(--c15t-text);--button-text-hover-dark:var(--c15t-text);--button-background-color:var(--c15t-surface);--button-background-color-dark:var(--c15t-surface);--button-border:var(--c15t-border);--button-border-dark:var(--c15t-border);--button-hover-overlay:var(--c15t-surface-hover);--button-hover-overlay-dark:var(--c15t-surface-hover);--button-primary-hover-tint:color-mix(in srgb, var(--c15t-primary) 10%, transparent);--button-neutral-hover-tint:color-mix(in srgb, var(--c15t-text) 10%, transparent);--button-font:var(--c15t-font-family);--button-border-width:1px;--button-border-style:solid;--button-border-color:var(--c15t-border);--button-border-radius:var(--c15t-radius-md);--button-font-weight:var(--c15t-font-weight-medium);--button-font-size:var(--c15t-font-size-sm);--button-line-height:var(--c15t-line-height-tight);--button-transition:opacity var(--c15t-duration-fast) var(--c15t-easing), transform var(--c15t-duration-fast) var(--c15t-easing);--button-hover-transition-color:background-color var(--c15t-duration-fast) var(--c15t-easing);--button-hover-transition-full:background-color var(--c15t-duration-fast) var(--c15t-easing), box-shadow var(--c15t-duration-fast) var(--c15t-easing), color var(--c15t-duration-fast) var(--c15t-easing);--button-cursor:pointer;--button-shadow:var(--c15t-shadow-sm);--button-shadow-dark:var(--c15t-shadow-sm);--button-shadow-primary-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-neutral-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-primary-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-neutral-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-primary:var(--button-shadow), inset 0 0 0 1px var(--button-primary);--button-shadow-primary-dark:var(--button-shadow-dark), inset 0 0 0 1px var(--button-primary-dark);--button-shadow-primary-hover:none;--button-shadow-primary-hover-dark:none;--button-shadow-neutral:var(--button-shadow), inset 0 0 0 1px var(--button-neutral-soft);--button-shadow-neutral-dark:var(--button-shadow-dark), inset 0 0 0 1px var(--button-neutral-soft-dark);--button-shadow-neutral-hover:none;--button-shadow-neutral-hover-dark:none}
|
|
120
|
+
:root, :host{--button-primary:var(--c15t-primary);--button-primary-dark:var(--c15t-primary);--button-primary-hover:var(--c15t-primary-hover);--button-primary-hover-dark:var(--c15t-primary-hover);--button-neutral:var(--c15t-text-muted);--button-neutral-dark:var(--c15t-text-muted);--button-neutral-hover:var(--c15t-text);--button-neutral-hover-dark:var(--c15t-text);--button-neutral-soft:var(--c15t-surface-hover);--button-neutral-soft-dark:var(--c15t-surface-hover);--button-focus-ring:var(--c15t-primary);--button-focus-ring-dark:var(--c15t-primary);--button-text:var(--c15t-text);--button-text-dark:var(--c15t-text);--button-text-hover:var(--c15t-text);--button-text-hover-dark:var(--c15t-text);--button-background-color:var(--c15t-surface);--button-background-color-dark:var(--c15t-surface);--button-border:var(--c15t-border);--button-border-dark:var(--c15t-border);--button-hover-overlay:var(--c15t-surface-hover);--button-hover-overlay-dark:var(--c15t-surface-hover);--button-primary-hover-tint:color-mix(in srgb, var(--c15t-primary) 10%, transparent);--button-neutral-hover-tint:color-mix(in srgb, var(--c15t-text) 10%, transparent);--button-font:var(--c15t-font-family);--button-border-width:1px;--button-border-style:solid;--button-border-color:var(--c15t-border);--button-border-radius:var(--c15t-radius-md);--button-font-weight:var(--c15t-font-weight-medium);--button-font-size:var(--c15t-font-size-sm);--button-line-height:var(--c15t-line-height-tight);--button-transition:opacity var(--c15t-duration-fast) var(--c15t-easing), transform var(--c15t-duration-fast) var(--c15t-easing);--button-hover-transition-color:background-color var(--c15t-duration-fast) var(--c15t-easing);--button-hover-transition-full:background-color var(--c15t-duration-fast) var(--c15t-easing), box-shadow var(--c15t-duration-fast) var(--c15t-easing), color var(--c15t-duration-fast) var(--c15t-easing);--button-cursor:pointer;--button-shadow:var(--c15t-shadow-sm);--button-shadow-dark:var(--c15t-shadow-sm);--button-shadow-primary-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-neutral-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-primary-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-neutral-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-primary:var(--button-shadow), inset 0 0 0 1px var(--button-primary);--button-shadow-primary-dark:var(--button-shadow-dark), inset 0 0 0 1px var(--button-primary-dark);--button-shadow-primary-hover:none;--button-shadow-primary-hover-dark:none;--button-shadow-neutral:var(--button-shadow), inset 0 0 0 1px var(--button-neutral-soft);--button-shadow-neutral-dark:var(--button-shadow-dark), inset 0 0 0 1px var(--button-neutral-soft-dark);--button-shadow-neutral-hover:none;--button-shadow-neutral-hover-dark:none}
|
|
12
121
|
|
|
13
122
|
/* primitives/collapsible vars */
|
|
14
|
-
:root{--collapsible-duration:var(--c15t-duration-normal);--collapsible-ease:var(--c15t-easing);--collapsible-content-color:var(--c15t-text-muted);--collapsible-gap:0}
|
|
123
|
+
:root, :host{--collapsible-duration:var(--c15t-duration-normal);--collapsible-ease:var(--c15t-easing);--collapsible-content-color:var(--c15t-text-muted);--collapsible-gap:0}
|
|
15
124
|
|
|
16
125
|
/* primitives/legal-links vars */
|
|
17
|
-
:root{--legal-links-gap:.75rem;--legal-links-font-size:.875rem;--legal-links-transition:text-decoration .2s ease;--legal-links-text-decoration:none;--legal-links-text-decoration-hover:underline;--legal-links-outline:2px solid currentColor;--legal-links-outline-offset:2px;--legal-links-color:#476cff;--legal-links-focus-color:#476cff;--legal-links-focus-color-dark:#2547d0}
|
|
126
|
+
:root, :host{--legal-links-gap:.75rem;--legal-links-font-size:.875rem;--legal-links-transition:text-decoration .2s ease;--legal-links-text-decoration:none;--legal-links-text-decoration-hover:underline;--legal-links-outline:2px solid currentColor;--legal-links-outline-offset:2px;--legal-links-color:#476cff;--legal-links-focus-color:#476cff;--legal-links-focus-color-dark:#2547d0}
|
|
18
127
|
|
|
19
128
|
/* primitives/preference-item vars */
|
|
20
|
-
:root{--preference-item-gap:.75rem;--preference-item-leading-gap:.5rem;--preference-item-content-color:var(--c15t-text-muted);--preference-item-duration:var(--c15t-duration-normal);--preference-item-ease:var(--c15t-easing);--preference-item-focus-ring:var(--c15t-primary)}
|
|
129
|
+
:root, :host{--preference-item-gap:.75rem;--preference-item-leading-gap:.5rem;--preference-item-content-color:var(--c15t-text-muted);--preference-item-duration:var(--c15t-duration-normal);--preference-item-ease:var(--c15t-easing);--preference-item-focus-ring:var(--c15t-primary)}
|
|
21
130
|
|
|
22
131
|
/* primitives/tabs vars */
|
|
23
|
-
:root{--tabs-list-background:var(--c15t-surface);--tabs-list-border:var(--c15t-border);--tabs-trigger-color:var(--c15t-text-muted);--tabs-trigger-active-color:var(--c15t-text);--tabs-trigger-active-background:var(--c15t-surface-hover);--tabs-focus-ring:var(--c15t-primary)}
|
|
132
|
+
:root, :host{--tabs-list-background:var(--c15t-surface);--tabs-list-border:var(--c15t-border);--tabs-trigger-color:var(--c15t-text-muted);--tabs-trigger-active-color:var(--c15t-text);--tabs-trigger-active-background:var(--c15t-surface-hover);--tabs-focus-ring:var(--c15t-primary)}
|
|
24
133
|
|
|
25
|
-
/* components/iab-
|
|
26
|
-
|
|
27
|
-
:root{--
|
|
134
|
+
/* components/iab-panel vars */
|
|
135
|
+
@keyframes spin{to{transform:rotate(360deg)}}
|
|
136
|
+
:root, :host{--c15t-spin-animation:spin 1s linear infinite}
|
|
137
|
+
:root, :host{--iab-cd-font-family:var(--c15t-font-family);--iab-cd-line-height:var(--c15t-line-height-tight);--iab-cd-title-font-size:1.125rem;--iab-cd-title-font-weight:var(--c15t-font-weight-semibold);--iab-cd-description-font-size:.75rem;--iab-cd-description-line-height:var(--c15t-line-height-normal);--iab-cd-background-color:var(--c15t-surface);--iab-cd-background-color-dark:var(--c15t-surface);--iab-cd-text-color:var(--c15t-text);--iab-cd-text-color-dark:var(--c15t-text);--iab-cd-text-muted-color:var(--c15t-text-muted);--iab-cd-text-muted-color-dark:var(--c15t-text-muted);--iab-cd-border-color:var(--c15t-border);--iab-cd-border-color-dark:var(--c15t-border);--iab-cd-overlay-background:var(--c15t-overlay);--iab-cd-overlay-background-dark:var(--c15t-overlay);--iab-cd-primary-color:var(--c15t-primary);--iab-cd-primary-color-dark:var(--c15t-primary);--iab-cd-surface-hover:var(--c15t-surface-hover);--iab-cd-surface-hover-dark:var(--c15t-surface-hover);--iab-cd-max-width:48rem;--iab-cd-max-height:85vh;--iab-cd-border-radius:var(--c15t-radius-lg);--iab-cd-z-index:999999;--iab-cd-overlay-z-index:999998;--iab-cd-padding:var(--c15t-space-md);--iab-cd-padding-sm:var(--c15t-space-sm);--iab-cd-gap:var(--c15t-space-sm);--iab-cd-animation-duration:var(--c15t-duration-normal);--iab-cd-animation-timing:ease-out;--iab-cd-shadow:var(--c15t-shadow-xl)}
|
|
28
138
|
|
|
29
|
-
/* components/iab-
|
|
30
|
-
|
|
139
|
+
/* components/iab-prompt vars */
|
|
140
|
+
@keyframes iabConsentBannerEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
|
|
141
|
+
@keyframes iabConsentBannerExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}
|
|
142
|
+
:root, :host{--c15t-iab-consent-banner-enter-animation:iabConsentBannerEnter var(--c15t-duration-fast) var(--c15t-easing);--c15t-iab-consent-banner-exit-animation:iabConsentBannerExit var(--c15t-duration-fast) var(--c15t-easing)}
|
|
143
|
+
:root, :host{--iab-consent-banner-font-family:var(--c15t-font-family);--iab-consent-banner-line-height:var(--c15t-line-height-normal);--iab-consent-banner-text-size-adjust:100%;--iab-consent-banner-tab-size:4;--iab-consent-banner-border-radius-sm:var(--c15t-radius-sm);--iab-consent-banner-border-radius:var(--c15t-radius-lg);--iab-consent-banner-max-width:560px;--iab-consent-banner-animation-duration:var(--c15t-duration-fast);--iab-consent-banner-animation-timing:var(--c15t-easing);--iab-consent-banner-entry-animation:var(--c15t-iab-consent-banner-enter-animation);--iab-consent-banner-exit-animation:var(--c15t-iab-consent-banner-exit-animation);--iab-consent-banner-border-width:1px;--iab-consent-banner-border-width-hairline:1px;--iab-consent-banner-shadow:var(--c15t-shadow-lg);--iab-consent-banner-shadow-dark:var(--c15t-shadow-lg);--iab-consent-banner-background-color:var(--c15t-surface);--iab-consent-banner-background-color-dark:var(--c15t-surface);--iab-consent-banner-footer-background-color:var(--c15t-surface-hover);--iab-consent-banner-footer-background-color-dark:var(--c15t-surface-hover);--iab-consent-banner-text-color:var(--c15t-text);--iab-consent-banner-text-color-dark:var(--c15t-text);--iab-consent-banner-border-color:var(--c15t-border);--iab-consent-banner-border-color-dark:var(--c15t-border);--iab-consent-banner-title-color:var(--c15t-text);--iab-consent-banner-title-color-dark:var(--c15t-text);--iab-consent-banner-description-color:var(--c15t-text-muted);--iab-consent-banner-description-color-dark:var(--c15t-text-muted);--iab-consent-banner-overlay-background-color:var(--c15t-overlay);--iab-consent-banner-overlay-background-color-dark:var(--c15t-overlay);--iab-consent-banner-link-color:var(--c15t-primary);--iab-consent-banner-link-color-dark:var(--c15t-primary)}
|
|
144
|
+
@media only screen and (resolution>=192dpi){:root, :host{--iab-consent-banner-border-width-hairline:.5px}}
|
|
31
145
|
|
|
32
146
|
/* primitives/accordion */
|
|
33
|
-
.c15t-ui-root-RhSvQ{&>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}}.c15t-ui-item-v83OH{padding:var(--accordion-padding);background-color:var(--accordion-background-color);box-shadow:inset 0 0 0 1px var(--accordion-border-color);transition:background-color var(--accordion-duration) var(--accordion-ease), box-shadow var(--accordion-duration) var(--accordion-ease);border-radius:var(--accordion-radius);position:relative;overflow:visible}.c15t-dark .c15t-ui-item-v83OH{background-color:var(--accordion-background-color-dark);box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark)}.c15t-ui-item-v83OH:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px var(--accordion-border-color)}.c15t-dark .c15t-ui-item-v83OH:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark)}.c15t-ui-item-v83OH:focus-within:not(:has(.c15t-ui-triggerInner-lwGP6:focus-visible)){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px var(--accordion-border-color)}.c15t-dark .c15t-ui-item-v83OH:focus-within:not(:has(.c15t-ui-triggerInner-lwGP6:focus-visible)){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark)}.c15t-ui-item-v83OH:has(.c15t-ui-triggerInner-lwGP6:focus-visible){box-shadow:var(--accordion-focus-shadow)}.c15t-dark .c15t-ui-item-v83OH:has(.c15t-ui-triggerInner-lwGP6:focus-visible){box-shadow:var(--accordion-focus-shadow-dark)}.c15t-ui-trigger-uhpMT{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative;overflow:visible}.c15t-ui-triggerInner-lwGP6{letter-spacing:-.006em;text-align:left;width:100%;color:var(--accordion-text-color);cursor:pointer;border-radius:var(--accordion-radius);z-index:1;touch-action:manipulation;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.625rem;margin:0;padding:0;font-size:.875rem;font-weight:500;line-height:1.25rem;display:flex;position:relative}.c15t-ui-triggerInner-lwGP6 [data-slot=accordion-arrow]{margin-inline-start:auto}.c15t-dark .c15t-ui-triggerInner-lwGP6{color:var(--accordion-text-color-dark)}.c15t-ui-triggerInner-lwGP6:focus-visible{outline:none}.c15t-ui-icon-X1brh{width:var(--accordion-icon-size);height:var(--accordion-icon-size);color:var(--accordion-icon-color);flex-shrink:0}.c15t-dark .c15t-ui-icon-X1brh{color:var(--accordion-icon-color-dark)}.c15t-ui-arrowOpen-yE84x,.c15t-ui-arrowClose-QjqQt{width:var(--accordion-icon-size);height:var(--accordion-icon-size);transition:color var(--accordion-duration) var(--accordion-ease);flex-shrink:0;display:block}.c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color)}.c15t-dark .c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color-dark)}.c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-icon-color)}.c15t-dark .c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-icon-color-dark)}.c15t-ui-arrowClose-QjqQt{color:var(--accordion-icon-color);display:none}.c15t-dark .c15t-ui-arrowClose-QjqQt{color:var(--accordion-icon-color-dark)}.c15t-ui-item-v83OH[data-state=open] .c15t-ui-arrowOpen-yE84x{display:none}.c15t-ui-item-v83OH[data-state=open] .c15t-ui-arrowClose-QjqQt{display:block}.c15t-ui-content-YJGot{transition:grid-template-rows var(--accordion-duration) var(--accordion-ease);grid-template-rows:0fr;display:grid;overflow:hidden}.c15t-ui-content-YJGot[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-YJGot[data-state=closed]{pointer-events:none}.c15t-ui-content-YJGot>[data-slot=accordion-content-viewport]{min-height:0;overflow:hidden}.c15t-ui-contentInner-lPIUe{letter-spacing:-.006em;color:var(--accordion-content-color);opacity:1;transition:opacity calc(var(--accordion-duration) * .35) ease-out, transform calc(var(--accordion-duration) * .35) ease-out;will-change:opacity, transform;padding-top:.75rem;font-size:.875rem;line-height:1.25rem;transform:translateY(0)}.c15t-ui-content-YJGot[data-state=closed] .c15t-ui-contentInner-lPIUe{opacity:0;transform:translateY(-.125rem)}.c15t-dark .c15t-ui-contentInner-lPIUe{color:var(--accordion-content-color-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-item-v83OH,.c15t-ui-content-YJGot,.c15t-ui-arrowOpen-yE84x,.c15t-ui-arrowClose-QjqQt{transition:none}}@media (hover:none){.c15t-ui-item-v83OH:hover{background-color:var(--accordion-background-color)}.c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color)}}
|
|
147
|
+
.c15t-ui-root-RhSvQ{&>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem * var(--space-y-reverse))}}.c15t-ui-item-v83OH{padding:var(--accordion-padding,var(--c15t-space-md));background-color:var(--accordion-background-color,var(--c15t-surface));box-shadow:inset 0 0 0 1px var(--accordion-border-color,var(--c15t-border));transition:background-color var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing)), box-shadow var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));border-radius:var(--accordion-radius,var(--c15t-radius-md));position:relative;overflow:visible}.c15t-dark .c15t-ui-item-v83OH{background-color:var(--accordion-background-color-dark,var(--c15t-surface));box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark,var(--c15t-border))}.c15t-ui-item-v83OH:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover,var(--c15t-surface-hover));box-shadow:inset 0 0 0 1px var(--accordion-border-color,var(--c15t-border))}.c15t-dark .c15t-ui-item-v83OH:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover-dark,var(--c15t-surface-hover));box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark,var(--c15t-border))}.c15t-ui-item-v83OH:focus-within:not(:has(.c15t-ui-triggerInner-lwGP6:focus-visible)){background-color:var(--accordion-background-hover,var(--c15t-surface-hover));box-shadow:inset 0 0 0 1px var(--accordion-border-color,var(--c15t-border))}.c15t-dark .c15t-ui-item-v83OH:focus-within:not(:has(.c15t-ui-triggerInner-lwGP6:focus-visible)){background-color:var(--accordion-background-hover-dark,var(--c15t-surface-hover));box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark,var(--c15t-border))}.c15t-ui-item-v83OH:has(.c15t-ui-triggerInner-lwGP6:focus-visible){box-shadow:var(--accordion-focus-shadow,0 0 0 2px var(--accordion-focus-ring,var(--c15t-primary)))}.c15t-dark .c15t-ui-item-v83OH:has(.c15t-ui-triggerInner-lwGP6:focus-visible){box-shadow:var(--accordion-focus-shadow-dark,0 0 0 2px var(--accordion-focus-ring-dark,var(--c15t-primary)))}.c15t-ui-trigger-uhpMT{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative;overflow:visible}.c15t-ui-triggerInner-lwGP6{letter-spacing:-.006em;text-align:left;width:100%;color:var(--accordion-text-color,var(--c15t-text));cursor:pointer;border-radius:var(--accordion-radius,var(--c15t-radius-md));z-index:1;touch-action:manipulation;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:.625rem;margin:0;padding:0;font-size:.875rem;font-weight:500;line-height:1.25rem;display:flex;position:relative}.c15t-ui-triggerInner-lwGP6 [data-slot=accordion-arrow]{margin-inline-start:auto}.c15t-dark .c15t-ui-triggerInner-lwGP6{color:var(--accordion-text-color-dark,var(--c15t-text))}.c15t-ui-triggerInner-lwGP6:focus-visible{outline:none}.c15t-ui-icon-X1brh{width:var(--accordion-icon-size,1.25rem);height:var(--accordion-icon-size,1.25rem);color:var(--accordion-icon-color,var(--c15t-text-muted));flex-shrink:0}.c15t-dark .c15t-ui-icon-X1brh{color:var(--accordion-icon-color-dark,var(--c15t-text-muted))}.c15t-ui-arrowOpen-yE84x,.c15t-ui-arrowClose-QjqQt{width:var(--accordion-icon-size,1.25rem);height:var(--accordion-icon-size,1.25rem);transition:color var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));flex-shrink:0;display:block}.c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color,var(--c15t-text-muted))}.c15t-dark .c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color-dark,var(--c15t-text-muted))}.c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-icon-color,var(--c15t-text-muted))}.c15t-dark .c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-icon-color-dark,var(--c15t-text-muted))}.c15t-ui-arrowClose-QjqQt{color:var(--accordion-icon-color,var(--c15t-text-muted));display:none}.c15t-dark .c15t-ui-arrowClose-QjqQt{color:var(--accordion-icon-color-dark,var(--c15t-text-muted))}.c15t-ui-item-v83OH[data-state=open] .c15t-ui-arrowOpen-yE84x{display:none}.c15t-ui-item-v83OH[data-state=open] .c15t-ui-arrowClose-QjqQt{display:block}.c15t-ui-content-YJGot{transition:grid-template-rows var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));grid-template-rows:0fr;display:grid;overflow:hidden}.c15t-ui-content-YJGot[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-YJGot[data-state=closed]{pointer-events:none}.c15t-ui-content-YJGot>[data-slot=accordion-content-viewport]{min-height:0;overflow:hidden}.c15t-ui-contentInner-lPIUe{letter-spacing:-.006em;color:var(--accordion-content-color,var(--c15t-text-muted));opacity:1;transition:opacity calc(var(--accordion-duration,var(--c15t-duration-normal)) * .35) ease-out, transform calc(var(--accordion-duration,var(--c15t-duration-normal)) * .35) ease-out;will-change:opacity, transform;padding-top:.75rem;font-size:.875rem;line-height:1.25rem;transform:translateY(0)}.c15t-ui-content-YJGot[data-state=closed] .c15t-ui-contentInner-lPIUe{opacity:0;transform:translateY(-.125rem)}.c15t-dark .c15t-ui-contentInner-lPIUe{color:var(--accordion-content-color-dark,var(--c15t-text-muted))}@media (prefers-reduced-motion:reduce){.c15t-ui-item-v83OH,.c15t-ui-content-YJGot,.c15t-ui-arrowOpen-yE84x,.c15t-ui-arrowClose-QjqQt{transition:none}}@media (hover:none){.c15t-ui-item-v83OH:hover{background-color:var(--accordion-background-color,var(--c15t-surface))}.c15t-ui-item-v83OH:hover .c15t-ui-arrowOpen-yE84x{color:var(--accordion-arrow-color,var(--c15t-text-muted))}}
|
|
34
148
|
|
|
35
149
|
/* primitives/button */
|
|
36
|
-
.c15t-ui-button-Lo5cc{border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);transition:var(--button-transition);cursor:var(--button-cursor);border:var(--button-border-width) var(--button-border-style) var(--button-border-color);font-size:var(--button-font-size);line-height:var(--button-line-height);color:var(--button-text);font-family:var(--button-font);touch-action:manipulation;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.c15t-ui-button-Lo5cc:focus-visible{box-shadow:var(--button-shadow-primary-focus);outline:none}.c15t-dark .c15t-ui-button-Lo5cc:focus-visible{box-shadow:var(--button-shadow-primary-focus-dark)}.c15t-dark .c15t-ui-button-Lo5cc{color:var(--button-text-dark)}.c15t-ui-button-Lo5cc:disabled{opacity:.5;cursor:not-allowed}.c15t-ui-button-Lo5cc:active:not(:disabled){transform:scale(.97)}.c15t-ui-button-medium-zdZk5{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.625rem 1rem}.c15t-ui-button-small-nclev{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.5rem .75rem}.c15t-ui-button-xsmall-xj0Fq{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.375rem .625rem}.c15t-ui-button-xxsmall-qDcpO{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.25rem .5rem}.c15t-ui-button-primary-filled-u895k{background-color:var(--button-primary);color:var(--button-background-color)}.c15t-ui-button-primary-filled-u895k:focus-visible{box-shadow:var(--button-shadow-primary-focus)}.c15t-dark .c15t-ui-button-primary-filled-u895k{background-color:var(--button-primary-dark);color:var(--button-background-color-dark)}.c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary-hover);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary-hover-dark);transition:var(--button-hover-transition-color)}.c15t-ui-button-primary-stroke-rMkBn{background-color:var(--button-background-color);color:var(--button-primary);box-shadow:var(--button-shadow-primary)}.c15t-dark .c15t-ui-button-primary-stroke-rMkBn{background-color:var(--button-background-color-dark);color:var(--button-primary-dark);box-shadow:var(--button-shadow-primary-dark)}.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-primary-hover-tint);box-shadow:var(--button-shadow-primary-hover);transition:var(--button-hover-transition-full)}.c15t-dark .c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-primary-hover-tint);box-shadow:var(--button-shadow-primary-hover-dark);transition:var(--button-hover-transition-full)}.c15t-ui-button-primary-lighter-pa1_G{background-color:color-mix(in srgb, var(--button-primary) 10%, transparent);color:color-mix(in srgb, var(--button-primary) 85%, black)}.c15t-dark .c15t-ui-button-primary-lighter-pa1_G{background-color:color-mix(in srgb, var(--button-primary-dark) 10%, transparent);color:var(--button-primary-dark)}.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary-dark) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-ui-button-primary-ghost-gUXbr{color:var(--button-primary)}.c15t-dark .c15t-ui-button-primary-ghost-gUXbr{color:var(--button-primary-dark)}.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled),.c15t-dark .c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled){background-color:var(--button-primary-hover-tint);transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-filled-iBUdt{background-color:var(--button-neutral);color:var(--button-background-color)}.c15t-ui-button-neutral-filled-iBUdt:focus-visible{box-shadow:var(--button-shadow-neutral-focus)}.c15t-dark .c15t-ui-button-neutral-filled-iBUdt{background-color:var(--button-neutral-dark);color:var(--button-background-color-dark)}.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral-hover);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral-hover-dark);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-stroke-FNAAx{background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-dark .c15t-ui-button-neutral-stroke-FNAAx{background-color:var(--button-background-color-dark);box-shadow:var(--button-shadow-neutral-dark)}.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;color:var(--button-text-hover);transition:var(--button-hover-transition-full)}.c15t-dark .c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;color:var(--button-text-hover-dark);transition:var(--button-hover-transition-full)}.c15t-ui-button-neutral-lighter-CHsDA{background-color:color-mix(in srgb, var(--button-neutral) 10%, transparent);color:var(--button-neutral)}.c15t-dark .c15t-ui-button-neutral-lighter-CHsDA{background-color:color-mix(in srgb, var(--button-neutral-dark) 10%, transparent);color:var(--button-neutral-dark)}.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral-dark) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-ghost-a6Cdw{color:var(--button-neutral)}.c15t-dark .c15t-ui-button-neutral-ghost-a6Cdw{color:var(--button-neutral-dark)}.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled),.c15t-dark .c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-ui-button-icon-JD5sB{justify-content:center;align-items:center;display:inline-flex}@media (prefers-reduced-motion:reduce){.c15t-ui-button-Lo5cc,.c15t-ui-button-primary-filled-u895k:hover:not(:disabled),.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled),.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled),.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled),.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled),.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled),.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled),.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){transition:none}}@media (hover:none){.c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary)}.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-background-color);box-shadow:var(--button-shadow-primary)}.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary) 10%, transparent)}.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled){background-color:#0000}.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral)}.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral) 10%, transparent)}.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){background-color:#0000}}
|
|
150
|
+
.c15t-ui-button-Lo5cc{text-wrap:nowrap;border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);transition:var(--button-transition);cursor:var(--button-cursor);border:var(--button-border-width) var(--button-border-style) var(--button-border-color);font-size:var(--button-font-size);line-height:var(--button-line-height);color:var(--button-text);font-family:var(--button-font);touch-action:manipulation;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.c15t-ui-button-Lo5cc:focus-visible{box-shadow:var(--button-shadow-primary-focus);outline:none}.c15t-dark .c15t-ui-button-Lo5cc:focus-visible{box-shadow:var(--button-shadow-primary-focus-dark)}.c15t-dark .c15t-ui-button-Lo5cc{color:var(--button-text-dark)}.c15t-ui-button-Lo5cc:disabled{opacity:.5;cursor:not-allowed}.c15t-ui-button-Lo5cc:active:not(:disabled){transform:scale(.97)}.c15t-ui-button-medium-zdZk5{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.625rem 1rem}.c15t-ui-button-small-nclev{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.5rem .75rem}.c15t-ui-button-xsmall-xj0Fq{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.375rem .625rem}.c15t-ui-button-xxsmall-qDcpO{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.25rem .5rem}.c15t-ui-button-primary-filled-u895k{background-color:var(--button-primary);color:var(--button-background-color)}.c15t-ui-button-primary-filled-u895k:focus-visible{box-shadow:var(--button-shadow-primary-focus)}.c15t-dark .c15t-ui-button-primary-filled-u895k{background-color:var(--button-primary-dark);color:var(--button-background-color-dark)}.c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary-hover);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary-hover-dark);transition:var(--button-hover-transition-color)}.c15t-ui-button-primary-stroke-rMkBn{background-color:var(--button-background-color);color:var(--button-primary);box-shadow:var(--button-shadow-primary)}.c15t-dark .c15t-ui-button-primary-stroke-rMkBn{background-color:var(--button-background-color-dark);color:var(--button-primary-dark);box-shadow:var(--button-shadow-primary-dark)}.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-primary-hover-tint);box-shadow:var(--button-shadow-primary-hover);transition:var(--button-hover-transition-full)}.c15t-dark .c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-primary-hover-tint);box-shadow:var(--button-shadow-primary-hover-dark);transition:var(--button-hover-transition-full)}.c15t-ui-button-primary-lighter-pa1_G{background-color:color-mix(in srgb, var(--button-primary) 10%, transparent);color:color-mix(in srgb, var(--button-primary) 85%, black)}.c15t-dark .c15t-ui-button-primary-lighter-pa1_G{background-color:color-mix(in srgb, var(--button-primary-dark) 10%, transparent);color:var(--button-primary-dark)}.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary-dark) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-ui-button-primary-ghost-gUXbr{color:var(--button-primary)}.c15t-dark .c15t-ui-button-primary-ghost-gUXbr{color:var(--button-primary-dark)}.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled),.c15t-dark .c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled){background-color:var(--button-primary-hover-tint);transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-filled-iBUdt{background-color:var(--button-neutral);color:var(--button-background-color)}.c15t-ui-button-neutral-filled-iBUdt:focus-visible{box-shadow:var(--button-shadow-neutral-focus)}.c15t-dark .c15t-ui-button-neutral-filled-iBUdt{background-color:var(--button-neutral-dark);color:var(--button-background-color-dark)}.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral-hover);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral-hover-dark);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-stroke-FNAAx{background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-dark .c15t-ui-button-neutral-stroke-FNAAx{background-color:var(--button-background-color-dark);box-shadow:var(--button-shadow-neutral-dark)}.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;color:var(--button-text-hover);transition:var(--button-hover-transition-full)}.c15t-dark .c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;color:var(--button-text-hover-dark);transition:var(--button-hover-transition-full)}.c15t-ui-button-neutral-lighter-CHsDA{background-color:color-mix(in srgb, var(--button-neutral) 10%, transparent);color:var(--button-neutral)}.c15t-dark .c15t-ui-button-neutral-lighter-CHsDA{background-color:color-mix(in srgb, var(--button-neutral-dark) 10%, transparent);color:var(--button-neutral-dark)}.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-dark .c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral-dark) 20%, transparent);transition:var(--button-hover-transition-color)}.c15t-ui-button-neutral-ghost-a6Cdw{color:var(--button-neutral)}.c15t-dark .c15t-ui-button-neutral-ghost-a6Cdw{color:var(--button-neutral-dark)}.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled),.c15t-dark .c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){background-color:var(--button-neutral-hover-tint);box-shadow:none;transition:var(--button-hover-transition-color)}.c15t-ui-button-icon-JD5sB{justify-content:center;align-items:center;display:inline-flex}@media (prefers-reduced-motion:reduce){.c15t-ui-button-Lo5cc,.c15t-ui-button-primary-filled-u895k:hover:not(:disabled),.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled),.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled),.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled),.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled),.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled),.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled),.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){transition:none}}@media (hover:none){.c15t-ui-button-primary-filled-u895k:hover:not(:disabled){background-color:var(--button-primary)}.c15t-ui-button-primary-stroke-rMkBn:hover:not(:disabled){background-color:var(--button-background-color);box-shadow:var(--button-shadow-primary)}.c15t-ui-button-primary-lighter-pa1_G:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-primary) 10%, transparent)}.c15t-ui-button-primary-ghost-gUXbr:hover:not(:disabled){background-color:#0000}.c15t-ui-button-neutral-filled-iBUdt:hover:not(:disabled){background-color:var(--button-neutral)}.c15t-ui-button-neutral-stroke-FNAAx:hover:not(:disabled){background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-ui-button-neutral-lighter-CHsDA:hover:not(:disabled){background-color:color-mix(in srgb, var(--button-neutral) 10%, transparent)}.c15t-ui-button-neutral-ghost-a6Cdw:hover:not(:disabled){background-color:#0000}}
|
|
37
151
|
|
|
38
152
|
/* primitives/collapsible */
|
|
39
153
|
.c15t-ui-root-l7ccU{row-gap:var(--collapsible-gap);transition:row-gap var(--collapsible-duration) var(--collapsible-ease);width:100%;display:grid}.c15t-ui-root-l7ccU[data-state=closed]{row-gap:0}.c15t-ui-trigger-YLS2g{color:var(--c15t-text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:inline-flex}.c15t-ui-trigger-YLS2g:focus-visible{outline:2px solid var(--c15t-primary);outline-offset:2px}.c15t-ui-content-Yjdia{transition:grid-template-rows var(--collapsible-duration) var(--collapsible-ease);grid-template-rows:0fr;display:grid;overflow:hidden}.c15t-ui-content-Yjdia[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-Yjdia[data-state=closed]{pointer-events:none}.c15t-ui-contentViewport-L7bt7{min-height:0;overflow:hidden}.c15t-ui-contentInner-zoLX2{color:var(--collapsible-content-color);opacity:1;transition:opacity calc(var(--collapsible-duration) * .35) ease-out, transform calc(var(--collapsible-duration) * .35) ease-out;will-change:opacity, transform;transform:translateY(0)}.c15t-ui-content-Yjdia[data-state=closed] .c15t-ui-contentInner-zoLX2{opacity:0;transform:translateY(-.125rem)}@media (prefers-reduced-motion:reduce){.c15t-ui-root-l7ccU,.c15t-ui-content-Yjdia,.c15t-ui-contentInner-zoLX2{transition:none}}
|
|
@@ -42,7 +156,7 @@
|
|
|
42
156
|
.c15t-ui-legalLinks-xVTMr{gap:var(--legal-links-gap);flex-wrap:wrap;align-items:center;display:flex}.c15t-ui-legalLink-YVZqO{color:var(--legal-links-color);-webkit-text-decoration:var(--legal-links-text-decoration);-webkit-text-decoration:var(--legal-links-text-decoration);text-decoration:var(--legal-links-text-decoration);font-size:var(--legal-links-font-size);transition:var(--legal-links-transition)}.c15t-dark .c15t-ui-legalLink-YVZqO{color:var(--legal-links-focus-color-dark)}.c15t-ui-legalLink-YVZqO:hover{-webkit-text-decoration:var(--legal-links-text-decoration-hover);-webkit-text-decoration:var(--legal-links-text-decoration-hover);text-decoration:var(--legal-links-text-decoration-hover)}.c15t-ui-legalLink-YVZqO:focus{outline:none;text-decoration:underline}@media (prefers-reduced-motion:reduce){.c15t-ui-legalLink-YVZqO{transition:none}}
|
|
43
157
|
|
|
44
158
|
/* primitives/preference-item */
|
|
45
|
-
.c15t-ui-root-uVKV9{align-items:start;column-gap:var(--preference-item-gap);grid-template-columns:minmax(0,1fr) auto;row-gap:0;width:100%;display:grid}.c15t-ui-trigger-KE13P{align-items:flex-start;gap:var(--preference-item-leading-gap);
|
|
159
|
+
.c15t-ui-root-uVKV9{align-items:start;column-gap:var(--preference-item-gap);grid-template-columns:minmax(0,1fr) auto;row-gap:0;width:100%;display:grid}.c15t-ui-trigger-KE13P{align-items:flex-start;gap:var(--preference-item-leading-gap);width:100%;min-width:0;font:inherit;text-align:left;color:var(--c15t-text);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.c15t-ui-trigger-KE13P:focus-visible{outline:2px solid var(--preference-item-focus-ring);outline-offset:2px}.c15t-ui-leading-R7F08{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.c15t-ui-header-OUsAl{flex-direction:column;flex:1;min-width:0;display:flex}.c15t-ui-title-D6JTo{color:var(--c15t-text);font:inherit;min-width:0;margin:0}.c15t-ui-meta-G2S5Z{color:var(--c15t-text-muted);font:inherit;margin:0}.c15t-ui-auxiliary-jJSI7{flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0;display:flex}.c15t-ui-control-Dg8Bo{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.c15t-ui-content-VkWDD{transition:grid-template-rows var(--preference-item-duration) var(--preference-item-ease);grid-column:1/-1;grid-template-rows:0fr;display:grid;overflow:hidden}.c15t-ui-content-VkWDD[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-VkWDD[data-state=closed]{pointer-events:none}.c15t-ui-contentViewport-BOKhf{min-height:0;overflow:hidden}.c15t-ui-contentInner-m2ifM{color:var(--preference-item-content-color)}@media (prefers-reduced-motion:reduce){.c15t-ui-content-VkWDD{transition:none}}
|
|
46
160
|
|
|
47
161
|
/* primitives/switch */
|
|
48
162
|
.c15t-ui-root-Pd0rf{--switch-height:1.25rem;--switch-width:2rem;--switch-padding:.125rem;--switch-duration:var(--c15t-duration-normal);--switch-ease:var(--c15t-easing);--switch-thumb-size:.75rem;--switch-thumb-size-disabled:.625rem;--switch-thumb-translate:calc(var(--switch-width) - var(--switch-thumb-size) - 2 * var(--switch-padding));--switch-background-color:var(--c15t-switch-track);--switch-background-color-dark:var(--c15t-switch-track);--switch-background-color-hover:var(--c15t-surface-hover);--switch-background-color-hover-dark:var(--c15t-surface-hover);--switch-background-color-checked:var(--c15t-switch-track-active);--switch-background-color-checked-dark:var(--c15t-switch-track-active);--switch-background-color-disabled:var(--c15t-border);--switch-background-color-disabled-dark:var(--c15t-border);--switch-thumb-background-color:var(--c15t-switch-thumb);--switch-thumb-background-color-dark:var(--c15t-switch-thumb);--switch-thumb-background-color-disabled:var(--c15t-surface-hover);--switch-thumb-background-color-disabled-dark:var(--c15t-surface-hover);--switch-shadow-thumb:0 0 0 1px var(--c15t-border);--switch-shadow-thumb-dark:0 0 0 1px var(--c15t-border);--switch-focus-ring:var(--c15t-primary);--switch-focus-ring-dark:var(--c15t-primary);--switch-focus-shadow:0 0 0 2px var(--switch-focus-ring);--switch-focus-shadow-dark:0 0 0 2px var(--switch-focus-ring-dark);height:var(--switch-height);width:var(--switch-width);box-sizing:border-box;white-space:nowrap;touch-action:manipulation;background:0 0;border:0;border-radius:9999px;outline:none;flex-shrink:0;margin:0;padding:0;font-family:inherit;font-size:100%;line-height:1.15;display:block}.c15t-ui-track-kWz9_{box-sizing:border-box;width:100%;height:100%;padding:var(--switch-padding);background-color:var(--switch-background-color);transition:background-color var(--switch-duration) var(--switch-ease);border-radius:9999px;outline:none;align-items:center;display:flex;position:relative;overflow:hidden}.c15t-dark .c15t-ui-track-kWz9_{background-color:var(--switch-background-color-dark)}.c15t-ui-track-kWz9_:hover{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-ui-track-kWz9_:hover{background-color:var(--switch-background-color-hover-dark)}.c15t-ui-track-kWz9_:focus-visible{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-ui-track-kWz9_:focus-visible{background-color:var(--switch-background-color-hover-dark)}.c15t-ui-track-kWz9_:active{background-color:var(--switch-background-color)}.c15t-dark .c15t-ui-track-kWz9_:active{background-color:var(--switch-background-color-dark)}.c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-track-kWz9_{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-track-kWz9_{background-color:var(--switch-background-color-checked-dark)}.c15t-ui-root-Pd0rf[data-state=checked]:hover .c15t-ui-track-kWz9_{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-ui-root-Pd0rf[data-state=checked]:hover .c15t-ui-track-kWz9_{background-color:var(--switch-background-color-checked-dark)}.c15t-ui-root-Pd0rf[data-disabled]{cursor:not-allowed}.c15t-ui-root-Pd0rf:focus,.c15t-dark .c15t-ui-root-Pd0rf:focus{outline:none}.c15t-ui-track-disabled-VxwND{background-color:var(--switch-background-color-disabled);opacity:.4;box-shadow:inset 0 0 0 1px #ebebeb}.c15t-dark .c15t-ui-track-disabled-VxwND{background-color:var(--switch-background-color-disabled-dark)}.c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-track-disabled-VxwND{background-color:var(--switch-background-color-checked);opacity:.4;box-shadow:none}.c15t-dark .c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-track-disabled-VxwND{background-color:var(--switch-background-color-checked-dark)}.c15t-ui-thumb-mP7_o{box-sizing:border-box;pointer-events:none;width:var(--switch-thumb-size);height:var(--switch-thumb-size);transition:transform var(--switch-duration) var(--switch-ease);display:block;position:relative;transform:translate(0)}.c15t-ui-thumb-mP7_o:before{content:"";box-sizing:border-box;background-color:var(--switch-thumb-background-color);inset-block:0;border-radius:9999px;width:100%;position:absolute;left:0;mask:radial-gradient(circle farthest-side,#0000 1.95px,#000 2.05px 100%) 50%/100% 100% no-repeat}.c15t-dark .c15t-ui-thumb-mP7_o:before{background-color:var(--switch-thumb-background-color-dark)}.c15t-ui-thumb-mP7_o:after{content:"";box-sizing:border-box;width:100%;box-shadow:var(--switch-shadow-thumb);inset-block:0;border-radius:9999px;position:absolute;left:0}.c15t-dark .c15t-ui-thumb-mP7_o:after{box-shadow:var(--switch-shadow-thumb-dark)}.c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-thumb-mP7_o{transform:translateX(var(--switch-thumb-translate))}.c15t-ui-root-Pd0rf[dir=rtl][data-state=checked] .c15t-ui-thumb-mP7_o{transform:translateX(calc(-1 * var(--switch-thumb-translate)))}.c15t-ui-track-kWz9_:active .c15t-ui-thumb-mP7_o{transform:scale(.833)}.c15t-ui-thumb-disabled-fwQIy{box-shadow:none}.c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-thumb-disabled-fwQIy{transform:translateX(var(--switch-thumb-translate))}.c15t-ui-root-small-n0CMO{--switch-height:1rem;--switch-width:1.75rem;--switch-padding:.125rem;--switch-thumb-size:.625rem;--switch-thumb-size-disabled:.5rem;--switch-thumb-translate:calc(var(--switch-width) - var(--switch-thumb-size) - 2 * var(--switch-padding))}.c15t-ui-track-small-Ie8K6{width:100%;height:100%}.c15t-ui-thumb-small-uBOCk{width:var(--switch-thumb-size);height:var(--switch-thumb-size)}.c15t-ui-root-Pd0rf:focus-visible{outline:none}.c15t-ui-root-Pd0rf:focus-visible .c15t-ui-track-kWz9_{outline:2px solid var(--switch-focus-ring);outline-offset:2px}.c15t-dark .c15t-ui-root-Pd0rf:focus-visible .c15t-ui-track-kWz9_{outline-color:var(--switch-focus-ring-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-track-kWz9_,.c15t-ui-thumb-mP7_o{transition:none}}@media (hover:none){.c15t-ui-track-kWz9_:hover{background-color:var(--switch-background-color)}.c15t-ui-root-Pd0rf[data-state=checked] .c15t-ui-track-kWz9_:hover{background-color:var(--switch-background-color-checked)}}
|
|
@@ -50,8 +164,8 @@
|
|
|
50
164
|
/* primitives/tabs */
|
|
51
165
|
.c15t-ui-root-S5pMJ{gap:1rem;width:100%;display:grid}.c15t-ui-list-BZaPj{background:var(--tabs-list-background);border:1px solid var(--tabs-list-border);border-radius:var(--c15t-radius-md);grid-auto-flow:column;align-items:center;gap:.25rem;width:fit-content;padding:.25rem;display:inline-grid}.c15t-ui-list-vertical-cP2o0{grid-auto-flow:row}.c15t-ui-trigger-U8k4E{border-radius:calc(var(--c15t-radius-md) - .25rem);color:var(--tabs-trigger-color);cursor:pointer;font:inherit;transition:background-color var(--c15t-duration-fast) ease, color var(--c15t-duration-fast) ease;background:0 0;border:0;padding:.625rem .875rem;font-weight:500}.c15t-ui-trigger-U8k4E[data-state=active]{background:var(--tabs-trigger-active-background);color:var(--tabs-trigger-active-color)}.c15t-ui-trigger-U8k4E:focus-visible{outline:2px solid var(--tabs-focus-ring);outline-offset:2px}.c15t-ui-content-Iyncb{color:var(--c15t-text)}
|
|
52
166
|
|
|
53
|
-
/* components/iab-
|
|
54
|
-
.c15t-ui-root-ohkUO{box-sizing:border-box;z-index:999999998;font-family:var(--iab-consent-banner-font-family);line-height:var(--iab-consent-banner-line-height);-webkit-text-size-adjust:var(--iab-consent-banner-text-size-adjust);-webkit-font-smoothing:antialiased;tab-size:var(--iab-consent-banner-tab-size);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.c15t-ui-bannerVisible-mCqjY{opacity:1;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing), transform var(--iab-consent-banner-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-bannerHidden-gf6eK{opacity:0;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing), transform var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-ui-root-ohkUO{padding:1.5rem}}.c15t-ui-cardShell-Tur19{width:min(100%, var(--iab-consent-banner-max-width));flex-direction:column;display:flex}.c15t-ui-card-UZXwa{border-radius:var(--iab-consent-banner-border-radius);border-width:var(--iab-consent-banner-border-width);border-style:solid;border-color:var(--iab-consent-banner-border-color);background-color:var(--iab-consent-banner-background-color);width:100%;box-shadow:var(--iab-consent-banner-shadow);position:relative;overflow:hidden}.c15t-dark .c15t-ui-card-UZXwa{background-color:var(--iab-consent-banner-background-color-dark);border-color:var(--iab-consent-banner-border-color-dark);box-shadow:var(--iab-consent-banner-shadow-dark)}.c15t-ui-card-UZXwa[data-state=open]{animation:var(--iab-consent-banner-entry-animation)}.c15t-ui-card-UZXwa[data-state=closed]{animation:var(--iab-consent-banner-exit-animation)}.c15t-ui-card-UZXwa>:not([hidden])~:not([hidden]){border-top-width:var(--iab-consent-banner-border-width);border-top-style:solid;border-color:var(--iab-consent-banner-border-color)}.c15t-dark .c15t-ui-card-UZXwa>:not([hidden])~:not([hidden]){border-color:var(--iab-consent-banner-border-color-dark)}.c15t-ui-card-UZXwa:focus{outline-offset:2px;outline:none}@keyframes c15t-ui-iabConsentBannerEnter-Pe3nZ{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes c15t-ui-iabConsentBannerExit-saqVJ{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.c15t-ui-header-vZPUf{color:var(--iab-consent-banner-text-color);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.c15t-dark .c15t-ui-header-vZPUf{color:var(--iab-consent-banner-text-color-dark)}@media (width>=640px){.c15t-ui-header-vZPUf{padding:1.5rem}}.c15t-ui-title-jG39K{letter-spacing:-.011em;color:var(--iab-consent-banner-title-color);margin:0;font-size:1.125rem;font-weight:600;line-height:1.5rem}.c15t-dark .c15t-ui-title-jG39K{color:var(--iab-consent-banner-title-color-dark)}.c15t-ui-description-zvYpT{letter-spacing:-.006em;color:var(--iab-consent-banner-description-color);margin:0;font-size:.875rem;font-weight:400;line-height:1.5}.c15t-dark .c15t-ui-description-zvYpT{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-partnersLink-Adxgr{color:var(--iab-consent-banner-link-color);cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.c15t-ui-partnersLink-Adxgr:hover{text-decoration:underline}.c15t-dark .c15t-ui-partnersLink-Adxgr{color:var(--iab-consent-banner-link-color-dark)}.c15t-ui-purposeList-uJSoO{color:var(--iab-consent-banner-description-color);margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem;line-height:1.5;list-style-type:disc}.c15t-ui-purposeList-uJSoO li{margin-bottom:.25rem}.c15t-dark .c15t-ui-purposeList-uJSoO{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-legitimateInterestNotice-yZmKl{color:var(--iab-consent-banner-description-color);margin-top:.25rem;font-size:.8125rem;line-height:1.5}.c15t-dark .c15t-ui-legitimateInterestNotice-yZmKl{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-privacyLink-sIqYI{color:var(--iab-consent-banner-link-color);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.c15t-ui-privacyLink-sIqYI:hover{text-decoration:underline}.c15t-dark .c15t-ui-privacyLink-sIqYI{color:var(--iab-consent-banner-link-color-dark)}.c15t-ui-footer-YMUGl{background-color:var(--iab-consent-banner-footer-background-color);flex-direction:column;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-footer-YMUGl{background-color:var(--iab-consent-banner-footer-background-color-dark)}@media (width>=640px){.c15t-ui-footer-YMUGl{flex-direction:row;padding:1rem}}.c15t-ui-footerButtonGroup-WiFbg{flex-direction:row;gap:.5rem;display:flex}.c15t-ui-footerSpacer-lniRb,.c15t-ui-rejectButton-UHGRK,.c15t-ui-acceptButton-_VyN6,.c15t-ui-customizeButton-TV7Im{flex:1}@media (width>=640px){.c15t-ui-rejectButton-UHGRK,.c15t-ui-acceptButton-_VyN6,.c15t-ui-customizeButton-TV7Im{flex:none}}.c15t-ui-overlay-l1gsp{background-color:var(--iab-consent-banner-overlay-background-color);z-index:999999997;position:fixed;inset:0}.c15t-ui-overlayVisible-A4Wuk{opacity:1;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing)}.c15t-ui-overlayHidden-Fawca{opacity:0;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing)}.c15t-dark .c15t-ui-overlay-l1gsp{background-color:var(--iab-consent-banner-overlay-background-color-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-bannerVisible-mCqjY,.c15t-ui-bannerHidden-gf6eK,.c15t-ui-overlayVisible-A4Wuk,.c15t-ui-overlayHidden-Fawca{transition:none}.c15t-ui-card-UZXwa[data-state=open],.c15t-ui-card-UZXwa[data-state=closed]{animation:none}}
|
|
167
|
+
/* components/iab-panel */
|
|
168
|
+
.c15t-ui-root-pWvoN{box-sizing:border-box;isolation:isolate;font-family:var(--iab-cd-font-family);line-height:var(--iab-cd-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--iab-cd-padding);z-index:var(--iab-cd-z-index);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-ui-dialogVisible-ZcQux{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-dialogHidden-QOLab{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-contentVisible-oIYEE{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing), transform var(--iab-cd-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-contentHidden-dppgu{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing), transform var(--iab-cd-animation-duration) var(--iab-cd-animation-timing);transform:scale(.95)}.c15t-ui-overlay-LyBwJ{background-color:var(--iab-cd-overlay-background);z-index:var(--iab-cd-overlay-z-index);position:fixed;inset:0}.c15t-ui-overlayVisible-HyYf_{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-overlayHidden-G8kpl{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-dark .c15t-ui-overlay-LyBwJ{background-color:var(--iab-cd-overlay-background-dark)}.c15t-ui-card-DTFr5{width:min(100%, var(--iab-cd-max-width));max-height:var(--iab-cd-max-height);border-radius:var(--iab-cd-border-radius);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);min-height:0;box-shadow:var(--iab-cd-shadow);flex-direction:column;display:flex;position:relative;overflow:visible}.c15t-dark .c15t-ui-card-DTFr5{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-header-wVNlq{border-bottom:1px solid var(--iab-cd-border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-header-wVNlq{border-color:var(--iab-cd-border-color-dark)}@media (width>=768px){.c15t-ui-header-wVNlq{padding:1rem}}.c15t-ui-headerContent-djclo{flex:1}.c15t-ui-title-PNS3O{font-size:var(--iab-cd-title-font-size);font-weight:var(--iab-cd-title-font-weight);color:var(--iab-cd-text-color);margin:0;line-height:1.25}.c15t-dark .c15t-ui-title-PNS3O{color:var(--iab-cd-text-color-dark)}.c15t-ui-description-kGL5G{font-size:var(--iab-cd-description-font-size);color:var(--iab-cd-text-muted-color);line-height:var(--iab-cd-description-line-height);margin:.25rem 0 0}.c15t-dark .c15t-ui-description-kGL5G{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-closeButton-LDT86{border-radius:var(--c15t-radius-md);cursor:pointer;color:var(--iab-cd-text-muted-color);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;transition:background-color .15s;display:flex}.c15t-ui-closeButton-LDT86:hover{background-color:var(--iab-cd-surface-hover)}.c15t-dark .c15t-ui-closeButton-LDT86{color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-closeButton-LDT86:hover{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-body-IFzVC{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.c15t-ui-tabsContainer-CGMHA{flex-shrink:0;padding:.75rem .75rem 0}@media (width>=768px){.c15t-ui-tabsContainer-CGMHA{padding:1rem 1rem 0}}.c15t-ui-tabsList-w5OMX{isolation:isolate;border-radius:var(--c15t-radius-lg,.625rem);background-color:var(--iab-cd-surface-hover);grid-auto-columns:1fr;grid-auto-flow:column;gap:.25rem;padding:.25rem;display:grid;position:relative}.c15t-dark .c15t-ui-tabsList-w5OMX{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-tabButton-TaxQK{z-index:10;white-space:nowrap;border-radius:var(--c15t-radius-md,.375rem);height:2rem;color:var(--iab-cd-text-muted-color);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:color .15s cubic-bezier(.33,1,.68,1),background-color .15s cubic-bezier(.33,1,.68,1);display:flex;position:relative}.c15t-ui-tabButton-TaxQK:hover{color:var(--iab-cd-text-color)}.c15t-ui-tabButton-TaxQK:focus-visible{outline:2px solid var(--iab-cd-primary-color);outline-offset:2px}.c15t-ui-tabButton-TaxQK[data-state=active]{color:var(--iab-cd-text-color)}.c15t-dark .c15t-ui-tabButton-TaxQK{color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-tabButton-TaxQK:hover,.c15t-dark .c15t-ui-tabButton-TaxQK[data-state=active]{color:var(--iab-cd-text-color-dark)}.c15t-ui-tabIndicator-ipeu4{z-index:0;border-radius:var(--c15t-radius-md,.375rem);background-color:var(--iab-cd-background-color);transition:transform var(--c15t-duration-slow) cubic-bezier(.33, 1, .68, 1), width var(--c15t-duration-slow) cubic-bezier(.33, 1, .68, 1);position:absolute;inset-block:.25rem;box-shadow:0 1px 2px #0000000f,0 1px 3px #0000001a}.c15t-dark .c15t-ui-tabIndicator-ipeu4{background-color:var(--iab-cd-background-color-dark);box-shadow:0 1px 2px #0003,0 1px 3px #0000004d}.c15t-ui-tabIndicator-ipeu4[data-active-tab=purposes]{width:calc(50% - .125rem);left:.25rem;transform:translate(0)}.c15t-ui-tabIndicator-ipeu4[data-active-tab=vendors]{width:calc(50% - .125rem);left:.125rem;transform:translate(100%)}.c15t-ui-content-tpKyG{flex:auto;min-height:0;padding:.75rem;overflow:hidden auto}@media (width>=768px){.c15t-ui-content-tpKyG{padding:1rem}}.c15t-ui-purposeItem-ycHg8{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-purposeItem-ycHg8{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-purposeHeader-dtjf3{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-purposeTrigger-RYEFG{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;min-width:0;padding:0;display:flex}.c15t-ui-purposeArrow-O8n8H{width:1rem;height:1rem;color:var(--iab-cd-text-muted-color);flex-shrink:0}.c15t-dark .c15t-ui-purposeArrow-O8n8H{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-purposeInfo-wahTP{flex:1;min-width:0}.c15t-ui-purposeName-QJMF_{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-purposeName-QJMF_{color:var(--iab-cd-text-color-dark)}.c15t-ui-lockIcon-i8SD3{width:.75rem;height:.75rem;color:var(--iab-cd-text-muted-color)}.c15t-dark .c15t-ui-lockIcon-i8SD3{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-purposeMeta-OC9IY{color:var(--iab-cd-text-muted-color);margin:.125rem 0 0;font-size:.75rem}.c15t-dark .c15t-ui-purposeMeta-OC9IY{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-legitimateInterestBadge-t0cqx{color:var(--iab-cd-text-muted-color);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.625rem;font-weight:500;display:inline-flex}.c15t-ui-legitimateInterestIcon-Pvt34{width:.75rem;height:.75rem}.c15t-ui-srOnly-n1PBG{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.c15t-ui-purposeContent-teoEc{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding:.75rem}.c15t-dark .c15t-ui-purposeContent-teoEc{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-purposeDescription-eLaj6{color:var(--iab-cd-text-muted-color);margin:0;font-size:.75rem;line-height:1.5}.c15t-dark .c15t-ui-purposeDescription-eLaj6{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-examplesToggle-UKJ4l{color:var(--iab-cd-text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.75rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-examplesToggle-UKJ4l:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-examplesToggle-UKJ4l{color:var(--iab-cd-text-color-dark)}.c15t-dark .c15t-ui-examplesToggle-UKJ4l:hover{color:var(--iab-cd-primary-color-dark)}.c15t-ui-examplesList-Jgu0V{margin:.375rem 0 0;padding-left:1rem;list-style-type:disc}.c15t-ui-examplesList-Jgu0V li{color:var(--iab-cd-text-muted-color);font-size:.75rem;line-height:1.5}.c15t-dark .c15t-ui-examplesList-Jgu0V li{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorsToggle-iiROe{color:var(--iab-cd-text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.75rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-vendorsToggle-iiROe:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-vendorsToggle-iiROe{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorSection-Xotxt{z-index:1;margin-top:.375rem;position:relative}.c15t-ui-vendorSectionTitle-fDzFC{color:var(--iab-cd-text-muted-color);text-transform:uppercase;letter-spacing:.05em;margin:.5rem 0 .375rem;font-size:.625rem;font-weight:500}.c15t-dark .c15t-ui-vendorSectionTitle-fDzFC{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorSectionTitleLi-_EU2B{color:var(--iab-cd-text-muted-color);align-items:center;gap:.25rem;display:flex}.c15t-ui-vendorRow-MdJwv{border-radius:var(--c15t-radius-sm);background-color:var(--iab-cd-surface-hover);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.5rem;display:flex}.c15t-dark .c15t-ui-vendorRow-MdJwv{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorRowLi-TR3to{background-color:var(--iab-cd-surface-hover);border:1px solid var(--iab-cd-border-color)}.c15t-ui-vendorInfo-cLXjo{flex:1;min-width:0}.c15t-ui-vendorName-U5tbA{color:var(--iab-cd-text-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-vendorName-U5tbA:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-vendorName-U5tbA{color:var(--iab-cd-text-color-dark)}.c15t-ui-customVendorIcon-xE8uf{width:.75rem;height:.75rem;color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-customVendorIcon-xE8uf{color:var(--iab-cd-primary-color-dark)}.c15t-ui-vendorDetails-nJLMH{flex-wrap:wrap;gap:.5rem;margin-top:.125rem;display:flex}.c15t-ui-vendorDetail-qWyPR{color:var(--iab-cd-text-muted-color);font-size:.625rem}.c15t-dark .c15t-ui-vendorDetail-qWyPR{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorDetailLi-HiywZ{color:var(--iab-cd-text-muted-color);font-weight:500}.c15t-ui-stackItem-Z6dCC{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-stackItem-Z6dCC{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-stackHeader-TkNdL{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-stackTrigger-Kqeyy{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;min-width:0;padding:0;display:flex}.c15t-ui-stackInfo-JH0ue{flex:1;min-width:0}.c15t-ui-stackName-yNHhd{color:var(--iab-cd-text-color);margin:0;font-size:.875rem;font-weight:500;line-height:1.25}.c15t-dark .c15t-ui-stackName-yNHhd{color:var(--iab-cd-text-color-dark)}.c15t-ui-stackMeta-Il_rX{color:var(--iab-cd-text-muted-color);margin:.25rem 0 0;font-size:.75rem}.c15t-dark .c15t-ui-stackMeta-Il_rX{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-stackControls-kBZON{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.c15t-ui-partialIndicator-U9dt6{background-color:var(--iab-cd-primary-color);border-radius:50%;width:.375rem;height:.375rem}.c15t-ui-stackDescription-occgV{color:var(--iab-cd-text-muted-color);margin:0 0 0 1.5rem;padding-bottom:.75rem;font-size:.75rem}.c15t-ui-stackDescription-occgV p{margin:0}.c15t-ui-stackDescription-occgV p+p{margin-top:.25rem}.c15t-dark .c15t-ui-stackDescription-occgV{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-stackContent-wu6FF{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);padding:.5rem}.c15t-dark .c15t-ui-stackContent-wu6FF{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-specialPurposesSection-y9Pqu{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-specialPurposesSection-y9Pqu{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-specialPurposesHeader-Rq1Tg{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-specialPurposesTitle-tcftu{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-specialPurposesTitle-tcftu{color:var(--iab-cd-text-color-dark)}.c15t-ui-infoIcon-Egw87{width:.875rem;height:.875rem;color:var(--iab-cd-text-muted-color);cursor:help}.c15t-dark .c15t-ui-infoIcon-Egw87{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-tooltip-XjaZq{background-color:var(--iab-cd-background-color);border:1px solid var(--iab-cd-border-color);border-radius:var(--c15t-radius-md);width:16rem;box-shadow:var(--c15t-shadow-lg);color:var(--iab-cd-text-color);z-index:10;opacity:0;visibility:hidden;padding:.5rem;font-size:.75rem;transition:opacity .15s,visibility .15s;position:absolute;top:1.5rem;right:0}.c15t-ui-tooltipVisible-saaoQ{opacity:1;visibility:visible}.c15t-dark .c15t-ui-tooltip-XjaZq{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorListHeader-Hfxxu{background-color:var(--iab-cd-background-color);z-index:10;margin-top:0;padding-top:0;padding-bottom:.375rem;position:sticky;top:0}@media (width>=768px){.c15t-ui-vendorListHeader-Hfxxu{margin-top:0;padding-top:0;top:0}}.c15t-dark .c15t-ui-vendorListHeader-Hfxxu{background-color:var(--iab-cd-background-color-dark)}.c15t-ui-searchContainer-uyKJB{position:relative}.c15t-ui-searchIcon-NhyW4{width:.875rem;height:.875rem;color:var(--iab-cd-text-muted-color);position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.c15t-dark .c15t-ui-searchIcon-NhyW4{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-searchInput-cLLuO{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);width:100%;color:var(--iab-cd-text-color);padding:.5rem .75rem .5rem 2rem;font-size:.875rem}.c15t-ui-searchInput-cLLuO:focus{border-color:var(--iab-cd-primary-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.c15t-dark .c15t-ui-searchInput-cLLuO{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorCount-s4d6i{color:var(--iab-cd-text-muted-color);margin-top:.25rem;font-size:.75rem}.c15t-dark .c15t-ui-vendorCount-s4d6i{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-selectedVendorBanner-S6KCv{border-radius:var(--c15t-radius-md);z-index:100;isolation:isolate;background-color:#dbeafe;border:1px solid #3b82f64d;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .625rem;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.c15t-dark .c15t-ui-selectedVendorBanner-S6KCv{background-color:#1e3a8a;border-color:#3b82f666}.c15t-ui-selectedVendorText-jjIQi{color:var(--iab-cd-primary-color);flex:1;font-size:.75rem}.c15t-ui-clearSelectionButton-yz3Zx{color:var(--iab-cd-primary-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.75rem;display:flex}.c15t-ui-clearSelectionButton-yz3Zx:hover{opacity:.8}.c15t-ui-clearIcon-sTZC2{width:.75rem;height:.75rem}.c15t-ui-vendorListItem-NwBiX{z-index:1;border:1px solid var(--iab-cd-border-color);border-radius:var(--c15t-radius-md);margin-bottom:.375rem;scroll-margin-top:6rem;position:relative;overflow:hidden}.c15t-dark .c15t-ui-vendorListItem-NwBiX{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorListItemHeader-fBe_O{align-items:center;gap:.5rem;padding:.625rem;display:flex}.c15t-ui-vendorConsentControl-VC70A{border-radius:var(--c15t-radius-sm);flex-shrink:0;justify-content:center;align-items:center;min-width:2.25rem;min-height:2.25rem;padding:.375rem;display:inline-flex}.c15t-ui-vendorConsentControl-VC70A:hover{background-color:var(--iab-cd-surface-hover)}.c15t-dark .c15t-ui-vendorConsentControl-VC70A:hover{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorConsentSwitch-wEFf8{flex-shrink:0;display:block}.c15t-ui-vendorListTrigger-TG_0F{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;min-width:0;padding:0;display:flex}.c15t-ui-vendorListTrigger-TG_0F:hover{color:var(--iab-cd-primary-color)}.c15t-ui-vendorListInfo-BSgBB{flex:1;min-width:0}.c15t-ui-vendorListName-II_BV{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-vendorListName-II_BV{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorListMeta-wa6UC{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.125rem;display:flex}.c15t-ui-vendorListMetaText-MS_cF{color:var(--iab-cd-text-muted-color);font-size:.75rem}.c15t-dark .c15t-ui-vendorListMetaText-MS_cF{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorListLiBadge-_Uq0L{color:var(--iab-cd-text-muted-color);align-items:center;gap:.125rem;font-size:.625rem;font-weight:500;display:inline-flex}.c15t-ui-vendorListContent-CtRTw{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);padding:0 .625rem .625rem}.c15t-dark .c15t-ui-vendorListContent-CtRTw{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorLinks-pxq9Z{padding-top:.5rem}.c15t-ui-tabPanel-PJKhk{min-width:0;overflow-x:hidden}.c15t-ui-vendorLink-htHQn{color:var(--iab-cd-primary-color);align-items:center;gap:.25rem;margin-right:.75rem;font-size:.75rem;text-decoration:none;display:inline-flex}.c15t-ui-vendorLink-htHQn:hover{text-decoration:underline}.c15t-ui-vendorLinkIcon-UjIy5{width:.75rem;height:.75rem}.c15t-ui-vendorBadges-SED5E{flex-wrap:wrap;gap:.5rem;margin-top:.375rem;display:flex}.c15t-ui-vendorBadge-Pu0Hs{border-radius:var(--c15t-radius-sm);background-color:var(--iab-cd-surface-hover);color:var(--iab-cd-text-muted-color);padding:.125rem .375rem;font-size:.625rem}.c15t-dark .c15t-ui-vendorBadge-Pu0Hs{background-color:var(--iab-cd-surface-hover-dark);color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorPurposesList-CtEFC{margin-top:.5rem}.c15t-ui-vendorPurposesTitle-2hGY4{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:.75rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-vendorPurposesTitle-2hGY4{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorPurposesItems-VKo31{margin:0;padding:0;list-style:none}.c15t-ui-vendorPurposeItem-TmnWw{color:var(--iab-cd-text-muted-color);border-left:2px solid var(--iab-cd-border-color);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.125rem;padding-left:.5rem;font-size:.75rem;display:flex}.c15t-dark .c15t-ui-vendorPurposeItem-TmnWw{color:var(--iab-cd-text-muted-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorPurposeItemLi-rO_6B{border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-text-muted-color)}.c15t-ui-vendorRetention-TTJ2U{opacity:.7;font-size:.625rem}.c15t-ui-footer-YF32K{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-footer-YF32K{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-consentNotice-PEEG3{text-align:center;padding-top:1.5rem}.c15t-dark .c15t-ui-consentNotice-PEEG3{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-consentNoticeText-MhMCM{color:var(--iab-cd-text-muted-color);margin-block:0;font-size:.625rem}.c15t-dark .c15t-ui-consentNoticeText-MhMCM{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-loadingContainer-iW124{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:100%;display:flex}.c15t-ui-loadingSpinner-W8iiY{border:2px solid var(--iab-cd-border-color);border-top-color:var(--iab-cd-primary-color);width:1.75rem;height:1.75rem;animation:var(--c15t-spin-animation);border-radius:50%}.c15t-ui-loadingText-o2XqJ{color:var(--iab-cd-text-muted-color);font-size:.875rem}.c15t-dark .c15t-ui-loadingText-o2XqJ{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-emptyState-nmTzy{text-align:center;padding:2rem}.c15t-ui-emptyStateText-HuJtF{color:var(--iab-cd-text-muted-color);margin:0;font-size:.875rem}.c15t-dark .c15t-ui-emptyStateText-HuJtF{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorSection-Xotxt{z-index:1;margin-top:.25rem;margin-bottom:1rem;position:relative}.c15t-ui-vendorSectionHeading-s4i73{text-transform:uppercase;letter-spacing:.05em;color:var(--iab-cd-text-muted-color);background:var(--iab-cd-surface-hover-color);border-bottom:1px solid var(--iab-cd-border-color);align-items:center;gap:.5rem;margin:0;padding:.375rem 0 .25rem;font-size:.75rem;font-weight:600;display:flex}.c15t-dark .c15t-ui-vendorSectionHeading-s4i73{color:var(--iab-cd-text-muted-color-dark);background:var(--iab-cd-surface-hover-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorSectionIcon-Cc99v{flex-shrink:0;width:1rem;height:1rem}.c15t-ui-iabVendorSectionHeader-YsNA5{background-color:var(--iab-cd-background-color);border-bottom:1px solid var(--iab-cd-border-color);z-index:10;padding:.25rem 0;position:relative}.c15t-dark .c15t-ui-iabVendorSectionHeader-YsNA5{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-iabVendorSectionHeader-YsNA5 .c15t-ui-vendorSectionHeading-s4i73{border-bottom:none;padding-bottom:.25rem}.c15t-ui-iabVendorNotice-WnMMx{color:var(--iab-cd-text-muted-color);margin:0;font-size:.6875rem}.c15t-dark .c15t-ui-iabVendorNotice-WnMMx{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-customVendorSectionHeader-Sy8yM{background-color:var(--iab-cd-background-color);border-bottom:1px solid var(--iab-cd-border-color);z-index:10;padding:.5rem 0;position:relative}.c15t-dark .c15t-ui-customVendorSectionHeader-Sy8yM{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-customVendorSectionHeader-Sy8yM .c15t-ui-vendorSectionHeading-s4i73{background:0 0;border-bottom:none;padding-bottom:.25rem}.c15t-ui-customVendorNotice-NgBsE{color:var(--iab-cd-text-muted-color);margin:0;padding:.25rem 0 1rem;font-size:.6875rem}.c15t-dark .c15t-ui-customVendorNotice-NgBsE{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-customVendorItem-QF5C7{border-left:3px solid var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-customVendorItem-QF5C7{border-left-color:var(--iab-cd-primary-color-dark)}.c15t-ui-customVendorPurposeSection-zFEUM{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding-top:.75rem}.c15t-dark .c15t-ui-customVendorPurposeSection-zFEUM{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorSectionTitleCustom-JjHzO{text-transform:uppercase;letter-spacing:.05em;color:var(--iab-cd-primary-color);align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.625rem;font-weight:600;display:flex}.c15t-dark .c15t-ui-vendorSectionTitleCustom-JjHzO{color:var(--iab-cd-primary-color-dark)}.c15t-ui-objectButton-S0x1H{border-radius:var(--c15t-radius-sm);border:1px solid var(--iab-cd-border-color);color:var(--iab-cd-text-muted-color);cursor:pointer;white-space:nowrap;background-color:#0000;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.c15t-ui-objectButton-S0x1H:hover{border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-text-color)}.c15t-ui-objectButton-S0x1H[data-active],.c15t-ui-objectButtonActive-AlNLv{background-color:var(--iab-cd-text-muted-color);border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-background-color)}.c15t-ui-objectButton-S0x1H[data-active]:hover,.c15t-ui-objectButtonActive-AlNLv:hover{opacity:.9}.c15t-dark .c15t-ui-objectButton-S0x1H{border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-objectButton-S0x1H:hover{border-color:var(--iab-cd-text-muted-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-dark .c15t-ui-objectButton-S0x1H[data-active],.c15t-dark .c15t-ui-objectButtonActive-AlNLv{background-color:var(--iab-cd-text-muted-color-dark);border-color:var(--iab-cd-text-muted-color-dark);color:var(--iab-cd-background-color-dark)}.c15t-ui-liExplanation-_r6Zx{color:var(--iab-cd-text-muted-color);background-color:var(--iab-cd-surface-hover);font-size:.6875rem;font-style:italic}.c15t-dark .c15t-ui-liExplanation-_r6Zx{color:var(--iab-cd-text-muted-color-dark);background-color:var(--iab-cd-surface-hover-dark);border-color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorLiSection-sqzvi{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding-top:.75rem}.c15t-dark .c15t-ui-vendorLiSection-sqzvi{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorLiSectionHeader-fsKUh{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.c15t-ui-vendorLiSectionHeader-fsKUh .c15t-ui-vendorPurposesTitle-2hGY4{align-items:center;margin:0;display:flex}.c15t-ui-purposeLiSection-YbwuC{background-color:var(--iab-cd-surface-hover);border-radius:var(--c15t-radius-sm);border:1px solid var(--iab-cd-border-color);margin:.75rem 0;padding:.75rem}.c15t-dark .c15t-ui-purposeLiSection-YbwuC{background-color:var(--iab-cd-surface-hover-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-purposeLiSectionHeader-cSbP3{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.c15t-ui-purposeLiInfo-Rpryr{color:var(--iab-cd-text-color);align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-purposeLiInfo-Rpryr{color:var(--iab-cd-text-color-dark)}.c15t-ui-purposeLiInfo-Rpryr .c15t-ui-legitimateInterestIcon-Pvt34{flex-shrink:0}@media (prefers-reduced-motion:reduce){.c15t-ui-dialogVisible-ZcQux,.c15t-ui-dialogHidden-QOLab,.c15t-ui-contentVisible-oIYEE,.c15t-ui-contentHidden-dppgu,.c15t-ui-overlayVisible-HyYf_,.c15t-ui-overlayHidden-G8kpl,.c15t-ui-closeButton-LDT86,.c15t-ui-tabButton-TaxQK,.c15t-ui-tooltip-XjaZq,.c15t-ui-objectButton-S0x1H{transition:none}.c15t-ui-loadingSpinner-W8iiY{animation:none}}@media (hover:none){.c15t-ui-closeButton-LDT86:hover{background-color:#0000}.c15t-ui-tabButton-TaxQK:hover{color:var(--iab-cd-text-muted-color)}.c15t-ui-objectButton-S0x1H:hover{border-color:var(--iab-cd-border-color);color:var(--iab-cd-text-muted-color)}}
|
|
55
169
|
|
|
56
|
-
/* components/iab-
|
|
57
|
-
.c15t-ui-root-oQ3Q4{box-sizing:border-box;isolation:isolate;font-family:var(--iab-cd-font-family);line-height:var(--iab-cd-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--iab-cd-padding);z-index:var(--iab-cd-z-index);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-ui-dialogVisible-PUG1v{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-dialogHidden-FoTkw{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-contentVisible-G8YSA{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing), transform var(--iab-cd-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-contentHidden-iYnZI{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing), transform var(--iab-cd-animation-duration) var(--iab-cd-animation-timing);transform:scale(.95)}.c15t-ui-overlay-h1Tzu{background-color:var(--iab-cd-overlay-background);z-index:var(--iab-cd-overlay-z-index);position:fixed;inset:0}.c15t-ui-overlayVisible-HizR9{opacity:1;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-ui-overlayHidden-IFPwA{opacity:0;transition:opacity var(--iab-cd-animation-duration) var(--iab-cd-animation-timing)}.c15t-dark .c15t-ui-overlay-h1Tzu{background-color:var(--iab-cd-overlay-background-dark)}.c15t-ui-card-iVcxY{width:min(100%, var(--iab-cd-max-width));max-height:var(--iab-cd-max-height);border-radius:var(--iab-cd-border-radius);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);min-height:0;box-shadow:var(--iab-cd-shadow);flex-direction:column;display:flex;position:relative;overflow:visible}.c15t-dark .c15t-ui-card-iVcxY{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-header-q_v_l{border-bottom:1px solid var(--iab-cd-border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-header-q_v_l{border-color:var(--iab-cd-border-color-dark)}@media (width>=768px){.c15t-ui-header-q_v_l{padding:1rem}}.c15t-ui-headerContent-BVSE_{flex:1}.c15t-ui-title-Rrshj{font-size:var(--iab-cd-title-font-size);font-weight:var(--iab-cd-title-font-weight);color:var(--iab-cd-text-color);margin:0;line-height:1.25}.c15t-dark .c15t-ui-title-Rrshj{color:var(--iab-cd-text-color-dark)}.c15t-ui-description-wjYno{font-size:var(--iab-cd-description-font-size);color:var(--iab-cd-text-muted-color);line-height:var(--iab-cd-description-line-height);margin:.25rem 0 0}.c15t-dark .c15t-ui-description-wjYno{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-closeButton-wGCHD{border-radius:var(--c15t-radius-md);cursor:pointer;color:var(--iab-cd-text-muted-color);background:0 0;border:none;justify-content:center;align-items:center;padding:.375rem;transition:background-color .15s;display:flex}.c15t-ui-closeButton-wGCHD:hover{background-color:var(--iab-cd-surface-hover)}.c15t-dark .c15t-ui-closeButton-wGCHD{color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-closeButton-wGCHD:hover{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-body-p4KhY{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.c15t-ui-tabsContainer-aTkFk{flex-shrink:0;padding:.75rem .75rem 0}@media (width>=768px){.c15t-ui-tabsContainer-aTkFk{padding:1rem 1rem 0}}.c15t-ui-tabsList-BI6D3{isolation:isolate;border-radius:var(--c15t-radius-lg,.625rem);background-color:var(--iab-cd-surface-hover);grid-auto-columns:1fr;grid-auto-flow:column;gap:.25rem;padding:.25rem;display:grid;position:relative}.c15t-dark .c15t-ui-tabsList-BI6D3{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-tabButton-xZKks{z-index:10;white-space:nowrap;border-radius:var(--c15t-radius-md,.375rem);height:2rem;color:var(--iab-cd-text-muted-color);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;transition:color .15s cubic-bezier(.33,1,.68,1),background-color .15s cubic-bezier(.33,1,.68,1);display:flex;position:relative}.c15t-ui-tabButton-xZKks:hover{color:var(--iab-cd-text-color)}.c15t-ui-tabButton-xZKks:focus-visible{outline:2px solid var(--iab-cd-primary-color);outline-offset:2px}.c15t-ui-tabButton-xZKks[data-state=active]{color:var(--iab-cd-text-color)}.c15t-dark .c15t-ui-tabButton-xZKks{color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-tabButton-xZKks:hover,.c15t-dark .c15t-ui-tabButton-xZKks[data-state=active]{color:var(--iab-cd-text-color-dark)}.c15t-ui-tabIndicator-bGaYj{z-index:0;border-radius:var(--c15t-radius-md,.375rem);background-color:var(--iab-cd-background-color);transition:transform var(--c15t-duration-slow) cubic-bezier(.33, 1, .68, 1), width var(--c15t-duration-slow) cubic-bezier(.33, 1, .68, 1);position:absolute;inset-block:.25rem;box-shadow:0 1px 2px #0000000f,0 1px 3px #0000001a}.c15t-dark .c15t-ui-tabIndicator-bGaYj{background-color:var(--iab-cd-background-color-dark);box-shadow:0 1px 2px #0003,0 1px 3px #0000004d}.c15t-ui-tabIndicator-bGaYj[data-active-tab=purposes]{width:calc(50% - .125rem);left:.25rem;transform:translate(0)}.c15t-ui-tabIndicator-bGaYj[data-active-tab=vendors]{width:calc(50% - .125rem);left:.125rem;transform:translate(100%)}.c15t-ui-content-HHYIK{flex:auto;min-height:0;padding:.75rem;overflow:hidden auto}@media (width>=768px){.c15t-ui-content-HHYIK{padding:1rem}}.c15t-ui-purposeItem-bTIsY{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-purposeItem-bTIsY{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-purposeHeader-foPCp{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-purposeTrigger-cB3th{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;min-width:0;padding:0;display:flex}.c15t-ui-purposeArrow-oJXon{width:1rem;height:1rem;color:var(--iab-cd-text-muted-color);flex-shrink:0}.c15t-dark .c15t-ui-purposeArrow-oJXon{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-purposeInfo-liE3b{flex:1;min-width:0}.c15t-ui-purposeName-zDAD_{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-purposeName-zDAD_{color:var(--iab-cd-text-color-dark)}.c15t-ui-lockIcon-G9Bb9{width:.75rem;height:.75rem;color:var(--iab-cd-text-muted-color)}.c15t-dark .c15t-ui-lockIcon-G9Bb9{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-purposeMeta-jIesh{color:var(--iab-cd-text-muted-color);margin:.125rem 0 0;font-size:.75rem}.c15t-dark .c15t-ui-purposeMeta-jIesh{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-legitimateInterestBadge-eFgxM{color:var(--iab-cd-text-muted-color);align-items:center;gap:.25rem;margin-top:.25rem;font-size:.625rem;font-weight:500;display:inline-flex}.c15t-ui-legitimateInterestIcon-MdoA6{width:.75rem;height:.75rem}.c15t-ui-purposeContent-ufSwo{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding:.75rem}.c15t-dark .c15t-ui-purposeContent-ufSwo{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-purposeDescription-TlhAc{color:var(--iab-cd-text-muted-color);margin:0;font-size:.75rem;line-height:1.5}.c15t-dark .c15t-ui-purposeDescription-TlhAc{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-examplesToggle-sX0IF{color:var(--iab-cd-text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.75rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-examplesToggle-sX0IF:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-examplesToggle-sX0IF{color:var(--iab-cd-text-color-dark)}.c15t-dark .c15t-ui-examplesToggle-sX0IF:hover{color:var(--iab-cd-primary-color-dark)}.c15t-ui-examplesList-zB8Gu{margin:.375rem 0 0;padding-left:1rem;list-style-type:disc}.c15t-ui-examplesList-zB8Gu li{color:var(--iab-cd-text-muted-color);font-size:.75rem;line-height:1.5}.c15t-dark .c15t-ui-examplesList-zB8Gu li{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorsToggle-uCSbo{color:var(--iab-cd-text-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-top:.75rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-vendorsToggle-uCSbo:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-vendorsToggle-uCSbo{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorSection-jLX4W{z-index:1;margin-top:.375rem;position:relative}.c15t-ui-vendorSectionTitle-ucQyu{color:var(--iab-cd-text-muted-color);text-transform:uppercase;letter-spacing:.05em;margin:.5rem 0 .375rem;font-size:.625rem;font-weight:500}.c15t-dark .c15t-ui-vendorSectionTitle-ucQyu{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorSectionTitleLI-D_m3R{color:var(--iab-cd-text-muted-color);align-items:center;gap:.25rem;display:flex}.c15t-ui-vendorRow-ynEOC{border-radius:var(--c15t-radius-sm);background-color:var(--iab-cd-surface-hover);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.375rem;padding:.5rem;display:flex}.c15t-dark .c15t-ui-vendorRow-ynEOC{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorRowLI-j9Z37{background-color:var(--iab-cd-surface-hover);border:1px solid var(--iab-cd-border-color)}.c15t-ui-vendorInfo-SzGWD{flex:1;min-width:0}.c15t-ui-vendorName-PyL1i{color:var(--iab-cd-text-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;font-size:.75rem;font-weight:500;display:flex}.c15t-ui-vendorName-PyL1i:hover{color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-vendorName-PyL1i{color:var(--iab-cd-text-color-dark)}.c15t-ui-customVendorIcon-W8oJg{width:.75rem;height:.75rem;color:var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-customVendorIcon-W8oJg{color:var(--iab-cd-primary-color-dark)}.c15t-ui-vendorDetails-Ou6m6{flex-wrap:wrap;gap:.5rem;margin-top:.125rem;display:flex}.c15t-ui-vendorDetail-lOMDC{color:var(--iab-cd-text-muted-color);font-size:.625rem}.c15t-dark .c15t-ui-vendorDetail-lOMDC{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorDetailLI-NNcid{color:var(--iab-cd-text-muted-color);font-weight:500}.c15t-ui-stackItem-VcXtI{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-stackItem-VcXtI{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-stackHeader-RZahv{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-stackTrigger-JqLyX{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.5rem;min-width:0;padding:0;display:flex}.c15t-ui-stackInfo-s7JaD{flex:1;min-width:0}.c15t-ui-stackName-cYp1z{color:var(--iab-cd-text-color);margin:0;font-size:.875rem;font-weight:500;line-height:1.25}.c15t-dark .c15t-ui-stackName-cYp1z{color:var(--iab-cd-text-color-dark)}.c15t-ui-stackMeta-OnclK{color:var(--iab-cd-text-muted-color);margin:.25rem 0 0;font-size:.75rem}.c15t-dark .c15t-ui-stackMeta-OnclK{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-stackControls-uhDRo{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.c15t-ui-partialIndicator-SvNip{background-color:var(--iab-cd-primary-color);border-radius:50%;width:.375rem;height:.375rem}.c15t-ui-stackDescription-yd0M5{color:var(--iab-cd-text-muted-color);margin:0 0 0 1.5rem;padding-bottom:.75rem;font-size:.75rem}.c15t-ui-stackDescription-yd0M5 p{margin:0}.c15t-ui-stackDescription-yd0M5 p+p{margin-top:.25rem}.c15t-dark .c15t-ui-stackDescription-yd0M5{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-stackContent-TId3a{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);padding:.5rem}.c15t-dark .c15t-ui-stackContent-TId3a{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-specialPurposesSection-pRrtz{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);margin-bottom:.5rem}.c15t-dark .c15t-ui-specialPurposesSection-pRrtz{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-specialPurposesHeader-HiKU4{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.c15t-ui-specialPurposesTitle-ZZIyy{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-specialPurposesTitle-ZZIyy{color:var(--iab-cd-text-color-dark)}.c15t-ui-infoIcon-yoBJo{width:.875rem;height:.875rem;color:var(--iab-cd-text-muted-color);cursor:help}.c15t-dark .c15t-ui-infoIcon-yoBJo{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-tooltip-klAzU{background-color:var(--iab-cd-background-color);border:1px solid var(--iab-cd-border-color);border-radius:var(--c15t-radius-md);width:16rem;box-shadow:var(--c15t-shadow-lg);color:var(--iab-cd-text-color);z-index:10;opacity:0;visibility:hidden;padding:.5rem;font-size:.75rem;transition:opacity .15s,visibility .15s;position:absolute;top:1.5rem;right:0}.c15t-ui-tooltipVisible-PE80C{opacity:1;visibility:visible}.c15t-dark .c15t-ui-tooltip-klAzU{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorListHeader-wt620{background-color:var(--iab-cd-background-color);z-index:10;margin-top:0;padding-top:0;padding-bottom:.375rem;position:sticky;top:0}@media (width>=768px){.c15t-ui-vendorListHeader-wt620{margin-top:0;padding-top:0;top:0}}.c15t-dark .c15t-ui-vendorListHeader-wt620{background-color:var(--iab-cd-background-color-dark)}.c15t-ui-searchContainer-GGLB3{position:relative}.c15t-ui-searchIcon-Vfyaq{width:.875rem;height:.875rem;color:var(--iab-cd-text-muted-color);position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.c15t-dark .c15t-ui-searchIcon-Vfyaq{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-searchInput-Q33NC{border-radius:var(--c15t-radius-md);border:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-background-color);width:100%;color:var(--iab-cd-text-color);padding:.5rem .75rem .5rem 2rem;font-size:.875rem}.c15t-ui-searchInput-Q33NC:focus{border-color:var(--iab-cd-primary-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.c15t-dark .c15t-ui-searchInput-Q33NC{background-color:var(--iab-cd-background-color-dark);border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorCount-LTBE9{color:var(--iab-cd-text-muted-color);margin-top:.25rem;font-size:.75rem}.c15t-dark .c15t-ui-vendorCount-LTBE9{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-selectedVendorBanner-a9iA2{border-radius:var(--c15t-radius-md);z-index:100;isolation:isolate;background-color:#dbeafe;border:1px solid #3b82f64d;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .625rem;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.c15t-dark .c15t-ui-selectedVendorBanner-a9iA2{background-color:#1e3a8a;border-color:#3b82f666}.c15t-ui-selectedVendorText-Pudgx{color:var(--iab-cd-primary-color);flex:1;font-size:.75rem}.c15t-ui-clearSelectionButton-OXp7e{color:var(--iab-cd-primary-color);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:0;font-size:.75rem;display:flex}.c15t-ui-clearSelectionButton-OXp7e:hover{opacity:.8}.c15t-ui-clearIcon-nhj3A{width:.75rem;height:.75rem}.c15t-ui-vendorListItem-yS2cU{z-index:1;border:1px solid var(--iab-cd-border-color);border-radius:var(--c15t-radius-md);margin-bottom:.375rem;scroll-margin-top:6rem;position:relative;overflow:hidden}.c15t-dark .c15t-ui-vendorListItem-yS2cU{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorListItemHeader-v7x4k{align-items:center;gap:.5rem;padding:.625rem;display:flex}.c15t-ui-vendorConsentControl-FDGds{border-radius:var(--c15t-radius-sm);flex-shrink:0;justify-content:center;align-items:center;min-width:2.25rem;min-height:2.25rem;padding:.375rem;display:inline-flex}.c15t-ui-vendorConsentControl-FDGds:hover{background-color:var(--iab-cd-surface-hover)}.c15t-dark .c15t-ui-vendorConsentControl-FDGds:hover{background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorConsentSwitch-sANqn{flex-shrink:0;display:block}.c15t-ui-vendorListTrigger-H5lqi{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;min-width:0;padding:0;display:flex}.c15t-ui-vendorListTrigger-H5lqi:hover{color:var(--iab-cd-primary-color)}.c15t-ui-vendorListInfo-QYJou{flex:1;min-width:0}.c15t-ui-vendorListName-dlnJx{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-vendorListName-dlnJx{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorListMeta-ULPAo{flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.125rem;display:flex}.c15t-ui-vendorListMetaText-bruFU{color:var(--iab-cd-text-muted-color);font-size:.75rem}.c15t-dark .c15t-ui-vendorListMetaText-bruFU{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorListLIBadge-cnZi7{color:var(--iab-cd-text-muted-color);align-items:center;gap:.125rem;font-size:.625rem;font-weight:500;display:inline-flex}.c15t-ui-vendorListContent-Jo1kN{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);padding:0 .625rem .625rem}.c15t-dark .c15t-ui-vendorListContent-Jo1kN{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-vendorLinks-MqbfV{padding-top:.5rem}.c15t-ui-tabPanel-QsMyB{min-width:0;overflow-x:hidden}.c15t-ui-vendorLink-sfRW9{color:var(--iab-cd-primary-color);align-items:center;gap:.25rem;margin-right:.75rem;font-size:.75rem;text-decoration:none;display:inline-flex}.c15t-ui-vendorLink-sfRW9:hover{text-decoration:underline}.c15t-ui-vendorLinkIcon-XFOjn{width:.75rem;height:.75rem}.c15t-ui-vendorBadges-mpcxI{flex-wrap:wrap;gap:.5rem;margin-top:.375rem;display:flex}.c15t-ui-vendorBadge-pvgVW{border-radius:var(--c15t-radius-sm);background-color:var(--iab-cd-surface-hover);color:var(--iab-cd-text-muted-color);padding:.125rem .375rem;font-size:.625rem}.c15t-dark .c15t-ui-vendorBadge-pvgVW{background-color:var(--iab-cd-surface-hover-dark);color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorPurposesList-LjkUB{margin-top:.5rem}.c15t-ui-vendorPurposesTitle-goJri{color:var(--iab-cd-text-color);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:.75rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-vendorPurposesTitle-goJri{color:var(--iab-cd-text-color-dark)}.c15t-ui-vendorPurposesItems-lRTbJ{margin:0;padding:0;list-style:none}.c15t-ui-vendorPurposeItem-dsY4R{color:var(--iab-cd-text-muted-color);border-left:2px solid var(--iab-cd-border-color);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.125rem;padding-left:.5rem;font-size:.75rem;display:flex}.c15t-dark .c15t-ui-vendorPurposeItem-dsY4R{color:var(--iab-cd-text-muted-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorPurposeItemLI-Iv4NY{border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-text-muted-color)}.c15t-ui-vendorRetention-YFyBS{opacity:.7;font-size:.625rem}.c15t-ui-footer-luLru{border-top:1px solid var(--iab-cd-border-color);background-color:var(--iab-cd-surface-hover);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-footer-luLru{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-surface-hover-dark)}.c15t-ui-footerButtons-kcS68{gap:.5rem;display:flex}.c15t-ui-footerSpacer-pcXLL{flex:1}.c15t-ui-consentNotice-v9BBK{text-align:center;padding-top:1.5rem}.c15t-dark .c15t-ui-consentNotice-v9BBK{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-consentNoticeText-x_Wq_{color:var(--iab-cd-text-muted-color);margin-block:0;font-size:.625rem}.c15t-dark .c15t-ui-consentNoticeText-x_Wq_{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-loadingContainer-_P6Gs{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:100%;display:flex}.c15t-ui-loadingSpinner-xnPfZ{border:2px solid var(--iab-cd-border-color);border-top-color:var(--iab-cd-primary-color);border-radius:50%;width:1.75rem;height:1.75rem;animation:1s linear infinite c15t-ui-spin-AtPOH}@keyframes c15t-ui-spin-AtPOH{to{transform:rotate(360deg)}}.c15t-ui-loadingText-MM9pG{color:var(--iab-cd-text-muted-color);font-size:.875rem}.c15t-dark .c15t-ui-loadingText-MM9pG{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-emptyState-kXcux{text-align:center;padding:2rem}.c15t-ui-emptyStateText-bmfpF{color:var(--iab-cd-text-muted-color);margin:0;font-size:.875rem}.c15t-dark .c15t-ui-emptyStateText-bmfpF{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorSection-jLX4W{z-index:1;margin-top:.25rem;margin-bottom:1rem;position:relative}.c15t-ui-vendorSectionHeading-VcNql{text-transform:uppercase;letter-spacing:.05em;color:var(--iab-cd-text-muted-color);background:var(--iab-cd-surface-hover-color);border-bottom:1px solid var(--iab-cd-border-color);align-items:center;gap:.5rem;margin:0;padding:.375rem 0 .25rem;font-size:.75rem;font-weight:600;display:flex}.c15t-dark .c15t-ui-vendorSectionHeading-VcNql{color:var(--iab-cd-text-muted-color-dark);background:var(--iab-cd-surface-hover-color-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorSectionIcon-WYSlx{flex-shrink:0;width:1rem;height:1rem}.c15t-ui-iabVendorSectionHeader-XoOsW{background-color:var(--iab-cd-background-color);border-bottom:1px solid var(--iab-cd-border-color);z-index:10;padding:.25rem 0;position:relative}.c15t-dark .c15t-ui-iabVendorSectionHeader-XoOsW{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-iabVendorSectionHeader-XoOsW .c15t-ui-vendorSectionHeading-VcNql{border-bottom:none;padding-bottom:.25rem}.c15t-ui-iabVendorNotice-kcdl1{color:var(--iab-cd-text-muted-color);margin:0;font-size:.6875rem}.c15t-dark .c15t-ui-iabVendorNotice-kcdl1{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-customVendorSectionHeader-pvTOf{background-color:var(--iab-cd-background-color);border-bottom:1px solid var(--iab-cd-border-color);z-index:10;padding:.5rem 0;position:relative}.c15t-dark .c15t-ui-customVendorSectionHeader-pvTOf{border-color:var(--iab-cd-border-color-dark);background-color:var(--iab-cd-background-color-dark)}.c15t-ui-customVendorSectionHeader-pvTOf .c15t-ui-vendorSectionHeading-VcNql{background:0 0;border-bottom:none;padding-bottom:.25rem}.c15t-ui-customVendorNotice-qL5iK{color:var(--iab-cd-text-muted-color);margin:0;padding:.25rem 0 1rem;font-size:.6875rem}.c15t-dark .c15t-ui-customVendorNotice-qL5iK{color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-customVendorItem-GSwuY{border-left:3px solid var(--iab-cd-primary-color)}.c15t-dark .c15t-ui-customVendorItem-GSwuY{border-left-color:var(--iab-cd-primary-color-dark)}.c15t-ui-customVendorPurposeSection-CHCdx{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding-top:.75rem}.c15t-dark .c15t-ui-customVendorPurposeSection-CHCdx{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorSectionTitleCustom-T5bOQ{text-transform:uppercase;letter-spacing:.05em;color:var(--iab-cd-primary-color);align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.625rem;font-weight:600;display:flex}.c15t-dark .c15t-ui-vendorSectionTitleCustom-T5bOQ{color:var(--iab-cd-primary-color-dark)}.c15t-ui-objectButton-TXelw{border-radius:var(--c15t-radius-sm);border:1px solid var(--iab-cd-border-color);color:var(--iab-cd-text-muted-color);cursor:pointer;white-space:nowrap;background-color:#0000;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.c15t-ui-objectButton-TXelw:hover{border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-text-color)}.c15t-ui-objectButtonActive-HK4NE{background-color:var(--iab-cd-text-muted-color);border-color:var(--iab-cd-text-muted-color);color:var(--iab-cd-background-color)}.c15t-ui-objectButtonActive-HK4NE:hover{opacity:.9}.c15t-dark .c15t-ui-objectButton-TXelw{border-color:var(--iab-cd-border-color-dark);color:var(--iab-cd-text-muted-color-dark)}.c15t-dark .c15t-ui-objectButton-TXelw:hover{border-color:var(--iab-cd-text-muted-color-dark);color:var(--iab-cd-text-color-dark)}.c15t-dark .c15t-ui-objectButtonActive-HK4NE{background-color:var(--iab-cd-text-muted-color-dark);border-color:var(--iab-cd-text-muted-color-dark);color:var(--iab-cd-background-color-dark)}.c15t-ui-liExplanation-qSK2Z{color:var(--iab-cd-text-muted-color);background-color:var(--iab-cd-surface-hover);font-size:.6875rem;font-style:italic}.c15t-dark .c15t-ui-liExplanation-qSK2Z{color:var(--iab-cd-text-muted-color-dark);background-color:var(--iab-cd-surface-hover-dark);border-color:var(--iab-cd-text-muted-color-dark)}.c15t-ui-vendorLISection-mrh74{border-top:1px solid var(--iab-cd-border-color);margin-top:.75rem;padding-top:.75rem}.c15t-dark .c15t-ui-vendorLISection-mrh74{border-color:var(--iab-cd-border-color-dark)}.c15t-ui-vendorLISectionHeader-pWhrl{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.c15t-ui-vendorLISectionHeader-pWhrl .c15t-ui-vendorPurposesTitle-goJri{align-items:center;margin:0;display:flex}.c15t-ui-purposeLISection-nKeYo{background-color:var(--iab-cd-surface-hover);border-radius:var(--c15t-radius-sm);border:1px solid var(--iab-cd-border-color);margin:.75rem 0;padding:.75rem}.c15t-dark .c15t-ui-purposeLISection-nKeYo{background-color:var(--iab-cd-surface-hover-dark);border-color:var(--iab-cd-border-color-dark)}.c15t-ui-purposeLISectionHeader-o_SvL{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.c15t-ui-purposeLIInfo-jokDR{color:var(--iab-cd-text-color);align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:flex}.c15t-dark .c15t-ui-purposeLIInfo-jokDR{color:var(--iab-cd-text-color-dark)}.c15t-ui-purposeLIInfo-jokDR .c15t-ui-legitimateInterestIcon-MdoA6{flex-shrink:0}@media (prefers-reduced-motion:reduce){.c15t-ui-dialogVisible-PUG1v,.c15t-ui-dialogHidden-FoTkw,.c15t-ui-contentVisible-G8YSA,.c15t-ui-contentHidden-iYnZI,.c15t-ui-overlayVisible-HizR9,.c15t-ui-overlayHidden-IFPwA,.c15t-ui-closeButton-wGCHD,.c15t-ui-tabButton-xZKks,.c15t-ui-tooltip-klAzU,.c15t-ui-objectButton-TXelw{transition:none}.c15t-ui-loadingSpinner-xnPfZ{animation:none}}@media (hover:none){.c15t-ui-closeButton-wGCHD:hover{background-color:#0000}.c15t-ui-tabButton-xZKks:hover{color:var(--iab-cd-text-muted-color)}.c15t-ui-objectButton-TXelw:hover{border-color:var(--iab-cd-border-color);color:var(--iab-cd-text-muted-color)}}
|
|
170
|
+
/* components/iab-prompt */
|
|
171
|
+
.c15t-ui-root-wCtZ2{box-sizing:border-box;z-index:999998;font-family:var(--iab-consent-banner-font-family);line-height:var(--iab-consent-banner-line-height);-webkit-text-size-adjust:var(--iab-consent-banner-text-size-adjust);-webkit-font-smoothing:antialiased;tab-size:var(--iab-consent-banner-tab-size);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.c15t-ui-bannerVisible-uqQdb{opacity:1;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing), transform var(--iab-consent-banner-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-bannerHidden-KVkXf{opacity:0;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing), transform var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-ui-root-wCtZ2{padding:1.5rem}}.c15t-ui-cardShell-pmM71{width:min(100%, var(--iab-consent-banner-max-width));flex-direction:column;display:flex}.c15t-ui-card-lJZdN{border-radius:var(--iab-consent-banner-border-radius);border-width:var(--iab-consent-banner-border-width);border-style:solid;border-color:var(--iab-consent-banner-border-color);background-color:var(--iab-consent-banner-background-color);width:100%;box-shadow:var(--iab-consent-banner-shadow);position:relative;overflow:hidden}.c15t-dark .c15t-ui-card-lJZdN{background-color:var(--iab-consent-banner-background-color-dark);border-color:var(--iab-consent-banner-border-color-dark);box-shadow:var(--iab-consent-banner-shadow-dark)}.c15t-ui-card-lJZdN[data-state=open]{animation:var(--iab-consent-banner-entry-animation)}.c15t-ui-card-lJZdN[data-state=closed]{animation:var(--iab-consent-banner-exit-animation)}.c15t-ui-card-lJZdN>:not([hidden])~:not([hidden]){border-top-width:var(--iab-consent-banner-border-width);border-top-style:solid;border-color:var(--iab-consent-banner-border-color)}.c15t-dark .c15t-ui-card-lJZdN>:not([hidden])~:not([hidden]){border-color:var(--iab-consent-banner-border-color-dark)}.c15t-ui-card-lJZdN:not(.headless):focus{outline:none}.c15t-ui-header-WMRYy{color:var(--iab-consent-banner-text-color);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.c15t-dark .c15t-ui-header-WMRYy{color:var(--iab-consent-banner-text-color-dark)}@media (width>=640px){.c15t-ui-header-WMRYy{padding:1.5rem}}.c15t-ui-title-iMdl2{letter-spacing:-.011em;color:var(--iab-consent-banner-title-color);margin:0;font-size:1.125rem;font-weight:600;line-height:1.5rem}.c15t-dark .c15t-ui-title-iMdl2{color:var(--iab-consent-banner-title-color-dark)}.c15t-ui-description-_ZLiC{letter-spacing:-.006em;color:var(--iab-consent-banner-description-color);margin:0;font-size:.875rem;font-weight:400;line-height:1.5}.c15t-dark .c15t-ui-description-_ZLiC{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-partnersLink-yKsgB{color:var(--iab-consent-banner-link-color);cursor:pointer;font-weight:500;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.c15t-ui-partnersLink-yKsgB:hover{text-decoration:underline}.c15t-dark .c15t-ui-partnersLink-yKsgB{color:var(--iab-consent-banner-link-color-dark)}.c15t-ui-purposeList-Qz2Eo{color:var(--iab-consent-banner-description-color);margin:.5rem 0 0;padding-left:1.25rem;font-size:.875rem;line-height:1.5;list-style-type:disc}.c15t-ui-purposeList-Qz2Eo li{margin-bottom:.25rem}.c15t-ui-purposeMore-aANSf{opacity:.8;font-style:italic;list-style-type:none}.c15t-dark .c15t-ui-purposeList-Qz2Eo{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-legitimateInterestNotice-QtcwV{color:var(--iab-consent-banner-description-color);margin-top:.25rem;font-size:.8125rem;line-height:1.5}.c15t-dark .c15t-ui-legitimateInterestNotice-QtcwV{color:var(--iab-consent-banner-description-color-dark)}.c15t-ui-privacyLink-RYh_l{color:var(--iab-consent-banner-link-color);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none}.c15t-ui-privacyLink-RYh_l:hover{text-decoration:underline}.c15t-dark .c15t-ui-privacyLink-RYh_l{color:var(--iab-consent-banner-link-color-dark)}.c15t-ui-footer-danOO{background-color:var(--iab-consent-banner-footer-background-color);flex-direction:column;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;display:flex}.c15t-dark .c15t-ui-footer-danOO{background-color:var(--iab-consent-banner-footer-background-color-dark)}@media (width>=640px){.c15t-ui-footer-danOO{flex-direction:row;padding:1rem}}.c15t-ui-overlay-OPamO{background-color:var(--iab-consent-banner-overlay-background-color);z-index:999997;position:fixed;inset:0}.c15t-ui-overlayVisible-JAO1l{opacity:1;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing)}.c15t-ui-overlayHidden-zfbJA{opacity:0;transition:opacity var(--iab-consent-banner-animation-duration) var(--iab-consent-banner-animation-timing)}.c15t-dark .c15t-ui-overlay-OPamO{background-color:var(--iab-consent-banner-overlay-background-color-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-bannerVisible-uqQdb,.c15t-ui-bannerHidden-KVkXf,.c15t-ui-overlayVisible-JAO1l,.c15t-ui-overlayHidden-zfbJA{transition:none}.c15t-ui-card-lJZdN[data-state=open],.c15t-ui-card-lJZdN[data-state=closed]{animation:none}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{createIAB as r}from"@c15t/iab";import{useCallback as t,useContext as n,useEffect as o,useMemo as s,useRef as i,useState as l,useSyncExternalStore as c}from"react";import{KernelContext as u}from"./context.js";import{IABContext as a}from"./context/iab-context-value.js";let d=({children:c,...d})=>{let m=n(u);if(!m)throw Error("IABProvider: no kernel in context. Wrap with <ConsentProvider options={...}> first.");let[p,f]=l("purposes"),[v,b]=l(null),g=i(d),I=i(null),P=i([]);o(()=>{g.current=d},[d]),o(()=>{let e=r({...g.current,kernel:m});I.current=e,b(e);let t=P.current;for(let r of(P.current=[],t))r(e);return()=>{I.current=null,e.dispose()}},[m]);let V=t(e=>{let{current:r}=I;return r?Promise.resolve(e(r)):new Promise((r,t)=>{P.current.push(async n=>{try{await e(n),r()}catch(e){t(e)}})})},[]),h=s(()=>({customVendors:d.customVendors,filtered:!!d.vendors?.length,handle:v,run:V,setTab:f,tab:p}),[v,V,p,d.vendors?.length,d.customVendors]);return e(a.Provider,{value:h,children:c})},m=function(){let e=n(u),r=n(a);if(!e)throw Error("useIAB must be used within <ConsentProvider options={...}> from @c15t/react");let t=c(r=>e.subscribe(r),()=>e.getSnapshot().iab,()=>e.getServerSnapshot().iab);return s(()=>{if(!t)return null;let e=r?.handle,n=r?.run??(r=>e?Promise.resolve(r(e)):Promise.resolve()),o=r=>(...t)=>{e?r(e)(...t):n(e=>r(e)(...t))};return{...t,acceptAll:o(e=>e.acceptAll),config:{cmpId:t.cmpId,enabled:t.enabled},customVendors:r?.customVendors??t.customVendors,gvlReference:t.gvlReference&&r?.filtered?{...t.gvlReference,summary:void 0}:t.gvlReference,isLoadingGVL:t.enabled&&!t.gvl,nonIABVendors:r?.customVendors??t.customVendors,preferenceCenterTab:r?.tab??"purposes",rejectAll:o(e=>e.rejectAll),save:()=>e?e.save():n(e=>e.save()),setPreferenceCenterTab:r?.setTab??(()=>{}),setPurposeConsent:o(e=>e.setPurposeConsent),setPurposeLegitimateInterest:o(e=>e.setPurposeLegitimateInterest),setSpecialFeatureOptIn:o(e=>e.setSpecialFeatureOptIn),setVendorConsent:o(e=>e.setVendorConsent),setVendorLegitimateInterest:o(e=>e.setVendorLegitimateInterest)}},[t,r])};export{d as IABProvider,m as useIAB};
|
package/dist/iab.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{IABConsentBanner}from"./components/iab-
|
|
1
|
+
export{IABConsentBanner}from"./components/iab-prompt/index.js";export{IABConsentDialog}from"./components/iab-panel/index.js";export{useHeadlessIABConsentUI}from"./hooks/use-headless-iab-consent-ui.js";export{IABProvider}from"./iab-context.js";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{createConsentKernel,custom,hosted}from"@c15t/core";export{offline}from"./transports/offline.js";export{ConsentDialog,ConsentWidget}from"./aggregate-components.js";export{ConsentBanner,useConsentBannerSurface}from"./components/prompt/index.js";export{ConsentDialogLink}from"./components/panel-link/index.js";export{ConsentDialogTrigger,ConsentDialogTriggerToolbar}from"./components/panel-trigger/index.js";export{Frame}from"./components/frame/index.js";export{ConsentDraftProvider,useConsentDraft}from"./draft.js";export{useConsentManager}from"./component-hooks/use-manager.js";export{useTranslations}from"./component-hooks/use-translations.js";export{useActiveUI,useBranding,useConsent,useConsents,useDismissNotice,useEffectivePermissions,useExplicitChoice,useHasConsentPolicy,useHasConsentUI,useIABEnabled,useIABSnapshot,useIdentify,useInit,useLocation,useModel,useNoticeDismissal,useOptOutDirectives,useOverrides,usePolicyCategories,usePolicyResolution,usePolicyRule,usePolicyScopeMode,usePreferencesPresentation,usePrivacySignals,usePromptPresentation,usePromptRequirement,usePurposeConsent,useRestrictions,useSaveConsents,useSetActiveUI,useSetLanguage,useSetOverrides,useSnapshot,useSpecialFeatureOptIn,useTCString,useUser,useVendorConsent}from"./hooks.js";export{useIframeBlocker,useNetworkBlocker,usePersistence,useScriptLoader}from"./module-hooks.js";export{ConsentProvider}from"./provider.js";export{defineTheme}from"./types/theme/index.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{useEffect as e,useRef as r,useState as t}from"react";import{useRequiredKernel as l}from"./shared.js";let o=function(o={}){let c=l(),s=r(null),[i,a]=t(()=>({dispose(){s.current?.dispose(),s.current=null},processAllIframes(){s.current?.processAllIframes()}}));return e(()=>{let e=!1;return(async()=>{let{createIframeBlocker:r}=await import("@c15t/core/modules/iframe-blocker");e||(s.current=r({disableAutomaticBlocking:o.disableAutomaticBlocking,kernel:c}))})(),()=>{e=!0,s.current?.dispose(),s.current=null}},[c,o.disableAutomaticBlocking]),i};export{o as useIframeBlocker};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{useEffect as e,useRef as r,useState as t}from"react";import{useRequiredKernel as l}from"./shared.js";let u=function(u){let n=l(),s=r(null),o=r(u.rules),c=r(u.enabled),[d,a]=t(()=>({dispose(){s.current?.dispose(),s.current=null},setEnabled(e){c.current=e,s.current?.setEnabled(e)},updateRules(e){o.current=e,s.current?.updateRules(e)}}));e(()=>{o.current=u.rules,c.current=u.enabled},[u.enabled,u.rules]);let k=r(!0);return e(()=>{if(k.current){k.current=!1;return}d.updateRules(u.rules)},[d,u.rules]),e(()=>{void 0!==u.enabled&&d.setEnabled(u.enabled)},[d,u.enabled]),e(()=>{let e=!1;return(async()=>{let{createNetworkBlocker:r}=await import("@c15t/core/modules/network-blocker");e||(s.current=r({enabled:c.current,kernel:n,logBlockedRequests:u.logBlockedRequests,onRequestBlocked:u.onRequestBlocked,rules:o.current}))})(),()=>{e=!0,s.current?.dispose(),s.current=null}},[n,u.logBlockedRequests,u.onRequestBlocked]),d};export{u as useNetworkBlocker};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{createPersistence as e}from"@c15t/core/modules/persistence";import{useEffect as r,useRef as t,useState as n}from"react";import{useRequiredKernel as s}from"./shared.js";let o=function(o={}){let i=s(),c=t(null),[u,a]=n(()=>({clear:()=>c.current?.clear(),dispose:()=>{c.current?.dispose(),c.current=null},hydrate:()=>c.current?.hydrate()??!1}));return r(()=>{let r=e({kernel:i,now:o.now,skipHydration:o.skipHydration,storageConfig:o.storageConfig});return c.current=r,()=>{r.dispose(),c.current=null}},[i,o.now,o.skipHydration,o.storageConfig]),u};export{o as usePersistence};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{useEffect as r,useRef as e,useState as t}from"react";import{useRequiredKernel as c}from"./shared.js";let u=function(u,n={}){let s=c(),o=e(null),p=e(u),i=e(n),[d,a]=t(()=>({dispose(){o.current?.dispose(),o.current=null},getLoadedScriptIds:()=>o.current?.getLoadedScriptIds()??[],updateScripts(r){p.current=r,o.current?.updateScripts(r)}}));r(()=>{p.current=u,i.current=n},[n,u]);let l=e(!0);return r(()=>{if(l.current){l.current=!1;return}d.updateScripts(u)},[d,u]),r(()=>{let r=!1;return(async()=>{let{createScriptLoader:e}=await import("@c15t/core/modules/script-loader");r||(o.current=e({kernel:s,onDebug:i.current.onDebug,scripts:p.current}))})(),()=>{r=!0,o.current?.dispose(),o.current=null}},[s]),d};export{u as useScriptLoader};
|
package/dist/panel.js
ADDED
package/dist/primitives.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"./components/shared/ui/accordion/index.js";import*as _ from"./components/shared/ui/button/index.js";import*as s from"./components/shared/ui/collapsible/index.js";import*as
|
|
1
|
+
import*as e from"./components/shared/ui/accordion/index.js";import*as _ from"./components/shared/ui/button/index.js";import*as s from"./components/shared/ui/collapsible/index.js";import*as n from"./components/shared/ui/dialog/index.js";import*as o from"./components/shared/ui/preference-item/index.js";import*as a from"./components/shared/ui/switch/index.js";import*as r from"./components/shared/ui/tabs/index.js";export{e as Accordion,_ as Button,s as Collapsible,n as Dialog,o as PreferenceItem,a as Switch,r as Tabs};
|
package/dist/prompt.js
ADDED
package/dist/provider.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{Fragment as e,jsx as r,jsxs as n}from"react/jsx-runtime";import{createConsentKernel as t,kernelConfigToInitResponse as i}from"@c15t/core";import{createWindowDebug as o,resolveWindowDebugMode as l}from"@c15t/core/modules/window-debug";import{resolvePolicyRules as s}from"@c15t/schema/types";import{deepMergeTranslations as c}from"@c15t/translations";import{Suspense as u,lazy as a,useContext as d,useEffect as p,useMemo as m,useRef as f,useState as g}from"react";import{KernelContext as v,ProviderServicesContext as h}from"./context.js";import{useColorScheme as y}from"./hooks/use-color-scheme.js";import{usePersistence as k}from"./module-hooks/persistence.js";import{V3ThemeProvider as b}from"./theme-provider.js";import{defaultTranslationConfig as R}from"./utils/default-translation-config.js";let P=a(async()=>({default:(await import("./external-iab-context.js")).ExternalIABProvider})),S=s({countryCode:null,regionCode:null,rules:[{id:"disabled",match:{fallback:!0},model:"opt-out",prompt:"none"}]}),w={language:"en",translations:R.translations.en},C=function(e){if(e)return"externalId"in e?e:{externalId:e.id,identityProvider:e.identityProvider}},O=function(e){if(!e?.messages)return;let r=e.locale??R.defaultLanguage??"en",n=R.translations.en,t=e.messages[r]??e.messages.en??n,i=R.translations[r]??n;return{language:r,translations:c(i,t)}},x=function(e){return e.enabled??!0},j=function(e,r){let n=!1;return{...e,async init(t){if(n)return e.init?.(t)??{};n=!0;let i=await r(t);return i.response?i.response:e.init?.(i.context??t)??{}}}},E=function(e){return"function"==typeof e?.then},L=function(e){let{prefetch:r}=e;return!r||E(r)?{}:r},K=function(e){return void 0!==e&&Object.keys(e).length>0},N=function(e){"production"!==globalThis.process?.env?.NODE_ENV&&console.warn("c15t ConsentProvider: the `prefetch` promise rejected; falling back to the transport init.",e)},D=function(e,r,n,t){let i={...r.initialOverrides??{},...n??{}};K(i)&&e.set.overrides(i),r.initialRecords&&e.getRecordsGeneration()===t&&e.hydrate(r.initialRecords)},q=function(e,r,n){var t,o;let{prefetch:l}=r;return E(l)?j(e,(t=Promise.resolve(l),o=r.overrides,async e=>{let r,l=n()?.getRecordsGeneration();try{r=await t??{}}catch(e){return N(e),{}}let s=i(r);if(s){let e={...s.resolvedOverrides??{},...o??{}};return K(e)&&(s.resolvedOverrides=e),{response:s}}let c=n();return c&&D(c,r,o,l),{context:{overrides:{...e.overrides,...r.initialOverrides??{},...o??{}},user:e.user}}})):e},_=function(e){if("function"!=typeof e.mode)throw Error("c15t ConsentProvider: `mode` is required. Use hosted(), offline(), or custom().");return e.mode},A=function(e){let r=x(e),n=L(e),i=O(e.i18n)??w,o={consentCategories:e.consentCategories,prefetch:n,translations:i},l=_(e)(o),s={current:null},c=q(l,e,()=>s.current),u=t({...n,initialRecords:r?n.initialRecords:void 0,initialPrivacySignals:r?n.initialPrivacySignals:void 0,now:n.now??n.initialRecords?.now??(n.initialRecords?void 0:0),transport:c,initialPolicyResolution:r?n.initialPolicyResolution:S,initialOverrides:{...n.initialOverrides??{},...e.overrides??{}},initialUser:C(e.user)??n.initialUser,initialTranslations:n.initialTranslations??i,initialPolicyPending:n.initialPolicyPending??(r&&!n.initialPolicyResolution)});return s.current=u,u},B=function(e){if(e instanceof Error)return e.message;if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}},I=function(e,r){let n=f(r);p(()=>{n.current=r},[r]),p(()=>{let r=[e.events.on("choice:recorded",({snapshot:e,confirmed:r,actionAt:t})=>{n.current?.onChoiceRecorded?.({actionAt:t,confirmed:r,snapshot:e})}),e.events.on("permissions:changed",({snapshot:e,previous:r})=>{n.current?.onPermissionsChanged?.({previous:r,snapshot:e})}),e.events.on("command:error",e=>{n.current?.onError?.({error:B(e.error)})})];return()=>{for(let e of r)e()}},[e])},T=function(e,r,n,t){let i=f(n),o=f(null),l=f(null),s=f(null);p(()=>{if(!t)return;let n=C(r.user),i=JSON.stringify(n??null);if(null===o.current){o.current=i;return}o.current!==i&&(o.current=i,n&&(async()=>{try{await e.commands.identify(n)}catch{}})())},[e,r.user,t]),p(()=>{if(!t)return;let i=JSON.stringify(r.overrides??{});if(null===l.current){l.current=i;return}l.current!==i&&(l.current=i,e.set.overrides(r.overrides??{}),n&&e.commands.init())},[n,e,r.overrides,t]),p(()=>{!t||i.current===n||(i.current=n,n||e.set.activeUI("none"))},[n,e,t]),p(()=>{if("production"===globalThis.process?.env?.NODE_ENV)return;let e=JSON.stringify({i18n:r.i18n,mode:r.mode?.kind});if(null===s.current){s.current=e;return}s.current!==e&&(s.current=e,console.warn("c15t ConsentProvider: mode and i18n are initial-only options. Remount the provider to apply changes."))},[r])},H=({kernel:e,callbacks:r})=>(I(e,r),null),J=({enabled:e,kernel:r,prepared:n})=>{let t=f(!1),i=f(!1);return p(()=>{if(!e){t.current=!1;return}if(!t.current)if(t.current=!0,n){r.hydrate({now:i.current?Date.now():r.getServerSnapshot().evaluatedAt}),i.current=!0;let{gpc:e}=r.getSnapshot().privacySignals;e.detected&&e.active&&r.set.privacySignals({gpc:!0})}else r.commands.init()},[e,r,n]),null},U=({nonce:e,options:r,scripts:n})=>{let t=d(v),i=f(null),o=f(n),l=f(r),s=f(e);return p(()=>{o.current=n,l.current=r,s.current=e},[e,r,n]),p(()=>{if(!t)return;let e=!1;return(async()=>{let{createScriptLoader:r}=await import("@c15t/core/modules/script-loader");e||(i.current=r({kernel:t,nonce:s.current,onDebug:l.current?.onDebug,scripts:o.current}))})(),()=>{e=!0,i.current?.dispose(),i.current=null}},[t]),p(()=>{i.current?.updateScripts(n)},[n]),null},F=({options:e})=>{let r=d(v),n=f(null),t=f(e);return p(()=>{t.current=e},[e]),p(()=>{if(!r)return;let e=!1;return(async()=>{let{createNetworkBlocker:i}=await import("@c15t/core/modules/network-blocker");if(e)return;let o=t.current;n.current=i({enabled:o.enabled,kernel:r,logBlockedRequests:o.logBlockedRequests,onRequestBlocked:o.onRequestBlocked,rules:o.rules})})(),()=>{e=!0,n.current?.dispose(),n.current=null}},[r]),p(()=>{n.current?.updateRules(e.rules)},[e.rules]),p(()=>{void 0!==e.enabled&&n.current?.setEnabled(e.enabled)},[e.enabled]),null},G=({options:e,clearRef:r})=>{let n=k(e);return p(()=>(r.current=n.clear,()=>{r.current=null}),[n,r]),null},M=({pkg:e,mode:r})=>(p(()=>{let n=o({mode:r,pkg:e});return()=>n.dispose()},[r,e]),null),V=({kernel:e})=>(p(()=>{let r=window,n=r.c15tKernel;return r.c15tKernel=e,()=>{if(r.c15tKernel===e){if(n){r.c15tKernel=n;return}delete r.c15tKernel}}},[e]),null),z=({nonce:e,theme:n})=>{let[t,i]=g("");return(p(()=>{let e=!1;return(async()=>{let{defaultTheme:r,generateThemeCSS:t}=await import("@c15t/ui/theme");e||i(t(n??r))})(),()=>{e=!0}},[n]),t)?r("style",{id:"c15t-theme",nonce:e,dangerouslySetInnerHTML:{__html:t}}):null},Q=function(e){if(!1===e.persistence)return!1;let{storageConfig:r}=e,n=!!L(e).initialRecords;return!0===e.persistence||void 0===e.persistence?{skipHydration:n,storageConfig:r}:{...e.persistence,skipHydration:e.persistence.skipHydration??n,storageConfig:e.persistence.storageConfig??r}},W=t=>{let{children:i}=t,o=t.options??{},s=x(o),[c,a]=g(()=>({disabledKernel:t.runtime?void 0:A({...o,enabled:!1}),external:t.runtime,kernel:t.runtime?.kernel??A({...o,enabled:!0})})),{external:d}=c,k=s?c.kernel:c.disabledKernel??c.kernel,R=void 0===d,S=f(null),w=m(()=>({clearRecords:()=>{d?d.clearRecords():S.current?S.current():(k.hydrate({choice:null,noticeDismissal:null,optOutDirectives:[],subject:null}),k.events.emit({type:"records:cleared"}))},getConsentCategories:()=>{let{scope:e}=k.getSnapshot().policyRule,r=o.consentCategories;return["necessary",...e.filter(e=>!r?.length||r.includes(e))]},getPresentation:()=>o.presentation}),[k,o.consentCategories,o.presentation,d]),C=Q(o),{scripts:O,networkBlocker:j}=o,E=o.__debugPkg??"@c15t/react",K=R?l(o.mode):"hosted";T(c.kernel,o,s,R);let N=f(0);p(()=>{if(!R)return;N.current+=1;let e=N.current;return()=>{queueMicrotask(()=>{N.current===e&&(c.kernel.dispose(),c.disabledKernel?.dispose())})}},[c,R]);let D=o.theme,q=m(()=>({colorScheme:o.colorScheme,disableAnimation:o.disableAnimation,noStyle:o.noStyle,scrollLock:o.scrollLock,theme:D,trapFocus:o.trapFocus}),[D,o.noStyle,o.disableAnimation,o.scrollLock,o.trapFocus,o.colorScheme]),_=m(()=>({components:o.components,legalLinks:o.legalLinks,presentation:o.presentation}),[o.components,o.legalLinks,o.presentation]);y(o.colorScheme);let B=n(e,{children:[R?n(e,{children:[r(H,{kernel:k,callbacks:o.callbacks}),r(M,{pkg:E,mode:K}),r(V,{kernel:k}),s&&C?r(G,{options:C,clearRef:S}):null,r(J,{enabled:s,prepared:!!L(o).initialPolicyResolution,kernel:k}),O&&O.length>0?r(U,{nonce:o.nonce,options:o.scriptLoader,scripts:O}):null,s&&j?r(F,{options:j}):null]}):null,d?r(u,{fallback:i,children:r(P,{runtime:d,children:i})}):i]});return r(v.Provider,{value:k,children:r(h.Provider,{value:w,children:n(b,{themeConfig:q,uiConfig:_,children:[r(z,{nonce:o.nonce,theme:D}),B]})})})};export{W as ConsentProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C15T_VERSION_HEADER as e}from"@c15t/core";import{version as t}from"../version.js";import{extractRelevantHeaders as r}from"./headers.js";import{normalizeBackendURL as o}from"./normalize-url.js";let c=function(){return"u">typeof performance&&"function"==typeof performance.now?performance.now():Date.now()},n=function(e){let t=null,r=!1;for(let o of["x-vercel-cache","cf-cache-status","x-cache","cache-status"]){let c=e.get(o);if(c){t=`${o}=${c}`,r=/\b(?:hit|stale|revalidated|updating)\b/iu.test(c);break}}let o=e.get("age"),c=o?Number.parseInt(o,10):NaN,n=Number.isFinite(c)&&c>0,a=n?`age=${c}`:null;return{detail:t&&a?`${t}, ${a}`:t??a,isHit:r||n}},a=function(e,t){if(!t)return;let r=Object.keys(e);console.log(`[c15t/server] Detected headers: [${r.join(", ")}]`);let o=e["cf-ipcountry"],c=e["x-vercel-ip-country"];o?console.log(`[c15t/server] Country from cf-ipcountry: ${o}`):c&&console.log(`[c15t/server] Country from x-vercel-ip-country: ${c}`)},s=async function(e,t,r,o){let a=c();try{let s=await fetch(`${e}/init`,{cache:"no-store",headers:t,method:"GET"}),l=Math.max(0,Math.round(c()-a)),i=n(s.headers),u={cache:i,requestContext:r,requestDurationMs:l};if(s.ok){let e={init:await s.json(),metadata:u};return o&&(console.log(`[c15t/server] SSR fetch succeeded in ${e.metadata?.requestDurationMs??0}ms`),e.metadata?.cache?.detail&&console.log(`[c15t/server] SSR cache status: ${e.metadata.cache.detail}`)),e}return o&&(console.log(`[c15t/server] SSR fetch failed with status: ${s.status}`),i.detail&&console.log(`[c15t/server] SSR cache status: ${i.detail}`)),{metadata:u}}catch(e){if(o){let t=e instanceof Error?e.message:"Unknown error";console.log(`[c15t/server] SSR fetch error: ${t}`)}return{}}},l=async function(c){var n;let{backendURL:l,headers:i,overrides:u,debug:g}=c;g&&console.log("[c15t/server] SSR fetch starting...");let f=r(i);if(a(f,g),0===Object.keys(f).length){g&&console.log("[c15t/server] No relevant headers found, skipping SSR fetch");return}let d=o(l,i);if(!d){g&&console.log("[c15t/server] Failed to normalize URL, skipping SSR fetch");return}g&&console.log(`[c15t/server] Fetching from: ${d}/init`);let h={[e]:t,...f};u?.country&&(h["x-c15t-country"]=u.country,g&&console.log(`[c15t/server] Country override: ${u.country}`)),u?.region&&(h["x-c15t-region"]=u.region,g&&console.log(`[c15t/server] Region override: ${u.region}`)),u?.language&&(h["accept-language"]=u.language,g&&console.log(`[c15t/server] Language override: ${u.language}`));let v=await s(d,h,{backendURL:(n={backendURL:d,headers:h,overrides:u}).backendURL,country:n.overrides?.country??n.headers["x-c15t-country"]??null,gpc:"1"===n.headers["sec-gpc"],language:n.overrides?.language??n.headers["accept-language"]??null,region:n.overrides?.region??n.headers["x-c15t-region"]??null},g),{init:m}=v;if(!m){g&&console.log("[c15t/server] SSR fetch returned no data");return}return{gvl:m.gvl,init:m,metadata:v.metadata}};export{l as fetchSSRData};
|
package/dist/server/headers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{CONSENT_REQUEST_HEADER_NAMES as e,extractConsentRequestInputs as r}from"@c15t/schema/types";let t=[...e,"x-c15t-version","user-agent","x-forwarded-host","x-forwarded-for","purpose","sec-purpose","next-router-prefetch","x-middleware-prefetch"],o=function(e){let o={};for(let r of t){let t=e.get(r);t&&(o[r]=t)}let c=r(e);return c.country&&(o["x-c15t-country"]=c.country),c.region&&(o["x-c15t-region"]=c.region),o};export{o as extractRelevantHeaders};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{extractRelevantHeaders as e}from"./headers.js";function
|
|
1
|
+
import{extractRelevantHeaders as e}from"./headers.js";let t=function({normalizedURL:t,headers:c,overrides:n}){let r=e(c),a=n?.country??r["x-c15t-country"]??"",g=n?.region??r["x-c15t-region"]??"",i=n?.language??r["accept-language"]??"";return JSON.stringify({country:a,gpc:r["sec-gpc"]??"",language:i,normalizedURL:t,region:g})};export{t as createSSRInitCacheKey};
|