@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,93 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const mixpanelAnalyticsManifest = {
4
- ...vendorManifestContract,
5
- alwaysLoad: true,
6
- category: 'measurement',
7
- install: [
8
- {
9
- ifUndefined: true,
10
- name: 'mixpanel',
11
- type: 'setGlobal',
12
- value: []
13
- },
14
- {
15
- path: [
16
- 'mixpanel',
17
- '__SV'
18
- ],
19
- type: 'setGlobalPath',
20
- value: 1.2
21
- },
22
- {
23
- path: [
24
- 'mixpanel',
25
- '_i'
26
- ],
27
- type: 'setGlobalPath',
28
- value: [
29
- [
30
- '{{token}}',
31
- '{{initOptions}}',
32
- 'mixpanel'
33
- ]
34
- ]
35
- },
36
- {
37
- methods: [
38
- 'track',
39
- 'identify',
40
- 'reset',
41
- 'register',
42
- 'opt_in_tracking',
43
- 'opt_out_tracking'
44
- ],
45
- target: 'mixpanel',
46
- type: 'defineQueueMethods'
47
- },
48
- {
49
- async: true,
50
- src: "{{scriptUrl}}",
51
- type: 'loadScript'
52
- }
53
- ],
54
- onConsentDenied: [
55
- {
56
- global: 'mixpanel',
57
- method: 'opt_out_tracking',
58
- type: 'callGlobal'
59
- }
60
- ],
61
- onConsentGranted: [
62
- {
63
- global: 'mixpanel',
64
- method: 'opt_in_tracking',
65
- type: 'callGlobal'
66
- }
67
- ],
68
- onLoadDenied: [
69
- {
70
- global: 'mixpanel',
71
- method: 'opt_out_tracking',
72
- type: 'callGlobal'
73
- }
74
- ],
75
- onLoadGranted: [
76
- {
77
- global: 'mixpanel',
78
- method: 'opt_in_tracking',
79
- type: 'callGlobal'
80
- }
81
- ],
82
- vendor: 'mixpanel-analytics'
83
- };
84
- const mixpanel_analytics_mixpanelAnalytics = function({ token, initOptions, scriptUrl }) {
85
- const normalizedToken = token.trim();
86
- if (!/^[a-f0-9]{32}$/iu.test(normalizedToken)) throw new Error("mixpanelAnalytics: token must be a non-empty 32-character hexadecimal string");
87
- return resolveManifest(mixpanelAnalyticsManifest, {
88
- initOptions: initOptions ?? {},
89
- scriptUrl: scriptUrl ?? 'https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js',
90
- token: normalizedToken
91
- });
92
- };
93
- export { mixpanelAnalyticsManifest, mixpanel_analytics_mixpanelAnalytics as mixpanelAnalytics };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/mixpanel-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/mixpanel-analytics';
@@ -1,30 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const ONE_DOLLAR_STATS_SCRIPT_SRC = 'https://assets.onedollarstats.com/stonks.js';
4
- const oneDollarStatsManifest = {
5
- ...vendorManifestContract,
6
- category: 'measurement',
7
- install: [
8
- {
9
- defer: true,
10
- src: ONE_DOLLAR_STATS_SCRIPT_SRC,
11
- type: 'loadScript'
12
- }
13
- ],
14
- vendor: 'one-dollar-stats'
15
- };
16
- const SETTING_NAME = /^[a-z][a-z0-9-]*$/u;
17
- const one_dollar_stats_oneDollarStats = function(options = {}) {
18
- if (void 0 !== options.hostname && ('string' != typeof options.hostname || !/^[\p{L}\p{N}-]+(?:\.[\p{L}\p{N}-]+)*(?::\d+)?$/u.test(options.hostname))) throw new Error('oneDollarStats: hostname must be a bare host name like docs.example.com, without a scheme, path, query, or fragment');
19
- const attributes = {};
20
- for (const [setting, value] of Object.entries(options))if (void 0 !== value) {
21
- if (!SETTING_NAME.test(setting)) throw new Error(`oneDollarStats: ${setting} is not a valid setting name; use lowercase letters, digits and hyphens`);
22
- if ('string' != typeof value) throw new Error(`oneDollarStats: ${setting} must be a string`);
23
- if ('hash-routing' !== setting || 'false' !== value) attributes[`data-${setting}`] = value;
24
- }
25
- return {
26
- ...resolveManifest(oneDollarStatsManifest),
27
- attributes
28
- };
29
- };
30
- export { ONE_DOLLAR_STATS_SCRIPT_SRC, oneDollarStatsManifest, one_dollar_stats_oneDollarStats as oneDollarStats };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/one-dollar-stats. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/one-dollar-stats';
@@ -1,67 +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_PIRSCH_SCRIPT_URL = 'https://api.pirsch.io/pa.js';
5
- const DEFAULT_PIRSCH_EXTENDED_SCRIPT_URL = 'https://api.pirsch.io/pirsch-extended.js';
6
- const pirschManifest = {
7
- ...vendorManifestContract,
8
- category: 'measurement',
9
- install: [
10
- {
11
- attributes: {
12
- 'data-code': '{{identificationCode}}',
13
- 'data-dev': '{{dev}}',
14
- 'data-disable-page-views': '{{disablePageViews}}',
15
- 'data-domain': '{{domain}}',
16
- 'data-event-endpoint': '{{eventEndpoint}}',
17
- 'data-hit-endpoint': '{{hitEndpoint}}',
18
- id: "{{scriptElementId}}"
19
- },
20
- defer: true,
21
- src: "{{scriptUrl}}",
22
- type: 'loadScript'
23
- }
24
- ],
25
- vendor: 'pirsch'
26
- };
27
- const pirsch_commaListDataAttribute = function(value) {
28
- if (void 0 === value) return;
29
- if (Array.isArray(value)) {
30
- const items = value.map((item)=>item.trim()).filter((item)=>item.length > 0);
31
- if (0 === items.length) return;
32
- return items.join(',');
33
- }
34
- return trimToUndefined(value);
35
- };
36
- const pirsch_presenceDataAttribute = function(value) {
37
- if (true === value) return '';
38
- };
39
- const pirsch_getPirschScriptElementId = function(options) {
40
- if (true === options.extended) return 'pirschextendedjs';
41
- return 'pianjs';
42
- };
43
- const pirsch_getPirschScriptUrl = function(options) {
44
- const defaultScriptUrl = true === options.extended ? DEFAULT_PIRSCH_EXTENDED_SCRIPT_URL : DEFAULT_PIRSCH_SCRIPT_URL;
45
- return resolveScriptUrl(trimToUndefined(options.scriptUrl), defaultScriptUrl);
46
- };
47
- const pirsch_pirsch = function(options) {
48
- const identificationCode = options.identificationCode.trim();
49
- if (0 === identificationCode.length) throw new Error('pirsch: invalid identificationCode - must be a non-empty string');
50
- const resolved = resolveManifest(pirschManifest, {
51
- dev: trimToUndefined(options.dev),
52
- disablePageViews: pirsch_presenceDataAttribute(options.disablePageViews),
53
- domain: pirsch_commaListDataAttribute(options.domain),
54
- eventEndpoint: trimToUndefined(options.eventEndpoint),
55
- hitEndpoint: trimToUndefined(options.hitEndpoint),
56
- identificationCode,
57
- scriptElementId: pirsch_getPirschScriptElementId(options),
58
- scriptUrl: pirsch_getPirschScriptUrl(options)
59
- });
60
- const manifestOnLoad = resolved.onLoad;
61
- resolved.onLoad = (info)=>{
62
- manifestOnLoad?.(info);
63
- if ('loading' !== document.readyState) window.pirschInit?.();
64
- };
65
- return resolved;
66
- };
67
- export { pirschManifest, pirsch_pirsch as pirsch };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/pirsch. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/pirsch';
@@ -1,81 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- const plausible_analytics_buildPlausibleScriptUrl = function(options) {
4
- if (options.scriptId) return `https://plausible.io/js/pa-${options.scriptId}.js`;
5
- if (options.extension) {
6
- let extensions;
7
- extensions = Array.isArray(options.extension) ? options.extension.join('.') : options.extension;
8
- return `https://plausible.io/js/script.${extensions}.js`;
9
- }
10
- return "https://plausible.io/js/script.js";
11
- };
12
- const plausible_analytics_buildPlausibleInitOptions = function(options) {
13
- const initOptions = {};
14
- if (options.customProperties) initOptions.customProperties = options.customProperties;
15
- if (options.endpoint) initOptions.endpoint = options.endpoint;
16
- if (options.fileDownloads) initOptions.fileDownloads = options.fileDownloads;
17
- if (void 0 !== options.hashBasedRouting) initOptions.hashBasedRouting = options.hashBasedRouting;
18
- if (void 0 !== options.autoCapturePageviews) initOptions.autoCapturePageviews = options.autoCapturePageviews;
19
- if (void 0 !== options.captureOnLocalhost) initOptions.captureOnLocalhost = options.captureOnLocalhost;
20
- return initOptions;
21
- };
22
- const plausibleAnalyticsManifest = {
23
- ...vendorManifestContract,
24
- bootstrap: [
25
- {
26
- ifUndefined: true,
27
- name: 'plausible',
28
- properties: {
29
- o: '{{initOptions}}'
30
- },
31
- queue: {
32
- property: 'q'
33
- },
34
- queueFormat: 'array',
35
- type: 'defineStubFunction'
36
- }
37
- ],
38
- category: 'measurement',
39
- install: [
40
- {
41
- attributes: {
42
- 'data-api': '{{apiAttribute}}',
43
- 'data-domain': '{{domain}}'
44
- },
45
- defer: true,
46
- src: "{{scriptUrl}}",
47
- type: 'loadScript'
48
- }
49
- ],
50
- vendor: 'plausible-analytics'
51
- };
52
- const plausible_analytics_plausibleAnalytics = function(options) {
53
- let scriptId;
54
- if (options.scriptId) scriptId = options.scriptId.trim();
55
- let domain;
56
- if (options.domain) domain = options.domain.trim();
57
- if (!scriptId && !domain) throw new Error("plausibleAnalytics: missing scriptId or domain");
58
- const normalizedOptions = {
59
- ...options
60
- };
61
- if (scriptId) normalizedOptions.scriptId = scriptId;
62
- else delete normalizedOptions.scriptId;
63
- if (domain) normalizedOptions.domain = domain;
64
- else delete normalizedOptions.domain;
65
- const manifestOptions = {
66
- apiAttribute: void 0,
67
- domain: void 0,
68
- initOptions: plausible_analytics_buildPlausibleInitOptions(normalizedOptions),
69
- scriptUrl: normalizedOptions.scriptUrl ?? plausible_analytics_buildPlausibleScriptUrl(normalizedOptions)
70
- };
71
- if (scriptId) {
72
- manifestOptions.domain = void 0;
73
- manifestOptions.apiAttribute = void 0;
74
- } else {
75
- manifestOptions.domain = domain;
76
- manifestOptions.apiAttribute = normalizedOptions.endpoint;
77
- }
78
- const resolved = resolveManifest(plausibleAnalyticsManifest, manifestOptions);
79
- return resolved;
80
- };
81
- export { plausibleAnalyticsManifest, plausible_analytics_plausibleAnalytics as plausibleAnalytics };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/plausible-analytics. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/plausible-analytics';
@@ -1,200 +1,2 @@
1
- import { resolveManifest } from "../../resolve.js";
2
- import { vendorManifestContract } from "../../types.js";
3
- import { stripTrailingSlashes } from "../_shared/script-url.js";
4
- const DEFAULT_API_HOST = 'https://eu.i.posthog.com';
5
- const DEFAULT_SCRIPT_URL = 'https://eu-assets.i.posthog.com/static/array.js';
6
- const DEFAULT_UI_HOST = 'https://eu.posthog.com';
7
- const DEFAULTS_DATE = '2026-01-30';
8
- const REGION_HOSTS = {
9
- eu: {
10
- apiHost: DEFAULT_API_HOST,
11
- scriptUrl: DEFAULT_SCRIPT_URL,
12
- uiHost: DEFAULT_UI_HOST
13
- },
14
- us: {
15
- apiHost: 'https://us.i.posthog.com',
16
- scriptUrl: 'https://us-assets.i.posthog.com/static/array.js',
17
- uiHost: 'https://us.posthog.com'
18
- }
19
- };
20
- const posthog_normalizeHost = function(host) {
21
- return stripTrailingSlashes(host);
22
- };
23
- const posthog_regionFromHost = function(host) {
24
- const normalized = posthog_normalizeHost(host);
25
- if (/^https:\/\/(?<capture1>app|us|us-assets)(?<capture2>\.i)?\.posthog\.com$/iu.test(normalized)) return 'us';
26
- if (/^https:\/\/(?<capture1>eu|eu-assets)(?<capture2>\.i)?\.posthog\.com$/iu.test(normalized)) return 'eu';
27
- };
28
- const posthog_deriveScriptUrlFromApiHost = function(apiHost) {
29
- const normalized = posthog_normalizeHost(apiHost);
30
- const region = posthog_regionFromHost(normalized);
31
- if (region) return REGION_HOSTS[region].scriptUrl;
32
- return `${normalized}/static/array.js`;
33
- };
34
- const posthog_resolvePosthogHosts = function(options) {
35
- const regionDefaults = REGION_HOSTS[options.region ?? 'eu'];
36
- const apiHost = posthog_normalizeHost(options.apiHost ?? regionDefaults.apiHost);
37
- const inferredRegion = posthog_regionFromHost(apiHost);
38
- let uiHost;
39
- uiHost = void 0 !== options.uiHost ? options.uiHost : inferredRegion ? REGION_HOSTS[inferredRegion].uiHost : void 0 === options.region ? apiHost : REGION_HOSTS[options.region].uiHost;
40
- let scriptUrl;
41
- scriptUrl = void 0 !== options.scriptUrl ? options.scriptUrl : void 0 === options.apiHost ? regionDefaults.scriptUrl : posthog_deriveScriptUrlFromApiHost(apiHost);
42
- return {
43
- apiHost,
44
- scriptUrl,
45
- uiHost: posthog_normalizeHost(uiHost)
46
- };
47
- };
48
- const posthogManifest = {
49
- ...vendorManifestContract,
50
- alwaysLoad: true,
51
- bootstrap: [
52
- {
53
- ifUndefined: true,
54
- name: 'posthog',
55
- type: 'setGlobal',
56
- value: []
57
- },
58
- {
59
- ifGlobalIsQueue: true,
60
- path: [
61
- 'posthog',
62
- '_i'
63
- ],
64
- type: 'setGlobalPath',
65
- value: [
66
- [
67
- '{{id}}',
68
- '{{initOptions}}',
69
- 'posthog'
70
- ]
71
- ]
72
- },
73
- {
74
- ifGlobalIsQueue: true,
75
- path: [
76
- 'posthog',
77
- 'people'
78
- ],
79
- type: 'setGlobalPath',
80
- value: []
81
- },
82
- {
83
- methods: [
84
- 'capture',
85
- 'opt_in_capturing',
86
- 'opt_out_capturing'
87
- ],
88
- target: 'posthog',
89
- type: 'defineQueueMethods'
90
- },
91
- {
92
- ifGlobalIsQueue: true,
93
- methods: [
94
- {
95
- behavior: 'noop',
96
- name: 'init'
97
- },
98
- {
99
- behavior: 'return',
100
- name: 'get_explicit_consent_status',
101
- value: 'pending'
102
- }
103
- ],
104
- target: 'posthog',
105
- type: 'defineGlobalMethods'
106
- }
107
- ],
108
- category: 'measurement',
109
- install: [
110
- {
111
- async: true,
112
- attributes: {
113
- crossorigin: 'anonymous',
114
- 'data-api-host': '{{apiHost}}',
115
- 'data-ui-host': '{{uiHost}}'
116
- },
117
- src: "{{scriptUrl}}",
118
- type: 'loadScript'
119
- }
120
- ],
121
- onBeforeLoadDenied: [
122
- {
123
- queue: 'posthog',
124
- type: 'pushToQueue',
125
- value: [
126
- 'opt_out_capturing'
127
- ]
128
- }
129
- ],
130
- onBeforeLoadGranted: [
131
- {
132
- queue: 'posthog',
133
- type: 'pushToQueue',
134
- value: [
135
- 'opt_in_capturing',
136
- {
137
- captureEventName: null
138
- }
139
- ]
140
- }
141
- ],
142
- onConsentDenied: [
143
- {
144
- global: 'posthog',
145
- method: 'opt_out_capturing',
146
- type: 'callGlobal'
147
- }
148
- ],
149
- onConsentGranted: [
150
- {
151
- global: 'posthog',
152
- method: 'opt_in_capturing',
153
- type: 'callGlobal'
154
- }
155
- ],
156
- onLoadDenied: [
157
- {
158
- global: 'posthog',
159
- method: 'opt_out_capturing',
160
- type: 'callGlobal'
161
- }
162
- ],
163
- onLoadGranted: [
164
- {
165
- args: [
166
- {
167
- captureEventName: null
168
- }
169
- ],
170
- global: 'posthog',
171
- method: 'opt_in_capturing',
172
- type: 'callGlobal'
173
- }
174
- ],
175
- vendor: 'posthog'
176
- };
177
- const posthog_posthog = function(options) {
178
- if ('disabled' === options.loadMode) return {
179
- callbackOnly: true,
180
- category: 'measurement',
181
- id: 'posthog'
182
- };
183
- const { apiHost, uiHost, scriptUrl } = posthog_resolvePosthogHosts(options);
184
- const resolved = resolveManifest(posthogManifest, {
185
- apiHost,
186
- id: options.id,
187
- initOptions: {
188
- cookieless_mode: 'on_reject',
189
- defaults: DEFAULTS_DATE,
190
- ...options.initOptions,
191
- api_host: apiHost,
192
- ui_host: uiHost
193
- },
194
- scriptUrl,
195
- uiHost
196
- });
197
- if ('after-consent' === options.loadMode) resolved.alwaysLoad = void 0;
198
- return resolved;
199
- };
200
- export { posthogManifest, posthog_posthog as posthog };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/posthog. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/posthog';
@@ -1,29 +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 promptwatchManifest = {
5
- ...vendorManifestContract,
6
- category: 'measurement',
7
- install: [
8
- {
9
- async: true,
10
- attributes: {
11
- 'data-project-id': '{{projectId}}'
12
- },
13
- src: "{{scriptUrl}}",
14
- type: 'loadScript'
15
- }
16
- ],
17
- vendor: 'promptwatch'
18
- };
19
- const promptwatch_promptwatch = function({ projectId, scriptUrl }) {
20
- const normalizedProjectId = projectId.trim();
21
- if (0 === normalizedProjectId.length) throw new Error('promptwatch: invalid projectId - must be a non-empty string');
22
- const defaultScriptUrl = 'https://ingest.promptwatch.com/js/client.min.js';
23
- const normalizedScriptUrl = resolveScriptUrl(trimToUndefined(scriptUrl), defaultScriptUrl);
24
- return resolveManifest(promptwatchManifest, {
25
- projectId: normalizedProjectId,
26
- scriptUrl: normalizedScriptUrl
27
- });
28
- };
29
- export { promptwatchManifest, promptwatch_promptwatch as promptwatch };
1
+ /** @deprecated Use @c15t/integrations/vendors/analytics/promptwatch. Compatibility ends in v4. */
2
+ export * from '@c15t/integrations/vendors/analytics/promptwatch';