@c15t/react 2.0.0-rc.0 → 2.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/README.md +12 -3
  2. package/client/components/consent-banner.js +4 -0
  3. package/client/components/consent-dialog-link.js +3 -0
  4. package/client/components/consent-dialog-trigger.js +3 -0
  5. package/client/components/consent-dialog.js +4 -0
  6. package/client/components/consent-widget.js +4 -0
  7. package/client/components/frame.js +3 -0
  8. package/dist/components/consent-banner/atoms/overlay.cjs +1 -1
  9. package/dist/components/consent-banner/atoms/overlay.js +1 -1
  10. package/dist/components/consent-banner/atoms/root.cjs +1 -1
  11. package/dist/components/consent-banner/atoms/root.js +1 -1
  12. package/dist/components/consent-banner/components.cjs +1 -1
  13. package/dist/components/consent-banner/components.js +1 -1
  14. package/dist/components/consent-banner/consent-banner.cjs +1 -1
  15. package/dist/components/consent-banner/consent-banner.js +1 -1
  16. package/dist/components/consent-banner/error-boundary.cjs +1 -1
  17. package/dist/components/consent-banner/index.cjs +1 -1
  18. package/dist/components/consent-banner/index.js +1 -1
  19. package/dist/components/consent-banner/policy-actions.cjs +1 -0
  20. package/dist/components/consent-banner/policy-actions.js +1 -0
  21. package/dist/components/consent-dialog/atoms/card.cjs +1 -1
  22. package/dist/components/consent-dialog/atoms/card.js +1 -1
  23. package/dist/components/consent-dialog/atoms/overlay.cjs +1 -1
  24. package/dist/components/consent-dialog/atoms/overlay.js +1 -1
  25. package/dist/components/consent-dialog/atoms/root.cjs +1 -1
  26. package/dist/components/consent-dialog/atoms/root.js +1 -1
  27. package/dist/components/consent-dialog/consent-dialog.cjs +1 -1
  28. package/dist/components/consent-dialog/consent-dialog.js +1 -1
  29. package/dist/components/consent-dialog/index.cjs +1 -1
  30. package/dist/components/consent-dialog/index.js +1 -1
  31. package/dist/components/consent-dialog-link/index.cjs +1 -0
  32. package/dist/components/consent-dialog-link/index.js +1 -0
  33. package/dist/components/consent-dialog-trigger/atoms/button.cjs +1 -1
  34. package/dist/components/consent-dialog-trigger/atoms/button.js +1 -1
  35. package/dist/components/consent-dialog-trigger/atoms/icon.cjs +1 -1
  36. package/dist/components/consent-dialog-trigger/atoms/icon.js +1 -1
  37. package/dist/components/consent-dialog-trigger/atoms/root.cjs +1 -1
  38. package/dist/components/consent-dialog-trigger/atoms/root.js +1 -1
  39. package/dist/components/consent-dialog-trigger/atoms/text.cjs +1 -1
  40. package/dist/components/consent-dialog-trigger/atoms/text.js +1 -1
  41. package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +1 -1
  42. package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +1 -1
  43. package/dist/components/consent-dialog-trigger/index.cjs +1 -1
  44. package/dist/components/consent-dialog-trigger/index.js +1 -1
  45. package/dist/components/consent-dialog-trigger/types.cjs +1 -1
  46. package/dist/components/consent-dialog-trigger/use-draggable.cjs +1 -1
  47. package/dist/components/consent-dialog-trigger/use-draggable.js +1 -1
  48. package/dist/components/consent-preferences-link/consent-preferences-link.cjs +1 -0
  49. package/dist/components/consent-preferences-link/consent-preferences-link.js +1 -0
  50. package/dist/components/consent-preferences-link/index.cjs +1 -0
  51. package/dist/components/consent-preferences-link/index.js +1 -0
  52. package/dist/components/consent-widget/atoms/accordion.cjs +1 -1
  53. package/dist/components/consent-widget/atoms/accordion.js +1 -1
  54. package/dist/components/consent-widget/atoms/button.cjs +1 -1
  55. package/dist/components/consent-widget/atoms/button.js +1 -1
  56. package/dist/components/consent-widget/atoms/footer.cjs +1 -1
  57. package/dist/components/consent-widget/atoms/footer.js +1 -1
  58. package/dist/components/consent-widget/atoms/root.cjs +1 -1
  59. package/dist/components/consent-widget/atoms/root.js +1 -1
  60. package/dist/components/consent-widget/consent-widget.cjs +1 -1
  61. package/dist/components/consent-widget/consent-widget.js +1 -1
  62. package/dist/components/consent-widget/index.cjs +1 -1
  63. package/dist/components/consent-widget/index.js +1 -1
  64. package/dist/components/consent-widget/policy-actions.cjs +1 -0
  65. package/dist/components/consent-widget/policy-actions.js +1 -0
  66. package/dist/components/consent-widget/types.cjs +1 -1
  67. package/dist/components/frame/atoms.cjs +1 -1
  68. package/dist/components/frame/atoms.js +1 -1
  69. package/dist/components/frame/frame.cjs +1 -1
  70. package/dist/components/frame/frame.js +1 -1
  71. package/dist/components/frame/index.cjs +1 -1
  72. package/dist/components/frame/index.js +1 -1
  73. package/dist/components/frame/types.cjs +1 -1
  74. package/dist/components/iab-consent-banner/atoms/button-group.cjs +1 -1
  75. package/dist/components/iab-consent-banner/atoms/button-group.js +1 -1
  76. package/dist/components/iab-consent-banner/atoms/card.cjs +1 -1
  77. package/dist/components/iab-consent-banner/atoms/card.js +1 -1
  78. package/dist/components/iab-consent-banner/atoms/description.cjs +1 -1
  79. package/dist/components/iab-consent-banner/atoms/description.js +1 -1
  80. package/dist/components/iab-consent-banner/atoms/footer.cjs +1 -1
  81. package/dist/components/iab-consent-banner/atoms/footer.js +1 -1
  82. package/dist/components/iab-consent-banner/atoms/header.cjs +1 -1
  83. package/dist/components/iab-consent-banner/atoms/header.js +1 -1
  84. package/dist/components/iab-consent-banner/atoms/overlay.cjs +1 -1
  85. package/dist/components/iab-consent-banner/atoms/overlay.js +1 -1
  86. package/dist/components/iab-consent-banner/atoms/root.cjs +1 -1
  87. package/dist/components/iab-consent-banner/atoms/root.js +1 -1
  88. package/dist/components/iab-consent-banner/atoms/title.cjs +1 -1
  89. package/dist/components/iab-consent-banner/atoms/title.js +1 -1
  90. package/dist/components/iab-consent-banner/iab-consent-banner.cjs +1 -1
  91. package/dist/components/iab-consent-banner/iab-consent-banner.js +1 -1
  92. package/dist/components/iab-consent-banner/index.cjs +1 -1
  93. package/dist/components/iab-consent-banner/index.js +1 -1
  94. package/dist/components/iab-consent-dialog/atoms/card.cjs +1 -1
  95. package/dist/components/iab-consent-dialog/atoms/card.js +1 -1
  96. package/dist/components/iab-consent-dialog/atoms/content.cjs +1 -1
  97. package/dist/components/iab-consent-dialog/atoms/content.js +1 -1
  98. package/dist/components/iab-consent-dialog/atoms/footer.cjs +1 -1
  99. package/dist/components/iab-consent-dialog/atoms/footer.js +1 -1
  100. package/dist/components/iab-consent-dialog/atoms/header.cjs +1 -1
  101. package/dist/components/iab-consent-dialog/atoms/header.js +1 -1
  102. package/dist/components/iab-consent-dialog/atoms/overlay.cjs +1 -1
  103. package/dist/components/iab-consent-dialog/atoms/overlay.js +1 -1
  104. package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +1 -1
  105. package/dist/components/iab-consent-dialog/atoms/purpose-item.js +1 -1
  106. package/dist/components/iab-consent-dialog/atoms/root.cjs +1 -1
  107. package/dist/components/iab-consent-dialog/atoms/root.js +1 -1
  108. package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +1 -1
  109. package/dist/components/iab-consent-dialog/atoms/stack-item.js +1 -1
  110. package/dist/components/iab-consent-dialog/atoms/tabs.cjs +1 -1
  111. package/dist/components/iab-consent-dialog/atoms/tabs.js +1 -1
  112. package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +1 -1
  113. package/dist/components/iab-consent-dialog/atoms/vendor-list.js +1 -1
  114. package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +1 -1
  115. package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +1 -1
  116. package/dist/components/iab-consent-dialog/iab-consent-dialog.js +1 -1
  117. package/dist/components/iab-consent-dialog/index.cjs +1 -1
  118. package/dist/components/iab-consent-dialog/index.js +1 -1
  119. package/dist/components/iab-consent-dialog/types.cjs +1 -1
  120. package/dist/components/iab-consent-dialog/use-iab-translations.cjs +1 -1
  121. package/dist/components/shared/libs/polymorphic.cjs +1 -1
  122. package/dist/components/shared/libs/recursive-clone-children.cjs +1 -1
  123. package/dist/components/shared/libs/slot.cjs +1 -0
  124. package/dist/components/shared/libs/slot.js +1 -0
  125. package/dist/components/shared/libs/use-controllable-state.cjs +1 -0
  126. package/dist/components/shared/libs/use-controllable-state.js +1 -0
  127. package/dist/components/shared/policy-actions.cjs +1 -0
  128. package/dist/components/shared/policy-actions.js +1 -0
  129. package/dist/components/shared/primitives/box.cjs +1 -1
  130. package/dist/components/shared/primitives/box.js +1 -1
  131. package/dist/components/shared/primitives/button.cjs +1 -1
  132. package/dist/components/shared/primitives/button.js +1 -1
  133. package/dist/components/shared/primitives/button.types.cjs +1 -1
  134. package/dist/components/shared/primitives/legal-links/index.cjs +1 -1
  135. package/dist/components/shared/primitives/legal-links/index.js +1 -1
  136. package/dist/components/shared/ui/accordion/accordion.cjs +1 -1
  137. package/dist/components/shared/ui/accordion/accordion.js +1 -1
  138. package/dist/components/shared/ui/accordion/accordion.types.cjs +1 -1
  139. package/dist/components/shared/ui/accordion/index.cjs +1 -1
  140. package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +1 -1
  141. package/dist/components/shared/ui/animated-collapse/index.cjs +1 -1
  142. package/dist/components/shared/ui/animated-collapse/index.js +1 -1
  143. package/dist/components/shared/ui/branding.cjs +1 -0
  144. package/dist/components/shared/ui/branding.js +1 -0
  145. package/dist/components/shared/ui/button/button.cjs +1 -1
  146. package/dist/components/shared/ui/button/button.js +1 -1
  147. package/dist/components/shared/ui/button/button.types.cjs +1 -1
  148. package/dist/components/shared/ui/button/index.cjs +1 -1
  149. package/dist/components/shared/ui/collapsible/collapsible.cjs +1 -0
  150. package/dist/components/shared/ui/collapsible/collapsible.js +1 -0
  151. package/dist/components/shared/ui/collapsible/index.cjs +1 -0
  152. package/dist/components/shared/ui/collapsible/index.js +1 -0
  153. package/dist/components/shared/ui/dialog/dialog.cjs +1 -0
  154. package/dist/components/shared/ui/dialog/dialog.js +1 -0
  155. package/dist/components/shared/ui/dialog/index.cjs +1 -0
  156. package/dist/components/shared/ui/dialog/index.js +1 -0
  157. package/dist/components/shared/ui/icon.cjs +1 -1
  158. package/dist/components/shared/ui/logo.cjs +1 -1
  159. package/dist/components/shared/ui/logo.js +1 -1
  160. package/dist/components/shared/ui/preference-item/index.cjs +1 -0
  161. package/dist/components/shared/ui/preference-item/index.js +1 -0
  162. package/dist/components/shared/ui/preference-item/preference-item.cjs +1 -0
  163. package/dist/components/shared/ui/preference-item/preference-item.js +1 -0
  164. package/dist/components/shared/ui/switch/index.cjs +1 -1
  165. package/dist/components/shared/ui/switch/index.js +1 -1
  166. package/dist/components/shared/ui/switch/switch.cjs +1 -1
  167. package/dist/components/shared/ui/switch/switch.js +1 -1
  168. package/dist/components/shared/ui/switch/switch.types.cjs +1 -1
  169. package/dist/components/shared/ui/tabs/index.cjs +1 -0
  170. package/dist/components/shared/ui/tabs/index.js +1 -0
  171. package/dist/components/shared/ui/tabs/tabs.cjs +1 -0
  172. package/dist/components/shared/ui/tabs/tabs.js +1 -0
  173. package/dist/context/consent-manager-context.cjs +1 -1
  174. package/dist/context/consent-tracking-context.cjs +1 -1
  175. package/dist/context/theme-context.cjs +1 -1
  176. package/dist/headless.cjs +1 -1
  177. package/dist/headless.js +1 -1
  178. package/dist/hooks/index.cjs +1 -1
  179. package/dist/hooks/index.js +1 -1
  180. package/dist/hooks/use-color-scheme.cjs +1 -1
  181. package/dist/hooks/use-component-config.cjs +1 -1
  182. package/dist/hooks/use-consent-dialog-trigger.cjs +1 -0
  183. package/dist/hooks/use-consent-dialog-trigger.js +1 -0
  184. package/dist/hooks/use-consent-manager.cjs +1 -1
  185. package/dist/hooks/use-consent-manager.js +1 -1
  186. package/dist/hooks/use-focus-trap.cjs +1 -1
  187. package/dist/hooks/use-focus-trap.js +1 -1
  188. package/dist/hooks/use-headless-consent-ui.cjs +1 -0
  189. package/dist/hooks/use-headless-consent-ui.js +1 -0
  190. package/dist/hooks/use-headless-iab-consent-ui.cjs +1 -0
  191. package/dist/hooks/use-headless-iab-consent-ui.js +1 -0
  192. package/dist/hooks/use-reduced-motion.cjs +1 -1
  193. package/dist/hooks/use-reduced-motion.js +1 -1
  194. package/dist/hooks/use-scroll-lock.cjs +1 -1
  195. package/dist/hooks/use-scroll-lock.js +1 -1
  196. package/dist/hooks/use-ssr-status.cjs +1 -1
  197. package/dist/hooks/use-styles.cjs +1 -1
  198. package/dist/hooks/use-text-direction.cjs +1 -1
  199. package/dist/hooks/use-theme.cjs +1 -1
  200. package/dist/hooks/use-theme.js +1 -1
  201. package/dist/hooks/use-translations.cjs +1 -1
  202. package/dist/iab/styles.css +11 -0
  203. package/dist/iab/styles.tw3.css +14 -0
  204. package/dist/iab.cjs +1 -0
  205. package/dist/iab.js +1 -0
  206. package/dist/index.cjs +1 -1
  207. package/dist/index.js +1 -1
  208. package/dist/primitives/accordion.cjs +1 -0
  209. package/dist/primitives/accordion.js +1 -0
  210. package/dist/primitives/button.cjs +1 -0
  211. package/dist/primitives/button.js +1 -0
  212. package/dist/primitives/collapsible.cjs +1 -0
  213. package/dist/primitives/collapsible.js +1 -0
  214. package/dist/primitives/dialog.cjs +1 -0
  215. package/dist/primitives/dialog.js +1 -0
  216. package/dist/primitives/preference-item.cjs +1 -0
  217. package/dist/primitives/preference-item.js +1 -0
  218. package/dist/primitives/switch.cjs +1 -0
  219. package/dist/primitives/switch.js +1 -0
  220. package/dist/primitives/tabs.cjs +1 -0
  221. package/dist/primitives/tabs.js +1 -0
  222. package/dist/primitives.cjs +1 -0
  223. package/dist/primitives.js +1 -0
  224. package/dist/providers/consent-manager-provider.cjs +1 -1
  225. package/dist/providers/consent-manager-provider.js +1 -1
  226. package/dist/server/fetch-ssr-data.cjs +1 -1
  227. package/dist/server/fetch-ssr-data.js +1 -1
  228. package/dist/server/headers.cjs +1 -1
  229. package/dist/server/headers.js +1 -1
  230. package/dist/server/index.cjs +1 -1
  231. package/dist/server/index.js +1 -1
  232. package/dist/server/init-cache-key.cjs +1 -0
  233. package/dist/server/init-cache-key.js +1 -0
  234. package/dist/server/normalize-url.cjs +1 -1
  235. package/dist/server/types.cjs +1 -1
  236. package/dist/styles.css +10 -0
  237. package/dist/styles.tw3.css +13 -0
  238. package/dist/types/consent-manager.cjs +1 -1
  239. package/dist/types/theme/index.cjs +1 -1
  240. package/dist/types/theme/style-keys.cjs +1 -1
  241. package/dist/types/theme/style-types.cjs +1 -1
  242. package/dist/utils/cn.cjs +1 -1
  243. package/dist/utils/merge-styles.cjs +1 -1
  244. package/dist/utils/test-helpers.cjs +1 -1
  245. package/dist/utils/test-helpers.js +1 -1
  246. package/dist/utils/theme-utils.cjs +1 -1
  247. package/dist/version.cjs +1 -1
  248. package/dist/version.js +1 -1
  249. package/{dist → dist-types}/components/consent-banner/atoms/overlay.d.ts +1 -2
  250. package/{dist → dist-types}/components/consent-banner/atoms/root.d.ts +44 -14
  251. package/{dist → dist-types}/components/consent-banner/components.d.ts +4 -5
  252. package/{dist → dist-types}/components/consent-banner/consent-banner.d.ts +14 -8
  253. package/{dist → dist-types}/components/consent-banner/error-boundary.d.ts +0 -1
  254. package/{dist → dist-types}/components/consent-banner/index.d.ts +48 -26
  255. package/dist-types/components/consent-banner/policy-actions.d.ts +11 -0
  256. package/{dist → dist-types}/components/consent-dialog/atoms/card.d.ts +14 -8
  257. package/{dist → dist-types}/components/consent-dialog/atoms/overlay.d.ts +1 -2
  258. package/{dist → dist-types}/components/consent-dialog/atoms/root.d.ts +1 -2
  259. package/{dist → dist-types}/components/consent-dialog/consent-dialog.d.ts +2 -3
  260. package/{dist → dist-types}/components/consent-dialog/index.d.ts +31 -10
  261. package/dist-types/components/consent-dialog-link/index.d.ts +1 -0
  262. package/{dist → dist-types}/components/consent-dialog-trigger/atoms/button.d.ts +0 -1
  263. package/{dist → dist-types}/components/consent-dialog-trigger/atoms/icon.d.ts +1 -2
  264. package/{dist → dist-types}/components/consent-dialog-trigger/atoms/root.d.ts +0 -1
  265. package/{dist → dist-types}/components/consent-dialog-trigger/atoms/text.d.ts +0 -1
  266. package/{dist → dist-types}/components/consent-dialog-trigger/consent-dialog-trigger.d.ts +2 -3
  267. package/{dist → dist-types}/components/consent-dialog-trigger/index.d.ts +0 -1
  268. package/{dist → dist-types}/components/consent-dialog-trigger/types.d.ts +2 -3
  269. package/{dist → dist-types}/components/consent-dialog-trigger/use-draggable.d.ts +1 -2
  270. package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +15 -0
  271. package/dist-types/components/consent-preferences-link/index.d.ts +1 -0
  272. package/dist-types/components/consent-widget/atoms/accordion.d.ts +28 -0
  273. package/{dist → dist-types}/components/consent-widget/atoms/button.d.ts +1 -2
  274. package/{dist → dist-types}/components/consent-widget/atoms/footer.d.ts +0 -1
  275. package/{dist → dist-types}/components/consent-widget/atoms/root.d.ts +1 -7
  276. package/{dist → dist-types}/components/consent-widget/consent-widget.d.ts +0 -1
  277. package/{dist → dist-types}/components/consent-widget/index.d.ts +27 -8
  278. package/dist-types/components/consent-widget/policy-actions.d.ts +11 -0
  279. package/{dist → dist-types}/components/consent-widget/types.d.ts +2 -3
  280. package/{dist → dist-types}/components/frame/atoms.d.ts +1 -2
  281. package/{dist → dist-types}/components/frame/frame.d.ts +0 -1
  282. package/{dist → dist-types}/components/frame/index.d.ts +1 -2
  283. package/{dist → dist-types}/components/frame/types.d.ts +0 -1
  284. package/{dist → dist-types}/components/iab-consent-banner/atoms/button-group.d.ts +0 -1
  285. package/{dist → dist-types}/components/iab-consent-banner/atoms/card.d.ts +0 -1
  286. package/{dist → dist-types}/components/iab-consent-banner/atoms/description.d.ts +0 -1
  287. package/{dist → dist-types}/components/iab-consent-banner/atoms/footer.d.ts +0 -1
  288. package/{dist → dist-types}/components/iab-consent-banner/atoms/header.d.ts +0 -1
  289. package/{dist → dist-types}/components/iab-consent-banner/atoms/overlay.d.ts +0 -1
  290. package/{dist → dist-types}/components/iab-consent-banner/atoms/root.d.ts +0 -1
  291. package/{dist → dist-types}/components/iab-consent-banner/atoms/title.d.ts +0 -1
  292. package/{dist → dist-types}/components/iab-consent-banner/iab-consent-banner.d.ts +0 -1
  293. package/{dist → dist-types}/components/iab-consent-banner/index.d.ts +1 -2
  294. package/{dist → dist-types}/components/iab-consent-dialog/atoms/card.d.ts +0 -1
  295. package/{dist → dist-types}/components/iab-consent-dialog/atoms/content.d.ts +0 -1
  296. package/{dist → dist-types}/components/iab-consent-dialog/atoms/footer.d.ts +0 -1
  297. package/{dist → dist-types}/components/iab-consent-dialog/atoms/header.d.ts +0 -1
  298. package/{dist → dist-types}/components/iab-consent-dialog/atoms/overlay.d.ts +0 -1
  299. package/{dist → dist-types}/components/iab-consent-dialog/atoms/purpose-item.d.ts +0 -1
  300. package/{dist → dist-types}/components/iab-consent-dialog/atoms/root.d.ts +0 -1
  301. package/{dist → dist-types}/components/iab-consent-dialog/atoms/stack-item.d.ts +0 -1
  302. package/dist-types/components/iab-consent-dialog/atoms/tabs.d.ts +12 -0
  303. package/{dist → dist-types}/components/iab-consent-dialog/atoms/vendor-list.d.ts +0 -1
  304. package/{dist → dist-types}/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +0 -1
  305. package/{dist → dist-types}/components/iab-consent-dialog/iab-consent-dialog.d.ts +0 -1
  306. package/{dist → dist-types}/components/iab-consent-dialog/index.d.ts +1 -2
  307. package/{dist → dist-types}/components/iab-consent-dialog/types.d.ts +0 -1
  308. package/{dist → dist-types}/components/iab-consent-dialog/use-iab-translations.d.ts +0 -1
  309. package/{dist → dist-types}/components/shared/libs/polymorphic.d.ts +0 -1
  310. package/{dist → dist-types}/components/shared/libs/recursive-clone-children.d.ts +0 -1
  311. package/dist-types/components/shared/libs/slot.d.ts +6 -0
  312. package/dist-types/components/shared/libs/use-controllable-state.d.ts +7 -0
  313. package/dist-types/components/shared/policy-actions.d.ts +29 -0
  314. package/{dist → dist-types}/components/shared/primitives/box.d.ts +0 -1
  315. package/{dist → dist-types}/components/shared/primitives/button.d.ts +4 -1
  316. package/{dist → dist-types}/components/shared/primitives/button.types.d.ts +17 -1
  317. package/{dist → dist-types}/components/shared/primitives/legal-links/index.d.ts +0 -45
  318. package/{dist → dist-types}/components/shared/ui/accordion/accordion.d.ts +32 -68
  319. package/{dist → dist-types}/components/shared/ui/accordion/accordion.types.d.ts +0 -1
  320. package/{dist → dist-types}/components/shared/ui/accordion/index.d.ts +0 -1
  321. package/{dist → dist-types}/components/shared/ui/animated-collapse/animated-collapse.d.ts +0 -1
  322. package/{dist → dist-types}/components/shared/ui/animated-collapse/index.d.ts +0 -1
  323. package/dist-types/components/shared/ui/branding.d.ts +27 -0
  324. package/{dist → dist-types}/components/shared/ui/button/button.d.ts +2 -3
  325. package/{dist → dist-types}/components/shared/ui/button/button.types.d.ts +0 -1
  326. package/{dist → dist-types}/components/shared/ui/button/index.d.ts +0 -1
  327. package/dist-types/components/shared/ui/collapsible/collapsible.d.ts +20 -0
  328. package/dist-types/components/shared/ui/collapsible/index.d.ts +1 -0
  329. package/dist-types/components/shared/ui/dialog/dialog.d.ts +29 -0
  330. package/dist-types/components/shared/ui/dialog/index.d.ts +1 -0
  331. package/{dist → dist-types}/components/shared/ui/icon.d.ts +0 -1
  332. package/{dist → dist-types}/components/shared/ui/logo.d.ts +8 -1
  333. package/dist-types/components/shared/ui/preference-item/index.d.ts +1 -0
  334. package/dist-types/components/shared/ui/preference-item/preference-item.d.ts +33 -0
  335. package/dist-types/components/shared/ui/switch/index.d.ts +2 -0
  336. package/dist-types/components/shared/ui/switch/switch.d.ts +20 -0
  337. package/{dist → dist-types}/components/shared/ui/switch/switch.types.d.ts +0 -1
  338. package/dist-types/components/shared/ui/tabs/index.d.ts +1 -0
  339. package/dist-types/components/shared/ui/tabs/tabs.d.ts +28 -0
  340. package/{dist → dist-types}/context/consent-manager-context.d.ts +0 -1
  341. package/{dist → dist-types}/context/consent-tracking-context.d.ts +0 -1
  342. package/{dist → dist-types}/context/theme-context.d.ts +0 -1
  343. package/dist-types/headless.d.ts +9 -0
  344. package/{dist → dist-types}/hooks/index.d.ts +3 -1
  345. package/{dist → dist-types}/hooks/use-color-scheme.d.ts +0 -1
  346. package/{dist → dist-types}/hooks/use-component-config.d.ts +0 -1
  347. package/dist-types/hooks/use-consent-dialog-trigger.d.ts +10 -0
  348. package/{dist → dist-types}/hooks/use-consent-manager.d.ts +0 -1
  349. package/{dist → dist-types}/hooks/use-focus-trap.d.ts +0 -1
  350. package/dist-types/hooks/use-headless-consent-ui.d.ts +46 -0
  351. package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +41 -0
  352. package/{dist → dist-types}/hooks/use-reduced-motion.d.ts +0 -1
  353. package/{dist → dist-types}/hooks/use-scroll-lock.d.ts +0 -1
  354. package/{dist → dist-types}/hooks/use-ssr-status.d.ts +2 -2
  355. package/{dist → dist-types}/hooks/use-styles.d.ts +0 -1
  356. package/{dist → dist-types}/hooks/use-text-direction.d.ts +0 -1
  357. package/{dist → dist-types}/hooks/use-theme.d.ts +0 -1
  358. package/{dist → dist-types}/hooks/use-translations.d.ts +0 -1
  359. package/dist-types/iab.d.ts +24 -0
  360. package/{dist → dist-types}/index.d.ts +5 -6
  361. package/dist-types/primitives/accordion.d.ts +1 -0
  362. package/dist-types/primitives/button.d.ts +1 -0
  363. package/dist-types/primitives/collapsible.d.ts +1 -0
  364. package/dist-types/primitives/dialog.d.ts +1 -0
  365. package/dist-types/primitives/preference-item.d.ts +1 -0
  366. package/dist-types/primitives/switch.d.ts +1 -0
  367. package/dist-types/primitives/tabs.d.ts +1 -0
  368. package/dist-types/primitives.d.ts +7 -0
  369. package/{dist → dist-types}/providers/consent-manager-provider.d.ts +0 -1
  370. package/{dist → dist-types}/server/fetch-ssr-data.d.ts +0 -1
  371. package/{dist → dist-types}/server/headers.d.ts +2 -2
  372. package/{dist → dist-types}/server/index.d.ts +1 -1
  373. package/dist-types/server/init-cache-key.d.ts +21 -0
  374. package/{dist → dist-types}/server/normalize-url.d.ts +0 -1
  375. package/{dist → dist-types}/server/types.d.ts +0 -1
  376. package/{dist → dist-types}/types/consent-manager.d.ts +7 -1
  377. package/{dist → dist-types}/types/theme/index.d.ts +0 -1
  378. package/{dist → dist-types}/types/theme/style-keys.d.ts +0 -1
  379. package/{dist → dist-types}/types/theme/style-types.d.ts +2 -1
  380. package/{dist → dist-types}/utils/cn.d.ts +0 -1
  381. package/{dist → dist-types}/utils/merge-styles.d.ts +0 -1
  382. package/{dist → dist-types}/utils/test-helpers.d.ts +0 -1
  383. package/{dist → dist-types}/utils/theme-utils.d.ts +1 -2
  384. package/dist-types/version.d.ts +1 -0
  385. package/docs/README.md +76 -0
  386. package/docs/building-headless-components.md +266 -0
  387. package/docs/callbacks.md +184 -0
  388. package/docs/components/consent-banner.md +298 -0
  389. package/docs/components/consent-dialog-link.md +59 -0
  390. package/docs/components/consent-dialog-trigger.md +103 -0
  391. package/docs/components/consent-dialog.md +177 -0
  392. package/docs/components/consent-manager-provider.md +425 -0
  393. package/docs/components/consent-widget.md +160 -0
  394. package/docs/components/dev-tools.md +63 -0
  395. package/docs/components/frame.md +73 -0
  396. package/docs/concepts/client-modes.md +175 -0
  397. package/docs/concepts/consent-categories.md +97 -0
  398. package/docs/concepts/consent-models.md +112 -0
  399. package/docs/concepts/cookie-management.md +122 -0
  400. package/docs/concepts/glossary.md +23 -0
  401. package/docs/concepts/initialization-flow.md +148 -0
  402. package/docs/concepts/policy-packs.md +227 -0
  403. package/docs/headless.md +190 -0
  404. package/docs/hooks/use-color-scheme.md +40 -0
  405. package/docs/hooks/use-consent-manager/checking-consent.md +94 -0
  406. package/docs/hooks/use-consent-manager/location-info.md +95 -0
  407. package/docs/hooks/use-consent-manager/overview.md +420 -0
  408. package/docs/hooks/use-consent-manager/setting-consent.md +92 -0
  409. package/docs/hooks/use-draggable.md +57 -0
  410. package/docs/hooks/use-focus-trap.md +41 -0
  411. package/docs/hooks/use-reduced-motion.md +35 -0
  412. package/docs/hooks/use-ssr-status.md +31 -0
  413. package/docs/hooks/use-text-direction.md +49 -0
  414. package/docs/hooks/use-translations.md +118 -0
  415. package/docs/iab/consent-banner.md +92 -0
  416. package/docs/iab/consent-dialog.md +132 -0
  417. package/docs/iab/overview.md +125 -0
  418. package/docs/iab/use-gvl-data.md +208 -0
  419. package/docs/iframe-blocking.md +107 -0
  420. package/docs/integrations/building-integrations.md +405 -0
  421. package/docs/integrations/databuddy.md +203 -0
  422. package/docs/integrations/google-tag-manager.md +153 -0
  423. package/docs/integrations/google-tag.md +122 -0
  424. package/docs/integrations/linkedin-insights.md +109 -0
  425. package/docs/integrations/meta-pixel.md +342 -0
  426. package/docs/integrations/microsoft-uet.md +112 -0
  427. package/docs/integrations/overview.md +105 -0
  428. package/docs/integrations/posthog.md +199 -0
  429. package/docs/integrations/tiktok-pixel.md +113 -0
  430. package/docs/integrations/x-pixel.md +143 -0
  431. package/docs/internationalization.md +197 -0
  432. package/docs/network-blocker.md +178 -0
  433. package/docs/optimization.md +113 -0
  434. package/docs/policy-packs.md +240 -0
  435. package/docs/quickstart.md +152 -0
  436. package/docs/script-loader.md +321 -0
  437. package/docs/server-side.md +153 -0
  438. package/docs/styling/classnames.md +92 -0
  439. package/docs/styling/color-scheme.md +82 -0
  440. package/docs/styling/css-variables.md +92 -0
  441. package/docs/styling/overview.md +459 -0
  442. package/docs/styling/slots.md +127 -0
  443. package/docs/styling/tailwind.md +113 -0
  444. package/docs/styling/tokens.md +216 -0
  445. package/docs/troubleshooting.md +137 -0
  446. package/iab/styles.css +1 -0
  447. package/package.json +87 -27
  448. package/readme.json +6 -0
  449. package/src/iab/styles.css +11 -0
  450. package/src/iab/styles.tw3.css +14 -0
  451. package/src/styles.css +10 -0
  452. package/src/styles.tw3.css +13 -0
  453. package/styles.css +1 -0
  454. package/dist/components/__tests__/active-ui-transitions.e2e.test.cjs +0 -1
  455. package/dist/components/__tests__/active-ui-transitions.e2e.test.js +0 -1
  456. package/dist/components/__tests__/consent-flow.e2e.test.cjs +0 -1
  457. package/dist/components/__tests__/consent-flow.e2e.test.js +0 -1
  458. package/dist/components/__tests__/models-prop.e2e.test.cjs +0 -1
  459. package/dist/components/__tests__/models-prop.e2e.test.js +0 -1
  460. package/dist/components/__tests__/ui-source-tracking.e2e.test.cjs +0 -1
  461. package/dist/components/__tests__/ui-source-tracking.e2e.test.js +0 -1
  462. package/dist/components/consent-banner/atoms/overlay.d.ts.map +0 -1
  463. package/dist/components/consent-banner/atoms/root.d.ts.map +0 -1
  464. package/dist/components/consent-banner/components.d.ts.map +0 -1
  465. package/dist/components/consent-banner/consent-banner.d.ts.map +0 -1
  466. package/dist/components/consent-banner/error-boundary.d.ts.map +0 -1
  467. package/dist/components/consent-banner/index.d.ts.map +0 -1
  468. package/dist/components/consent-dialog/atoms/card.d.ts.map +0 -1
  469. package/dist/components/consent-dialog/atoms/overlay.d.ts.map +0 -1
  470. package/dist/components/consent-dialog/atoms/root.d.ts.map +0 -1
  471. package/dist/components/consent-dialog/consent-dialog.d.ts.map +0 -1
  472. package/dist/components/consent-dialog/index.d.ts.map +0 -1
  473. package/dist/components/consent-dialog-trigger/atoms/button.d.ts.map +0 -1
  474. package/dist/components/consent-dialog-trigger/atoms/icon.d.ts.map +0 -1
  475. package/dist/components/consent-dialog-trigger/atoms/root.d.ts.map +0 -1
  476. package/dist/components/consent-dialog-trigger/atoms/text.d.ts.map +0 -1
  477. package/dist/components/consent-dialog-trigger/consent-dialog-trigger.d.ts.map +0 -1
  478. package/dist/components/consent-dialog-trigger/index.d.ts.map +0 -1
  479. package/dist/components/consent-dialog-trigger/types.d.ts.map +0 -1
  480. package/dist/components/consent-dialog-trigger/use-draggable.d.ts.map +0 -1
  481. package/dist/components/consent-widget/atoms/accordion.d.ts +0 -46
  482. package/dist/components/consent-widget/atoms/accordion.d.ts.map +0 -1
  483. package/dist/components/consent-widget/atoms/button.d.ts.map +0 -1
  484. package/dist/components/consent-widget/atoms/footer.d.ts.map +0 -1
  485. package/dist/components/consent-widget/atoms/root.d.ts.map +0 -1
  486. package/dist/components/consent-widget/consent-widget.d.ts.map +0 -1
  487. package/dist/components/consent-widget/index.d.ts.map +0 -1
  488. package/dist/components/consent-widget/types.d.ts.map +0 -1
  489. package/dist/components/frame/atoms.d.ts.map +0 -1
  490. package/dist/components/frame/frame.d.ts.map +0 -1
  491. package/dist/components/frame/index.d.ts.map +0 -1
  492. package/dist/components/frame/types.d.ts.map +0 -1
  493. package/dist/components/iab/__tests__/e2e-setup.cjs +0 -1
  494. package/dist/components/iab/__tests__/e2e-setup.js +0 -1
  495. package/dist/components/iab/__tests__/fixtures/mock-consent-state.cjs +0 -1
  496. package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts +0 -212
  497. package/dist/components/iab/__tests__/fixtures/mock-consent-state.d.ts.map +0 -1
  498. package/dist/components/iab/__tests__/fixtures/mock-consent-state.js +0 -1
  499. package/dist/components/iab/__tests__/iab-banner.e2e.test.cjs +0 -1
  500. package/dist/components/iab/__tests__/iab-banner.e2e.test.js +0 -1
  501. package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.cjs +0 -1
  502. package/dist/components/iab/__tests__/iab-consent-flow.e2e.test.js +0 -1
  503. package/dist/components/iab/__tests__/iab-events.e2e.test.cjs +0 -1
  504. package/dist/components/iab/__tests__/iab-events.e2e.test.js +0 -1
  505. package/dist/components/iab/__tests__/iab-gvl.e2e.test.cjs +0 -1
  506. package/dist/components/iab/__tests__/iab-gvl.e2e.test.js +0 -1
  507. package/dist/components/iab/__tests__/iab-preference-center.e2e.test.cjs +0 -1
  508. package/dist/components/iab/__tests__/iab-preference-center.e2e.test.js +0 -1
  509. package/dist/components/iab/__tests__/iab-storage.e2e.test.cjs +0 -1
  510. package/dist/components/iab/__tests__/iab-storage.e2e.test.js +0 -1
  511. package/dist/components/iab/__tests__/iab-stub.e2e.test.cjs +0 -1
  512. package/dist/components/iab/__tests__/iab-stub.e2e.test.js +0 -1
  513. package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.cjs +0 -1
  514. package/dist/components/iab/__tests__/iab-tcfapi.e2e.test.js +0 -1
  515. package/dist/components/iab/__tests__/msw-handlers.cjs +0 -1
  516. package/dist/components/iab/__tests__/msw-handlers.js +0 -1
  517. package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.cjs +0 -1
  518. package/dist/components/iab-consent-banner/__tests__/iab-consent-banner.test.js +0 -1
  519. package/dist/components/iab-consent-banner/atoms/button-group.d.ts.map +0 -1
  520. package/dist/components/iab-consent-banner/atoms/card.d.ts.map +0 -1
  521. package/dist/components/iab-consent-banner/atoms/description.d.ts.map +0 -1
  522. package/dist/components/iab-consent-banner/atoms/footer.d.ts.map +0 -1
  523. package/dist/components/iab-consent-banner/atoms/header.d.ts.map +0 -1
  524. package/dist/components/iab-consent-banner/atoms/overlay.d.ts.map +0 -1
  525. package/dist/components/iab-consent-banner/atoms/root.d.ts.map +0 -1
  526. package/dist/components/iab-consent-banner/atoms/title.d.ts.map +0 -1
  527. package/dist/components/iab-consent-banner/iab-consent-banner.d.ts.map +0 -1
  528. package/dist/components/iab-consent-banner/index.d.ts.map +0 -1
  529. package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.cjs +0 -1
  530. package/dist/components/iab-consent-dialog/__tests__/legitimate-interest-ui.test.js +0 -1
  531. package/dist/components/iab-consent-dialog/__tests__/preference-center.test.cjs +0 -1
  532. package/dist/components/iab-consent-dialog/__tests__/preference-center.test.js +0 -1
  533. package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.cjs +0 -1
  534. package/dist/components/iab-consent-dialog/__tests__/purposes-tab.test.js +0 -1
  535. package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.cjs +0 -1
  536. package/dist/components/iab-consent-dialog/__tests__/vendors-tab.test.js +0 -1
  537. package/dist/components/iab-consent-dialog/atoms/card.d.ts.map +0 -1
  538. package/dist/components/iab-consent-dialog/atoms/content.d.ts.map +0 -1
  539. package/dist/components/iab-consent-dialog/atoms/footer.d.ts.map +0 -1
  540. package/dist/components/iab-consent-dialog/atoms/header.d.ts.map +0 -1
  541. package/dist/components/iab-consent-dialog/atoms/overlay.d.ts.map +0 -1
  542. package/dist/components/iab-consent-dialog/atoms/purpose-item.d.ts.map +0 -1
  543. package/dist/components/iab-consent-dialog/atoms/root.d.ts.map +0 -1
  544. package/dist/components/iab-consent-dialog/atoms/stack-item.d.ts.map +0 -1
  545. package/dist/components/iab-consent-dialog/atoms/tabs.d.ts +0 -40
  546. package/dist/components/iab-consent-dialog/atoms/tabs.d.ts.map +0 -1
  547. package/dist/components/iab-consent-dialog/atoms/vendor-list.d.ts.map +0 -1
  548. package/dist/components/iab-consent-dialog/hooks/use-gvl-data.d.ts.map +0 -1
  549. package/dist/components/iab-consent-dialog/iab-consent-dialog.d.ts.map +0 -1
  550. package/dist/components/iab-consent-dialog/index.d.ts.map +0 -1
  551. package/dist/components/iab-consent-dialog/types.d.ts.map +0 -1
  552. package/dist/components/iab-consent-dialog/use-iab-translations.d.ts.map +0 -1
  553. package/dist/components/shared/libs/polymorphic.d.ts.map +0 -1
  554. package/dist/components/shared/libs/recursive-clone-children.d.ts.map +0 -1
  555. package/dist/components/shared/primitives/box.d.ts.map +0 -1
  556. package/dist/components/shared/primitives/button.d.ts.map +0 -1
  557. package/dist/components/shared/primitives/button.types.d.ts.map +0 -1
  558. package/dist/components/shared/primitives/legal-links/index.d.ts.map +0 -1
  559. package/dist/components/shared/ui/__tests__/primitives.test.cjs +0 -1
  560. package/dist/components/shared/ui/__tests__/primitives.test.js +0 -1
  561. package/dist/components/shared/ui/accordion/accordion.d.ts.map +0 -1
  562. package/dist/components/shared/ui/accordion/accordion.types.d.ts.map +0 -1
  563. package/dist/components/shared/ui/accordion/index.d.ts.map +0 -1
  564. package/dist/components/shared/ui/animated-collapse/animated-collapse.d.ts.map +0 -1
  565. package/dist/components/shared/ui/animated-collapse/index.d.ts.map +0 -1
  566. package/dist/components/shared/ui/button/button.d.ts.map +0 -1
  567. package/dist/components/shared/ui/button/button.types.d.ts.map +0 -1
  568. package/dist/components/shared/ui/button/index.d.ts.map +0 -1
  569. package/dist/components/shared/ui/icon.d.ts.map +0 -1
  570. package/dist/components/shared/ui/logo.d.ts.map +0 -1
  571. package/dist/components/shared/ui/switch/index.d.ts +0 -3
  572. package/dist/components/shared/ui/switch/index.d.ts.map +0 -1
  573. package/dist/components/shared/ui/switch/switch.d.ts +0 -45
  574. package/dist/components/shared/ui/switch/switch.d.ts.map +0 -1
  575. package/dist/components/shared/ui/switch/switch.types.d.ts.map +0 -1
  576. package/dist/context/consent-manager-context.d.ts.map +0 -1
  577. package/dist/context/consent-tracking-context.d.ts.map +0 -1
  578. package/dist/context/theme-context.d.ts.map +0 -1
  579. package/dist/headless.d.ts +0 -8
  580. package/dist/headless.d.ts.map +0 -1
  581. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.cjs +0 -1
  582. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.js +0 -1
  583. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.cjs +0 -1
  584. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-handles-default-theme-based-on-document-class-1.js +0 -1
  585. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.cjs +0 -1
  586. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-responds-to-system-preference-1.js +0 -1
  587. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.cjs +0 -1
  588. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-sets-dark-theme-correctly-1.js +0 -1
  589. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.cjs +0 -1
  590. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-default-theme-changes-1.js +0 -1
  591. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.cjs +0 -1
  592. package/dist/hooks/__tests__/__screenshots__/use-color-scheme.test.tsx/useColorScheme-updates-theme-when-system-preference-changes-1.js +0 -1
  593. package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.cjs +0 -1
  594. package/dist/hooks/__tests__/__screenshots__/use-consent-manager.test.tsx/useConsentManager-provides-manager-object-when-configured-1.js +0 -1
  595. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.cjs +0 -1
  596. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-handles-string-className-correctly-1.js +0 -1
  597. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.cjs +0 -1
  598. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-merges-theme-and-component-styles-correctly-1.js +0 -1
  599. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.cjs +0 -1
  600. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.js +0 -1
  601. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.cjs +0 -1
  602. package/dist/hooks/__tests__/__screenshots__/use-styles.test.tsx/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.js +0 -1
  603. package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.cjs +0 -1
  604. package/dist/hooks/__tests__/__screenshots__/use-theme.test.tsx/useTheme-local-theme-takes-precedence-over-global-theme-1.js +0 -1
  605. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.cjs +0 -1
  606. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.js +0 -1
  607. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.cjs +0 -1
  608. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.js +0 -1
  609. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.cjs +0 -1
  610. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-merges-custom-translations-with-defaults-1.js +0 -1
  611. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.cjs +0 -1
  612. package/dist/hooks/__tests__/__screenshots__/use-translations.test.tsx/useTranslations-returns-English-translations-by-default-1.js +0 -1
  613. package/dist/hooks/__tests__/use-color-scheme.test.cjs +0 -1
  614. package/dist/hooks/__tests__/use-color-scheme.test.js +0 -1
  615. package/dist/hooks/__tests__/use-consent-manager.test.cjs +0 -1
  616. package/dist/hooks/__tests__/use-consent-manager.test.js +0 -1
  617. package/dist/hooks/__tests__/use-focus-trap.test.cjs +0 -1
  618. package/dist/hooks/__tests__/use-focus-trap.test.js +0 -1
  619. package/dist/hooks/__tests__/use-scroll-lock.test.cjs +0 -1
  620. package/dist/hooks/__tests__/use-scroll-lock.test.js +0 -1
  621. package/dist/hooks/__tests__/use-styles.test.cjs +0 -1
  622. package/dist/hooks/__tests__/use-styles.test.js +0 -1
  623. package/dist/hooks/__tests__/use-theme.test.cjs +0 -1
  624. package/dist/hooks/__tests__/use-theme.test.js +0 -1
  625. package/dist/hooks/__tests__/use-translations.test.cjs +0 -1
  626. package/dist/hooks/__tests__/use-translations.test.js +0 -1
  627. package/dist/hooks/index.d.ts.map +0 -1
  628. package/dist/hooks/use-color-scheme.d.ts.map +0 -1
  629. package/dist/hooks/use-component-config.d.ts.map +0 -1
  630. package/dist/hooks/use-consent-manager.d.ts.map +0 -1
  631. package/dist/hooks/use-focus-trap.d.ts.map +0 -1
  632. package/dist/hooks/use-reduced-motion.d.ts.map +0 -1
  633. package/dist/hooks/use-scroll-lock.d.ts.map +0 -1
  634. package/dist/hooks/use-ssr-status.d.ts.map +0 -1
  635. package/dist/hooks/use-styles.d.ts.map +0 -1
  636. package/dist/hooks/use-text-direction.d.ts.map +0 -1
  637. package/dist/hooks/use-theme.d.ts.map +0 -1
  638. package/dist/hooks/use-translations.d.ts.map +0 -1
  639. package/dist/index.d.ts.map +0 -1
  640. package/dist/mockServiceWorker.js +0 -349
  641. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.cjs +0 -1
  642. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.js +0 -1
  643. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.cjs +0 -1
  644. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.js +0 -1
  645. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.cjs +0 -1
  646. package/dist/providers/__tests__/__screenshots__/provider-basic.test.tsx/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.js +0 -1
  647. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.cjs +0 -1
  648. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.js +0 -1
  649. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.cjs +0 -1
  650. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.js +0 -1
  651. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.cjs +0 -1
  652. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.js +0 -1
  653. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.cjs +0 -1
  654. package/dist/providers/__tests__/__screenshots__/provider-hydration.test.tsx/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.js +0 -1
  655. package/dist/providers/__tests__/provider-basic.test.cjs +0 -1
  656. package/dist/providers/__tests__/provider-basic.test.js +0 -1
  657. package/dist/providers/__tests__/provider-context.test.cjs +0 -1
  658. package/dist/providers/__tests__/provider-context.test.js +0 -1
  659. package/dist/providers/__tests__/provider-errors.test.cjs +0 -1
  660. package/dist/providers/__tests__/provider-errors.test.js +0 -1
  661. package/dist/providers/__tests__/provider-hydration.test.cjs +0 -1
  662. package/dist/providers/__tests__/provider-hydration.test.js +0 -1
  663. package/dist/providers/__tests__/test-helpers.cjs +0 -1
  664. package/dist/providers/__tests__/test-helpers.js +0 -1
  665. package/dist/providers/consent-manager-provider.d.ts.map +0 -1
  666. package/dist/server/fetch-ssr-data.d.ts.map +0 -1
  667. package/dist/server/headers.d.ts.map +0 -1
  668. package/dist/server/headers.test.cjs +0 -1
  669. package/dist/server/headers.test.d.ts +0 -2
  670. package/dist/server/headers.test.d.ts.map +0 -1
  671. package/dist/server/headers.test.js +0 -1
  672. package/dist/server/index.d.ts.map +0 -1
  673. package/dist/server/normalize-url.d.ts.map +0 -1
  674. package/dist/server/normalize-url.test.cjs +0 -1
  675. package/dist/server/normalize-url.test.d.ts +0 -2
  676. package/dist/server/normalize-url.test.d.ts.map +0 -1
  677. package/dist/server/normalize-url.test.js +0 -1
  678. package/dist/server/types.d.ts.map +0 -1
  679. package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-make-a-new-request-when-core-options-change-1.png +0 -0
  680. package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-not-make-additional-requests-when-props-change-but-core-options-remain-same-1.png +0 -0
  681. package/dist/static/image/ConsentManagerProvider-Basic-Request-Behavior-should-only-make-one-initial-request-for-consent-banner-status-1.png +0 -0
  682. package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-handle-rapid-re-renders-without-blocking-children-1.png +0 -0
  683. package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-not-block-SSR-provider-content-when-SSR-provider-wraps-ConsentManager-1.png +0 -0
  684. package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-render-children-immediately-without-blocking-during-hydration-1.png +0 -0
  685. package/dist/static/image/ConsentManagerProvider-Hydration-Behavior-should-use-startTransition-for-non-blocking-state-updates-during-hydration-1.png +0 -0
  686. package/dist/static/image/useColorScheme-cleans-up-system-preference-listener-on-unmount-1.png +0 -0
  687. package/dist/static/image/useColorScheme-handles-default-theme-based-on-document-class-1.png +0 -0
  688. package/dist/static/image/useColorScheme-responds-to-system-preference-1.png +0 -0
  689. package/dist/static/image/useColorScheme-sets-dark-theme-correctly-1.png +0 -0
  690. package/dist/static/image/useColorScheme-updates-theme-when-default-theme-changes-1.png +0 -0
  691. package/dist/static/image/useColorScheme-updates-theme-when-system-preference-changes-1.png +0 -0
  692. package/dist/static/image/useConsentManager-provides-manager-object-when-configured-1.png +0 -0
  693. package/dist/static/image/useStyles-handles-string-className-correctly-1.png +0 -0
  694. package/dist/static/image/useStyles-merges-theme-and-component-styles-correctly-1.png +0 -0
  695. package/dist/static/image/useStyles-should-remove-base-default-styles-but-keep-theme-and-component-classNames-when-noStyle--true-1.png +0 -0
  696. package/dist/static/image/useStyles-should-remove-default-styles-but-keep-custom-classNames-when-theme-object-provides-noStyle--true-1.png +0 -0
  697. package/dist/static/image/useTheme-local-theme-takes-precedence-over-global-theme-1.png +0 -0
  698. package/dist/static/image/useTranslations-Custom-English-instead-of-English-when-German-is-selected-1.png +0 -0
  699. package/dist/static/image/useTranslations-falls-back-to-English-when-selected-language-is-not-available-1.png +0 -0
  700. package/dist/static/image/useTranslations-merges-custom-translations-with-defaults-1.png +0 -0
  701. package/dist/static/image/useTranslations-returns-English-translations-by-default-1.png +0 -0
  702. package/dist/test-setup.browser.cjs +0 -1
  703. package/dist/test-setup.browser.d.ts +0 -8
  704. package/dist/test-setup.browser.d.ts.map +0 -1
  705. package/dist/test-setup.browser.js +0 -1
  706. package/dist/types/consent-manager.d.ts.map +0 -1
  707. package/dist/types/theme/index.d.ts.map +0 -1
  708. package/dist/types/theme/style-keys.d.ts.map +0 -1
  709. package/dist/types/theme/style-types.d.ts.map +0 -1
  710. package/dist/utils/cn.d.ts.map +0 -1
  711. package/dist/utils/merge-styles.d.ts.map +0 -1
  712. package/dist/utils/test-helpers.d.ts.map +0 -1
  713. package/dist/utils/theme-utils.d.ts.map +0 -1
  714. package/dist/version.d.ts +0 -2
  715. package/dist/version.d.ts.map +0 -1
@@ -0,0 +1,92 @@
1
+ ---
2
+ title: CSS Variables
3
+ description: Reference for all --c15t-* CSS custom properties generated by the theme system.
4
+ ---
5
+ Every theme token is converted to a `--c15t-*` CSS custom property at runtime. You can override these variables in your stylesheet without using the JavaScript theme API.
6
+
7
+ ## Variable Reference
8
+
9
+ ### ThemeCSSVariables
10
+
11
+ |Property|Type|Description|Default|Required|
12
+ |:--|:--|:--|:--|:--:|
13
+ |--c15t-primary|string \|undefined|\`colors.primary\` (default: \`hsl(228, 100%, 60%)\`)|-|Optional|
14
+ |--c15t-primary-hover|string \|undefined|\`colors.primaryHover\` (default: \`hsl(228, 100%, 55%)\`)|-|Optional|
15
+ |--c15t-surface|string \|undefined|\`colors.surface\` (default: \`hsl(0, 0%, 100%)\`)|-|Optional|
16
+ |--c15t-surface-hover|string \|undefined|\`colors.surfaceHover\` (default: \`hsl(0, 0%, 98%)\`)|-|Optional|
17
+ |--c15t-border|string \|undefined|\`colors.border\` (default: \`hsl(0, 0%, 90%)\`)|-|Optional|
18
+ |--c15t-border-hover|string \|undefined|\`colors.borderHover\` (default: \`hsl(0, 0%, 85%)\`)|-|Optional|
19
+ |--c15t-text|string \|undefined|\`colors.text\` (default: \`hsl(0, 0%, 10%)\`)|-|Optional|
20
+ |--c15t-text-muted|string \|undefined|\`colors.textMuted\` (default: \`hsl(0, 0%, 40%)\`)|-|Optional|
21
+ |--c15t-text-on-primary|string \|undefined|\`colors.textOnPrimary\` (auto-derived from \`colors.primary\` when omitted)|-|Optional|
22
+ |--c15t-overlay|string \|undefined|\`colors.overlay\` (default: \`hsla(0, 0%, 0%, 0.5)\`)|-|Optional|
23
+ |--c15t-switch-track|string \|undefined|\`colors.switchTrack\` (default: \`hsl(0, 0%, 85%)\`)|-|Optional|
24
+ |--c15t-switch-track-active|string \|undefined|\`colors.switchTrackActive\` (default: \`hsl(228, 100%, 60%)\`)|-|Optional|
25
+ |--c15t-switch-thumb|string \|undefined|\`colors.switchThumb\` (default: \`hsl(0, 0%, 100%)\`)|-|Optional|
26
+ |--c15t-font-family|string \|undefined|\`typography.fontFamily\` (default: \`system-ui, -apple-system, sans-serif\`)|-|Optional|
27
+ |--c15t-font-size-sm|string \|undefined|\`typography.fontSize.sm\` (default: \`0.875rem\`)|-|Optional|
28
+ |--c15t-font-size-base|string \|undefined|\`typography.fontSize.base\` (default: \`1rem\`)|-|Optional|
29
+ |--c15t-font-size-lg|string \|undefined|\`typography.fontSize.lg\` (default: \`1.125rem\`)|-|Optional|
30
+ |--c15t-font-weight-normal|string \|undefined|\`typography.fontWeight.normal\` (default: \`400\`)|-|Optional|
31
+ |--c15t-font-weight-medium|string \|undefined|\`typography.fontWeight.medium\` (default: \`500\`)|-|Optional|
32
+ |--c15t-font-weight-semibold|string \|undefined|\`typography.fontWeight.semibold\` (default: \`600\`)|-|Optional|
33
+ |--c15t-line-height-tight|string \|undefined|\`typography.lineHeight.tight\` (default: \`1.25\`)|-|Optional|
34
+ |--c15t-line-height-normal|string \|undefined|\`typography.lineHeight.normal\` (default: \`1.5\`)|-|Optional|
35
+ |--c15t-line-height-relaxed|string \|undefined|\`typography.lineHeight.relaxed\` (default: \`1.75\`)|-|Optional|
36
+ |--c15t-space-xs|string \|undefined|\`spacing.xs\` (default: \`0.25rem\`)|-|Optional|
37
+ |--c15t-space-sm|string \|undefined|\`spacing.sm\` (default: \`0.5rem\`)|-|Optional|
38
+ |--c15t-space-md|string \|undefined|\`spacing.md\` (default: \`1rem\`)|-|Optional|
39
+ |--c15t-space-lg|string \|undefined|\`spacing.lg\` (default: \`1.5rem\`)|-|Optional|
40
+ |--c15t-space-xl|string \|undefined|\`spacing.xl\` (default: \`2rem\`)|-|Optional|
41
+ |--c15t-radius-sm|string \|undefined|\`radius.sm\` (default: \`0.25rem\`)|-|Optional|
42
+ |--c15t-radius-md|string \|undefined|\`radius.md\` (default: \`0.5rem\`)|-|Optional|
43
+ |--c15t-radius-lg|string \|undefined|\`radius.lg\` (default: \`0.75rem\`)|-|Optional|
44
+ |--c15t-radius-full|string \|undefined|\`radius.full\` (default: \`9999px\`)|-|Optional|
45
+ |--c15t-shadow-sm|string \|undefined|\`shadows.sm\` (default: \`0 1px 2px hsla(0, 0%, 0%, 0.05)\`)|-|Optional|
46
+ |--c15t-shadow-md|string \|undefined|\`shadows.md\` (default: \`0 4px 12px hsla(0, 0%, 0%, 0.08)\`)|-|Optional|
47
+ |--c15t-shadow-lg|string \|undefined|\`shadows.lg\` (default: \`0 8px 24px hsla(0, 0%, 0%, 0.12)\`)|-|Optional|
48
+ |--c15t-duration-fast|string \|undefined|\`motion.duration.fast\` (default: \`100ms\`)|-|Optional|
49
+ |--c15t-duration-normal|string \|undefined|\`motion.duration.normal\` (default: \`200ms\`)|-|Optional|
50
+ |--c15t-duration-slow|string \|undefined|\`motion.duration.slow\` (default: \`300ms\`)|-|Optional|
51
+ |--c15t-easing|string \|undefined|\`motion.easing\` (default: \`cubic-bezier(0.4, 0, 0.2, 1)\`)|-|Optional|
52
+ |--c15t-easing-out|string \|undefined|\`motion.easingOut\` (default: \`cubic-bezier(0.215, 0.61, 0.355, 1)\`)|-|Optional|
53
+ |--c15t-easing-in-out|string \|undefined|\`motion.easingInOut\` (default: \`cubic-bezier(0.645, 0.045, 0.355, 1)\`)|-|Optional|
54
+ |--c15t-easing-spring|string \|undefined|\`motion.easingSpring\` (default: \`cubic-bezier(0.34, 1.56, 0.64, 1)\`)|-|Optional|
55
+
56
+ ## Overriding Variables
57
+
58
+ Override in your stylesheet:
59
+
60
+ ```css
61
+ :root {
62
+ --c15t-primary: #8b5cf6;
63
+ --c15t-surface: #fafafa;
64
+ --c15t-radius-md: 1rem;
65
+ }
66
+
67
+ /* Dark mode overrides */
68
+ .dark,
69
+ .c15t-dark {
70
+ --c15t-primary: #a78bfa;
71
+ --c15t-surface: #18181b;
72
+ --c15t-text: #fafafa;
73
+ }
74
+ ```
75
+
76
+ ## Scoped Overrides
77
+
78
+ Target specific components by scoping variables:
79
+
80
+ ```tsx
81
+ <div className="checkout-consent">
82
+ <ConsentBanner />
83
+ </div>
84
+ ```
85
+
86
+ ```css
87
+ /* Only affect c15t components inside .checkout-consent */
88
+ .checkout-consent {
89
+ --c15t-surface: #f0f9ff;
90
+ --c15t-radius-lg: 1.5rem;
91
+ }
92
+ ```
@@ -0,0 +1,459 @@
1
+ ---
2
+ title: Styling Overview
3
+ description: Customize every aspect of c15t's consent components using design tokens, component slots, and CSS variables.
4
+ ---
5
+ c15t's theming system gives you multiple levels of control, but most customization should stay inside the pre-built components.
6
+
7
+ Start with the lowest-power tool that solves the problem:
8
+
9
+ 1. **Pre-built component APIs** — provider options and component props such as `layout`, `direction`, `primaryButton`, `legalLinks`, and `theme.consentActions`
10
+ 2. **Design tokens** — global colors, typography, spacing, radius, shadows, and motion
11
+ 3. **Slots** — targeted styling for specific parts such as the banner card, footer, or title
12
+ 4. **CSS variables or className-level overrides** — when you need to integrate with external CSS systems
13
+ 5. **Compound components** — when you must rearrange markup while still using c15t primitives
14
+ 6. **`noStyle`** — when you want c15t structure but you need to own all visual styling
15
+ 7. **Headless** — when you want fully custom markup and behavior
16
+
17
+ Keep styling and escalation as separate decisions:
18
+
19
+ * If you are still using the stock banner, dialog, or widget, stay with props, tokens, and slots.
20
+ * Escalate to compound components, `noStyle`, or headless only when the structure or behavior itself must change.
21
+
22
+ ## Styling Approaches
23
+
24
+ |Approach|Control|Use When|
25
+ |--|--|--|
26
+ |**Component and provider APIs**|High|Reordering actions, changing button emphasis, configuring links, hiding branding, changing copy via `i18n`|
27
+ |**Tokens**|High|Changing global colors, typography, spacing, radius, shadows, or motion|
28
+ |**Slots**|Medium|Targeting specific component parts (for example `consentBannerFooter` or `consentDialogCard`)|
29
+ |**CSS variables / className**|Medium|Integrating with an existing stylesheet or utility classes after tokens and slots|
30
+ |**Compound components**|Structure|Rearranging existing c15t primitives without going fully custom|
31
+ |**noStyle**|Full visuals|Keeping c15t structure but replacing all visual defaults|
32
+ |**Headless**|Full|Replacing both markup and behavior|
33
+
34
+ ## Quick Start
35
+
36
+ Use the `Theme` type for TypeScript autocomplete and validation:
37
+
38
+ ```tsx
39
+ import { type ReactNode } from 'react';
40
+ import { type Theme, ConsentManagerProvider } from '@c15t/react';
41
+
42
+ const theme = {
43
+ colors: {
44
+ primary: '#6366f1',
45
+ primaryHover: '#4f46e5',
46
+ surface: '#ffffff',
47
+ text: '#1f2937',
48
+ textMuted: '#6b7280',
49
+ },
50
+ radius: {
51
+ md: '0.75rem',
52
+ lg: '1rem',
53
+ },
54
+ spacing: {
55
+ md: '1.25rem',
56
+ },
57
+ } satisfies Theme;
58
+
59
+ export function ConsentManager({ children }: { children: ReactNode }) {
60
+ return (
61
+ <ConsentManagerProvider
62
+ options={{
63
+ mode: 'hosted',
64
+ backendURL: 'https://your-instance.c15t.dev',
65
+ theme,
66
+ }}
67
+ >
68
+ {children}
69
+ </ConsentManagerProvider>
70
+ );
71
+ }
72
+ ```
73
+
74
+ ## Styling Inside Pre-Built Components
75
+
76
+ Start here before you consider compound components or headless mode.
77
+
78
+ ### 1. Provider and component configuration
79
+
80
+ Use the stock APIs first:
81
+
82
+ * `layout`, `direction`, and `primaryButton` for banner action arrangement
83
+ * `legalLinks` for link visibility
84
+ * `hideBranding` and `showTrigger` for dialog and widget behavior
85
+ * `theme.consentActions` for stock banner and dialog button treatment
86
+ * `i18n` on `ConsentManagerProvider` for copy changes
87
+
88
+ ```tsx
89
+ <ConsentBanner layout={['customize', ['reject', 'accept']]} primaryButton="accept" />
90
+ ```
91
+
92
+ ### 2. Design tokens
93
+
94
+ Set global values for colors, typography, spacing, radius, shadows, and motion:
95
+
96
+ ```tsx
97
+ options={{ theme: { colors: { primary: '#6366f1' } } }}
98
+ ```
99
+
100
+ Use tokens first when the change is semantic:
101
+
102
+ * Banner card background -> `theme.colors.surface`
103
+ * Banner footer background -> `theme.colors.surfaceHover`
104
+ * Shared copy color -> `theme.colors.text` and `theme.colors.textMuted`
105
+ * Primary-filled surfaces such as stock branding tags and filled actions -> `theme.colors.primary` with `theme.colors.textOnPrimary` as the matching foreground override
106
+
107
+ ```tsx
108
+ options={{
109
+ theme: {
110
+ colors: {
111
+ surface: '#ffffff',
112
+ surfaceHover: '#f6f3ee',
113
+ },
114
+ },
115
+ }}
116
+ ```
117
+
118
+ If you set `theme.colors.primary` but omit `theme.colors.textOnPrimary`, c15t derives a readable foreground automatically. Add `textOnPrimary` only when you need to force a specific branded foreground color.
119
+
120
+ ### 3. Component slots
121
+
122
+ Target specific component parts via the `slots` object:
123
+
124
+ ```tsx
125
+ options={{
126
+ theme: {
127
+ slots: {
128
+ consentBannerCard: 'rounded-[28px] shadow-xl',
129
+ consentBannerFooter: 'border-t border-black/10',
130
+ consentBannerTitle: 'tracking-tight',
131
+ },
132
+ },
133
+ }}
134
+ ```
135
+
136
+ Use slots when the component part is right but the local styling needs adjustment.
137
+
138
+ ### 4. CSS variables and className-level overrides
139
+
140
+ Override `--c15t-*` custom properties in your stylesheet or attach classes through slots when your app styling is driven externally.
141
+
142
+ Reach for this after tokens and slots, not before.
143
+
144
+ ```tsx
145
+ options={{
146
+ theme: {
147
+ slots: {
148
+ consentBannerFooter: 'bg-[var(--banner-footer)]',
149
+ },
150
+ },
151
+ }}
152
+ ```
153
+
154
+ ## Escalating Beyond Pre-Built Components
155
+
156
+ Only move up this ladder when the lower rung cannot satisfy the request.
157
+
158
+ ### 5. Compound components
159
+
160
+ Use compound components when you need to rearrange existing c15t primitives:
161
+
162
+ ```tsx
163
+ <ConsentBanner.Root>
164
+ <ConsentBanner.Card>
165
+ <ConsentBanner.Header>
166
+ <ConsentBanner.Title />
167
+ <ConsentBanner.Description />
168
+ </ConsentBanner.Header>
169
+ <ConsentBanner.Footer>
170
+ <ConsentBanner.CustomizeButton />
171
+ <ConsentBanner.FooterSubGroup>
172
+ <ConsentBanner.RejectButton />
173
+ <ConsentBanner.AcceptButton />
174
+ </ConsentBanner.FooterSubGroup>
175
+ </ConsentBanner.Footer>
176
+ </ConsentBanner.Card>
177
+ </ConsentBanner.Root>
178
+ ```
179
+
180
+ ### 6. `noStyle`
181
+
182
+ Use `noStyle` only when the c15t structure is still correct but you want to replace all visual defaults:
183
+
184
+ ```tsx
185
+ <ConsentBanner noStyle />
186
+ ```
187
+
188
+ ### 7. Headless
189
+
190
+ Go headless only when you are replacing both markup and behavior. For that path, continue to [Headless Mode](../headless).
191
+
192
+ ## Common Styling Tasks
193
+
194
+ ### Change the banner footer background
195
+
196
+ ```tsx
197
+ options={{
198
+ theme: {
199
+ colors: {
200
+ surfaceHover: '#f6f3ee',
201
+ },
202
+ },
203
+ }}
204
+ ```
205
+
206
+ Use `theme.colors.surfaceHover` before trying raw CSS.
207
+
208
+ ### Change the banner card background
209
+
210
+ ```tsx
211
+ options={{
212
+ theme: {
213
+ colors: {
214
+ surface: '#fffdf8',
215
+ },
216
+ },
217
+ }}
218
+ ```
219
+
220
+ Use `theme.colors.surface` before overriding banner CSS variables directly.
221
+
222
+ ### Tweak the banner card, footer, or title styling without changing markup
223
+
224
+ ```tsx
225
+ options={{
226
+ theme: {
227
+ slots: {
228
+ consentBannerCard: 'rounded-[28px] shadow-xl',
229
+ consentBannerFooter: 'border-t border-black/10 px-6',
230
+ consentBannerTitle: 'text-xl tracking-tight',
231
+ },
232
+ },
233
+ }}
234
+ ```
235
+
236
+ ### Change stock consent action button styles semantically
237
+
238
+ ```tsx
239
+ options={{
240
+ theme: {
241
+ consentActions: {
242
+ default: { mode: 'stroke' },
243
+ accept: { variant: 'primary', mode: 'stroke' },
244
+ customize: { variant: 'neutral', mode: 'ghost' },
245
+ },
246
+ },
247
+ }}
248
+ ```
249
+
250
+ Use `theme.consentActions` when you want to change the stock banner/dialog button treatment without rewriting the component layout. Policy packs still control action arrangement and primary-action hints. The theme controls whether those actions render as `stroke`, `filled`, `ghost`, or `lighter`.
251
+
252
+ ### Change banner copy without replacing the component
253
+
254
+ ```tsx
255
+ options={{
256
+ i18n: {
257
+ locale: 'en',
258
+ messages: {
259
+ en: {
260
+ cookieBanner: {
261
+ title: 'We value your privacy',
262
+ description: 'We use cookies to improve the site and measure performance.',
263
+ },
264
+ common: {
265
+ acceptAll: 'Accept all',
266
+ rejectAll: 'Reject all',
267
+ customize: 'Manage preferences',
268
+ },
269
+ },
270
+ },
271
+ },
272
+ }}
273
+ ```
274
+
275
+ ### Enable dark mode safely
276
+
277
+ ```tsx
278
+ options={{
279
+ colorScheme: 'system',
280
+ theme: {
281
+ colors: { surface: '#ffffff', text: '#1f2937' },
282
+ dark: { surface: '#111827', text: '#f9fafb' },
283
+ },
284
+ }}
285
+ ```
286
+
287
+ > ℹ️ **Info:**
288
+ > If a token change does not show up where you expect, check how that component maps tokens to CSS variables before escalating. For example, the stock banner footer background comes from colors.surfaceHover, not a separate footer token.
289
+ >
290
+ > ⚠️ **Warning:**
291
+ > Do not jump to CSS overrides or !important because a token did not appear to work at first glance.noStyle: true removes layout and visual defaults. Treat it as an advanced opt-out, not a normal theming step.Headless mode is for replacing markup and behavior, not for styling-only requests.Use either tokens/slots or raw CSS variable overrides intentionally to avoid conflicting style sources.For dark mode, c15t supports .dark and .c15t-dark.
292
+
293
+ ## API Reference
294
+
295
+ ### Theme
296
+
297
+ |Property|Type|Description|Default|Required|
298
+ |:--|:--|:--|:--|:--:|
299
+ |colors|ColorTokens \|undefined|Color palette for light mode.|-|Optional|
300
+ |dark|ColorTokens \|undefined|Dark mode color overrides.|-|Optional|
301
+ |typography|TypographyTokens \|undefined|Typography settings for text elements.|-|Optional|
302
+ |spacing|SpacingTokens \|undefined|Spacing scale for internal padding and margins.|-|Optional|
303
+ |radius|RadiusTokens \|undefined|Border radius scale for rounded corners.|-|Optional|
304
+ |shadows|ShadowTokens \|undefined|Box shadow scale for depth and elevation.|-|Optional|
305
+ |motion|MotionTokens \|undefined|Animation and transition timing.|-|Optional|
306
+ |consentActions|Object \|undefined|Semantic button styling for consent actions.|-|Optional|
307
+ |slots|ComponentSlots \|undefined|Component-specific style overrides.|-|Optional|
308
+
309
+ #### `colors` ColorTokens
310
+
311
+ Color palette for light mode.
312
+
313
+ |Property|Type|Description|Default|Required|
314
+ |:--|:--|:--|:--|:--:|
315
+ |primary|string \|undefined|Primary brand/accent color for interactive elements.|-|Optional|
316
+ |primaryHover|string \|undefined|Hover/active state for primary elements.|-|Optional|
317
+ |surface|string \|undefined|Main background color for panels and containers.|-|Optional|
318
+ |surfaceHover|string \|undefined|Hover state for surface elements.|-|Optional|
319
+ |border|string \|undefined|Border color for containers and inputs.|-|Optional|
320
+ |borderHover|string \|undefined|Hover state for bordered elements.|-|Optional|
321
+ |text|string \|undefined|Primary text color for headings and body.|-|Optional|
322
+ |textMuted|string \|undefined|Muted text color for secondary content.|-|Optional|
323
+ |textOnPrimary|string \|undefined|Text color for content on primary background. Auto-derived from \`primary\` when omitted.|-|Optional|
324
+ |overlay|string \|undefined|Overlay color for modal backdrops.|-|Optional|
325
+ |switchTrack|string \|undefined|Toggle track color (off state).|-|Optional|
326
+ |switchTrackActive|string \|undefined|Toggle track color (on state).|-|Optional|
327
+ |switchThumb|string \|undefined|Toggle thumb color.|-|Optional|
328
+
329
+ #### `dark` ColorTokens
330
+
331
+ Dark mode color overrides.
332
+
333
+ |Property|Type|Description|Default|Required|
334
+ |:--|:--|:--|:--|:--:|
335
+ |primary|string \|undefined|Primary brand/accent color for interactive elements.|-|Optional|
336
+ |primaryHover|string \|undefined|Hover/active state for primary elements.|-|Optional|
337
+ |surface|string \|undefined|Main background color for panels and containers.|-|Optional|
338
+ |surfaceHover|string \|undefined|Hover state for surface elements.|-|Optional|
339
+ |border|string \|undefined|Border color for containers and inputs.|-|Optional|
340
+ |borderHover|string \|undefined|Hover state for bordered elements.|-|Optional|
341
+ |text|string \|undefined|Primary text color for headings and body.|-|Optional|
342
+ |textMuted|string \|undefined|Muted text color for secondary content.|-|Optional|
343
+ |textOnPrimary|string \|undefined|Text color for content on primary background. Auto-derived from \`primary\` when omitted.|-|Optional|
344
+ |overlay|string \|undefined|Overlay color for modal backdrops.|-|Optional|
345
+ |switchTrack|string \|undefined|Toggle track color (off state).|-|Optional|
346
+ |switchTrackActive|string \|undefined|Toggle track color (on state).|-|Optional|
347
+ |switchThumb|string \|undefined|Toggle thumb color.|-|Optional|
348
+
349
+ #### `typography` TypographyTokens
350
+
351
+ Typography settings for text elements.
352
+
353
+ |Property|Type|Description|Default|Required|
354
+ |:--|:--|:--|:--|:--:|
355
+ |fontFamily|string \|undefined|Font family for all components.|-|Optional|
356
+ |fontSize|Object \|undefined|Font sizes for text hierarchy.|-|Optional|
357
+ |fontWeight|Object \|undefined|Font weights for emphasis.|-|Optional|
358
+ |lineHeight|Object \|undefined|Line heights for readability.|-|Optional|
359
+
360
+ #### `spacing` SpacingTokens
361
+
362
+ Spacing scale for internal padding and margins.
363
+
364
+ |Property|Type|Description|Default|Required|
365
+ |:--|:--|:--|:--|:--:|
366
+ |xs|string \|undefined|@default '0.25rem' (4px)|-|Optional|
367
+ |sm|string \|undefined|@default '0.5rem' (8px)|-|Optional|
368
+ |md|string \|undefined|@default '1rem' (16px)|-|Optional|
369
+ |lg|string \|undefined|@default '1.5rem' (24px)|-|Optional|
370
+ |xl|string \|undefined|@default '2rem' (32px)|-|Optional|
371
+
372
+ #### `radius` RadiusTokens
373
+
374
+ Border radius scale for rounded corners.
375
+
376
+ |Property|Type|Description|Default|Required|
377
+ |:--|:--|:--|:--|:--:|
378
+ |sm|string \|undefined|@default '0.25rem' (4px)|-|Optional|
379
+ |md|string \|undefined|@default '0.5rem' (8px)|-|Optional|
380
+ |lg|string \|undefined|@default '0.75rem' (12px)|-|Optional|
381
+ |full|string \|undefined|@default '9999px'|-|Optional|
382
+
383
+ #### `shadows` ShadowTokens
384
+
385
+ Box shadow scale for depth and elevation.
386
+
387
+ |Property|Type|Description|Default|Required|
388
+ |:--|:--|:--|:--|:--:|
389
+ |sm|string \|undefined|@default '0 1px 2px hsla(0, 0%, 0%, 0.05)'|-|Optional|
390
+ |md|string \|undefined|@default '0 4px 12px hsla(0, 0%, 0%, 0.08)'|-|Optional|
391
+ |lg|string \|undefined|@default '0 8px 24px hsla(0, 0%, 0%, 0.12)'|-|Optional|
392
+
393
+ #### `motion` MotionTokens
394
+
395
+ Animation and transition timing.
396
+
397
+ |Property|Type|Description|Default|Required|
398
+ |:--|:--|:--|:--|:--:|
399
+ |duration|Object \|undefined|Duration presets for transitions.|-|Optional|
400
+ |easing|string \|undefined|Default CSS easing function for general animation curves.|-|Optional|
401
+ |easingOut|string \|undefined|CSS easing function for enter/exit animations. Use for modals, tooltips, dropdowns, and any element entering or exiting.|-|Optional|
402
+ |easingInOut|string \|undefined|CSS easing function for on-screen movement. Use when elements already on screen need to move or morph.|-|Optional|
403
+ |easingSpring|string \|undefined|CSS easing function with spring-like overshoot. Use for playful, bouncy animations.|-|Optional|
404
+
405
+ #### `consentActions`
406
+
407
+ Semantic button styling for consent actions.
408
+
409
+ |Property|Type|Description|Default|Required|
410
+ |:--|:--|:--|:--|:--:|
411
+ |default|ConsentActionStyle \|undefined|-|-|Optional|
412
+ |accept|ConsentActionStyle \|undefined|-|-|Optional|
413
+ |reject|ConsentActionStyle \|undefined|-|-|Optional|
414
+ |customize|ConsentActionStyle \|undefined|-|-|Optional|
415
+
416
+ #### `slots` ComponentSlots
417
+
418
+ Component-specific style overrides.
419
+
420
+ |Property|Type|Description|Default|Required|
421
+ |:--|:--|:--|:--|:--:|
422
+ |consentBanner|SlotStyle \|undefined|Root wrapper for the consent banner portal content.|-|Optional|
423
+ |consentBannerCard|SlotStyle \|undefined|Main card container for banner content and actions.|-|Optional|
424
+ |consentBannerHeader|SlotStyle \|undefined|Header region containing title and description.|-|Optional|
425
+ |consentBannerTitle|SlotStyle \|undefined|Banner title text element.|-|Optional|
426
+ |consentBannerDescription|SlotStyle \|undefined|Banner description text element.|-|Optional|
427
+ |consentBannerFooter|SlotStyle \|undefined|Footer container for banner action buttons.|-|Optional|
428
+ |consentBannerFooterSubGroup|SlotStyle \|undefined|Nested button group inside the banner footer.|-|Optional|
429
+ |consentBannerTag|SlotStyle \|undefined|Branding tag rendered above the consent banner card.|-|Optional|
430
+ |consentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the banner when enabled.|-|Optional|
431
+ |consentDialog|SlotStyle \|undefined|Root wrapper for the consent dialog modal.|-|Optional|
432
+ |consentDialogCard|SlotStyle \|undefined|Main dialog card container.|-|Optional|
433
+ |consentDialogHeader|SlotStyle \|undefined|Dialog header region containing title and description.|-|Optional|
434
+ |consentDialogTitle|SlotStyle \|undefined|Dialog title text element.|-|Optional|
435
+ |consentDialogDescription|SlotStyle \|undefined|Dialog description text element.|-|Optional|
436
+ |consentDialogContent|SlotStyle \|undefined|Dialog content region (typically holds ConsentWidget).|-|Optional|
437
+ |consentDialogFooter|SlotStyle \|undefined|Footer container used by compound dialog layouts.|-|Optional|
438
+ |consentDialogTag|SlotStyle \|undefined|Branding tag rendered below the stock consent dialog card.|-|Optional|
439
+ |consentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the dialog.|-|Optional|
440
+ |consentWidget|SlotStyle \|undefined|Root wrapper for the consent widget/preferences panel.|-|Optional|
441
+ |consentWidgetAccordion|SlotStyle \|undefined|Accordion region listing consent categories.|-|Optional|
442
+ |consentWidgetFooter|SlotStyle \|undefined|Footer area for widget actions and links.|-|Optional|
443
+ |consentWidgetTag|SlotStyle \|undefined|Branding tag rendered below the standalone consent widget.|-|Optional|
444
+ |frame|SlotStyle \|undefined|Frame wrapper used by blocking placeholders (e.g., iframe blocking).|-|Optional|
445
+ |iabConsentBanner|SlotStyle \|undefined|Root wrapper for the IAB consent banner.|-|Optional|
446
+ |iabConsentBannerCard|SlotStyle \|undefined|Main card container for IAB banner content.|-|Optional|
447
+ |iabConsentBannerHeader|SlotStyle \|undefined|Header region for IAB banner title/description.|-|Optional|
448
+ |iabConsentBannerFooter|SlotStyle \|undefined|Footer container for IAB banner actions.|-|Optional|
449
+ |iabConsentBannerTag|SlotStyle \|undefined|Branding tag rendered above the IAB banner card.|-|Optional|
450
+ |iabConsentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB banner.|-|Optional|
451
+ |iabConsentDialog|SlotStyle \|undefined|Root wrapper for the IAB consent dialog.|-|Optional|
452
+ |iabConsentDialogCard|SlotStyle \|undefined|Main card container for IAB dialog content.|-|Optional|
453
+ |iabConsentDialogHeader|SlotStyle \|undefined|Header region for IAB dialog title/description.|-|Optional|
454
+ |iabConsentDialogFooter|SlotStyle \|undefined|Footer container for IAB dialog actions.|-|Optional|
455
+ |iabConsentDialogTag|SlotStyle \|undefined|Branding tag rendered below the IAB dialog card.|-|Optional|
456
+ |iabConsentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB dialog.|-|Optional|
457
+ |buttonPrimary|SlotStyle \|undefined|Shared primary button style used across consent components.|-|Optional|
458
+ |buttonSecondary|SlotStyle \|undefined|Shared secondary button style used across consent components.|-|Optional|
459
+ |toggle|SlotStyle \|undefined|Shared toggle/switch style used for category controls.|-|Optional|
@@ -0,0 +1,127 @@
1
+ ---
2
+ title: Component Slots
3
+ description: Target individual component parts with styles using the slot system - className strings or inline style objects.
4
+ ---
5
+ ## What are Slots?
6
+
7
+ Slots let you target specific parts of consent components with styles. Each component is built from named slots such as `consentBannerTitle` and `consentDialogTag`.
8
+
9
+ Use slots after the stock component APIs and design tokens:
10
+
11
+ * If the change is semantic, prefer tokens first. For example, the stock banner footer background comes from `theme.colors.surfaceHover`.
12
+ * If the component part is correct but you need a local tweak, use a slot.
13
+
14
+ Common banner slot choices:
15
+
16
+ * `consentBannerCard` for card radius, shadow, width, and local background treatment
17
+ * `consentBannerFooter` for spacing, borders, and local footer styling
18
+ * `consentBannerTitle` for title typography
19
+ * `buttonPrimary` and `buttonSecondary` for shared button classes
20
+
21
+ ## Using Slots
22
+
23
+ Pass slot styles in the theme's `slots` object:
24
+
25
+ ```tsx
26
+ const theme = {
27
+ slots: {
28
+ consentBannerFooter: 'border-t border-black/10 px-6',
29
+ consentBannerTitle: 'text-xl font-bold tracking-tight',
30
+
31
+ // Object value = className + inline styles
32
+ consentBannerCard: {
33
+ className: 'rounded-xl shadow-lg',
34
+ style: { maxWidth: '600px' },
35
+ },
36
+ },
37
+ } satisfies Theme;
38
+ ```
39
+
40
+ ## Slot Style Types
41
+
42
+ Each slot accepts either a `string` (treated as className) or a `SlotStyle` object:
43
+
44
+ ```tsx
45
+ // String: treated as className
46
+ consentBannerTitle: 'my-custom-class'
47
+
48
+ // Object: className + style + noStyle
49
+ consentBannerFooter: {
50
+ className: 'border-t border-black/10',
51
+ style: { paddingBlock: '1rem' },
52
+ noStyle: false, // Set true only when you want to remove this slot's default styling
53
+ }
54
+ ```
55
+
56
+ `noStyle` on a slot is an advanced escape hatch. Start with className and style overrides first.
57
+
58
+ ## Example: Style the stock banner without changing markup
59
+
60
+ ```tsx
61
+ const theme = {
62
+ colors: {
63
+ surface: '#fffdf8',
64
+ surfaceHover: '#f6f3ee',
65
+ },
66
+ slots: {
67
+ consentBannerCard: 'rounded-[28px] shadow-xl',
68
+ consentBannerFooter: 'border-t border-black/10 px-6',
69
+ consentBannerTitle: 'tracking-tight',
70
+ },
71
+ } satisfies Theme;
72
+ ```
73
+
74
+ ## Available Slots
75
+
76
+ Use the typed API reference below for the full slot list and descriptions. It stays in sync with the actual component slot surface.
77
+
78
+ ## API Reference
79
+
80
+ ### ComponentSlots
81
+
82
+ |Property|Type|Description|Default|Required|
83
+ |:--|:--|:--|:--|:--:|
84
+ |consentBanner|SlotStyle \|undefined|Root wrapper for the consent banner portal content.|-|Optional|
85
+ |consentBannerCard|SlotStyle \|undefined|Main card container for banner content and actions.|-|Optional|
86
+ |consentBannerHeader|SlotStyle \|undefined|Header region containing title and description.|-|Optional|
87
+ |consentBannerTitle|SlotStyle \|undefined|Banner title text element.|-|Optional|
88
+ |consentBannerDescription|SlotStyle \|undefined|Banner description text element.|-|Optional|
89
+ |consentBannerFooter|SlotStyle \|undefined|Footer container for banner action buttons.|-|Optional|
90
+ |consentBannerFooterSubGroup|SlotStyle \|undefined|Nested button group inside the banner footer.|-|Optional|
91
+ |consentBannerTag|SlotStyle \|undefined|Branding tag rendered above the consent banner card.|-|Optional|
92
+ |consentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the banner when enabled.|-|Optional|
93
+ |consentDialog|SlotStyle \|undefined|Root wrapper for the consent dialog modal.|-|Optional|
94
+ |consentDialogCard|SlotStyle \|undefined|Main dialog card container.|-|Optional|
95
+ |consentDialogHeader|SlotStyle \|undefined|Dialog header region containing title and description.|-|Optional|
96
+ |consentDialogTitle|SlotStyle \|undefined|Dialog title text element.|-|Optional|
97
+ |consentDialogDescription|SlotStyle \|undefined|Dialog description text element.|-|Optional|
98
+ |consentDialogContent|SlotStyle \|undefined|Dialog content region (typically holds ConsentWidget).|-|Optional|
99
+ |consentDialogFooter|SlotStyle \|undefined|Footer container used by compound dialog layouts.|-|Optional|
100
+ |consentDialogTag|SlotStyle \|undefined|Branding tag rendered below the stock consent dialog card.|-|Optional|
101
+ |consentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the dialog.|-|Optional|
102
+ |consentWidget|SlotStyle \|undefined|Root wrapper for the consent widget/preferences panel.|-|Optional|
103
+ |consentWidgetAccordion|SlotStyle \|undefined|Accordion region listing consent categories.|-|Optional|
104
+ |consentWidgetFooter|SlotStyle \|undefined|Footer area for widget actions and links.|-|Optional|
105
+ |consentWidgetTag|SlotStyle \|undefined|Branding tag rendered below the standalone consent widget.|-|Optional|
106
+ |frame|SlotStyle \|undefined|Frame wrapper used by blocking placeholders (e.g., iframe blocking).|-|Optional|
107
+ |iabConsentBanner|SlotStyle \|undefined|Root wrapper for the IAB consent banner.|-|Optional|
108
+ |iabConsentBannerCard|SlotStyle \|undefined|Main card container for IAB banner content.|-|Optional|
109
+ |iabConsentBannerHeader|SlotStyle \|undefined|Header region for IAB banner title/description.|-|Optional|
110
+ |iabConsentBannerFooter|SlotStyle \|undefined|Footer container for IAB banner actions.|-|Optional|
111
+ |iabConsentBannerTag|SlotStyle \|undefined|Branding tag rendered above the IAB banner card.|-|Optional|
112
+ |iabConsentBannerOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB banner.|-|Optional|
113
+ |iabConsentDialog|SlotStyle \|undefined|Root wrapper for the IAB consent dialog.|-|Optional|
114
+ |iabConsentDialogCard|SlotStyle \|undefined|Main card container for IAB dialog content.|-|Optional|
115
+ |iabConsentDialogHeader|SlotStyle \|undefined|Header region for IAB dialog title/description.|-|Optional|
116
+ |iabConsentDialogFooter|SlotStyle \|undefined|Footer container for IAB dialog actions.|-|Optional|
117
+ |iabConsentDialogTag|SlotStyle \|undefined|Branding tag rendered below the IAB dialog card.|-|Optional|
118
+ |iabConsentDialogOverlay|SlotStyle \|undefined|Backdrop overlay rendered behind the IAB dialog.|-|Optional|
119
+ |buttonPrimary|SlotStyle \|undefined|Shared primary button style used across consent components.|-|Optional|
120
+ |buttonSecondary|SlotStyle \|undefined|Shared secondary button style used across consent components.|-|Optional|
121
+ |toggle|SlotStyle \|undefined|Shared toggle/switch style used for category controls.|-|Optional|
122
+
123
+ ### SlotStyle
124
+
125
+ |Property|Type|Description|Default|Required|
126
+ |:--|:--|:--|:--|:--:|
127
+ |SlotStyle|SlotStyle|Type alias for SlotStyle|-|✅ Required|