@c15t/react 3.0.0-alpha.0 → 3.0.0-alpha.2

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.
Files changed (145) hide show
  1. package/AGENTS.md +4 -1
  2. package/dist/aggregate-components.js +1 -1
  3. package/dist/component-hooks/use-manager.js +1 -1
  4. package/dist/components/consent-gate/atoms.js +1 -0
  5. package/dist/components/consent-gate/consent-gate.js +2 -0
  6. package/dist/components/consent-gate/index.js +2 -0
  7. package/dist/components/preferences/atoms/accordion.js +1 -1
  8. package/dist/components/preferences/atoms/vendor-list.js +1 -0
  9. package/dist/components/preferences/index.js +1 -1
  10. package/dist/consent-gate.js +2 -0
  11. package/dist/draft.js +1 -1
  12. package/dist/external-iab-context.js +1 -1
  13. package/dist/hooks.js +1 -1
  14. package/dist/iab/styles.tw3.css +4 -110
  15. package/dist/index.js +1 -1
  16. package/dist/provider.js +1 -1
  17. package/dist/styles.tw3.css +10 -113
  18. package/dist/utils/deferred-module.js +2 -0
  19. package/dist/version.js +1 -1
  20. package/dist-types/aggregate-components.d.ts +2 -2
  21. package/dist-types/component-hooks/use-headless-iab-consent-ui.d.ts +1 -1
  22. package/dist-types/component-hooks/use-manager.d.ts +6 -1
  23. package/dist-types/components/consent-gate/atoms.d.ts +11 -0
  24. package/dist-types/components/consent-gate/consent-gate.d.ts +2 -0
  25. package/dist-types/components/consent-gate/index.d.ts +41 -0
  26. package/dist-types/components/{frame → consent-gate}/types.d.ts +7 -7
  27. package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +1 -1
  28. package/dist-types/components/consent-preferences-link/index.d.ts +1 -1
  29. package/dist-types/components/iab-panel/atoms/purpose-item.d.ts +1 -1
  30. package/dist-types/components/iab-panel/atoms/stack-item.d.ts +1 -1
  31. package/dist-types/components/iab-panel/atoms/vendor-list.d.ts +1 -1
  32. package/dist-types/components/iab-panel/iab-panel.d.ts +1 -1
  33. package/dist-types/components/iab-panel/index.d.ts +24 -24
  34. package/dist-types/components/iab-prompt/index.d.ts +17 -17
  35. package/dist-types/components/panel/atoms/card.d.ts +4 -4
  36. package/dist-types/components/panel/atoms/overlay.d.ts +1 -1
  37. package/dist-types/components/panel/index.d.ts +7 -7
  38. package/dist-types/components/panel/panel.d.ts +2 -2
  39. package/dist-types/components/panel-link/index.d.ts +1 -1
  40. package/dist-types/components/panel-trigger/atoms/button.d.ts +1 -1
  41. package/dist-types/components/panel-trigger/atoms/icon.d.ts +1 -1
  42. package/dist-types/components/panel-trigger/atoms/root.d.ts +2 -2
  43. package/dist-types/components/panel-trigger/atoms/toolbar.d.ts +2 -2
  44. package/dist-types/components/panel-trigger/index.d.ts +4 -4
  45. package/dist-types/components/panel-trigger/panel-trigger-toolbar.d.ts +1 -1
  46. package/dist-types/components/panel-trigger/panel-trigger.d.ts +9 -9
  47. package/dist-types/components/panel-trigger/types.d.ts +1 -1
  48. package/dist-types/components/preferences/atoms/accordion.d.ts +6 -4
  49. package/dist-types/components/preferences/atoms/button.d.ts +1 -1
  50. package/dist-types/components/preferences/atoms/footer.d.ts +1 -1
  51. package/dist-types/components/preferences/atoms/root.d.ts +1 -1
  52. package/dist-types/components/preferences/atoms/vendor-list.d.ts +23 -0
  53. package/dist-types/components/preferences/index.d.ts +13 -11
  54. package/dist-types/components/preferences/policy-actions.d.ts +2 -2
  55. package/dist-types/components/preferences/preferences.d.ts +1 -1
  56. package/dist-types/components/preferences/types.d.ts +1 -1
  57. package/dist-types/components/prompt/components.d.ts +3 -3
  58. package/dist-types/components/prompt/index.d.ts +11 -11
  59. package/dist-types/components/prompt/policy-actions.d.ts +2 -2
  60. package/dist-types/components/prompt/prompt.d.ts +1 -1
  61. package/dist-types/components/shared/policy-actions.d.ts +2 -2
  62. package/dist-types/components/shared/primitives/box.d.ts +1 -1
  63. package/dist-types/components/shared/primitives/button.d.ts +2 -2
  64. package/dist-types/components/shared/primitives/button.types.d.ts +1 -1
  65. package/dist-types/components/shared/ui/accordion/accordion.d.ts +2 -2
  66. package/dist-types/components/shared/ui/accordion/index.d.ts +2 -2
  67. package/dist-types/components/shared/ui/animated-collapse/index.d.ts +2 -2
  68. package/dist-types/components/shared/ui/branding.d.ts +1 -1
  69. package/dist-types/components/shared/ui/button/button.d.ts +1 -1
  70. package/dist-types/components/shared/ui/button/index.d.ts +2 -2
  71. package/dist-types/components/shared/ui/collapsible/index.d.ts +1 -1
  72. package/dist-types/components/shared/ui/dialog/index.d.ts +1 -1
  73. package/dist-types/components/shared/ui/preference-item/index.d.ts +1 -1
  74. package/dist-types/components/shared/ui/switch/index.d.ts +2 -2
  75. package/dist-types/components/shared/ui/switch/switch.d.ts +1 -1
  76. package/dist-types/components/shared/ui/tabs/index.d.ts +1 -1
  77. package/dist-types/consent-gate.d.ts +1 -0
  78. package/dist-types/context/index.d.ts +3 -3
  79. package/dist-types/context/theme-context.d.ts +1 -1
  80. package/dist-types/draft.d.ts +53 -1
  81. package/dist-types/headless.d.ts +7 -7
  82. package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +1 -1
  83. package/dist-types/hooks/use-iab-manager.d.ts +1 -1
  84. package/dist-types/hooks/use-theme.d.ts +1 -1
  85. package/dist-types/hooks.d.ts +28 -1
  86. package/dist-types/iab.d.ts +5 -5
  87. package/dist-types/index.d.ts +25 -25
  88. package/dist-types/module-hooks.d.ts +4 -4
  89. package/dist-types/panel-link.d.ts +1 -1
  90. package/dist-types/panel-trigger.d.ts +1 -1
  91. package/dist-types/panel.d.ts +1 -1
  92. package/dist-types/preferences.d.ts +1 -1
  93. package/dist-types/primitives/accordion.d.ts +1 -1
  94. package/dist-types/primitives/button.d.ts +1 -1
  95. package/dist-types/primitives/collapsible.d.ts +1 -1
  96. package/dist-types/primitives/dialog.d.ts +1 -1
  97. package/dist-types/primitives/preference-item.d.ts +1 -1
  98. package/dist-types/primitives/switch.d.ts +1 -1
  99. package/dist-types/primitives/tabs.d.ts +1 -1
  100. package/dist-types/primitives.d.ts +7 -7
  101. package/dist-types/prompt.d.ts +1 -1
  102. package/dist-types/provider.d.ts +27 -5
  103. package/dist-types/server/fetch-ssr-data.d.ts +1 -1
  104. package/dist-types/server/index.d.ts +5 -5
  105. package/dist-types/theme-provider.d.ts +2 -2
  106. package/dist-types/types/index.d.ts +3 -3
  107. package/dist-types/types/manager.d.ts +1 -1
  108. package/dist-types/types/theme/index.d.ts +1 -1
  109. package/dist-types/ui-config-context.d.ts +1 -1
  110. package/dist-types/utils/deferred-module.d.ts +11 -0
  111. package/dist-types/utils/index.d.ts +4 -4
  112. package/dist-types/utils/merge-slot-props.d.ts +2 -2
  113. package/dist-types/utils/merge-styles.d.ts +1 -1
  114. package/dist-types/utils/theme-utils.d.ts +1 -1
  115. package/dist-types/version.d.ts +1 -1
  116. package/docs/README.md +4 -1
  117. package/docs/frameworks/react/components/consent-dialog.md +1 -1
  118. package/docs/frameworks/react/components/{frame.md → consent-gate.md} +27 -27
  119. package/docs/frameworks/react/components/consent-manager-provider.md +14 -1
  120. package/docs/frameworks/react/components/consent-widget.md +39 -6
  121. package/docs/frameworks/react/concepts/consent-categories.md +31 -2
  122. package/docs/frameworks/react/script-loader.md +8 -0
  123. package/docs/frameworks/react/styling/overview.md +10 -0
  124. package/docs/guides/deployment-modes.md +12 -0
  125. package/docs/integrations/building-integrations.md +5 -0
  126. package/docs/integrations/clear-on-revocation.md +167 -0
  127. package/docs/integrations/cloudflare-zaraz.md +399 -0
  128. package/docs/integrations/google-maps.md +20 -20
  129. package/docs/integrations/granular-consent.md +208 -0
  130. package/docs/integrations/overview.md +5 -4
  131. package/docs/integrations/youtube.md +26 -21
  132. package/docs/upgrade-v3.md +47 -0
  133. package/package.json +26 -16
  134. package/dist/components/frame/atoms.js +0 -1
  135. package/dist/components/frame/frame.js +0 -2
  136. package/dist/components/frame/index.js +0 -2
  137. package/dist/frame.js +0 -2
  138. package/dist-types/components/frame/atoms.d.ts +0 -11
  139. package/dist-types/components/frame/frame.d.ts +0 -2
  140. package/dist-types/components/frame/index.d.ts +0 -24
  141. package/dist-types/frame.d.ts +0 -1
  142. package/readme.json +0 -48
  143. package/src/iab/styles.css +0 -11
  144. package/src/styles.css +0 -10
  145. /package/dist/components/{frame → consent-gate}/types.js +0 -0
@@ -5,116 +5,10 @@
5
5
  * nested package CSS imports still include the complete stylesheet.
6
6
  */
7
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
- }
8
+ :root,:host,.c15t-theme-root{--c15t-border: hsl(0, 0%, 90%);--c15t-border-hover: hsl(0, 0%, 85%);--c15t-duration-fast: 80ms;--c15t-duration-normal: 150ms;--c15t-duration-slow: 200ms;--c15t-easing: cubic-bezier(0.4, 0, 0.2, 1);--c15t-easing-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);--c15t-easing-out: cubic-bezier(0.215, 0.61, 0.355, 1);--c15t-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);--c15t-font-family: system-ui, -apple-system, sans-serif;--c15t-font-size-base: 1rem;--c15t-font-size-lg: 1.125rem;--c15t-font-size-sm: 0.875rem;--c15t-font-weight-medium: 500;--c15t-font-weight-normal: 400;--c15t-font-weight-semibold: 600;--c15t-line-height-normal: 1.5;--c15t-line-height-relaxed: 1.75;--c15t-line-height-tight: 1.25;--c15t-overlay: hsla(0, 0%, 0%, 0.5);--c15t-primary: hsl(228, 100%, 60%);--c15t-primary-hover: hsl(228, 100%, 55%);--c15t-radius-full: 9999px;--c15t-radius-lg: 0.75rem;--c15t-radius-md: 0.5rem;--c15t-radius-sm: 0.25rem;--c15t-shadow-lg: 0 8px 24px hsla(0, 0%, 0%, 0.12);--c15t-shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);--c15t-shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);--c15t-space-lg: 1.5rem;--c15t-space-md: 1rem;--c15t-space-sm: 0.5rem;--c15t-space-xl: 2rem;--c15t-space-xs: 0.25rem;--c15t-surface: hsl(0, 0%, 100%);--c15t-surface-hover: hsl(0, 0%, 98%);--c15t-switch-thumb: hsl(0, 0%, 100%);--c15t-switch-track: hsl(0, 0%, 85%);--c15t-switch-track-active: hsl(228, 100%, 60%);--c15t-text: hsl(0, 0%, 10%);--c15t-text-muted: hsl(0, 0%, 40%);--c15t-text-on-primary: hsl(0, 0%, 100%);}
9
+
10
+ :root.dark,:host(.dark),.dark .c15t-theme-root,:root.c15t-dark,:host(.c15t-dark),.c15t-dark .c15t-theme-root{--c15t-border: hsl(0, 0%, 20%);--c15t-border-hover: hsl(0, 0%, 25%);--c15t-duration-fast: 80ms;--c15t-duration-normal: 150ms;--c15t-duration-slow: 200ms;--c15t-easing: cubic-bezier(0.4, 0, 0.2, 1);--c15t-easing-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);--c15t-easing-out: cubic-bezier(0.215, 0.61, 0.355, 1);--c15t-easing-spring: cubic-bezier(0.34, 1.56, 0.64, 1);--c15t-font-family: system-ui, -apple-system, sans-serif;--c15t-font-size-base: 1rem;--c15t-font-size-lg: 1.125rem;--c15t-font-size-sm: 0.875rem;--c15t-font-weight-medium: 500;--c15t-font-weight-normal: 400;--c15t-font-weight-semibold: 600;--c15t-line-height-normal: 1.5;--c15t-line-height-relaxed: 1.75;--c15t-line-height-tight: 1.25;--c15t-overlay: hsla(0, 0%, 0%, 0.7);--c15t-primary: hsl(228, 100%, 70%);--c15t-primary-hover: hsl(228, 100%, 65%);--c15t-radius-full: 9999px;--c15t-radius-lg: 0.75rem;--c15t-radius-md: 0.5rem;--c15t-radius-sm: 0.25rem;--c15t-shadow-lg: 0 8px 24px hsla(0, 0%, 0%, 0.12);--c15t-shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);--c15t-shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);--c15t-space-lg: 1.5rem;--c15t-space-md: 1rem;--c15t-space-sm: 0.5rem;--c15t-space-xl: 2rem;--c15t-space-xs: 0.25rem;--c15t-surface: hsl(0, 0%, 7%);--c15t-surface-hover: hsl(0, 0%, 10%);--c15t-switch-thumb: hsl(0, 0%, 93%);--c15t-switch-track: hsl(0, 0%, 25%);--c15t-switch-track-active: hsl(228, 100%, 70%);--c15t-text: hsl(0, 0%, 93%);--c15t-text-muted: hsl(0, 0%, 60%);--c15t-text-on-primary: hsl(0, 0%, 100%);}
11
+ .c15t-no-transitions,.c15t-no-transitions *,.c15t-no-transitions *::before,.c15t-no-transitions *::after{transition: none !important;animation: none !important;}
118
12
 
119
13
  /* primitives/button vars */
120
14
  :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}
@@ -146,7 +40,7 @@
146
40
  :root, :host{--consent-manager-background-color:var(--c15t-surface);--consent-manager-background-color-dark:var(--c15t-surface);--consent-manager-border-color:var(--c15t-border);--consent-manager-border-color-dark:var(--c15t-border);--consent-manager-text-color:var(--c15t-text);--consent-manager-text-color-dark:var(--c15t-text);--consent-manager-text-muted-color:var(--c15t-text-muted);--consent-manager-text-muted-color-dark:var(--c15t-text-muted);--consent-manager-footer-background-color:transparent;--consent-manager-footer-background-color-dark:transparent;--consent-manager-link-text-color:var(--c15t-text);--consent-manager-link-text-color-dark:var(--c15t-text);--consent-manager-branding-link-color:var(--c15t-primary);--consent-manager-padding:0;--consent-manager-radius:0;--consent-manager-gap:var(--c15t-space-xs);--consent-manager-border-width:0;--consent-manager-max-width:32rem;--consent-manager-z-index:50;--consent-manager-footer-padding:var(--c15t-space-lg) 0 0 0;--consent-manager-title-size:var(--c15t-font-size-sm);--consent-manager-title-line-height:var(--c15t-line-height-tight);--consent-manager-title-tracking:-.006em;--consent-manager-title-weight:var(--c15t-font-weight-semibold);--consent-manager-entry-animation:var(--c15t-enter-animation);--consent-manager-exit-animation:var(--c15t-exit-animation);--consent-manager-font-family:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--consent-manager-line-height:1.15}
147
41
 
148
42
  /* components/panel vars */
149
- :root, :host{--consent-dialog-font-family:var(--c15t-font-family);--consent-dialog-line-height:var(--c15t-line-height-tight);--consent-dialog-title-font-size:var(--c15t-font-size-sm);--consent-dialog-title-font-weight:var(--c15t-font-weight-semibold);--consent-dialog-title-letter-spacing:-.025em;--consent-dialog-description-font-size:var(--c15t-font-size-base);--consent-dialog-description-font-weight:var(--c15t-font-weight-normal);--consent-dialog-description-line-height:var(--c15t-line-height-normal);--consent-dialog-footer-gap:var(--c15t-space-sm);--consent-dialog-footer-font-size:14px;--consent-dialog-stroke-color:var(--c15t-border);--consent-dialog-stroke-color-dark:var(--c15t-border);--consent-dialog-link-text-color:var(--c15t-text);--consent-dialog-link-text-color-dark:var(--c15t-text);--consent-dialog-border-color:var(--c15t-border);--consent-dialog-border-color-dark:var(--c15t-border);--consent-dialog-background-color:var(--c15t-surface);--consent-dialog-background-color-dark:var(--c15t-surface);--consent-dialog-foreground-color:var(--c15t-text);--consent-dialog-foreground-color-dark:var(--c15t-text);--consent-dialog-muted-color:var(--c15t-text-muted);--consent-dialog-muted-color-dark:var(--c15t-text-muted);--consent-dialog-overlay-background-color:var(--c15t-overlay);--consent-dialog-overlay-background-color-dark:var(--c15t-overlay);--consent-dialog-card-padding:var(--c15t-space-lg);--consent-dialog-card-padding-mobile:var(--c15t-space-md);--consent-dialog-card-gap:var(--c15t-space-xs);--consent-dialog-header-gap:var(--c15t-space-xs);--consent-dialog-content-gap:var(--c15t-space-md);--consent-dialog-footer-padding-y:var(--c15t-space-md);--consent-dialog-card-radius:var(--c15t-radius-lg);--consent-dialog-max-width:28rem;--consent-dialog-height:100%;--consent-dialog-z-index:999999;--consent-dialog-overlay-z-index:999998;--consent-dialog-card-shadow:0 1px 2px 0 #0000000d;--consent-dialog-border-width:1px;--consent-dialog-border-width-hairline:1px;--consent-dialog-border-style:solid;--consent-dialog-animation-duration:var(--c15t-duration-normal);--consent-dialog-animation-timing:ease-out}
43
+ :root, :host{--consent-dialog-font-family:var(--c15t-font-family);--consent-dialog-line-height:var(--c15t-line-height-tight);--consent-dialog-title-font-size:var(--c15t-font-size-sm);--consent-dialog-title-font-weight:var(--c15t-font-weight-semibold);--consent-dialog-title-letter-spacing:-.025em;--consent-dialog-description-font-size:var(--c15t-font-size-base);--consent-dialog-description-font-weight:var(--c15t-font-weight-normal);--consent-dialog-description-line-height:var(--c15t-line-height-normal);--consent-dialog-footer-gap:var(--c15t-space-sm);--consent-dialog-footer-font-size:14px;--consent-dialog-stroke-color:var(--c15t-border);--consent-dialog-stroke-color-dark:var(--c15t-border);--consent-dialog-link-text-color:var(--c15t-text);--consent-dialog-link-text-color-dark:var(--c15t-text);--consent-dialog-border-color:var(--c15t-border);--consent-dialog-border-color-dark:var(--c15t-border);--consent-dialog-background-color:var(--c15t-surface);--consent-dialog-background-color-dark:var(--c15t-surface);--consent-dialog-foreground-color:var(--c15t-text);--consent-dialog-foreground-color-dark:var(--c15t-text);--consent-dialog-muted-color:var(--c15t-text-muted);--consent-dialog-muted-color-dark:var(--c15t-text-muted);--consent-dialog-overlay-background-color:var(--c15t-overlay);--consent-dialog-overlay-background-color-dark:var(--c15t-overlay);--consent-dialog-card-padding:var(--c15t-space-lg);--consent-dialog-card-padding-mobile:var(--c15t-space-md);--consent-dialog-card-gap:var(--c15t-space-xs);--consent-dialog-header-gap:var(--c15t-space-xs);--consent-dialog-content-gap:var(--c15t-space-md);--consent-dialog-footer-padding-y:var(--c15t-space-md);--consent-dialog-card-radius:var(--c15t-radius-lg);--consent-dialog-max-width:28rem;--consent-dialog-height:100%;--consent-dialog-max-height:calc(100dvh - 2 * var(--consent-dialog-card-padding-mobile));--consent-dialog-z-index:999999;--consent-dialog-overlay-z-index:999998;--consent-dialog-card-shadow:0 1px 2px 0 #0000000d;--consent-dialog-border-width:1px;--consent-dialog-border-width-hairline:1px;--consent-dialog-border-style:solid;--consent-dialog-animation-duration:var(--c15t-duration-normal);--consent-dialog-animation-timing:ease-out}
150
44
  @media only screen and (resolution>=192dpi){:root, :host{--consent-dialog-border-width-hairline:.5px}}
151
45
 
152
46
  /* components/prompt vars */
@@ -175,7 +69,7 @@
175
69
  .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)}
176
70
 
177
71
  /* components/accordion */
178
- .c15t-ui-list-T3EU0:not(.headless){gap:var(--accordion-stack-gap,.75rem);display:grid}.c15t-ui-item-Jgm_X:not(.headless){border:1px solid var(--accordion-border-color,var(--c15t-border));border-radius:var(--accordion-radius,var(--c15t-radius-md));box-shadow:none;background-color:var(--accordion-background-color,var(--c15t-surface));padding:0;display:grid;overflow:visible}.c15t-dark .c15t-ui-item-Jgm_X:not(.headless){border-color:var(--accordion-border-color-dark,var(--c15t-border));background-color:var(--accordion-background-color-dark,var(--c15t-surface))}.c15t-ui-triggerRow-xXdTH:not(.headless){align-items:center;gap:var(--accordion-gap,var(--c15t-space-xs));box-sizing:border-box;width:100%;padding:var(--accordion-padding,var(--c15t-space-sm));border-radius:var(--accordion-radius,var(--c15t-radius-md));color:var(--accordion-text-color,var(--c15t-text));transition:background-color var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));background-color:#0000;border:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.c15t-ui-triggerRow-xXdTH:not(.headless):hover{background-color:var(--accordion-background-hover,var(--c15t-surface-hover))}.c15t-dark .c15t-ui-triggerRow-xXdTH:not(.headless){color:var(--accordion-text-color-dark,var(--c15t-text))}.c15t-dark .c15t-ui-triggerRow-xXdTH:not(.headless):hover{background-color:var(--accordion-background-hover-dark,var(--c15t-surface-hover))}.c15t-ui-item-Jgm_X:not(.headless):has(.c15t-ui-trigger-KT5J_:focus-visible){outline:2px solid var(--accordion-focus-ring,#476cff);outline-offset:-2px}.c15t-dark .c15t-ui-item-Jgm_X:not(.headless):has(.c15t-ui-trigger-KT5J_:focus-visible){outline-color:var(--accordion-focus-ring-dark,#2547d0)}.c15t-ui-trigger-KT5J_:not(.headless):focus-visible{outline:none}.c15t-ui-item-Jgm_X:not(.headless)>.c15t-ui-content-qdPhy{grid-column:1/-1}.c15t-ui-trigger-KT5J_:not(.headless){appearance:none;align-items:center;gap:var(--accordion-gap,var(--c15t-space-xs));min-width:0;min-height:calc(var(--accordion-icon-size,1.25rem) + .25rem);font-family:inherit;font-size:var(--accordion-title-size,var(--c15t-font-size-sm));line-height:var(--c15t-line-height-tight);letter-spacing:inherit;font-weight:var(--c15t-font-weight-regular);border-radius:var(--accordion-radius,var(--c15t-radius-md));width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-self:stretch;padding:0;display:flex;position:relative}.c15t-ui-arrow-JFKgd:not(.headless){color:var(--accordion-arrow-color,#a3a3a3);width:var(--accordion-icon-size,1.25rem);height:var(--accordion-icon-size,1.25rem);transition:transform var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.c15t-ui-arrow-JFKgd:not(.headless) svg{width:100%;height:100%;display:block}.c15t-dark .c15t-ui-arrow-JFKgd:not(.headless){color:var(--accordion-arrow-color-dark,#ccc)}.c15t-ui-header-ogZie:not(.headless){flex-direction:column;flex:1;min-width:0;display:flex}.c15t-ui-title-vmC1f:not(.headless){font:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0}.c15t-ui-control-dy7nh:not(.headless){flex-shrink:0;align-self:center;position:relative;top:-1px}.c15t-ui-restriction-bXiI7:not(.headless){padding:0 var(--accordion-row-padding-x,1rem) .75rem;color:var(--accordion-restriction-color,var(--c15t-text-muted));font-size:var(--c15t-font-size-sm);line-height:var(--c15t-line-height-normal);grid-column:1/-1;margin:0;display:block}.c15t-ui-content-qdPhy:not(.headless){color:var(--accordion-content-color,#5c5c5c);letter-spacing:inherit;transition:grid-template-rows var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));grid-template-rows:0fr;padding:0;font-size:.875rem;line-height:1.5;display:grid;overflow:hidden}.c15t-ui-content-qdPhy:not(.headless)[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-qdPhy:not(.headless)[data-state=closed]{pointer-events:none}.c15t-ui-contentViewport-O2Kny:not(.headless){min-height:0;padding-top:0;padding-inline-start:calc(var(--accordion-icon-size,1.25rem) + var(--accordion-gap,var(--c15t-space-xs)));padding-inline-end:var(--accordion-padding,var(--c15t-space-sm));overflow:hidden}.c15t-ui-contentInner-b3ykf:not(.headless){opacity:1;transition:opacity calc(var(--accordion-duration,var(--c15t-duration-normal)) * .35) ease-out;padding-top:0}.c15t-ui-content-qdPhy[data-state=open] .c15t-ui-contentViewport-O2Kny:not(.headless){padding-bottom:var(--accordion-padding,var(--c15t-space-sm))}.c15t-ui-content-qdPhy[data-state=closed] .c15t-ui-contentViewport-O2Kny:not(.headless){padding-bottom:0}.c15t-ui-content-qdPhy[data-state=closed] .c15t-ui-contentInner-b3ykf:not(.headless){opacity:0}.c15t-dark .c15t-ui-content-qdPhy:not(.headless){color:var(--accordion-content-color-dark,#999)}:is([data-disable-animation] .c15t-ui-content-qdPhy:not(.headless),.disable-animation .c15t-ui-content-qdPhy:not(.headless)),:is([data-disable-animation] .c15t-ui-contentInner-b3ykf:not(.headless),.disable-animation .c15t-ui-contentInner-b3ykf:not(.headless)),:is([data-disable-animation] .c15t-ui-arrow-JFKgd:not(.headless),.disable-animation .c15t-ui-arrow-JFKgd:not(.headless)){transition:none}@media (prefers-reduced-motion:reduce){.c15t-ui-arrow-JFKgd:not(.headless),.c15t-ui-content-qdPhy:not(.headless),.c15t-ui-contentInner-b3ykf:not(.headless){transition:none}}
72
+ .c15t-ui-list-T3EU0:not(.headless){gap:var(--accordion-stack-gap,.75rem);display:grid}.c15t-ui-item-Jgm_X:not(.headless){border:1px solid var(--accordion-border-color,var(--c15t-border));border-radius:var(--accordion-radius,var(--c15t-radius-md));box-shadow:none;background-color:var(--accordion-background-color,var(--c15t-surface));padding:0;display:grid;overflow:visible}.c15t-dark .c15t-ui-item-Jgm_X:not(.headless){border-color:var(--accordion-border-color-dark,var(--c15t-border));background-color:var(--accordion-background-color-dark,var(--c15t-surface))}.c15t-ui-triggerRow-xXdTH:not(.headless){align-items:center;gap:var(--accordion-gap,var(--c15t-space-xs));box-sizing:border-box;width:100%;padding:var(--accordion-padding,var(--c15t-space-sm));border-radius:var(--accordion-radius,var(--c15t-radius-md));color:var(--accordion-text-color,var(--c15t-text));transition:background-color var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));background-color:#0000;border:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.c15t-ui-triggerRow-xXdTH:not(.headless):hover{background-color:var(--accordion-background-hover,var(--c15t-surface-hover))}.c15t-dark .c15t-ui-triggerRow-xXdTH:not(.headless){color:var(--accordion-text-color-dark,var(--c15t-text))}.c15t-dark .c15t-ui-triggerRow-xXdTH:not(.headless):hover{background-color:var(--accordion-background-hover-dark,var(--c15t-surface-hover))}.c15t-ui-item-Jgm_X:not(.headless):has(.c15t-ui-trigger-KT5J_:focus-visible){outline:2px solid var(--accordion-focus-ring,#476cff);outline-offset:-2px}.c15t-dark .c15t-ui-item-Jgm_X:not(.headless):has(.c15t-ui-trigger-KT5J_:focus-visible){outline-color:var(--accordion-focus-ring-dark,#2547d0)}.c15t-ui-trigger-KT5J_:not(.headless):focus-visible{outline:none}.c15t-ui-item-Jgm_X:not(.headless)>.c15t-ui-content-qdPhy{grid-column:1/-1}.c15t-ui-trigger-KT5J_:not(.headless){appearance:none;align-items:center;gap:var(--accordion-gap,var(--c15t-space-xs));min-width:0;min-height:calc(var(--accordion-icon-size,1.25rem) + .25rem);font-family:inherit;font-size:var(--accordion-title-size,var(--c15t-font-size-sm));line-height:var(--c15t-line-height-tight);letter-spacing:inherit;font-weight:var(--c15t-font-weight-regular);border-radius:var(--accordion-radius,var(--c15t-radius-md));width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-self:stretch;padding:0;display:flex;position:relative}.c15t-ui-arrow-JFKgd:not(.headless){color:var(--accordion-arrow-color,#a3a3a3);width:var(--accordion-icon-size,1.25rem);height:var(--accordion-icon-size,1.25rem);transition:transform var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.c15t-ui-arrow-JFKgd:not(.headless) svg{width:100%;height:100%;display:block}.c15t-dark .c15t-ui-arrow-JFKgd:not(.headless){color:var(--accordion-arrow-color-dark,#ccc)}.c15t-ui-header-ogZie:not(.headless){flex-direction:column;flex:1;min-width:0;display:flex}.c15t-ui-title-vmC1f:not(.headless){font:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0}.c15t-ui-control-dy7nh:not(.headless){flex-shrink:0;align-self:center;position:relative;top:-1px}.c15t-ui-restriction-bXiI7:not(.headless){padding:0 var(--accordion-row-padding-x,1rem) .75rem;color:var(--accordion-restriction-color,var(--c15t-text-muted));font-size:var(--c15t-font-size-sm);line-height:var(--c15t-line-height-normal);grid-column:1/-1;margin:0;display:block}.c15t-ui-content-qdPhy:not(.headless){color:var(--accordion-content-color,#5c5c5c);letter-spacing:inherit;transition:grid-template-rows var(--accordion-duration,var(--c15t-duration-normal)) var(--accordion-ease,var(--c15t-easing));grid-template-rows:0fr;padding:0;font-size:.875rem;line-height:1.5;display:grid;overflow:hidden}.c15t-ui-content-qdPhy:not(.headless)[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-qdPhy:not(.headless)[data-state=closed]{pointer-events:none}.c15t-ui-contentViewport-O2Kny:not(.headless){min-height:0;padding-top:0;padding-inline:calc(var(--accordion-icon-size,1.25rem) + var(--accordion-gap,var(--c15t-space-xs)));overflow:hidden}.c15t-ui-contentInner-b3ykf:not(.headless){opacity:1;transition:opacity calc(var(--accordion-duration,var(--c15t-duration-normal)) * .35) ease-out;padding-top:0}.c15t-ui-content-qdPhy[data-state=open] .c15t-ui-contentViewport-O2Kny:not(.headless){padding-bottom:var(--accordion-padding,var(--c15t-space-sm))}.c15t-ui-content-qdPhy[data-state=closed] .c15t-ui-contentViewport-O2Kny:not(.headless){padding-bottom:0}.c15t-ui-content-qdPhy[data-state=closed] .c15t-ui-contentInner-b3ykf:not(.headless){opacity:0}.c15t-dark .c15t-ui-content-qdPhy:not(.headless){color:var(--accordion-content-color-dark,#999)}:is([data-disable-animation] .c15t-ui-content-qdPhy:not(.headless),.disable-animation .c15t-ui-content-qdPhy:not(.headless)),:is([data-disable-animation] .c15t-ui-contentInner-b3ykf:not(.headless),.disable-animation .c15t-ui-contentInner-b3ykf:not(.headless)),:is([data-disable-animation] .c15t-ui-arrow-JFKgd:not(.headless),.disable-animation .c15t-ui-arrow-JFKgd:not(.headless)){transition:none}@media (prefers-reduced-motion:reduce){.c15t-ui-arrow-JFKgd:not(.headless),.c15t-ui-content-qdPhy:not(.headless),.c15t-ui-contentInner-b3ykf:not(.headless){transition:none}}
179
73
 
180
74
  /* components/branding */
181
75
  .c15t-ui-branding-yf52E:not(.headless){justify-content:center;align-items:center;gap:var(--consent-dialog-branding-gap);font-size:var(--consent-dialog-branding-font-size);font-weight:var(--consent-dialog-branding-font-weight);line-height:var(--consent-dialog-branding-line-height);letter-spacing:var(--consent-dialog-branding-letter-spacing);color:var(--consent-dialog-foreground-color);border-radius:.25rem;margin:auto 0;padding:0 .5rem;text-decoration:none;display:flex}.c15t-ui-brandingCopy-ktA4u:not(.headless){white-space:nowrap;align-items:baseline;gap:.25rem;min-width:0;display:inline-flex}.c15t-ui-brandingText-ls0cn:not(.headless){font-weight:var(--c15t-font-weight-medium)}.c15t-ui-brandingBy-CWN3T:not(.headless){font-weight:var(--c15t-font-weight-normal)}.c15t-ui-brandingWordmarkLabel-FxCKX:not(.headless){white-space:nowrap;letter-spacing:-.03em}.c15t-ui-branding-yf52E:not(.headless):focus-visible{box-shadow:0 0 0 2px var(--consent-dialog-branding-focus-color);outline:none}.c15t-dark .c15t-ui-branding-yf52E:not(.headless):focus-visible{box-shadow:0 0 0 2px var(--consent-dialog-branding-focus-color-dark)}.c15t-dark .c15t-ui-branding-yf52E:not(.headless){color:var(--consent-dialog-foreground-color-dark)}.c15t-ui-brandingC15T-GVCPl:not(.headless){flex:none;align-items:center;width:auto;max-width:100%;height:auto;display:inline-flex}.c15t-ui-brandingWordmark-yqSW2:not(.headless){white-space:nowrap;flex:none;align-items:center;gap:.25rem;min-width:0;max-width:100%;display:inline-flex}.c15t-ui-brandingC15TMark-VvBd_:not(.headless){width:auto;max-width:100%;height:var(--consent-dialog-branding-icon-height);flex:none;align-items:center;display:inline-flex}.c15t-ui-brandingC15TMark-VvBd_:not(.headless)>svg{aspect-ratio:446/445;flex:none;width:auto;max-width:100%;height:100%;display:block}.c15t-ui-brandingInth-bviD3:not(.headless){max-width:100%;width:var(--consent-dialog-branding-icon-width);height:var(--consent-dialog-branding-icon-height);flex:none;align-items:center;display:inline-flex}.c15t-ui-brandingInth-bviD3:not(.headless)>svg{aspect-ratio:88/90;flex:none;width:auto;max-width:100%;height:100%;display:block}.c15t-ui-brandingTag-V3N0M:not(.headless){border:1px solid color-mix(in srgb, var(--c15t-primary), black 14%);max-width:calc(100% - 1.5rem);min-height:1.75rem;color:var(--c15t-text-on-primary,#fff);background-color:var(--c15t-primary);z-index:2;border-radius:.75rem .75rem .1875rem .1875rem;align-items:center;gap:.375rem;padding:.28125rem .625rem;text-decoration:none;display:inline-flex;position:absolute;box-shadow:inset 0 1px #ffffff29,0 1px 2px #0f172a1f}.c15t-ui-brandingContent-Z9PVI:not(.headless){align-items:center;gap:.375rem;min-width:0;display:inline-flex}.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingCopy-ktA4u{font-size:var(--consent-dialog-branding-label-size);letter-spacing:.01em;color:var(--c15t-text-on-primary,#fff);text-decoration:none}.c15t-ui-brandingTag-V3N0M .c15t-ui-brandingText-ls0cn,.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingBy-CWN3T{line-height:1}.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingWordmarkLabel-FxCKX{font-size:var(--consent-dialog-branding-label-size);line-height:1}.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingWordmark-yqSW2{color:var(--c15t-text-on-primary,#fff);gap:.3125rem;text-decoration:none}.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingC15TMark-VvBd_,.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingInth-bviD3{height:.9375rem;color:var(--c15t-text-on-primary,#fff)}:is(.c15t-ui-brandingTag-V3N0M[data-context=banner]:not(.headless),.c15t-ui-brandingTag-V3N0M[data-context=iab-banner]:not(.headless)){border-bottom-width:0;border-radius:.75rem .75rem 0 0;align-self:flex-end;margin-block-end:-1px;margin-inline-end:.75rem;position:relative;top:auto;right:auto;transform:none}:is(.c15t-ui-brandingTag-V3N0M[data-context=dialog]:not(.headless),.c15t-ui-brandingTag-V3N0M[data-context=iab-dialog]:not(.headless)){right:var(--consent-dialog-card-padding-mobile);border-top-width:0;border-radius:0 0 .75rem .75rem;bottom:0;transform:translateY(calc(100% + 1px))}.c15t-ui-brandingTag-V3N0M[data-context=manager]:not(.headless){max-width:none;min-height:auto;color:var(--consent-manager-link-text-color);box-shadow:none;z-index:auto;text-align:center;background-color:#0000;border:none;border-radius:0;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:0;text-decoration:none;display:flex;position:static}.c15t-dark .c15t-ui-brandingTag-V3N0M[data-context=manager]:not(.headless){color:var(--consent-manager-link-text-color-dark)}.c15t-ui-brandingTag-V3N0M[data-context=manager]:not(.headless) svg{height:1.2rem}@media (width>=640px){:is(.c15t-ui-brandingTag-V3N0M[data-context=dialog]:not(.headless),.c15t-ui-brandingTag-V3N0M[data-context=iab-dialog]:not(.headless)){right:var(--consent-dialog-card-padding)}}.c15t-ui-brandingTagBanner-zFtcX:not(.headless){border-bottom-width:0;border-radius:.75rem .75rem 0 0;align-self:flex-end;margin-block-end:-1px;margin-inline-end:.75rem;position:relative;top:auto;right:auto;transform:none}.c15t-ui-brandingTagDialog-Iv_a_:not(.headless){right:var(--consent-dialog-card-padding-mobile);border-top-width:0;border-radius:0 0 .75rem .75rem;bottom:0;transform:translateY(calc(100% + 1px))}@media (width>=640px){.c15t-ui-brandingTagDialog-Iv_a_:not(.headless){right:var(--consent-dialog-card-padding)}}@media (width<=480px){.c15t-ui-brandingTag-V3N0M:not(.headless){gap:.375rem;max-width:calc(100% - 1rem);padding:.3125rem .625rem}.c15t-ui-brandingTag-V3N0M .c15t-ui-brandingCopy-ktA4u,.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingWordmarkLabel-FxCKX{font-size:.625rem}.c15t-ui-brandingTag-V3N0M .c15t-ui-brandingC15TMark-VvBd_,.c15t-ui-brandingTag-V3N0M:not(.headless) .c15t-ui-brandingInth-bviD3{height:.8125rem}}.c15t-ui-brandingFooter-QIudR.c15t-ui-brandingFooter-QIudR:not(.headless){border-top:0;height:0;min-height:0;padding:0;position:relative;overflow:visible}.c15t-ui-brandingFooter-QIudR.c15t-ui-brandingFooter-QIudR:not(.headless):empty{display:none}
@@ -199,7 +93,7 @@
199
93
  .c15t-ui-manager-VznZW:not(.headless){width:100%;font-family:var(--consent-manager-font-family);line-height:var(--consent-manager-line-height);-webkit-font-smoothing:antialiased;position:relative}.c15t-ui-manager-VznZW:not(.headless)>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem * var(--space-y-reverse))}.c15t-ui-footer-fl3dz:not(.headless){padding:var(--consent-manager-footer-padding);background-color:var(--consent-manager-footer-background-color);justify-content:space-between;gap:1rem;display:flex}.c15t-dark .c15t-ui-footer-fl3dz:not(.headless){background-color:var(--consent-manager-footer-background-color-dark)}@media (width<=640px){.c15t-ui-footer-fl3dz:not(.headless){flex-direction:column}}@media (width>=640px){.c15t-ui-footer-fl3dz:not(.headless){flex-direction:row}}
200
94
 
201
95
  /* components/panel */
202
- .c15t-ui-root-I07nx:not(.headless){pointer-events:none;box-sizing:border-box;isolation:isolate;font-family:var(--consent-dialog-font-family);color:var(--c15t-text);line-height:var(--consent-dialog-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--consent-dialog-card-padding-mobile);z-index:var(--consent-dialog-z-index);border-radius:var(--consent-dialog-card-radius);width:100%;height:var(--consent-dialog-height);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-ui-root-I07nx:not(.headless)[data-blocking=true]{pointer-events:auto}.c15t-ui-root-I07nx:not(.headless)[dir=rtl]{direction:rtl}.c15t-ui-root-I07nx:not(.headless):focus{outline:none}@keyframes c15t-ui-consent-dialog-fade-in-I04Yp{0%{opacity:0}to{opacity:1}}@keyframes c15t-ui-consent-dialog-fade-out-t5_x2{0%{opacity:1}to{opacity:0}}.c15t-ui-overlay-c1WEk:not(.headless)[data-state=open]{animation:c15t-ui-consent-dialog-fade-in-I04Yp var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed]{animation:c15t-ui-consent-dialog-fade-out-t5_x2 var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx:not(.headless)[data-state=open]{animation:c15t-ui-consent-dialog-fade-in-I04Yp var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx:not(.headless)[data-state=closed]{animation:c15t-ui-consent-dialog-fade-out-t5_x2 var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-enter-vWVet var(--consent-dialog-animation-duration) cubic-bezier(.34, 1.56, .64, 1)}.c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-exit-ioDiW var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx:not(.headless)[data-mode=dialog]{justify-content:center;align-items:center}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left],.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right]){justify-content:flex-start;align-items:stretch;padding:0}.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right]{justify-content:flex-end}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right] .c15t-ui-container-KTZOT:not(.headless)){z-index:var(--consent-dialog-z-index);width:min(100%, var(--consent-dialog-max-width));height:100%;max-height:100%;position:relative}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left] .c15t-ui-card-ve6qQ:not(.headless),.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right] .c15t-ui-card-ve6qQ:not(.headless)){border-radius:0;width:100%;height:100%;max-height:100%;margin:0}@keyframes c15t-ui-consent-dialog-slide-in-left-N9bgJ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes c15t-ui-consent-dialog-slide-out-left-hkcUP{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes c15t-ui-consent-dialog-slide-in-right-L40wh{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes c15t-ui-consent-dialog-slide-out-right-GjtEq{0%{transform:translate(0)}to{transform:translate(100%)}}.c15t-ui-root-I07nx[data-mode=sidebar-left][data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-in-left-N9bgJ var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx[data-mode=sidebar-left][data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-out-left-hkcUP var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx[data-mode=sidebar-right][data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-in-right-L40wh var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx[data-mode=sidebar-right][data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-out-right-GjtEq var(--consent-dialog-animation-duration) ease-in}.c15t-ui-dialogVisible-dkX4M:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-dialogHidden-uBU9W:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-contentVisible-KxAWb:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing), transform var(--consent-dialog-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-contentHidden-LflgF:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing), transform var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-ui-root-I07nx:not(.headless){padding:var(--consent-dialog-card-padding);width:auto}}.c15t-ui-container-KTZOT:not(.headless){pointer-events:auto;flex-direction:column;width:100%;max-height:100%;display:flex}.c15t-ui-container-KTZOT:not(.headless):focus-visible{outline:none}.c15t-ui-container-KTZOT:not(.headless):focus-visible>.c15t-ui-card-ve6qQ:not(.headless){outline:2px solid var(--c15t-primary);outline-offset:2px}.c15t-ui-headerWrapper-DQg3z:not(.headless){position:relative}.c15t-ui-closeButton-uPYIe:not(.headless){position:absolute;top:22px;right:22px}.c15t-ui-footer-PeM4f:not(.headless){border-top:solid 1px var(--consent-dialog-stroke-color);justify-content:center;padding-top:1rem;padding-bottom:1rem;font-size:14px}.c15t-ui-overlay-c1WEk:not(.headless){color:var(--consent-dialog-link-text-color);background-color:var(--consent-dialog-overlay-background-color);z-index:var(--consent-dialog-overlay-z-index);position:fixed;inset:0}.c15t-ui-overlayVisible-gG3jJ:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-overlayHidden-eY362:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-dark .c15t-ui-overlay-c1WEk:not(.headless){background-color:var(--consent-dialog-overlay-background-color-dark);color:var(--consent-dialog-link-text-color-dark)}.c15t-ui-card-ve6qQ:not(.headless){box-sizing:border-box;width:min(100%, var(--consent-dialog-max-width));border-radius:var(--consent-dialog-card-radius);border:var(--consent-dialog-border-width) var(--consent-dialog-border-style) var(--consent-dialog-border-color);background-color:var(--consent-dialog-background-color);max-height:100%;color:var(--consent-dialog-foreground-color);box-shadow:var(--consent-dialog-card-shadow);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:visible}.c15t-dark .c15t-ui-card-ve6qQ:not(.headless){background-color:var(--consent-dialog-background-color-dark);color:var(--consent-dialog-foreground-color-dark);border-color:var(--consent-dialog-border-color-dark)}.c15t-ui-header-VbAnL:not(.headless){padding:var(--consent-dialog-card-padding);gap:var(--consent-dialog-header-gap);flex-direction:column;flex-shrink:0;display:flex}.c15t-ui-header-VbAnL:not(.headless)>*+*{margin-top:var(--consent-dialog-card-gap)}.c15t-ui-title-ErzRZ:not(.headless){font-weight:var(--consent-dialog-title-font-weight);font-size:var(--consent-dialog-title-font-size);letter-spacing:var(--consent-dialog-title-letter-spacing);margin:0;line-height:1}.c15t-ui-description-OQyBx:not(.headless){color:var(--consent-dialog-muted-color);font-size:var(--consent-dialog-description-font-size);font-weight:var(--consent-dialog-description-font-weight);line-height:var(--consent-dialog-description-line-height)}.c15t-dark .c15t-ui-description-OQyBx:not(.headless){color:var(--consent-dialog-muted-color-dark)}.c15t-ui-description-OQyBx[data-context=dialog]:not(.headless){color:var(--consent-dialog-muted-color);font-size:var(--consent-dialog-description-font-size);font-weight:var(--consent-dialog-description-font-weight);line-height:var(--consent-dialog-description-line-height)}.c15t-dark .c15t-ui-description-OQyBx[data-context=dialog]:not(.headless){color:var(--consent-dialog-muted-color-dark)}.c15t-ui-content-Y_5Ie:not(.headless){padding:var(--consent-dialog-card-padding);gap:var(--consent-dialog-content-gap);flex:auto;min-height:0;padding-top:0;overflow-y:auto}.c15t-ui-footer-PeM4f:not(.headless){justify-content:center;align-items:center;gap:var(--consent-dialog-footer-gap);font-size:var(--consent-dialog-footer-font-size);padding-top:var(--consent-dialog-footer-padding-y);padding-bottom:var(--consent-dialog-footer-padding-y);border-top:var(--consent-dialog-border-width) var(--consent-dialog-border-style) var(--consent-dialog-stroke-color);flex-direction:column;flex-shrink:0;display:flex}.c15t-ui-footer-PeM4f:not(.headless):empty{border-top:none;display:none}.c15t-dark .c15t-ui-footer-PeM4f:not(.headless){border-color:var(--consent-dialog-stroke-color-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-dialogVisible-dkX4M,.c15t-ui-dialogHidden-uBU9W,.c15t-ui-contentVisible-KxAWb,.c15t-ui-contentHidden-LflgF,.c15t-ui-overlayVisible-gG3jJ,.c15t-ui-overlayHidden-eY362:not(.headless),.c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],.c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],.c15t-ui-root-I07nx:not(.headless)[data-state=open],.c15t-ui-root-I07nx:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){transition:none;animation:none}}.c15t-ui-overlay-c1WEk[data-disable-animation]:not(.headless)[data-state=open],.c15t-ui-overlay-c1WEk[data-disable-animation]:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-disable-animation]:not(.headless)[data-state=open],.c15t-ui-root-I07nx[data-disable-animation]:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-disable-animation][data-state=open] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx[data-disable-animation][data-state=closed] .c15t-ui-container-KTZOT:not(.headless),.disable-animation .c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],.disable-animation .c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],.disable-animation .c15t-ui-root-I07nx:not(.headless)[data-state=open],.disable-animation .c15t-ui-root-I07nx:not(.headless)[data-state=closed],.disable-animation .c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),.disable-animation .c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless),[data-disable-animation] .c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],[data-disable-animation] .c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],[data-disable-animation] .c15t-ui-root-I07nx:not(.headless)[data-state=open],[data-disable-animation] .c15t-ui-root-I07nx:not(.headless)[data-state=closed],[data-disable-animation] .c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),[data-disable-animation] .c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:none}
96
+ .c15t-ui-root-I07nx:not(.headless){pointer-events:none;box-sizing:border-box;isolation:isolate;font-family:var(--consent-dialog-font-family);color:var(--c15t-text);line-height:var(--consent-dialog-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--consent-dialog-card-padding-mobile);z-index:var(--consent-dialog-z-index);border-radius:var(--consent-dialog-card-radius);width:100%;height:var(--consent-dialog-height);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-ui-root-I07nx:not(.headless)[data-blocking=true]{pointer-events:auto}.c15t-ui-root-I07nx:not(.headless)[dir=rtl]{direction:rtl}.c15t-ui-root-I07nx:not(.headless):focus{outline:none}@keyframes c15t-ui-consent-dialog-fade-in-I04Yp{0%{opacity:0}to{opacity:1}}@keyframes c15t-ui-consent-dialog-fade-out-t5_x2{0%{opacity:1}to{opacity:0}}.c15t-ui-overlay-c1WEk:not(.headless)[data-state=open]{animation:c15t-ui-consent-dialog-fade-in-I04Yp var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed]{animation:c15t-ui-consent-dialog-fade-out-t5_x2 var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx:not(.headless)[data-state=open]{animation:c15t-ui-consent-dialog-fade-in-I04Yp var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx:not(.headless)[data-state=closed]{animation:c15t-ui-consent-dialog-fade-out-t5_x2 var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-enter-vWVet var(--consent-dialog-animation-duration) cubic-bezier(.34, 1.56, .64, 1)}.c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-exit-ioDiW var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx:not(.headless)[data-mode=dialog]{justify-content:center;align-items:center}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left],.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right]){justify-content:flex-start;align-items:stretch;padding:0}.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right]{justify-content:flex-end}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right] .c15t-ui-container-KTZOT:not(.headless)){z-index:var(--consent-dialog-z-index);width:min(100%, var(--consent-dialog-max-width));height:100%;max-height:100%;position:relative}:is(.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-left] .c15t-ui-card-ve6qQ:not(.headless),.c15t-ui-root-I07nx:not(.headless)[data-mode=sidebar-right] .c15t-ui-card-ve6qQ:not(.headless)){border-radius:0;width:100%;height:100%;max-height:100%;margin:0}@keyframes c15t-ui-consent-dialog-slide-in-left-N9bgJ{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes c15t-ui-consent-dialog-slide-out-left-hkcUP{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes c15t-ui-consent-dialog-slide-in-right-L40wh{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes c15t-ui-consent-dialog-slide-out-right-GjtEq{0%{transform:translate(0)}to{transform:translate(100%)}}.c15t-ui-root-I07nx[data-mode=sidebar-left][data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-in-left-N9bgJ var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx[data-mode=sidebar-left][data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-out-left-hkcUP var(--consent-dialog-animation-duration) ease-in}.c15t-ui-root-I07nx[data-mode=sidebar-right][data-state=open] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-in-right-L40wh var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-root-I07nx[data-mode=sidebar-right][data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:c15t-ui-consent-dialog-slide-out-right-GjtEq var(--consent-dialog-animation-duration) ease-in}.c15t-ui-dialogVisible-dkX4M:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-dialogHidden-uBU9W:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-contentVisible-KxAWb:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing), transform var(--consent-dialog-animation-duration) cubic-bezier(.34, 1.56, .64, 1);transform:scale(1)}.c15t-ui-contentHidden-LflgF:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing), transform var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-ui-root-I07nx:not(.headless){padding:var(--consent-dialog-card-padding);width:auto}}.c15t-ui-container-KTZOT:not(.headless){pointer-events:auto;flex-direction:column;width:100%;max-height:100%;display:flex}.c15t-ui-container-KTZOT:not(.headless):focus-visible{outline:none}.c15t-ui-container-KTZOT:not(.headless):focus-visible>.c15t-ui-card-ve6qQ:not(.headless){outline:2px solid var(--c15t-primary);outline-offset:2px}.c15t-ui-headerWrapper-DQg3z:not(.headless){position:relative}.c15t-ui-closeButton-uPYIe:not(.headless){position:absolute;top:22px;right:22px}.c15t-ui-footer-PeM4f:not(.headless){border-top:solid 1px var(--consent-dialog-stroke-color);justify-content:center;padding-top:1rem;padding-bottom:1rem;font-size:14px}.c15t-ui-overlay-c1WEk:not(.headless){color:var(--consent-dialog-link-text-color);background-color:var(--consent-dialog-overlay-background-color);z-index:var(--consent-dialog-overlay-z-index);position:fixed;inset:0}.c15t-ui-overlayVisible-gG3jJ:not(.headless){opacity:1;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-ui-overlayHidden-eY362:not(.headless){opacity:0;transition:opacity var(--consent-dialog-animation-duration) var(--consent-dialog-animation-timing)}.c15t-dark .c15t-ui-overlay-c1WEk:not(.headless){background-color:var(--consent-dialog-overlay-background-color-dark);color:var(--consent-dialog-link-text-color-dark)}.c15t-ui-card-ve6qQ:not(.headless){box-sizing:border-box;width:min(100%, var(--consent-dialog-max-width));max-height:var(--consent-dialog-max-height);border-radius:var(--consent-dialog-card-radius);border:var(--consent-dialog-border-width) var(--consent-dialog-border-style) var(--consent-dialog-border-color);background-color:var(--consent-dialog-background-color);color:var(--consent-dialog-foreground-color);box-shadow:var(--consent-dialog-card-shadow);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:visible}.c15t-dark .c15t-ui-card-ve6qQ:not(.headless){background-color:var(--consent-dialog-background-color-dark);color:var(--consent-dialog-foreground-color-dark);border-color:var(--consent-dialog-border-color-dark)}.c15t-ui-header-VbAnL:not(.headless){padding:var(--consent-dialog-card-padding);gap:var(--consent-dialog-header-gap);flex-direction:column;flex-shrink:0;display:flex}.c15t-ui-header-VbAnL:not(.headless)>*+*{margin-top:var(--consent-dialog-card-gap)}.c15t-ui-title-ErzRZ:not(.headless){font-weight:var(--consent-dialog-title-font-weight);font-size:var(--consent-dialog-title-font-size);letter-spacing:var(--consent-dialog-title-letter-spacing);margin:0;line-height:1}.c15t-ui-description-OQyBx:not(.headless){color:var(--consent-dialog-muted-color);font-size:var(--consent-dialog-description-font-size);font-weight:var(--consent-dialog-description-font-weight);line-height:var(--consent-dialog-description-line-height)}.c15t-dark .c15t-ui-description-OQyBx:not(.headless){color:var(--consent-dialog-muted-color-dark)}.c15t-ui-description-OQyBx[data-context=dialog]:not(.headless){color:var(--consent-dialog-muted-color);font-size:var(--consent-dialog-description-font-size);font-weight:var(--consent-dialog-description-font-weight);line-height:var(--consent-dialog-description-line-height)}.c15t-dark .c15t-ui-description-OQyBx[data-context=dialog]:not(.headless){color:var(--consent-dialog-muted-color-dark)}.c15t-ui-content-Y_5Ie:not(.headless){padding:var(--consent-dialog-card-padding);gap:var(--consent-dialog-content-gap);flex-direction:column;flex:auto;min-height:0;padding-top:0;display:flex;overflow-y:auto}.c15t-ui-content-Y_5Ie:not(.headless):has(>[data-testid=consent-widget-root]>[data-testid=consent-widget-accordion]){overflow-y:visible}.c15t-ui-content-Y_5Ie:not(.headless)>*{flex-shrink:0}.c15t-ui-content-Y_5Ie:not(.headless)>[data-testid=consent-widget-root]:not(.headless){flex-direction:column;flex:auto;min-height:0;display:flex}.c15t-ui-content-Y_5Ie:not(.headless)>[data-testid=consent-widget-root]:not(.headless)>[data-testid=consent-widget-accordion]{flex:auto;min-height:0;margin:-2px;padding:2px;overflow-y:auto}.c15t-ui-content-Y_5Ie:not(.headless)>[data-testid=consent-widget-root]:not(.headless)>[data-testid=consent-widget-footer]{flex-shrink:0}.c15t-ui-footer-PeM4f:not(.headless){justify-content:center;align-items:center;gap:var(--consent-dialog-footer-gap);font-size:var(--consent-dialog-footer-font-size);padding-top:var(--consent-dialog-footer-padding-y);padding-bottom:var(--consent-dialog-footer-padding-y);border-top:var(--consent-dialog-border-width) var(--consent-dialog-border-style) var(--consent-dialog-stroke-color);flex-direction:column;flex-shrink:0;display:flex}.c15t-ui-footer-PeM4f:not(.headless):empty{border-top:none;display:none}.c15t-dark .c15t-ui-footer-PeM4f:not(.headless){border-color:var(--consent-dialog-stroke-color-dark)}@media (prefers-reduced-motion:reduce){.c15t-ui-dialogVisible-dkX4M,.c15t-ui-dialogHidden-uBU9W,.c15t-ui-contentVisible-KxAWb,.c15t-ui-contentHidden-LflgF,.c15t-ui-overlayVisible-gG3jJ,.c15t-ui-overlayHidden-eY362:not(.headless),.c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],.c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],.c15t-ui-root-I07nx:not(.headless)[data-state=open],.c15t-ui-root-I07nx:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){transition:none;animation:none}}.c15t-ui-overlay-c1WEk[data-disable-animation]:not(.headless)[data-state=open],.c15t-ui-overlay-c1WEk[data-disable-animation]:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-disable-animation]:not(.headless)[data-state=open],.c15t-ui-root-I07nx[data-disable-animation]:not(.headless)[data-state=closed],.c15t-ui-root-I07nx[data-disable-animation][data-state=open] .c15t-ui-container-KTZOT:not(.headless),.c15t-ui-root-I07nx[data-disable-animation][data-state=closed] .c15t-ui-container-KTZOT:not(.headless),.disable-animation .c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],.disable-animation .c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],.disable-animation .c15t-ui-root-I07nx:not(.headless)[data-state=open],.disable-animation .c15t-ui-root-I07nx:not(.headless)[data-state=closed],.disable-animation .c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),.disable-animation .c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless),[data-disable-animation] .c15t-ui-overlay-c1WEk:not(.headless)[data-state=open],[data-disable-animation] .c15t-ui-overlay-c1WEk:not(.headless)[data-state=closed],[data-disable-animation] .c15t-ui-root-I07nx:not(.headless)[data-state=open],[data-disable-animation] .c15t-ui-root-I07nx:not(.headless)[data-state=closed],[data-disable-animation] .c15t-ui-root-I07nx[data-state=open] .c15t-ui-container-KTZOT:not(.headless),[data-disable-animation] .c15t-ui-root-I07nx[data-state=closed] .c15t-ui-container-KTZOT:not(.headless){animation:none}
203
97
 
204
98
  /* components/panel-trigger */
205
99
  .c15t-ui-trigger-Hjg5y{--cdt-size-sm:32px;--cdt-size-md:40px;--cdt-size-lg:48px;--cdt-bg:var(--c15t-surface,#fff);--cdt-bg-hover:var(--c15t-surface-hover,var(--cdt-bg));--cdt-border:var(--c15t-border,#e5e5e5);--cdt-shadow:var(--c15t-shadow-lg,0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a);--cdt-shadow-hover:var(--c15t-shadow-xl,0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a);--cdt-radius:var(--c15t-radius-full,9999px);--cdt-offset:var(--c15t-space-md,20px);--cdt-transition-duration:var(--c15t-motion-duration,.2s);--cdt-transition-easing:var(--c15t-motion-easing,ease-out);--cdt-snap-duration:var(--c15t-motion-duration-slow,.2s);--cdt-snap-easing:var(--c15t-motion-easing-smooth,cubic-bezier(.77, 0, .175, 1));--cdt-icon-color:var(--c15t-text,#171717);--cdt-focus-ring:var(--c15t-primary,#3b82f6);z-index:9999;width:var(--cdt-size-md);height:var(--cdt-size-md);border:1px solid var(--cdt-border);border-radius:var(--cdt-radius);background:var(--cdt-bg);box-shadow:var(--cdt-shadow);cursor:grab;transition:transform var(--cdt-transition-duration) var(--cdt-transition-easing), box-shadow var(--cdt-transition-duration) var(--cdt-transition-easing), background var(--cdt-transition-duration) var(--cdt-transition-easing);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;will-change:transform;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:fixed}@media (hover:hover) and (pointer:fine){.c15t-ui-trigger-Hjg5y:hover{background:var(--cdt-bg-hover);box-shadow:var(--cdt-shadow-hover)}}.c15t-ui-trigger-Hjg5y:active,.c15t-ui-trigger-Hjg5y.c15t-ui-dragging-R4Cm2,.c15t-ui-trigger-Hjg5y[data-dragging]{cursor:grabbing;transform:scale(1.02)}.c15t-ui-trigger-Hjg5y:focus{outline:none}.c15t-ui-trigger-Hjg5y:focus-visible{outline:2px solid var(--cdt-focus-ring);outline-offset:2px}.c15t-ui-trigger-Hjg5y[data-size=sm],.c15t-ui-sm-sud0y{width:var(--cdt-size-sm);height:var(--cdt-size-sm)}.c15t-ui-trigger-Hjg5y[data-size=md],.c15t-ui-md-CZrWA{width:var(--cdt-size-md);height:var(--cdt-size-md)}.c15t-ui-trigger-Hjg5y[data-size=lg],.c15t-ui-lg-fGzix{width:var(--cdt-size-lg);height:var(--cdt-size-lg)}.c15t-ui-icon-dD5R6{width:50%;height:50%;color:var(--cdt-icon-color);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.c15t-ui-icon-dD5R6 svg{width:100%;height:100%}.c15t-ui-text-Garil{margin-left:var(--c15t-space-xs,6px);font-family:var(--c15t-font-family,system-ui, sans-serif);font-size:var(--c15t-font-size-sm,14px);font-weight:var(--c15t-font-weight-medium,500);color:var(--cdt-icon-color);white-space:nowrap;pointer-events:none;line-height:1}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil){width:auto;height:auto;padding:var(--c15t-space-sm,8px) var(--c15t-space-md,16px);border-radius:var(--c15t-radius-lg,12px);gap:var(--c15t-space-xs,6px)}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil) .c15t-ui-icon-dD5R6{width:16px;height:16px}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=sm],.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-sm-sud0y{padding:var(--c15t-space-xs,6px) var(--c15t-space-sm,10px)}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=sm] .c15t-ui-icon-dD5R6,.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-sm-sud0y .c15t-ui-icon-dD5R6{width:14px;height:14px}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=sm] .c15t-ui-text-Garil,.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-sm-sud0y .c15t-ui-text-Garil{font-size:var(--c15t-font-size-xs,12px)}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=lg],.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-lg-fGzix{padding:var(--c15t-space-md,12px) var(--c15t-space-lg,20px)}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=lg] .c15t-ui-icon-dD5R6,.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-lg-fGzix .c15t-ui-icon-dD5R6{width:20px;height:20px}.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil)[data-size=lg] .c15t-ui-text-Garil,.c15t-ui-trigger-Hjg5y:has(.c15t-ui-text-Garil).c15t-ui-lg-fGzix .c15t-ui-text-Garil{font-size:var(--c15t-font-size-md,16px)}.c15t-ui-bottomRight-RqjMF{right:var(--cdt-offset);bottom:var(--cdt-offset)}.c15t-ui-bottomLeft-J3DsX{bottom:var(--cdt-offset);left:var(--cdt-offset)}.c15t-ui-topRight-Ln04J{top:var(--cdt-offset);right:var(--cdt-offset)}.c15t-ui-topLeft-tpeaf{top:var(--cdt-offset);left:var(--cdt-offset)}.c15t-ui-snapping-YupfG{transition:top var(--cdt-snap-duration) var(--cdt-snap-easing), right var(--cdt-snap-duration) var(--cdt-snap-easing), bottom var(--cdt-snap-duration) var(--cdt-snap-easing), left var(--cdt-snap-duration) var(--cdt-snap-easing), transform var(--cdt-snap-duration) var(--cdt-snap-easing)}.c15t-ui-hidden-tV2GK{display:none}.c15t-dark .c15t-ui-trigger-Hjg5y{--cdt-bg:var(--c15t-surface,#262626);--cdt-bg-hover:var(--c15t-surface-hover,#404040);--cdt-border:var(--c15t-border,#404040);--cdt-icon-color:var(--c15t-text,#fafafa);--cdt-shadow:0 10px 15px -3px #0000004d, 0 4px 6px -4px #0000004d;--cdt-shadow-hover:0 20px 25px -5px #0006, 0 8px 10px -6px #0006}.c15t-ui-toolbar-gCKkL{--cdtt-size-sm:32px;--cdtt-size-md:40px;--cdtt-size-lg:48px;--cdtt-bg:var(--c15t-surface,#fff);--cdtt-bg-hover:var(--c15t-surface-hover,#f5f5f5);--cdtt-border:var(--c15t-border,#d4d4d4);--cdtt-primary:var(--c15t-primary,#16a779);--cdtt-primary-hover:var(--c15t-primary-hover,#128866);--cdtt-primary-text:var(--c15t-text-on-primary,#fff);--cdtt-icon-color:var(--c15t-text,#262626);--cdtt-focus-ring:var(--c15t-primary,#16a779);--cdtt-offset:var(--c15t-space-md,20px);--cdtt-transition-duration:var(--c15t-duration-fast,.16s);--cdtt-transition-easing:var(--c15t-easing-out,ease-out);--cdtt-shadow:var(--c15t-shadow-md,0 4px 10px #00000014, 0 1px 2px #0000000f);z-index:9999;width:max-content;color:var(--cdtt-icon-color);background:var(--cdtt-bg);border:1px solid var(--cdtt-border);border-radius:var(--c15t-radius-md,6px);box-shadow:var(--cdtt-shadow);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;will-change:transform;transition:transform var(--cdtt-transition-duration) var(--cdtt-transition-easing), box-shadow var(--cdtt-transition-duration) var(--cdtt-transition-easing), background var(--cdtt-transition-duration) var(--cdtt-transition-easing);align-items:stretch;margin:0;padding:0;display:inline-flex;position:fixed;overflow:hidden}.c15t-ui-toolbar-gCKkL.c15t-ui-bottomRight-RqjMF{right:max(var(--cdtt-offset), env(safe-area-inset-right,0px));bottom:max(var(--cdtt-offset), env(safe-area-inset-bottom,0px))}.c15t-ui-toolbar-gCKkL.c15t-ui-bottomLeft-J3DsX{bottom:max(var(--cdtt-offset), env(safe-area-inset-bottom,0px));left:max(var(--cdtt-offset), env(safe-area-inset-left,0px))}.c15t-ui-toolbar-gCKkL.c15t-ui-topRight-Ln04J{top:max(var(--cdtt-offset), env(safe-area-inset-top,0px));right:max(var(--cdtt-offset), env(safe-area-inset-right,0px))}.c15t-ui-toolbar-gCKkL.c15t-ui-topLeft-tpeaf{top:max(var(--cdtt-offset), env(safe-area-inset-top,0px));left:max(var(--cdtt-offset), env(safe-area-inset-left,0px))}.c15t-ui-toolbar-gCKkL.c15t-ui-dragging-R4Cm2{cursor:grabbing;box-shadow:var(--c15t-shadow-lg,0 10px 20px #00000024, 0 3px 6px #00000014)}.c15t-ui-toolbarVertical-MQ8bT{flex-direction:column}.c15t-ui-toolbarItem-OO8Dy{width:var(--cdtt-size-md);height:var(--cdtt-size-md);color:var(--cdtt-icon-color);border:0;border-inline-start:1px solid var(--cdtt-border);cursor:inherit;transition:color var(--cdtt-transition-duration) var(--cdtt-transition-easing), background var(--cdtt-transition-duration) var(--cdtt-transition-easing);background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.c15t-ui-toolbarItem-OO8Dy:first-child{border-inline-start:0}.c15t-ui-toolbarVertical-MQ8bT .c15t-ui-toolbarItem-OO8Dy{border-top:1px solid var(--cdtt-border);border-inline-start:0}.c15t-ui-toolbarVertical-MQ8bT .c15t-ui-toolbarItem-OO8Dy:first-child{border-top:0}.c15t-ui-toolbar-gCKkL .c15t-ui-toolbarItem-OO8Dy.c15t-ui-sm-sud0y{width:var(--cdtt-size-sm);height:var(--cdtt-size-sm)}.c15t-ui-toolbar-gCKkL .c15t-ui-toolbarItem-OO8Dy.c15t-ui-md-CZrWA{width:var(--cdtt-size-md);height:var(--cdtt-size-md)}.c15t-ui-toolbar-gCKkL .c15t-ui-toolbarItem-OO8Dy.c15t-ui-lg-fGzix{width:var(--cdtt-size-lg);height:var(--cdtt-size-lg)}.c15t-ui-toolbarItem-OO8Dy[data-c15t-trigger-action=preferences]{color:var(--cdtt-primary-text);background:var(--cdtt-primary)}.c15t-ui-toolbarItem-OO8Dy:focus{outline:none}.c15t-ui-toolbarItem-OO8Dy:focus-visible{z-index:1;outline:2px solid var(--cdtt-focus-ring);outline-offset:-3px}.c15t-ui-toolbarItem-OO8Dy:disabled{cursor:not-allowed;opacity:.45}.c15t-ui-toolbarIcon-FpHKR{pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:50%;height:50%;display:flex}.c15t-ui-toolbarIcon-FpHKR>span,.c15t-ui-toolbarIcon-FpHKR svg{width:100%;height:100%;display:flex}@media (hover:hover) and (pointer:fine){.c15t-ui-toolbarItem-OO8Dy:hover:not(:disabled){background:var(--cdtt-bg-hover)}.c15t-ui-toolbarItem-OO8Dy[data-c15t-trigger-action=preferences]:hover:not(:disabled){background:var(--cdtt-primary-hover)}}.c15t-ui-toolbarItem-OO8Dy:active:not(:disabled){box-shadow:inset 0 1px 3px #00000029}:is(.c15t-dark .c15t-ui-toolbar-gCKkL,.dark .c15t-ui-toolbar-gCKkL){--cdtt-bg:var(--c15t-surface,#262626);--cdtt-bg-hover:var(--c15t-surface-hover,#343434);--cdtt-border:var(--c15t-border,#525252);--cdtt-icon-color:var(--c15t-text,#fafafa);--cdtt-shadow:0 8px 18px #00000052, 0 2px 5px #00000038}@media (prefers-reduced-motion:reduce){.c15t-ui-trigger-Hjg5y,.c15t-ui-toolbar-gCKkL,.c15t-ui-toolbarItem-OO8Dy,.c15t-ui-snapping-YupfG{transition:none}}
@@ -215,3 +109,6 @@
215
109
 
216
110
  /* components/tabs */
217
111
  .c15t-ui-root-MkAzH{gap:1rem;width:100%;display:grid}.c15t-ui-list-InhoD{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-InhoD[data-orientation=vertical]{grid-auto-flow:row}.c15t-ui-trigger-n8yxg{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-n8yxg[data-state=active]{background:var(--tabs-trigger-active-background);color:var(--tabs-trigger-active-color)}.c15t-ui-trigger-n8yxg:focus-visible{outline:2px solid var(--tabs-focus-ring);outline-offset:2px}.c15t-ui-content-XEh1P{color:var(--c15t-text)}
112
+
113
+ /* components/vendor-list */
114
+ .c15t-ui-root-tC2KG:not(.headless){gap:var(--vendor-list-gap,var(--c15t-space-xs));min-inline-size:0;margin:var(--vendor-list-margin-top,var(--c15t-space-sm)) 0 0;color:var(--vendor-list-text-color,var(--c15t-text));padding:0;display:grid}.c15t-dark .c15t-ui-root-tC2KG:not(.headless){color:var(--vendor-list-text-color-dark,var(--c15t-text))}.c15t-ui-hint-mJePA:not(.headless){font-size:var(--c15t-font-size-sm);line-height:var(--c15t-line-height-normal);color:var(--vendor-list-hint-color,var(--c15t-text-muted));margin:0}.c15t-ui-item-Jb5Ct:not(.headless){box-sizing:border-box;border:1px solid var(--vendor-list-border-color,var(--c15t-border));border-radius:var(--vendor-list-radius,var(--c15t-radius-md));background-color:var(--vendor-list-background-color,var(--c15t-surface));grid-template-columns:minmax(0,1fr);padding:0;display:grid;overflow:visible}.c15t-dark .c15t-ui-item-Jb5Ct:not(.headless){border-color:var(--vendor-list-border-color-dark,var(--c15t-border));background-color:var(--vendor-list-background-color-dark,var(--c15t-surface))}.c15t-ui-item-Jb5Ct:not(.headless):has(.c15t-ui-trigger-HN0JL:focus-visible){outline:2px solid var(--vendor-list-focus-ring,#476cff);outline-offset:-2px}.c15t-dark .c15t-ui-item-Jb5Ct:not(.headless):has(.c15t-ui-trigger-HN0JL:focus-visible){outline-color:var(--vendor-list-focus-ring-dark,#2547d0)}.c15t-ui-header-Vio14:not(.headless){align-items:center;gap:var(--vendor-list-header-gap,var(--c15t-space-xs));box-sizing:border-box;width:100%;padding:var(--vendor-list-padding,var(--c15t-space-sm));border-radius:var(--vendor-list-radius,var(--c15t-radius-md));color:var(--vendor-list-text-color,var(--c15t-text));transition:background-color var(--vendor-list-duration,var(--c15t-duration-normal)) var(--vendor-list-ease,var(--c15t-easing));grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.c15t-ui-header-Vio14:not(.headless):hover{background-color:var(--vendor-list-background-hover,var(--c15t-surface-hover))}.c15t-dark .c15t-ui-header-Vio14:not(.headless){color:var(--vendor-list-text-color-dark,var(--c15t-text))}.c15t-dark .c15t-ui-header-Vio14:not(.headless):hover{background-color:var(--vendor-list-background-hover-dark,var(--c15t-surface-hover))}.c15t-ui-trigger-HN0JL:not(.headless){appearance:none;align-items:center;gap:var(--vendor-list-header-gap,var(--c15t-space-xs));min-width:0;min-height:calc(var(--vendor-list-icon-size,1.25rem) + .25rem);color:inherit;font:inherit;font-size:var(--vendor-list-name-size,var(--c15t-font-size-sm));line-height:var(--c15t-line-height-tight);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;margin:0;padding:0;display:flex}.c15t-ui-trigger-HN0JL:not(.headless):focus-visible{outline:none}.c15t-ui-trigger-HN0JL:not(.headless)[data-disabled]{cursor:default}.c15t-ui-trigger-HN0JL:not(.headless)[data-disabled] .c15t-ui-arrow-HpqoR{visibility:hidden}.c15t-ui-arrow-HpqoR:not(.headless){width:var(--vendor-list-icon-size,1.25rem);height:var(--vendor-list-icon-size,1.25rem);color:var(--vendor-list-arrow-color,#a3a3a3);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.c15t-ui-arrow-HpqoR:not(.headless) svg{width:100%;height:100%;display:block}.c15t-dark .c15t-ui-arrow-HpqoR:not(.headless){color:var(--vendor-list-arrow-color-dark,#ccc)}.c15t-ui-name-Kbv0c:not(.headless){min-width:0;font:inherit;font-weight:var(--c15t-font-weight-regular);color:inherit;margin:0}.c15t-ui-control-P3ju9:not(.headless){flex-shrink:0;align-self:center;position:relative;top:-1px}.c15t-ui-content-H0win:not(.headless){transition:grid-template-rows var(--vendor-list-duration,var(--c15t-duration-normal)) var(--vendor-list-ease,var(--c15t-easing));grid-template-rows:0fr;display:grid;overflow:hidden}.c15t-ui-content-H0win:not(.headless)[data-state=open]{grid-template-rows:1fr}.c15t-ui-content-H0win:not(.headless)[data-state=closed]{pointer-events:none}.c15t-ui-contentInner-yL4RA:not(.headless){padding:0 var(--vendor-list-padding,var(--c15t-space-sm)) var(--vendor-list-padding,var(--c15t-space-sm));gap:.25rem;padding-inline-start:calc(var(--vendor-list-padding,var(--c15t-space-sm)) + var(--vendor-list-icon-size,1.25rem) + var(--vendor-list-header-gap,var(--c15t-space-xs)));display:grid}.c15t-ui-description-TnQZJ:not(.headless){font-size:var(--c15t-font-size-sm);line-height:var(--c15t-line-height-normal);color:var(--vendor-list-description-color,var(--c15t-text-muted));margin:0}.c15t-ui-link-OXzlg:not(.headless){font-size:var(--c15t-font-size-sm);line-height:var(--c15t-line-height-normal);color:var(--vendor-list-link-color,var(--c15t-primary));text-underline-offset:.15em;justify-self:start;text-decoration:underline}.c15t-ui-link-OXzlg:not(.headless):focus-visible{outline:2px solid var(--vendor-list-focus-ring,#476cff);outline-offset:2px;border-radius:var(--c15t-radius-sm)}@media (prefers-reduced-motion:reduce){:is(.c15t-ui-content-H0win:not(.headless),.c15t-ui-header-Vio14:not(.headless)){transition:none}}
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{jsx as t}from"react/jsx-runtime";import{Suspense as r,lazy as e,useSyncExternalStore as a}from"react";let n=n=>{let o,l={status:"pending"},u=l,c=new Set,s=()=>u,i=()=>l,d=()=>o??=(async()=>{try{let t=await n();return u={module:t,status:"ready"},t}catch(t){throw u={error:t,status:"error"},t}})(),f=!1,h=()=>{f||(f=!0,queueMicrotask(()=>{for(let t of(f=!1,u={...u},c))t()}))},m=t=>(c.add(t),()=>{c.delete(t)});return{component(n){let o=e(()=>{let t=(async()=>({default:n(await d())}))();return t.then(h,h),t});return function(e){let n=a(m,s,i);if("error"===n.status)throw n.error;return t(r,{fallback:null,children:t(o,{...e})})}},async preload(){try{await d()}catch{}}}};export{n as createDeferredModule};
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- let e="3.0.0-alpha.0";export{e as version};
1
+ let e="3.0.0-alpha.2";export{e as version};
@@ -1,4 +1,4 @@
1
- import type { ConsentDialogCompoundComponent } from './components/panel';
2
- import type { ConsentWidgetCompoundComponent } from './components/preferences';
1
+ import type { ConsentDialogCompoundComponent } from './components/panel/index.js';
2
+ import type { ConsentWidgetCompoundComponent } from './components/preferences/index.js';
3
3
  export declare const ConsentDialog: ConsentDialogCompoundComponent;
4
4
  export declare const ConsentWidget: ConsentWidgetCompoundComponent;
@@ -12,7 +12,7 @@ export declare const useHeadlessIABConsentUI: () => {
12
12
  isReady: boolean;
13
13
  scrollLock: boolean | undefined;
14
14
  };
15
- iab: import("../iab-context").ReactIABState | null;
15
+ iab: import("../iab-context.js").ReactIABState | null;
16
16
  openDialog: (options?: {
17
17
  tab?: 'purposes' | 'vendors';
18
18
  }) => void;
@@ -10,6 +10,7 @@ export declare const useConsentManager: () => {
10
10
  effectivePermissions: Readonly<ConsentState>;
11
11
  explicitChoice: Readonly<import("@c15t/core").ExplicitChoice> | null;
12
12
  getDisplayedConsents: () => ConsentType[];
13
+ getDisplayedVendors: (category: AllConsentNames) => import("@c15t/core").ResolvedVendor[];
13
14
  has: (condition: HasCondition<AllConsentNames>) => boolean;
14
15
  iab: Readonly<import("@c15t/core").KernelIABState> | null;
15
16
  manager: null;
@@ -31,10 +32,14 @@ export declare const useConsentManager: () => {
31
32
  }) => Promise<void>;
32
33
  selectedConsentTypes: Readonly<ConsentState>;
33
34
  selectedConsents: Readonly<ConsentState>;
35
+ selectedVendors: Readonly<Record<string, boolean>>;
34
36
  setActiveUI: (ui: ActiveUI) => void;
35
37
  setSelectedConsent: (name: AllConsentNames, value: boolean) => void;
38
+ setSelectedVendor: (vendorId: string, granted: boolean) => void;
36
39
  subscribeToConsentChanges: (listener: (state: ConsentState) => void) => () => void;
37
40
  translationConfig: TranslationConfig;
38
- updateConsentCategories: (_names: AllConsentNames[]) => void;
41
+ updateConsentCategories: (categories: readonly AllConsentNames[]) => void;
42
+ vendorChoice: Readonly<import("@c15t/core").VendorChoice> | null;
43
+ vendors: readonly import("@c15t/core").ResolvedVendor[];
39
44
  };
40
45
  export {};
@@ -0,0 +1,11 @@
1
+ import type { AllConsentNames } from '@c15t/core';
2
+ import type { BoxProps } from '../shared/primitives/box.js';
3
+ import type { ConsentButtonProps } from '../shared/primitives/button.types.js';
4
+ declare const ConsentGateRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const ConsentGateTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & {
6
+ category?: AllConsentNames;
7
+ } & import("react").RefAttributes<HTMLDivElement>>;
8
+ declare const ConsentGateButton: import("react").ForwardRefExoticComponent<Omit<ConsentButtonProps, "slotKey"> & {
9
+ category: AllConsentNames;
10
+ } & import("react").RefAttributes<HTMLButtonElement>>;
11
+ export { ConsentGateButton, ConsentGateRoot, ConsentGateTitle };
@@ -0,0 +1,2 @@
1
+ import type { ConsentGateProps } from './types.js';
2
+ export declare const ConsentGate: import("react").ForwardRefExoticComponent<Omit<ConsentGateProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,41 @@
1
+ import * as atoms from './atoms.js';
2
+ import type { ConsentGateCompoundComponent, ConsentGateProps } from './types.js';
3
+ /**
4
+ * Renders its children only while a consent category is allowed
5
+ *
6
+ * @remarks
7
+ * Acts as a consent boundary for embedded content (iframes, videos, third-party widgets).
8
+ * Conditionally renders children based on user consent, displaying a placeholder when
9
+ * permission is not granted.
10
+ * Supports custom styling via `theme` or complete style override with `noStyle` as well as a custom placeholder.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <ConsentGate category="marketing">
15
+ * <iframe src="https://www.youtube.com/embed/MtN1YnoL46Q?si=JYIFKdENwls43H-r" />
16
+ * </ConsentGate>
17
+ * ```
18
+ *
19
+ * @see {@link AllConsentNames} for consent categories
20
+ */
21
+ declare const ConsentGate: ConsentGateCompoundComponent;
22
+ /**
23
+ * @deprecated Renamed to {@link ConsentGate}. `Frame` will be removed in a
24
+ * future major release.
25
+ */
26
+ declare const Frame: ConsentGateCompoundComponent;
27
+ /** @deprecated Renamed to {@link ConsentGateProps}. */
28
+ type FrameProps = ConsentGateProps;
29
+ /** @deprecated Renamed to {@link ConsentGateCompoundComponent}. */
30
+ type FrameCompoundComponent = ConsentGateCompoundComponent;
31
+ /** @deprecated Renamed to `ConsentGateRoot`. */
32
+ declare const FrameRoot: typeof atoms.ConsentGateRoot;
33
+ /** @deprecated Renamed to `ConsentGateTitle`. */
34
+ declare const FrameTitle: typeof atoms.ConsentGateTitle;
35
+ /** @deprecated Renamed to `ConsentGateButton`. */
36
+ declare const FrameButton: typeof atoms.ConsentGateButton;
37
+ export { ConsentGateButton, ConsentGateRoot, ConsentGateTitle } from './atoms.js';
38
+ export type { ConsentGateCompoundComponent, ConsentGateProps } from './types.js';
39
+ export { ConsentGate };
40
+ export type { FrameCompoundComponent, FrameProps };
41
+ export { Frame, FrameButton, FrameRoot, FrameTitle };
@@ -1,8 +1,8 @@
1
1
  import type { AllConsentNames } from '@c15t/core';
2
2
  import type { ComponentPropsWithRef, FC, ReactNode } from 'react';
3
- import type { Theme } from '../../types/theme';
4
- import type * as Atom from './atoms';
5
- export interface FrameProps extends ComponentPropsWithRef<'div'> {
3
+ import type { Theme } from '../../types/theme/index.js';
4
+ import type * as Atom from './atoms.js';
5
+ export interface ConsentGateProps extends ComponentPropsWithRef<'div'> {
6
6
  /**
7
7
  * Content rendered when consent is granted. Children are not mounted until
8
8
  * consent is given, preventing unnecessary network requests.
@@ -30,8 +30,8 @@ export interface FrameProps extends ComponentPropsWithRef<'div'> {
30
30
  */
31
31
  theme?: Theme;
32
32
  }
33
- export interface FrameCompoundComponent extends FC<FrameProps> {
34
- Root: typeof Atom.FrameRoot;
35
- Title: typeof Atom.FrameTitle;
36
- Button: typeof Atom.FrameButton;
33
+ export interface ConsentGateCompoundComponent extends FC<ConsentGateProps> {
34
+ Root: typeof Atom.ConsentGateRoot;
35
+ Title: typeof Atom.ConsentGateTitle;
36
+ Button: typeof Atom.ConsentGateButton;
37
37
  }
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ConsentButtonProps } from '../shared/primitives/button.types';
2
+ import type { ConsentButtonProps } from '../shared/primitives/button.types.js';
3
3
  /**
4
4
  * Inline trigger for opening the consent dialog from places like site footers.
5
5
  *
@@ -1 +1 @@
1
- export { ConsentDialogLink, type ConsentDialogLinkProps, } from './consent-preferences-link';
1
+ export { ConsentDialogLink, type ConsentDialogLinkProps, } from './consent-preferences-link.js';
@@ -1,5 +1,5 @@
1
1
  import type { FC } from 'react';
2
- import type { ProcessedPurpose, VendorId } from '../types';
2
+ import type { ProcessedPurpose, VendorId } from '../types.js';
3
3
  interface PurposeItemProps {
4
4
  purpose: ProcessedPurpose;
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import type { FC } from 'react';
2
- import type { ProcessedStack, VendorId } from '../types';
2
+ import type { ProcessedStack, VendorId } from '../types.js';
3
3
  interface StackItemProps {
4
4
  stack: ProcessedStack;
5
5
  consents: Record<number, boolean>;
@@ -1,6 +1,6 @@
1
1
  import type { GlobalVendorList } from '@c15t/core';
2
2
  import type { FC } from 'react';
3
- import type { ProcessedPurpose, VendorId } from '../types';
3
+ import type { ProcessedPurpose, VendorId } from '../types.js';
4
4
  interface CustomVendor {
5
5
  id: string | number;
6
6
  name: string;
@@ -1,6 +1,6 @@
1
1
  import type * as C15tCoreTypes from '@c15t/core';
2
2
  import type { FC } from 'react';
3
- import type { ConsentDialogTriggerProps } from '../panel-trigger';
3
+ import type { ConsentDialogTriggerProps } from '../panel-trigger/index.js';
4
4
  /**
5
5
  * Props for the IABConsentDialog component.
6
6
  * @public
@@ -7,17 +7,17 @@
7
7
  * of the consent dialog's parts.
8
8
  */
9
9
  import type { FC } from 'react';
10
- import { IABConsentDialogCard } from './atoms/card';
11
- import { IABConsentDialogContent } from './atoms/content';
12
- import { IABConsentDialogFooter } from './atoms/footer';
13
- import { IABConsentDialogHeader } from './atoms/header';
14
- import { IABConsentDialogOverlay } from './atoms/overlay';
15
- import { PurposeItem } from './atoms/purpose-item';
16
- import { IABConsentDialogRoot } from './atoms/root';
17
- import { StackItem } from './atoms/stack-item';
18
- import { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
19
- import { VendorList } from './atoms/vendor-list';
20
- import type { IABConsentDialogProps } from './iab-panel';
10
+ import { IABConsentDialogCard } from './atoms/card.js';
11
+ import { IABConsentDialogContent } from './atoms/content.js';
12
+ import { IABConsentDialogFooter } from './atoms/footer.js';
13
+ import { IABConsentDialogHeader } from './atoms/header.js';
14
+ import { IABConsentDialogOverlay } from './atoms/overlay.js';
15
+ import { PurposeItem } from './atoms/purpose-item.js';
16
+ import { IABConsentDialogRoot } from './atoms/root.js';
17
+ import { StackItem } from './atoms/stack-item.js';
18
+ import { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs.js';
19
+ import { VendorList } from './atoms/vendor-list.js';
20
+ import type { IABConsentDialogProps } from './iab-panel.js';
21
21
  /**
22
22
  * This interface extends the base IABConsentDialog component with additional sub-components
23
23
  * that can be used to compose the consent dialog's structure.
@@ -76,17 +76,17 @@ export interface IABConsentDialogCompoundComponent extends FC<IABConsentDialogPr
76
76
  */
77
77
  declare const IABConsentDialog: IABConsentDialogCompoundComponent;
78
78
  export default IABConsentDialog;
79
- export { IABConsentDialogCard } from './atoms/card';
80
- export { IABConsentDialogContent } from './atoms/content';
81
- export { IABConsentDialogFooter } from './atoms/footer';
82
- export { IABConsentDialogHeader } from './atoms/header';
83
- export { IABConsentDialogOverlay } from './atoms/overlay';
84
- export { PurposeItem } from './atoms/purpose-item';
85
- export { IABConsentDialogRoot } from './atoms/root';
86
- export { StackItem } from './atoms/stack-item';
87
- export { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
88
- export { VendorList } from './atoms/vendor-list';
89
- export { type IABDisplayModel, useIABDisplayModel, } from './hooks/use-display-model';
90
- export { type GVLData, useGVLData } from './hooks/use-gvl-data';
91
- export type { ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack, ProcessedVendor, } from './types';
79
+ export { IABConsentDialogCard } from './atoms/card.js';
80
+ export { IABConsentDialogContent } from './atoms/content.js';
81
+ export { IABConsentDialogFooter } from './atoms/footer.js';
82
+ export { IABConsentDialogHeader } from './atoms/header.js';
83
+ export { IABConsentDialogOverlay } from './atoms/overlay.js';
84
+ export { PurposeItem } from './atoms/purpose-item.js';
85
+ export { IABConsentDialogRoot } from './atoms/root.js';
86
+ export { StackItem } from './atoms/stack-item.js';
87
+ export { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs.js';
88
+ export { VendorList } from './atoms/vendor-list.js';
89
+ export { type IABDisplayModel, useIABDisplayModel, } from './hooks/use-display-model.js';
90
+ export { type GVLData, useGVLData } from './hooks/use-gvl-data.js';
91
+ export type { ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack, ProcessedVendor, } from './types.js';
92
92
  export { IABConsentDialog, type IABConsentDialogProps };
@@ -7,15 +7,15 @@
7
7
  * of the banner's parts.
8
8
  */
9
9
  import type { FC } from 'react';
10
- import { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer } from './atoms/button-group';
11
- import { IABConsentBannerCard } from './atoms/card';
12
- import { IABConsentBannerDescription } from './atoms/description';
13
- import { IABConsentBannerFooter } from './atoms/footer';
14
- import { IABConsentBannerHeader } from './atoms/header';
15
- import { IABConsentBannerOverlay } from './atoms/overlay';
16
- import { IABConsentBannerRoot } from './atoms/root';
17
- import { IABConsentBannerTitle } from './atoms/title';
18
- import type { IABConsentBannerProps } from './iab-prompt';
10
+ import { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer } from './atoms/button-group.js';
11
+ import { IABConsentBannerCard } from './atoms/card.js';
12
+ import { IABConsentBannerDescription } from './atoms/description.js';
13
+ import { IABConsentBannerFooter } from './atoms/footer.js';
14
+ import { IABConsentBannerHeader } from './atoms/header.js';
15
+ import { IABConsentBannerOverlay } from './atoms/overlay.js';
16
+ import { IABConsentBannerRoot } from './atoms/root.js';
17
+ import { IABConsentBannerTitle } from './atoms/title.js';
18
+ import type { IABConsentBannerProps } from './iab-prompt.js';
19
19
  /**
20
20
  * This interface extends the base IABConsentBanner component with additional sub-components
21
21
  * that can be used to compose the banner's structure.
@@ -76,12 +76,12 @@ export interface IABConsentBannerCompoundComponent extends FC<IABConsentBannerPr
76
76
  */
77
77
  declare const IABConsentBanner: IABConsentBannerCompoundComponent;
78
78
  export default IABConsentBanner;
79
- export { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer, } from './atoms/button-group';
80
- export { IABConsentBannerCard } from './atoms/card';
81
- export { IABConsentBannerDescription } from './atoms/description';
82
- export { IABConsentBannerFooter } from './atoms/footer';
83
- export { IABConsentBannerHeader } from './atoms/header';
84
- export { IABConsentBannerOverlay } from './atoms/overlay';
85
- export { IABConsentBannerRoot } from './atoms/root';
86
- export { IABConsentBannerTitle } from './atoms/title';
79
+ export { IABConsentBannerButtonGroup, IABConsentBannerFooterSpacer, } from './atoms/button-group.js';
80
+ export { IABConsentBannerCard } from './atoms/card.js';
81
+ export { IABConsentBannerDescription } from './atoms/description.js';
82
+ export { IABConsentBannerFooter } from './atoms/footer.js';
83
+ export { IABConsentBannerHeader } from './atoms/header.js';
84
+ export { IABConsentBannerOverlay } from './atoms/overlay.js';
85
+ export { IABConsentBannerRoot } from './atoms/root.js';
86
+ export { IABConsentBannerTitle } from './atoms/title.js';
87
87
  export { IABConsentBanner, type IABConsentBannerProps };
@@ -1,8 +1,8 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { BoxProps } from '../../shared/primitives/box';
3
- import type { InlineLegalLinksProps } from '../../shared/primitives/legal-links';
4
- import type { BrandingSlotContext, BrandingVariant } from '../../shared/ui/branding';
5
- import type { ClassNameStyle } from '../../../types/theme';
2
+ import type { BoxProps } from '../../shared/primitives/box.js';
3
+ import type { InlineLegalLinksProps } from '../../shared/primitives/legal-links/index.js';
4
+ import type { BrandingSlotContext, BrandingVariant } from '../../shared/ui/branding.js';
5
+ import type { ClassNameStyle } from '../../../types/theme/index.js';
6
6
  declare const ConsentDialogCard: import("react").ForwardRefExoticComponent<{
7
7
  /** The content to be rendered inside the consent dialog card */
8
8
  children?: ReactNode;
@@ -4,7 +4,7 @@
4
4
  * Implements accessible modal behavior with animation support.
5
5
  */
6
6
  import type { FC, PropsWithChildren } from 'react';
7
- import type { ThemeValue } from '../../../types/theme';
7
+ import type { ThemeValue } from '../../../types/theme/index.js';
8
8
  /**
9
9
  * Props for the Overlay component.
10
10
  *