@nuxt/scripts 1.0.0-beta.7 → 1.0.0-rc.10

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/bin/cli.mjs +2 -0
  2. package/dist/cli.d.mts +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.mjs +50 -0
  5. package/dist/devtools-client/200.html +1 -0
  6. package/dist/devtools-client/404.html +1 -0
  7. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  15. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  16. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  17. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  18. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  19. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  20. package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
  21. package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
  22. package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
  23. package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
  24. package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
  25. package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
  26. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  27. package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
  28. package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
  29. package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
  30. package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
  31. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  32. package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
  33. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  34. package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
  35. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  36. package/dist/devtools-client/docs/index.html +1 -0
  37. package/dist/devtools-client/first-party/index.html +1 -0
  38. package/dist/devtools-client/index.html +1 -0
  39. package/dist/devtools-client/registry/index.html +1 -0
  40. package/dist/module.d.mts +89 -80
  41. package/dist/module.d.ts +185 -0
  42. package/dist/module.json +1 -1
  43. package/dist/module.mjs +1056 -756
  44. package/dist/registry.d.mts +92 -4
  45. package/dist/registry.d.ts +94 -0
  46. package/dist/registry.mjs +668 -326
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  85. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  86. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  87. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
  88. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  89. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  90. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  91. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  92. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  93. package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
  94. package/dist/runtime/components/GoogleMaps/types.js +1 -0
  95. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
  96. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
  97. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
  98. package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
  99. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
  100. package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
  101. package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
  102. package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
  103. package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
  104. package/dist/runtime/components/ScriptCrisp.vue +2 -1
  105. package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
  106. package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
  107. package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
  108. package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
  109. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  110. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  111. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  112. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
  113. package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
  114. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
  115. package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
  116. package/dist/runtime/components/ScriptIntercom.vue +5 -3
  117. package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
  118. package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
  119. package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
  120. package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
  121. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
  122. package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
  123. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
  124. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
  125. package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
  126. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
  127. package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
  128. package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
  129. package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
  130. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
  131. package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
  132. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
  133. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
  134. package/dist/runtime/components/ScriptXEmbed.vue +21 -12
  135. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
  136. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
  137. package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
  138. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
  139. package/dist/runtime/composables/useScript.js +159 -8
  140. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  141. package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
  142. package/dist/runtime/composables/useScriptProxyToken.js +4 -0
  143. package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
  144. package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
  145. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  146. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  147. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  148. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  149. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  150. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  151. package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
  152. package/dist/runtime/plugins/proxy-token.server.js +17 -0
  153. package/dist/runtime/registry/bing-uet.d.ts +198 -0
  154. package/dist/runtime/registry/bing-uet.js +43 -0
  155. package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
  156. package/dist/runtime/registry/bluesky-embed.js +68 -0
  157. package/dist/runtime/registry/clarity.d.ts +16 -17
  158. package/dist/runtime/registry/clarity.js +33 -31
  159. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  160. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  161. package/dist/runtime/registry/crisp.d.ts +10 -40
  162. package/dist/runtime/registry/crisp.js +2 -33
  163. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  164. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  165. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  166. package/dist/runtime/registry/fathom-analytics.js +3 -25
  167. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  168. package/dist/runtime/registry/google-adsense.js +2 -11
  169. package/dist/runtime/registry/google-analytics.d.ts +9 -7
  170. package/dist/runtime/registry/google-analytics.js +15 -9
  171. package/dist/runtime/registry/google-maps.d.ts +3 -9
  172. package/dist/runtime/registry/google-maps.js +2 -8
  173. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  174. package/dist/runtime/registry/google-recaptcha.js +4 -12
  175. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  176. package/dist/runtime/registry/google-sign-in.js +2 -22
  177. package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
  178. package/dist/runtime/registry/google-tag-manager.js +14 -28
  179. package/dist/runtime/registry/gravatar.d.ts +26 -0
  180. package/dist/runtime/registry/gravatar.js +33 -0
  181. package/dist/runtime/registry/hotjar.d.ts +4 -6
  182. package/dist/runtime/registry/hotjar.js +2 -5
  183. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  184. package/dist/runtime/registry/instagram-embed.js +4 -19
  185. package/dist/runtime/registry/intercom.d.ts +5 -13
  186. package/dist/runtime/registry/intercom.js +2 -12
  187. package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
  188. package/dist/runtime/registry/matomo-analytics.js +31 -13
  189. package/dist/runtime/registry/meta-pixel.d.ts +12 -8
  190. package/dist/runtime/registry/meta-pixel.js +12 -5
  191. package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
  192. package/dist/runtime/registry/mixpanel-analytics.js +58 -0
  193. package/dist/runtime/registry/npm.d.ts +3 -7
  194. package/dist/runtime/registry/npm.js +2 -9
  195. package/dist/runtime/registry/paypal.d.ts +4 -25
  196. package/dist/runtime/registry/paypal.js +3 -66
  197. package/dist/runtime/registry/plausible-analytics.js +19 -14
  198. package/dist/runtime/registry/posthog.d.ts +18 -14
  199. package/dist/runtime/registry/posthog.js +18 -16
  200. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  201. package/dist/runtime/registry/reddit-pixel.js +2 -4
  202. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  203. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  204. package/dist/runtime/registry/schemas.d.ts +1047 -0
  205. package/dist/runtime/registry/schemas.js +1004 -0
  206. package/dist/runtime/registry/segment.d.ts +2 -5
  207. package/dist/runtime/registry/segment.js +2 -5
  208. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  209. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  210. package/dist/runtime/registry/stripe.d.ts +3 -4
  211. package/dist/runtime/registry/stripe.js +2 -4
  212. package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
  213. package/dist/runtime/registry/tiktok-pixel.js +24 -7
  214. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  215. package/dist/runtime/registry/umami-analytics.js +2 -36
  216. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  217. package/dist/runtime/registry/vercel-analytics.js +84 -0
  218. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  219. package/dist/runtime/registry/vimeo-player.js +1 -1
  220. package/dist/runtime/registry/x-embed.d.ts +3 -21
  221. package/dist/runtime/registry/x-embed.js +2 -21
  222. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  223. package/dist/runtime/registry/x-pixel.js +2 -5
  224. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  225. package/dist/runtime/registry/youtube-player.js +1 -1
  226. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  227. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  228. package/dist/runtime/server/bluesky-embed.d.ts +2 -0
  229. package/dist/runtime/server/bluesky-embed.js +78 -0
  230. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  231. package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
  232. package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
  233. package/dist/runtime/server/google-static-maps-proxy.js +18 -23
  234. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  235. package/dist/runtime/server/gravatar-proxy.js +46 -0
  236. package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
  237. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  238. package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
  239. package/dist/runtime/server/instagram-embed-image.js +6 -53
  240. package/dist/runtime/server/instagram-embed.d.ts +1 -0
  241. package/dist/runtime/server/instagram-embed.js +82 -40
  242. package/dist/runtime/server/proxy-handler.js +102 -85
  243. package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
  244. package/dist/runtime/server/utils/cached-upstream.js +65 -0
  245. package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
  246. package/dist/runtime/server/utils/embed-rewriters.js +41 -0
  247. package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
  248. package/dist/runtime/server/utils/image-proxy.js +73 -0
  249. package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
  250. package/dist/runtime/server/utils/instagram-embed.js +153 -0
  251. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  252. package/dist/runtime/server/utils/privacy.js +60 -40
  253. package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
  254. package/dist/runtime/server/utils/proxy-url.js +21 -0
  255. package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
  256. package/dist/runtime/server/utils/sign-constants.js +5 -0
  257. package/dist/runtime/server/utils/sign.d.ts +101 -0
  258. package/dist/runtime/server/utils/sign.js +91 -0
  259. package/dist/runtime/server/utils/withSigning.d.ts +23 -0
  260. package/dist/runtime/server/utils/withSigning.js +19 -0
  261. package/dist/runtime/server/x-embed-image.d.ts +1 -1
  262. package/dist/runtime/server/x-embed-image.js +5 -49
  263. package/dist/runtime/server/x-embed.js +26 -6
  264. package/dist/runtime/types.d.ts +311 -55
  265. package/dist/runtime/types.js +1 -2
  266. package/dist/runtime/utils/pure.d.ts +1 -1
  267. package/dist/runtime/utils.d.ts +6 -4
  268. package/dist/runtime/utils.js +31 -14
  269. package/dist/stats.d.mts +202 -0
  270. package/dist/stats.d.ts +202 -0
  271. package/dist/stats.mjs +3835 -0
  272. package/dist/types-source.d.mts +17 -0
  273. package/dist/types-source.d.ts +17 -0
  274. package/dist/types-source.mjs +3787 -0
  275. package/dist/types.d.mts +4 -2
  276. package/package.json +41 -63
  277. package/README.md +0 -86
  278. package/dist/client/200.html +0 -1
  279. package/dist/client/404.html +0 -1
  280. package/dist/client/_nuxt/BJa0m50V.js +0 -1
  281. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  282. package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
  283. package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
  284. package/dist/client/_nuxt/builds/latest.json +0 -1
  285. package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
  286. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  287. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  288. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  289. package/dist/client/_nuxt/vPLZfVXe.js +0 -1
  290. package/dist/client/index.html +0 -1
  291. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  292. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  293. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  294. package/dist/runtime/validation/mock.d.ts +0 -42
  295. package/dist/runtime/validation/mock.js +0 -21
  296. package/dist/runtime/validation/valibot.d.ts +0 -1
  297. package/dist/runtime/validation/valibot.js +0 -1
  298. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  299. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  300. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -0,0 +1,1004 @@
1
+ import { any, array, boolean, custom, literal, minLength, number, object, optional, pipe, record, string, union } from "valibot";
2
+ const consentCategoryValue = union([literal("granted"), literal("denied")]);
3
+ const gcmConsentState = object({
4
+ ad_storage: optional(consentCategoryValue),
5
+ ad_user_data: optional(consentCategoryValue),
6
+ ad_personalization: optional(consentCategoryValue),
7
+ analytics_storage: optional(consentCategoryValue),
8
+ functionality_storage: optional(consentCategoryValue),
9
+ personalization_storage: optional(consentCategoryValue),
10
+ security_storage: optional(consentCategoryValue),
11
+ wait_for_update: optional(number()),
12
+ region: optional(array(string()))
13
+ });
14
+ export const BlueskyEmbedOptions = object({
15
+ /**
16
+ * The Bluesky post URL to embed.
17
+ * @example 'https://bsky.app/profile/bsky.app/post/3mgnwwvj3u22a'
18
+ */
19
+ postUrl: string(),
20
+ /**
21
+ * Custom API endpoint for fetching post data.
22
+ * @default '/_scripts/embed/bluesky'
23
+ */
24
+ apiEndpoint: optional(string()),
25
+ /**
26
+ * Custom image proxy endpoint.
27
+ * @default '/_scripts/embed/bluesky-image'
28
+ */
29
+ imageProxyEndpoint: optional(string())
30
+ });
31
+ export const ClarityOptions = object({
32
+ /**
33
+ * The Clarity token.
34
+ * @see https://learn.microsoft.com/en-us/clarity/setup-clarity
35
+ */
36
+ id: pipe(string(), minLength(10)),
37
+ /**
38
+ * Default consent state applied before Clarity starts.
39
+ * - `boolean` - enable / disable cookies.
40
+ * - `Record<string, string>` - advanced consent vector (see Clarity docs).
41
+ * @see https://learn.microsoft.com/en-us/clarity/setup-and-installation/cookie-consent
42
+ */
43
+ defaultConsent: optional(union([boolean(), record(string(), string())]))
44
+ });
45
+ export const CloudflareWebAnalyticsOptions = object({
46
+ /**
47
+ * The Cloudflare Web Analytics token.
48
+ * @see https://developers.cloudflare.com/analytics/web-analytics/get-started/
49
+ */
50
+ token: pipe(string(), minLength(32)),
51
+ /**
52
+ * Cloudflare Web Analytics enables measuring SPAs automatically by overriding the History API's pushState function
53
+ * and listening to the onpopstate. Hash-based router is not supported.
54
+ *
55
+ * @default true
56
+ * @see https://developers.cloudflare.com/analytics/web-analytics/get-started/#spa-tracking
57
+ */
58
+ spa: optional(boolean())
59
+ });
60
+ export const CrispOptions = object({
61
+ /**
62
+ * The Crisp ID.
63
+ */
64
+ id: string(),
65
+ /**
66
+ * Extra configuration options. Used to configure the locale.
67
+ * Same as CRISP_RUNTIME_CONFIG.
68
+ * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/language-customization/
69
+ */
70
+ runtimeConfig: optional(object({
71
+ locale: optional(string())
72
+ })),
73
+ /**
74
+ * Associated a session, equivalent to using CRISP_TOKEN_ID variable.
75
+ * Same as CRISP_TOKEN_ID.
76
+ * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/session-continuity/
77
+ */
78
+ tokenId: optional(string()),
79
+ /**
80
+ * Restrict the domain that the Crisp cookie is set on.
81
+ * Same as CRISP_COOKIE_DOMAIN.
82
+ * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/
83
+ */
84
+ cookieDomain: optional(string()),
85
+ /**
86
+ * The cookie expiry in seconds.
87
+ * Same as CRISP_COOKIE_EXPIRATION.
88
+ * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/#change-cookie-expiration-date
89
+ */
90
+ cookieExpiry: optional(number())
91
+ });
92
+ export const DatabuddyAnalyticsOptions = object({
93
+ /**
94
+ * Your Databuddy client ID.
95
+ */
96
+ clientId: string(),
97
+ /**
98
+ * Custom script URL for the Databuddy SDK.
99
+ * @default 'https://cdn.databuddy.cc/databuddy.js'
100
+ */
101
+ scriptUrl: optional(string()),
102
+ /**
103
+ * Custom API URL for sending analytics data.
104
+ * @default 'https://basket.databuddy.cc'
105
+ */
106
+ apiUrl: optional(string()),
107
+ /**
108
+ * Disable all tracking when set to `true`.
109
+ */
110
+ disabled: optional(boolean()),
111
+ /**
112
+ * Track screen/page views automatically.
113
+ * @default true
114
+ * @see https://www.databuddy.cc/docs/sdk#track-screen-views
115
+ */
116
+ trackScreenViews: optional(boolean()),
117
+ /**
118
+ * Track page performance metrics.
119
+ * @default true
120
+ * @see https://www.databuddy.cc/docs/sdk#track-performance
121
+ */
122
+ trackPerformance: optional(boolean()),
123
+ /**
124
+ * Track user sessions.
125
+ * @default true
126
+ * @see https://www.databuddy.cc/docs/sdk#track-sessions
127
+ */
128
+ trackSessions: optional(boolean()),
129
+ /**
130
+ * Track Web Vitals (LCP, FID, CLS, etc.).
131
+ */
132
+ trackWebVitals: optional(boolean()),
133
+ /**
134
+ * Track JavaScript errors.
135
+ */
136
+ trackErrors: optional(boolean()),
137
+ /**
138
+ * Track outgoing link clicks.
139
+ */
140
+ trackOutgoingLinks: optional(boolean()),
141
+ /**
142
+ * Track scroll depth.
143
+ */
144
+ trackScrollDepth: optional(boolean()),
145
+ /**
146
+ * Track user engagement time.
147
+ */
148
+ trackEngagement: optional(boolean()),
149
+ /**
150
+ * Track user interactions (clicks, form submissions, etc.).
151
+ */
152
+ trackInteractions: optional(boolean()),
153
+ /**
154
+ * Track element attributes for detailed interaction context.
155
+ */
156
+ trackAttributes: optional(boolean()),
157
+ /**
158
+ * Track hash changes in the URL.
159
+ */
160
+ trackHashChanges: optional(boolean()),
161
+ /**
162
+ * Track exit intent behavior.
163
+ */
164
+ trackExitIntent: optional(boolean()),
165
+ /**
166
+ * Track bounce rate metrics.
167
+ */
168
+ trackBounceRate: optional(boolean()),
169
+ /**
170
+ * Enable event batching for better performance.
171
+ */
172
+ enableBatching: optional(boolean()),
173
+ /**
174
+ * Maximum number of events per batch.
175
+ */
176
+ batchSize: optional(number()),
177
+ /**
178
+ * Timeout (in ms) before flushing a batch.
179
+ */
180
+ batchTimeout: optional(number()),
181
+ /**
182
+ * Enable automatic retries for failed requests.
183
+ */
184
+ enableRetries: optional(boolean()),
185
+ /**
186
+ * Maximum number of retry attempts.
187
+ */
188
+ maxRetries: optional(number()),
189
+ /**
190
+ * Initial delay (in ms) before the first retry.
191
+ */
192
+ initialRetryDelay: optional(number()),
193
+ /**
194
+ * Sampling rate (0 to 1). Set to `0.5` to track ~50% of sessions.
195
+ */
196
+ samplingRate: optional(number()),
197
+ /**
198
+ * Custom SDK identifier.
199
+ */
200
+ sdk: optional(string()),
201
+ /**
202
+ * Custom SDK version string.
203
+ */
204
+ sdkVersion: optional(string()),
205
+ /**
206
+ * Enable observability/monitoring features.
207
+ */
208
+ enableObservability: optional(boolean()),
209
+ /**
210
+ * The service name for observability reporting.
211
+ */
212
+ observabilityService: optional(string()),
213
+ /**
214
+ * The environment name for observability (e.g., `'production'`, `'staging'`).
215
+ */
216
+ observabilityEnvironment: optional(string()),
217
+ /**
218
+ * The version string for observability reporting.
219
+ */
220
+ observabilityVersion: optional(string()),
221
+ /**
222
+ * Enable console logging for debugging.
223
+ */
224
+ enableLogging: optional(boolean()),
225
+ /**
226
+ * Enable request tracing.
227
+ */
228
+ enableTracing: optional(boolean()),
229
+ /**
230
+ * Enable error tracking via observability.
231
+ */
232
+ enableErrorTracking: optional(boolean())
233
+ });
234
+ export const FathomAnalyticsOptions = object({
235
+ /**
236
+ * The Fathom Analytics site ID.
237
+ * @see https://usefathom.com/docs/script/script-settings
238
+ */
239
+ site: string(),
240
+ /**
241
+ * The Fathom Analytics tracking mode.
242
+ * @default 'auto'
243
+ */
244
+ spa: optional(union([literal("auto"), literal("history"), literal("hash")])),
245
+ /**
246
+ * Automatically track page views.
247
+ * @default true
248
+ */
249
+ auto: optional(boolean()),
250
+ /**
251
+ * Enable canonical URL tracking.
252
+ * @default true
253
+ */
254
+ canonical: optional(boolean()),
255
+ /**
256
+ * Honor Do Not Track requests.
257
+ * @default false
258
+ */
259
+ honorDnt: optional(boolean())
260
+ });
261
+ export const GoogleAdsenseOptions = object({
262
+ /**
263
+ * The Google Adsense ID.
264
+ * @example 'ca-pub-XXXXXXXXXXXXXXXX'
265
+ */
266
+ client: optional(string()),
267
+ /**
268
+ * Enable or disable Auto Ads.
269
+ * @default false
270
+ * @see https://support.google.com/adsense/answer/9261805
271
+ */
272
+ autoAds: optional(boolean())
273
+ });
274
+ export const GoogleAnalyticsOptions = object({
275
+ /**
276
+ * The GA4 measurement ID.
277
+ * @example 'G-XXXXXXXX'
278
+ * @see https://developers.google.com/analytics/devguides/collection/gtagjs
279
+ */
280
+ id: optional(string()),
281
+ /**
282
+ * Global name for the dataLayer variable.
283
+ * @default 'dataLayer'
284
+ * @see https://developers.google.com/analytics/devguides/collection/gtagjs/setting-up-gtag#rename_the_data_layer
285
+ */
286
+ l: optional(string()),
287
+ /**
288
+ * Default GCMv2 consent state fired as `gtag('consent', 'default', ...)` before `gtag('js', ...)`.
289
+ * @see https://developers.google.com/tag-platform/security/guides/consent
290
+ */
291
+ defaultConsent: optional(gcmConsentState)
292
+ });
293
+ export const GoogleMapsOptions = object({
294
+ /**
295
+ * Your Google Maps API key.
296
+ */
297
+ apiKey: string(),
298
+ /**
299
+ * The Google Maps libraries to load.
300
+ * @default ['places']
301
+ * @see https://developers.google.com/maps/documentation/javascript/libraries
302
+ */
303
+ libraries: optional(array(string())),
304
+ /**
305
+ * The language code for the map UI and geocoding results.
306
+ * @see https://developers.google.com/maps/faq#languagesupport
307
+ */
308
+ language: optional(string()),
309
+ /**
310
+ * The region code to bias geocoding results.
311
+ * @see https://developers.google.com/maps/documentation/javascript/localization#Region
312
+ */
313
+ region: optional(string()),
314
+ /**
315
+ * The Google Maps JS API version to load.
316
+ * @default 'weekly'
317
+ * @see https://developers.google.com/maps/documentation/javascript/versions
318
+ */
319
+ v: optional(union([literal("weekly"), literal("quarterly"), literal("beta"), literal("alpha"), string()]))
320
+ });
321
+ export const GoogleRecaptchaOptions = object({
322
+ /**
323
+ * Your reCAPTCHA site key.
324
+ * @see https://developers.google.com/recaptcha/docs/display#render_param
325
+ */
326
+ siteKey: string(),
327
+ /**
328
+ * Use the Enterprise version of reCAPTCHA (enterprise.js instead of api.js).
329
+ * @see https://cloud.google.com/recaptcha-enterprise/docs/introduction
330
+ */
331
+ enterprise: optional(boolean()),
332
+ /**
333
+ * Use recaptcha.net instead of google.com domain. Useful for regions where google.com is blocked.
334
+ */
335
+ recaptchaNet: optional(boolean()),
336
+ /**
337
+ * Language code for the reCAPTCHA widget.
338
+ * @see https://developers.google.com/recaptcha/docs/language
339
+ */
340
+ hl: optional(string())
341
+ });
342
+ export const GoogleSignInOptions = object({
343
+ /**
344
+ * Your Google API client ID.
345
+ * @example 'XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com'
346
+ * @see https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid
347
+ */
348
+ clientId: string(),
349
+ /**
350
+ * Auto-select credentials when only one Google account is available.
351
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#auto_select
352
+ */
353
+ autoSelect: optional(boolean()),
354
+ /**
355
+ * The context text for the One Tap prompt.
356
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#context
357
+ */
358
+ context: optional(union([literal("signin"), literal("signup"), literal("use")])),
359
+ /**
360
+ * Enable FedCM (Federated Credential Management) API support. Mandatory from August 2025.
361
+ * @see https://developers.google.com/identity/gsi/web/guides/fedcm-migration
362
+ */
363
+ useFedcmForPrompt: optional(boolean()),
364
+ /**
365
+ * Cancel the One Tap prompt if the user clicks outside.
366
+ * @default true
367
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#cancel_on_tap_outside
368
+ */
369
+ cancelOnTapOutside: optional(boolean()),
370
+ /**
371
+ * The UX mode for the sign-in flow.
372
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#ux_mode
373
+ */
374
+ uxMode: optional(union([literal("popup"), literal("redirect")])),
375
+ /**
376
+ * The URI to redirect to after sign-in when using redirect UX mode.
377
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#login_uri
378
+ */
379
+ loginUri: optional(string()),
380
+ /**
381
+ * Enable Intelligent Tracking Prevention (ITP) support for Safari.
382
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#itp_support
383
+ */
384
+ itpSupport: optional(boolean()),
385
+ /**
386
+ * Allowed parent origin(s) for iframe embedding.
387
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#allowed_parent_origin
388
+ */
389
+ allowedParentOrigin: optional(union([string(), array(string())])),
390
+ /**
391
+ * Restrict sign-in to a specific Google Workspace hosted domain.
392
+ * @example 'example.com'
393
+ * @see https://developers.google.com/identity/gsi/web/reference/js-reference#hd
394
+ */
395
+ hd: optional(string())
396
+ });
397
+ export const GoogleTagManagerOptions = object({
398
+ /**
399
+ * GTM container ID (format: GTM-XXXXXX)
400
+ * @see https://developers.google.com/tag-platform/tag-manager/web#install-the-container
401
+ */
402
+ id: string(),
403
+ /**
404
+ * Optional dataLayer variable name
405
+ * @default 'dataLayer'
406
+ * @see https://developers.google.com/tag-platform/tag-manager/web/datalayer#rename_the_data_layer
407
+ */
408
+ l: optional(string()),
409
+ /**
410
+ * Authentication token for environment-specific container versions
411
+ * @see https://support.google.com/tagmanager/answer/6328337
412
+ */
413
+ auth: optional(string()),
414
+ /**
415
+ * Preview environment name
416
+ * @see https://support.google.com/tagmanager/answer/6328337
417
+ */
418
+ preview: optional(string()),
419
+ /** Forces GTM cookies to take precedence when true */
420
+ cookiesWin: optional(union([boolean(), literal("x")])),
421
+ /**
422
+ * Enables debug mode when true
423
+ * @see https://support.google.com/tagmanager/answer/6107056
424
+ */
425
+ debug: optional(union([boolean(), literal("x")])),
426
+ /**
427
+ * No Personal Advertising - disables advertising features when true
428
+ * @see https://developers.google.com/tag-platform/tag-manager/templates/consent-apis
429
+ */
430
+ npa: optional(union([boolean(), literal("1")])),
431
+ /** Custom dataLayer name (alternative to "l" property) */
432
+ dataLayer: optional(string()),
433
+ /**
434
+ * Environment name for environment-specific container
435
+ * @see https://support.google.com/tagmanager/answer/6328337
436
+ */
437
+ envName: optional(string()),
438
+ /** Referrer policy for analytics requests */
439
+ authReferrerPolicy: optional(string()),
440
+ /**
441
+ * Default consent settings for GTM
442
+ * @see https://developers.google.com/tag-platform/tag-manager/templates/consent-apis
443
+ */
444
+ defaultConsent: optional(record(string(), union([string(), number()])))
445
+ });
446
+ export const HotjarOptions = object({
447
+ /**
448
+ * Your Hotjar Site ID.
449
+ * @see https://help.hotjar.com/hc/en-us/articles/115012039247-Hotjar-Tracking-Code
450
+ */
451
+ id: number(),
452
+ /**
453
+ * The Hotjar snippet version.
454
+ * @default 6
455
+ */
456
+ sv: optional(number())
457
+ });
458
+ export const InstagramEmbedOptions = object({
459
+ /**
460
+ * The Instagram post URL to embed.
461
+ * @example 'https://www.instagram.com/p/C_XXXXXXXXX/'
462
+ * @see https://developers.facebook.com/docs/instagram/oembed/
463
+ */
464
+ postUrl: string(),
465
+ /**
466
+ * Whether to include captions in the embed.
467
+ * @default true
468
+ */
469
+ captions: optional(boolean()),
470
+ /**
471
+ * Custom API endpoint for fetching embed HTML.
472
+ * @default '/_scripts/embed/instagram'
473
+ */
474
+ apiEndpoint: optional(string())
475
+ });
476
+ export const IntercomOptions = object({
477
+ /**
478
+ * Your Intercom app ID.
479
+ * @see https://developers.intercom.com/installing-intercom/docs/javascript-api-attributes-objects
480
+ */
481
+ app_id: string(),
482
+ /**
483
+ * The regional API base URL. Choose based on your Intercom data hosting region.
484
+ */
485
+ api_base: optional(union([literal("https://api-iam.intercom.io"), literal("https://api-iam.eu.intercom.io"), literal("https://api-iam.au.intercom.io")])),
486
+ /**
487
+ * The name of the logged-in user.
488
+ */
489
+ name: optional(string()),
490
+ /**
491
+ * The email address of the logged-in user.
492
+ */
493
+ email: optional(string()),
494
+ /**
495
+ * A unique identifier for the logged-in user.
496
+ */
497
+ user_id: optional(string()),
498
+ /**
499
+ * The horizontal alignment of the Intercom messenger launcher.
500
+ * @default 'right'
501
+ */
502
+ alignment: optional(union([literal("left"), literal("right")])),
503
+ /**
504
+ * The horizontal padding (in px) of the messenger launcher from the edge of the page.
505
+ * @default 20
506
+ */
507
+ horizontal_padding: optional(number()),
508
+ /**
509
+ * The vertical padding (in px) of the messenger launcher from the bottom of the page.
510
+ * @default 20
511
+ */
512
+ vertical_padding: optional(number())
513
+ });
514
+ export const MatomoAnalyticsOptions = object({
515
+ /**
516
+ * The URL of your self-hosted Matomo instance.
517
+ * Either `matomoUrl` or `cloudId` is required.
518
+ * @example 'https://matomo.example.com'
519
+ * @see https://developer.matomo.org/guides/tracking-javascript-guide
520
+ */
521
+ matomoUrl: optional(string()),
522
+ /**
523
+ * Your Matomo site ID.
524
+ * @default '1'
525
+ */
526
+ siteId: optional(union([string(), number()])),
527
+ /**
528
+ * Your Matomo Cloud ID (the subdomain portion of your `*.matomo.cloud` URL).
529
+ * Either `matomoUrl` or `cloudId` is required.
530
+ * @example 'mysite.matomo.cloud'
531
+ */
532
+ cloudId: optional(string()),
533
+ /**
534
+ * A custom tracker URL. Overrides the default tracker endpoint derived from `matomoUrl` or `cloudId`.
535
+ */
536
+ trackerUrl: optional(string()),
537
+ /**
538
+ * Whether to track the initial page view on load.
539
+ * @deprecated Use `watch: true` (default) for automatic page view tracking.
540
+ */
541
+ trackPageView: optional(boolean()),
542
+ /**
543
+ * Enable download and outlink tracking.
544
+ */
545
+ enableLinkTracking: optional(boolean()),
546
+ /**
547
+ * Disable all tracking cookies for cookieless analytics.
548
+ */
549
+ disableCookies: optional(boolean()),
550
+ /**
551
+ * Automatically track page views on route change.
552
+ * @default true
553
+ */
554
+ watch: optional(boolean()),
555
+ /**
556
+ * Default tracking-consent state applied BEFORE the tracker is initialised.
557
+ * - `'required'` — call `requireConsent` without granting (user must opt in later).
558
+ * - `'given'` — call `requireConsent` then `setConsentGiven`.
559
+ * - `'not-required'` — no consent gating (default Matomo behaviour).
560
+ * @see https://developer.matomo.org/guides/tracking-consent
561
+ */
562
+ defaultConsent: optional(union([literal("required"), literal("given"), literal("not-required")]))
563
+ });
564
+ export const MetaPixelOptions = object({
565
+ /**
566
+ * Your Meta (Facebook) Pixel ID.
567
+ * @see https://developers.facebook.com/docs/meta-pixel/get-started
568
+ */
569
+ id: union([string(), number()]),
570
+ /**
571
+ * Default consent state. `'granted'` fires `fbq('consent', 'grant')`,
572
+ * `'denied'` fires `fbq('consent', 'revoke')`, both called before `fbq('init', id)`.
573
+ * @see https://www.facebook.com/business/help/1151321516677370
574
+ */
575
+ defaultConsent: optional(union([literal("granted"), literal("denied")]))
576
+ });
577
+ export const NpmOptions = object({
578
+ /**
579
+ * The npm package name to load.
580
+ * @example 'lodash'
581
+ */
582
+ packageName: string(),
583
+ /**
584
+ * The specific file path within the package to load.
585
+ * @example '/dist/lodash.min.js'
586
+ */
587
+ file: optional(string()),
588
+ /**
589
+ * The package version to load.
590
+ * @default 'latest'
591
+ */
592
+ version: optional(string()),
593
+ /**
594
+ * The CDN provider to use for loading the package.
595
+ * @default 'unpkg'
596
+ * @see https://unpkg.com
597
+ * @see https://www.jsdelivr.com
598
+ * @see https://cdnjs.com
599
+ */
600
+ provider: optional(union([literal("jsdelivr"), literal("cdnjs"), literal("unpkg")]))
601
+ });
602
+ export const PayPalOptions = union([
603
+ object({
604
+ /**
605
+ * Your PayPal client ID.
606
+ * @see https://developer.paypal.com/sdk/js/reference/
607
+ */
608
+ clientId: string(),
609
+ clientToken: optional(string()),
610
+ /**
611
+ * Use the PayPal sandbox environment. Defaults to `true` in development.
612
+ */
613
+ sandbox: optional(boolean())
614
+ }),
615
+ object({
616
+ clientId: optional(string()),
617
+ /**
618
+ * A server-generated client token for authentication.
619
+ * @see https://docs.paypal.ai/payments/methods/paypal/sdk/js/v6/paypal-checkout
620
+ */
621
+ clientToken: string(),
622
+ /**
623
+ * Use the PayPal sandbox environment. Defaults to `true` in development.
624
+ */
625
+ sandbox: optional(boolean())
626
+ })
627
+ ]);
628
+ export const PostHogOptions = object({
629
+ /**
630
+ * Your PostHog project API key.
631
+ * @see https://posthog.com/docs/libraries/js#usage
632
+ */
633
+ apiKey: string(),
634
+ /**
635
+ * Your PostHog data region.
636
+ * @default 'us'
637
+ * @see https://posthog.com/docs/libraries/js#config
638
+ */
639
+ region: optional(union([literal("us"), literal("eu")])),
640
+ /**
641
+ * Custom API host URL. Overrides the default derived from `region`.
642
+ * Useful for self-hosted instances or reverse proxies.
643
+ */
644
+ apiHost: optional(string()),
645
+ /**
646
+ * Enable autocapture of clicks, form submissions, and page views.
647
+ * @default true
648
+ */
649
+ autocapture: optional(boolean()),
650
+ /**
651
+ * Capture page views automatically. Set to `'history_change'` to only capture on history changes.
652
+ * @default true
653
+ */
654
+ capturePageview: optional(union([boolean(), literal("history_change")])),
655
+ /**
656
+ * Capture page leave events automatically.
657
+ * @default true
658
+ */
659
+ capturePageleave: optional(boolean()),
660
+ /**
661
+ * Disable session recording.
662
+ */
663
+ disableSessionRecording: optional(boolean()),
664
+ /**
665
+ * Additional PostHog configuration options passed directly to `posthog.init()`.
666
+ * @see https://posthog.com/docs/libraries/js#config
667
+ */
668
+ config: optional(record(string(), any())),
669
+ /**
670
+ * Default capture-consent state for PostHog.
671
+ * - `'opt-out'`: passed as `opt_out_capturing_by_default: true` to `posthog.init`, so capturing is suppressed from the first event.
672
+ * - `'opt-in'`: applied after `posthog.init` via `posthog.opt_in_capturing()` on the returned instance.
673
+ * @see https://posthog.com/docs/privacy/opting-out
674
+ */
675
+ defaultConsent: optional(union([literal("opt-in"), literal("opt-out")]))
676
+ });
677
+ export const RedditPixelOptions = object({
678
+ /**
679
+ * Your Reddit Pixel advertiser ID.
680
+ * @see https://reddithelp.com/en/categories/advertising/managing-ads/installing-reddit-pixel
681
+ */
682
+ id: string()
683
+ });
684
+ export const RybbitAnalyticsOptions = object({
685
+ /**
686
+ * Your Rybbit site ID.
687
+ * @see https://rybbit.io/docs
688
+ */
689
+ siteId: union([string(), number()]),
690
+ /**
691
+ * Automatically track page views.
692
+ * @default true
693
+ */
694
+ autoTrackPageview: optional(boolean()),
695
+ /**
696
+ * Enable SPA (single-page app) route tracking.
697
+ * @default true
698
+ */
699
+ trackSpa: optional(boolean()),
700
+ /**
701
+ * Include query parameters in tracked URLs.
702
+ */
703
+ trackQuery: optional(boolean()),
704
+ /**
705
+ * Track outbound link clicks.
706
+ */
707
+ trackOutbound: optional(boolean()),
708
+ /**
709
+ * Track JavaScript errors.
710
+ */
711
+ trackErrors: optional(boolean()),
712
+ /**
713
+ * Enable session replay recording.
714
+ */
715
+ sessionReplay: optional(boolean()),
716
+ /**
717
+ * Enable Web Vitals tracking (LCP, FID, CLS, etc.).
718
+ */
719
+ webVitals: optional(boolean()),
720
+ /**
721
+ * URL patterns to skip from tracking (glob syntax).
722
+ */
723
+ skipPatterns: optional(array(string())),
724
+ /**
725
+ * URL patterns to mask in tracked data (glob syntax).
726
+ */
727
+ maskPatterns: optional(array(string())),
728
+ /**
729
+ * Debounce interval (in ms) for page view tracking.
730
+ */
731
+ debounce: optional(number()),
732
+ /**
733
+ * API key for authenticated tracking.
734
+ */
735
+ apiKey: optional(string()),
736
+ /**
737
+ * Override the analytics host URL. When first-party mode is enabled, this is
738
+ * auto-injected to route through the proxy. The SDK derives its API endpoint
739
+ * from the script src, so this changes the script src to `${analyticsHost}/script.js`.
740
+ */
741
+ analyticsHost: optional(string())
742
+ });
743
+ export const MixpanelAnalyticsOptions = object({
744
+ /**
745
+ * Your Mixpanel project token.
746
+ * @see https://docs.mixpanel.com/docs/tracking-methods/sdks/javascript#1-initialize-the-library
747
+ */
748
+ token: string(),
749
+ /**
750
+ * Default tracking-consent state for Mixpanel.
751
+ * - `'opt-out'`: passed as `opt_out_tracking_by_default: true` to `mixpanel.init`, so tracking is suppressed from the first call.
752
+ * - `'opt-in'`: queued via `mixpanel.push(['opt_in_tracking'])` so the real SDK runs it immediately after load.
753
+ * @see https://docs.mixpanel.com/docs/privacy/opt-out-of-tracking
754
+ */
755
+ defaultConsent: optional(union([literal("opt-in"), literal("opt-out")]))
756
+ });
757
+ export const BingUetOptions = object({
758
+ /**
759
+ * Your Bing UET tag ID.
760
+ * @see https://help.ads.microsoft.com/#apex/ads/en/56682/2-500
761
+ */
762
+ id: string(),
763
+ /**
764
+ * Enable automatic SPA page tracking.
765
+ * @default true
766
+ */
767
+ enableAutoSpaTracking: optional(boolean()),
768
+ /**
769
+ * Default consent state fired as `uetq.push('consent', 'default', ...)` before UET init.
770
+ * @see https://help.ads.microsoft.com/#apex/ads/en/60119/1-500
771
+ */
772
+ defaultConsent: optional(object({
773
+ ad_storage: optional(consentCategoryValue)
774
+ }))
775
+ });
776
+ export const SegmentOptions = object({
777
+ /**
778
+ * Your Segment write key.
779
+ * @see https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/quickstart/
780
+ */
781
+ writeKey: string(),
782
+ /**
783
+ * The global variable name for the analytics instance.
784
+ * @default 'analytics'
785
+ */
786
+ analyticsKey: optional(string())
787
+ });
788
+ export const InitObjectPropertiesSchema = object({
789
+ /**
790
+ * The user's email address (for matching).
791
+ */
792
+ user_email: optional(string()),
793
+ /**
794
+ * The user's IP address.
795
+ */
796
+ ip_address: optional(string()),
797
+ /**
798
+ * The user's phone number (for matching).
799
+ */
800
+ user_phone_number: optional(string()),
801
+ /**
802
+ * SHA-256 hashed email address.
803
+ */
804
+ user_hashed_email: optional(string()),
805
+ /**
806
+ * SHA-256 hashed phone number.
807
+ */
808
+ user_hashed_phone_number: optional(string()),
809
+ /**
810
+ * The user's first name.
811
+ */
812
+ firstname: optional(string()),
813
+ /**
814
+ * The user's last name.
815
+ */
816
+ lastname: optional(string()),
817
+ /**
818
+ * The user's city.
819
+ */
820
+ geo_city: optional(string()),
821
+ /**
822
+ * The user's region/state.
823
+ */
824
+ geo_region: optional(string()),
825
+ /**
826
+ * The user's postal/zip code.
827
+ */
828
+ geo_postal_code: optional(string()),
829
+ /**
830
+ * The user's country code.
831
+ */
832
+ geo_country: optional(string()),
833
+ /**
834
+ * The user's age.
835
+ */
836
+ age: optional(string())
837
+ });
838
+ export const SnapTrPixelOptions = object({
839
+ /**
840
+ * Your Snapchat Pixel ID.
841
+ * @see https://businesshelp.snapchat.com/s/article/pixel-website-install
842
+ */
843
+ id: string(),
844
+ /**
845
+ * Whether to automatically track a `PAGE_VIEW` event on initialization.
846
+ */
847
+ trackPageView: optional(boolean()),
848
+ ...InitObjectPropertiesSchema?.entries || {}
849
+ });
850
+ export const StripeOptions = object({
851
+ /**
852
+ * Whether to load Stripe's advanced fraud detection signals.
853
+ * Set to `false` to opt out.
854
+ * @default true
855
+ * @see https://docs.stripe.com/disputes/prevention/advanced-fraud-detection
856
+ */
857
+ advancedFraudSignals: optional(boolean())
858
+ });
859
+ export const TikTokPixelOptions = object({
860
+ /**
861
+ * Your TikTok Pixel ID.
862
+ * @see https://ads.tiktok.com/help/article/get-started-pixel
863
+ */
864
+ id: string(),
865
+ /**
866
+ * Whether to automatically track a page view on initialization.
867
+ * @default true
868
+ */
869
+ trackPageView: optional(boolean()),
870
+ /**
871
+ * Default consent state, applied before `ttq('init', id)`.
872
+ * - `'granted'` fires `ttq.grantConsent()`
873
+ * - `'denied'` fires `ttq.revokeConsent()`
874
+ * - `'hold'` fires `ttq.holdConsent()` to defer until an explicit update
875
+ * @see https://business-api.tiktok.com/portal/docs?id=1739585600931842
876
+ */
877
+ defaultConsent: optional(union([literal("granted"), literal("denied"), literal("hold")]))
878
+ });
879
+ export const UmamiAnalyticsOptions = object({
880
+ /**
881
+ * Your Umami website ID.
882
+ * @see https://umami.is/docs/tracker-config
883
+ */
884
+ websiteId: string(),
885
+ // required
886
+ /**
887
+ * By default, Umami will send data to wherever the script is located.
888
+ * You can override this to send data to another location.
889
+ * @see https://umami.is/docs/tracker-config#data-host-url
890
+ */
891
+ hostUrl: optional(string()),
892
+ /**
893
+ * By default, Umami tracks all pageviews and events for you automatically.
894
+ * You can disable this behavior and track events yourself using the tracker functions.
895
+ * @default true
896
+ * @see https://umami.is/docs/tracker-functions
897
+ */
898
+ autoTrack: optional(boolean()),
899
+ /**
900
+ * If you want the tracker to only run on specific domains, you can add them to your tracker script.
901
+ * This is a comma delimited list of domain names.
902
+ * Helps if you are working in a staging/development environment.
903
+ * @see https://umami.is/docs/tracker-config#data-domains
904
+ */
905
+ domains: optional(array(string())),
906
+ /**
907
+ * If you want the tracker to collect events under a specific tag.
908
+ * Events can be filtered in the dashboard by a specific tag.
909
+ * @see https://umami.is/docs/tracker-config#data-tag
910
+ */
911
+ tag: optional(string()),
912
+ /**
913
+ * Function that will be called before data is sent to Umami.
914
+ * The function takes two parameters: type and payload.
915
+ * Return the payload to continue sending, or return a falsy value to cancel.
916
+ * @see https://umami.is/docs/tracker-config#data-before-send
917
+ */
918
+ beforeSend: optional(union([
919
+ custom((input) => typeof input === "function"),
920
+ string()
921
+ ]))
922
+ });
923
+ export const XEmbedOptions = object({
924
+ /**
925
+ * The tweet ID to embed.
926
+ * @example '1754336034228171055'
927
+ * @see https://developer.x.com/en/docs/twitter-for-websites/embedded-tweets/overview
928
+ */
929
+ tweetId: string(),
930
+ /**
931
+ * Optional: Custom API endpoint for fetching tweet data.
932
+ * @default '/_scripts/embed/x'
933
+ */
934
+ apiEndpoint: optional(string()),
935
+ /**
936
+ * Optional: Custom image proxy endpoint.
937
+ * @default '/_scripts/embed/x-image'
938
+ */
939
+ imageProxyEndpoint: optional(string())
940
+ });
941
+ export const VercelAnalyticsOptions = object({
942
+ /**
943
+ * The DSN of the project to send events to.
944
+ * Only required when self-hosting or deploying outside of Vercel.
945
+ */
946
+ dsn: optional(string()),
947
+ /**
948
+ * Whether to disable automatic page view tracking on route changes.
949
+ * Set to true if you want to manually call pageview().
950
+ */
951
+ disableAutoTrack: optional(boolean()),
952
+ /**
953
+ * The mode to use for the analytics script.
954
+ * - `auto` - Automatically detect the environment (default)
955
+ * - `production` - Always use production script
956
+ * - `development` - Always use development script (logs to console)
957
+ */
958
+ mode: optional(union([literal("auto"), literal("development"), literal("production")])),
959
+ /**
960
+ * Whether to enable debug logging.
961
+ * Automatically enabled in development/test environments.
962
+ */
963
+ debug: optional(boolean()),
964
+ /**
965
+ * Custom endpoint for data collection.
966
+ * Useful for self-hosted or proxied setups.
967
+ */
968
+ endpoint: optional(string())
969
+ });
970
+ export const XPixelOptions = object({
971
+ /**
972
+ * Your X (Twitter) Pixel ID.
973
+ * @see https://business.twitter.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html
974
+ */
975
+ id: string(),
976
+ /**
977
+ * The X Pixel script version.
978
+ * @default '1.1'
979
+ */
980
+ version: optional(string())
981
+ });
982
+ export const GravatarOptions = object({
983
+ /**
984
+ * Cache duration for proxied avatar images in seconds.
985
+ * @default 3600
986
+ */
987
+ cacheMaxAge: optional(number()),
988
+ /**
989
+ * Default image to show when no Gravatar exists.
990
+ * @see https://docs.gravatar.com/general/images/#default-image
991
+ * @default 'mp'
992
+ */
993
+ default: optional(string()),
994
+ /**
995
+ * Avatar size in pixels (1-2048).
996
+ * @default 80
997
+ */
998
+ size: optional(number()),
999
+ /**
1000
+ * Content rating filter.
1001
+ * @default 'g'
1002
+ */
1003
+ rating: optional(string())
1004
+ });