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

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 +89 -105
  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 +60 -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 +155 -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 +137 -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 +144 -0
  232. package/docs/frameworks/sveltekit/embeds.md +103 -0
  233. package/docs/frameworks/sveltekit/network-blocker.md +159 -0
  234. package/docs/frameworks/sveltekit/scripts.md +172 -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 +313 -240
  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 +496 -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
@@ -1,60 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- /**
3
- * Clearbit vendor manifest.
4
- *
5
- * Loads Clearbit's visitor and company enrichment tag from the account-keyed
6
- * `tags.js` endpoint. Clearbit enrichment can identify visitors and companies,
7
- * so the default consent category is `marketing` rather than `measurement`.
8
- * The GitHub issue left the category open between measurement and marketing;
9
- * c15t treats enrichment and intent profiling as marketing-sensitive.
10
- */
11
- export declare const clearbitManifest: {
12
- readonly kind: "c15t.vendor-manifest";
13
- readonly schemaVersion: 1;
14
- readonly category: 'marketing';
15
- readonly install: [{
16
- readonly attributes: {
17
- readonly referrerpolicy: 'strict-origin-when-cross-origin';
18
- };
19
- readonly src: '{{scriptUrl}}';
20
- readonly type: 'loadScript';
21
- }];
22
- readonly vendor: 'clearbit';
23
- };
24
- export interface ClearbitOptions {
25
- /**
26
- * Your Clearbit publishable key.
27
- */
28
- publishableKey: string;
29
- /**
30
- * Custom loader URL.
31
- * @default `https://tag.clearbitscripts.com/v1/{publishableKey}/tags.js`
32
- */
33
- scriptUrl?: string;
34
- }
35
- /**
36
- * Creates a Clearbit enrichment script.
37
- *
38
- * @see https://help.clearbit.com/hc/en-us/articles/4420022080783 — installing the Clearbit tag
39
- *
40
- * @param options - The options for the Clearbit script.
41
- * @returns The Clearbit script.
42
- * @throws {Error} When `publishableKey` is missing, empty, or invalid.
43
- * Provide a valid non-empty `publishableKey` string to prevent this error.
44
- *
45
- * @remarks
46
- * Clearbit identifies visitors and companies for enrichment and intent use
47
- * cases. This helper therefore uses the `marketing` consent category by
48
- * default even though Clearbit is listed with analytics integrations for
49
- * discovery.
50
- *
51
- * @example
52
- * ```ts
53
- * import { clearbit } from '@c15t/scripts/clearbit';
54
- *
55
- * clearbit({
56
- * publishableKey: 'YOUR_PUBLISHABLE_KEY',
57
- * });
58
- * ```
59
- */
60
- export declare const clearbit: (options: ClearbitOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/clearbit. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/clearbit';
@@ -1,67 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- __cfBeacon?: {
5
- spa?: boolean;
6
- token: string;
7
- };
8
- }
9
- }
10
- /**
11
- * Cloudflare Web Analytics vendor manifest.
12
- *
13
- * Serializes Cloudflare's beacon config into the `data-cf-beacon` attribute.
14
- * Cloudflare Web Analytics is cookieless, so the script is consent-gated on
15
- * `measurement` and unloaded when consent is revoked.
16
- */
17
- export declare const cloudflareWebAnalyticsManifest: {
18
- readonly kind: "c15t.vendor-manifest";
19
- readonly schemaVersion: 1;
20
- readonly category: 'measurement';
21
- readonly install: [{
22
- readonly attributes: {
23
- readonly 'data-cf-beacon': '{{beaconConfig}}';
24
- };
25
- readonly defer: true;
26
- readonly src: '{{scriptUrl}}';
27
- readonly type: 'loadScript';
28
- }];
29
- readonly vendor: 'cloudflare-web-analytics';
30
- };
31
- export interface CloudflareWebAnalyticsOptions {
32
- /**
33
- * Your Cloudflare Web Analytics token.
34
- */
35
- token: string;
36
- /**
37
- * Enable Cloudflare's SPA route tracking.
38
- * @default true
39
- */
40
- spa?: boolean;
41
- /**
42
- * Custom loader URL.
43
- * @default 'https://static.cloudflareinsights.com/beacon.min.js'
44
- */
45
- scriptUrl?: string;
46
- }
47
- /**
48
- * Creates a Cloudflare Web Analytics script.
49
- *
50
- * @see https://developers.cloudflare.com/analytics/web-analytics/get-started/
51
- *
52
- * @param options - The options for the Cloudflare Web Analytics script.
53
- * @returns The Cloudflare Web Analytics script.
54
- * @throws {Error} Throws `cloudflareWebAnalytics: missing token` when
55
- * `options.token` is missing, invalid, or trims to an empty string.
56
- *
57
- * @example
58
- * ```ts
59
- * import { cloudflareWebAnalytics } from '@c15t/scripts/cloudflare-web-analytics';
60
- *
61
- * cloudflareWebAnalytics({
62
- * token: 'abc123...',
63
- * spa: true,
64
- * });
65
- * ```
66
- */
67
- export declare const cloudflareWebAnalytics: (options: CloudflareWebAnalyticsOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/cloudflare-web-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/cloudflare-web-analytics';
@@ -1,147 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- databuddy?: {
5
- track: (eventName: string, properties?: Record<string, unknown>) => void;
6
- screenView: (screenName?: string, properties?: Record<string, unknown>) => void;
7
- clear: () => void;
8
- flush: () => void;
9
- setGlobalProperties: (properties: Record<string, unknown>) => void;
10
- trackCustomEvent: (eventName: string, properties?: Record<string, unknown>) => void;
11
- options: {
12
- disabled: boolean;
13
- [key: string]: unknown;
14
- };
15
- };
16
- databuddyConfig?: {
17
- clientId?: string;
18
- apiUrl?: string;
19
- [key: string]: unknown;
20
- };
21
- }
22
- }
23
- /**
24
- * DataBuddy vendor manifest.
25
- *
26
- * DataBuddy always loads but controls tracking via its `options.disabled` flag.
27
- * Config is seeded via `window.databuddyConfig` before the script loads.
28
- */
29
- export declare const databuddyManifest: {
30
- readonly kind: "c15t.vendor-manifest";
31
- readonly schemaVersion: 1;
32
- readonly alwaysLoad: true;
33
- readonly category: 'measurement';
34
- readonly install: [{
35
- readonly async: true;
36
- readonly attributes: {
37
- readonly crossorigin: 'anonymous';
38
- readonly 'data-api-url': '{{apiUrl}}';
39
- readonly 'data-client-id': '{{clientId}}';
40
- };
41
- readonly src: '{{scriptUrl}}';
42
- readonly type: 'loadScript';
43
- }];
44
- readonly onBeforeLoadDenied: [{
45
- readonly ifUndefined: true;
46
- readonly name: 'databuddyConfig';
47
- readonly type: 'setGlobal';
48
- readonly value: '{{configWhenDenied}}';
49
- }];
50
- readonly onBeforeLoadGranted: [{
51
- readonly ifUndefined: true;
52
- readonly name: 'databuddyConfig';
53
- readonly type: 'setGlobal';
54
- readonly value: '{{configWhenGranted}}';
55
- }];
56
- readonly onConsentDenied: [{
57
- readonly ifUndefined: false;
58
- readonly name: 'databuddyConfig';
59
- readonly type: 'setGlobal';
60
- readonly value: '{{configWhenDenied}}';
61
- }, {
62
- readonly path: ["databuddy", "options", "disabled"];
63
- readonly type: 'setGlobalPath';
64
- readonly value: true;
65
- }];
66
- readonly onConsentGranted: [{
67
- readonly ifUndefined: false;
68
- readonly name: 'databuddyConfig';
69
- readonly type: 'setGlobal';
70
- readonly value: '{{configWhenGranted}}';
71
- }, {
72
- readonly path: ["databuddy", "options", "disabled"];
73
- readonly type: 'setGlobalPath';
74
- readonly value: false;
75
- }];
76
- readonly onLoadDenied: [{
77
- readonly path: ["databuddy", "options", "disabled"];
78
- readonly type: 'setGlobalPath';
79
- readonly value: true;
80
- }];
81
- readonly onLoadGranted: [{
82
- readonly path: ["databuddy", "options", "disabled"];
83
- readonly type: 'setGlobalPath';
84
- readonly value: false;
85
- }];
86
- readonly vendor: 'databuddy';
87
- };
88
- export interface DatabuddyConsentOptions {
89
- /**
90
- * Your Databuddy client ID.
91
- */
92
- clientId: string;
93
- /**
94
- * Your Databuddy API URL.
95
- * @default 'https://basket.databuddy.cc'
96
- */
97
- apiUrl?: string;
98
- /**
99
- * The Databuddy script URL.
100
- * @default 'https://cdn.databuddy.cc/databuddy.js'
101
- */
102
- scriptUrl?: string;
103
- /** Databuddy config object to seed when consent is granted at load time. */
104
- configWhenGranted: Record<string, unknown>;
105
- /** Databuddy config object to seed when consent is denied at load time. */
106
- configWhenDenied: Record<string, unknown>;
107
- }
108
- /**
109
- * Loads the Databuddy script and manages consent state declaratively via the manifest runtime.
110
- *
111
- * The script always loads (`alwaysLoad: true`) but tracking is controlled via the `disabled`
112
- * flag on Databuddy's global config/runtime objects, allowing the vendor to stay present in
113
- * the DOM while respecting consent boundaries.
114
- *
115
- * @param options - Configuration for the Databuddy consent script
116
- * @returns The Databuddy script configuration object for c15t's script loader
117
- *
118
- * @example
119
- * ```ts
120
- * import { createConsentKernel } from 'c15t';
121
- * import { createScriptLoader } from 'c15t/modules/script-loader';
122
- * import { databuddy } from '@c15t/scripts/databuddy';
123
- *
124
- * const kernel = createConsentKernel();
125
- * const loader = createScriptLoader({
126
- * kernel,
127
- * scripts: [
128
- * databuddy({
129
- * clientId: 'db_1234567890abcdef',
130
- * configWhenGranted: {
131
- * clientId: 'db_1234567890abcdef',
132
- * trackScreenViews: true,
133
- * trackOutgoingLinks: true,
134
- * trackPerformance: true,
135
- * samplingRate: 1.0,
136
- * disabled: false,
137
- * },
138
- * configWhenDenied: {
139
- * clientId: 'db_1234567890abcdef',
140
- * disabled: true,
141
- * },
142
- * }),
143
- * ],
144
- * });
145
- * ```
146
- */
147
- export declare const databuddy: (options: DatabuddyConsentOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/databuddy. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/databuddy';
@@ -1,90 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- fathom?: {
5
- blockTrackingForMe: () => void;
6
- enableTrackingForMe: () => void;
7
- trackEvent: (eventName: string, opts?: {
8
- _value?: number;
9
- }) => void;
10
- trackGoal: (goalId: string, cents: number) => void;
11
- trackPageview: (opts?: {
12
- url: string;
13
- referrer?: string;
14
- }) => void;
15
- };
16
- }
17
- }
18
- /**
19
- * Fathom Analytics vendor manifest.
20
- *
21
- * Configures Fathom via script `data-*` attributes. Fathom is a cookieless
22
- * analytics product, so the script is consent-gated on `measurement` and
23
- * unloaded when consent is revoked.
24
- */
25
- export declare const fathomAnalyticsManifest: {
26
- readonly kind: "c15t.vendor-manifest";
27
- readonly schemaVersion: 1;
28
- readonly category: 'measurement';
29
- readonly install: [{
30
- readonly attributes: {
31
- readonly 'data-auto': '{{autoAttribute}}';
32
- readonly 'data-canonical': '{{canonicalAttribute}}';
33
- readonly 'data-honor-dnt': '{{honorDntAttribute}}';
34
- readonly 'data-site': '{{site}}';
35
- readonly 'data-spa': '{{spa}}';
36
- };
37
- readonly defer: true;
38
- readonly src: '{{scriptUrl}}';
39
- readonly type: 'loadScript';
40
- }];
41
- readonly vendor: 'fathom-analytics';
42
- };
43
- export interface FathomAnalyticsOptions {
44
- /**
45
- * Your Fathom Analytics site ID.
46
- */
47
- site: string;
48
- /**
49
- * The SPA tracking mode. When undefined, SPA auto-routing is disabled and
50
- * the `data-spa` attribute is omitted.
51
- */
52
- spa?: 'auto' | 'history' | 'hash';
53
- /**
54
- * Automatically track page views.
55
- */
56
- auto?: boolean;
57
- /**
58
- * Enable canonical URL tracking.
59
- */
60
- canonical?: boolean;
61
- /**
62
- * Honor Do Not Track requests.
63
- */
64
- honorDnt?: boolean;
65
- /**
66
- * Custom loader URL.
67
- * @default 'https://cdn.usefathom.com/script.js'
68
- */
69
- scriptUrl?: string;
70
- }
71
- /**
72
- * Creates a Fathom Analytics script.
73
- *
74
- * @see https://usefathom.com/docs/script/script-settings
75
- *
76
- * @param options - The options for the Fathom Analytics script.
77
- * @returns The Fathom Analytics script.
78
- *
79
- * @example
80
- * ```ts
81
- * import { fathomAnalytics } from '@c15t/scripts/fathom-analytics';
82
- *
83
- * fathomAnalytics({
84
- * site: 'SITE123',
85
- * spa: 'history',
86
- * canonical: true,
87
- * });
88
- * ```
89
- */
90
- export declare const fathomAnalytics: (options: FathomAnalyticsOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/fathom-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/fathom-analytics';
@@ -1,95 +1,2 @@
1
- import type { AllConsentNames, Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- dataLayer: unknown[];
5
- gtag: (...args: unknown[]) => void;
6
- }
7
- }
8
- /**
9
- * Google Tag (gtag.js) vendor manifest.
10
- *
11
- * Similar to GTM but for direct Google product integration (Analytics, Ads, Floodlight).
12
- * Uses the same Consent Mode v2 mapping.
13
- */
14
- export declare const gtagManifest: {
15
- readonly kind: "c15t.vendor-manifest";
16
- readonly schemaVersion: 1;
17
- readonly alwaysLoad: true;
18
- readonly bootstrap: [{
19
- readonly ifUndefined: true;
20
- readonly name: 'dataLayer';
21
- readonly type: 'setGlobal';
22
- readonly value: readonly [];
23
- }, {
24
- readonly ifUndefined: true;
25
- readonly name: 'gtag';
26
- readonly queue: 'dataLayer';
27
- readonly type: 'defineQueueFunction';
28
- }];
29
- readonly category: '{{category}}';
30
- readonly consentMapping: Record<string, string[]>;
31
- readonly consentSignal: 'gtag';
32
- readonly install: [{
33
- readonly args: ["js", {
34
- readonly kind: "c15t.runtime-value";
35
- readonly value: 'date';
36
- }];
37
- readonly global: 'gtag';
38
- readonly type: 'callGlobal';
39
- }, {
40
- readonly args: ["config", "{{id}}"];
41
- readonly global: 'gtag';
42
- readonly type: 'callGlobal';
43
- }, {
44
- readonly async: true;
45
- readonly src: 'https://www.googletagmanager.com/gtag/js?id={{id}}';
46
- readonly type: 'loadScript';
47
- }];
48
- readonly persistAfterConsentRevoked: true;
49
- readonly vendor: 'gtag';
50
- };
51
- export interface GtagOptions {
52
- /** Parameters forwarded to gtag config. */
53
- config?: Record<string, unknown>;
54
- /**
55
- * Your gtag id
56
- * @example `G-XXXXXXX`
57
- */
58
- id: string;
59
- /**
60
- * The consent category to use for the gtag script. This is typically marketing (Ads & Floodlight) or measurement (Analytics)
61
- * @example 'marketing'
62
- */
63
- category: AllConsentNames;
64
- /**
65
- * Custom mapping from c15t consent categories to Google Consent Mode v2 types.
66
- * Overrides the default mapping when provided.
67
- *
68
- * @default
69
- * ```ts
70
- * {
71
- * necessary: ['security_storage'],
72
- * functionality: ['functionality_storage'],
73
- * measurement: ['analytics_storage'],
74
- * marketing: ['ad_storage', 'ad_user_data', 'ad_personalization'],
75
- * experience: ['personalization_storage'],
76
- * }
77
- * ```
78
- */
79
- consentMapping?: Record<string, string[]>;
80
- /**
81
- * Deprecated script-level overrides preserved for backwards compatibility.
82
- *
83
- * Prefer manifest-backed options instead of this generic override bag.
84
- * @deprecated
85
- */
86
- script?: Partial<Script>;
87
- }
88
- /**
89
- * Creates a Google Tag (gtag.js) script.
90
- * Allows you to send data website to linked Google products like Analytics, Ads & Floodlight.
91
- *
92
- * @param options - The options for the gtag script.
93
- * @returns The Google Tag Manager script.
94
- */
95
- export declare const gtag: ({ id, config, category, consentMapping, script, }: GtagOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/google-tag. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/google-tag';