@nuxt/scripts 1.0.0-beta.6 → 1.0.0-rc.1

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 (256) hide show
  1. package/dist/devtools-client/200.html +1 -0
  2. package/dist/devtools-client/404.html +1 -0
  3. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  4. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  5. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  6. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  7. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  15. package/dist/devtools-client/_nuxt/B3kN3DAy.js +1 -0
  16. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  17. package/dist/devtools-client/_nuxt/C8jhSQ8l.js +1 -0
  18. package/dist/devtools-client/_nuxt/CJD6wrkT.js +188 -0
  19. package/dist/devtools-client/_nuxt/CfOsp0mU.js +1 -0
  20. package/dist/devtools-client/_nuxt/DKL6PHO3.js +1 -0
  21. package/dist/devtools-client/_nuxt/ajngqPCs.js +1 -0
  22. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  23. package/dist/devtools-client/_nuxt/builds/meta/b800a0be-5cab-4ea6-89e3-dd3a85690a73.json +1 -0
  24. package/dist/devtools-client/_nuxt/dlaR8P-P.js +1 -0
  25. package/dist/devtools-client/_nuxt/entry.BwpOBArY.css +1 -0
  26. package/dist/devtools-client/_nuxt/error-404.CvOVjXeC.css +1 -0
  27. package/dist/devtools-client/_nuxt/error-500.BIm53nmx.css +1 -0
  28. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  29. package/dist/devtools-client/_nuxt/index.CA-OpSj0.css +1 -0
  30. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  31. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  32. package/dist/devtools-client/docs/index.html +1 -0
  33. package/dist/devtools-client/first-party/index.html +1 -0
  34. package/dist/devtools-client/index.html +1 -0
  35. package/dist/devtools-client/registry/index.html +1 -0
  36. package/dist/module.d.mts +29 -84
  37. package/dist/module.d.ts +121 -0
  38. package/dist/module.json +1 -1
  39. package/dist/module.mjs +941 -757
  40. package/dist/registry.d.mts +91 -4
  41. package/dist/registry.d.ts +93 -0
  42. package/dist/registry.mjs +669 -324
  43. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +15 -79
  44. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +78 -180
  45. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +15 -79
  46. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +9 -5
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +56 -57
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +9 -5
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -41
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +69 -73
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -41
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +36 -4
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +82 -37
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +36 -4
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +78 -0
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +222 -0
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +78 -0
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +165 -0
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  85. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  86. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  87. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  88. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  89. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +48 -0
  90. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +51 -0
  91. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +85 -0
  92. package/dist/runtime/components/ScriptBlueskyEmbed.vue +88 -0
  93. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +85 -0
  94. package/dist/runtime/components/ScriptCrisp.vue +1 -1
  95. package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
  96. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  97. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  98. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  99. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +1 -2
  100. package/dist/runtime/components/ScriptInstagramEmbed.vue +8 -3
  101. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +1 -2
  102. package/dist/runtime/components/ScriptIntercom.vue +4 -3
  103. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
  104. package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
  105. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
  106. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
  107. package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
  108. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
  109. package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
  110. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
  111. package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
  112. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
  113. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +0 -2
  114. package/dist/runtime/components/ScriptXEmbed.vue +14 -8
  115. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +0 -2
  116. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
  117. package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
  118. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
  119. package/dist/runtime/composables/useScript.js +148 -8
  120. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  121. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  122. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  123. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  124. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  125. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  126. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  127. package/dist/runtime/registry/bing-uet.d.ts +20 -0
  128. package/dist/runtime/registry/bing-uet.js +29 -0
  129. package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
  130. package/dist/runtime/registry/bluesky-embed.js +72 -0
  131. package/dist/runtime/registry/clarity.d.ts +10 -15
  132. package/dist/runtime/registry/clarity.js +22 -31
  133. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  134. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  135. package/dist/runtime/registry/crisp.d.ts +10 -40
  136. package/dist/runtime/registry/crisp.js +2 -33
  137. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  138. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  139. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  140. package/dist/runtime/registry/fathom-analytics.js +3 -25
  141. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  142. package/dist/runtime/registry/google-adsense.js +2 -11
  143. package/dist/runtime/registry/google-analytics.d.ts +3 -5
  144. package/dist/runtime/registry/google-analytics.js +3 -8
  145. package/dist/runtime/registry/google-maps.d.ts +3 -9
  146. package/dist/runtime/registry/google-maps.js +2 -8
  147. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  148. package/dist/runtime/registry/google-recaptcha.js +4 -12
  149. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  150. package/dist/runtime/registry/google-sign-in.js +2 -22
  151. package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
  152. package/dist/runtime/registry/google-tag-manager.js +4 -27
  153. package/dist/runtime/registry/gravatar.d.ts +26 -0
  154. package/dist/runtime/registry/gravatar.js +36 -0
  155. package/dist/runtime/registry/hotjar.d.ts +4 -6
  156. package/dist/runtime/registry/hotjar.js +2 -5
  157. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  158. package/dist/runtime/registry/instagram-embed.js +4 -19
  159. package/dist/runtime/registry/intercom.d.ts +5 -13
  160. package/dist/runtime/registry/intercom.js +2 -12
  161. package/dist/runtime/registry/matomo-analytics.d.ts +3 -12
  162. package/dist/runtime/registry/matomo-analytics.js +3 -12
  163. package/dist/runtime/registry/meta-pixel.d.ts +4 -6
  164. package/dist/runtime/registry/meta-pixel.js +2 -4
  165. package/dist/runtime/registry/mixpanel-analytics.d.ts +22 -0
  166. package/dist/runtime/registry/mixpanel-analytics.js +46 -0
  167. package/dist/runtime/registry/npm.d.ts +3 -7
  168. package/dist/runtime/registry/npm.js +2 -9
  169. package/dist/runtime/registry/paypal.d.ts +4 -25
  170. package/dist/runtime/registry/paypal.js +3 -66
  171. package/dist/runtime/registry/plausible-analytics.js +19 -14
  172. package/dist/runtime/registry/posthog.d.ts +10 -12
  173. package/dist/runtime/registry/posthog.js +4 -13
  174. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  175. package/dist/runtime/registry/reddit-pixel.js +2 -4
  176. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  177. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  178. package/dist/runtime/registry/schemas.d.ts +982 -0
  179. package/dist/runtime/registry/schemas.js +937 -0
  180. package/dist/runtime/registry/segment.d.ts +2 -5
  181. package/dist/runtime/registry/segment.js +2 -5
  182. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  183. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  184. package/dist/runtime/registry/stripe.d.ts +3 -4
  185. package/dist/runtime/registry/stripe.js +2 -4
  186. package/dist/runtime/registry/tiktok-pixel.d.ts +4 -7
  187. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  188. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  189. package/dist/runtime/registry/umami-analytics.js +2 -36
  190. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  191. package/dist/runtime/registry/vercel-analytics.js +84 -0
  192. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  193. package/dist/runtime/registry/vimeo-player.js +1 -1
  194. package/dist/runtime/registry/x-embed.d.ts +3 -17
  195. package/dist/runtime/registry/x-embed.js +3 -18
  196. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  197. package/dist/runtime/registry/x-pixel.js +2 -5
  198. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  199. package/dist/runtime/registry/youtube-player.js +1 -1
  200. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  201. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  202. package/dist/runtime/server/bluesky-embed.d.ts +16 -0
  203. package/dist/runtime/server/bluesky-embed.js +59 -0
  204. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  205. package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
  206. package/dist/runtime/server/google-static-maps-proxy.js +2 -13
  207. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  208. package/dist/runtime/server/gravatar-proxy.js +46 -0
  209. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  210. package/dist/runtime/server/instagram-embed-image.js +6 -53
  211. package/dist/runtime/server/instagram-embed.d.ts +16 -0
  212. package/dist/runtime/server/instagram-embed.js +176 -35
  213. package/dist/runtime/server/proxy-handler.js +142 -95
  214. package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
  215. package/dist/runtime/server/utils/image-proxy.js +70 -0
  216. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  217. package/dist/runtime/server/utils/privacy.js +60 -40
  218. package/dist/runtime/server/x-embed-image.js +5 -49
  219. package/dist/runtime/server/x-embed.js +3 -2
  220. package/dist/runtime/types.d.ts +272 -51
  221. package/dist/runtime/types.js +0 -2
  222. package/dist/runtime/utils/pure.d.ts +1 -1
  223. package/dist/runtime/utils.d.ts +6 -4
  224. package/dist/runtime/utils.js +31 -14
  225. package/dist/stats.d.mts +202 -0
  226. package/dist/stats.d.ts +202 -0
  227. package/dist/stats.mjs +3875 -0
  228. package/dist/types-source.d.mts +17 -0
  229. package/dist/types-source.d.ts +17 -0
  230. package/dist/types-source.mjs +3414 -0
  231. package/dist/types.d.mts +4 -2
  232. package/package.json +35 -61
  233. package/README.md +0 -86
  234. package/dist/client/200.html +0 -1
  235. package/dist/client/404.html +0 -1
  236. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  237. package/dist/client/_nuxt/BpR-tlZc.js +0 -1
  238. package/dist/client/_nuxt/CBbMDhE2.js +0 -162
  239. package/dist/client/_nuxt/CEMAW3aB.js +0 -1
  240. package/dist/client/_nuxt/MWkREqzj.js +0 -1
  241. package/dist/client/_nuxt/builds/latest.json +0 -1
  242. package/dist/client/_nuxt/builds/meta/762d443a-0880-424f-bda8-2b32b39d43ec.json +0 -1
  243. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  244. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  245. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  246. package/dist/client/index.html +0 -1
  247. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  248. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  249. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  250. package/dist/runtime/validation/mock.d.ts +0 -42
  251. package/dist/runtime/validation/mock.js +0 -21
  252. package/dist/runtime/validation/valibot.d.ts +0 -1
  253. package/dist/runtime/validation/valibot.js +0 -1
  254. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  255. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  256. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -0,0 +1,29 @@
1
+ import { useRegistryScript } from "../utils.js";
2
+ import { BingUetOptions } from "./schemas.js";
3
+ export { BingUetOptions };
4
+ export function useScriptBingUet(_options) {
5
+ return useRegistryScript("bingUet", (options) => ({
6
+ scriptInput: {
7
+ src: "https://bat.bing.com/bat.js",
8
+ crossorigin: false
9
+ },
10
+ schema: import.meta.dev ? BingUetOptions : void 0,
11
+ scriptOptions: {
12
+ use() {
13
+ if (options?.id && typeof window.UET === "function" && Array.isArray(window.uetq)) {
14
+ const uetOptions = {
15
+ ti: options.id,
16
+ enableAutoSpaTracking: options.enableAutoSpaTracking ?? true,
17
+ q: window.uetq
18
+ };
19
+ window.uetq = new window.UET(uetOptions);
20
+ window.uetq.push("pageLoad");
21
+ }
22
+ return { uetq: window.uetq };
23
+ }
24
+ },
25
+ clientInit: import.meta.server ? void 0 : () => {
26
+ window.uetq = window.uetq || [];
27
+ }
28
+ }), _options);
29
+ }
@@ -0,0 +1,116 @@
1
+ import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { BlueskyEmbedOptions } from './schemas.js';
3
+ export { BlueskyEmbedOptions };
4
+ export interface BlueskyEmbedPostData {
5
+ uri: string;
6
+ cid: string;
7
+ author: {
8
+ did: string;
9
+ handle: string;
10
+ displayName: string;
11
+ avatar: string;
12
+ labels: Array<{
13
+ val: string;
14
+ }>;
15
+ verification?: {
16
+ verifiedStatus: string;
17
+ };
18
+ };
19
+ record: {
20
+ $type: string;
21
+ createdAt: string;
22
+ text: string;
23
+ langs?: string[];
24
+ facets?: Array<{
25
+ features: Array<{
26
+ $type: string;
27
+ uri?: string;
28
+ did?: string;
29
+ tag?: string;
30
+ }>;
31
+ index: {
32
+ byteStart: number;
33
+ byteEnd: number;
34
+ };
35
+ }>;
36
+ embed?: {
37
+ $type: string;
38
+ images?: Array<{
39
+ alt: string;
40
+ image: {
41
+ ref: {
42
+ $link: string;
43
+ };
44
+ mimeType: string;
45
+ size: number;
46
+ };
47
+ aspectRatio?: {
48
+ width: number;
49
+ height: number;
50
+ };
51
+ }>;
52
+ external?: {
53
+ uri: string;
54
+ title: string;
55
+ description: string;
56
+ thumb?: {
57
+ ref: {
58
+ $link: string;
59
+ };
60
+ mimeType: string;
61
+ size: number;
62
+ };
63
+ };
64
+ };
65
+ };
66
+ embed?: {
67
+ $type: string;
68
+ images?: Array<{
69
+ thumb: string;
70
+ fullsize: string;
71
+ alt: string;
72
+ aspectRatio?: {
73
+ width: number;
74
+ height: number;
75
+ };
76
+ }>;
77
+ external?: {
78
+ uri: string;
79
+ title: string;
80
+ description: string;
81
+ thumb?: string;
82
+ };
83
+ };
84
+ likeCount: number;
85
+ repostCount: number;
86
+ replyCount: number;
87
+ quoteCount: number;
88
+ indexedAt: string;
89
+ labels: Array<{
90
+ val: string;
91
+ }>;
92
+ }
93
+ export type BlueskyEmbedInput = RegistryScriptInput<typeof BlueskyEmbedOptions, false, false>;
94
+ /**
95
+ * Extract the handle/DID and post rkey from a Bluesky post URL
96
+ */
97
+ export declare function extractBlueskyPostId(url: string): {
98
+ actor: string;
99
+ rkey: string;
100
+ } | undefined;
101
+ /**
102
+ * Proxy a Bluesky image URL through the server
103
+ */
104
+ export declare function proxyBlueskyImageUrl(url: string, proxyEndpoint?: string): string;
105
+ /**
106
+ * Format a Bluesky post date for display
107
+ */
108
+ export declare function formatBlueskyDate(dateString: string): string;
109
+ /**
110
+ * Format a number for display (e.g., 1234 -> 1.2K)
111
+ */
112
+ export declare function formatCount(count: number): string;
113
+ /**
114
+ * Convert Bluesky facets (byte-range rich text annotations) to HTML
115
+ */
116
+ export declare function facetsToHtml(text: string, facets?: BlueskyEmbedPostData['record']['facets']): string;
@@ -0,0 +1,72 @@
1
+ import { BlueskyEmbedOptions } from "./schemas.js";
2
+ export { BlueskyEmbedOptions };
3
+ const BSKY_POST_URL_RE = /bsky\.app\/profile\/([^/]+)\/post\/([^/?]+)/;
4
+ export function extractBlueskyPostId(url) {
5
+ const match = url.match(BSKY_POST_URL_RE);
6
+ if (!match)
7
+ return void 0;
8
+ return { actor: match[1], rkey: match[2] };
9
+ }
10
+ export function proxyBlueskyImageUrl(url, proxyEndpoint = "/_scripts/embed/bluesky-image") {
11
+ const separator = proxyEndpoint.includes("?") ? "&" : "?";
12
+ return `${proxyEndpoint}${separator}url=${encodeURIComponent(url)}`;
13
+ }
14
+ export function formatBlueskyDate(dateString) {
15
+ const date = new Date(dateString);
16
+ const time = date.toLocaleString("en-US", {
17
+ hour: "numeric",
18
+ minute: "numeric",
19
+ hour12: true,
20
+ timeZone: "UTC"
21
+ });
22
+ const month = date.toLocaleString("en-US", { month: "short", timeZone: "UTC" });
23
+ return `${time} \xB7 ${month} ${date.getUTCDate()}, ${date.getUTCFullYear()}`;
24
+ }
25
+ export function formatCount(count) {
26
+ if (count >= 1e6) {
27
+ return `${(count / 1e6).toFixed(1)}M`;
28
+ }
29
+ if (count >= 1e3) {
30
+ return `${(count / 1e3).toFixed(1)}K`;
31
+ }
32
+ return count.toString();
33
+ }
34
+ export function facetsToHtml(text, facets) {
35
+ if (!facets?.length)
36
+ return escapeHtml(text);
37
+ const encoder = new TextEncoder();
38
+ const decoder = new TextDecoder();
39
+ const bytes = encoder.encode(text);
40
+ const sorted = facets.toSorted((a, b) => a.index.byteStart - b.index.byteStart);
41
+ const parts = [];
42
+ let lastEnd = 0;
43
+ for (const facet of sorted) {
44
+ if (facet.index.byteStart > lastEnd) {
45
+ parts.push(escapeHtml(decoder.decode(bytes.slice(lastEnd, facet.index.byteStart))));
46
+ }
47
+ const facetText = escapeHtml(decoder.decode(bytes.slice(facet.index.byteStart, facet.index.byteEnd)));
48
+ for (const feature of facet.features) {
49
+ if (feature.$type === "app.bsky.richtext.facet#link" && feature.uri) {
50
+ parts.push(`<a href="${escapeHtml(feature.uri)}" target="_blank" rel="noopener noreferrer">${facetText}</a>`);
51
+ } else if (feature.$type === "app.bsky.richtext.facet#mention" && feature.did) {
52
+ parts.push(`<a href="https://bsky.app/profile/${escapeHtml(feature.did)}" target="_blank" rel="noopener noreferrer">${facetText}</a>`);
53
+ } else if (feature.$type === "app.bsky.richtext.facet#tag" && feature.tag) {
54
+ parts.push(`<a href="https://bsky.app/hashtag/${escapeHtml(feature.tag)}" target="_blank" rel="noopener noreferrer">${facetText}</a>`);
55
+ } else {
56
+ parts.push(facetText);
57
+ }
58
+ }
59
+ lastEnd = facet.index.byteEnd;
60
+ }
61
+ if (lastEnd < bytes.length) {
62
+ parts.push(escapeHtml(decoder.decode(bytes.slice(lastEnd))));
63
+ }
64
+ return parts.join("");
65
+ }
66
+ const AMP_RE = /&/g;
67
+ const LT_RE = /</g;
68
+ const GT_RE = />/g;
69
+ const QUOT_RE = /"/g;
70
+ function escapeHtml(str) {
71
+ return str.replace(AMP_RE, "&amp;").replace(LT_RE, "&lt;").replace(GT_RE, "&gt;").replace(QUOT_RE, "&quot;");
72
+ }
@@ -1,17 +1,19 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- type ClarityFunctions = ((fn: 'start', options: {
3
- content: boolean;
4
- cookies: string[];
5
- dob: number;
6
- expire: number;
7
- projectId: string;
8
- upload: string;
2
+ import { ClarityOptions } from './schemas.js';
3
+ export { ClarityOptions };
4
+ type ClarityFunctions = ((fn: 'start', options?: {
5
+ content?: boolean;
6
+ cookies?: string[];
7
+ dob?: number;
8
+ expire?: number;
9
+ projectId?: string;
10
+ upload?: string;
9
11
  }) => void) & ((fn: 'identify', id: string, session?: string, page?: string, userHint?: string) => Promise<{
10
12
  id: string;
11
13
  session: string;
12
14
  page: string;
13
15
  userHint: string;
14
- }>) & ((fn: 'consent', enabled?: boolean) => void) & ((fn: 'set', key: any, value: any) => void) & ((fn: 'event', value: any) => void) & ((fn: 'upgrade', upgradeReason: any) => void) & ((fn: string, ...args: any[]) => void);
16
+ }>) & ((fn: 'consent', enabled?: boolean | Record<string, string>) => void) & ((fn: 'set', key: string, value: string | string[]) => void) & ((fn: 'event', value: string) => void) & ((fn: 'upgrade', upgradeReason: string) => void) & ((fn: (string & {}), ...args: any[]) => void);
15
17
  export interface ClarityApi {
16
18
  clarity: ClarityFunctions & {
17
19
  q: any[];
@@ -22,12 +24,5 @@ declare global {
22
24
  interface Window extends ClarityApi {
23
25
  }
24
26
  }
25
- export declare const ClarityOptions: import("valibot").ObjectSchema<{
26
- /**
27
- * The Clarity token.
28
- */
29
- readonly id: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 10, undefined>]>;
30
- }, undefined>;
31
27
  export type ClarityInput = RegistryScriptInput<typeof ClarityOptions>;
32
28
  export declare function useScriptClarity<T extends ClarityApi>(_options?: ClarityInput): import("#nuxt-scripts/types").UseScriptContext<T>;
33
- export {};
@@ -1,36 +1,27 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { minLength, object, string, pipe } from "#nuxt-scripts-validator";
3
- export const ClarityOptions = object({
4
- /**
5
- * The Clarity token.
6
- */
7
- id: pipe(string(), minLength(10))
8
- });
2
+ import { ClarityOptions } from "./schemas.js";
3
+ export { ClarityOptions };
9
4
  export function useScriptClarity(_options) {
10
- return useRegistryScript(
11
- "clarity",
12
- (options) => ({
13
- scriptInput: {
14
- src: `https://www.clarity.ms/tag/${options.id}`
15
- },
16
- schema: import.meta.dev ? ClarityOptions : void 0,
17
- scriptOptions: {
18
- use() {
19
- return {
20
- // @ts-expect-error untyped
21
- clarity: Object.assign(function(...params) {
22
- const clarity = window.clarity;
23
- return clarity.apply(this, params);
24
- }, window.clarity)
25
- };
26
- }
27
- },
28
- clientInit: import.meta.server ? void 0 : () => {
29
- window.clarity = window.clarity || function(...params) {
30
- (window.clarity.q = window.clarity.q || []).push(params);
5
+ return useRegistryScript("clarity", (options) => ({
6
+ scriptInput: {
7
+ src: `https://www.clarity.ms/tag/${options.id}`
8
+ },
9
+ schema: import.meta.dev ? ClarityOptions : void 0,
10
+ scriptOptions: {
11
+ use() {
12
+ return {
13
+ // @ts-expect-error untyped
14
+ clarity: Object.assign(function(...params) {
15
+ const clarity = window.clarity;
16
+ return clarity.apply(this, params);
17
+ }, window.clarity)
31
18
  };
32
19
  }
33
- }),
34
- _options
35
- );
20
+ },
21
+ clientInit: import.meta.server ? void 0 : () => {
22
+ window.clarity = window.clarity || function(...params) {
23
+ (window.clarity.q = window.clarity.q || []).push(params);
24
+ };
25
+ }
26
+ }), _options);
36
27
  }
@@ -1,4 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { CloudflareWebAnalyticsOptions } from './schemas.js';
3
+ export { CloudflareWebAnalyticsOptions };
2
4
  /**
3
5
  * Sample:
4
6
  * <!-- Cloudflare Web Analytics -->
@@ -16,18 +18,5 @@ declare global {
16
18
  interface Window extends CloudflareWebAnalyticsApi {
17
19
  }
18
20
  }
19
- export declare const CloudflareWebAnalyticsOptions: import("valibot").ObjectSchema<{
20
- /**
21
- * The Cloudflare Web Analytics token.
22
- */
23
- readonly token: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 32, undefined>]>;
24
- /**
25
- * Cloudflare Web Analytics enables measuring SPAs automatically by overriding the History API’s pushState function
26
- * and listening to the onpopstate. Hash-based router is not supported.
27
- *
28
- * @default true
29
- */
30
- readonly spa: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
31
- }, undefined>;
32
21
  export type CloudflareWebAnalyticsInput = RegistryScriptInput<typeof CloudflareWebAnalyticsOptions>;
33
22
  export declare function useScriptCloudflareWebAnalytics<T extends CloudflareWebAnalyticsApi>(_options?: CloudflareWebAnalyticsInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,18 +1,6 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { boolean, minLength, object, optional, pipe, string } from "#nuxt-scripts-validator";
3
- export const CloudflareWebAnalyticsOptions = object({
4
- /**
5
- * The Cloudflare Web Analytics token.
6
- */
7
- token: pipe(string(), minLength(32)),
8
- /**
9
- * Cloudflare Web Analytics enables measuring SPAs automatically by overriding the History API’s pushState function
10
- * and listening to the onpopstate. Hash-based router is not supported.
11
- *
12
- * @default true
13
- */
14
- spa: optional(boolean())
15
- });
2
+ import { CloudflareWebAnalyticsOptions } from "./schemas.js";
3
+ export { CloudflareWebAnalyticsOptions };
16
4
  export function useScriptCloudflareWebAnalytics(_options) {
17
5
  return useRegistryScript("cloudflareWebAnalytics", (options) => ({
18
6
  scriptInput: {
@@ -1,46 +1,16 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const CrispOptions: import("valibot").ObjectSchema<{
3
- /**
4
- * The Crisp ID.
5
- */
6
- readonly id: import("valibot").StringSchema<undefined>;
7
- /**
8
- * Extra configuration options. Used to configure the locale.
9
- * Same as CRISP_RUNTIME_CONFIG.
10
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/language-customization/
11
- */
12
- readonly runtimeConfig: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
13
- readonly locale: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
14
- }, undefined>, undefined>;
15
- /**
16
- * Associated a session, equivalent to using CRISP_TOKEN_ID variable.
17
- * Same as CRISP_TOKEN_ID.
18
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/session-continuity/
19
- */
20
- readonly tokenId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
21
- /**
22
- * Restrict the domain that the Crisp cookie is set on.
23
- * Same as CRISP_COOKIE_DOMAIN.
24
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/
25
- */
26
- readonly cookieDomain: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
27
- /**
28
- * The cookie expiry in seconds.
29
- * Same as CRISP_COOKIE_EXPIRATION.
30
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/#change-cookie-expiration-date
31
- */
32
- readonly cookieExpiry: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
33
- }, undefined>;
34
- export type CrispInput = RegistryScriptInput<typeof CrispOptions, false, false, false>;
2
+ import { CrispOptions } from './schemas.js';
3
+ export { CrispOptions };
4
+ export type CrispInput = RegistryScriptInput<typeof CrispOptions, false, false>;
35
5
  export interface CrispApi {
36
6
  push: (...args: any[]) => void;
37
- is: (name: 'chat:opened' | 'chat:closed' | 'chat:visible' | 'chat:hidden' | 'chat:small' | 'chat:large' | 'session:ongoing' | 'website:available' | 'overlay:opened' | 'overlay:closed' | string) => boolean;
38
- set: (name: 'message:text' | 'session:data' | 'session:segments' | 'session:event' | 'user:email' | 'user:phone' | 'user:nickname' | 'user:avatar' | 'user:company' | string, value: any) => void;
39
- get: (name: 'chat:unread:count' | 'message:text' | 'session:identifier' | 'session:data' | 'user:email' | 'user:phone' | 'user:nickname' | 'user:avatar' | 'user:company' | string) => any;
40
- do: (name: 'chat:open' | 'chat:close' | 'chat:toggle' | 'chat:show' | 'chat:hide' | 'helpdesk:search' | 'helpdesk:article:open' | 'helpdesk:query' | 'overlay:open' | 'overlay:close' | 'message:send' | 'message:show' | 'message:read' | 'message:thread:start' | 'message:thread:end' | 'session:reset' | 'trigger:run' | string, arg2?: any) => any;
41
- on: (name: 'session:loaded' | 'chat:initiated' | 'chat:opened' | 'chat:closed' | 'message:sent' | 'message:received' | 'message:compose:sent' | 'message:compose:received' | 'user:email:changed' | 'user:phone:changed' | 'user:nickname:changed' | 'user:avatar:changed' | 'website:availability:changed' | 'helpdesk:queried' | string, callback: (...args: any[]) => any) => void;
42
- off: (name: 'session:loaded' | 'chat:initiated' | 'chat:opened' | 'chat:closed' | 'message:sent' | 'message:received' | 'message:compose:sent' | 'message:compose:received' | 'user:email:changed' | 'user:phone:changed' | 'user:nickname:changed' | 'user:avatar:changed' | 'website:availability:changed' | 'helpdesk:queried' | string, callback: (...args: any[]) => any) => void;
43
- config: (options: any) => void;
7
+ is: (name: 'chat:opened' | 'chat:closed' | 'chat:visible' | 'chat:hidden' | 'chat:small' | 'chat:large' | 'session:ongoing' | 'website:available' | 'overlay:opened' | 'overlay:closed' | (string & {})) => boolean;
8
+ set: ((name: 'message:text' | 'user:email' | 'user:phone' | 'user:nickname' | 'user:avatar' | 'user:company', value: string) => void) & ((name: 'session:data', value: [[string, string | number | boolean], ...[string, string | number | boolean][]]) => void) & ((name: 'session:segments', value: string[]) => void) & ((name: 'session:event', value: [[string, Record<string, any>?, string?]]) => void) & ((name: (string & {}), value: any) => void);
9
+ get: ((name: 'chat:unread:count') => number) & ((name: 'message:text' | 'session:identifier' | 'user:email' | 'user:phone' | 'user:nickname' | 'user:avatar' | 'user:company') => string) & ((name: 'session:data', key: string) => string | number | boolean) & ((name: (string & {})) => any);
10
+ do: (name: 'chat:open' | 'chat:close' | 'chat:toggle' | 'chat:show' | 'chat:hide' | 'helpdesk:search' | 'helpdesk:article:open' | 'helpdesk:query' | 'overlay:open' | 'overlay:close' | 'message:send' | 'message:show' | 'message:read' | 'message:thread:start' | 'message:thread:end' | 'session:reset' | 'trigger:run', arg2?: any) => any;
11
+ on: (name: 'session:loaded' | 'chat:initiated' | 'chat:opened' | 'chat:closed' | 'message:sent' | 'message:received' | 'message:compose:sent' | 'message:compose:received' | 'user:email:changed' | 'user:phone:changed' | 'user:nickname:changed' | 'user:avatar:changed' | 'website:availability:changed' | 'helpdesk:queried' | (string & {}), callback: (...args: any[]) => any) => void;
12
+ off: (name: 'session:loaded' | 'chat:initiated' | 'chat:opened' | 'chat:closed' | 'message:sent' | 'message:received' | 'message:compose:sent' | 'message:compose:received' | 'user:email:changed' | 'user:phone:changed' | 'user:nickname:changed' | 'user:avatar:changed' | 'website:availability:changed' | 'helpdesk:queried' | (string & {}), callback: (...args: any[]) => any) => void;
13
+ config: ((name: 'container:index', value: number) => void) & ((name: 'color:theme', value: 'default' | 'amber' | 'black' | 'blue' | 'blue_grey' | 'light_blue' | 'brown' | 'cyan' | 'green' | 'light_green' | 'grey' | 'indigo' | 'orange' | 'deep_orange' | 'pink' | 'purple' | 'deep_purple' | 'red' | 'teal') => void) & ((name: 'position:reverse' | 'hide:on:mobile' | 'hide:on:away' | 'lock:maximized' | 'lock:fullview' | 'show:operator:count' | 'sound:mute', value: boolean) => void) & ((name: (string & {}), value: any) => void);
44
14
  help: () => void;
45
15
  [key: string]: any;
46
16
  }
@@ -1,37 +1,6 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { object, string, optional, number } from "#nuxt-scripts-validator";
3
- export const CrispOptions = object({
4
- /**
5
- * The Crisp ID.
6
- */
7
- id: string(),
8
- /**
9
- * Extra configuration options. Used to configure the locale.
10
- * Same as CRISP_RUNTIME_CONFIG.
11
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/language-customization/
12
- */
13
- runtimeConfig: optional(object({
14
- locale: optional(string())
15
- })),
16
- /**
17
- * Associated a session, equivalent to using CRISP_TOKEN_ID variable.
18
- * Same as CRISP_TOKEN_ID.
19
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/session-continuity/
20
- */
21
- tokenId: optional(string()),
22
- /**
23
- * Restrict the domain that the Crisp cookie is set on.
24
- * Same as CRISP_COOKIE_DOMAIN.
25
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/
26
- */
27
- cookieDomain: optional(string()),
28
- /**
29
- * The cookie expiry in seconds.
30
- * Same as CRISP_COOKIE_EXPIRATION.
31
- * @see https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/cookie-policies/#change-cookie-expiration-date
32
- */
33
- cookieExpiry: optional(number())
34
- });
2
+ import { CrispOptions } from "./schemas.js";
3
+ export { CrispOptions };
35
4
  export function useScriptCrisp(_options) {
36
5
  let readyPromise = Promise.resolve();
37
6
  return useRegistryScript("crisp", (options) => ({
@@ -1,39 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const DatabuddyAnalyticsOptions: import("valibot").ObjectSchema<{
3
- readonly clientId: import("valibot").StringSchema<undefined>;
4
- readonly scriptUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
5
- readonly apiUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly disabled: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
7
- readonly trackScreenViews: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly trackPerformance: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly trackSessions: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly trackWebVitals: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- readonly trackErrors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
12
- readonly trackOutgoingLinks: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
13
- readonly trackScrollDepth: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
14
- readonly trackEngagement: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
15
- readonly trackInteractions: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
16
- readonly trackAttributes: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
17
- readonly trackHashChanges: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
18
- readonly trackExitIntent: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
19
- readonly trackBounceRate: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
20
- readonly enableBatching: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
21
- readonly batchSize: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
22
- readonly batchTimeout: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
23
- readonly enableRetries: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
24
- readonly maxRetries: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
25
- readonly initialRetryDelay: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
26
- readonly samplingRate: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
27
- readonly sdk: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
28
- readonly sdkVersion: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
29
- readonly enableObservability: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
30
- readonly observabilityService: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
31
- readonly observabilityEnvironment: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
32
- readonly observabilityVersion: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
33
- readonly enableLogging: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
34
- readonly enableTracing: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
35
- readonly enableErrorTracking: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
36
- }, undefined>;
2
+ import { DatabuddyAnalyticsOptions } from './schemas.js';
3
+ export { DatabuddyAnalyticsOptions };
37
4
  export type DatabuddyAnalyticsInput = RegistryScriptInput<typeof DatabuddyAnalyticsOptions, false>;
38
5
  export interface DatabuddyAnalyticsApi {
39
6
  /**
@@ -1,49 +1,6 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { object, optional, string, boolean, number } from "#nuxt-scripts-validator";
3
- export const DatabuddyAnalyticsOptions = object({
4
- // Required
5
- clientId: string(),
6
- // Advanced
7
- scriptUrl: optional(string()),
8
- // defaults to https://cdn.databuddy.cc/databuddy.js
9
- apiUrl: optional(string()),
10
- // defaults to https://basket.databuddy.cc
11
- disabled: optional(boolean()),
12
- // Core tracking (enabled by default by SDK)
13
- trackScreenViews: optional(boolean()),
14
- trackPerformance: optional(boolean()),
15
- trackSessions: optional(boolean()),
16
- // Optional tracking
17
- trackWebVitals: optional(boolean()),
18
- trackErrors: optional(boolean()),
19
- trackOutgoingLinks: optional(boolean()),
20
- trackScrollDepth: optional(boolean()),
21
- trackEngagement: optional(boolean()),
22
- trackInteractions: optional(boolean()),
23
- trackAttributes: optional(boolean()),
24
- trackHashChanges: optional(boolean()),
25
- trackExitIntent: optional(boolean()),
26
- trackBounceRate: optional(boolean()),
27
- // Performance options
28
- enableBatching: optional(boolean()),
29
- batchSize: optional(number()),
30
- batchTimeout: optional(number()),
31
- enableRetries: optional(boolean()),
32
- maxRetries: optional(number()),
33
- initialRetryDelay: optional(number()),
34
- samplingRate: optional(number()),
35
- // SDK metadata
36
- sdk: optional(string()),
37
- sdkVersion: optional(string()),
38
- // Observability & logging (accepted by SDK config)
39
- enableObservability: optional(boolean()),
40
- observabilityService: optional(string()),
41
- observabilityEnvironment: optional(string()),
42
- observabilityVersion: optional(string()),
43
- enableLogging: optional(boolean()),
44
- enableTracing: optional(boolean()),
45
- enableErrorTracking: optional(boolean())
46
- });
2
+ import { DatabuddyAnalyticsOptions } from "./schemas.js";
3
+ export { DatabuddyAnalyticsOptions };
47
4
  export function useScriptDatabuddyAnalytics(_options) {
48
5
  return useRegistryScript("databuddyAnalytics", (options) => {
49
6
  return {
@@ -96,6 +53,24 @@ export function useScriptDatabuddyAnalytics(_options) {
96
53
  return null;
97
54
  }
98
55
  return window.db || window.databuddy || null;
56
+ },
57
+ // The SDK finds config by searching for a <script> with src containing
58
+ // "/databuddy.js". When first-party bundling rewrites the src to
59
+ // /_scripts/<hash>.js, the lookup fails. Set window.databuddyConfig
60
+ // so the SDK picks up the config regardless of script src.
61
+ clientInit: import.meta.server ? void 0 : () => {
62
+ const cfg = { clientId: options.clientId };
63
+ if (options?.apiUrl)
64
+ cfg.apiUrl = options.apiUrl;
65
+ if (options?.disabled)
66
+ cfg.disabled = options.disabled;
67
+ if (options?.trackScreenViews)
68
+ cfg.trackScreenViews = options.trackScreenViews;
69
+ if (options?.trackPerformance)
70
+ cfg.trackPerformance = options.trackPerformance;
71
+ if (options?.trackSessions)
72
+ cfg.trackSessions = options.trackSessions;
73
+ window.databuddyConfig = cfg;
99
74
  }
100
75
  }
101
76
  };
@@ -1,27 +1,7 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const FathomAnalyticsOptions: import("valibot").ObjectSchema<{
3
- /**
4
- * The Fathom Analytics site ID.
5
- */
6
- readonly site: import("valibot").StringSchema<undefined>;
7
- /**
8
- * The Fathom Analytics tracking mode.
9
- */
10
- readonly spa: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"auto", undefined>, import("valibot").LiteralSchema<"history", undefined>, import("valibot").LiteralSchema<"hash", undefined>], undefined>, undefined>;
11
- /**
12
- * Automatically track page views.
13
- */
14
- readonly auto: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
15
- /**
16
- * Enable canonical URL tracking.
17
- */
18
- readonly canonical: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
19
- /**
20
- * Honor Do Not Track requests.
21
- */
22
- readonly honorDnt: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
23
- }, undefined>;
24
- export type FathomAnalyticsInput = RegistryScriptInput<typeof FathomAnalyticsOptions, false, false, false>;
2
+ import { FathomAnalyticsOptions } from './schemas.js';
3
+ export { FathomAnalyticsOptions };
4
+ export type FathomAnalyticsInput = RegistryScriptInput<typeof FathomAnalyticsOptions, false, false>;
25
5
  export interface FathomAnalyticsApi {
26
6
  beacon: (ctx: {
27
7
  url: string;
@@ -32,14 +12,15 @@ export interface FathomAnalyticsApi {
32
12
  isTrackingEnabled: () => boolean;
33
13
  send: (type: string, data: unknown) => void;
34
14
  setSite: (siteId: string) => void;
35
- sideId: string;
15
+ siteId: string;
36
16
  trackPageview: (ctx?: {
37
17
  url: string;
38
18
  referrer?: string;
39
19
  }) => void;
40
20
  trackGoal: (goalId: string, cents: number) => void;
41
- trackEvent: (eventName: string, value: {
42
- _value: number;
21
+ trackEvent: (eventName: string, value?: {
22
+ _value?: number;
23
+ _site_id?: string;
43
24
  }) => void;
44
25
  }
45
26
  declare global {