@c15t/scripts 3.0.0-alpha.1 → 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 -59
  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 -137
  13. package/dist/engine/compile.js +2 -89
  14. package/dist/engine/runtime.js +2 -448
  15. package/dist/events.js +2 -0
  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 -392
  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 -0
  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 -66
  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 -0
  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 -56
  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 -0
  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 -59
  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 -0
  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 -458
  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 -0
  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 -93
  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 -0
  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 -158
  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 -0
  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 -94
  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 -59
  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/concepts/consent-state.md +357 -0
  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 -33
  207. package/docs/customization/recipes.md +839 -47
  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 +166 -36
  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 +168 -160
  245. package/docs/integrations/ahrefs-analytics.md +153 -155
  246. package/docs/integrations/amplitude.md +163 -157
  247. package/docs/integrations/building-integrations.md +136 -37
  248. package/docs/integrations/clearbit.md +155 -155
  249. package/docs/integrations/cloudflare-web-analytics.md +157 -157
  250. package/docs/integrations/cloudflare-zaraz.md +210 -262
  251. package/docs/integrations/crisp.md +165 -159
  252. package/docs/integrations/databuddy.md +158 -174
  253. package/docs/integrations/fathom-analytics.md +159 -157
  254. package/docs/integrations/front-chat.md +322 -0
  255. package/docs/integrations/google-maps.md +119 -84
  256. package/docs/integrations/google-tag-manager.md +179 -164
  257. package/docs/integrations/google-tag.md +164 -161
  258. package/docs/integrations/heap.md +164 -156
  259. package/docs/integrations/hightouch.md +162 -158
  260. package/docs/integrations/hotjar.md +160 -156
  261. package/docs/integrations/intercom.md +184 -154
  262. package/docs/integrations/klaviyo.md +486 -0
  263. package/docs/integrations/linkedin-insights.md +175 -151
  264. package/docs/integrations/logrocket.md +161 -157
  265. package/docs/integrations/matomo-analytics.md +189 -179
  266. package/docs/integrations/meta-pixel.md +189 -151
  267. package/docs/integrations/microsoft-clarity.md +164 -156
  268. package/docs/integrations/microsoft-uet.md +149 -155
  269. package/docs/integrations/mixpanel-analytics.md +156 -161
  270. package/docs/integrations/one-dollar-stats.md +306 -0
  271. package/docs/integrations/openai-pixel.md +205 -302
  272. package/docs/integrations/overview.md +143 -83
  273. package/docs/integrations/pinterest-tag.md +329 -0
  274. package/docs/integrations/pirsch.md +170 -160
  275. package/docs/integrations/plausible-analytics.md +173 -159
  276. package/docs/integrations/posthog.md +227 -242
  277. package/docs/integrations/promptwatch.md +155 -155
  278. package/docs/integrations/reddit-pixel.md +186 -158
  279. package/docs/integrations/rudderstack.md +202 -187
  280. package/docs/integrations/rybbit-analytics.md +172 -161
  281. package/docs/integrations/segment.md +183 -155
  282. package/docs/integrations/snapchat-pixel.md +187 -157
  283. package/docs/integrations/tiktok-pixel.md +172 -151
  284. package/docs/integrations/umami-analytics.md +164 -159
  285. package/docs/integrations/vercel-analytics.md +167 -158
  286. package/docs/integrations/x-pixel.md +177 -151
  287. package/docs/integrations/youtube.md +122 -87
  288. package/docs/upgrade-v3.md +490 -354
  289. package/package.json +12 -236
  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 -94
  295. package/docs/frameworks/next/script-loader.md +0 -210
  296. package/docs/frameworks/react/script-loader.md +0 -63
  297. package/docs/guides/consent-state.md +0 -60
  298. package/docs/guides/deployment-modes.md +0 -75
  299. package/docs/integrations/clear-on-revocation.md +0 -167
  300. package/docs/integrations/granular-consent.md +0 -208
package/dist/registry.js CHANGED
@@ -1,392 +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: 'hotjar',
153
- hint: 'Heatmaps and session recordings',
154
- integrationCategory: 'analytics',
155
- key: 'hotjar',
156
- label: 'Hotjar',
157
- packageSubpath: 'hotjar',
158
- vendor: 'hotjar'
159
- },
160
- {
161
- consentCategory: 'measurement',
162
- docsSlug: 'hightouch',
163
- hint: 'Customer data platform events',
164
- integrationCategory: 'analytics',
165
- key: 'hightouch',
166
- label: 'Hightouch',
167
- packageSubpath: 'hightouch',
168
- vendor: 'hightouch'
169
- },
170
- {
171
- consentCategory: 'measurement',
172
- docsSlug: 'rudderstack',
173
- hint: 'Customer data platform events',
174
- integrationCategory: 'analytics',
175
- key: 'rudderstack',
176
- label: 'RudderStack',
177
- packageSubpath: 'rudderstack',
178
- vendor: 'rudderstack'
179
- },
180
- {
181
- consentCategory: 'measurement',
182
- docsSlug: 'logrocket',
183
- hint: 'Session replay and monitoring',
184
- integrationCategory: 'analytics',
185
- key: 'logRocket',
186
- label: 'LogRocket',
187
- packageSubpath: 'logrocket',
188
- vendor: 'logrocket'
189
- },
190
- {
191
- consentCategory: 'measurement',
192
- docsSlug: 'matomo-analytics',
193
- hint: 'Self-hosted privacy analytics',
194
- integrationCategory: 'analytics',
195
- key: 'matomoAnalytics',
196
- label: 'Matomo Analytics',
197
- packageSubpath: 'matomo-analytics',
198
- vendor: 'matomo-analytics'
199
- },
200
- {
201
- consentCategory: 'measurement',
202
- docsSlug: 'posthog',
203
- hint: 'Product analytics',
204
- integrationCategory: 'analytics',
205
- key: 'posthog',
206
- label: 'PostHog',
207
- packageSubpath: 'posthog',
208
- vendor: 'posthog'
209
- },
210
- {
211
- consentCategory: 'measurement',
212
- docsSlug: 'promptwatch',
213
- hint: 'AI traffic analytics',
214
- integrationCategory: 'analytics',
215
- key: 'promptwatch',
216
- label: 'Promptwatch',
217
- packageSubpath: 'promptwatch',
218
- vendor: 'promptwatch'
219
- },
220
- {
221
- consentCategory: 'measurement',
222
- docsSlug: 'pirsch',
223
- hint: 'Privacy-friendly cookieless analytics',
224
- integrationCategory: 'analytics',
225
- key: 'pirsch',
226
- label: 'Pirsch',
227
- packageSubpath: 'pirsch',
228
- vendor: 'pirsch'
229
- },
230
- {
231
- consentCategory: 'measurement',
232
- docsSlug: 'segment',
233
- hint: 'Customer data platform',
234
- integrationCategory: 'analytics',
235
- key: 'segment',
236
- label: 'Segment',
237
- packageSubpath: 'segment',
238
- vendor: 'segment'
239
- },
240
- {
241
- consentCategory: 'measurement',
242
- docsSlug: 'rybbit-analytics',
243
- hint: 'Privacy-friendly web analytics',
244
- integrationCategory: 'analytics',
245
- key: 'rybbitAnalytics',
246
- label: 'Rybbit Analytics',
247
- packageSubpath: 'rybbit-analytics',
248
- vendor: 'rybbit-analytics'
249
- },
250
- {
251
- consentCategory: 'measurement',
252
- docsSlug: 'plausible-analytics',
253
- hint: 'Privacy-friendly cookieless analytics',
254
- integrationCategory: 'analytics',
255
- key: 'plausibleAnalytics',
256
- label: 'Plausible Analytics',
257
- packageSubpath: 'plausible-analytics',
258
- vendor: 'plausible-analytics'
259
- },
260
- {
261
- consentCategory: 'measurement',
262
- docsSlug: 'umami-analytics',
263
- hint: 'Open-source cookieless analytics',
264
- integrationCategory: 'analytics',
265
- key: 'umamiAnalytics',
266
- label: 'Umami Analytics',
267
- packageSubpath: 'umami-analytics',
268
- vendor: 'umami-analytics'
269
- },
270
- {
271
- consentCategory: 'measurement',
272
- docsSlug: 'vercel-analytics',
273
- hint: 'Vercel web analytics',
274
- integrationCategory: 'analytics',
275
- key: 'vercelAnalytics',
276
- label: 'Vercel Analytics',
277
- packageSubpath: 'vercel-analytics',
278
- vendor: 'vercel-analytics'
279
- },
280
- {
281
- consentCategory: 'functionality',
282
- docsSlug: 'crisp',
283
- hint: 'Live chat widget',
284
- integrationCategory: 'functional',
285
- key: 'crisp',
286
- label: 'Crisp',
287
- packageSubpath: 'crisp',
288
- vendor: 'crisp'
289
- },
290
- {
291
- consentCategory: 'functionality',
292
- docsSlug: 'intercom',
293
- hint: 'Messenger and live chat widget',
294
- integrationCategory: 'functional',
295
- key: 'intercom',
296
- label: 'Intercom',
297
- packageSubpath: 'intercom',
298
- vendor: 'intercom'
299
- },
300
- {
301
- consentCategory: 'marketing',
302
- docsSlug: 'meta-pixel',
303
- hint: 'Facebook/Instagram tracking',
304
- integrationCategory: 'ads-and-pixels',
305
- key: 'metaPixel',
306
- label: 'Meta Pixel',
307
- packageSubpath: 'meta-pixel',
308
- vendor: 'meta-pixel'
309
- },
310
- {
311
- consentCategory: 'marketing',
312
- docsSlug: 'openai-pixel',
313
- hint: 'ChatGPT Ads conversion measurement',
314
- integrationCategory: 'ads-and-pixels',
315
- key: 'openaiPixel',
316
- label: 'OpenAI Pixel (ChatGPT Ads)',
317
- packageSubpath: 'openai-pixel',
318
- vendor: 'openai-pixel'
319
- },
320
- {
321
- consentCategory: 'marketing',
322
- docsSlug: 'reddit-pixel',
323
- hint: 'Reddit ads tracking',
324
- integrationCategory: 'ads-and-pixels',
325
- key: 'redditPixel',
326
- label: 'Reddit Pixel',
327
- packageSubpath: 'reddit-pixel',
328
- vendor: 'reddit-pixel'
329
- },
330
- {
331
- consentCategory: 'marketing',
332
- docsSlug: 'tiktok-pixel',
333
- hint: 'TikTok ads tracking',
334
- integrationCategory: 'ads-and-pixels',
335
- key: 'tiktokPixel',
336
- label: 'TikTok Pixel',
337
- packageSubpath: 'tiktok-pixel',
338
- vendor: 'tiktok-pixel'
339
- },
340
- {
341
- consentCategory: 'marketing',
342
- docsSlug: 'linkedin-insights',
343
- hint: 'LinkedIn conversion tracking',
344
- integrationCategory: 'ads-and-pixels',
345
- key: 'linkedinInsights',
346
- label: 'LinkedIn Insight Tag',
347
- packageSubpath: 'linkedin-insights',
348
- vendor: 'linkedin-insights'
349
- },
350
- {
351
- consentCategory: 'marketing',
352
- docsSlug: 'microsoft-uet',
353
- hint: 'Bing Ads tracking',
354
- integrationCategory: 'ads-and-pixels',
355
- key: 'microsoftUet',
356
- label: 'Microsoft UET',
357
- packageSubpath: 'microsoft-uet',
358
- vendor: 'microsoft-uet'
359
- },
360
- {
361
- consentCategory: 'marketing',
362
- docsSlug: 'snapchat-pixel',
363
- hint: 'Snapchat ads tracking',
364
- integrationCategory: 'ads-and-pixels',
365
- key: 'snapchatPixel',
366
- label: 'Snapchat Pixel',
367
- packageSubpath: 'snapchat-pixel',
368
- vendor: 'snapchat-pixel'
369
- },
370
- {
371
- consentCategory: 'marketing',
372
- docsSlug: 'x-pixel',
373
- hint: 'X/Twitter conversion tracking',
374
- integrationCategory: 'ads-and-pixels',
375
- key: 'xPixel',
376
- label: 'X (Twitter) Pixel',
377
- packageSubpath: 'x-pixel',
378
- vendor: 'x-pixel'
379
- }
380
- ];
381
- const registry_getBuiltInScriptIntegration = function(key) {
382
- const integration = builtInScriptIntegrations.find((item)=>item.key === key);
383
- if (integration) return integration;
384
- throw new Error(`Unknown built-in script integration: ${key}`);
385
- };
386
- const registry_getBuiltInScriptIntegrationBySubpath = function(subpath) {
387
- return builtInScriptIntegrations.find((integration)=>integration.packageSubpath === subpath);
388
- };
389
- const registry_getBuiltInScriptIntegrationByVendor = function(vendor) {
390
- return builtInScriptIntegrations.find((integration)=>integration.vendor === vendor);
391
- };
392
- 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';