@c15t/react 2.2.1 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/AGENTS.md +89 -141
  2. package/README.md +2 -2
  3. package/dist/aggregate-components.js +2 -0
  4. package/dist/chunk-warming.js +1 -0
  5. package/dist/component-hooks/use-headless-consent-ui.js +2 -0
  6. package/dist/component-hooks/use-headless-iab-consent-ui.js +2 -0
  7. package/dist/component-hooks/use-manager.js +2 -0
  8. package/dist/component-hooks/use-panel-trigger.js +2 -0
  9. package/dist/component-hooks/use-translations.js +2 -0
  10. package/dist/components/consent-preferences-link/consent-preferences-link.js +2 -1
  11. package/dist/components/consent-preferences-link/index.js +1 -0
  12. package/dist/components/frame/atoms.js +1 -1
  13. package/dist/components/frame/frame.js +2 -1
  14. package/dist/components/frame/index.js +2 -1
  15. package/dist/components/iab-panel/atoms/card.js +2 -0
  16. package/dist/components/iab-panel/atoms/content.js +2 -0
  17. package/dist/components/iab-panel/atoms/footer.js +2 -0
  18. package/dist/components/iab-panel/atoms/header.js +2 -0
  19. package/dist/components/iab-panel/atoms/overlay.js +2 -0
  20. package/dist/components/iab-panel/atoms/purpose-item.js +2 -0
  21. package/dist/components/iab-panel/atoms/root.js +2 -0
  22. package/dist/components/iab-panel/atoms/stack-item.js +2 -0
  23. package/dist/components/iab-panel/atoms/tabs.js +2 -0
  24. package/dist/components/iab-panel/atoms/vendor-list.js +2 -0
  25. package/dist/components/iab-panel/hooks/use-display-model.js +2 -0
  26. package/dist/components/iab-panel/hooks/use-gvl-data.js +2 -0
  27. package/dist/components/iab-panel/iab-panel.js +2 -0
  28. package/dist/components/iab-panel/index.js +2 -0
  29. package/dist/components/iab-panel/use-iab-translations.js +1 -0
  30. package/dist/components/iab-prompt/atoms/button-group.js +2 -0
  31. package/dist/components/iab-prompt/atoms/card.js +2 -0
  32. package/dist/components/iab-prompt/atoms/description.js +2 -0
  33. package/dist/components/iab-prompt/atoms/footer.js +2 -0
  34. package/dist/components/iab-prompt/atoms/header.js +2 -0
  35. package/dist/components/iab-prompt/atoms/overlay.js +2 -0
  36. package/dist/components/iab-prompt/atoms/root.js +2 -0
  37. package/dist/components/iab-prompt/atoms/title.js +2 -0
  38. package/dist/components/iab-prompt/iab-prompt.js +2 -0
  39. package/dist/components/iab-prompt/index.js +2 -0
  40. package/dist/components/panel/atoms/card.js +2 -0
  41. package/dist/components/panel/atoms/overlay.js +1 -0
  42. package/dist/components/panel/atoms/root.js +2 -0
  43. package/dist/components/panel/index.js +2 -0
  44. package/dist/components/panel/panel.js +2 -0
  45. package/dist/components/{consent-dialog-link → panel-link}/index.js +1 -0
  46. package/dist/components/panel-trigger/atoms/button.js +2 -0
  47. package/dist/components/panel-trigger/atoms/icon.js +2 -0
  48. package/dist/components/panel-trigger/atoms/root.js +2 -0
  49. package/dist/components/panel-trigger/atoms/text.js +2 -0
  50. package/dist/components/panel-trigger/atoms/toolbar.js +2 -0
  51. package/dist/components/panel-trigger/index.js +2 -0
  52. package/dist/components/panel-trigger/panel-trigger-toolbar.js +2 -0
  53. package/dist/components/panel-trigger/panel-trigger.js +2 -0
  54. package/dist/components/panel-trigger/use-draggable.js +2 -0
  55. package/dist/components/preferences/atoms/accordion.js +1 -0
  56. package/dist/components/preferences/atoms/button.js +1 -0
  57. package/dist/components/preferences/atoms/footer.js +1 -0
  58. package/dist/components/preferences/atoms/root.js +2 -0
  59. package/dist/components/preferences/index.js +2 -0
  60. package/dist/components/preferences/policy-actions.js +2 -0
  61. package/dist/components/preferences/preferences.js +2 -0
  62. package/dist/components/prompt/atoms/overlay.js +1 -0
  63. package/dist/components/prompt/atoms/root.js +2 -0
  64. package/dist/components/prompt/components.js +1 -0
  65. package/dist/components/prompt/error-boundary.js +2 -0
  66. package/dist/components/prompt/index.js +2 -0
  67. package/dist/components/prompt/policy-actions.js +2 -0
  68. package/dist/components/prompt/prompt.js +2 -0
  69. package/dist/components/prompt/resolve-banner-primary-actions.js +1 -0
  70. package/dist/components/prompt/surface-context.js +2 -0
  71. package/dist/components/prompt/use-banner-copy.js +2 -0
  72. package/dist/components/shared/libs/recursive-clone-children.js +1 -1
  73. package/dist/components/shared/libs/slot.js +1 -1
  74. package/dist/components/shared/libs/use-controllable-state.js +1 -1
  75. package/dist/components/shared/policy-actions.js +2 -1
  76. package/dist/components/shared/primitives/box.js +2 -1
  77. package/dist/components/shared/primitives/button.js +1 -1
  78. package/dist/components/shared/primitives/legal-links/index.js +1 -1
  79. package/dist/components/shared/ui/accordion/accordion.js +2 -1
  80. package/dist/components/shared/ui/animated-collapse/animated-collapse.js +2 -1
  81. package/dist/components/shared/ui/branding.js +1 -1
  82. package/dist/components/shared/ui/button/button.js +1 -1
  83. package/dist/components/shared/ui/collapsible/collapsible.js +2 -1
  84. package/dist/components/shared/ui/dialog/dialog.js +2 -1
  85. package/dist/components/shared/ui/icon.js +1 -1
  86. package/dist/components/shared/ui/logo.js +1 -1
  87. package/dist/components/shared/ui/preference-item/preference-item.js +2 -1
  88. package/dist/components/shared/ui/switch/switch.js +1 -1
  89. package/dist/components/shared/ui/tabs/tabs.js +2 -1
  90. package/dist/context/consent-tracking-context.js +1 -0
  91. package/dist/context/iab-context-value.js +1 -0
  92. package/dist/context/index.js +1 -0
  93. package/dist/context/theme-context.js +2 -1
  94. package/dist/context.js +1 -0
  95. package/dist/devtools.js +2 -0
  96. package/dist/draft.js +2 -0
  97. package/dist/external-iab-context.js +2 -0
  98. package/dist/frame.js +2 -0
  99. package/dist/headless.js +1 -1
  100. package/dist/hooks/use-color-scheme.js +2 -1
  101. package/dist/hooks/use-component-config.js +2 -1
  102. package/dist/hooks/use-focus-trap.js +2 -1
  103. package/dist/hooks/use-headless-iab-consent-ui.js +2 -1
  104. package/dist/hooks/use-iab-manager.js +2 -0
  105. package/dist/hooks/use-is-hydrated.js +2 -0
  106. package/dist/hooks/use-reduced-motion.js +2 -1
  107. package/dist/hooks/use-scroll-lock.js +2 -1
  108. package/dist/hooks/use-text-direction.js +2 -1
  109. package/dist/hooks/use-theme.js +2 -1
  110. package/dist/hooks.js +1 -0
  111. package/dist/iab/styles.css +1 -1
  112. package/dist/iab/styles.tw3.css +27 -19
  113. package/dist/iab-context.js +2 -0
  114. package/dist/iab.js +1 -1
  115. package/dist/index.js +1 -1
  116. package/dist/module-hooks/iframe-blocker.js +2 -0
  117. package/dist/module-hooks/network-blocker.js +2 -0
  118. package/dist/module-hooks/persistence.js +2 -0
  119. package/dist/module-hooks/script-loader.js +2 -0
  120. package/dist/module-hooks/shared.js +2 -0
  121. package/dist/module-hooks.js +2 -0
  122. package/dist/panel-link.js +2 -0
  123. package/dist/panel-trigger.js +2 -0
  124. package/dist/panel.js +2 -0
  125. package/dist/preferences.js +2 -0
  126. package/dist/primitives.js +1 -1
  127. package/dist/prompt.js +2 -0
  128. package/dist/provider.js +2 -0
  129. package/dist/server/fetch-ssr-data.js +1 -1
  130. package/dist/server/headers.js +1 -1
  131. package/dist/server/init-cache-key.js +1 -1
  132. package/dist/server/normalize-url.js +1 -1
  133. package/dist/styles.css +1 -1
  134. package/dist/styles.tw3.css +67 -29
  135. package/dist/theme-provider.js +2 -0
  136. package/dist/transports/offline.js +1 -0
  137. package/dist/types/index.js +1 -0
  138. package/dist/types/theme/index.js +1 -1
  139. package/dist/types/theme/style-types.js +1 -1
  140. package/dist/ui-config-context.js +2 -0
  141. package/dist/ui-save.js +1 -0
  142. package/dist/utils/cn.js +1 -1
  143. package/dist/utils/default-translation-config.js +1 -0
  144. package/dist/utils/index.js +1 -0
  145. package/dist/utils/merge-slot-props.js +1 -0
  146. package/dist/utils/merge-styles.js +1 -1
  147. package/dist/utils/theme-utils.js +1 -1
  148. package/dist/version.js +1 -1
  149. package/dist-types/aggregate-components.d.ts +4 -0
  150. package/dist-types/chunk-warming.d.ts +19 -0
  151. package/dist-types/component-hooks/use-headless-consent-ui.d.ts +68 -0
  152. package/dist-types/component-hooks/use-headless-iab-consent-ui.d.ts +22 -0
  153. package/dist-types/component-hooks/use-manager.d.ts +40 -0
  154. package/dist-types/component-hooks/use-panel-trigger.d.ts +20 -0
  155. package/dist-types/component-hooks/use-translations.d.ts +2 -0
  156. package/dist-types/components/consent-preferences-link/consent-preferences-link.d.ts +1 -1
  157. package/dist-types/components/frame/atoms.d.ts +5 -5
  158. package/dist-types/components/frame/types.d.ts +3 -2
  159. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/card.d.ts +2 -1
  160. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/content.d.ts +1 -1
  161. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/footer.d.ts +1 -1
  162. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/header.d.ts +1 -1
  163. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/overlay.d.ts +1 -1
  164. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/purpose-item.d.ts +7 -1
  165. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/root.d.ts +3 -2
  166. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/stack-item.d.ts +1 -1
  167. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/tabs.d.ts +1 -1
  168. package/dist-types/components/{iab-consent-dialog → iab-panel}/atoms/vendor-list.d.ts +2 -3
  169. package/dist-types/components/iab-panel/hooks/use-display-model.d.ts +18 -0
  170. package/dist-types/components/iab-panel/hooks/use-gvl-data.d.ts +17 -0
  171. package/dist-types/components/{iab-consent-dialog/iab-consent-dialog.d.ts → iab-panel/iab-panel.d.ts} +10 -3
  172. package/dist-types/components/{iab-consent-dialog → iab-panel}/index.d.ts +3 -2
  173. package/dist-types/components/iab-panel/types.d.ts +1 -0
  174. package/dist-types/components/{iab-consent-dialog → iab-panel}/use-iab-translations.d.ts +3 -1
  175. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/button-group.d.ts +1 -1
  176. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/card.d.ts +2 -1
  177. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/description.d.ts +1 -1
  178. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/footer.d.ts +2 -1
  179. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/header.d.ts +2 -1
  180. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/overlay.d.ts +1 -1
  181. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/root.d.ts +3 -2
  182. package/dist-types/components/{iab-consent-banner → iab-prompt}/atoms/title.d.ts +1 -1
  183. package/dist-types/components/{iab-consent-banner/iab-consent-banner.d.ts → iab-prompt/iab-prompt.d.ts} +10 -4
  184. package/dist-types/components/{iab-consent-banner → iab-prompt}/index.d.ts +1 -1
  185. package/dist-types/components/{consent-dialog → panel}/atoms/card.d.ts +15 -15
  186. package/dist-types/components/{consent-dialog → panel}/atoms/overlay.d.ts +24 -8
  187. package/dist-types/components/{consent-dialog → panel}/atoms/root.d.ts +4 -3
  188. package/dist-types/components/{consent-dialog → panel}/index.d.ts +13 -8
  189. package/dist-types/components/{consent-dialog/consent-dialog.d.ts → panel/panel.d.ts} +6 -5
  190. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/button.d.ts +2 -1
  191. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/icon.d.ts +1 -16
  192. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/root.d.ts +11 -23
  193. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/text.d.ts +0 -11
  194. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/atoms/toolbar.d.ts +15 -4
  195. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/index.d.ts +2 -2
  196. package/dist-types/components/{consent-dialog-trigger/consent-dialog-trigger-toolbar.d.ts → panel-trigger/panel-trigger-toolbar.d.ts} +0 -23
  197. package/dist-types/components/{consent-dialog-trigger/consent-dialog-trigger.d.ts → panel-trigger/panel-trigger.d.ts} +8 -4
  198. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/types.d.ts +16 -7
  199. package/dist-types/components/{consent-dialog-trigger → panel-trigger}/use-draggable.d.ts +2 -9
  200. package/dist-types/components/{consent-widget → preferences}/atoms/accordion.d.ts +5 -5
  201. package/dist-types/components/{consent-widget → preferences}/atoms/footer.d.ts +3 -3
  202. package/dist-types/components/{consent-widget → preferences}/atoms/root.d.ts +1 -1
  203. package/dist-types/components/{consent-widget → preferences}/index.d.ts +11 -9
  204. package/dist-types/components/preferences/policy-actions.d.ts +10 -0
  205. package/dist-types/components/{consent-banner → prompt}/atoms/overlay.d.ts +1 -1
  206. package/dist-types/components/prompt/atoms/root.d.ts +78 -0
  207. package/dist-types/components/{consent-banner → prompt}/components.d.ts +99 -14
  208. package/dist-types/components/{consent-banner → prompt}/error-boundary.d.ts +3 -1
  209. package/dist-types/components/{consent-banner → prompt}/index.d.ts +18 -10
  210. package/dist-types/components/prompt/policy-actions.d.ts +12 -0
  211. package/dist-types/components/{consent-banner/consent-banner.d.ts → prompt/prompt.d.ts} +36 -10
  212. package/dist-types/components/prompt/resolve-banner-primary-actions.d.ts +14 -0
  213. package/dist-types/components/prompt/surface-context.d.ts +45 -0
  214. package/dist-types/components/prompt/use-banner-copy.d.ts +16 -0
  215. package/dist-types/components/shared/libs/polymorphic.d.ts +2 -2
  216. package/dist-types/components/shared/libs/recursive-clone-children.d.ts +2 -2
  217. package/dist-types/components/shared/libs/slot.d.ts +1 -1
  218. package/dist-types/components/shared/libs/use-controllable-state.d.ts +1 -1
  219. package/dist-types/components/shared/policy-actions.d.ts +8 -3
  220. package/dist-types/components/shared/primitives/box.d.ts +3 -1
  221. package/dist-types/components/shared/primitives/button.d.ts +4 -37
  222. package/dist-types/components/shared/primitives/button.types.d.ts +3 -1
  223. package/dist-types/components/shared/primitives/legal-links/index.d.ts +7 -11
  224. package/dist-types/components/shared/ui/accordion/accordion.d.ts +45 -12
  225. package/dist-types/components/shared/ui/accordion/accordion.types.d.ts +1 -1
  226. package/dist-types/components/shared/ui/animated-collapse/animated-collapse.d.ts +1 -1
  227. package/dist-types/components/shared/ui/branding.d.ts +12 -12
  228. package/dist-types/components/shared/ui/button/button.d.ts +19 -25
  229. package/dist-types/components/shared/ui/button/button.types.d.ts +2 -2
  230. package/dist-types/components/shared/ui/collapsible/collapsible.d.ts +18 -1
  231. package/dist-types/components/shared/ui/dialog/dialog.d.ts +6 -6
  232. package/dist-types/components/shared/ui/icon.d.ts +1 -1
  233. package/dist-types/components/shared/ui/logo.d.ts +0 -21
  234. package/dist-types/components/shared/ui/preference-item/preference-item.d.ts +46 -2
  235. package/dist-types/components/shared/ui/switch/switch.d.ts +19 -8
  236. package/dist-types/components/shared/ui/tabs/tabs.d.ts +19 -2
  237. package/dist-types/context/iab-context-value.d.ts +37 -0
  238. package/dist-types/context/index.d.ts +3 -0
  239. package/dist-types/context/theme-context.d.ts +2 -2
  240. package/dist-types/context.d.ts +17 -0
  241. package/dist-types/devtools.d.ts +54 -0
  242. package/dist-types/draft.d.ts +31 -0
  243. package/dist-types/external-iab-context.d.ts +29 -0
  244. package/dist-types/frame.d.ts +1 -0
  245. package/dist-types/headless.d.ts +12 -8
  246. package/dist-types/hooks/use-color-scheme.d.ts +1 -1
  247. package/dist-types/hooks/use-component-config.d.ts +2 -2
  248. package/dist-types/hooks/use-focus-trap.d.ts +2 -2
  249. package/dist-types/hooks/use-headless-iab-consent-ui.d.ts +7 -8
  250. package/dist-types/hooks/use-iab-manager.d.ts +52 -0
  251. package/dist-types/hooks/use-is-hydrated.d.ts +8 -0
  252. package/dist-types/hooks/use-reduced-motion.d.ts +1 -1
  253. package/dist-types/hooks/use-scroll-lock.d.ts +1 -1
  254. package/dist-types/hooks/use-text-direction.d.ts +1 -1
  255. package/dist-types/hooks/use-theme.d.ts +2 -1
  256. package/dist-types/hooks.d.ts +148 -0
  257. package/dist-types/iab-context.d.ts +28 -0
  258. package/dist-types/iab.d.ts +14 -8
  259. package/dist-types/index.d.ts +61 -22
  260. package/dist-types/module-hooks/iframe-blocker.d.ts +6 -0
  261. package/dist-types/module-hooks/network-blocker.d.ts +9 -0
  262. package/dist-types/module-hooks/persistence.d.ts +4 -0
  263. package/dist-types/module-hooks/script-loader.d.ts +6 -0
  264. package/dist-types/module-hooks/shared.d.ts +2 -0
  265. package/dist-types/module-hooks.d.ts +4 -0
  266. package/dist-types/panel-link.d.ts +1 -0
  267. package/dist-types/panel-trigger.d.ts +1 -0
  268. package/dist-types/panel.d.ts +1 -0
  269. package/dist-types/preferences.d.ts +1 -0
  270. package/dist-types/prompt.d.ts +1 -0
  271. package/dist-types/provider.d.ts +149 -0
  272. package/dist-types/server/fetch-ssr-data.d.ts +2 -2
  273. package/dist-types/server/headers.d.ts +3 -3
  274. package/dist-types/server/init-cache-key.d.ts +3 -3
  275. package/dist-types/server/normalize-url.d.ts +2 -2
  276. package/dist-types/server/types.d.ts +1 -1
  277. package/dist-types/theme-provider.d.ts +10 -0
  278. package/dist-types/transports/offline.d.ts +18 -0
  279. package/dist-types/types/index.d.ts +3 -0
  280. package/dist-types/types/manager.d.ts +15 -0
  281. package/dist-types/types/slots.d.ts +5 -0
  282. package/dist-types/types/theme/index.d.ts +0 -1
  283. package/dist-types/types/theme/style-types.d.ts +3 -9
  284. package/dist-types/ui-config-context.d.ts +9 -0
  285. package/dist-types/ui-save.d.ts +5 -0
  286. package/dist-types/utils/cn.d.ts +1 -1
  287. package/dist-types/utils/default-translation-config.d.ts +6 -0
  288. package/dist-types/utils/index.d.ts +4 -0
  289. package/dist-types/utils/merge-slot-props.d.ts +14 -0
  290. package/dist-types/utils/merge-styles.d.ts +1 -1
  291. package/dist-types/utils/theme-utils.d.ts +2 -2
  292. package/dist-types/version.d.ts +1 -1
  293. package/docs/README.md +89 -141
  294. package/docs/assets/v3/brand-bar.png +0 -0
  295. package/docs/assets/v3/brand-card.png +0 -0
  296. package/docs/assets/v3/choice-wall.png +0 -0
  297. package/docs/assets/v3/mobile-card.png +0 -0
  298. package/docs/assets/v3/preferences.png +0 -0
  299. package/docs/customization/overview.md +45 -0
  300. package/docs/customization/recipes.md +79 -0
  301. package/docs/customization/slots.md +55 -0
  302. package/docs/customization/tokens.md +76 -0
  303. package/docs/customization/translations.md +49 -0
  304. package/docs/frameworks/react/components/consent-banner.md +219 -202
  305. package/docs/frameworks/react/components/consent-dialog-link.md +88 -35
  306. package/docs/frameworks/react/components/consent-dialog-trigger.md +74 -134
  307. package/docs/frameworks/react/components/consent-dialog.md +170 -135
  308. package/docs/frameworks/react/components/consent-manager-provider.md +57 -256
  309. package/docs/frameworks/react/components/consent-widget.md +154 -118
  310. package/docs/frameworks/react/components/dev-tools.md +198 -33
  311. package/docs/frameworks/react/components/frame.md +120 -42
  312. package/docs/frameworks/react/concepts/consent-categories.md +24 -89
  313. package/docs/frameworks/react/concepts/policy-presets.md +123 -0
  314. package/docs/frameworks/react/headless.md +91 -185
  315. package/docs/frameworks/react/hooks/use-consent-manager/overview.md +39 -153
  316. package/docs/frameworks/react/iab/overview.md +33 -108
  317. package/docs/frameworks/react/quickstart.md +116 -112
  318. package/docs/frameworks/react/script-loader.md +41 -533
  319. package/docs/frameworks/react/styling/overview.md +168 -253
  320. package/docs/frameworks/react/troubleshooting.md +47 -119
  321. package/docs/guides/consent-state.md +60 -0
  322. package/docs/guides/data-fetching.md +163 -0
  323. package/docs/guides/deployment-modes.md +63 -0
  324. package/docs/guides/troubleshooting.md +68 -0
  325. package/docs/guides/verify-consent.md +62 -0
  326. package/docs/integrations/adobe-analytics.md +239 -105
  327. package/docs/integrations/ahrefs-analytics.md +238 -104
  328. package/docs/integrations/amplitude.md +219 -157
  329. package/docs/integrations/building-integrations.md +32 -224
  330. package/docs/integrations/clear-on-revocation.md +167 -0
  331. package/docs/integrations/clearbit.md +247 -86
  332. package/docs/integrations/cloudflare-web-analytics.md +250 -84
  333. package/docs/integrations/crisp.md +251 -97
  334. package/docs/integrations/databuddy.md +259 -153
  335. package/docs/integrations/fathom-analytics.md +239 -96
  336. package/docs/integrations/google-maps.md +328 -207
  337. package/docs/integrations/google-tag-manager.md +248 -96
  338. package/docs/integrations/google-tag.md +261 -90
  339. package/docs/integrations/heap.md +222 -149
  340. package/docs/integrations/hightouch.md +225 -131
  341. package/docs/integrations/hotjar.md +239 -90
  342. package/docs/integrations/intercom.md +239 -98
  343. package/docs/integrations/linkedin-insights.md +243 -113
  344. package/docs/integrations/logrocket.md +241 -123
  345. package/docs/integrations/matomo-analytics.md +256 -111
  346. package/docs/integrations/meta-pixel.md +197 -324
  347. package/docs/integrations/microsoft-clarity.md +233 -114
  348. package/docs/integrations/microsoft-uet.md +245 -110
  349. package/docs/integrations/mixpanel-analytics.md +252 -87
  350. package/docs/integrations/openai-pixel.md +441 -0
  351. package/docs/integrations/overview.md +95 -133
  352. package/docs/integrations/pirsch.md +249 -96
  353. package/docs/integrations/plausible-analytics.md +241 -100
  354. package/docs/integrations/posthog.md +353 -214
  355. package/docs/integrations/promptwatch.md +251 -81
  356. package/docs/integrations/reddit-pixel.md +226 -173
  357. package/docs/integrations/rudderstack.md +244 -187
  358. package/docs/integrations/rybbit-analytics.md +244 -91
  359. package/docs/integrations/segment.md +238 -92
  360. package/docs/integrations/snapchat-pixel.md +240 -110
  361. package/docs/integrations/tiktok-pixel.md +249 -81
  362. package/docs/integrations/umami-analytics.md +242 -95
  363. package/docs/integrations/vercel-analytics.md +242 -90
  364. package/docs/integrations/x-pixel.md +238 -104
  365. package/docs/integrations/youtube.md +354 -142
  366. package/docs/upgrade-v3.md +334 -0
  367. package/iab/styles.css +1 -1
  368. package/iab/styles.tw3.css +1 -1
  369. package/package.json +187 -102
  370. package/readme.json +1 -1
  371. package/src/iab/styles.css +1 -1
  372. package/src/iab/styles.tw3.css +1 -1
  373. package/src/styles.css +1 -1
  374. package/src/styles.tw3.css +1 -1
  375. package/styles.css +1 -1
  376. package/styles.tw3.css +1 -1
  377. package/client/components/consent-banner.js +0 -4
  378. package/client/components/consent-dialog-link.js +0 -3
  379. package/client/components/consent-dialog-trigger.js +0 -3
  380. package/client/components/consent-dialog.js +0 -4
  381. package/client/components/consent-widget.js +0 -4
  382. package/client/components/frame.js +0 -3
  383. package/client/components/integrations.js +0 -3
  384. package/dist/components/consent-banner/atoms/overlay.cjs +0 -1
  385. package/dist/components/consent-banner/atoms/overlay.js +0 -1
  386. package/dist/components/consent-banner/atoms/root.cjs +0 -1
  387. package/dist/components/consent-banner/atoms/root.js +0 -1
  388. package/dist/components/consent-banner/components.cjs +0 -1
  389. package/dist/components/consent-banner/components.js +0 -1
  390. package/dist/components/consent-banner/consent-banner.cjs +0 -1
  391. package/dist/components/consent-banner/consent-banner.js +0 -1
  392. package/dist/components/consent-banner/error-boundary.cjs +0 -1
  393. package/dist/components/consent-banner/error-boundary.js +0 -1
  394. package/dist/components/consent-banner/index.cjs +0 -1
  395. package/dist/components/consent-banner/index.js +0 -1
  396. package/dist/components/consent-banner/policy-actions.cjs +0 -1
  397. package/dist/components/consent-banner/policy-actions.js +0 -1
  398. package/dist/components/consent-dialog/atoms/card.cjs +0 -1
  399. package/dist/components/consent-dialog/atoms/card.js +0 -1
  400. package/dist/components/consent-dialog/atoms/overlay.cjs +0 -1
  401. package/dist/components/consent-dialog/atoms/overlay.js +0 -1
  402. package/dist/components/consent-dialog/atoms/root.cjs +0 -1
  403. package/dist/components/consent-dialog/atoms/root.js +0 -1
  404. package/dist/components/consent-dialog/consent-dialog.cjs +0 -1
  405. package/dist/components/consent-dialog/consent-dialog.js +0 -1
  406. package/dist/components/consent-dialog/index.cjs +0 -1
  407. package/dist/components/consent-dialog/index.js +0 -1
  408. package/dist/components/consent-dialog-link/index.cjs +0 -1
  409. package/dist/components/consent-dialog-trigger/atoms/button.cjs +0 -1
  410. package/dist/components/consent-dialog-trigger/atoms/button.js +0 -1
  411. package/dist/components/consent-dialog-trigger/atoms/icon.cjs +0 -1
  412. package/dist/components/consent-dialog-trigger/atoms/icon.js +0 -1
  413. package/dist/components/consent-dialog-trigger/atoms/root.cjs +0 -1
  414. package/dist/components/consent-dialog-trigger/atoms/root.js +0 -1
  415. package/dist/components/consent-dialog-trigger/atoms/text.cjs +0 -1
  416. package/dist/components/consent-dialog-trigger/atoms/text.js +0 -1
  417. package/dist/components/consent-dialog-trigger/atoms/toolbar.cjs +0 -1
  418. package/dist/components/consent-dialog-trigger/atoms/toolbar.js +0 -1
  419. package/dist/components/consent-dialog-trigger/consent-dialog-trigger-toolbar.cjs +0 -1
  420. package/dist/components/consent-dialog-trigger/consent-dialog-trigger-toolbar.js +0 -1
  421. package/dist/components/consent-dialog-trigger/consent-dialog-trigger.cjs +0 -1
  422. package/dist/components/consent-dialog-trigger/consent-dialog-trigger.js +0 -1
  423. package/dist/components/consent-dialog-trigger/index.cjs +0 -1
  424. package/dist/components/consent-dialog-trigger/index.js +0 -1
  425. package/dist/components/consent-dialog-trigger/types.cjs +0 -1
  426. package/dist/components/consent-dialog-trigger/use-draggable.cjs +0 -1
  427. package/dist/components/consent-dialog-trigger/use-draggable.js +0 -1
  428. package/dist/components/consent-preferences-link/consent-preferences-link.cjs +0 -1
  429. package/dist/components/consent-preferences-link/index.cjs +0 -1
  430. package/dist/components/consent-widget/atoms/accordion.cjs +0 -1
  431. package/dist/components/consent-widget/atoms/accordion.js +0 -1
  432. package/dist/components/consent-widget/atoms/button.cjs +0 -1
  433. package/dist/components/consent-widget/atoms/button.js +0 -1
  434. package/dist/components/consent-widget/atoms/footer.cjs +0 -1
  435. package/dist/components/consent-widget/atoms/footer.js +0 -1
  436. package/dist/components/consent-widget/atoms/root.cjs +0 -1
  437. package/dist/components/consent-widget/atoms/root.js +0 -1
  438. package/dist/components/consent-widget/consent-widget.cjs +0 -1
  439. package/dist/components/consent-widget/consent-widget.js +0 -1
  440. package/dist/components/consent-widget/index.cjs +0 -1
  441. package/dist/components/consent-widget/index.js +0 -1
  442. package/dist/components/consent-widget/policy-actions.cjs +0 -1
  443. package/dist/components/consent-widget/policy-actions.js +0 -1
  444. package/dist/components/consent-widget/types.cjs +0 -1
  445. package/dist/components/frame/atoms.cjs +0 -1
  446. package/dist/components/frame/frame.cjs +0 -1
  447. package/dist/components/frame/index.cjs +0 -1
  448. package/dist/components/frame/types.cjs +0 -1
  449. package/dist/components/iab-consent-banner/atoms/button-group.cjs +0 -1
  450. package/dist/components/iab-consent-banner/atoms/button-group.js +0 -1
  451. package/dist/components/iab-consent-banner/atoms/card.cjs +0 -1
  452. package/dist/components/iab-consent-banner/atoms/card.js +0 -1
  453. package/dist/components/iab-consent-banner/atoms/description.cjs +0 -1
  454. package/dist/components/iab-consent-banner/atoms/description.js +0 -1
  455. package/dist/components/iab-consent-banner/atoms/footer.cjs +0 -1
  456. package/dist/components/iab-consent-banner/atoms/footer.js +0 -1
  457. package/dist/components/iab-consent-banner/atoms/header.cjs +0 -1
  458. package/dist/components/iab-consent-banner/atoms/header.js +0 -1
  459. package/dist/components/iab-consent-banner/atoms/overlay.cjs +0 -1
  460. package/dist/components/iab-consent-banner/atoms/overlay.js +0 -1
  461. package/dist/components/iab-consent-banner/atoms/root.cjs +0 -1
  462. package/dist/components/iab-consent-banner/atoms/root.js +0 -1
  463. package/dist/components/iab-consent-banner/atoms/title.cjs +0 -1
  464. package/dist/components/iab-consent-banner/atoms/title.js +0 -1
  465. package/dist/components/iab-consent-banner/iab-consent-banner.cjs +0 -1
  466. package/dist/components/iab-consent-banner/iab-consent-banner.js +0 -1
  467. package/dist/components/iab-consent-banner/index.cjs +0 -1
  468. package/dist/components/iab-consent-banner/index.js +0 -1
  469. package/dist/components/iab-consent-dialog/atoms/card.cjs +0 -1
  470. package/dist/components/iab-consent-dialog/atoms/card.js +0 -1
  471. package/dist/components/iab-consent-dialog/atoms/content.cjs +0 -1
  472. package/dist/components/iab-consent-dialog/atoms/content.js +0 -1
  473. package/dist/components/iab-consent-dialog/atoms/footer.cjs +0 -1
  474. package/dist/components/iab-consent-dialog/atoms/footer.js +0 -1
  475. package/dist/components/iab-consent-dialog/atoms/header.cjs +0 -1
  476. package/dist/components/iab-consent-dialog/atoms/header.js +0 -1
  477. package/dist/components/iab-consent-dialog/atoms/overlay.cjs +0 -1
  478. package/dist/components/iab-consent-dialog/atoms/overlay.js +0 -1
  479. package/dist/components/iab-consent-dialog/atoms/purpose-item.cjs +0 -1
  480. package/dist/components/iab-consent-dialog/atoms/purpose-item.js +0 -1
  481. package/dist/components/iab-consent-dialog/atoms/root.cjs +0 -1
  482. package/dist/components/iab-consent-dialog/atoms/root.js +0 -1
  483. package/dist/components/iab-consent-dialog/atoms/stack-item.cjs +0 -1
  484. package/dist/components/iab-consent-dialog/atoms/stack-item.js +0 -1
  485. package/dist/components/iab-consent-dialog/atoms/tabs.cjs +0 -1
  486. package/dist/components/iab-consent-dialog/atoms/tabs.js +0 -1
  487. package/dist/components/iab-consent-dialog/atoms/vendor-list.cjs +0 -1
  488. package/dist/components/iab-consent-dialog/atoms/vendor-list.js +0 -1
  489. package/dist/components/iab-consent-dialog/hooks/use-gvl-data.cjs +0 -1
  490. package/dist/components/iab-consent-dialog/hooks/use-gvl-data.js +0 -1
  491. package/dist/components/iab-consent-dialog/iab-consent-dialog.cjs +0 -1
  492. package/dist/components/iab-consent-dialog/iab-consent-dialog.js +0 -1
  493. package/dist/components/iab-consent-dialog/index.cjs +0 -1
  494. package/dist/components/iab-consent-dialog/index.js +0 -1
  495. package/dist/components/iab-consent-dialog/types.cjs +0 -1
  496. package/dist/components/iab-consent-dialog/use-iab-translations.cjs +0 -1
  497. package/dist/components/iab-consent-dialog/use-iab-translations.js +0 -1
  498. package/dist/components/integrations/google-map.cjs +0 -1
  499. package/dist/components/integrations/google-map.js +0 -1
  500. package/dist/components/integrations/index.cjs +0 -1
  501. package/dist/components/integrations/index.js +0 -1
  502. package/dist/components/integrations/shared.cjs +0 -1
  503. package/dist/components/integrations/shared.js +0 -1
  504. package/dist/components/integrations/youtube-embed.cjs +0 -1
  505. package/dist/components/integrations/youtube-embed.js +0 -1
  506. package/dist/components/shared/libs/polymorphic.cjs +0 -1
  507. package/dist/components/shared/libs/recursive-clone-children.cjs +0 -1
  508. package/dist/components/shared/libs/slot.cjs +0 -1
  509. package/dist/components/shared/libs/use-controllable-state.cjs +0 -1
  510. package/dist/components/shared/policy-actions.cjs +0 -1
  511. package/dist/components/shared/primitives/box.cjs +0 -1
  512. package/dist/components/shared/primitives/button.cjs +0 -1
  513. package/dist/components/shared/primitives/button.types.cjs +0 -1
  514. package/dist/components/shared/primitives/legal-links/index.cjs +0 -1
  515. package/dist/components/shared/ui/accordion/accordion.cjs +0 -1
  516. package/dist/components/shared/ui/accordion/accordion.types.cjs +0 -1
  517. package/dist/components/shared/ui/accordion/index.cjs +0 -1
  518. package/dist/components/shared/ui/animated-collapse/animated-collapse.cjs +0 -1
  519. package/dist/components/shared/ui/animated-collapse/index.cjs +0 -1
  520. package/dist/components/shared/ui/branding.cjs +0 -1
  521. package/dist/components/shared/ui/button/button.cjs +0 -1
  522. package/dist/components/shared/ui/button/button.types.cjs +0 -1
  523. package/dist/components/shared/ui/button/index.cjs +0 -1
  524. package/dist/components/shared/ui/collapsible/collapsible.cjs +0 -1
  525. package/dist/components/shared/ui/collapsible/index.cjs +0 -1
  526. package/dist/components/shared/ui/dialog/dialog.cjs +0 -1
  527. package/dist/components/shared/ui/dialog/index.cjs +0 -1
  528. package/dist/components/shared/ui/icon.cjs +0 -1
  529. package/dist/components/shared/ui/logo.cjs +0 -1
  530. package/dist/components/shared/ui/preference-item/index.cjs +0 -1
  531. package/dist/components/shared/ui/preference-item/preference-item.cjs +0 -1
  532. package/dist/components/shared/ui/switch/index.cjs +0 -1
  533. package/dist/components/shared/ui/switch/switch.cjs +0 -1
  534. package/dist/components/shared/ui/switch/switch.types.cjs +0 -1
  535. package/dist/components/shared/ui/tabs/index.cjs +0 -1
  536. package/dist/components/shared/ui/tabs/tabs.cjs +0 -1
  537. package/dist/context/consent-manager-context.cjs +0 -1
  538. package/dist/context/consent-manager-context.js +0 -1
  539. package/dist/context/consent-tracking-context.cjs +0 -1
  540. package/dist/context/theme-context.cjs +0 -1
  541. package/dist/headless.cjs +0 -1
  542. package/dist/hooks/index.cjs +0 -1
  543. package/dist/hooks/index.js +0 -1
  544. package/dist/hooks/use-color-scheme.cjs +0 -1
  545. package/dist/hooks/use-component-config.cjs +0 -1
  546. package/dist/hooks/use-consent-dialog-trigger.cjs +0 -1
  547. package/dist/hooks/use-consent-dialog-trigger.js +0 -1
  548. package/dist/hooks/use-consent-manager.cjs +0 -1
  549. package/dist/hooks/use-consent-manager.js +0 -1
  550. package/dist/hooks/use-consent-script.cjs +0 -1
  551. package/dist/hooks/use-consent-script.js +0 -1
  552. package/dist/hooks/use-focus-trap.cjs +0 -1
  553. package/dist/hooks/use-headless-consent-ui.cjs +0 -1
  554. package/dist/hooks/use-headless-consent-ui.js +0 -1
  555. package/dist/hooks/use-headless-iab-consent-ui.cjs +0 -1
  556. package/dist/hooks/use-reduced-motion.cjs +0 -1
  557. package/dist/hooks/use-scroll-lock.cjs +0 -1
  558. package/dist/hooks/use-ssr-status.cjs +0 -1
  559. package/dist/hooks/use-ssr-status.js +0 -1
  560. package/dist/hooks/use-styles.cjs +0 -1
  561. package/dist/hooks/use-styles.js +0 -1
  562. package/dist/hooks/use-text-direction.cjs +0 -1
  563. package/dist/hooks/use-theme.cjs +0 -1
  564. package/dist/hooks/use-translations.cjs +0 -1
  565. package/dist/hooks/use-translations.js +0 -1
  566. package/dist/iab.cjs +0 -1
  567. package/dist/index.cjs +0 -1
  568. package/dist/primitives/accordion.cjs +0 -1
  569. package/dist/primitives/button.cjs +0 -1
  570. package/dist/primitives/collapsible.cjs +0 -1
  571. package/dist/primitives/dialog.cjs +0 -1
  572. package/dist/primitives/preference-item.cjs +0 -1
  573. package/dist/primitives/switch.cjs +0 -1
  574. package/dist/primitives/tabs.cjs +0 -1
  575. package/dist/primitives.cjs +0 -1
  576. package/dist/providers/consent-manager-provider.cjs +0 -1
  577. package/dist/providers/consent-manager-provider.js +0 -1
  578. package/dist/server/fetch-ssr-data.cjs +0 -1
  579. package/dist/server/headers.cjs +0 -1
  580. package/dist/server/index.cjs +0 -1
  581. package/dist/server/init-cache-key.cjs +0 -1
  582. package/dist/server/normalize-url.cjs +0 -1
  583. package/dist/server/types.cjs +0 -1
  584. package/dist/types/consent-manager.cjs +0 -1
  585. package/dist/types/theme/index.cjs +0 -1
  586. package/dist/types/theme/style-keys.cjs +0 -1
  587. package/dist/types/theme/style-types.cjs +0 -1
  588. package/dist/utils/cn.cjs +0 -1
  589. package/dist/utils/merge-styles.cjs +0 -1
  590. package/dist/utils/test-helpers.cjs +0 -1
  591. package/dist/utils/test-helpers.js +0 -1
  592. package/dist/utils/theme-utils.cjs +0 -1
  593. package/dist/version.cjs +0 -1
  594. package/dist-types/components/consent-banner/atoms/root.d.ts +0 -126
  595. package/dist-types/components/consent-banner/policy-actions.d.ts +0 -11
  596. package/dist-types/components/consent-widget/policy-actions.d.ts +0 -11
  597. package/dist-types/components/iab-consent-dialog/hooks/use-gvl-data.d.ts +0 -27
  598. package/dist-types/components/iab-consent-dialog/types.d.ts +0 -72
  599. package/dist-types/components/integrations/google-map.d.ts +0 -82
  600. package/dist-types/components/integrations/index.d.ts +0 -2
  601. package/dist-types/components/integrations/shared.d.ts +0 -12
  602. package/dist-types/components/integrations/youtube-embed.d.ts +0 -95
  603. package/dist-types/context/consent-manager-context.d.ts +0 -31
  604. package/dist-types/hooks/index.d.ts +0 -12
  605. package/dist-types/hooks/use-consent-dialog-trigger.d.ts +0 -10
  606. package/dist-types/hooks/use-consent-manager.d.ts +0 -27
  607. package/dist-types/hooks/use-consent-script.d.ts +0 -80
  608. package/dist-types/hooks/use-headless-consent-ui.d.ts +0 -46
  609. package/dist-types/hooks/use-ssr-status.d.ts +0 -57
  610. package/dist-types/hooks/use-styles.d.ts +0 -21
  611. package/dist-types/hooks/use-translations.d.ts +0 -28
  612. package/dist-types/providers/consent-manager-provider.d.ts +0 -40
  613. package/dist-types/types/consent-manager.d.ts +0 -39
  614. package/dist-types/types/theme/style-keys.d.ts +0 -1
  615. package/dist-types/utils/test-helpers.d.ts +0 -31
  616. package/docs/frameworks/react/building-headless-components.md +0 -370
  617. package/docs/frameworks/react/callbacks.md +0 -186
  618. package/docs/frameworks/react/concepts/client-modes.md +0 -177
  619. package/docs/frameworks/react/concepts/consent-models.md +0 -113
  620. package/docs/frameworks/react/concepts/cookie-management.md +0 -122
  621. package/docs/frameworks/react/concepts/glossary.md +0 -24
  622. package/docs/frameworks/react/concepts/initialization-flow.md +0 -149
  623. package/docs/frameworks/react/concepts/policy-packs.md +0 -228
  624. package/docs/frameworks/react/hooks/use-color-scheme.md +0 -41
  625. package/docs/frameworks/react/hooks/use-consent-manager/checking-consent.md +0 -96
  626. package/docs/frameworks/react/hooks/use-consent-manager/location-info.md +0 -97
  627. package/docs/frameworks/react/hooks/use-consent-manager/setting-consent.md +0 -94
  628. package/docs/frameworks/react/hooks/use-draggable.md +0 -59
  629. package/docs/frameworks/react/hooks/use-focus-trap.md +0 -42
  630. package/docs/frameworks/react/hooks/use-reduced-motion.md +0 -37
  631. package/docs/frameworks/react/hooks/use-ssr-status.md +0 -32
  632. package/docs/frameworks/react/hooks/use-text-direction.md +0 -50
  633. package/docs/frameworks/react/hooks/use-translations.md +0 -55
  634. package/docs/frameworks/react/iab/consent-banner.md +0 -91
  635. package/docs/frameworks/react/iab/consent-dialog.md +0 -129
  636. package/docs/frameworks/react/iab/use-gvl-data.md +0 -21
  637. package/docs/frameworks/react/iframe-blocking.md +0 -106
  638. package/docs/frameworks/react/internationalization.md +0 -207
  639. package/docs/frameworks/react/network-blocker.md +0 -140
  640. package/docs/frameworks/react/optimization.md +0 -148
  641. package/docs/frameworks/react/policy-packs.md +0 -242
  642. package/docs/frameworks/react/server-side.md +0 -158
  643. package/docs/frameworks/react/styling/classnames.md +0 -94
  644. package/docs/frameworks/react/styling/color-scheme.md +0 -84
  645. package/docs/frameworks/react/styling/css-variables.md +0 -53
  646. package/docs/frameworks/react/styling/slots.md +0 -94
  647. package/docs/frameworks/react/styling/tailwind.md +0 -119
  648. package/docs/frameworks/react/styling/tokens.md +0 -156
  649. package/docs/shared/concepts/client-modes.md +0 -103
  650. package/docs/shared/concepts/consent-categories.md +0 -41
  651. package/docs/shared/concepts/consent-models.md +0 -72
  652. package/docs/shared/concepts/cookie-management.md +0 -88
  653. package/docs/shared/concepts/glossary.md +0 -24
  654. package/docs/shared/concepts/initialization-flow.md +0 -105
  655. package/docs/shared/concepts/policy-packs.md +0 -225
  656. package/docs/shared/react/components/consent-banner.md +0 -242
  657. package/docs/shared/react/components/consent-dialog-link.md +0 -45
  658. package/docs/shared/react/components/consent-dialog-trigger.md +0 -185
  659. package/docs/shared/react/components/consent-dialog.md +0 -119
  660. package/docs/shared/react/components/consent-manager-provider.md +0 -225
  661. package/docs/shared/react/components/consent-widget.md +0 -121
  662. package/docs/shared/react/components/dev-tools.md +0 -81
  663. package/docs/shared/react/components/frame.md +0 -52
  664. package/docs/shared/react/guides/building-headless-components.md +0 -110
  665. package/docs/shared/react/guides/callbacks.md +0 -89
  666. package/docs/shared/react/guides/headless.md +0 -31
  667. package/docs/shared/react/guides/iframe-blocking.md +0 -65
  668. package/docs/shared/react/guides/internationalization.md +0 -123
  669. package/docs/shared/react/guides/network-blocker.md +0 -72
  670. package/docs/shared/react/guides/optimization.md +0 -44
  671. package/docs/shared/react/guides/policy-packs.md +0 -173
  672. package/docs/shared/react/guides/script-loader.md +0 -311
  673. package/docs/shared/react/hooks/use-color-scheme.md +0 -31
  674. package/docs/shared/react/hooks/use-consent-manager/checking-consent.md +0 -95
  675. package/docs/shared/react/hooks/use-consent-manager/location-info.md +0 -96
  676. package/docs/shared/react/hooks/use-consent-manager/overview.md +0 -74
  677. package/docs/shared/react/hooks/use-consent-manager/setting-consent.md +0 -93
  678. package/docs/shared/react/hooks/use-draggable.md +0 -30
  679. package/docs/shared/react/hooks/use-focus-trap.md +0 -20
  680. package/docs/shared/react/hooks/use-reduced-motion.md +0 -33
  681. package/docs/shared/react/hooks/use-ssr-status.md +0 -16
  682. package/docs/shared/react/hooks/use-text-direction.md +0 -38
  683. package/docs/shared/react/hooks/use-translations.md +0 -15
  684. package/docs/shared/react/iab/consent-banner.md +0 -60
  685. package/docs/shared/react/iab/consent-dialog.md +0 -76
  686. package/docs/shared/react/iab/overview.md +0 -80
  687. package/docs/shared/react/iab/use-gvl-data.md +0 -21
  688. package/docs/shared/react/styling/classnames.md +0 -93
  689. package/docs/shared/react/styling/color-scheme.md +0 -35
  690. package/docs/shared/react/styling/css-variables.md +0 -53
  691. package/docs/shared/react/styling/overview.md +0 -261
  692. package/docs/shared/react/styling/slots.md +0 -93
  693. package/docs/shared/react/styling/stylesheet-entrypoint.md +0 -8
  694. package/docs/shared/react/styling/tailwind.md +0 -88
  695. package/docs/shared/react/styling/tokens.md +0 -155
  696. package/docs/shared/troubleshooting.md +0 -82
  697. /package/dist/components/{consent-dialog-trigger → iab-panel}/types.js +0 -0
  698. /package/dist/components/{consent-widget → panel-trigger}/types.js +0 -0
  699. /package/dist/components/{iab-consent-dialog → preferences}/types.js +0 -0
  700. /package/dist/types/{consent-manager.js → manager.js} +0 -0
  701. /package/dist/types/{theme/style-keys.js → slots.js} +0 -0
  702. /package/dist-types/components/{consent-dialog-link → panel-link}/index.d.ts +0 -0
  703. /package/dist-types/components/{consent-widget → preferences}/atoms/button.d.ts +0 -0
  704. /package/dist-types/components/{consent-widget/consent-widget.d.ts → preferences/preferences.d.ts} +0 -0
  705. /package/dist-types/components/{consent-widget → preferences}/types.d.ts +0 -0
@@ -1 +1 @@
1
- function e(e){return e}export{e as defineTheme};
1
+ let e=function(e){return e};export{e as defineTheme};
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{createContext as t,useContext as o}from"react";let e=t({});e.displayName="C15tV3UIConfigContext";let n=function(){return o(e)};export{e as V3UIConfigContext,n as useUIConfig};
@@ -0,0 +1 @@
1
+ let e=new WeakMap,t=t=>{e.set(t,{})},n=async(n,a,i)=>{let o={};e.set(n,o);let l="dialog"===n.getSnapshot().activeUI,s=a();l&&e.get(n)===o&&n.set.activeUI("dialog");let g=n.subscribe(a=>{l&&"dialog"!==a.activeUI&&e.get(n)===o&&t(n)});try{let t=await s;if(t.ok&&i()&&l&&e.get(n)===o){let e=n.getSnapshot();n.set.activeUI(e.policyPending||"failed"===e.resolution.status||"none"===e.promptRequirement.kind?"none":"banner")}return t}finally{g()}};export{t as invalidateConsentUIAction,n as saveConsentUI};
package/dist/utils/cn.js CHANGED
@@ -1 +1 @@
1
- import{cn as t}from"@c15t/ui/utils";function r(...i){return t(...i)}export{r as cnExt};
1
+ import{cn as t}from"@c15t/ui/utils";let n=function(...n){return t(...n)};export{n as cnExt};
@@ -0,0 +1 @@
1
+ import{translations as n}from"@c15t/translations/en";let t={defaultLanguage:"en",translations:{en:n}};export{t as defaultTranslationConfig};
@@ -0,0 +1 @@
1
+ export*from"./cn.js";export*from"./default-translation-config.js";export*from"./merge-styles.js";export*from"./theme-utils.js";
@@ -0,0 +1 @@
1
+ import{cnExt as e}from"./cn.js";let t=function(e,t){if(!t)return;let[o,r]=t.split(".");return e?.[o]?.[r]},o=function(t,{baseClassName:o,className:r,noStyle:s,style:l,...p}){let i=t?.style||l?{...t?.style,...l}:void 0,m=e(s?void 0:o,t?.className,r);return{...t,...p,className:m||void 0,style:i}};export{t as getSlotProps,o as mergeSlotProps};
@@ -1 +1 @@
1
- import{mergeStyles as e}from"@c15t/ui/utils";function t(t,r){return e(t,r)}export{t as mergeStyles};
1
+ import{mergeStyles as e}from"@c15t/ui/utils";let t=function(t,r){return e(t,r)};export{t as mergeStyles};
@@ -1 +1 @@
1
- import{defaultTheme as e,generateThemeCSS as t,themeToVars as m}from"@c15t/ui/theme";let r=e;function h(e,t=!1){return m(e,t)}function u(e){return t(e)}export{r as defaultTheme,u as generateThemeCSS,h as themeToVars};
1
+ import{defaultTheme as e,generateThemeCSS as t,themeToVars as m}from"@c15t/ui/theme";let a=e,r=function(e,t=!1){return m(e,t)},h=function(e){return t(e)};export{a as defaultTheme,h as generateThemeCSS,r as themeToVars};
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- let e="2.2.1";export{e as version};
1
+ let e="3.0.0-alpha.1";export{e as version};
@@ -0,0 +1,4 @@
1
+ import type { ConsentDialogCompoundComponent } from './components/panel';
2
+ import type { ConsentWidgetCompoundComponent } from './components/preferences';
3
+ export declare const ConsentDialog: ConsentDialogCompoundComponent;
4
+ export declare const ConsentWidget: ConsentWidgetCompoundComponent;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Chunk-warming registry (Vue-parity perf work, item #2).
3
+ *
4
+ * The aggregate `ConsentDialog` is lazy-loaded and — since the interaction
5
+ * fix — deferred until it can actually render. That leaves one cold path:
6
+ * the user's *first* "customize" click pays the chunk network+parse cost
7
+ * under throttle. Surfaces register their lazy import here, and intent
8
+ * signals (pointerenter/focus on the customize button) warm the chunk
9
+ * before the click.
10
+ *
11
+ * Module-level registry keeps banner components decoupled from the
12
+ * aggregate exports (no context change, tree-shakes with the aggregate).
13
+ */
14
+ type Warmer = () => void;
15
+ /** Register a lazy chunk's import trigger. Returns an unregister fn. */
16
+ export declare const registerDialogChunkWarmer: (warmer: Warmer) => () => void;
17
+ /** Fire all registered warmers once (idempotent). */
18
+ export declare const warmDialogChunk: () => void;
19
+ export {};
@@ -0,0 +1,68 @@
1
+ import type { ConsentPresentation, PresentationAction, ResolvedConsentPresentation } from '@c15t/core';
2
+ export type HeadlessConsentSurface = 'banner' | 'dialog';
3
+ export type HeadlessConsentSurfaceAction = PresentationAction;
4
+ export type HeadlessConsentWriteAction = 'accept' | 'reject' | 'save';
5
+ export type HeadlessConsentBannerAction = PresentationAction;
6
+ export type HeadlessConsentDialogAction = PresentationAction;
7
+ export interface HeadlessConsentSurfaceState<Action extends string = PresentationAction> extends Omit<ResolvedConsentPresentation, 'allowedActions' | 'orderedActions' | 'actionGroups' | 'primaryActions'> {
8
+ allowedActions: Action[];
9
+ orderedActions: Action[];
10
+ actionGroups: Action[][];
11
+ primaryActions: Action[];
12
+ isVisible: boolean;
13
+ }
14
+ export type HeadlessConsentBannerState = HeadlessConsentSurfaceState;
15
+ export type HeadlessConsentDialogState = HeadlessConsentSurfaceState;
16
+ /** Resolve required controls with optional component-level presentation. */
17
+ export declare const useHeadlessConsentUI: (overrides?: ConsentPresentation) => {
18
+ activeUI: import("@c15t/core").KernelActiveUI;
19
+ banner: {
20
+ allowedActions: PresentationAction[];
21
+ requiredActions: PresentationAction[];
22
+ equivalentActions: PresentationAction[][];
23
+ orderedActions: PresentationAction[];
24
+ actionGroups: PresentationAction[][];
25
+ primaryActions: PresentationAction[];
26
+ diagnostics: import("@c15t/core").PresentationDiagnostic[];
27
+ rights: readonly import("@c15t/schema/types").PolicyRight[];
28
+ preferenceControls: Exclude<import("@c15t/schema/types").PolicyRight, 'disclosure'>[];
29
+ direction: 'row' | 'column';
30
+ uiProfile: 'balanced' | 'compact' | 'strict';
31
+ scrollLock: boolean;
32
+ trapFocus: boolean;
33
+ shouldFillActions: boolean;
34
+ variant: import("@c15t/core").PromptVariant;
35
+ position: import("@c15t/core").PromptPosition;
36
+ positionSource: 'host' | 'default';
37
+ blocking: boolean;
38
+ isVisible: boolean;
39
+ };
40
+ closeUI: () => void;
41
+ dialog: {
42
+ allowedActions: PresentationAction[];
43
+ requiredActions: PresentationAction[];
44
+ equivalentActions: PresentationAction[][];
45
+ orderedActions: PresentationAction[];
46
+ actionGroups: PresentationAction[][];
47
+ primaryActions: PresentationAction[];
48
+ diagnostics: import("@c15t/core").PresentationDiagnostic[];
49
+ rights: readonly import("@c15t/schema/types").PolicyRight[];
50
+ preferenceControls: Exclude<import("@c15t/schema/types").PolicyRight, 'disclosure'>[];
51
+ direction: 'row' | 'column';
52
+ uiProfile: 'balanced' | 'compact' | 'strict';
53
+ scrollLock: boolean;
54
+ trapFocus: boolean;
55
+ shouldFillActions: boolean;
56
+ variant: import("@c15t/core").PromptVariant;
57
+ position: import("@c15t/core").PromptPosition;
58
+ positionSource: 'host' | 'default';
59
+ blocking: boolean;
60
+ isVisible: boolean;
61
+ };
62
+ openBanner: () => void;
63
+ openDialog: () => void;
64
+ performAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
65
+ performBannerAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
66
+ performDialogAction: (action: PresentationAction) => void | Promise<import("@c15t/core").SaveResult> | Promise<import("@c15t/core").NoticeDismissResult>;
67
+ saveCustomPreferences: (input?: import("@c15t/core").SaveInput) => Promise<import("@c15t/core").SaveResult>;
68
+ };
@@ -0,0 +1,22 @@
1
+ export declare const useHeadlessIABConsentUI: () => {
2
+ activeUI: import("@c15t/core").ActiveUI;
3
+ banner: {
4
+ isReady: boolean;
5
+ vendorCount: number;
6
+ displayItems: string[];
7
+ remainingCount: number;
8
+ scrollLock: boolean | undefined;
9
+ };
10
+ closeUI: () => void;
11
+ dialog: {
12
+ isReady: boolean;
13
+ scrollLock: boolean | undefined;
14
+ };
15
+ iab: import("../iab-context").ReactIABState | null;
16
+ openDialog: (options?: {
17
+ tab?: 'purposes' | 'vendors';
18
+ }) => void;
19
+ openVendorsDialog: () => void;
20
+ performBannerAction: (action: 'accept' | 'reject' | 'customize') => Promise<void>;
21
+ performDialogAction: (action: 'accept' | 'reject' | 'customize') => Promise<void>;
22
+ };
@@ -0,0 +1,40 @@
1
+ import type { ActiveUI, AllConsentNames, ConsentState, ConsentType, HasCondition, Model, PromptPresentation, TranslationConfig } from '@c15t/core';
2
+ type SaveType = 'all' | 'custom' | 'necessary';
3
+ export declare const useConsentManager: () => {
4
+ activeUI: ActiveUI;
5
+ branding: import("@c15t/core").KernelBranding;
6
+ consentCategories: AllConsentNames[];
7
+ consentTypes: ConsentType[];
8
+ consents: ConsentState;
9
+ draftIsStale: boolean;
10
+ effectivePermissions: Readonly<ConsentState>;
11
+ explicitChoice: Readonly<import("@c15t/core").ExplicitChoice> | null;
12
+ getDisplayedConsents: () => ConsentType[];
13
+ has: (condition: HasCondition<AllConsentNames>) => boolean;
14
+ iab: Readonly<import("@c15t/core").KernelIABState> | null;
15
+ manager: null;
16
+ model: Model;
17
+ noticeDismissal: Readonly<import("@c15t/core").NoticeDismissal> | null;
18
+ optOutDirectives: readonly import("@c15t/core").PrivacyOptOut[];
19
+ policyBanner: PromptPresentation;
20
+ policyCategories: AllConsentNames[];
21
+ policyDialog: import("@c15t/core").PreferencesPresentation;
22
+ policyRule: Readonly<import("@c15t/core").ResolvedPolicyRule>;
23
+ policyScopeMode: import("@c15t/core").PolicyScopeMode;
24
+ privacySignals: import("@c15t/core").KernelPrivacySignals;
25
+ promptRequirement: Readonly<import("@c15t/core").PromptRequirement>;
26
+ resetDraft: () => void;
27
+ resolution: Readonly<import("@c15t/core").PolicyResolution>;
28
+ restrictions: Readonly<Partial<Record<import("@c15t/core").OptionalConsentCategory, readonly import("@c15t/core").RestrictionReason[]>>>;
29
+ saveConsents: (type: SaveType, _options?: {
30
+ uiSource?: string;
31
+ }) => Promise<void>;
32
+ selectedConsentTypes: Readonly<ConsentState>;
33
+ selectedConsents: Readonly<ConsentState>;
34
+ setActiveUI: (ui: ActiveUI) => void;
35
+ setSelectedConsent: (name: AllConsentNames, value: boolean) => void;
36
+ subscribeToConsentChanges: (listener: (state: ConsentState) => void) => () => void;
37
+ translationConfig: TranslationConfig;
38
+ updateConsentCategories: (_names: AllConsentNames[]) => void;
39
+ };
40
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * When a trigger surface is visible.
3
+ *
4
+ * - `always` renders whenever the preference center is closed.
5
+ * - `after-prompt` renders only once no prompt is owed: after a choice is
6
+ * saved or a notice is dismissed, and again when a policy change asks
7
+ * for a new prompt is answered.
8
+ * - `never` hides the surface so the host can open the dialog itself.
9
+ */
10
+ export type ConsentDialogTriggerVisibility = 'always' | 'after-prompt' | 'never';
11
+ export interface UseConsentDialogTriggerOptions {
12
+ showWhen?: ConsentDialogTriggerVisibility;
13
+ onClick?: () => void;
14
+ }
15
+ export interface UseConsentDialogTriggerResult {
16
+ isVisible: boolean;
17
+ openDialog: () => void;
18
+ }
19
+ /** Persistent preferences access does not depend on a choice or prompt. */
20
+ export declare const useConsentDialogTrigger: (options?: UseConsentDialogTriggerOptions) => UseConsentDialogTriggerResult;
@@ -0,0 +1,2 @@
1
+ import type { Translations } from '@c15t/core';
2
+ export declare const useTranslations: () => Translations;
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  import type { ConsentButtonProps } from '../shared/primitives/button.types';
3
3
  /**
4
4
  * Inline trigger for opening the consent dialog from places like site footers.
@@ -1,11 +1,11 @@
1
- import type { AllConsentNames } from 'c15t';
2
- import { type BoxProps } from '../shared/primitives/box';
1
+ import type { AllConsentNames } from '@c15t/core';
2
+ import type { BoxProps } from '../shared/primitives/box';
3
3
  import type { ConsentButtonProps } from '../shared/primitives/button.types';
4
- declare const FrameRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & import("react").RefAttributes<HTMLDivElement>>;
5
- declare const FrameTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "themeKey"> & {
4
+ declare const FrameRoot: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ declare const FrameTitle: import("react").ForwardRefExoticComponent<Omit<BoxProps, "slotKey"> & {
6
6
  category?: AllConsentNames;
7
7
  } & import("react").RefAttributes<HTMLDivElement>>;
8
- declare const FrameButton: import("react").ForwardRefExoticComponent<Omit<ConsentButtonProps, "themeKey"> & {
8
+ declare const FrameButton: import("react").ForwardRefExoticComponent<Omit<ConsentButtonProps, "slotKey"> & {
9
9
  category: AllConsentNames;
10
10
  } & import("react").RefAttributes<HTMLButtonElement>>;
11
11
  export { FrameButton, FrameRoot, FrameTitle };
@@ -1,5 +1,6 @@
1
- import type { AllConsentNames } from 'c15t';
1
+ import type { AllConsentNames } from '@c15t/core';
2
2
  import type { ComponentPropsWithRef, FC, ReactNode } from 'react';
3
+ import type { Theme } from '../../types/theme';
3
4
  import type * as Atom from './atoms';
4
5
  export interface FrameProps extends ComponentPropsWithRef<'div'> {
5
6
  /**
@@ -27,7 +28,7 @@ export interface FrameProps extends ComponentPropsWithRef<'div'> {
27
28
  *
28
29
  * @default undefined
29
30
  */
30
- theme?: any;
31
+ theme?: Theme;
31
32
  }
32
33
  export interface FrameCompoundComponent extends FC<FrameProps> {
33
34
  Root: typeof Atom.FrameRoot;
@@ -1,6 +1,7 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentDialogCardProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
+ 'data-testid'?: string;
4
5
  }
5
6
  /**
6
7
  * Card component for the IAB Consent Dialog.
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentDialogContentProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentDialogFooterProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children?: ReactNode;
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type ReactNode } from 'react';
1
+ import type { ReactNode } from 'react';
2
2
  interface IABConsentDialogHeaderProps {
3
3
  children?: ReactNode;
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import type { HTMLAttributes } from 'react';
2
2
  interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
3
3
  noStyle?: boolean;
4
4
  isOpen: boolean;
@@ -1,7 +1,13 @@
1
- import { type FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  import type { ProcessedPurpose, VendorId } from '../types';
3
3
  interface PurposeItemProps {
4
4
  purpose: ProcessedPurpose;
5
+ /**
6
+ * The row's `data-testid`. Comes from the shared display model, which
7
+ * namespaces it by row kind — a purpose, a special purpose and a
8
+ * special feature can all be numbered `1`.
9
+ */
10
+ testId?: string;
5
11
  isEnabled: boolean;
6
12
  onToggle: (value: boolean) => void;
7
13
  vendorConsents: Record<string, boolean>;
@@ -1,4 +1,5 @@
1
- import { type FC, type ReactNode } from 'react';
1
+ import type * as C15tCoreTypes from '@c15t/core';
2
+ import type { FC, ReactNode } from 'react';
2
3
  interface IABConsentDialogRootProps {
3
4
  children: ReactNode;
4
5
  /**
@@ -13,7 +14,7 @@ interface IABConsentDialogRootProps {
13
14
  * Which consent models this dialog responds to.
14
15
  * @default ['iab']
15
16
  */
16
- models?: import('c15t').Model[];
17
+ models?: C15tCoreTypes.Model[];
17
18
  /**
18
19
  * Override the UI source identifier sent with consent API calls.
19
20
  * @default 'iab_dialog'
@@ -1,4 +1,4 @@
1
- import { type FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  import type { ProcessedStack, VendorId } from '../types';
3
3
  interface StackItemProps {
4
4
  stack: ProcessedStack;
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentDialogTabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange'> {
3
3
  children?: ReactNode;
4
4
  defaultTab?: 'purposes' | 'vendors';
@@ -1,7 +1,6 @@
1
- import type { GlobalVendorList } from 'c15t';
2
- import { type FC } from 'react';
1
+ import type { GlobalVendorList } from '@c15t/core';
2
+ import type { FC } from 'react';
3
3
  import type { ProcessedPurpose, VendorId } from '../types';
4
- /** Custom vendor not registered with IAB */
5
4
  interface CustomVendor {
6
5
  id: string | number;
7
6
  name: string;
@@ -0,0 +1,18 @@
1
+ import type { HeadlessIABDialogDisplayModel } from '@c15t/iab/headless';
2
+ /**
3
+ * The rows the IAB preference centre renders.
4
+ * @public
5
+ */
6
+ export type IABDisplayModel = HeadlessIABDialogDisplayModel;
7
+ /**
8
+ * Hook over the shared IAB display model.
9
+ *
10
+ * @remarks
11
+ * React wrapper around `resolveIABDialogDisplayModel` from
12
+ * `@c15t/iab/headless`, so React, Svelte, Vue and the Astro server render
13
+ * agree on which rows a preference centre shows and in what order.
14
+ *
15
+ * @returns The ordered rows plus the tab counts.
16
+ * @public
17
+ */
18
+ export declare const useIABDisplayModel: () => IABDisplayModel;
@@ -0,0 +1,17 @@
1
+ import type { HeadlessIABDialogData } from '@c15t/iab/headless';
2
+ /**
3
+ * Processed GVL data for the IAB Consent Dialog.
4
+ * @public
5
+ */
6
+ export type GVLData = HeadlessIABDialogData;
7
+ /**
8
+ * Hook to process GVL (Global Vendor List) data into UI-friendly format.
9
+ *
10
+ * @remarks
11
+ * React wrapper around the framework-agnostic headless processor from
12
+ * `@c15t/iab/headless`.
13
+ *
14
+ * @returns Processed GVL data ready for UI rendering
15
+ * @public
16
+ */
17
+ export declare const useGVLData: () => GVLData;
@@ -1,5 +1,6 @@
1
- import { type FC } from 'react';
2
- import { type ConsentDialogTriggerProps } from '../consent-dialog-trigger';
1
+ import type * as C15tCoreTypes from '@c15t/core';
2
+ import type { FC } from 'react';
3
+ import type { ConsentDialogTriggerProps } from '../panel-trigger';
3
4
  /**
4
5
  * Props for the IABConsentDialog component.
5
6
  * @public
@@ -45,11 +46,17 @@ export interface IABConsentDialogProps {
45
46
  * @default false
46
47
  */
47
48
  showTrigger?: boolean | ConsentDialogTriggerProps;
49
+ /**
50
+ * Which tab the preference centre opens on. Lets a "N partners" link
51
+ * land on the vendor list instead of purposes.
52
+ * @default 'purposes'
53
+ */
54
+ initialTab?: 'purposes' | 'vendors';
48
55
  /**
49
56
  * Which consent models this dialog responds to.
50
57
  * @default ['iab']
51
58
  */
52
- models?: import('c15t').Model[];
59
+ models?: C15tCoreTypes.Model[];
53
60
  /**
54
61
  * Override the UI source identifier sent with consent API calls.
55
62
  * @default 'iab_dialog'
@@ -17,7 +17,7 @@ import { IABConsentDialogRoot } from './atoms/root';
17
17
  import { StackItem } from './atoms/stack-item';
18
18
  import { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
19
19
  import { VendorList } from './atoms/vendor-list';
20
- import { type IABConsentDialogProps } from './iab-consent-dialog';
20
+ import type { IABConsentDialogProps } from './iab-panel';
21
21
  /**
22
22
  * This interface extends the base IABConsentDialog component with additional sub-components
23
23
  * that can be used to compose the consent dialog's structure.
@@ -84,8 +84,9 @@ export { IABConsentDialogOverlay } from './atoms/overlay';
84
84
  export { PurposeItem } from './atoms/purpose-item';
85
85
  export { IABConsentDialogRoot } from './atoms/root';
86
86
  export { StackItem } from './atoms/stack-item';
87
- export { IABConsentDialogTabButton, IABConsentDialogTabs, } from './atoms/tabs';
87
+ export { IABConsentDialogTabButton, IABConsentDialogTabs } from './atoms/tabs';
88
88
  export { VendorList } from './atoms/vendor-list';
89
+ export { type IABDisplayModel, useIABDisplayModel, } from './hooks/use-display-model';
89
90
  export { type GVLData, useGVLData } from './hooks/use-gvl-data';
90
91
  export type { ProcessedPurpose, ProcessedSpecialFeature, ProcessedStack, ProcessedVendor, } from './types';
91
92
  export { IABConsentDialog, type IABConsentDialogProps };
@@ -0,0 +1 @@
1
+ export type { HeadlessIABProcessedFeature as ProcessedFeature, HeadlessIABProcessedPurpose as ProcessedPurpose, HeadlessIABProcessedSpecialFeature as ProcessedSpecialFeature, HeadlessIABProcessedStack as ProcessedStack, HeadlessIABProcessedVendor as ProcessedVendor, HeadlessIABVendorId as VendorId, } from '@c15t/iab/headless';
@@ -65,6 +65,8 @@ interface IABTranslations {
65
65
  privacyPolicy: string;
66
66
  storageDisclosure: string;
67
67
  requiredNotice: string;
68
+ partnerSingular: string;
69
+ partnerPlural: string;
68
70
  };
69
71
  footer: {
70
72
  consentStorage: string;
@@ -79,5 +81,5 @@ interface IABTranslations {
79
81
  *
80
82
  * @returns Complete IAB translations object
81
83
  */
82
- export declare function useIABTranslations(): IABTranslations;
84
+ export declare const useIABTranslations: () => IABTranslations;
83
85
  export {};
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
4
  }
@@ -1,6 +1,7 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerCardProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
+ 'data-testid'?: string;
4
5
  }
5
6
  /**
6
7
  * Card component for the IAB Consent Banner.
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
3
3
  children: ReactNode;
4
4
  }
@@ -1,6 +1,7 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerFooterProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
+ 'data-testid'?: string;
4
5
  }
5
6
  /**
6
7
  * Footer component for the IAB Consent Banner.
@@ -1,6 +1,7 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerHeaderProps extends HTMLAttributes<HTMLDivElement> {
3
3
  children: ReactNode;
4
+ 'data-testid'?: string;
4
5
  }
5
6
  /**
6
7
  * Header component for the IAB Consent Banner.
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import type { HTMLAttributes } from 'react';
2
2
  interface OverlayProps extends HTMLAttributes<HTMLDivElement> {
3
3
  noStyle?: boolean;
4
4
  }
@@ -1,4 +1,5 @@
1
- import { type FC, type HTMLAttributes, type ReactNode } from 'react';
1
+ import type * as C15tCoreTypes from '@c15t/core';
2
+ import type { FC, HTMLAttributes, ReactNode } from 'react';
2
3
  interface IABConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
3
4
  children: ReactNode;
4
5
  noStyle?: boolean;
@@ -9,7 +10,7 @@ interface IABConsentBannerRootProps extends HTMLAttributes<HTMLDivElement> {
9
10
  * Which consent models this banner responds to.
10
11
  * @default ['iab']
11
12
  */
12
- models?: import('c15t').Model[];
13
+ models?: C15tCoreTypes.Model[];
13
14
  /**
14
15
  * Override the UI source identifier sent with consent API calls.
15
16
  * @default 'iab_banner'
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes, type ReactNode } from 'react';
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
2
  interface IABConsentBannerTitleProps extends HTMLAttributes<HTMLHeadingElement> {
3
3
  children: ReactNode;
4
4
  }
@@ -1,4 +1,5 @@
1
- import { type FC } from 'react';
1
+ import type * as C15tCoreTypes from '@c15t/core';
2
+ import type { FC } from 'react';
2
3
  /**
3
4
  * Props for the IABConsentBanner component.
4
5
  * @public
@@ -33,7 +34,7 @@ export interface IABConsentBannerProps {
33
34
  * Which consent models this banner responds to.
34
35
  * @default ['iab']
35
36
  */
36
- models?: import('c15t').Model[];
37
+ models?: C15tCoreTypes.Model[];
37
38
  /**
38
39
  * Override the UI source identifier sent with consent API calls.
39
40
  * @default 'iab_banner'
@@ -54,9 +55,14 @@ export interface IABConsentBannerProps {
54
55
  *
55
56
  * @example
56
57
  * ```tsx
57
- * <ConsentManagerProvider options={{ iab: { enabled: true, cmpId: 000, vendors: [1, 2, 10] } }}>
58
+ * <ConsentProvider
59
+ * options={{
60
+ * mode: hosted({ url: '/api/c15t' }),
61
+ * iab: { cmpId: 123, vendors: [1, 2, 10] },
62
+ * }}
63
+ * >
58
64
  * <IABConsentBanner />
59
- * </ConsentManagerProvider>
65
+ * </ConsentProvider>
60
66
  * ```
61
67
  *
62
68
  * @public
@@ -15,7 +15,7 @@ import { IABConsentBannerHeader } from './atoms/header';
15
15
  import { IABConsentBannerOverlay } from './atoms/overlay';
16
16
  import { IABConsentBannerRoot } from './atoms/root';
17
17
  import { IABConsentBannerTitle } from './atoms/title';
18
- import { type IABConsentBannerProps } from './iab-consent-banner';
18
+ import type { IABConsentBannerProps } from './iab-prompt';
19
19
  /**
20
20
  * This interface extends the base IABConsentBanner component with additional sub-components
21
21
  * that can be used to compose the banner's structure.