@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
@@ -1,66 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- export type VercelAnalyticsMode = 'auto' | 'development' | 'production';
3
- declare global {
4
- interface Window {
5
- va?: (event: string, properties?: unknown) => void;
6
- vaq?: [string, unknown?][];
7
- vam?: 'development' | 'production';
8
- }
9
- }
10
- /**
11
- * Vercel Analytics vendor manifest.
12
- *
13
- * Seeds Vercel's event queue before loading the tracker bundle.
14
- */
15
- export declare const vercelAnalyticsManifest: {
16
- readonly kind: "c15t.vendor-manifest";
17
- readonly schemaVersion: 1;
18
- readonly bootstrap: [{
19
- readonly ifUndefined: true;
20
- readonly name: 'vaq';
21
- readonly type: 'setGlobal';
22
- readonly value: readonly [];
23
- }, {
24
- readonly ifUndefined: true;
25
- readonly name: 'va';
26
- readonly queue: {
27
- readonly global: 'vaq';
28
- };
29
- readonly queueFormat: 'array';
30
- readonly type: 'defineStubFunction';
31
- }];
32
- readonly category: 'measurement';
33
- readonly install: [{
34
- readonly attributes: {
35
- readonly 'data-disable-auto-track': '{{disableAutoTrackAttribute}}';
36
- readonly 'data-dsn': '{{dsn}}';
37
- readonly 'data-endpoint': '{{endpoint}}';
38
- readonly 'data-sdkn': 'c15t';
39
- };
40
- readonly defer: true;
41
- readonly src: '{{scriptUrl}}';
42
- readonly type: 'loadScript';
43
- }];
44
- readonly vendor: 'vercel-analytics';
45
- };
46
- export interface VercelAnalyticsOptions {
47
- /** Project DSN for self-hosted or non-Vercel deployments. */
48
- dsn?: string;
49
- /** Disable automatic pageview tracking. */
50
- disableAutoTrack?: boolean;
51
- /** Preferred script mode. */
52
- mode?: VercelAnalyticsMode;
53
- /** Load Vercel's debug bundle when set to `true`. */
54
- debug?: boolean;
55
- /** Custom ingestion endpoint. */
56
- endpoint?: string;
57
- /** Custom loader URL. */
58
- scriptUrl?: string;
59
- }
60
- /**
61
- * Creates a Vercel Analytics script.
62
- *
63
- * @param options - The options for the Vercel Analytics script.
64
- * @returns The Vercel Analytics script.
65
- */
66
- export declare const vercelAnalytics: (options?: VercelAnalyticsOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/vercel-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/vercel-analytics';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/vendors/email-and-sms/klaviyo. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/email-and-sms/klaviyo';
@@ -1,78 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- $crisp: unknown[][];
5
- CRISP_WEBSITE_ID: string;
6
- CRISP_RUNTIME_CONFIG?: {
7
- locale?: string;
8
- session_merge?: boolean;
9
- };
10
- CRISP_COOKIE_DOMAIN?: string;
11
- CRISP_COOKIE_EXPIRE?: number;
12
- CRISP_TOKEN_ID?: string;
13
- }
14
- }
15
- /**
16
- * Crisp vendor manifest.
17
- *
18
- * Seeds the Crisp queue and website ID before loading the chat client.
19
- * Optional runtime globals are added when provided by the helper options.
20
- */
21
- export declare const crispManifest: {
22
- readonly kind: "c15t.vendor-manifest";
23
- readonly schemaVersion: 1;
24
- readonly category: 'functionality';
25
- readonly install: [{
26
- readonly ifUndefined: false;
27
- readonly name: '$crisp';
28
- readonly type: 'setGlobal';
29
- readonly value: readonly [];
30
- }, {
31
- readonly ifUndefined: false;
32
- readonly name: 'CRISP_WEBSITE_ID';
33
- readonly type: 'setGlobal';
34
- readonly value: '{{websiteId}}';
35
- }, {
36
- readonly async: true;
37
- readonly src: '{{scriptSrc}}';
38
- readonly type: 'loadScript';
39
- }];
40
- readonly vendor: 'crisp';
41
- };
42
- export interface CrispOptions {
43
- /** Your Crisp website ID. */
44
- websiteId: string;
45
- /** Optional locale passed through `window.CRISP_RUNTIME_CONFIG`. */
46
- locale?: string;
47
- /** Optional cookie domain override for Crisp. */
48
- cookieDomain?: string;
49
- /** Optional cookie expiration in seconds. */
50
- cookieExpiry?: number;
51
- /** Optional Crisp token ID for session continuity. */
52
- tokenId?: string;
53
- /** Whether to merge anonymous sessions into token-backed sessions. */
54
- sessionMerge?: boolean;
55
- /** Whether to enable `$crisp` safe mode before other queued calls. */
56
- safeMode?: boolean;
57
- /** Crisp loader URL. */
58
- scriptSrc?: string;
59
- }
60
- /**
61
- * Creates a Crisp chat script.
62
- *
63
- * This manifest-based helper keeps the serializable queue/bootstrap globals and
64
- * omits the upstream ready callback wrapper.
65
- *
66
- * @param options - The options for the Crisp script.
67
- * @returns The Crisp script configuration.
68
- *
69
- * @example
70
- * ```ts
71
- * const crispScript = crisp({
72
- * websiteId: '1234-abcd',
73
- * });
74
- * ```
75
- *
76
- * @see {@link https://help.crisp.chat/en/article/how-do-i-install-crisp-live-chat-on-my-website-10wcj3l/} Crisp installation documentation.
77
- */
78
- export declare const crisp: (options: CrispOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/functional/crisp. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/functional/crisp';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/vendors/functional/front-chat. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/functional/front-chat';
@@ -1,135 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- export declare const INTERCOM_API_BASES: {
3
- readonly au: 'https://api-iam.au.intercom.io';
4
- readonly eu: 'https://api-iam.eu.intercom.io';
5
- readonly us: 'https://api-iam.intercom.io';
6
- };
7
- export type IntercomApiBase = (typeof INTERCOM_API_BASES)[keyof typeof INTERCOM_API_BASES] | (string & Record<never, never>);
8
- export type IntercomThemeMode = 'light' | 'dark' | 'system';
9
- export interface IntercomAvatar {
10
- type: 'avatar';
11
- image_url: string;
12
- }
13
- export interface IntercomCompany {
14
- id?: string;
15
- company_id?: string;
16
- name?: string;
17
- created_at?: number;
18
- remote_created_at?: number;
19
- plan?: string;
20
- monthly_spend?: number;
21
- size?: number;
22
- website?: string;
23
- industry?: string;
24
- [key: string]: unknown;
25
- }
26
- export interface IntercomSettings extends Record<string, unknown> {
27
- app_id: string;
28
- api_base: IntercomApiBase;
29
- custom_launcher_selector?: string;
30
- alignment?: 'left' | 'right';
31
- vertical_padding?: number;
32
- horizontal_padding?: number;
33
- z_index?: number;
34
- hide_default_launcher?: boolean;
35
- hide_notifications?: boolean;
36
- theme_mode?: IntercomThemeMode;
37
- session_duration?: number;
38
- action_color?: string;
39
- background_color?: string;
40
- link_color?: string;
41
- email?: string;
42
- user_id?: string;
43
- created_at?: number;
44
- name?: string;
45
- phone?: string;
46
- unsubscribed_from_emails?: boolean;
47
- language_override?: string;
48
- utm_campaign?: string;
49
- utm_content?: string;
50
- utm_medium?: string;
51
- utm_source?: string;
52
- utm_term?: string;
53
- avatar?: IntercomAvatar;
54
- user_hash?: string;
55
- company?: IntercomCompany;
56
- companies?: IntercomCompany[];
57
- page_title?: string;
58
- }
59
- export type IntercomCustomSettings = Partial<Omit<IntercomSettings, 'app_id' | 'api_base'>> & Record<string, unknown>;
60
- declare global {
61
- interface Window {
62
- Intercom?: ((...args: unknown[]) => void) & {
63
- q?: unknown[][];
64
- };
65
- intercomSettings?: IntercomSettings;
66
- }
67
- }
68
- /**
69
- * Intercom vendor manifest.
70
- *
71
- * Seeds `window.intercomSettings` and a queueing `Intercom` stub before loading
72
- * the messenger widget bundle.
73
- */
74
- export declare const intercomManifest: {
75
- readonly kind: "c15t.vendor-manifest";
76
- readonly schemaVersion: 1;
77
- readonly category: 'functionality';
78
- readonly install: [{
79
- readonly ifUndefined: true;
80
- readonly name: 'Intercom';
81
- readonly queue: {
82
- readonly property: 'q';
83
- };
84
- readonly queueFormat: 'array';
85
- readonly type: 'defineStubFunction';
86
- }, {
87
- readonly ifUndefined: false;
88
- readonly name: 'intercomSettings';
89
- readonly type: 'setGlobal';
90
- readonly value: '{{settings}}';
91
- }, {
92
- readonly async: true;
93
- readonly src: '{{scriptSrc}}';
94
- readonly type: 'loadScript';
95
- }];
96
- readonly vendor: 'intercom';
97
- };
98
- export interface IntercomOptions {
99
- /**
100
- * Your Intercom app ID.
101
- */
102
- appId: string;
103
- /**
104
- * Regional Intercom API base.
105
- *
106
- * @default 'https://api-iam.intercom.io'
107
- */
108
- apiBase?: IntercomApiBase;
109
- /**
110
- * Additional serializable Intercom settings merged into
111
- * `window.intercomSettings`.
112
- */
113
- settings?: IntercomCustomSettings;
114
- /** Intercom loader URL. */
115
- scriptSrc?: string;
116
- }
117
- /**
118
- * Creates an Intercom messenger script.
119
- *
120
- * The helper bootstraps the documented Intercom settings object and queues
121
- * early `Intercom(...)` calls until the messenger bundle loads.
122
- *
123
- * @param options - The options for the Intercom script.
124
- * @returns The Intercom script configuration.
125
- *
126
- * @example
127
- * ```ts
128
- * const intercomScript = intercom({
129
- * appId: 'abc123',
130
- * });
131
- * ```
132
- *
133
- * @see {@link https://developers.intercom.com/installing-intercom/web/installation} Intercom installation documentation.
134
- */
135
- export declare const intercom: ({ appId, apiBase, settings, scriptSrc, }: IntercomOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/functional/intercom. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/functional/intercom';
@@ -1,39 +1,2 @@
1
- import type { AllConsentNames, Script } from '@c15t/core';
2
- /** The Zaraz Consent API methods used by the bridge. */
3
- export interface ZarazConsentApi {
4
- APIReady: boolean;
5
- modal?: unknown;
6
- getAll: () => Record<string, boolean>;
7
- set: (permissions: Record<string, boolean>) => void;
8
- sendQueuedEvents: () => void;
9
- }
10
- export interface CloudflareZarazOptions {
11
- /** Map c15t categories to purpose IDs from the Zaraz dashboard. */
12
- purposes: Partial<Record<AllConsentNames, readonly string[]>>;
13
- /** Hide the currently visible Zaraz modal. Disable auto-display in Zaraz too. @default true */
14
- hideBuiltInModal?: boolean;
15
- /** Replay Zaraz's queued pageview events after a denied purpose becomes allowed. @default true */
16
- sendQueuedEvents?: boolean;
17
- /**
18
- * Called once after the first successful synchronization. With automatic
19
- * pageviews disabled in Zaraz, send the initial Pageview from this callback.
20
- */
21
- onReady?: () => void;
22
- /** Called when synchronization fails. Retried on the next consent update or readiness event. */
23
- onError?: (error: unknown) => void;
24
- }
25
- /**
26
- * Synchronize c15t effective permissions with externally loaded Zaraz tools.
27
- * Does not load Zaraz or configure tools. Unmapped Zaraz purposes are denied.
28
- * Disable automatic pageviews and send the first Pageview from onReady to avoid
29
- * running tools with a stale Zaraz consent cookie before synchronization.
30
- *
31
- * @param options - Purpose mapping and synchronization callbacks.
32
- * @returns A callback-only script for the existing c15t script loader.
33
- * @throws {Error} If the mapping is empty, contains blank IDs, or maps an ID twice.
34
- * @example
35
- * ```ts
36
- * cloudflareZaraz({ purposes: { measurement: ['analytics-purpose'] } });
37
- * ```
38
- */
39
- export declare const cloudflareZaraz: (options: CloudflareZarazOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/tag-managers/cloudflare-zaraz. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/tag-managers/cloudflare-zaraz';
@@ -1,94 +1,2 @@
1
- import type { Script } from '@c15t/core';
2
- declare global {
3
- interface Window {
4
- dataLayer: unknown[];
5
- gtag: (...args: unknown[]) => void;
6
- }
7
- }
8
- /**
9
- * Google Tag Manager vendor manifest.
10
- *
11
- * Defines GTM as a declarative integration:
12
- * - Initializes dataLayer and gtag function before the container loads
13
- * - Maps c15t consent categories to Google Consent Mode v2 types
14
- * - Signals consent state via `gtag('consent', 'default'|'update', ...)`
15
- */
16
- export declare const googleTagManagerManifest: {
17
- readonly kind: "c15t.vendor-manifest";
18
- readonly schemaVersion: 1;
19
- readonly alwaysLoad: true;
20
- readonly bootstrap: [{
21
- readonly ifUndefined: true;
22
- readonly name: 'dataLayer';
23
- readonly type: 'setGlobal';
24
- readonly value: readonly [];
25
- }, {
26
- readonly ifUndefined: true;
27
- readonly name: 'gtag';
28
- readonly queue: 'dataLayer';
29
- readonly type: 'defineQueueFunction';
30
- }];
31
- readonly category: 'necessary';
32
- readonly consentMapping: Record<string, string[]>;
33
- readonly consentSignal: 'gtag';
34
- readonly install: [{
35
- readonly queue: 'dataLayer';
36
- readonly type: 'pushToQueue';
37
- readonly value: {
38
- readonly event: 'gtm.js';
39
- readonly 'gtm.start': {
40
- readonly kind: "c15t.runtime-value";
41
- readonly value: 'timestamp';
42
- };
43
- };
44
- }, {
45
- readonly async: true;
46
- readonly src: 'https://www.googletagmanager.com/gtm.js?id={{id}}';
47
- readonly type: 'loadScript';
48
- }];
49
- readonly onConsentChange: [{
50
- readonly args: ["event", "{{updateEventName}}"];
51
- readonly global: 'gtag';
52
- readonly type: 'callGlobal';
53
- }];
54
- readonly vendor: 'google-tag-manager';
55
- };
56
- export interface GoogleTagManagerOptions {
57
- /**
58
- * Your Google Tag Manager container ID. Begins with 'GTM-'.
59
- * @example `GTM-1234XXX`
60
- */
61
- id: string;
62
- /**
63
- * Custom event name fired after consent updates.
64
- * Can be used as a trigger in GTM to load scripts once consent is updated.
65
- *
66
- * @default 'consent-update'
67
- */
68
- updateEventName?: string;
69
- /**
70
- * Custom mapping from c15t consent categories to Google Consent Mode v2 types.
71
- * Overrides the default mapping when provided.
72
- *
73
- * @default
74
- * ```ts
75
- * {
76
- * necessary: ['security_storage'],
77
- * functionality: ['functionality_storage'],
78
- * measurement: ['analytics_storage'],
79
- * marketing: ['ad_storage', 'ad_user_data', 'ad_personalization'],
80
- * experience: ['personalization_storage'],
81
- * }
82
- * ```
83
- */
84
- consentMapping?: Record<string, string[]>;
85
- }
86
- /**
87
- * Creates a Google Tag Manager script.
88
- * GTM can be used for managing the consent of other scripts via Google Tag Manager consent mode.
89
- * We recommend using c15t's script loader instead so your script logic is centralised.
90
- *
91
- * @param options - The options for the Google Tag Manager script.
92
- * @returns The Google Tag Manager script.
93
- */
94
- export declare const googleTagManager: ({ id, updateEventName, consentMapping, }: GoogleTagManagerOptions) => Script;
1
+ /** @deprecated Use @c15t/integrations/vendors/tag-managers/google-tag-manager. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/tag-managers/google-tag-manager';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/vercel-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vercel-analytics';
@@ -0,0 +1,2 @@
1
+ /** @deprecated Use @c15t/integrations/x-pixel. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/x-pixel';