@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
@@ -1,18 +1,10 @@
1
- import type { InferInput } from '#nuxt-scripts-validator';
2
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
3
- export declare const IntercomOptions: import("valibot").ObjectSchema<{
4
- readonly app_id: import("valibot").StringSchema<undefined>;
5
- readonly api_base: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"https://api-iam.intercom.io", undefined>, import("valibot").LiteralSchema<"https://api-iam.eu.intercom.io", undefined>, import("valibot").LiteralSchema<"https://api-iam.au.intercom.io", undefined>], undefined>, undefined>;
6
- readonly name: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly email: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
8
- readonly user_id: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
9
- readonly alignment: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"left", undefined>, import("valibot").LiteralSchema<"right", undefined>], undefined>, undefined>;
10
- readonly horizontal_padding: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
11
- readonly vertical_padding: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
12
- }, undefined>;
13
- export type IntercomInput = RegistryScriptInput<typeof IntercomOptions, true, false, false>;
2
+ import type { InferInput } from 'valibot';
3
+ import { IntercomOptions } from './schemas.js';
4
+ export { IntercomOptions };
5
+ export type IntercomInput = RegistryScriptInput<typeof IntercomOptions, true, false>;
14
6
  export interface IntercomApi {
15
- Intercom: ((event: 'boot', data?: InferInput<typeof IntercomOptions>) => void) & ((event: 'shutdown') => void) & ((event: 'update', options?: InferInput<typeof IntercomOptions>) => void) & ((event: 'hide') => void) & ((event: 'show') => void) & ((event: 'showSpace', spaceName: 'home' | 'messages' | 'help' | 'news' | 'tasks' | 'tickets' | string) => void) & ((event: 'showMessages') => void) & ((event: 'showNewMessage', content?: string) => void) & ((event: 'onHide', fn: () => void) => void) & ((event: 'onShow', fn: () => void) => void) & ((event: 'onUnreadCountChange', fn: () => void) => void) & ((event: 'trackEvent', eventName: string, metadata?: Record<string, any>) => void) & ((event: 'getVisitorId') => Promise<string>) & ((event: 'startTour', tourId: string | number) => void) & ((event: 'showArticle', articleId: string | number) => void) & ((event: 'showNews', newsItemId: string | number) => void) & ((event: 'startSurvey', surveyId: string | number) => void) & ((event: 'startChecklist', checklistId: string | number) => void) & ((event: 'showTicket', ticketId: string | number) => void) & ((event: 'showConversation', conversationId: string | number) => void) & ((event: 'onUserEmailSupplied', fn: () => void) => void) & ((event: string, ...params: any[]) => void);
7
+ Intercom: ((event: 'boot', data?: InferInput<typeof IntercomOptions>) => void) & ((event: 'shutdown') => void) & ((event: 'update', options?: InferInput<typeof IntercomOptions>) => void) & ((event: 'hide') => void) & ((event: 'show') => void) & ((event: 'showSpace', spaceName: 'home' | 'messages' | 'help' | 'news' | 'tasks' | 'tickets' | (string & {})) => void) & ((event: 'showMessages') => void) & ((event: 'showNewMessage', content?: string) => void) & ((event: 'onHide', fn: () => void) => void) & ((event: 'onShow', fn: () => void) => void) & ((event: 'onUnreadCountChange', fn: () => void) => void) & ((event: 'trackEvent', eventName: string, metadata?: Record<string, any>) => void) & ((event: 'getVisitorId') => Promise<string>) & ((event: 'startTour', tourId: string | number) => void) & ((event: 'showArticle', articleId: string | number) => void) & ((event: 'showNews', newsItemId: string | number) => void) & ((event: 'startSurvey', surveyId: string | number) => void) & ((event: 'startChecklist', checklistId: string | number) => void) & ((event: 'showTicket', ticketId: string | number) => void) & ((event: 'showConversation', conversationId: string | number) => void) & ((event: 'onUserEmailSupplied', fn: () => void) => void) & ((event: (string & {}), ...params: any[]) => void);
16
8
  }
17
9
  declare global {
18
10
  interface Window extends IntercomApi {
@@ -1,17 +1,7 @@
1
1
  import { joinURL } from "ufo";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { literal, number, object, optional, string, union } from "#nuxt-scripts-validator";
4
- export const IntercomOptions = object({
5
- app_id: string(),
6
- api_base: optional(union([literal("https://api-iam.intercom.io"), literal("https://api-iam.eu.intercom.io"), literal("https://api-iam.au.intercom.io")])),
7
- name: optional(string()),
8
- email: optional(string()),
9
- user_id: optional(string()),
10
- // customizing the messenger
11
- alignment: optional(union([literal("left"), literal("right")])),
12
- horizontal_padding: optional(number()),
13
- vertical_padding: optional(number())
14
- });
3
+ import { IntercomOptions } from "./schemas.js";
4
+ export { IntercomOptions };
15
5
  export function useScriptIntercom(_options) {
16
6
  return useRegistryScript("intercom", (options) => ({
17
7
  scriptInput: {
@@ -1,21 +1,18 @@
1
- import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const MatomoAnalyticsOptions: import("valibot").ObjectSchema<{
3
- readonly matomoUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
4
- readonly siteId: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>;
5
- readonly cloudId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly trackerUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly trackPageView: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly enableLinkTracking: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly disableCookies: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly watch: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- }, undefined>;
12
- export type MatomoAnalyticsInput = RegistryScriptInput<typeof MatomoAnalyticsOptions, false, false, false>;
13
- interface MatomoAnalyticsApi {
1
+ import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
2
+ import { MatomoAnalyticsOptions } from './schemas.js';
3
+ export { MatomoAnalyticsOptions };
4
+ export type MatomoAnalyticsInput = RegistryScriptInput<typeof MatomoAnalyticsOptions, false, false>;
5
+ export interface MatomoAnalyticsApi {
14
6
  _paq: unknown[];
15
7
  }
16
8
  declare global {
17
9
  interface Window extends MatomoAnalyticsApi {
18
10
  }
19
11
  }
20
- export declare function useScriptMatomoAnalytics<T extends MatomoAnalyticsApi>(_options?: MatomoAnalyticsInput): import("#nuxt-scripts/types").UseScriptContext<T>;
21
- export {};
12
+ export interface MatomoConsent {
13
+ /** Push `setConsentGiven`. Requires `defaultConsent: 'required' | 'given'` at registration to have an effect. */
14
+ give: () => void;
15
+ /** Push `forgetConsentGiven`. Requires `defaultConsent: 'required' | 'given'` at registration to have an effect. */
16
+ forget: () => void;
17
+ }
18
+ export declare function useScriptMatomoAnalytics<T extends MatomoAnalyticsApi>(_options?: MatomoAnalyticsInput): UseScriptContext<T, MatomoConsent>;
@@ -1,20 +1,11 @@
1
1
  import { withBase, withHttps, withoutProtocol, withoutTrailingSlash } from "ufo";
2
- import { useRegistryScript } from "../utils.js";
3
2
  import { useScriptEventPage } from "../composables/useScriptEventPage.js";
4
- import { boolean, object, optional, string, number, union } from "#nuxt-scripts-validator";
5
3
  import { logger } from "../logger.js";
6
- export const MatomoAnalyticsOptions = object({
7
- matomoUrl: optional(string()),
8
- siteId: optional(union([string(), number()])),
9
- cloudId: optional(string()),
10
- trackerUrl: optional(string()),
11
- trackPageView: optional(boolean()),
12
- enableLinkTracking: optional(boolean()),
13
- disableCookies: optional(boolean()),
14
- watch: optional(boolean())
15
- });
4
+ import { useRegistryScript } from "../utils.js";
5
+ import { MatomoAnalyticsOptions } from "./schemas.js";
6
+ export { MatomoAnalyticsOptions };
16
7
  export function useScriptMatomoAnalytics(_options) {
17
- return useRegistryScript("matomoAnalytics", (options) => {
8
+ const instance = useRegistryScript("matomoAnalytics", (options) => {
18
9
  const normalizedCloudId = options?.cloudId ? withoutTrailingSlash(withoutProtocol(options.cloudId)) : void 0;
19
10
  const origin = options?.matomoUrl ? options.matomoUrl : `https://cdn.matomo.cloud/${normalizedCloudId}/`;
20
11
  const _paq = import.meta.client ? window._paq = window._paq || [] : [];
@@ -39,6 +30,12 @@ export function useScriptMatomoAnalytics(_options) {
39
30
  }
40
31
  },
41
32
  clientInit: import.meta.server ? void 0 : () => {
33
+ if (options?.defaultConsent === "required") {
34
+ _paq.push(["requireConsent"]);
35
+ } else if (options?.defaultConsent === "given") {
36
+ _paq.push(["requireConsent"]);
37
+ _paq.push(["setConsentGiven"]);
38
+ }
42
39
  if (options?.enableLinkTracking) {
43
40
  _paq.push(["enableLinkTracking"]);
44
41
  }
@@ -68,4 +65,25 @@ export function useScriptMatomoAnalytics(_options) {
68
65
  }
69
66
  };
70
67
  }, _options);
68
+ if (import.meta.client && !instance.consent) {
69
+ const requiresConsent = _options?.defaultConsent === "required" || _options?.defaultConsent === "given";
70
+ const warnIfUnsafe = import.meta.dev ? (method) => {
71
+ if (!requiresConsent) {
72
+ logger.warn(`matomo consent.${method}() is a no-op unless \`defaultConsent: 'required'\` or \`'given'\` is set at registration.`);
73
+ }
74
+ } : () => {
75
+ };
76
+ const paq = instance.proxy._paq;
77
+ instance.consent = {
78
+ give: () => {
79
+ warnIfUnsafe("give");
80
+ paq.push(["setConsentGiven"]);
81
+ },
82
+ forget: () => {
83
+ warnIfUnsafe("forget");
84
+ paq.push(["forgetConsentGiven"]);
85
+ }
86
+ };
87
+ }
88
+ return instance;
71
89
  }
@@ -1,4 +1,5 @@
1
- import type { RegistryScriptInput } from '#nuxt-scripts/types';
1
+ import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
2
+ import { MetaPixelOptions } from './schemas.js';
2
3
  type StandardEvents = 'AddPaymentInfo' | 'AddToCart' | 'AddToWishlist' | 'CompleteRegistration' | 'Contact' | 'CustomizeProduct' | 'Donate' | 'FindLocation' | 'InitiateCheckout' | 'Lead' | 'Purchase' | 'Schedule' | 'Search' | 'StartTrial' | 'SubmitApplication' | 'Subscribe' | 'ViewContent';
3
4
  interface EventObjectProperties {
4
5
  content_category?: string;
@@ -14,7 +15,7 @@ interface EventObjectProperties {
14
15
  num_items?: number;
15
16
  predicted_ltv?: number;
16
17
  search_string?: string;
17
- status?: 'completed' | 'updated' | 'viewed' | 'added_to_cart' | 'removed_from_cart' | string;
18
+ status?: 'completed' | 'updated' | 'viewed' | 'added_to_cart' | 'removed_from_cart' | (string & {});
18
19
  value?: number;
19
20
  [key: string]: any;
20
21
  }
@@ -35,9 +36,12 @@ declare global {
35
36
  interface Window extends MetaPixelApi {
36
37
  }
37
38
  }
38
- export declare const MetaPixelOptions: import("valibot").ObjectSchema<{
39
- readonly id: import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>;
40
- }, undefined>;
41
- export type MetaPixelInput = RegistryScriptInput<typeof MetaPixelOptions, true, false, false>;
42
- export declare function useScriptMetaPixel<T extends MetaPixelApi>(_options?: MetaPixelInput): import("#nuxt-scripts/types").UseScriptContext<T>;
43
- export {};
39
+ export { MetaPixelOptions };
40
+ export type MetaPixelInput = RegistryScriptInput<typeof MetaPixelOptions, true, false>;
41
+ export interface MetaPixelConsent {
42
+ /** Call `fbq('consent','grant')`. */
43
+ grant: () => void;
44
+ /** Call `fbq('consent','revoke')`. */
45
+ revoke: () => void;
46
+ }
47
+ export declare function useScriptMetaPixel<T extends MetaPixelApi>(_options?: MetaPixelInput): UseScriptContext<T, MetaPixelConsent>;
@@ -1,10 +1,8 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { number, object, string, union } from "#nuxt-scripts-validator";
3
- export const MetaPixelOptions = object({
4
- id: union([string(), number()])
5
- });
2
+ import { MetaPixelOptions } from "./schemas.js";
3
+ export { MetaPixelOptions };
6
4
  export function useScriptMetaPixel(_options) {
7
- return useRegistryScript("metaPixel", (options) => ({
5
+ const instance = useRegistryScript("metaPixel", (options) => ({
8
6
  scriptInput: {
9
7
  src: "https://connect.facebook.net/en_US/fbevents.js",
10
8
  crossorigin: false
@@ -29,8 +27,17 @@ export function useScriptMetaPixel(_options) {
29
27
  fbq.loaded = true;
30
28
  fbq.version = "2.0";
31
29
  fbq.queue = [];
30
+ if (options?.defaultConsent)
31
+ fbq("consent", options.defaultConsent === "granted" ? "grant" : "revoke");
32
32
  fbq("init", options?.id);
33
33
  fbq("track", "PageView");
34
34
  }
35
35
  }), _options);
36
+ if (import.meta.client && !instance.consent) {
37
+ instance.consent = {
38
+ grant: () => instance.proxy.fbq("consent", "grant"),
39
+ revoke: () => instance.proxy.fbq("consent", "revoke")
40
+ };
41
+ }
42
+ return instance;
36
43
  }
@@ -0,0 +1,32 @@
1
+ import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
2
+ import { MixpanelAnalyticsOptions } from './schemas.js';
3
+ export { MixpanelAnalyticsOptions };
4
+ export type MixpanelAnalyticsInput = RegistryScriptInput<typeof MixpanelAnalyticsOptions>;
5
+ export interface MixpanelAnalyticsApi {
6
+ mixpanel: {
7
+ track: (event: string, properties?: Record<string, any>) => void;
8
+ identify: (distinctId: string) => void;
9
+ reset: () => void;
10
+ people: {
11
+ set: (properties: Record<string, any>) => void;
12
+ };
13
+ register: (properties: Record<string, any>) => void;
14
+ init: (token: string, config?: Record<string, any>) => void;
15
+ /** Opt the user in to tracking. Available after the real SDK loads. */
16
+ opt_in_tracking?: () => void;
17
+ /** Opt the user out of tracking. Available after the real SDK loads. */
18
+ opt_out_tracking?: () => void;
19
+ };
20
+ }
21
+ declare global {
22
+ interface Window {
23
+ mixpanel: MixpanelAnalyticsApi['mixpanel'];
24
+ }
25
+ }
26
+ export interface MixpanelConsent {
27
+ /** Call `mixpanel.opt_in_tracking()`. */
28
+ optIn: () => void;
29
+ /** Call `mixpanel.opt_out_tracking()`. For boot-time opt-out, use `defaultConsent: 'opt-out'` instead. */
30
+ optOut: () => void;
31
+ }
32
+ export declare function useScriptMixpanelAnalytics<T extends MixpanelAnalyticsApi>(_options?: MixpanelAnalyticsInput): UseScriptContext<T, MixpanelConsent>;
@@ -0,0 +1,58 @@
1
+ import { useRegistryScript } from "../utils.js";
2
+ import { MixpanelAnalyticsOptions } from "./schemas.js";
3
+ export { MixpanelAnalyticsOptions };
4
+ const methods = ["track", "identify", "reset", "register", "opt_in_tracking", "opt_out_tracking"];
5
+ const peopleMethods = ["set"];
6
+ export function useScriptMixpanelAnalytics(_options) {
7
+ const instance = useRegistryScript("mixpanelAnalytics", (options) => {
8
+ return {
9
+ scriptInput: {
10
+ src: "https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"
11
+ },
12
+ schema: import.meta.dev ? MixpanelAnalyticsOptions : void 0,
13
+ scriptOptions: {
14
+ use() {
15
+ return {
16
+ mixpanel: window.mixpanel
17
+ };
18
+ }
19
+ },
20
+ clientInit: import.meta.server ? void 0 : () => {
21
+ const mp = window.mixpanel = window.mixpanel || [];
22
+ if (!mp.__SV) {
23
+ mp.__SV = 1.2;
24
+ mp._i = mp._i || [];
25
+ mp.init = (token, config, name = "mixpanel") => {
26
+ const target = name === "mixpanel" ? mp : mp[name] = [];
27
+ target.people = target.people || [];
28
+ for (const method of methods) {
29
+ target[method] = (...args) => {
30
+ target.push([method, ...args]);
31
+ };
32
+ }
33
+ for (const method of peopleMethods) {
34
+ target.people[method] = (...args) => {
35
+ target.push([`people.${method}`, ...args]);
36
+ };
37
+ }
38
+ mp._i.push([token, config, name]);
39
+ };
40
+ }
41
+ if (options?.token) {
42
+ const optOutByDefault = options?.defaultConsent === "opt-out";
43
+ mp.init(options.token, optOutByDefault ? { opt_out_tracking_by_default: true } : void 0);
44
+ if (options?.defaultConsent === "opt-in") {
45
+ mp.opt_in_tracking?.();
46
+ }
47
+ }
48
+ }
49
+ };
50
+ }, _options);
51
+ if (import.meta.client && !instance.consent) {
52
+ instance.consent = {
53
+ optIn: () => instance.proxy.mixpanel.opt_in_tracking?.(),
54
+ optOut: () => instance.proxy.mixpanel.opt_out_tracking?.()
55
+ };
56
+ }
57
+ return instance;
58
+ }
@@ -1,9 +1,5 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const NpmOptions: import("valibot").ObjectSchema<{
3
- readonly packageName: import("valibot").StringSchema<undefined>;
4
- readonly file: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
5
- readonly version: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly provider: import("valibot").OptionalSchema<import("valibot").UnionSchema<import("valibot").LiteralSchema<"jsdelivr" | "cdnjs" | "unpkg", undefined>[], undefined>, undefined>;
7
- }, undefined>;
8
- export type NpmInput = RegistryScriptInput<typeof NpmOptions, true, true, false>;
2
+ import { NpmOptions } from './schemas.js';
3
+ export { NpmOptions };
4
+ export type NpmInput = RegistryScriptInput<typeof NpmOptions, true, true>;
9
5
  export declare function useScriptNpm<T extends Record<string | symbol, any>>(_options: NpmInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,14 +1,7 @@
1
1
  import { withBase } from "ufo";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { object, optional, string, union, literal } from "#nuxt-scripts-validator";
4
- const PROVIDERS = ["jsdelivr", "cdnjs", "unpkg"];
5
- const providerValidator = union(PROVIDERS.map((provider) => literal(provider)));
6
- export const NpmOptions = object({
7
- packageName: string(),
8
- file: optional(string()),
9
- version: optional(string()),
10
- provider: optional(providerValidator)
11
- });
3
+ import { NpmOptions } from "./schemas.js";
4
+ export { NpmOptions };
12
5
  export function useScriptNpm(_options) {
13
6
  return useRegistryScript(`${_options.packageName}-npm`, (options) => {
14
7
  const baseUrl = getProviderBaseUrl(options.provider, options.packageName, options.version);
@@ -1,34 +1,13 @@
1
- import type { PayPalNamespace } from '@paypal/paypal-js';
2
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import type { PayPalV6Namespace } from '@paypal/paypal-js/sdk-v6';
3
+ import { PayPalOptions } from './schemas.js';
4
+ export { PayPalOptions };
3
5
  export interface PayPalApi {
4
- paypal: PayPalNamespace;
6
+ paypal: PayPalV6Namespace;
5
7
  }
6
8
  declare global {
7
9
  interface Window extends PayPalApi {
8
10
  }
9
11
  }
10
- export declare const PayPalOptions: import("valibot").ObjectSchema<{
11
- readonly clientId: import("valibot").StringSchema<undefined>;
12
- readonly buyerCountry: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
13
- readonly commit: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
14
- readonly components: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
15
- readonly currency: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
16
- readonly debug: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>], undefined>, undefined>;
17
- readonly disableFunding: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
18
- readonly enableFunding: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
19
- readonly integrationDate: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
20
- readonly intent: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
21
- readonly locale: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
22
- /**
23
- * loadScript() supports an array for merchantId, even though
24
- * merchant-id technically may not contain multiple values.
25
- * For an array with a length of > 1 it automatically sets
26
- * merchantId to "*" and moves the actual values to dataMerchantId
27
- */
28
- readonly merchantId: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
29
- readonly partnerAttributionId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
30
- readonly vault: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>], undefined>, undefined>;
31
- readonly sandbox: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
32
- }, undefined>;
33
12
  export type PayPalInput = RegistryScriptInput<typeof PayPalOptions>;
34
13
  export declare function useScriptPayPal<T extends PayPalApi>(_options?: PayPalInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,79 +1,16 @@
1
- import { withQuery } from "ufo";
2
1
  import { useRegistryScript } from "../utils.js";
3
- import { object, string, optional, array, union, boolean } from "#nuxt-scripts-validator";
4
- export const PayPalOptions = object({
5
- clientId: string(),
6
- buyerCountry: optional(string()),
7
- commit: optional(string()),
8
- components: optional(union([string(), array(string())])),
9
- currency: optional(string()),
10
- debug: optional(union([string(), boolean()])),
11
- disableFunding: optional(union([string(), array(string())])),
12
- enableFunding: optional(union([string(), array(string())])),
13
- integrationDate: optional(string()),
14
- intent: optional(string()),
15
- locale: optional(string()),
16
- /**
17
- * loadScript() supports an array for merchantId, even though
18
- * merchant-id technically may not contain multiple values.
19
- * For an array with a length of > 1 it automatically sets
20
- * merchantId to "*" and moves the actual values to dataMerchantId
21
- */
22
- merchantId: optional(union([string(), array(string())])),
23
- partnerAttributionId: optional(string()),
24
- vault: optional(union([string(), boolean()])),
25
- // own props
26
- sandbox: optional(boolean())
27
- });
2
+ import { PayPalOptions } from "./schemas.js";
3
+ export { PayPalOptions };
28
4
  export function useScriptPayPal(_options) {
29
5
  return useRegistryScript("paypal", (options) => {
30
- let dataMerchantId = void 0;
31
- if (Array.isArray(options?.merchantId) && options?.merchantId.length > 1) {
32
- dataMerchantId = JSON.stringify(options.merchantId);
33
- options.merchantId = "*";
34
- }
35
- if (Array.isArray(options?.components)) {
36
- options.components = options.components.join(",");
37
- }
38
- if (Array.isArray(options?.disableFunding)) {
39
- options.disableFunding = options.disableFunding.join(",");
40
- }
41
- if (Array.isArray(options?.enableFunding)) {
42
- options.enableFunding = options.enableFunding.join(",");
43
- }
44
6
  if (options?.sandbox === void 0) {
45
7
  options.sandbox = import.meta.dev;
46
8
  }
47
- let components = ["buttons", "messages", "marks", "card-fields", "funding-eligibility"].join(",");
48
- if (options.components) {
49
- if (Array.isArray(options.components)) {
50
- components = options.components.join(",");
51
- } else {
52
- components = options.components;
53
- }
54
- }
55
9
  return {
56
10
  scriptInput: {
57
- "src": withQuery(options.sandbox ? "https://www.sandbox.paypal.com/sdk/js" : "https://www.paypal.com/sdk/js", {
58
- "client-id": options.clientId,
59
- "buyer-country": options.buyerCountry,
60
- "commit": options.commit,
61
- "components": components,
62
- "currency": options.currency,
63
- "debug": options.debug,
64
- "disable-funding": options.disableFunding,
65
- "enable-funding": options.enableFunding,
66
- "integration-date": options.integrationDate,
67
- "intent": options.intent,
68
- "locale": options.locale,
69
- "vault": options.vault
70
- }),
71
- "data-merchant-id": dataMerchantId,
72
- "data-partner-attribution-id": options.partnerAttributionId
73
- // TODO: maybe nuxt specific default
11
+ src: options.sandbox ? "https://www.sandbox.paypal.com/web-sdk/v6/core" : "https://www.paypal.com/web-sdk/v6/core"
74
12
  },
75
13
  schema: import.meta.dev ? PayPalOptions : void 0,
76
- // trigger: 'client',
77
14
  scriptOptions: {
78
15
  use() {
79
16
  return {
@@ -1,6 +1,6 @@
1
- import { useRegistryScript } from "../utils.js";
2
- import { any, array, boolean, literal, object, optional, record, string, union } from "#nuxt-scripts-validator";
1
+ import { any, array, boolean, literal, object, optional, record, string, union } from "valibot";
3
2
  import { logger } from "../logger.js";
3
+ import { useRegistryScript } from "../utils.js";
4
4
  const extensions = [
5
5
  literal("hash"),
6
6
  literal("outbound-links"),
@@ -55,18 +55,23 @@ export function useScriptPlausibleAnalytics(_options) {
55
55
  scriptSrc = "https://plausible.io/js/script.js";
56
56
  }
57
57
  const initOptions = {};
58
- if (options?.customProperties) initOptions.customProperties = options.customProperties;
59
- if (options?.endpoint) initOptions.endpoint = options.endpoint;
60
- if (options?.fileDownloads) initOptions.fileDownloads = options.fileDownloads;
61
- if (options?.hashBasedRouting !== void 0) initOptions.hashBasedRouting = options.hashBasedRouting;
62
- if (options?.autoCapturePageviews !== void 0) initOptions.autoCapturePageviews = options.autoCapturePageviews;
63
- if (options?.captureOnLocalhost !== void 0) initOptions.captureOnLocalhost = options.captureOnLocalhost;
64
- const scriptInput = !useNewScript && options?.domain ? {
65
- "src": scriptSrc,
66
- "data-domain": options.domain
67
- } : {
68
- src: scriptSrc
69
- };
58
+ if (options?.customProperties)
59
+ initOptions.customProperties = options.customProperties;
60
+ if (options?.endpoint)
61
+ initOptions.endpoint = options.endpoint;
62
+ if (options?.fileDownloads)
63
+ initOptions.fileDownloads = options.fileDownloads;
64
+ if (options?.hashBasedRouting !== void 0)
65
+ initOptions.hashBasedRouting = options.hashBasedRouting;
66
+ if (options?.autoCapturePageviews !== void 0)
67
+ initOptions.autoCapturePageviews = options.autoCapturePageviews;
68
+ if (options?.captureOnLocalhost !== void 0)
69
+ initOptions.captureOnLocalhost = options.captureOnLocalhost;
70
+ const scriptInput = { src: scriptSrc };
71
+ if (!useNewScript && options?.domain)
72
+ scriptInput["data-domain"] = options.domain;
73
+ if (!useNewScript && options?.endpoint)
74
+ scriptInput["data-api"] = options.endpoint;
70
75
  return {
71
76
  scriptInput,
72
77
  schema: import.meta.dev ? PlausibleAnalyticsOptionsSchema : void 0,
@@ -1,16 +1,14 @@
1
- import type { PostHog } from 'posthog-js';
2
- import type { RegistryScriptInput } from '#nuxt-scripts/types';
3
- export declare const PostHogOptions: import("valibot").ObjectSchema<{
4
- readonly apiKey: import("valibot").StringSchema<undefined>;
5
- readonly region: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"us", undefined>, import("valibot").LiteralSchema<"eu", undefined>], undefined>, undefined>;
6
- readonly apiHost: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly autocapture: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly capturePageview: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"history_change", undefined>], undefined>, undefined>;
9
- readonly capturePageleave: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly disableSessionRecording: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- readonly config: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").AnySchema, undefined>, undefined>;
12
- }, undefined>;
13
- export type PostHogInput = RegistryScriptInput<typeof PostHogOptions, false, true>;
1
+ import type { RegistryScriptInput, UseScriptContext } from '#nuxt-scripts/types';
2
+ import type { PostHog, PostHogConfig } from 'posthog-js';
3
+ import { PostHogOptions } from './schemas.js';
4
+ export { PostHogOptions };
5
+ export type PostHogInput = Omit<RegistryScriptInput<typeof PostHogOptions, false, true>, 'config'> & {
6
+ /**
7
+ * Additional PostHog configuration options passed directly to `posthog.init()`.
8
+ * @see https://posthog.com/docs/libraries/js/config
9
+ */
10
+ config?: Partial<PostHogConfig>;
11
+ };
14
12
  export interface PostHogApi {
15
13
  posthog: PostHog;
16
14
  }
@@ -24,4 +22,10 @@ declare global {
24
22
  }[];
25
23
  }
26
24
  }
27
- export declare function useScriptPostHog<T extends PostHogApi>(_options?: PostHogInput): import("#nuxt-scripts/types").UseScriptContext<T>;
25
+ export interface PostHogConsent {
26
+ /** Call `posthog.opt_in_capturing()`. */
27
+ optIn: () => void;
28
+ /** Call `posthog.opt_out_capturing()`. For boot-time opt-out, use `defaultConsent: 'opt-out'` instead. */
29
+ optOut: () => void;
30
+ }
31
+ export declare function useScriptPostHog<T extends PostHogApi>(_options?: PostHogInput): UseScriptContext<T, PostHogConsent>;
@@ -1,18 +1,9 @@
1
- import { any, record, string, object, optional, boolean, union, literal } from "#nuxt-scripts-validator";
2
- import { useRegistryScript } from "../utils.js";
3
1
  import { logger } from "../logger.js";
4
- export const PostHogOptions = object({
5
- apiKey: string(),
6
- region: optional(union([literal("us"), literal("eu")])),
7
- apiHost: optional(string()),
8
- autocapture: optional(boolean()),
9
- capturePageview: optional(union([boolean(), literal("history_change")])),
10
- capturePageleave: optional(boolean()),
11
- disableSessionRecording: optional(boolean()),
12
- config: optional(record(string(), any()))
13
- });
2
+ import { useRegistryScript } from "../utils.js";
3
+ import { PostHogOptions } from "./schemas.js";
4
+ export { PostHogOptions };
14
5
  export function useScriptPostHog(_options) {
15
- return useRegistryScript("posthog", (options) => {
6
+ const instance = useRegistryScript("posthog", (options) => {
16
7
  return {
17
8
  scriptMode: "npm",
18
9
  // Use NPM mode - no external script tag
@@ -64,13 +55,17 @@ export function useScriptPostHog(_options) {
64
55
  config.capture_pageleave = options.capturePageleave;
65
56
  if (typeof options?.disableSessionRecording === "boolean")
66
57
  config.disable_session_recording = options.disableSessionRecording;
67
- const instance = posthog.init(options.apiKey, config);
68
- if (!instance) {
58
+ if (options?.defaultConsent === "opt-out")
59
+ config.opt_out_capturing_by_default = true;
60
+ const instance2 = posthog.init(options.apiKey, config);
61
+ if (!instance2) {
69
62
  logger.error("PostHog init returned undefined - initialization failed");
70
63
  delete window._posthogQueue;
71
64
  return void 0;
72
65
  }
73
- window.posthog = instance;
66
+ window.posthog = instance2;
67
+ if (options?.defaultConsent === "opt-in")
68
+ instance2.opt_in_capturing?.();
74
69
  if (window._posthogQueue && window._posthogQueue.length > 0) {
75
70
  window._posthogQueue.forEach((q) => window.posthog[q.prop]?.(...q.args));
76
71
  delete window._posthogQueue;
@@ -85,4 +80,11 @@ export function useScriptPostHog(_options) {
85
80
  }
86
81
  };
87
82
  }, _options);
83
+ if (import.meta.client && !instance.consent) {
84
+ instance.consent = {
85
+ optIn: () => instance.proxy.posthog?.opt_in_capturing?.(),
86
+ optOut: () => instance.proxy.posthog?.opt_out_capturing?.()
87
+ };
88
+ }
89
+ return instance;
88
90
  }
@@ -1,5 +1,7 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- type RdtFns = ((event: 'init', id: string) => void) & ((event: 'track', eventName: string) => void);
2
+ import { RedditPixelOptions } from './schemas.js';
3
+ type StandardEvents = 'PageVisit' | 'ViewContent' | 'Search' | 'AddToCart' | 'AddToWishlist' | 'Purchase' | 'Lead' | 'SignUp';
4
+ type RdtFns = ((event: 'init', id: string) => void) & ((event: 'track', eventName: StandardEvents | (string & {}), properties?: Record<string, any>) => void);
3
5
  export interface RedditPixelApi {
4
6
  rdt: RdtFns & {
5
7
  sendEvent: (rdt: RedditPixelApi['rdt'], args: unknown[]) => void;
@@ -10,9 +12,6 @@ declare global {
10
12
  interface Window extends RedditPixelApi {
11
13
  }
12
14
  }
13
- export declare const RedditPixelOptions: import("valibot").ObjectSchema<{
14
- readonly id: import("valibot").StringSchema<undefined>;
15
- }, undefined>;
16
- export type RedditPixelInput = RegistryScriptInput<typeof RedditPixelOptions, true, false, false>;
15
+ export { RedditPixelOptions };
16
+ export type RedditPixelInput = RegistryScriptInput<typeof RedditPixelOptions, true, false>;
17
17
  export declare function useScriptRedditPixel<T extends RedditPixelApi>(_options?: RedditPixelInput): import("#nuxt-scripts/types").UseScriptContext<T>;
18
- export {};