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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/AGENTS.md +129 -63
  2. package/README.md +8 -29
  3. package/SKILL.md +33 -0
  4. package/dist/adobe-analytics.js +2 -0
  5. package/dist/ahrefs-analytics.js +2 -0
  6. package/dist/amplitude.js +2 -0
  7. package/dist/clearbit.js +2 -0
  8. package/dist/cloudflare-web-analytics.js +2 -0
  9. package/dist/cloudflare-zaraz.js +2 -0
  10. package/dist/crisp.js +2 -0
  11. package/dist/databuddy.js +2 -0
  12. package/dist/e2e-test-utils.js +2 -139
  13. package/dist/engine/compile.js +2 -89
  14. package/dist/engine/runtime.js +2 -448
  15. package/dist/events.js +2 -218
  16. package/dist/fathom-analytics.js +2 -0
  17. package/dist/front-chat.js +2 -0
  18. package/dist/google-tag-manager.js +2 -0
  19. package/dist/google-tag.js +2 -0
  20. package/dist/heap.js +2 -0
  21. package/dist/hightouch.js +2 -0
  22. package/dist/hotjar.js +2 -0
  23. package/dist/intercom.js +2 -0
  24. package/dist/klaviyo.js +2 -0
  25. package/dist/linkedin-insights.js +2 -0
  26. package/dist/logrocket.js +2 -0
  27. package/dist/matomo-analytics.js +2 -0
  28. package/dist/meta-pixel.js +2 -0
  29. package/dist/microsoft-clarity.js +2 -0
  30. package/dist/microsoft-uet.js +2 -0
  31. package/dist/mixpanel-analytics.js +2 -0
  32. package/dist/one-dollar-stats.js +2 -0
  33. package/dist/openai-pixel.js +2 -0
  34. package/dist/pinterest-tag.js +2 -0
  35. package/dist/pirsch.js +2 -0
  36. package/dist/plausible-analytics.js +2 -0
  37. package/dist/posthog.js +2 -0
  38. package/dist/promptwatch.js +2 -0
  39. package/dist/reddit-pixel.js +2 -0
  40. package/dist/registry.js +2 -422
  41. package/dist/resolve.js +2 -33
  42. package/dist/rudderstack.js +2 -0
  43. package/dist/rybbit-analytics.js +2 -0
  44. package/dist/segment.js +2 -0
  45. package/dist/snapchat-pixel.js +2 -0
  46. package/dist/tiktok-pixel.js +2 -0
  47. package/dist/types.js +2 -16
  48. package/dist/umami-analytics.js +2 -0
  49. package/dist/vendors/_shared/attributes.js +2 -14
  50. package/dist/vendors/_shared/google-consent.js +2 -27
  51. package/dist/vendors/_shared/install-builders.js +2 -21
  52. package/dist/vendors/_shared/required-id.js +2 -0
  53. package/dist/vendors/_shared/script-url.js +2 -28
  54. package/dist/vendors/ads-and-pixels/linkedin-insights.js +2 -48
  55. package/dist/vendors/ads-and-pixels/meta-pixel.js +2 -153
  56. package/dist/vendors/ads-and-pixels/microsoft-uet.js +2 -110
  57. package/dist/vendors/ads-and-pixels/openai-pixel.js +2 -88
  58. package/dist/vendors/ads-and-pixels/pinterest-tag.js +2 -123
  59. package/dist/vendors/ads-and-pixels/reddit-pixel.js +2 -107
  60. package/dist/vendors/ads-and-pixels/snapchat-pixel.js +2 -87
  61. package/dist/vendors/ads-and-pixels/tiktok-pixel.js +2 -89
  62. package/dist/vendors/ads-and-pixels/x-pixel.js +2 -48
  63. package/dist/vendors/analytics/adobe-analytics.js +2 -49
  64. package/dist/vendors/analytics/ahrefs-analytics.js +2 -27
  65. package/dist/vendors/analytics/amplitude.js +2 -134
  66. package/dist/vendors/analytics/clearbit.js +2 -28
  67. package/dist/vendors/analytics/cloudflare-web-analytics.js +2 -32
  68. package/dist/vendors/analytics/databuddy.js +2 -103
  69. package/dist/vendors/analytics/fathom-analytics.js +2 -35
  70. package/dist/vendors/analytics/google-tag.js +2 -78
  71. package/dist/vendors/analytics/heap.js +2 -134
  72. package/dist/vendors/analytics/hightouch.js +2 -109
  73. package/dist/vendors/analytics/hotjar.js +2 -44
  74. package/dist/vendors/analytics/logrocket.js +2 -58
  75. package/dist/vendors/analytics/matomo-analytics.js +2 -191
  76. package/dist/vendors/analytics/microsoft-clarity.js +2 -100
  77. package/dist/vendors/analytics/mixpanel-analytics.js +2 -93
  78. package/dist/vendors/analytics/one-dollar-stats.js +2 -30
  79. package/dist/vendors/analytics/pirsch.js +2 -67
  80. package/dist/vendors/analytics/plausible-analytics.js +2 -81
  81. package/dist/vendors/analytics/posthog.js +2 -200
  82. package/dist/vendors/analytics/promptwatch.js +2 -29
  83. package/dist/vendors/analytics/rudderstack.js +2 -183
  84. package/dist/vendors/analytics/rybbit-analytics.js +2 -63
  85. package/dist/vendors/analytics/segment.js +2 -65
  86. package/dist/vendors/analytics/umami-analytics.js +2 -39
  87. package/dist/vendors/analytics/vercel-analytics.js +2 -53
  88. package/dist/vendors/email-and-sms/klaviyo.js +2 -0
  89. package/dist/vendors/functional/crisp.js +2 -100
  90. package/dist/vendors/functional/front-chat.js +2 -64
  91. package/dist/vendors/functional/intercom.js +2 -45
  92. package/dist/vendors/tag-managers/cloudflare-zaraz.js +2 -98
  93. package/dist/vendors/tag-managers/google-tag-manager.js +2 -73
  94. package/dist/vercel-analytics.js +2 -0
  95. package/dist/x-pixel.js +2 -0
  96. package/dist-types/adobe-analytics.d.ts +2 -0
  97. package/dist-types/ahrefs-analytics.d.ts +2 -0
  98. package/dist-types/amplitude.d.ts +2 -0
  99. package/dist-types/clearbit.d.ts +2 -0
  100. package/dist-types/cloudflare-web-analytics.d.ts +2 -0
  101. package/dist-types/cloudflare-zaraz.d.ts +2 -0
  102. package/dist-types/crisp.d.ts +2 -0
  103. package/dist-types/databuddy.d.ts +2 -0
  104. package/dist-types/e2e-test-utils.d.ts +2 -0
  105. package/dist-types/engine/compile.d.ts +2 -3
  106. package/dist-types/engine/runtime.d.ts +2 -3
  107. package/dist-types/events.d.ts +2 -46
  108. package/dist-types/fathom-analytics.d.ts +2 -0
  109. package/dist-types/front-chat.d.ts +2 -0
  110. package/dist-types/google-tag-manager.d.ts +2 -0
  111. package/dist-types/google-tag.d.ts +2 -0
  112. package/dist-types/heap.d.ts +2 -0
  113. package/dist-types/hightouch.d.ts +2 -0
  114. package/dist-types/hotjar.d.ts +2 -0
  115. package/dist-types/intercom.d.ts +2 -0
  116. package/dist-types/klaviyo.d.ts +2 -0
  117. package/dist-types/linkedin-insights.d.ts +2 -0
  118. package/dist-types/logrocket.d.ts +2 -0
  119. package/dist-types/matomo-analytics.d.ts +2 -0
  120. package/dist-types/meta-pixel.d.ts +2 -0
  121. package/dist-types/microsoft-clarity.d.ts +2 -0
  122. package/dist-types/microsoft-uet.d.ts +2 -0
  123. package/dist-types/mixpanel-analytics.d.ts +2 -0
  124. package/dist-types/one-dollar-stats.d.ts +2 -0
  125. package/dist-types/openai-pixel.d.ts +2 -0
  126. package/dist-types/pinterest-tag.d.ts +2 -0
  127. package/dist-types/pirsch.d.ts +2 -0
  128. package/dist-types/plausible-analytics.d.ts +2 -0
  129. package/dist-types/posthog.d.ts +2 -0
  130. package/dist-types/promptwatch.d.ts +2 -0
  131. package/dist-types/reddit-pixel.d.ts +2 -0
  132. package/dist-types/registry.d.ts +2 -485
  133. package/dist-types/resolve.d.ts +2 -9
  134. package/dist-types/rudderstack.d.ts +2 -0
  135. package/dist-types/rybbit-analytics.d.ts +2 -0
  136. package/dist-types/segment.d.ts +2 -0
  137. package/dist-types/snapchat-pixel.d.ts +2 -0
  138. package/dist-types/tiktok-pixel.d.ts +2 -0
  139. package/dist-types/types.d.ts +2 -314
  140. package/dist-types/umami-analytics.d.ts +2 -0
  141. package/dist-types/vendors/_shared/attributes.d.ts +2 -35
  142. package/dist-types/vendors/_shared/google-consent.d.ts +2 -47
  143. package/dist-types/vendors/_shared/install-builders.d.ts +2 -30
  144. package/dist-types/vendors/_shared/required-id.d.ts +2 -0
  145. package/dist-types/vendors/_shared/script-url.d.ts +2 -75
  146. package/dist-types/vendors/ads-and-pixels/linkedin-insights.d.ts +2 -92
  147. package/dist-types/vendors/ads-and-pixels/meta-pixel.d.ts +2 -289
  148. package/dist-types/vendors/ads-and-pixels/microsoft-uet.d.ts +2 -105
  149. package/dist-types/vendors/ads-and-pixels/openai-pixel.d.ts +2 -211
  150. package/dist-types/vendors/ads-and-pixels/pinterest-tag.d.ts +2 -295
  151. package/dist-types/vendors/ads-and-pixels/reddit-pixel.d.ts +2 -210
  152. package/dist-types/vendors/ads-and-pixels/snapchat-pixel.d.ts +2 -171
  153. package/dist-types/vendors/ads-and-pixels/tiktok-pixel.d.ts +2 -106
  154. package/dist-types/vendors/ads-and-pixels/x-pixel.d.ts +2 -183
  155. package/dist-types/vendors/analytics/adobe-analytics.d.ts +2 -75
  156. package/dist-types/vendors/analytics/ahrefs-analytics.d.ts +2 -62
  157. package/dist-types/vendors/analytics/amplitude.d.ts +2 -234
  158. package/dist-types/vendors/analytics/clearbit.d.ts +2 -60
  159. package/dist-types/vendors/analytics/cloudflare-web-analytics.d.ts +2 -67
  160. package/dist-types/vendors/analytics/databuddy.d.ts +2 -147
  161. package/dist-types/vendors/analytics/fathom-analytics.d.ts +2 -90
  162. package/dist-types/vendors/analytics/google-tag.d.ts +2 -95
  163. package/dist-types/vendors/analytics/heap.d.ts +2 -316
  164. package/dist-types/vendors/analytics/hightouch.d.ts +2 -285
  165. package/dist-types/vendors/analytics/hotjar.d.ts +2 -73
  166. package/dist-types/vendors/analytics/logrocket.d.ts +2 -101
  167. package/dist-types/vendors/analytics/matomo-analytics.d.ts +2 -41
  168. package/dist-types/vendors/analytics/microsoft-clarity.d.ts +2 -97
  169. package/dist-types/vendors/analytics/mixpanel-analytics.d.ts +2 -113
  170. package/dist-types/vendors/analytics/one-dollar-stats.d.ts +2 -39
  171. package/dist-types/vendors/analytics/pirsch.d.ts +2 -96
  172. package/dist-types/vendors/analytics/plausible-analytics.d.ts +2 -122
  173. package/dist-types/vendors/analytics/posthog.d.ts +2 -175
  174. package/dist-types/vendors/analytics/promptwatch.d.ts +2 -36
  175. package/dist-types/vendors/analytics/rudderstack.d.ts +2 -330
  176. package/dist-types/vendors/analytics/rybbit-analytics.d.ts +2 -82
  177. package/dist-types/vendors/analytics/segment.d.ts +2 -164
  178. package/dist-types/vendors/analytics/umami-analytics.d.ts +2 -93
  179. package/dist-types/vendors/analytics/vercel-analytics.d.ts +2 -66
  180. package/dist-types/vendors/email-and-sms/klaviyo.d.ts +2 -0
  181. package/dist-types/vendors/functional/crisp.d.ts +2 -78
  182. package/dist-types/vendors/functional/front-chat.d.ts +2 -62
  183. package/dist-types/vendors/functional/intercom.d.ts +2 -135
  184. package/dist-types/vendors/tag-managers/cloudflare-zaraz.d.ts +2 -39
  185. package/dist-types/vendors/tag-managers/google-tag-manager.d.ts +2 -96
  186. package/dist-types/vercel-analytics.d.ts +2 -0
  187. package/dist-types/x-pixel.d.ts +2 -0
  188. package/docs/README.md +129 -63
  189. package/docs/assets/v3/bottom-bar.png +0 -0
  190. package/docs/assets/v3/brand-card.png +0 -0
  191. package/docs/assets/v3/brand-preferences.png +0 -0
  192. package/docs/assets/v3/choice-wall.png +0 -0
  193. package/docs/assets/v3/headless-bar-html.png +0 -0
  194. package/docs/assets/v3/headless-bar-mobile.png +0 -0
  195. package/docs/assets/v3/headless-bar.png +0 -0
  196. package/docs/assets/v3/slim-bar.png +0 -0
  197. package/docs/concepts/choose-your-setup.md +87 -0
  198. package/docs/concepts/consent-categories.md +84 -0
  199. package/docs/{guides → concepts}/consent-state.md +71 -101
  200. package/docs/{guides → concepts}/data-fetching.md +31 -27
  201. package/docs/concepts/how-consent-works.md +123 -0
  202. package/docs/concepts/policies.md +71 -0
  203. package/docs/customization/class-names.md +202 -0
  204. package/docs/customization/dark-mode.md +157 -0
  205. package/docs/customization/motion.md +119 -0
  206. package/docs/customization/overview.md +67 -34
  207. package/docs/customization/recipes.md +839 -49
  208. package/docs/customization/slots.md +216 -35
  209. package/docs/customization/stylesheets.md +147 -0
  210. package/docs/customization/tailwind.md +842 -0
  211. package/docs/customization/tokens.md +163 -96
  212. package/docs/customization/translations.md +61 -3
  213. package/docs/frameworks/astro/embeds.md +160 -0
  214. package/docs/frameworks/astro/network-blocker.md +86 -0
  215. package/docs/frameworks/astro/scripts.md +146 -0
  216. package/docs/frameworks/html/embeds.md +142 -0
  217. package/docs/frameworks/html/network-blocker.md +105 -0
  218. package/docs/frameworks/html/scripts.md +164 -0
  219. package/docs/frameworks/javascript/scripts.md +119 -0
  220. package/docs/frameworks/next/embeds.md +90 -0
  221. package/docs/frameworks/next/network-blocker.md +153 -0
  222. package/docs/frameworks/next/scripts.md +196 -0
  223. package/docs/frameworks/nuxt/embeds.md +81 -0
  224. package/docs/frameworks/nuxt/network-blocker.md +97 -0
  225. package/docs/frameworks/nuxt/scripts.md +89 -0
  226. package/docs/frameworks/react/embeds.md +89 -0
  227. package/docs/frameworks/react/network-blocker.md +140 -0
  228. package/docs/frameworks/react/scripts.md +115 -0
  229. package/docs/frameworks/svelte/embeds.md +96 -0
  230. package/docs/frameworks/svelte/network-blocker.md +141 -0
  231. package/docs/frameworks/svelte/scripts.md +137 -0
  232. package/docs/frameworks/sveltekit/embeds.md +103 -0
  233. package/docs/frameworks/sveltekit/network-blocker.md +149 -0
  234. package/docs/frameworks/sveltekit/scripts.md +141 -0
  235. package/docs/frameworks/tanstack-start/embeds.md +96 -0
  236. package/docs/frameworks/tanstack-start/network-blocker.md +145 -0
  237. package/docs/frameworks/tanstack-start/scripts.md +103 -0
  238. package/docs/frameworks/vue/embeds.md +84 -0
  239. package/docs/frameworks/vue/network-blocker.md +99 -0
  240. package/docs/frameworks/vue/scripts.md +93 -0
  241. package/docs/guides/banner-experiments.md +654 -0
  242. package/docs/guides/troubleshooting.md +120 -47
  243. package/docs/guides/verify-consent.md +81 -49
  244. package/docs/integrations/adobe-analytics.md +167 -159
  245. package/docs/integrations/ahrefs-analytics.md +152 -154
  246. package/docs/integrations/amplitude.md +162 -156
  247. package/docs/integrations/building-integrations.md +136 -37
  248. package/docs/integrations/clearbit.md +154 -154
  249. package/docs/integrations/cloudflare-web-analytics.md +156 -156
  250. package/docs/integrations/cloudflare-zaraz.md +209 -261
  251. package/docs/integrations/crisp.md +164 -158
  252. package/docs/integrations/databuddy.md +157 -173
  253. package/docs/integrations/fathom-analytics.md +158 -156
  254. package/docs/integrations/front-chat.md +167 -167
  255. package/docs/integrations/google-maps.md +118 -83
  256. package/docs/integrations/google-tag-manager.md +178 -163
  257. package/docs/integrations/google-tag.md +163 -160
  258. package/docs/integrations/heap.md +163 -155
  259. package/docs/integrations/hightouch.md +161 -157
  260. package/docs/integrations/hotjar.md +159 -155
  261. package/docs/integrations/intercom.md +183 -153
  262. package/docs/integrations/klaviyo.md +486 -0
  263. package/docs/integrations/linkedin-insights.md +174 -150
  264. package/docs/integrations/logrocket.md +160 -156
  265. package/docs/integrations/matomo-analytics.md +188 -178
  266. package/docs/integrations/meta-pixel.md +188 -150
  267. package/docs/integrations/microsoft-clarity.md +163 -155
  268. package/docs/integrations/microsoft-uet.md +148 -154
  269. package/docs/integrations/mixpanel-analytics.md +155 -160
  270. package/docs/integrations/one-dollar-stats.md +166 -165
  271. package/docs/integrations/openai-pixel.md +204 -301
  272. package/docs/integrations/overview.md +137 -80
  273. package/docs/integrations/pinterest-tag.md +191 -183
  274. package/docs/integrations/pirsch.md +169 -159
  275. package/docs/integrations/plausible-analytics.md +172 -158
  276. package/docs/integrations/posthog.md +226 -241
  277. package/docs/integrations/promptwatch.md +154 -154
  278. package/docs/integrations/reddit-pixel.md +185 -157
  279. package/docs/integrations/rudderstack.md +201 -186
  280. package/docs/integrations/rybbit-analytics.md +171 -160
  281. package/docs/integrations/segment.md +182 -154
  282. package/docs/integrations/snapchat-pixel.md +186 -156
  283. package/docs/integrations/tiktok-pixel.md +171 -150
  284. package/docs/integrations/umami-analytics.md +163 -158
  285. package/docs/integrations/vercel-analytics.md +166 -157
  286. package/docs/integrations/x-pixel.md +176 -150
  287. package/docs/integrations/youtube.md +121 -86
  288. package/docs/upgrade-v3.md +475 -467
  289. package/package.json +10 -257
  290. package/dist-types/__tests__/helpers.d.ts +0 -141
  291. package/docs/assets/v3/brand-bar.png +0 -0
  292. package/docs/assets/v3/mobile-card.png +0 -0
  293. package/docs/assets/v3/preferences.png +0 -0
  294. package/docs/frameworks/javascript/script-loader.md +0 -100
  295. package/docs/frameworks/next/script-loader.md +0 -216
  296. package/docs/frameworks/react/script-loader.md +0 -69
  297. package/docs/guides/deployment-modes.md +0 -75
  298. package/docs/guides/shared-consent-controls.md +0 -158
  299. package/docs/integrations/clear-on-revocation.md +0 -167
  300. package/docs/integrations/granular-consent.md +0 -210
@@ -1,89 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const tiktokPixelManifest = {
4
- ...vendorManifestContract,
5
- afterLoad: [
6
- {
7
- global: 'ttq',
8
- method: 'grantConsent',
9
- type: 'callGlobal'
10
- }
11
- ],
12
- bootstrap: [
13
- {
14
- name: 'TiktokAnalyticsObject',
15
- type: 'setGlobal',
16
- value: 'ttq'
17
- },
18
- {
19
- ifUndefined: true,
20
- name: 'ttq',
21
- type: 'setGlobal',
22
- value: []
23
- },
24
- {
25
- methods: [
26
- 'page',
27
- 'track',
28
- 'identify',
29
- 'instances',
30
- 'debug',
31
- 'on',
32
- 'off',
33
- 'once',
34
- 'ready',
35
- 'alias',
36
- 'group',
37
- 'enableCookie',
38
- 'disableCookie',
39
- 'holdConsent',
40
- 'revokeConsent',
41
- 'grantConsent'
42
- ],
43
- target: 'ttq',
44
- type: 'defineQueueMethods'
45
- }
46
- ],
47
- category: 'marketing',
48
- install: [
49
- {
50
- global: 'ttq',
51
- method: 'grantConsent',
52
- type: 'callGlobal'
53
- },
54
- {
55
- global: 'ttq',
56
- method: 'page',
57
- type: 'callGlobal'
58
- },
59
- {
60
- async: true,
61
- src: "{{scriptSrc}}?sdkid={{pixelId}}&lib=ttq",
62
- type: 'loadScript'
63
- }
64
- ],
65
- onConsentDenied: [
66
- {
67
- global: 'ttq',
68
- method: 'revokeConsent',
69
- type: 'callGlobal'
70
- }
71
- ],
72
- onConsentGranted: [
73
- {
74
- global: 'ttq',
75
- method: 'grantConsent',
76
- type: 'callGlobal'
77
- }
78
- ],
79
- persistAfterConsentRevoked: true,
80
- vendor: 'tiktok-pixel'
81
- };
82
- const tiktok_pixel_tiktokPixel = function({ pixelId, scriptSrc }) {
83
- const resolved = resolveManifest(tiktokPixelManifest, {
84
- pixelId,
85
- scriptSrc: scriptSrc ?? 'https://analytics.tiktok.com/i18n/pixel/events.js'
86
- });
87
- return resolved;
88
- };
89
- export { tiktokPixelManifest, tiktok_pixel_tiktokPixel as tiktokPixel };
1
+ /** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/tiktok-pixel. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/ads-and-pixels/tiktok-pixel';
@@ -1,48 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const xPixelManifest = {
4
- ...vendorManifestContract,
5
- bootstrap: [
6
- {
7
- dispatchProperty: 'exe',
8
- ifUndefined: true,
9
- name: 'twq',
10
- properties: {
11
- version: '1.1'
12
- },
13
- queue: {
14
- property: 'queue'
15
- },
16
- type: 'defineStubFunction'
17
- }
18
- ],
19
- category: 'marketing',
20
- install: [
21
- {
22
- args: [
23
- 'config',
24
- '{{pixelId}}'
25
- ],
26
- global: 'twq',
27
- type: 'callGlobal'
28
- },
29
- {
30
- async: true,
31
- src: "{{scriptSrc}}",
32
- type: 'loadScript'
33
- }
34
- ],
35
- vendor: 'x-pixel'
36
- };
37
- const x_pixel_xPixel = function({ pixelId, scriptSrc }) {
38
- const resolved = resolveManifest(xPixelManifest, {
39
- pixelId,
40
- scriptSrc: scriptSrc ?? 'https://static.ads-twitter.com/uwt.js'
41
- });
42
- return resolved;
43
- };
44
- const xPixelEvent = (eventId, metadata)=>{
45
- if ("u" < typeof window || 'function' != typeof window.twq) throw new Error('X Pixel (twq) is not loaded. Ensure marketing consent is granted before calling xPixelEvent.');
46
- window.twq('event', eventId, metadata);
47
- };
48
- export { xPixelEvent, xPixelManifest, x_pixel_xPixel as xPixel };
1
+ /** @deprecated Use @c15t/integrations/vendors/ads-and-pixels/x-pixel. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/ads-and-pixels/x-pixel';
@@ -1,49 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const adobe_analytics_validateAdobeAnalyticsScriptUrl = function(scriptUrl) {
4
- const trimmed = scriptUrl.trim();
5
- if (0 === trimmed.length) throw new Error("adobeAnalytics: invalid scriptUrl - must be a non-empty https URL from your Adobe Data Collection embed code");
6
- let parsed;
7
- try {
8
- parsed = new URL(trimmed);
9
- } catch {
10
- throw new Error("adobeAnalytics: invalid scriptUrl - must be a valid https URL from your Adobe Data Collection embed code");
11
- }
12
- if ('https:' !== parsed.protocol) throw new Error("adobeAnalytics: invalid scriptUrl - must use https: from your Adobe Data Collection embed code");
13
- return trimmed;
14
- };
15
- const adobe_analytics_createAdobeAnalyticsManifest = function(options) {
16
- const install = [];
17
- if (options.seedAdobeDataLayer) install.push({
18
- ifUndefined: true,
19
- name: 'adobeDataLayer',
20
- type: 'setGlobal',
21
- value: []
22
- });
23
- install.push({
24
- async: options.async,
25
- src: "{{scriptUrl}}",
26
- type: 'loadScript'
27
- });
28
- return {
29
- ...vendorManifestContract,
30
- category: 'measurement',
31
- install,
32
- vendor: 'adobe-analytics'
33
- };
34
- };
35
- const adobeAnalyticsManifest = adobe_analytics_createAdobeAnalyticsManifest({
36
- async: true,
37
- seedAdobeDataLayer: true
38
- });
39
- const adobe_analytics_adobeAnalytics = function(options) {
40
- const scriptUrl = adobe_analytics_validateAdobeAnalyticsScriptUrl(options.scriptUrl);
41
- const manifest = adobe_analytics_createAdobeAnalyticsManifest({
42
- async: options.async ?? true,
43
- seedAdobeDataLayer: options.seedAdobeDataLayer ?? true
44
- });
45
- return resolveManifest(manifest, {
46
- scriptUrl
47
- });
48
- };
49
- export { adobeAnalyticsManifest, adobe_analytics_adobeAnalytics as adobeAnalytics };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/adobe-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/adobe-analytics';
@@ -1,27 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { resolveScriptUrl } from "../_shared/script-url.js";
4
- const ahrefsAnalyticsManifest = {
5
- ...vendorManifestContract,
6
- category: 'measurement',
7
- install: [
8
- {
9
- async: true,
10
- attributes: {
11
- 'data-key': '{{key}}'
12
- },
13
- src: "{{scriptUrl}}",
14
- type: 'loadScript'
15
- }
16
- ],
17
- vendor: 'ahrefs-analytics'
18
- };
19
- const ahrefs_analytics_ahrefsAnalytics = function(options) {
20
- const key = 'string' == typeof options.key ? options.key.trim() : '';
21
- if (0 === key.length) throw new Error('ahrefsAnalytics: missing or invalid key');
22
- return resolveManifest(ahrefsAnalyticsManifest, {
23
- key,
24
- scriptUrl: resolveScriptUrl(options.scriptUrl, 'https://analytics.ahrefs.com/analytics.js')
25
- });
26
- };
27
- export { ahrefsAnalyticsManifest, ahrefs_analytics_ahrefsAnalytics as ahrefsAnalytics };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/ahrefs-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/ahrefs-analytics';
@@ -1,134 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { resolveScriptUrl, trimToUndefined } from "../_shared/script-url.js";
4
- const DEFAULT_AMPLITUDE_BROWSER_SDK_VERSION = '2.44.4';
5
- const DEFAULT_AMPLITUDE_SCRIPT_URL = `https://cdn.amplitude.com/libs/analytics-browser-${DEFAULT_AMPLITUDE_BROWSER_SDK_VERSION}-min.js.gz`;
6
- const AMPLITUDE_PROMISE_QUEUE_METHODS = [
7
- 'init',
8
- 'track',
9
- 'identify',
10
- 'flush'
11
- ];
12
- const AMPLITUDE_SYNC_QUEUE_METHODS = [
13
- 'setUserId',
14
- 'setOptOut'
15
- ];
16
- const AMPLITUDE_QUEUE_METHODS = [
17
- ...AMPLITUDE_PROMISE_QUEUE_METHODS,
18
- ...AMPLITUDE_SYNC_QUEUE_METHODS
19
- ];
20
- const AMPLITUDE_IDENTIFY_METHODS = [
21
- 'set',
22
- 'setOnce',
23
- 'add',
24
- 'append',
25
- 'prepend',
26
- 'preInsert',
27
- 'postInsert',
28
- 'remove',
29
- 'unset',
30
- 'clearAll',
31
- 'getUserProperties'
32
- ];
33
- const amplitudeManifest = {
34
- ...vendorManifestContract,
35
- category: 'measurement',
36
- install: [
37
- {
38
- ifUndefined: true,
39
- name: 'amplitude',
40
- type: 'setGlobal',
41
- value: {
42
- _iq: {},
43
- _q: [],
44
- invoked: true
45
- }
46
- },
47
- {
48
- methods: [
49
- ...AMPLITUDE_IDENTIFY_METHODS
50
- ],
51
- name: 'Identify',
52
- queueProperty: '_q',
53
- target: 'amplitude',
54
- type: 'defineQueueClass'
55
- },
56
- {
57
- methods: [
58
- ...AMPLITUDE_PROMISE_QUEUE_METHODS
59
- ],
60
- queue: {
61
- property: '_q'
62
- },
63
- queueFormat: 'wrappedMethodCall',
64
- target: 'amplitude',
65
- type: 'defineQueueMethods'
66
- },
67
- {
68
- type: 'defineQueueMethods',
69
- target: 'amplitude',
70
- queue: {
71
- property: '_q'
72
- },
73
- queueFormat: 'voidMethodCall',
74
- methods: [
75
- ...AMPLITUDE_SYNC_QUEUE_METHODS
76
- ]
77
- },
78
- {
79
- args: [
80
- '{{apiKey}}',
81
- '{{initOptions}}'
82
- ],
83
- global: 'amplitude',
84
- method: 'init',
85
- type: 'callGlobal'
86
- },
87
- {
88
- async: true,
89
- src: "{{scriptUrl}}",
90
- type: 'loadScript'
91
- }
92
- ],
93
- onConsentDenied: [
94
- {
95
- args: [
96
- true
97
- ],
98
- global: 'amplitude',
99
- method: 'setOptOut',
100
- type: 'callGlobal'
101
- }
102
- ],
103
- onConsentGranted: [
104
- {
105
- args: [
106
- false
107
- ],
108
- global: 'amplitude',
109
- method: 'setOptOut',
110
- type: 'callGlobal'
111
- }
112
- ],
113
- onLoadDenied: [
114
- {
115
- args: [
116
- true
117
- ],
118
- global: 'amplitude',
119
- method: 'setOptOut',
120
- type: 'callGlobal'
121
- }
122
- ],
123
- vendor: 'amplitude'
124
- };
125
- const amplitude_amplitude = function({ apiKey, initOptions = {}, scriptUrl }) {
126
- const normalizedApiKey = 'string' == typeof apiKey ? apiKey.trim() : '';
127
- if (0 === normalizedApiKey.length) throw new Error('amplitude: missing or invalid apiKey');
128
- return resolveManifest(amplitudeManifest, {
129
- apiKey: normalizedApiKey,
130
- initOptions,
131
- scriptUrl: resolveScriptUrl(trimToUndefined(scriptUrl), DEFAULT_AMPLITUDE_SCRIPT_URL)
132
- });
133
- };
134
- export { AMPLITUDE_IDENTIFY_METHODS, AMPLITUDE_PROMISE_QUEUE_METHODS, AMPLITUDE_QUEUE_METHODS, AMPLITUDE_SYNC_QUEUE_METHODS, DEFAULT_AMPLITUDE_BROWSER_SDK_VERSION, DEFAULT_AMPLITUDE_SCRIPT_URL, amplitudeManifest, amplitude_amplitude as amplitude };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/amplitude. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/amplitude';
@@ -1,28 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { resolveScriptUrl, trimToUndefined } from "../_shared/script-url.js";
4
- const clearbit_getDefaultClearbitScriptUrl = function(publishableKey) {
5
- return `https://tag.clearbitscripts.com/v1/${encodeURIComponent(publishableKey)}/tags.js`;
6
- };
7
- const clearbitManifest = {
8
- ...vendorManifestContract,
9
- category: 'marketing',
10
- install: [
11
- {
12
- attributes: {
13
- referrerpolicy: 'strict-origin-when-cross-origin'
14
- },
15
- src: "{{scriptUrl}}",
16
- type: 'loadScript'
17
- }
18
- ],
19
- vendor: 'clearbit'
20
- };
21
- const clearbit_clearbit = function(options) {
22
- const publishableKey = 'string' == typeof options.publishableKey ? options.publishableKey.trim() : '';
23
- if (0 === publishableKey.length) throw new Error('clearbit: invalid publishableKey - must be a non-empty string');
24
- return resolveManifest(clearbitManifest, {
25
- scriptUrl: resolveScriptUrl(trimToUndefined(options.scriptUrl), clearbit_getDefaultClearbitScriptUrl(publishableKey))
26
- });
27
- };
28
- export { clearbitManifest, clearbit_clearbit as clearbit };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/clearbit. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/clearbit';
@@ -1,32 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { resolveScriptUrl } from "../_shared/script-url.js";
4
- const cloudflareWebAnalyticsManifest = {
5
- ...vendorManifestContract,
6
- category: 'measurement',
7
- install: [
8
- {
9
- attributes: {
10
- 'data-cf-beacon': '{{beaconConfig}}'
11
- },
12
- defer: true,
13
- src: "{{scriptUrl}}",
14
- type: 'loadScript'
15
- }
16
- ],
17
- vendor: 'cloudflare-web-analytics'
18
- };
19
- const cloudflare_web_analytics_cloudflareWebAnalytics = function(options) {
20
- let token;
21
- token = 'string' == typeof options.token ? options.token.trim() : '';
22
- if (0 === token.length) throw new Error('cloudflareWebAnalytics: missing token');
23
- const resolved = resolveManifest(cloudflareWebAnalyticsManifest, {
24
- beaconConfig: JSON.stringify({
25
- spa: options.spa ?? true,
26
- token
27
- }),
28
- scriptUrl: resolveScriptUrl(options.scriptUrl, 'https://static.cloudflareinsights.com/beacon.min.js')
29
- });
30
- return resolved;
31
- };
32
- export { cloudflareWebAnalyticsManifest, cloudflare_web_analytics_cloudflareWebAnalytics as cloudflareWebAnalytics };
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,103 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const databuddyManifest = {
4
- ...vendorManifestContract,
5
- alwaysLoad: true,
6
- category: 'measurement',
7
- install: [
8
- {
9
- async: true,
10
- attributes: {
11
- crossorigin: 'anonymous',
12
- 'data-api-url': '{{apiUrl}}',
13
- 'data-client-id': '{{clientId}}'
14
- },
15
- src: "{{scriptUrl}}",
16
- type: 'loadScript'
17
- }
18
- ],
19
- onBeforeLoadDenied: [
20
- {
21
- ifUndefined: true,
22
- name: 'databuddyConfig',
23
- type: 'setGlobal',
24
- value: '{{configWhenDenied}}'
25
- }
26
- ],
27
- onBeforeLoadGranted: [
28
- {
29
- ifUndefined: true,
30
- name: 'databuddyConfig',
31
- type: 'setGlobal',
32
- value: '{{configWhenGranted}}'
33
- }
34
- ],
35
- onConsentDenied: [
36
- {
37
- ifUndefined: false,
38
- name: 'databuddyConfig',
39
- type: 'setGlobal',
40
- value: '{{configWhenDenied}}'
41
- },
42
- {
43
- path: [
44
- 'databuddy',
45
- 'options',
46
- 'disabled'
47
- ],
48
- type: 'setGlobalPath',
49
- value: true
50
- }
51
- ],
52
- onConsentGranted: [
53
- {
54
- ifUndefined: false,
55
- name: 'databuddyConfig',
56
- type: 'setGlobal',
57
- value: '{{configWhenGranted}}'
58
- },
59
- {
60
- path: [
61
- 'databuddy',
62
- 'options',
63
- 'disabled'
64
- ],
65
- type: 'setGlobalPath',
66
- value: false
67
- }
68
- ],
69
- onLoadDenied: [
70
- {
71
- path: [
72
- 'databuddy',
73
- 'options',
74
- 'disabled'
75
- ],
76
- type: 'setGlobalPath',
77
- value: true
78
- }
79
- ],
80
- onLoadGranted: [
81
- {
82
- path: [
83
- 'databuddy',
84
- 'options',
85
- 'disabled'
86
- ],
87
- type: 'setGlobalPath',
88
- value: false
89
- }
90
- ],
91
- vendor: 'databuddy'
92
- };
93
- const databuddy_databuddy = function(options) {
94
- const resolved = resolveManifest(databuddyManifest, {
95
- apiUrl: options.apiUrl ?? 'https://basket.databuddy.cc',
96
- clientId: options.clientId,
97
- configWhenDenied: options.configWhenDenied,
98
- configWhenGranted: options.configWhenGranted,
99
- scriptUrl: options.scriptUrl ?? 'https://cdn.databuddy.cc/databuddy.js'
100
- });
101
- return resolved;
102
- };
103
- export { databuddyManifest, databuddy_databuddy as databuddy };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/databuddy. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/databuddy';
@@ -1,35 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { booleanDataAttribute } from "../_shared/attributes.js";
4
- import { resolveScriptUrl } from "../_shared/script-url.js";
5
- const fathomAnalyticsManifest = {
6
- ...vendorManifestContract,
7
- category: 'measurement',
8
- install: [
9
- {
10
- attributes: {
11
- 'data-auto': '{{autoAttribute}}',
12
- 'data-canonical': '{{canonicalAttribute}}',
13
- 'data-honor-dnt': '{{honorDntAttribute}}',
14
- 'data-site': '{{site}}',
15
- 'data-spa': '{{spa}}'
16
- },
17
- defer: true,
18
- src: "{{scriptUrl}}",
19
- type: 'loadScript'
20
- }
21
- ],
22
- vendor: 'fathom-analytics'
23
- };
24
- const fathom_analytics_fathomAnalytics = function(options) {
25
- const resolved = resolveManifest(fathomAnalyticsManifest, {
26
- autoAttribute: booleanDataAttribute(options.auto),
27
- canonicalAttribute: booleanDataAttribute(options.canonical),
28
- honorDntAttribute: booleanDataAttribute(options.honorDnt),
29
- scriptUrl: resolveScriptUrl(options.scriptUrl, "https://cdn.usefathom.com/script.js"),
30
- site: options.site,
31
- spa: options.spa
32
- });
33
- return resolved;
34
- };
35
- export { fathomAnalyticsManifest, fathom_analytics_fathomAnalytics as fathomAnalytics };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/fathom-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/fathom-analytics';
@@ -1,78 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { runtimeDateValue, vendorManifestContract } from "../../types.js";
3
- import { GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING, withOptionalConsentMapping } from "../_shared/google-consent.js";
4
- const gtagManifest = {
5
- ...vendorManifestContract,
6
- alwaysLoad: true,
7
- bootstrap: [
8
- {
9
- ifUndefined: true,
10
- name: 'dataLayer',
11
- type: 'setGlobal',
12
- value: []
13
- },
14
- {
15
- ifUndefined: true,
16
- name: 'gtag',
17
- queue: 'dataLayer',
18
- type: 'defineQueueFunction'
19
- }
20
- ],
21
- category: '{{category}}',
22
- consentMapping: GOOGLE_CONSENT_MODE_V2_DEFAULT_MAPPING,
23
- consentSignal: 'gtag',
24
- install: [
25
- {
26
- args: [
27
- 'js',
28
- runtimeDateValue
29
- ],
30
- global: 'gtag',
31
- type: 'callGlobal'
32
- },
33
- {
34
- args: [
35
- 'config',
36
- '{{id}}'
37
- ],
38
- global: 'gtag',
39
- type: 'callGlobal'
40
- },
41
- {
42
- async: true,
43
- src: 'https://www.googletagmanager.com/gtag/js?id={{id}}',
44
- type: 'loadScript'
45
- }
46
- ],
47
- persistAfterConsentRevoked: true,
48
- vendor: 'gtag'
49
- };
50
- const google_tag_gtag = function({ id, config, category, consentMapping, script }) {
51
- const base = void 0 === config ? gtagManifest : {
52
- ...gtagManifest,
53
- install: gtagManifest.install.map((step)=>'callGlobal' === step.type && 'config' === step.args[0] ? {
54
- ...step,
55
- args: [
56
- 'config',
57
- '{{id}}',
58
- '{{config}}'
59
- ]
60
- } : step)
61
- };
62
- const manifest = withOptionalConsentMapping(base, consentMapping);
63
- const resolved = resolveManifest(manifest, {
64
- category,
65
- config,
66
- id
67
- });
68
- if (!script) return resolved;
69
- return {
70
- ...resolved,
71
- ...script,
72
- attributes: {
73
- ...resolved.attributes ?? {},
74
- ...script.attributes ?? {}
75
- }
76
- };
77
- };
78
- export { google_tag_gtag as gtag, gtagManifest };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/google-tag. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/google-tag';