@c15t/scripts 3.0.0-alpha.2 → 3.0.0-alpha.3

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 (300) hide show
  1. package/AGENTS.md +129 -63
  2. package/README.md +8 -29
  3. package/SKILL.md +33 -0
  4. package/dist/adobe-analytics.js +2 -0
  5. package/dist/ahrefs-analytics.js +2 -0
  6. package/dist/amplitude.js +2 -0
  7. package/dist/clearbit.js +2 -0
  8. package/dist/cloudflare-web-analytics.js +2 -0
  9. package/dist/cloudflare-zaraz.js +2 -0
  10. package/dist/crisp.js +2 -0
  11. package/dist/databuddy.js +2 -0
  12. package/dist/e2e-test-utils.js +2 -139
  13. package/dist/engine/compile.js +2 -89
  14. package/dist/engine/runtime.js +2 -448
  15. package/dist/events.js +2 -218
  16. package/dist/fathom-analytics.js +2 -0
  17. package/dist/front-chat.js +2 -0
  18. package/dist/google-tag-manager.js +2 -0
  19. package/dist/google-tag.js +2 -0
  20. package/dist/heap.js +2 -0
  21. package/dist/hightouch.js +2 -0
  22. package/dist/hotjar.js +2 -0
  23. package/dist/intercom.js +2 -0
  24. package/dist/klaviyo.js +2 -0
  25. package/dist/linkedin-insights.js +2 -0
  26. package/dist/logrocket.js +2 -0
  27. package/dist/matomo-analytics.js +2 -0
  28. package/dist/meta-pixel.js +2 -0
  29. package/dist/microsoft-clarity.js +2 -0
  30. package/dist/microsoft-uet.js +2 -0
  31. package/dist/mixpanel-analytics.js +2 -0
  32. package/dist/one-dollar-stats.js +2 -0
  33. package/dist/openai-pixel.js +2 -0
  34. package/dist/pinterest-tag.js +2 -0
  35. package/dist/pirsch.js +2 -0
  36. package/dist/plausible-analytics.js +2 -0
  37. package/dist/posthog.js +2 -0
  38. package/dist/promptwatch.js +2 -0
  39. package/dist/reddit-pixel.js +2 -0
  40. package/dist/registry.js +2 -422
  41. package/dist/resolve.js +2 -33
  42. package/dist/rudderstack.js +2 -0
  43. package/dist/rybbit-analytics.js +2 -0
  44. package/dist/segment.js +2 -0
  45. package/dist/snapchat-pixel.js +2 -0
  46. package/dist/tiktok-pixel.js +2 -0
  47. package/dist/types.js +2 -16
  48. package/dist/umami-analytics.js +2 -0
  49. package/dist/vendors/_shared/attributes.js +2 -14
  50. package/dist/vendors/_shared/google-consent.js +2 -27
  51. package/dist/vendors/_shared/install-builders.js +2 -21
  52. package/dist/vendors/_shared/required-id.js +2 -0
  53. package/dist/vendors/_shared/script-url.js +2 -28
  54. package/dist/vendors/ads-and-pixels/linkedin-insights.js +2 -48
  55. package/dist/vendors/ads-and-pixels/meta-pixel.js +2 -153
  56. package/dist/vendors/ads-and-pixels/microsoft-uet.js +2 -110
  57. package/dist/vendors/ads-and-pixels/openai-pixel.js +2 -88
  58. package/dist/vendors/ads-and-pixels/pinterest-tag.js +2 -123
  59. package/dist/vendors/ads-and-pixels/reddit-pixel.js +2 -107
  60. package/dist/vendors/ads-and-pixels/snapchat-pixel.js +2 -87
  61. package/dist/vendors/ads-and-pixels/tiktok-pixel.js +2 -89
  62. package/dist/vendors/ads-and-pixels/x-pixel.js +2 -48
  63. package/dist/vendors/analytics/adobe-analytics.js +2 -49
  64. package/dist/vendors/analytics/ahrefs-analytics.js +2 -27
  65. package/dist/vendors/analytics/amplitude.js +2 -134
  66. package/dist/vendors/analytics/clearbit.js +2 -28
  67. package/dist/vendors/analytics/cloudflare-web-analytics.js +2 -32
  68. package/dist/vendors/analytics/databuddy.js +2 -103
  69. package/dist/vendors/analytics/fathom-analytics.js +2 -35
  70. package/dist/vendors/analytics/google-tag.js +2 -78
  71. package/dist/vendors/analytics/heap.js +2 -134
  72. package/dist/vendors/analytics/hightouch.js +2 -109
  73. package/dist/vendors/analytics/hotjar.js +2 -44
  74. package/dist/vendors/analytics/logrocket.js +2 -58
  75. package/dist/vendors/analytics/matomo-analytics.js +2 -191
  76. package/dist/vendors/analytics/microsoft-clarity.js +2 -100
  77. package/dist/vendors/analytics/mixpanel-analytics.js +2 -93
  78. package/dist/vendors/analytics/one-dollar-stats.js +2 -30
  79. package/dist/vendors/analytics/pirsch.js +2 -67
  80. package/dist/vendors/analytics/plausible-analytics.js +2 -81
  81. package/dist/vendors/analytics/posthog.js +2 -200
  82. package/dist/vendors/analytics/promptwatch.js +2 -29
  83. package/dist/vendors/analytics/rudderstack.js +2 -183
  84. package/dist/vendors/analytics/rybbit-analytics.js +2 -63
  85. package/dist/vendors/analytics/segment.js +2 -65
  86. package/dist/vendors/analytics/umami-analytics.js +2 -39
  87. package/dist/vendors/analytics/vercel-analytics.js +2 -53
  88. package/dist/vendors/email-and-sms/klaviyo.js +2 -0
  89. package/dist/vendors/functional/crisp.js +2 -100
  90. package/dist/vendors/functional/front-chat.js +2 -64
  91. package/dist/vendors/functional/intercom.js +2 -45
  92. package/dist/vendors/tag-managers/cloudflare-zaraz.js +2 -98
  93. package/dist/vendors/tag-managers/google-tag-manager.js +2 -73
  94. package/dist/vercel-analytics.js +2 -0
  95. package/dist/x-pixel.js +2 -0
  96. package/dist-types/adobe-analytics.d.ts +2 -0
  97. package/dist-types/ahrefs-analytics.d.ts +2 -0
  98. package/dist-types/amplitude.d.ts +2 -0
  99. package/dist-types/clearbit.d.ts +2 -0
  100. package/dist-types/cloudflare-web-analytics.d.ts +2 -0
  101. package/dist-types/cloudflare-zaraz.d.ts +2 -0
  102. package/dist-types/crisp.d.ts +2 -0
  103. package/dist-types/databuddy.d.ts +2 -0
  104. package/dist-types/e2e-test-utils.d.ts +2 -0
  105. package/dist-types/engine/compile.d.ts +2 -3
  106. package/dist-types/engine/runtime.d.ts +2 -3
  107. package/dist-types/events.d.ts +2 -46
  108. package/dist-types/fathom-analytics.d.ts +2 -0
  109. package/dist-types/front-chat.d.ts +2 -0
  110. package/dist-types/google-tag-manager.d.ts +2 -0
  111. package/dist-types/google-tag.d.ts +2 -0
  112. package/dist-types/heap.d.ts +2 -0
  113. package/dist-types/hightouch.d.ts +2 -0
  114. package/dist-types/hotjar.d.ts +2 -0
  115. package/dist-types/intercom.d.ts +2 -0
  116. package/dist-types/klaviyo.d.ts +2 -0
  117. package/dist-types/linkedin-insights.d.ts +2 -0
  118. package/dist-types/logrocket.d.ts +2 -0
  119. package/dist-types/matomo-analytics.d.ts +2 -0
  120. package/dist-types/meta-pixel.d.ts +2 -0
  121. package/dist-types/microsoft-clarity.d.ts +2 -0
  122. package/dist-types/microsoft-uet.d.ts +2 -0
  123. package/dist-types/mixpanel-analytics.d.ts +2 -0
  124. package/dist-types/one-dollar-stats.d.ts +2 -0
  125. package/dist-types/openai-pixel.d.ts +2 -0
  126. package/dist-types/pinterest-tag.d.ts +2 -0
  127. package/dist-types/pirsch.d.ts +2 -0
  128. package/dist-types/plausible-analytics.d.ts +2 -0
  129. package/dist-types/posthog.d.ts +2 -0
  130. package/dist-types/promptwatch.d.ts +2 -0
  131. package/dist-types/reddit-pixel.d.ts +2 -0
  132. package/dist-types/registry.d.ts +2 -485
  133. package/dist-types/resolve.d.ts +2 -9
  134. package/dist-types/rudderstack.d.ts +2 -0
  135. package/dist-types/rybbit-analytics.d.ts +2 -0
  136. package/dist-types/segment.d.ts +2 -0
  137. package/dist-types/snapchat-pixel.d.ts +2 -0
  138. package/dist-types/tiktok-pixel.d.ts +2 -0
  139. package/dist-types/types.d.ts +2 -314
  140. package/dist-types/umami-analytics.d.ts +2 -0
  141. package/dist-types/vendors/_shared/attributes.d.ts +2 -35
  142. package/dist-types/vendors/_shared/google-consent.d.ts +2 -47
  143. package/dist-types/vendors/_shared/install-builders.d.ts +2 -30
  144. package/dist-types/vendors/_shared/required-id.d.ts +2 -0
  145. package/dist-types/vendors/_shared/script-url.d.ts +2 -75
  146. package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +2 -92
  147. package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +2 -289
  148. package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +2 -105
  149. package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +2 -211
  150. package/dist-types/vendors/ads-and-pixels/pinterest-tag.d.ts +2 -295
  151. package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +2 -210
  152. package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +2 -171
  153. package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +2 -106
  154. package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +2 -183
  155. package/dist-types/vendors/analytics/adobe-analytics.d.ts +2 -75
  156. package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +2 -62
  157. package/dist-types/vendors/analytics/amplitude.d.ts +2 -234
  158. package/dist-types/vendors/analytics/clearbit.d.ts +2 -60
  159. package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +2 -67
  160. package/dist-types/vendors/analytics/databuddy.d.ts +2 -147
  161. package/dist-types/vendors/analytics/fathom-analytics.d.ts +2 -90
  162. package/dist-types/vendors/analytics/google-tag.d.ts +2 -95
  163. package/dist-types/vendors/analytics/heap.d.ts +2 -316
  164. package/dist-types/vendors/analytics/hightouch.d.ts +2 -285
  165. package/dist-types/vendors/analytics/hotjar.d.ts +2 -73
  166. package/dist-types/vendors/analytics/logrocket.d.ts +2 -101
  167. package/dist-types/vendors/analytics/matomo-analytics.d.ts +2 -41
  168. package/dist-types/vendors/analytics/microsoft-clarity.d.ts +2 -97
  169. package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +2 -113
  170. package/dist-types/vendors/analytics/one-dollar-stats.d.ts +2 -39
  171. package/dist-types/vendors/analytics/pirsch.d.ts +2 -96
  172. package/dist-types/vendors/analytics/plausible-analytics.d.ts +2 -122
  173. package/dist-types/vendors/analytics/posthog.d.ts +2 -175
  174. package/dist-types/vendors/analytics/promptwatch.d.ts +2 -36
  175. package/dist-types/vendors/analytics/rudderstack.d.ts +2 -330
  176. package/dist-types/vendors/analytics/rybbit-analytics.d.ts +2 -82
  177. package/dist-types/vendors/analytics/segment.d.ts +2 -164
  178. package/dist-types/vendors/analytics/umami-analytics.d.ts +2 -93
  179. package/dist-types/vendors/analytics/vercel-analytics.d.ts +2 -66
  180. package/dist-types/vendors/email-and-sms/klaviyo.d.ts +2 -0
  181. package/dist-types/vendors/functional/crisp.d.ts +2 -78
  182. package/dist-types/vendors/functional/front-chat.d.ts +2 -62
  183. package/dist-types/vendors/functional/intercom.d.ts +2 -135
  184. package/dist-types/vendors/tag-managers/cloudflare-zaraz.d.ts +2 -39
  185. package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +2 -96
  186. package/dist-types/vercel-analytics.d.ts +2 -0
  187. package/dist-types/x-pixel.d.ts +2 -0
  188. package/docs/README.md +129 -63
  189. package/docs/assets/v3/bottom-bar.png +0 -0
  190. package/docs/assets/v3/brand-card.png +0 -0
  191. package/docs/assets/v3/brand-preferences.png +0 -0
  192. package/docs/assets/v3/choice-wall.png +0 -0
  193. package/docs/assets/v3/headless-bar-html.png +0 -0
  194. package/docs/assets/v3/headless-bar-mobile.png +0 -0
  195. package/docs/assets/v3/headless-bar.png +0 -0
  196. package/docs/assets/v3/slim-bar.png +0 -0
  197. package/docs/concepts/choose-your-setup.md +87 -0
  198. package/docs/concepts/consent-categories.md +84 -0
  199. package/docs/{guides → concepts}/consent-state.md +71 -101
  200. package/docs/{guides → concepts}/data-fetching.md +31 -27
  201. package/docs/concepts/how-consent-works.md +123 -0
  202. package/docs/concepts/policies.md +71 -0
  203. package/docs/customization/class-names.md +202 -0
  204. package/docs/customization/dark-mode.md +157 -0
  205. package/docs/customization/motion.md +119 -0
  206. package/docs/customization/overview.md +67 -34
  207. package/docs/customization/recipes.md +839 -49
  208. package/docs/customization/slots.md +216 -35
  209. package/docs/customization/stylesheets.md +147 -0
  210. package/docs/customization/tailwind.md +842 -0
  211. package/docs/customization/tokens.md +163 -96
  212. package/docs/customization/translations.md +61 -3
  213. package/docs/frameworks/astro/embeds.md +160 -0
  214. package/docs/frameworks/astro/network-blocker.md +86 -0
  215. package/docs/frameworks/astro/scripts.md +146 -0
  216. package/docs/frameworks/html/embeds.md +142 -0
  217. package/docs/frameworks/html/network-blocker.md +105 -0
  218. package/docs/frameworks/html/scripts.md +164 -0
  219. package/docs/frameworks/javascript/scripts.md +119 -0
  220. package/docs/frameworks/next/embeds.md +90 -0
  221. package/docs/frameworks/next/network-blocker.md +153 -0
  222. package/docs/frameworks/next/scripts.md +196 -0
  223. package/docs/frameworks/nuxt/embeds.md +81 -0
  224. package/docs/frameworks/nuxt/network-blocker.md +97 -0
  225. package/docs/frameworks/nuxt/scripts.md +89 -0
  226. package/docs/frameworks/react/embeds.md +89 -0
  227. package/docs/frameworks/react/network-blocker.md +140 -0
  228. package/docs/frameworks/react/scripts.md +115 -0
  229. package/docs/frameworks/svelte/embeds.md +96 -0
  230. package/docs/frameworks/svelte/network-blocker.md +141 -0
  231. package/docs/frameworks/svelte/scripts.md +137 -0
  232. package/docs/frameworks/sveltekit/embeds.md +103 -0
  233. package/docs/frameworks/sveltekit/network-blocker.md +149 -0
  234. package/docs/frameworks/sveltekit/scripts.md +141 -0
  235. package/docs/frameworks/tanstack-start/embeds.md +96 -0
  236. package/docs/frameworks/tanstack-start/network-blocker.md +145 -0
  237. package/docs/frameworks/tanstack-start/scripts.md +103 -0
  238. package/docs/frameworks/vue/embeds.md +84 -0
  239. package/docs/frameworks/vue/network-blocker.md +99 -0
  240. package/docs/frameworks/vue/scripts.md +93 -0
  241. package/docs/guides/banner-experiments.md +654 -0
  242. package/docs/guides/troubleshooting.md +120 -47
  243. package/docs/guides/verify-consent.md +81 -49
  244. package/docs/integrations/adobe-analytics.md +167 -159
  245. package/docs/integrations/ahrefs-analytics.md +152 -154
  246. package/docs/integrations/amplitude.md +162 -156
  247. package/docs/integrations/building-integrations.md +136 -37
  248. package/docs/integrations/clearbit.md +154 -154
  249. package/docs/integrations/cloudflare-web-analytics.md +156 -156
  250. package/docs/integrations/cloudflare-zaraz.md +209 -261
  251. package/docs/integrations/crisp.md +164 -158
  252. package/docs/integrations/databuddy.md +157 -173
  253. package/docs/integrations/fathom-analytics.md +158 -156
  254. package/docs/integrations/front-chat.md +167 -167
  255. package/docs/integrations/google-maps.md +118 -83
  256. package/docs/integrations/google-tag-manager.md +178 -163
  257. package/docs/integrations/google-tag.md +163 -160
  258. package/docs/integrations/heap.md +163 -155
  259. package/docs/integrations/hightouch.md +161 -157
  260. package/docs/integrations/hotjar.md +159 -155
  261. package/docs/integrations/intercom.md +183 -153
  262. package/docs/integrations/klaviyo.md +486 -0
  263. package/docs/integrations/linkedin-insights.md +174 -150
  264. package/docs/integrations/logrocket.md +160 -156
  265. package/docs/integrations/matomo-analytics.md +188 -178
  266. package/docs/integrations/meta-pixel.md +188 -150
  267. package/docs/integrations/microsoft-clarity.md +163 -155
  268. package/docs/integrations/microsoft-uet.md +148 -154
  269. package/docs/integrations/mixpanel-analytics.md +155 -160
  270. package/docs/integrations/one-dollar-stats.md +166 -165
  271. package/docs/integrations/openai-pixel.md +204 -301
  272. package/docs/integrations/overview.md +137 -80
  273. package/docs/integrations/pinterest-tag.md +191 -183
  274. package/docs/integrations/pirsch.md +169 -159
  275. package/docs/integrations/plausible-analytics.md +172 -158
  276. package/docs/integrations/posthog.md +226 -241
  277. package/docs/integrations/promptwatch.md +154 -154
  278. package/docs/integrations/reddit-pixel.md +185 -157
  279. package/docs/integrations/rudderstack.md +201 -186
  280. package/docs/integrations/rybbit-analytics.md +171 -160
  281. package/docs/integrations/segment.md +182 -154
  282. package/docs/integrations/snapchat-pixel.md +186 -156
  283. package/docs/integrations/tiktok-pixel.md +171 -150
  284. package/docs/integrations/umami-analytics.md +163 -158
  285. package/docs/integrations/vercel-analytics.md +166 -157
  286. package/docs/integrations/x-pixel.md +176 -150
  287. package/docs/integrations/youtube.md +121 -86
  288. package/docs/upgrade-v3.md +475 -467
  289. package/package.json +10 -257
  290. package/dist-types/__tests__/helpers.d.ts +0 -141
  291. package/docs/assets/v3/brand-bar.png +0 -0
  292. package/docs/assets/v3/mobile-card.png +0 -0
  293. package/docs/assets/v3/preferences.png +0 -0
  294. package/docs/frameworks/javascript/script-loader.md +0 -100
  295. package/docs/frameworks/next/script-loader.md +0 -216
  296. package/docs/frameworks/react/script-loader.md +0 -69
  297. package/docs/guides/deployment-modes.md +0 -75
  298. package/docs/guides/shared-consent-controls.md +0 -158
  299. package/docs/integrations/clear-on-revocation.md +0 -167
  300. package/docs/integrations/granular-consent.md +0 -210
package/dist/registry.js CHANGED
@@ -1,422 +1,2 @@
1
- const BUILT_IN_INTEGRATION_CATEGORIES = [
2
- {
3
- key: 'analytics',
4
- label: 'Analytics'
5
- },
6
- {
7
- key: 'ads-and-pixels',
8
- label: 'Ads & Pixels'
9
- },
10
- {
11
- key: 'functional',
12
- label: 'Functional'
13
- },
14
- {
15
- key: 'tag-manager',
16
- label: 'Tag Managers'
17
- }
18
- ];
19
- const builtInScriptIntegrations = [
20
- {
21
- consentCategory: 'necessary',
22
- docsSlug: 'cloudflare-zaraz',
23
- hint: 'Consent bridge for tools managed by Zaraz',
24
- integrationCategory: 'tag-manager',
25
- key: 'cloudflareZaraz',
26
- label: 'Cloudflare Zaraz',
27
- packageSubpath: 'cloudflare-zaraz',
28
- vendor: 'cloudflare-zaraz'
29
- },
30
- {
31
- consentCategory: 'necessary',
32
- docsSlug: 'google-tag-manager',
33
- hint: "GTM container script",
34
- integrationCategory: 'tag-manager',
35
- key: 'googleTagManager',
36
- label: 'Google Tag Manager',
37
- packageSubpath: 'google-tag-manager',
38
- vendor: 'google-tag-manager'
39
- },
40
- {
41
- consentCategory: 'measurement',
42
- docsSlug: 'google-tag',
43
- hint: 'Google Analytics 4',
44
- integrationCategory: 'analytics',
45
- key: 'gtag',
46
- label: 'Google Tag (gtag.js)',
47
- packageSubpath: 'google-tag',
48
- vendor: 'gtag'
49
- },
50
- {
51
- consentCategory: 'measurement',
52
- docsSlug: 'ahrefs-analytics',
53
- hint: 'Cookieless web analytics from Ahrefs',
54
- integrationCategory: 'analytics',
55
- key: 'ahrefsAnalytics',
56
- label: 'Ahrefs Analytics',
57
- packageSubpath: 'ahrefs-analytics',
58
- vendor: 'ahrefs-analytics'
59
- },
60
- {
61
- consentCategory: 'measurement',
62
- docsSlug: 'adobe-analytics',
63
- hint: 'Adobe Experience Platform tags',
64
- integrationCategory: 'analytics',
65
- key: 'adobeAnalytics',
66
- label: 'Adobe Analytics',
67
- packageSubpath: 'adobe-analytics',
68
- vendor: 'adobe-analytics'
69
- },
70
- {
71
- consentCategory: 'measurement',
72
- docsSlug: 'amplitude',
73
- hint: 'Product analytics',
74
- integrationCategory: 'analytics',
75
- key: 'amplitude',
76
- label: 'Amplitude',
77
- packageSubpath: 'amplitude',
78
- vendor: 'amplitude'
79
- },
80
- {
81
- consentCategory: 'measurement',
82
- docsSlug: 'cloudflare-web-analytics',
83
- hint: 'Cookieless analytics from Cloudflare',
84
- integrationCategory: 'analytics',
85
- key: 'cloudflareWebAnalytics',
86
- label: 'Cloudflare Web Analytics',
87
- packageSubpath: 'cloudflare-web-analytics',
88
- vendor: 'cloudflare-web-analytics'
89
- },
90
- {
91
- consentCategory: 'marketing',
92
- docsSlug: 'clearbit',
93
- hint: 'Visitor and company enrichment',
94
- integrationCategory: 'analytics',
95
- key: 'clearbit',
96
- label: 'Clearbit',
97
- packageSubpath: 'clearbit',
98
- vendor: 'clearbit'
99
- },
100
- {
101
- consentCategory: 'measurement',
102
- docsSlug: 'microsoft-clarity',
103
- hint: 'Session replay and heatmaps',
104
- integrationCategory: 'analytics',
105
- key: 'microsoft-clarity',
106
- label: 'Microsoft Clarity',
107
- packageSubpath: 'microsoft-clarity',
108
- vendor: 'microsoft-clarity'
109
- },
110
- {
111
- consentCategory: 'measurement',
112
- docsSlug: 'databuddy',
113
- hint: 'Data collection',
114
- integrationCategory: 'analytics',
115
- key: 'databuddy',
116
- label: 'Databuddy',
117
- packageSubpath: 'databuddy',
118
- vendor: 'databuddy'
119
- },
120
- {
121
- consentCategory: 'measurement',
122
- docsSlug: 'fathom-analytics',
123
- hint: 'Privacy-friendly cookieless analytics',
124
- integrationCategory: 'analytics',
125
- key: 'fathomAnalytics',
126
- label: 'Fathom Analytics',
127
- packageSubpath: 'fathom-analytics',
128
- vendor: 'fathom-analytics'
129
- },
130
- {
131
- consentCategory: 'measurement',
132
- docsSlug: 'heap',
133
- hint: 'Autocapture product analytics',
134
- integrationCategory: 'analytics',
135
- key: 'heap',
136
- label: 'Heap',
137
- packageSubpath: 'heap',
138
- vendor: 'heap'
139
- },
140
- {
141
- consentCategory: 'measurement',
142
- docsSlug: 'mixpanel-analytics',
143
- hint: 'Product analytics and funnels',
144
- integrationCategory: 'analytics',
145
- key: 'mixpanelAnalytics',
146
- label: 'Mixpanel Analytics',
147
- packageSubpath: 'mixpanel-analytics',
148
- vendor: 'mixpanel-analytics'
149
- },
150
- {
151
- consentCategory: 'measurement',
152
- docsSlug: 'one-dollar-stats',
153
- hint: 'Website analytics with no API key',
154
- integrationCategory: 'analytics',
155
- key: 'oneDollarStats',
156
- label: 'OneDollarStats',
157
- packageSubpath: 'one-dollar-stats',
158
- vendor: 'one-dollar-stats'
159
- },
160
- {
161
- consentCategory: 'measurement',
162
- docsSlug: 'hotjar',
163
- hint: 'Heatmaps and session recordings',
164
- integrationCategory: 'analytics',
165
- key: 'hotjar',
166
- label: 'Hotjar',
167
- packageSubpath: 'hotjar',
168
- vendor: 'hotjar'
169
- },
170
- {
171
- consentCategory: 'measurement',
172
- docsSlug: 'hightouch',
173
- hint: 'Customer data platform events',
174
- integrationCategory: 'analytics',
175
- key: 'hightouch',
176
- label: 'Hightouch',
177
- packageSubpath: 'hightouch',
178
- vendor: 'hightouch'
179
- },
180
- {
181
- consentCategory: 'measurement',
182
- docsSlug: 'rudderstack',
183
- hint: 'Customer data platform events',
184
- integrationCategory: 'analytics',
185
- key: 'rudderstack',
186
- label: 'RudderStack',
187
- packageSubpath: 'rudderstack',
188
- vendor: 'rudderstack'
189
- },
190
- {
191
- consentCategory: 'measurement',
192
- docsSlug: 'logrocket',
193
- hint: 'Session replay and monitoring',
194
- integrationCategory: 'analytics',
195
- key: 'logRocket',
196
- label: 'LogRocket',
197
- packageSubpath: 'logrocket',
198
- vendor: 'logrocket'
199
- },
200
- {
201
- consentCategory: 'measurement',
202
- docsSlug: 'matomo-analytics',
203
- hint: 'Self-hosted privacy analytics',
204
- integrationCategory: 'analytics',
205
- key: 'matomoAnalytics',
206
- label: 'Matomo Analytics',
207
- packageSubpath: 'matomo-analytics',
208
- vendor: 'matomo-analytics'
209
- },
210
- {
211
- consentCategory: 'measurement',
212
- docsSlug: 'posthog',
213
- hint: 'Product analytics',
214
- integrationCategory: 'analytics',
215
- key: 'posthog',
216
- label: 'PostHog',
217
- packageSubpath: 'posthog',
218
- vendor: 'posthog'
219
- },
220
- {
221
- consentCategory: 'measurement',
222
- docsSlug: 'promptwatch',
223
- hint: 'AI traffic analytics',
224
- integrationCategory: 'analytics',
225
- key: 'promptwatch',
226
- label: 'Promptwatch',
227
- packageSubpath: 'promptwatch',
228
- vendor: 'promptwatch'
229
- },
230
- {
231
- consentCategory: 'measurement',
232
- docsSlug: 'pirsch',
233
- hint: 'Privacy-friendly cookieless analytics',
234
- integrationCategory: 'analytics',
235
- key: 'pirsch',
236
- label: 'Pirsch',
237
- packageSubpath: 'pirsch',
238
- vendor: 'pirsch'
239
- },
240
- {
241
- consentCategory: 'measurement',
242
- docsSlug: 'segment',
243
- hint: 'Customer data platform',
244
- integrationCategory: 'analytics',
245
- key: 'segment',
246
- label: 'Segment',
247
- packageSubpath: 'segment',
248
- vendor: 'segment'
249
- },
250
- {
251
- consentCategory: 'measurement',
252
- docsSlug: 'rybbit-analytics',
253
- hint: 'Privacy-friendly web analytics',
254
- integrationCategory: 'analytics',
255
- key: 'rybbitAnalytics',
256
- label: 'Rybbit Analytics',
257
- packageSubpath: 'rybbit-analytics',
258
- vendor: 'rybbit-analytics'
259
- },
260
- {
261
- consentCategory: 'measurement',
262
- docsSlug: 'plausible-analytics',
263
- hint: 'Privacy-friendly cookieless analytics',
264
- integrationCategory: 'analytics',
265
- key: 'plausibleAnalytics',
266
- label: 'Plausible Analytics',
267
- packageSubpath: 'plausible-analytics',
268
- vendor: 'plausible-analytics'
269
- },
270
- {
271
- consentCategory: 'measurement',
272
- docsSlug: 'umami-analytics',
273
- hint: 'Open-source cookieless analytics',
274
- integrationCategory: 'analytics',
275
- key: 'umamiAnalytics',
276
- label: 'Umami Analytics',
277
- packageSubpath: 'umami-analytics',
278
- vendor: 'umami-analytics'
279
- },
280
- {
281
- consentCategory: 'measurement',
282
- docsSlug: 'vercel-analytics',
283
- hint: 'Vercel web analytics',
284
- integrationCategory: 'analytics',
285
- key: 'vercelAnalytics',
286
- label: 'Vercel Analytics',
287
- packageSubpath: 'vercel-analytics',
288
- vendor: 'vercel-analytics'
289
- },
290
- {
291
- consentCategory: 'functionality',
292
- docsSlug: 'crisp',
293
- hint: 'Live chat widget',
294
- integrationCategory: 'functional',
295
- key: 'crisp',
296
- label: 'Crisp',
297
- packageSubpath: 'crisp',
298
- vendor: 'crisp'
299
- },
300
- {
301
- consentCategory: 'functionality',
302
- docsSlug: 'front-chat',
303
- hint: 'Live chat widget',
304
- integrationCategory: 'functional',
305
- key: 'frontChat',
306
- label: 'Front Chat',
307
- packageSubpath: 'front-chat',
308
- vendor: 'front-chat'
309
- },
310
- {
311
- consentCategory: 'functionality',
312
- docsSlug: 'intercom',
313
- hint: 'Messenger and live chat widget',
314
- integrationCategory: 'functional',
315
- key: 'intercom',
316
- label: 'Intercom',
317
- packageSubpath: 'intercom',
318
- vendor: 'intercom'
319
- },
320
- {
321
- consentCategory: 'marketing',
322
- docsSlug: 'meta-pixel',
323
- hint: 'Facebook/Instagram tracking',
324
- integrationCategory: 'ads-and-pixels',
325
- key: 'metaPixel',
326
- label: 'Meta Pixel',
327
- packageSubpath: 'meta-pixel',
328
- vendor: 'meta-pixel'
329
- },
330
- {
331
- consentCategory: 'marketing',
332
- docsSlug: 'openai-pixel',
333
- hint: 'ChatGPT Ads conversion measurement',
334
- integrationCategory: 'ads-and-pixels',
335
- key: 'openaiPixel',
336
- label: 'OpenAI Pixel (ChatGPT Ads)',
337
- packageSubpath: 'openai-pixel',
338
- vendor: 'openai-pixel'
339
- },
340
- {
341
- consentCategory: 'marketing',
342
- docsSlug: 'pinterest-tag',
343
- hint: 'Pinterest ads tracking',
344
- integrationCategory: 'ads-and-pixels',
345
- key: 'pinterestTag',
346
- label: 'Pinterest Tag',
347
- packageSubpath: 'pinterest-tag',
348
- vendor: 'pinterest-tag'
349
- },
350
- {
351
- consentCategory: 'marketing',
352
- docsSlug: 'reddit-pixel',
353
- hint: 'Reddit ads tracking',
354
- integrationCategory: 'ads-and-pixels',
355
- key: 'redditPixel',
356
- label: 'Reddit Pixel',
357
- packageSubpath: 'reddit-pixel',
358
- vendor: 'reddit-pixel'
359
- },
360
- {
361
- consentCategory: 'marketing',
362
- docsSlug: 'tiktok-pixel',
363
- hint: 'TikTok ads tracking',
364
- integrationCategory: 'ads-and-pixels',
365
- key: 'tiktokPixel',
366
- label: 'TikTok Pixel',
367
- packageSubpath: 'tiktok-pixel',
368
- vendor: 'tiktok-pixel'
369
- },
370
- {
371
- consentCategory: 'marketing',
372
- docsSlug: 'linkedin-insights',
373
- hint: 'LinkedIn conversion tracking',
374
- integrationCategory: 'ads-and-pixels',
375
- key: 'linkedinInsights',
376
- label: 'LinkedIn Insight Tag',
377
- packageSubpath: 'linkedin-insights',
378
- vendor: 'linkedin-insights'
379
- },
380
- {
381
- consentCategory: 'marketing',
382
- docsSlug: 'microsoft-uet',
383
- hint: 'Bing Ads tracking',
384
- integrationCategory: 'ads-and-pixels',
385
- key: 'microsoftUet',
386
- label: 'Microsoft UET',
387
- packageSubpath: 'microsoft-uet',
388
- vendor: 'microsoft-uet'
389
- },
390
- {
391
- consentCategory: 'marketing',
392
- docsSlug: 'snapchat-pixel',
393
- hint: 'Snapchat ads tracking',
394
- integrationCategory: 'ads-and-pixels',
395
- key: 'snapchatPixel',
396
- label: 'Snapchat Pixel',
397
- packageSubpath: 'snapchat-pixel',
398
- vendor: 'snapchat-pixel'
399
- },
400
- {
401
- consentCategory: 'marketing',
402
- docsSlug: 'x-pixel',
403
- hint: 'X/Twitter conversion tracking',
404
- integrationCategory: 'ads-and-pixels',
405
- key: 'xPixel',
406
- label: 'X (Twitter) Pixel',
407
- packageSubpath: 'x-pixel',
408
- vendor: 'x-pixel'
409
- }
410
- ];
411
- const registry_getBuiltInScriptIntegration = function(key) {
412
- const integration = builtInScriptIntegrations.find((item)=>item.key === key);
413
- if (integration) return integration;
414
- throw new Error(`Unknown built-in script integration: ${key}`);
415
- };
416
- const registry_getBuiltInScriptIntegrationBySubpath = function(subpath) {
417
- return builtInScriptIntegrations.find((integration)=>integration.packageSubpath === subpath);
418
- };
419
- const registry_getBuiltInScriptIntegrationByVendor = function(vendor) {
420
- return builtInScriptIntegrations.find((integration)=>integration.vendor === vendor);
421
- };
422
- export { BUILT_IN_INTEGRATION_CATEGORIES, builtInScriptIntegrations, registry_getBuiltInScriptIntegration as getBuiltInScriptIntegration, registry_getBuiltInScriptIntegrationBySubpath as getBuiltInScriptIntegrationBySubpath, registry_getBuiltInScriptIntegrationByVendor as getBuiltInScriptIntegrationByVendor };
1
+ /** @deprecated Use @c15t/integrations/registry. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/registry';
package/dist/resolve.js CHANGED
@@ -1,33 +1,2 @@
1
- import { compileManifest } from "./engine/compile.js";
2
- import { resolvedManifestToScript } from "./engine/runtime.js";
3
- const manifestCache = new WeakMap();
4
- const resolve_serializeConfigValue = function serializeConfigValue(value) {
5
- if (void 0 === value) return 'undefined';
6
- if (null === value) return 'null';
7
- if (Array.isArray(value)) return `[${value.map((item)=>serializeConfigValue(item)).join(',')}]`;
8
- if ('object' == typeof value) {
9
- const entries = Object.entries(value).sort(([left], [right])=>left.localeCompare(right));
10
- return `{${entries.map(([key, nestedValue])=>`${JSON.stringify(key)}:${serializeConfigValue(nestedValue)}`).join(',')}}`;
11
- }
12
- return `${typeof value}:${String(value)}`;
13
- };
14
- const resolve_getManifestCacheKey = function(config) {
15
- return resolve_serializeConfigValue(config);
16
- };
17
- const resolve_getCompiledManifest = function(manifest, config) {
18
- const cacheKey = resolve_getManifestCacheKey(config);
19
- let configCache = manifestCache.get(manifest);
20
- if (!configCache) {
21
- configCache = new Map();
22
- manifestCache.set(manifest, configCache);
23
- }
24
- const cached = configCache.get(cacheKey);
25
- if (cached) return cached;
26
- const compiled = compileManifest(manifest, config);
27
- configCache.set(cacheKey, compiled);
28
- return compiled;
29
- };
30
- const resolve_resolveManifest = function(manifest, config = {}) {
31
- return resolvedManifestToScript(resolve_getCompiledManifest(manifest, config));
32
- };
33
- export { resolve_resolveManifest as resolveManifest };
1
+ /** @deprecated Use @c15t/integrations/resolve. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/resolve';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/rudderstack. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/rudderstack';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/rybbit-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/rybbit-analytics';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/segment. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/segment';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/snapchat-pixel. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/snapchat-pixel';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/tiktok-pixel. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/tiktok-pixel';
package/dist/types.js CHANGED
@@ -1,16 +1,2 @@
1
- const VENDOR_MANIFEST_KIND = 'c15t.vendor-manifest';
2
- const VENDOR_MANIFEST_SCHEMA_VERSION = 1;
3
- const vendorManifestContract = {
4
- kind: VENDOR_MANIFEST_KIND,
5
- schemaVersion: VENDOR_MANIFEST_SCHEMA_VERSION
6
- };
7
- const RUNTIME_VALUE_KIND = 'c15t.runtime-value';
8
- const runtimeDateValue = {
9
- kind: RUNTIME_VALUE_KIND,
10
- value: 'date'
11
- };
12
- const runtimeTimestampValue = {
13
- kind: RUNTIME_VALUE_KIND,
14
- value: 'timestamp'
15
- };
16
- export { RUNTIME_VALUE_KIND, VENDOR_MANIFEST_KIND, VENDOR_MANIFEST_SCHEMA_VERSION, runtimeDateValue, runtimeTimestampValue, vendorManifestContract };
1
+ /** @deprecated Use @c15t/integrations/types. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/types';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/umami-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/umami-analytics';
@@ -1,14 +1,2 @@
1
- const attributes_booleanDataAttribute = function(value) {
2
- if (void 0 === value) return;
3
- if (value) return 'true';
4
- return 'false';
5
- };
6
- const attributes_listDataAttribute = function(value) {
7
- if (void 0 === value) return;
8
- if (Array.isArray(value)) {
9
- if (0 === value.length) return;
10
- return JSON.stringify(value);
11
- }
12
- return value;
13
- };
14
- export { attributes_booleanDataAttribute as booleanDataAttribute, attributes_listDataAttribute as listDataAttribute };
1
+ /** @deprecated Use @c15t/integrations/vendors/_shared/attributes. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/_shared/attributes';
@@ -1,27 +1,2 @@
1
- const GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING = {
2
- experience: [
3
- 'personalization_storage'
4
- ],
5
- functionality: [
6
- 'functionality_storage'
7
- ],
8
- marketing: [
9
- 'ad_storage',
10
- 'ad_user_data',
11
- 'ad_personalization'
12
- ],
13
- measurement: [
14
- 'analytics_storage'
15
- ],
16
- necessary: [
17
- 'security_storage'
18
- ]
19
- };
20
- const google_consent_withOptionalConsentMapping = function(manifest, consentMapping) {
21
- if (void 0 === consentMapping) return manifest;
22
- return {
23
- ...manifest,
24
- consentMapping
25
- };
26
- };
27
- export { GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING, google_consent_withOptionalConsentMapping as withOptionalConsentMapping };
1
+ /** @deprecated Use @c15t/integrations/vendors/_shared/google-consent. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/_shared/google-consent';
@@ -1,21 +1,2 @@
1
- const install_builders_buildQueuePixelInstall = function({ global, initArgs, trackStep, scriptPlaceholder = "{{scriptUrl}}" }) {
2
- const install = [
3
- {
4
- args: initArgs,
5
- global,
6
- type: 'callGlobal'
7
- }
8
- ];
9
- if (void 0 !== trackStep) install.push({
10
- args: trackStep.args,
11
- global,
12
- type: 'callGlobal'
13
- });
14
- install.push({
15
- async: true,
16
- src: scriptPlaceholder,
17
- type: 'loadScript'
18
- });
19
- return install;
20
- };
21
- export { install_builders_buildQueuePixelInstall as buildQueuePixelInstall };
1
+ /** @deprecated Use @c15t/integrations/vendors/_shared/install-builders. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/_shared/install-builders';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/vendors/_shared/required-id. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/_shared/required-id';
@@ -1,28 +1,2 @@
1
- const script_url_trimToUndefined = function(value) {
2
- if (void 0 === value) return;
3
- const trimmed = value.trim();
4
- if (0 === trimmed.length) return;
5
- return trimmed;
6
- };
7
- const script_url_resolveScriptUrl = function(override, fallback) {
8
- if (void 0 !== override) return override;
9
- return fallback;
10
- };
11
- const script_url_stripLeadingSlashes = function(value) {
12
- let index = 0;
13
- while(index < value.length && 47 === value.charCodeAt(index))index += 1;
14
- return 0 === index ? value : value.slice(index);
15
- };
16
- const script_url_stripTrailingSlashes = function(value) {
17
- let end = value.length;
18
- while(end > 0 && 47 === value.charCodeAt(end - 1))end -= 1;
19
- return end === value.length ? value : value.slice(0, end);
20
- };
21
- const script_url_joinUrlPath = function(base, path) {
22
- const trimmedBase = base.trim();
23
- const trimmedPath = path.trim();
24
- if (0 === trimmedBase.length) throw new TypeError(`joinUrlPath requires a non-empty base URL. Received base=${JSON.stringify(base)}, path=${JSON.stringify(path)}.`);
25
- if (0 === trimmedPath.length) throw new TypeError(`joinUrlPath requires a non-empty path. Received base=${JSON.stringify(base)}, path=${JSON.stringify(path)}.`);
26
- return `${script_url_stripTrailingSlashes(trimmedBase)}/${script_url_stripLeadingSlashes(trimmedPath)}`;
27
- };
28
- export { script_url_joinUrlPath as joinUrlPath, script_url_resolveScriptUrl as resolveScriptUrl, script_url_stripLeadingSlashes as stripLeadingSlashes, script_url_stripTrailingSlashes as stripTrailingSlashes, script_url_trimToUndefined as trimToUndefined };
1
+ /** @deprecated Use @c15t/integrations/vendors/_shared/script-url. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/_shared/script-url';
@@ -1,48 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const linkedinInsightsManifest = {
4
- ...vendorManifestContract,
5
- category: 'marketing',
6
- install: [
7
- {
8
- ifUndefined: false,
9
- name: '_linkedin_partner_id',
10
- type: 'setGlobal',
11
- value: '{{id}}'
12
- },
13
- {
14
- ifUndefined: true,
15
- name: '_linkedin_data_partner_ids',
16
- type: 'setGlobal',
17
- value: []
18
- },
19
- {
20
- queue: '_linkedin_data_partner_ids',
21
- type: 'pushToQueue',
22
- value: '{{id}}'
23
- },
24
- {
25
- ifUndefined: true,
26
- name: 'lintrk',
27
- queue: {
28
- property: 'q'
29
- },
30
- queueFormat: 'array',
31
- type: 'defineStubFunction'
32
- },
33
- {
34
- async: true,
35
- src: "{{scriptSrc}}",
36
- type: 'loadScript'
37
- }
38
- ],
39
- vendor: 'linkedin-insights'
40
- };
41
- const linkedin_insights_linkedinInsights = function({ id, scriptSrc }) {
42
- const resolved = resolveManifest(linkedinInsightsManifest, {
43
- id,
44
- scriptSrc: scriptSrc ?? 'https://snap.licdn.com/li.lms-analytics/insight.min.js'
45
- });
46
- return resolved;
47
- };
48
- export { linkedinInsightsManifest, linkedin_insights_linkedinInsights as linkedinInsights };
1
+ /** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/linkedin-insights. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/ads-and-pixels/linkedin-insights';