@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
@@ -1,212 +0,0 @@
1
- /**
2
- * Mock Consent State for IAB React Component Tests
3
- *
4
- * Provides mock IAB state objects for testing React components.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { GlobalVendorList } from 'c15t';
9
- /**
10
- * Mock GVL for React component testing
11
- */
12
- export declare const mockGVL: GlobalVendorList;
13
- /**
14
- * Mock IAB state for testing components
15
- */
16
- export declare function createMockIABState(overrides?: Partial<{
17
- gvl: GlobalVendorList | null;
18
- isLoadingGVL: boolean;
19
- purposeConsents: Record<number, boolean>;
20
- purposeLegitimateInterests: Record<number, boolean>;
21
- vendorConsents: Record<string, boolean>;
22
- vendorLegitimateInterests: Record<string, boolean>;
23
- specialFeatureOptIns: Record<number, boolean>;
24
- vendorsDisclosed: Record<number, boolean>;
25
- tcString: string | null;
26
- preferenceCenterTab: 'purposes' | 'vendors';
27
- }>): {
28
- gvl: GlobalVendorList | null;
29
- isLoadingGVL: boolean;
30
- purposeConsents: Record<number, boolean>;
31
- purposeLegitimateInterests: Record<number, boolean>;
32
- vendorConsents: Record<string, boolean>;
33
- vendorLegitimateInterests: Record<string, boolean>;
34
- specialFeatureOptIns: Record<number, boolean>;
35
- vendorsDisclosed: Record<number, boolean>;
36
- tcString: string | null;
37
- preferenceCenterTab: "purposes" | "vendors";
38
- config: {
39
- enabled: boolean;
40
- cmpId: number;
41
- cmpVersion: number;
42
- };
43
- nonIABVendors: never[];
44
- cmpApi: null;
45
- setPurposeConsent: () => void;
46
- setPurposeLegitimateInterest: () => void;
47
- setVendorConsent: () => void;
48
- setVendorLegitimateInterest: () => void;
49
- setSpecialFeatureOptIn: () => void;
50
- setPreferenceCenterTab: () => void;
51
- acceptAll: () => void;
52
- rejectAll: () => void;
53
- save: () => void;
54
- _updateState: () => void;
55
- };
56
- /**
57
- * Mock IAB state with all consents accepted
58
- */
59
- export declare function createMockIABStateAllAccepted(): {
60
- gvl: GlobalVendorList | null;
61
- isLoadingGVL: boolean;
62
- purposeConsents: Record<number, boolean>;
63
- purposeLegitimateInterests: Record<number, boolean>;
64
- vendorConsents: Record<string, boolean>;
65
- vendorLegitimateInterests: Record<string, boolean>;
66
- specialFeatureOptIns: Record<number, boolean>;
67
- vendorsDisclosed: Record<number, boolean>;
68
- tcString: string | null;
69
- preferenceCenterTab: "purposes" | "vendors";
70
- config: {
71
- enabled: boolean;
72
- cmpId: number;
73
- cmpVersion: number;
74
- };
75
- nonIABVendors: never[];
76
- cmpApi: null;
77
- setPurposeConsent: () => void;
78
- setPurposeLegitimateInterest: () => void;
79
- setVendorConsent: () => void;
80
- setVendorLegitimateInterest: () => void;
81
- setSpecialFeatureOptIn: () => void;
82
- setPreferenceCenterTab: () => void;
83
- acceptAll: () => void;
84
- rejectAll: () => void;
85
- save: () => void;
86
- _updateState: () => void;
87
- };
88
- /**
89
- * Mock IAB state with loading GVL
90
- */
91
- export declare function createMockIABStateLoading(): {
92
- gvl: GlobalVendorList | null;
93
- isLoadingGVL: boolean;
94
- purposeConsents: Record<number, boolean>;
95
- purposeLegitimateInterests: Record<number, boolean>;
96
- vendorConsents: Record<string, boolean>;
97
- vendorLegitimateInterests: Record<string, boolean>;
98
- specialFeatureOptIns: Record<number, boolean>;
99
- vendorsDisclosed: Record<number, boolean>;
100
- tcString: string | null;
101
- preferenceCenterTab: "purposes" | "vendors";
102
- config: {
103
- enabled: boolean;
104
- cmpId: number;
105
- cmpVersion: number;
106
- };
107
- nonIABVendors: never[];
108
- cmpApi: null;
109
- setPurposeConsent: () => void;
110
- setPurposeLegitimateInterest: () => void;
111
- setVendorConsent: () => void;
112
- setVendorLegitimateInterest: () => void;
113
- setSpecialFeatureOptIn: () => void;
114
- setPreferenceCenterTab: () => void;
115
- acceptAll: () => void;
116
- rejectAll: () => void;
117
- save: () => void;
118
- _updateState: () => void;
119
- };
120
- /**
121
- * Mock IAB state with LI objections
122
- */
123
- export declare function createMockIABStateWithLIObjections(): {
124
- gvl: GlobalVendorList | null;
125
- isLoadingGVL: boolean;
126
- purposeConsents: Record<number, boolean>;
127
- purposeLegitimateInterests: Record<number, boolean>;
128
- vendorConsents: Record<string, boolean>;
129
- vendorLegitimateInterests: Record<string, boolean>;
130
- specialFeatureOptIns: Record<number, boolean>;
131
- vendorsDisclosed: Record<number, boolean>;
132
- tcString: string | null;
133
- preferenceCenterTab: "purposes" | "vendors";
134
- config: {
135
- enabled: boolean;
136
- cmpId: number;
137
- cmpVersion: number;
138
- };
139
- nonIABVendors: never[];
140
- cmpApi: null;
141
- setPurposeConsent: () => void;
142
- setPurposeLegitimateInterest: () => void;
143
- setVendorConsent: () => void;
144
- setVendorLegitimateInterest: () => void;
145
- setSpecialFeatureOptIn: () => void;
146
- setPreferenceCenterTab: () => void;
147
- acceptAll: () => void;
148
- rejectAll: () => void;
149
- save: () => void;
150
- _updateState: () => void;
151
- };
152
- /**
153
- * Custom vendor for testing non-IAB vendors
154
- */
155
- export declare const mockCustomVendor: {
156
- id: string;
157
- name: string;
158
- privacyPolicyUrl: string;
159
- description: string;
160
- purposes: number[];
161
- legIntPurposes: number[];
162
- features: number[];
163
- dataCategories: number[];
164
- usesCookies: boolean;
165
- cookieMaxAgeSeconds: number;
166
- dataRetentionDays: number;
167
- };
168
- /**
169
- * Mock IAB state with custom vendors
170
- */
171
- export declare function createMockIABStateWithCustomVendors(): {
172
- nonIABVendors: {
173
- id: string;
174
- name: string;
175
- privacyPolicyUrl: string;
176
- description: string;
177
- purposes: number[];
178
- legIntPurposes: number[];
179
- features: number[];
180
- dataCategories: number[];
181
- usesCookies: boolean;
182
- cookieMaxAgeSeconds: number;
183
- dataRetentionDays: number;
184
- }[];
185
- gvl: GlobalVendorList | null;
186
- isLoadingGVL: boolean;
187
- purposeConsents: Record<number, boolean>;
188
- purposeLegitimateInterests: Record<number, boolean>;
189
- vendorConsents: Record<string, boolean>;
190
- vendorLegitimateInterests: Record<string, boolean>;
191
- specialFeatureOptIns: Record<number, boolean>;
192
- vendorsDisclosed: Record<number, boolean>;
193
- tcString: string | null;
194
- preferenceCenterTab: "purposes" | "vendors";
195
- config: {
196
- enabled: boolean;
197
- cmpId: number;
198
- cmpVersion: number;
199
- };
200
- cmpApi: null;
201
- setPurposeConsent: () => void;
202
- setPurposeLegitimateInterest: () => void;
203
- setVendorConsent: () => void;
204
- setVendorLegitimateInterest: () => void;
205
- setSpecialFeatureOptIn: () => void;
206
- setPreferenceCenterTab: () => void;
207
- acceptAll: () => void;
208
- rejectAll: () => void;
209
- save: () => void;
210
- _updateState: () => void;
211
- };
212
- //# sourceMappingURL=mock-consent-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-consent-state.d.ts","sourceRoot":"","sources":["../../../../../src/components/iab/__tests__/fixtures/mock-consent-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,gBAiOrB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mBAAmB,EAAE,UAAU,GAAG,SAAS,CAAC;CAC5C,CAAC;SAVI,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EA4D5C;AAED;;GAEG;AACH,wBAAgB,6BAA6B;SA1EtC,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EAuG5C;AAED;;GAEG;AACH,wBAAgB,yBAAyB;SArHlC,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EAiH5C;AAED;;GAEG;AACH,wBAAgB,kCAAkC;SA/H3C,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;EA2I5C;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mCAAmC;;;;;;;;;;;;;;SA1K5C,gBAAgB,GAAG,IAAI;kBACd,OAAO;qBACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gCACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;+BACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;sBAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAC/B,MAAM,GAAG,IAAI;yBACF,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;EAsK5C"}
@@ -1 +0,0 @@
1
- let e={gvlSpecificationVersion:3,vendorListVersion:142,tcfPolicyVersion:5,lastUpdated:"2024-01-15T16:00:23Z",purposes:{1:{id:1,name:"Store and/or access information on a device",description:"Cookies, device or similar online identifiers...",illustrations:["Most purposes explained in this notice..."]},2:{id:2,name:"Use limited data to select advertising",description:"Advertising can be presented to you based on limited data...",illustrations:[]},3:{id:3,name:"Create profiles for personalised advertising",description:"Information about your activity on this service...",illustrations:[]},4:{id:4,name:"Use profiles to select personalised advertising",description:"Advertising can be presented to you based on a profile...",illustrations:[]},5:{id:5,name:"Create profiles to personalise content",description:"Information about your activity on this service...",illustrations:[]},6:{id:6,name:"Use profiles to select personalised content",description:"Content can be presented to you based on a profile...",illustrations:[]},7:{id:7,name:"Measure advertising performance",description:"The performance and effectiveness of ads...",illustrations:[]},8:{id:8,name:"Measure content performance",description:"The performance and effectiveness of content...",illustrations:[]},9:{id:9,name:"Understand audiences through statistics or combinations of data",description:"Reports can be generated based on the combination of data sets...",illustrations:[]},10:{id:10,name:"Develop and improve services",description:"Your data can be used to improve existing systems...",illustrations:[]},11:{id:11,name:"Use limited data to select content",description:"Content can be presented to you based on limited data...",illustrations:[]}},specialPurposes:{1:{id:1,name:"Ensure security, prevent and detect fraud, and fix errors",description:"Your data can be used to monitor for and prevent unusual...",illustrations:[]},2:{id:2,name:"Deliver and present advertising and content",description:"Certain information is used to ensure technical compatibility...",illustrations:[]}},features:{1:{id:1,name:"Match and combine data from other data sources",description:"Information about your activity on this service...",illustrations:[]},2:{id:2,name:"Link different devices",description:"In support of the purposes explained in this notice...",illustrations:[]},3:{id:3,name:"Identify devices based on information transmitted automatically",description:"Your device might be distinguished from other devices...",illustrations:[]}},specialFeatures:{1:{id:1,name:"Use precise geolocation data",description:"With your acceptance, your precise location...",illustrations:[]},2:{id:2,name:"Actively scan device characteristics for identification",description:"With your acceptance, certain characteristics specific to your device...",illustrations:[]}},vendors:{1:{id:1,name:"Exponential Interactive, Inc d/b/a VDX.tv",purposes:[1,2,3,4,7,9,10],legIntPurposes:[],flexiblePurposes:[],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1],cookieMaxAgeSeconds:7776e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://vdx.tv/privacy/"}]},2:{id:2,name:"Captify Technologies Limited",purposes:[1,2,3,4,5,6,7,8,9,10],legIntPurposes:[],flexiblePurposes:[2,7,8,9],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://www.captifytechnologies.com/privacy-notice/"}]},10:{id:10,name:"Index Exchange, Inc.",purposes:[1],legIntPurposes:[2,7,9,10],flexiblePurposes:[],specialPurposes:[1,2],features:[2,3],specialFeatures:[],cookieMaxAgeSeconds:31536e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!1,urls:[{langId:"en",privacy:"https://www.indexexchange.com/privacy/"}]},755:{id:755,name:"Google Advertising Products",purposes:[1,2,3,4,5,6,7,8,9,10,11],legIntPurposes:[],flexiblePurposes:[2,7,9,10,11],specialPurposes:[1,2],features:[1,2,3],specialFeatures:[1,2],cookieMaxAgeSeconds:63072e3,usesCookies:!0,cookieRefresh:!0,usesNonCookieAccess:!0,urls:[{langId:"en",privacy:"https://policies.google.com/privacy"}]}},stacks:{1:{id:1,name:"Advertising based on limited data and advertising measurement",description:"Advertising can be presented based on limited data.",purposes:[2,7],specialFeatures:[]},2:{id:2,name:"Personalised advertising profile and target audience measurement",description:"Advertising can be personalised based on a profile.",purposes:[3,4,9],specialFeatures:[]},3:{id:3,name:"Content personalisation",description:"Content can be personalised based on a profile.",purposes:[5,6,11],specialFeatures:[]},4:{id:4,name:"Content measurement and product development",description:"Content performance can be measured.",purposes:[8,10],specialFeatures:[]}}};function s(s){return{config:{enabled:!0,cmpId:160,cmpVersion:1},gvl:e,isLoadingGVL:!1,nonIABVendors:[],tcString:null,purposeConsents:{1:!1,2:!1,3:!1,4:!1,5:!1,6:!1,7:!1,8:!1,9:!1,10:!1,11:!1},purposeLegitimateInterests:{2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0},vendorConsents:{},vendorLegitimateInterests:{},specialFeatureOptIns:{1:!1,2:!1},vendorsDisclosed:{},cmpApi:null,preferenceCenterTab:"purposes",setPurposeConsent:()=>{},setPurposeLegitimateInterest:()=>{},setVendorConsent:()=>{},setVendorLegitimateInterest:()=>{},setSpecialFeatureOptIn:()=>{},setPreferenceCenterTab:()=>{},acceptAll:()=>{},rejectAll:()=>{},save:()=>{},_updateState:()=>{},...s}}function t(){return s({purposeConsents:{1:!0,2:!0,3:!0,4:!0,5:!0,6:!0,7:!0,8:!0,9:!0,10:!0,11:!0},vendorConsents:{1:!0,2:!0,10:!0,755:!0},vendorLegitimateInterests:{1:!0,2:!0,10:!0,755:!0},specialFeatureOptIns:{1:!0,2:!0},vendorsDisclosed:{1:!0,2:!0,10:!0,755:!0}})}function i(){return s({gvl:null,isLoadingGVL:!0})}function n(){return s({purposeLegitimateInterests:{2:!0,3:!0,4:!0,5:!0,6:!0,7:!1,8:!0,9:!1,10:!0,11:!0},vendorLegitimateInterests:{1:!0,2:!0,10:!1,755:!0}})}let o={id:"custom-analytics",name:"Custom Analytics Provider",privacyPolicyUrl:"https://analytics.example.com/privacy",description:"Custom analytics vendor for testing",purposes:[1,7,8,10],legIntPurposes:[9],features:[1],dataCategories:[1,2,6,8],usesCookies:!0,cookieMaxAgeSeconds:31536e3,dataRetentionDays:365};function a(){return{...s(),nonIABVendors:[o]}}export{s as createMockIABState,t as createMockIABStateAllAccepted,i as createMockIABStateLoading,a as createMockIABStateWithCustomVendors,n as createMockIABStateWithLIObjections,o as mockCustomVendor,e as mockGVL};
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Banner E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Banner Display Requirements (IAB Appendix B)",()=>{(0,external_vitest_namespaceObject.test)("should show IAB banner with correct initial display",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-card"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-footer"]')).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("should display partner/vendor count from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e).toMatch(/\d+/)}),(0,external_vitest_namespaceObject.test)("should display purpose summary with stack grouping",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("should display legitimate interest notice",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e.toLowerCase()).toContain("legitimate")})}),(0,external_vitest_namespaceObject.describe)("Banner CTA Requirements",()=>{(0,external_vitest_namespaceObject.test)("should have Accept, Reject, and Customize buttons",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-accept-button"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-reject-button"]')).toBeInTheDocument(),(0,external_vitest_namespaceObject.expect)(document.querySelector('[data-testid="iab-consent-banner-customize-button"]')).toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Banner Actions",()=>{(0,external_vitest_namespaceObject.test)("should accept all via banner and close",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeTruthy()},{timeout:1e3})}),(0,external_vitest_namespaceObject.test)("should reject all via banner and close",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should open preference center from banner",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]')})}),(0,external_vitest_namespaceObject.describe)("Banner Accessibility",()=>{(0,external_vitest_namespaceObject.test)("should have ARIA labels",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]');(0,external_vitest_namespaceObject.expect)(e.getAttribute("role")).toBe("dialog"),(0,external_vitest_namespaceObject.expect)(e.getAttribute("aria-label")).toBeTruthy()}),(0,external_vitest_namespaceObject.test)("should be keyboard accessible",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]'),t=document.querySelector('[data-testid="iab-consent-banner-customize-button"]'),a=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');e.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(e),t.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(t),a.focus(),(0,external_vitest_namespaceObject.expect)(document.activeElement).toBe(a)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as n}from"@vitest/browser/context";import{beforeEach as a,describe as o,expect as i,test as c,vi as r}from"vitest";import{render as s}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as b}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as u,clearConsentRuntimeCache as l}from"../../../providers/consent-manager-provider.js";import{clearConsentState as m,defaultIABOptions as h,getStoredConsent as p,waitForElement as y,waitForElementRemoved as w}from"./e2e-setup.js";o("IAB Banner E2E Tests",()=>{a(()=>{m(),r.clearAllMocks(),l()}),o("Banner Display Requirements (IAB Appendix B)",()=>{c("should show IAB banner with correct initial display",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-card"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-footer"]')).toBeInTheDocument()}),c("should display partner/vendor count from GVL",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toMatch(/\d+/)}),c("should display purpose summary with stack grouping",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-header"]')).toBeInTheDocument()}),c("should display legitimate interest notice",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i((document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toLowerCase()).toContain("legitimate")})}),o("Banner CTA Requirements",()=>{c("should have Accept, Reject, and Customize buttons",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]})),await y('[data-testid="iab-consent-banner-card"]'),i(document.querySelector('[data-testid="iab-consent-banner-accept-button"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-reject-button"]')).toBeInTheDocument(),i(document.querySelector('[data-testid="iab-consent-banner-customize-button"]')).toBeInTheDocument()})}),o("Banner Actions",()=>{c("should accept all via banner and close",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-accept-button"]');await n.click(a),await w('[data-testid="iab-consent-banner-card"]'),await r.waitFor(()=>{i(p()).toBeTruthy()},{timeout:1e3})}),c("should reject all via banner and close",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-reject-button"]');await n.click(a),await w('[data-testid="iab-consent-banner-card"]');let o=p();i(o?.consents?.necessary).toBe(!0)}),c("should open preference center from banner",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let a=await y('[data-testid="iab-consent-banner-customize-button"]');await n.click(a),await y('[data-testid="iab-consent-dialog-root"]')})}),o("Banner Accessibility",()=>{c("should have ARIA labels",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let n=await y('[data-testid="iab-consent-banner-card"]');i(n.getAttribute("role")).toBe("dialog"),i(n.getAttribute("aria-label")).toBeTruthy()}),c("should be keyboard accessible",async()=>{s(e(u,{options:h,children:[t(d,{}),t(b,{})]}));let n=await y('[data-testid="iab-consent-banner-reject-button"]'),a=document.querySelector('[data-testid="iab-consent-banner-customize-button"]'),o=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n.focus(),i(document.activeElement).toBe(n),a.focus(),i(document.activeElement).toBe(a),o.focus(),i(document.activeElement).toBe(o)})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Consent Flow E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Accept All Flow",()=>{(0,external_vitest_namespaceObject.test)("complete flow: display → accept → signal → storage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeTruthy()},{timeout:1e3})}),(0,external_vitest_namespaceObject.test)("should set all purposes to consented",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(t.purpose.consents[1]).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Reject All Flow",()=>{(0,external_vitest_namespaceObject.test)("complete flow: display → reject → signal → storage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Granular Consent Flow",()=>{(0,external_vitest_namespaceObject.test)("should open preference center for granular selection",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]')}),(0,external_vitest_namespaceObject.test)("should save granular preferences",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-customize-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.includes("Store"))throw Error("Content not loaded")},{timeout:3e3});let t=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("save")||e.textContent?.toLowerCase().includes("confirm"));if(t){await context_namespaceObject.userEvent.click(t),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-dialog-root"]');let e=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}})}),(0,external_vitest_namespaceObject.describe)("Persistence & Restoration Flow",()=>{(0,external_vitest_namespaceObject.test)("consent should be stored in localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t?.consents).toBeDefined()}),(0,external_vitest_namespaceObject.test)("TC String should be stored",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t).toBe("string"),(0,external_vitest_namespaceObject.expect)(t?.length).toBeGreaterThan(10)})}),(0,external_vitest_namespaceObject.describe)("First Visit vs Return Visit",()=>{(0,external_vitest_namespaceObject.test)("first visit - banner should display",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]')})}),(0,external_vitest_namespaceObject.describe)("Event Notifications",()=>{(0,external_vitest_namespaceObject.test)("should fire useractioncomplete on Accept All",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=0,t=[],a=window.__tcfapi;a&&a("addEventListener",2,a=>{e++,t.push(a.eventStatus)});let n=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n&&await context_namespaceObject.userEvent.click(n),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!t.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(t).toContain("useractioncomplete")})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as a}from"@vitest/browser/context";import{beforeEach as n,describe as i,expect as o,test as s,vi as r}from"vitest";import{render as c}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as l}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as b}from"../../../providers/consent-manager-provider.js";import{clearConsentState as p,defaultIABOptions as u,getCMPTCData as m,getStoredConsent as f,getStoredTCString as h,waitForCMP as y,waitForElement as g,waitForElementRemoved as v}from"./e2e-setup.js";i("IAB Consent Flow E2E Tests",()=>{n(()=>{p(),r.clearAllMocks(),b()}),i("Accept All Flow",()=>{s("complete flow: display → accept → signal → storage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]'),await r.waitFor(()=>{o(f()).toBeTruthy()},{timeout:1e3})}),s("should set all purposes to consented",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]'),o((await m()).purpose.consents[1]).toBe(!0)})}),i("Reject All Flow",()=>{s("complete flow: display → reject → signal → storage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-reject-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=f();o(i).toBeDefined(),o(i?.consents?.necessary).toBe(!0)})}),i("Granular Consent Flow",()=>{s("should open preference center for granular selection",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-customize-button"]');await y(),await a.click(n),await g('[data-testid="iab-consent-dialog-root"]')}),s("should save granular preferences",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-customize-button"]');await y(),await a.click(n),await g('[data-testid="iab-consent-dialog-root"]'),await r.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.includes("Store"))throw Error("Content not loaded")},{timeout:3e3});let i=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("save")||t.textContent?.toLowerCase().includes("confirm"));i&&(await a.click(i),await v('[data-testid="iab-consent-dialog-root"]'),o(f()).toBeDefined())})}),i("Persistence & Restoration Flow",()=>{s("consent should be stored in localStorage",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=f();o(i).toBeDefined(),o(i?.consents).toBeDefined()}),s("TC String should be stored",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]}));let n=await g('[data-testid="iab-consent-banner-accept-button"]');await y(),await a.click(n),await v('[data-testid="iab-consent-banner-card"]');let i=h();o(i).toBeDefined(),o(typeof i).toBe("string"),o(i?.length).toBeGreaterThan(10)})}),i("First Visit vs Return Visit",()=>{s("first visit - banner should display",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]})),await g('[data-testid="iab-consent-banner-card"]')})}),i("Event Notifications",()=>{s("should fire useractioncomplete on Accept All",async()=>{c(e(w,{options:u,children:[t(d,{}),t(l,{})]})),await g('[data-testid="iab-consent-banner-card"]'),await y();let n=0,i=[],s=window.__tcfapi;s&&s("addEventListener",2,t=>{n++,i.push(t.eventStatus)});let b=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');b&&await a.click(b),await r.waitFor(()=>{if(!i.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),o(i).toContain("useractioncomplete")})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Events E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Event Status Values",()=>{(0,external_vitest_namespaceObject.test)('should emit "tcloaded" when CMP is ready',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBe("tcloaded")}),(0,external_vitest_namespaceObject.test)('should emit "cmpuishown" when UI is displayed',async()=>{let e=[];(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=window.__tcfapi;t&&t("addEventListener",2,t=>{e.push(t.eventStatus)}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===e.length)throw Error("No events received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(e).toContain("tcloaded")}),(0,external_vitest_namespaceObject.test)('should emit "useractioncomplete" after user action',async()=>{let e=[];(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=window.__tcfapi;t&&t("addEventListener",2,t=>{e.push(t.eventStatus)});let a=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');a&&await context_namespaceObject.userEvent.click(a),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),(0,external_vitest_namespaceObject.expect)(e).toContain("useractioncomplete")})}),(0,external_vitest_namespaceObject.describe)("Event Listener Lifecycle",()=>{(0,external_vitest_namespaceObject.test)("should invoke listener immediately on registration",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=!1,t=window.__tcfapi;t&&t("addEventListener",2,()=>{e=!0}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e)throw Error("Not called")},{timeout:100}),(0,external_vitest_namespaceObject.expect)(e).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should assign unique listenerIds",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),a=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(a.listenerId).toBeDefined();let n=new Set([e.listenerId,t.listenerId,a.listenerId]);(0,external_vitest_namespaceObject.expect)(n.size).toBe(3)}),(0,external_vitest_namespaceObject.test)("should stop notifying after removeEventListener",async()=>{let e;(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=0,a=window.__tcfapi;if(a&&a("addEventListener",2,a=>{t++,e=a.listenerId}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===t)throw Error("Not called")},{timeout:100}),(0,external_vitest_namespaceObject.expect)(t).toBe(1),void 0!==e){let t=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(e);(0,external_vitest_namespaceObject.expect)(t).toBe(!0)}let n=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');n&&await context_namespaceObject.userEvent.click(n),await new Promise(e=>setTimeout(e,100)),(0,external_vitest_namespaceObject.expect)(t).toBe(1)}),(0,external_vitest_namespaceObject.test)("multiple listeners should all receive updates",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=[],t=[],a=[],n=window.__tcfapi;n&&(n("addEventListener",2,t=>{e.push(t.eventStatus)}),n("addEventListener",2,e=>{t.push(e.eventStatus)}),n("addEventListener",2,e=>{a.push(e.eventStatus)})),await external_vitest_namespaceObject.vi.waitFor(()=>{if(0===e.length||0===t.length||0===a.length)throw Error("Not all listeners received events")},{timeout:500}),(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0),(0,external_vitest_namespaceObject.expect)(t.length).toBeGreaterThan(0),(0,external_vitest_namespaceObject.expect)(a.length).toBeGreaterThan(0)})}),(0,external_vitest_namespaceObject.describe)("Event Data Completeness",()=>{(0,external_vitest_namespaceObject.test)("each event should include complete TCData",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=null,t=window.__tcfapi;t&&t("addEventListener",2,t=>{e=t}),await external_vitest_namespaceObject.vi.waitFor(()=>{if(!e)throw Error("No data received")},{timeout:500}),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("eventStatus"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("listenerId"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("gdprApplies"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("cmpStatus")}),(0,external_vitest_namespaceObject.test)("listenerId in callback should match assigned ID",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.listenerId).toBe("number")})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{userEvent as a}from"@vitest/browser/context";import{beforeEach as i,describe as n,expect as o,test as r,vi as s}from"vitest";import{render as d}from"vitest-browser-react";import{IABConsentBanner as c}from"../../iab-consent-banner/index.js";import{IABConsentDialog as l}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{addCMPEventListener as u,clearConsentState as m,defaultIABOptions as h,removeCMPEventListener as v,waitForCMP as b,waitForElement as f}from"./e2e-setup.js";n("IAB Events E2E Tests",()=>{i(()=>{m(),s.clearAllMocks(),p()}),n("Event Status Values",()=>{r('should emit "tcloaded" when CMP is ready',async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b(),o((await u()).eventStatus).toBe("tcloaded")}),r('should emit "cmpuishown" when UI is displayed',async()=>{let a=[];d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let i=window.__tcfapi;i&&i("addEventListener",2,t=>{a.push(t.eventStatus)}),await s.waitFor(()=>{if(0===a.length)throw Error("No events received")},{timeout:2e3}),o(a).toContain("tcloaded")}),r('should emit "useractioncomplete" after user action',async()=>{let i=[];d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let n=window.__tcfapi;n&&n("addEventListener",2,t=>{i.push(t.eventStatus)});let r=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');r&&await a.click(r),await s.waitFor(()=>{if(!i.includes("useractioncomplete"))throw Error("useractioncomplete not received")},{timeout:2e3}),o(i).toContain("useractioncomplete")})}),n("Event Listener Lifecycle",()=>{r("should invoke listener immediately on registration",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=!1,i=window.__tcfapi;i&&i("addEventListener",2,()=>{a=!0}),await s.waitFor(()=>{if(!a)throw Error("Not called")},{timeout:100}),o(a).toBe(!0)}),r("should assign unique listenerIds",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=await u(),i=await u(),n=await u();o(a.listenerId).toBeDefined(),o(i.listenerId).toBeDefined(),o(n.listenerId).toBeDefined(),o(new Set([a.listenerId,i.listenerId,n.listenerId]).size).toBe(3)}),r("should stop notifying after removeEventListener",async()=>{let i;d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let n=0,r=window.__tcfapi;r&&r("addEventListener",2,t=>{n++,i=t.listenerId}),await s.waitFor(()=>{if(0===n)throw Error("Not called")},{timeout:100}),o(n).toBe(1),void 0!==i&&o(await v(i)).toBe(!0);let p=document.querySelector('[data-testid="iab-consent-banner-accept-button"]');p&&await a.click(p),await new Promise(t=>setTimeout(t,100)),o(n).toBe(1)}),r("multiple listeners should all receive updates",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=[],i=[],n=[],r=window.__tcfapi;r&&(r("addEventListener",2,t=>{a.push(t.eventStatus)}),r("addEventListener",2,t=>{i.push(t.eventStatus)}),r("addEventListener",2,t=>{n.push(t.eventStatus)})),await s.waitFor(()=>{if(0===a.length||0===i.length||0===n.length)throw Error("Not all listeners received events")},{timeout:500}),o(a.length).toBeGreaterThan(0),o(i.length).toBeGreaterThan(0),o(n.length).toBeGreaterThan(0)})}),n("Event Data Completeness",()=>{r("each event should include complete TCData",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=null,i=window.__tcfapi;i&&i("addEventListener",2,t=>{a=t}),await s.waitFor(()=>{if(!a)throw Error("No data received")},{timeout:500}),o(a).toHaveProperty("eventStatus"),o(a).toHaveProperty("listenerId"),o(a).toHaveProperty("gdprApplies"),o(a).toHaveProperty("cmpStatus")}),r("listenerId in callback should match assigned ID",async()=>{d(e(w,{options:h,children:[t(c,{}),t(l,{})]})),await f('[data-testid="iab-consent-banner-card"]'),await b();let a=await u();o(a.listenerId).toBeDefined(),o(typeof a.listenerId).toBe("number")})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB GVL E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("GVL Loading",()=>{(0,external_vitest_namespaceObject.test)("should fetch GVL successfully",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendors).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should display vendor count from GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"";(0,external_vitest_namespaceObject.expect)(e).toMatch(/\d+/)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Purposes",()=>{(0,external_vitest_namespaceObject.test)("should have all 11 purposes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).purposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2),(0,external_vitest_namespaceObject.expect)(e).toContain(3),(0,external_vitest_namespaceObject.expect)(e).toContain(4),(0,external_vitest_namespaceObject.expect)(e).toContain(5),(0,external_vitest_namespaceObject.expect)(e).toContain(6),(0,external_vitest_namespaceObject.expect)(e).toContain(7),(0,external_vitest_namespaceObject.expect)(e).toContain(8),(0,external_vitest_namespaceObject.expect)(e).toContain(9),(0,external_vitest_namespaceObject.expect)(e).toContain(10),(0,external_vitest_namespaceObject.expect)(e).toContain(11),(0,external_vitest_namespaceObject.expect)(e.length).toBe(11)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Special Purposes",()=>{(0,external_vitest_namespaceObject.test)("should have special purposes 1-2",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).specialPurposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Features",()=>{(0,external_vitest_namespaceObject.test)("should have features 1-3",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).features).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2),(0,external_vitest_namespaceObject.expect)(e).toContain(3)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Special Features",()=>{(0,external_vitest_namespaceObject.test)("should have special features 1-2",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).specialFeatures).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(2)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Stacks",()=>{(0,external_vitest_namespaceObject.test)("should have stacks for UI grouping",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.stacks).toBeDefined(),(0,external_vitest_namespaceObject.expect)(Object.keys(e.stacks).length).toBeGreaterThan(0)})}),(0,external_vitest_namespaceObject.describe)("GVL Content - Vendors",()=>{(0,external_vitest_namespaceObject.test)("should have vendors with required fields",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(Object.keys(e.vendors).length).toBeGreaterThan(0);let t=Object.values(e.vendors)[0];(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("id"),(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("name"),(0,external_vitest_namespaceObject.expect)(t).toHaveProperty("purposes")})}),(0,external_vitest_namespaceObject.describe)("GVL Version",()=>{(0,external_vitest_namespaceObject.test)("should have vendorListVersion",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.vendorListVersion).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.vendorListVersion).toBe("number")}),(0,external_vitest_namespaceObject.test)("should have tcfPolicyVersion=5",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e.tcfPolicyVersion).toBe(5)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{beforeEach as a,describe as n,expect as o,test as i,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentBanner as d}from"../../iab-consent-banner/index.js";import{IABConsentDialog as c}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as l,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as b,tcfApiPromise as h,waitForCMP as w,waitForElement as m}from"./e2e-setup.js";n("IAB GVL E2E Tests",()=>{a(()=>{u(),s.clearAllMocks(),p()}),n("GVL Loading",()=>{i("should fetch GVL successfully",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a).toBeDefined(),o(a.purposes).toBeDefined(),o(a.vendors).toBeDefined()}),i("should display vendor count from GVL",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w(),o(document.querySelector('[data-testid="iab-consent-banner-header"]')?.textContent||"").toMatch(/\d+/)})}),n("GVL Content - Purposes",()=>{i("should have all 11 purposes",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).purposes).map(Number);o(a).toContain(1),o(a).toContain(2),o(a).toContain(3),o(a).toContain(4),o(a).toContain(5),o(a).toContain(6),o(a).toContain(7),o(a).toContain(8),o(a).toContain(9),o(a).toContain(10),o(a).toContain(11),o(a.length).toBe(11)})}),n("GVL Content - Special Purposes",()=>{i("should have special purposes 1-2",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).specialPurposes).map(Number);o(a).toContain(1),o(a).toContain(2)})}),n("GVL Content - Features",()=>{i("should have features 1-3",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).features).map(Number);o(a).toContain(1),o(a).toContain(2),o(a).toContain(3)})}),n("GVL Content - Special Features",()=>{i("should have special features 1-2",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=Object.keys((await h("getVendorList",2)).specialFeatures).map(Number);o(a).toContain(1),o(a).toContain(2)})}),n("GVL Content - Stacks",()=>{i("should have stacks for UI grouping",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a.stacks).toBeDefined(),o(Object.keys(a.stacks).length).toBeGreaterThan(0)})}),n("GVL Content - Vendors",()=>{i("should have vendors with required fields",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(Object.keys(a.vendors).length).toBeGreaterThan(0);let n=Object.values(a.vendors)[0];o(n).toHaveProperty("id"),o(n).toHaveProperty("name"),o(n).toHaveProperty("purposes")})}),n("GVL Version",()=>{i("should have vendorListVersion",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w();let a=await h("getVendorList",2);o(a.vendorListVersion).toBeDefined(),o(typeof a.vendorListVersion).toBe("number")}),i("should have tcfPolicyVersion=5",async()=>{r(e(l,{options:b,children:[t(d,{}),t(c,{})]})),await m('[data-testid="iab-consent-banner-card"]'),await w(),o((await h("getVendorList",2)).tcfPolicyVersion).toBe(5)})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Preference Center E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("Preference Center Layout",()=>{(0,external_vitest_namespaceObject.test)("should render with purposes tab by default",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]');(0,external_vitest_namespaceObject.expect)(e.length).toBeGreaterThan(0)}),(0,external_vitest_namespaceObject.test)("should switch between purposes and vendors tabs",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));e&&(await context_namespaceObject.userEvent.click(e),(0,external_vitest_namespaceObject.expect)(e.getAttribute("data-state")).toBe("active"))}),(0,external_vitest_namespaceObject.test)("should display loading state while GVL loads",async()=>{let e=globalThis.fetch;globalThis.fetch=external_vitest_namespaceObject.vi.fn(()=>new Promise(e=>setTimeout(()=>e(new Response(JSON.stringify({}),{status:200,headers:{"Content-Type":"application/json"}})),1e3))),(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),globalThis.fetch=e})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Consent",()=>{(0,external_vitest_namespaceObject.test)("should display purpose toggles",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()}),(0,external_vitest_namespaceObject.test)("all purpose consents should default to OFF (no pre-checked)",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');(0,external_vitest_namespaceObject.expect)(e).toBeInTheDocument()})}),(0,external_vitest_namespaceObject.describe)("Purposes Tab - Legitimate Interest",()=>{(0,external_vitest_namespaceObject.test)("should display LI toggles for purposes 2-11",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Special Features",()=>{(0,external_vitest_namespaceObject.test)("should display special features with opt-in toggles",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!e?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),(0,external_vitest_namespaceObject.describe)("Vendors Tab",()=>{(0,external_vitest_namespaceObject.test)("should display vendor list",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("vendor"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Save & Cancel Actions",()=>{(0,external_vitest_namespaceObject.test)("should save preferences when Save button clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("save")||e.textContent?.toLowerCase().includes("confirm"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should accept all when Accept All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("accept all"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should reject all when Reject All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-root"]');let e=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(e=>e.textContent?.toLowerCase().includes("reject all"));(0,external_vitest_namespaceObject.expect)(e).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("Accessibility",()=>{(0,external_vitest_namespaceObject.test)("should have proper ARIA attributes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentDialog,{open:!0})}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-dialog-card"]');(0,external_vitest_namespaceObject.expect)(e.getAttribute("role")).toBe("dialog"),(0,external_vitest_namespaceObject.expect)(e.getAttribute("aria-label")).toBeTruthy()})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{userEvent as e}from"@vitest/browser/context";import{beforeEach as o,describe as a,expect as n,test as i,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentDialog as d}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as l,clearConsentRuntimeCache as c}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as p,waitForElement as h}from"./e2e-setup.js";a("IAB Preference Center E2E Tests",()=>{o(()=>{u(),s.clearAllMocks(),c()}),a("Preference Center Layout",()=>{i("should render with purposes tab by default",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button[data-state]').length).toBeGreaterThan(0)}),i("should switch between purposes and vendors tabs",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]');let o=Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("vendor"));o&&(await e.click(o),n(o.getAttribute("data-state")).toBe("active"))}),i("should display loading state while GVL loads",async()=>{let e=globalThis.fetch;globalThis.fetch=s.fn(()=>new Promise(t=>setTimeout(()=>t(new Response(JSON.stringify({}),{status:200,headers:{"Content-Type":"application/json"}})),1e3))),r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),globalThis.fetch=e})}),a("Purposes Tab - Consent",()=>{i("should display purpose toggles",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()}),i("all purpose consents should default to OFF (no pre-checked)",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(document.querySelector('[data-testid="iab-consent-dialog-root"]')).toBeInTheDocument()})}),a("Purposes Tab - Legitimate Interest",()=>{i("should display LI toggles for purposes 2-11",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),await s.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),a("Special Features",()=>{i("should display special features with opt-in toggles",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),await s.waitFor(()=>{let t=document.querySelector('[data-testid="iab-consent-dialog-root"]');if(!t?.textContent?.length)throw Error("Content not loaded")},{timeout:3e3})})}),a("Vendors Tab",()=>{i("should display vendor list",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("vendor"))).toBeDefined()})}),a("Save & Cancel Actions",()=>{i("should save preferences when Save button clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("save")||t.textContent?.toLowerCase().includes("confirm"))).toBeDefined()}),i("should accept all when Accept All clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("accept all"))).toBeDefined()}),i("should reject all when Reject All clicked",async()=>{r(t(l,{options:p,children:t(d,{open:!0})})),await h('[data-testid="iab-consent-dialog-root"]'),n(Array.from(document.querySelectorAll('[data-testid="iab-consent-dialog-root"] button')).find(t=>t.textContent?.toLowerCase().includes("reject all"))).toBeDefined()})}),a("Accessibility",()=>{i("should have proper ARIA attributes",async()=>{r(t(l,{options:p,children:t(d,{open:!0})}));let e=await h('[data-testid="iab-consent-dialog-card"]');n(e.getAttribute("role")).toBe("dialog"),n(e.getAttribute("aria-label")).toBeTruthy()})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),context_namespaceObject=require("@vitest/browser/context"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Storage E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("localStorage Storage",()=>{(0,external_vitest_namespaceObject.test)("should store consent to localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),await external_vitest_namespaceObject.vi.waitFor(()=>{let e=window.localStorage.getItem("c15t");return(0,external_vitest_namespaceObject.expect)(e).not.toBeNull(),e},{timeout:1e3});let t=JSON.parse(window.localStorage.getItem("c15t")||"{}");(0,external_vitest_namespaceObject.expect)(t.consents).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should store TC string in localStorage",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t).toBe("string")}),(0,external_vitest_namespaceObject.test)("TC string should be valid base64url format",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredTCString)();(0,external_vitest_namespaceObject.expect)(t).toMatch(/^[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*$/)})}),(0,external_vitest_namespaceObject.describe)("Storage Update on Consent Change",()=>{(0,external_vitest_namespaceObject.test)("should update storage when Accept All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).toBeNull(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).not.toBeNull()}),(0,external_vitest_namespaceObject.test)("should update storage when Reject All clicked",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-reject-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)((0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)()).toBeNull(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t).not.toBeNull(),(0,external_vitest_namespaceObject.expect)(t?.consents?.necessary).toBe(!0)})}),(0,external_vitest_namespaceObject.describe)("Storage Content",()=>{(0,external_vitest_namespaceObject.test)("should store consent info with timestamp",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let t=Date.now();await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let a=Date.now(),n=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeDefined(),(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeGreaterThanOrEqual(t-1e3),(0,external_vitest_namespaceObject.expect)(n?.consentInfo?.time).toBeLessThanOrEqual(a+1e3)}),(0,external_vitest_namespaceObject.test)("should store consent info with subjectId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]');let t=(0,external_e2e_setup_cjs_namespaceObject.getStoredConsent)();(0,external_vitest_namespaceObject.expect)(t?.consentInfo?.subjectId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof t?.consentInfo?.subjectId).toBe("string")})}),(0,external_vitest_namespaceObject.describe)("c15t Storage Key",()=>{(0,external_vitest_namespaceObject.test)('should use "c15t" key in localStorage',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(window.localStorage.getItem("c15t")).not.toBeNull()}),(0,external_vitest_namespaceObject.test)('should use "euconsent-v2" key for TC string',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]}));let e=await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-accept-button"]');await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),await context_namespaceObject.userEvent.click(e),await (0,external_e2e_setup_cjs_namespaceObject.waitForElementRemoved)('[data-testid="iab-consent-banner-card"]'),(0,external_vitest_namespaceObject.expect)(window.localStorage.getItem("euconsent-v2")).not.toBeNull()})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as t,jsxs as a}from"react/jsx-runtime";import{userEvent as e}from"@vitest/browser/context";import{beforeEach as n,describe as o,expect as i,test as c,vi as s}from"vitest";import{render as r}from"vitest-browser-react";import{IABConsentBanner as l}from"../../iab-consent-banner/index.js";import{IABConsentDialog as d}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as b,clearConsentRuntimeCache as w}from"../../../providers/consent-manager-provider.js";import{clearConsentState as u,defaultIABOptions as p,getStoredConsent as m,getStoredTCString as g,waitForCMP as h,waitForElement as f,waitForElementRemoved as B}from"./e2e-setup.js";o("IAB Storage E2E Tests",()=>{n(()=>{u(),s.clearAllMocks(),w()}),o("localStorage Storage",()=>{c("should store consent to localStorage",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),await s.waitFor(()=>{let t=window.localStorage.getItem("c15t");return i(t).not.toBeNull(),t},{timeout:1e3}),i(JSON.parse(window.localStorage.getItem("c15t")||"{}").consents).toBeDefined()}),c("should store TC string in localStorage",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=g();i(o).toBeDefined(),i(typeof o).toBe("string")}),c("TC string should be valid base64url format",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(g()).toMatch(/^[A-Za-z0-9_-]+(\.[A-Za-z0-9_-]+)*$/)})}),o("Storage Update on Consent Change",()=>{c("should update storage when Accept All clicked",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),i(m()).toBeNull(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(m()).not.toBeNull()}),c("should update storage when Reject All clicked",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-reject-button"]');await h(),i(m()).toBeNull(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=m();i(o).not.toBeNull(),i(o?.consents?.necessary).toBe(!0)})}),o("Storage Content",()=>{c("should store consent info with timestamp",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h();let o=Date.now();await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let c=Date.now(),s=m();i(s?.consentInfo?.time).toBeDefined(),i(s?.consentInfo?.time).toBeGreaterThanOrEqual(o-1e3),i(s?.consentInfo?.time).toBeLessThanOrEqual(c+1e3)}),c("should store consent info with subjectId",async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]');let o=m();i(o?.consentInfo?.subjectId).toBeDefined(),i(typeof o?.consentInfo?.subjectId).toBe("string")})}),o("c15t Storage Key",()=>{c('should use "c15t" key in localStorage',async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(window.localStorage.getItem("c15t")).not.toBeNull()}),c('should use "euconsent-v2" key for TC string',async()=>{r(a(b,{options:p,children:[t(l,{}),t(d,{})]}));let n=await f('[data-testid="iab-consent-banner-accept-button"]');await h(),await e.click(n),await B('[data-testid="iab-consent-banner-card"]'),i(window.localStorage.getItem("euconsent-v2")).not.toBeNull()})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("IAB Stub E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("__tcfapi Availability",()=>{(0,external_vitest_namespaceObject.test)("__tcfapi should be available after CMP loads",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)(),(0,external_vitest_namespaceObject.expect)(window.__tcfapi).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof window.__tcfapi).toBe("function")}),(0,external_vitest_namespaceObject.test)("__tcfapi should accept standard parameters",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=window.__tcfapi;(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),await new Promise(t=>{e?.("ping",2,()=>{t()})})}),(0,external_vitest_namespaceObject.test)("__tcfapi should accept optional parameter",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=window.__tcfapi,t=await new Promise(t=>{e?.("removeEventListener",2,e=>{t(e)},12345)});(0,external_vitest_namespaceObject.expect)(t).toBe(!1)})}),(0,external_vitest_namespaceObject.describe)("Stub Ping Behavior",()=>{(0,external_vitest_namespaceObject.test)("ping should return cmpLoaded=true after CMP ready",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.cmpLoaded).toBe(!0)}),(0,external_vitest_namespaceObject.test)('ping should return cmpStatus="loaded" after CMP ready',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.cmpStatus).toBe("loaded")})}),(0,external_vitest_namespaceObject.describe)("Queue Processing",()=>{(0,external_vitest_namespaceObject.test)("calls should be processed after CMP loads",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getTCData",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("tcString")})}),(0,external_vitest_namespaceObject.describe)("Command Handling",()=>{(0,external_vitest_namespaceObject.test)("should handle ping command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("ping",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.apiVersion).toBe("2.3")}),(0,external_vitest_namespaceObject.test)("should handle getTCData command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getTCData",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.gdprApplies).toBe("boolean")}),(0,external_vitest_namespaceObject.test)("should handle addEventListener command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("addEventListener",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(typeof e.listenerId).toBe("number")}),(0,external_vitest_namespaceObject.test)("should handle getVendorList command",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("getVendorList",2,t=>{e(t)})});(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should return false for unknown commands",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await new Promise(e=>{window.__tcfapi?.("unknownCommand",2,(t,a)=>{e({data:t,success:a})})});(0,external_vitest_namespaceObject.expect)(e.success).toBe(!1)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1 +0,0 @@
1
- import{jsx as a,jsxs as t}from"react/jsx-runtime";import{beforeEach as e,describe as n,expect as i,test as o,vi as d}from"vitest";import{render as s}from"vitest-browser-react";import{IABConsentBanner as r}from"../../iab-consent-banner/index.js";import{IABConsentDialog as c}from"../../iab-consent-dialog/index.js";import{ConsentManagerProvider as w,clearConsentRuntimeCache as p}from"../../../providers/consent-manager-provider.js";import{clearConsentState as l,defaultIABOptions as m,waitForCMP as f,waitForElement as b}from"./e2e-setup.js";n("IAB Stub E2E Tests",()=>{e(()=>{l(),d.clearAllMocks(),p()}),n("__tcfapi Availability",()=>{o("__tcfapi should be available after CMP loads",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i(window.__tcfapi).toBeDefined(),i(typeof window.__tcfapi).toBe("function")}),o("__tcfapi should accept standard parameters",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=window.__tcfapi;i(e).toBeDefined(),await new Promise(a=>{e?.("ping",2,()=>{a()})})}),o("__tcfapi should accept optional parameter",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=window.__tcfapi;i(await new Promise(a=>{e?.("removeEventListener",2,t=>{a(t)},12345)})).toBe(!1)})}),n("Stub Ping Behavior",()=>{o("ping should return cmpLoaded=true after CMP ready",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).cmpLoaded).toBe(!0)}),o('ping should return cmpStatus="loaded" after CMP ready',async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).cmpStatus).toBe("loaded")})}),n("Queue Processing",()=>{o("calls should be processed after CMP loads",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("getTCData",2,t=>{a(t)})});i(e).toBeDefined(),i(e).toHaveProperty("tcString")})}),n("Command Handling",()=>{o("should handle ping command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("ping",2,t=>{a(t)})})).apiVersion).toBe("2.3")}),o("should handle getTCData command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("getTCData",2,t=>{a(t)})});i(e).toBeDefined(),i(typeof e.gdprApplies).toBe("boolean")}),o("should handle addEventListener command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f();let e=await new Promise(a=>{window.__tcfapi?.("addEventListener",2,t=>{a(t)})});i(e.listenerId).toBeDefined(),i(typeof e.listenerId).toBe("number")}),o("should handle getVendorList command",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("getVendorList",2,t=>{a(t)})})).purposes).toBeDefined()}),o("should return false for unknown commands",async()=>{s(t(w,{options:m,children:[a(r,{}),a(c,{})]})),await b('[data-testid="iab-consent-banner-card"]'),await f(),i((await new Promise(a=>{window.__tcfapi?.("unknownCommand",2,(t,e)=>{a({data:t,success:e})})})).success).toBe(!1)})})});
@@ -1 +0,0 @@
1
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};const jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),index_cjs_namespaceObject=require("../../iab-consent-banner/index.cjs"),external_iab_consent_dialog_index_cjs_namespaceObject=require("../../iab-consent-dialog/index.cjs"),consent_manager_provider_cjs_namespaceObject=require("../../../providers/consent-manager-provider.cjs"),external_e2e_setup_cjs_namespaceObject=require("./e2e-setup.cjs");for(var __rspack_i in(0,external_vitest_namespaceObject.describe)("__tcfapi E2E Tests",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,external_e2e_setup_cjs_namespaceObject.clearConsentState)(),external_vitest_namespaceObject.vi.clearAllMocks(),(0,consent_manager_provider_cjs_namespaceObject.clearConsentRuntimeCache)()}),(0,external_vitest_namespaceObject.describe)("ping Command",()=>{(0,external_vitest_namespaceObject.test)("should return cmpLoaded=true after CMP ready",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpLoaded).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should return correct gdprApplies value",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(typeof e.gdprApplies).toBe("boolean")}),(0,external_vitest_namespaceObject.test)("should return cmpId matching configured ID",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpId).toBe(160)}),(0,external_vitest_namespaceObject.test)('should return apiVersion="2.3"',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.apiVersion).toBe("2.3")}),(0,external_vitest_namespaceObject.test)("should return tcfPolicyVersion=5",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.tcfPolicyVersion).toBe(5)}),(0,external_vitest_namespaceObject.test)('should return cmpStatus="loaded"',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPPingData)();(0,external_vitest_namespaceObject.expect)(e.cmpStatus).toBe("loaded")})}),(0,external_vitest_namespaceObject.describe)("addEventListener Command",()=>{(0,external_vitest_namespaceObject.test)("should invoke callback immediately on registration",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should return unique listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(t.listenerId).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.listenerId).not.toBe(t.listenerId)}),(0,external_vitest_namespaceObject.test)('should fire eventStatus="tcloaded" initially',async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)();(0,external_vitest_namespaceObject.expect)(e.eventStatus).toBe("tcloaded")})}),(0,external_vitest_namespaceObject.describe)("removeEventListener Command",()=>{(0,external_vitest_namespaceObject.test)("should remove listener by listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.addCMPEventListener)(),t=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(e.listenerId);(0,external_vitest_namespaceObject.expect)(t).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should return false for invalid listenerId",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.removeCMPEventListener)(999999);(0,external_vitest_namespaceObject.expect)(e).toBe(!1)})}),(0,external_vitest_namespaceObject.describe)("getTCData Command",()=>{(0,external_vitest_namespaceObject.test)("should return complete TCData object",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("tcString"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("gdprApplies"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("cmpStatus"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("isServiceSpecific"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("publisherCC"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("purpose"),(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("vendor")}),(0,external_vitest_namespaceObject.test)("should return isServiceSpecific=true",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.isServiceSpecific).toBe(!0)}),(0,external_vitest_namespaceObject.test)("should have purpose.consents and purpose.legitimateInterests",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.purpose).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purpose.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purpose.legitimateInterests).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have vendor.consents and vendor.legitimateInterests",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.vendor).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendor.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendor.legitimateInterests).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have specialFeatureOptins",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.specialFeatureOptins).toBeDefined()}),(0,external_vitest_namespaceObject.test)("should have publisher object",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)();(0,external_vitest_namespaceObject.expect)(e.publisher).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.publisher.consents).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.publisher.legitimateInterests).toBeDefined()})}),(0,external_vitest_namespaceObject.describe)("getVendorList Command",()=>{(0,external_vitest_namespaceObject.test)("should return complete GVL",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2);(0,external_vitest_namespaceObject.expect)(e).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.purposes).toBeDefined(),(0,external_vitest_namespaceObject.expect)(e.vendors).toBeDefined()}),(0,external_vitest_namespaceObject.test)("GVL should contain all 11 purposes",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=Object.keys((await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getVendorList",2)).purposes).map(Number);(0,external_vitest_namespaceObject.expect)(e).toContain(1),(0,external_vitest_namespaceObject.expect)(e).toContain(11),(0,external_vitest_namespaceObject.expect)(e.length).toBe(11)})}),(0,external_vitest_namespaceObject.describe)("getInAppTCData Command (Mobile Alias)",()=>{(0,external_vitest_namespaceObject.test)("should return same data as getTCData",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsxs)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:external_e2e_setup_cjs_namespaceObject.defaultIABOptions,children:[(0,jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.IABConsentBanner,{}),(0,jsx_runtime_namespaceObject.jsx)(external_iab_consent_dialog_index_cjs_namespaceObject.IABConsentDialog,{})]})),await (0,external_e2e_setup_cjs_namespaceObject.waitForElement)('[data-testid="iab-consent-banner-card"]'),await (0,external_e2e_setup_cjs_namespaceObject.waitForCMP)();let e=await (0,external_e2e_setup_cjs_namespaceObject.getCMPTCData)(),t=await (0,external_e2e_setup_cjs_namespaceObject.tcfApiPromise)("getInAppTCData",2);(0,external_vitest_namespaceObject.expect)(t.gdprApplies).toBe(e.gdprApplies),(0,external_vitest_namespaceObject.expect)(t.cmpStatus).toBe(e.cmpStatus)})})}),__webpack_exports__)exports[__rspack_i]=__webpack_exports__[__rspack_i];Object.defineProperty(exports,"__esModule",{value:!0});