@nuxt/scripts 1.0.0-beta.3 → 1.0.0-beta.31

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 (217) hide show
  1. package/README.md +3 -3
  2. package/dist/client/200.html +1 -1
  3. package/dist/client/404.html +1 -1
  4. package/dist/client/_nuxt/{DdVDSbUA.js → 6CwTUC2b.js} +1 -1
  5. package/dist/client/_nuxt/{CD5B-xvT.js → B71AlSZ1.js} +1 -1
  6. package/dist/client/_nuxt/{Ds2G8aQM.js → BYGJV5dd.js} +1 -1
  7. package/dist/client/_nuxt/V4W-T8W6.js +162 -0
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/70b59a3e-a025-4a77-a25a-dfadf5b1749d.json +1 -0
  10. package/dist/client/_nuxt/entry.C5SUNdim.css +1 -0
  11. package/dist/client/_nuxt/error-404.1K8v8Su2.css +1 -0
  12. package/dist/client/_nuxt/error-500.B9qvKpQm.css +1 -0
  13. package/dist/client/index.html +1 -1
  14. package/dist/module.d.mts +6 -18
  15. package/dist/module.d.ts +164 -0
  16. package/dist/module.json +1 -1
  17. package/dist/module.mjs +908 -645
  18. package/dist/registry.d.ts +6 -0
  19. package/dist/registry.mjs +244 -78
  20. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +16 -9
  21. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +57 -30
  22. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +16 -9
  23. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +22 -39
  24. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +69 -72
  25. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +22 -39
  26. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  27. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +25 -38
  28. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  29. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  30. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +61 -0
  31. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  32. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  33. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  34. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  35. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +9 -5
  36. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +62 -53
  37. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +9 -5
  38. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +26 -11
  39. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +48 -45
  40. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +26 -11
  41. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +15 -4
  42. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +47 -37
  43. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +15 -4
  44. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +77 -0
  45. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +209 -0
  46. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +77 -0
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +4 -0
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +23 -32
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +4 -0
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +24 -38
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +25 -38
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  59. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  60. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  61. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +13 -0
  62. package/dist/runtime/components/GoogleMaps/injectionKeys.js +3 -0
  63. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +26 -0
  64. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +42 -0
  65. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +87 -0
  66. package/dist/runtime/components/ScriptBlueskyEmbed.vue +85 -0
  67. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +87 -0
  68. package/dist/runtime/components/ScriptCrisp.vue +1 -1
  69. package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
  70. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  71. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  72. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  73. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +2 -2
  74. package/dist/runtime/components/ScriptInstagramEmbed.vue +5 -2
  75. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +2 -2
  76. package/dist/runtime/components/ScriptIntercom.vue +4 -3
  77. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
  78. package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
  79. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
  80. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
  81. package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
  82. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
  83. package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
  84. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
  85. package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
  86. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
  87. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +2 -2
  88. package/dist/runtime/components/ScriptXEmbed.vue +6 -3
  89. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +2 -2
  90. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
  91. package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
  92. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
  93. package/dist/runtime/composables/useScript.js +13 -6
  94. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  95. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  96. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  97. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  98. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  99. package/dist/runtime/registry/bing-uet.d.ts +20 -0
  100. package/dist/runtime/registry/bing-uet.js +29 -0
  101. package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
  102. package/dist/runtime/registry/bluesky-embed.js +72 -0
  103. package/dist/runtime/registry/clarity.d.ts +10 -15
  104. package/dist/runtime/registry/clarity.js +22 -31
  105. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  106. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  107. package/dist/runtime/registry/crisp.d.ts +10 -40
  108. package/dist/runtime/registry/crisp.js +2 -33
  109. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  110. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  111. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  112. package/dist/runtime/registry/fathom-analytics.js +2 -24
  113. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  114. package/dist/runtime/registry/google-adsense.js +2 -11
  115. package/dist/runtime/registry/google-analytics.d.ts +3 -5
  116. package/dist/runtime/registry/google-analytics.js +3 -8
  117. package/dist/runtime/registry/google-maps.d.ts +3 -9
  118. package/dist/runtime/registry/google-maps.js +2 -8
  119. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  120. package/dist/runtime/registry/google-recaptcha.js +4 -12
  121. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  122. package/dist/runtime/registry/google-sign-in.js +2 -22
  123. package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
  124. package/dist/runtime/registry/google-tag-manager.js +4 -27
  125. package/dist/runtime/registry/gravatar.d.ts +26 -0
  126. package/dist/runtime/registry/gravatar.js +33 -0
  127. package/dist/runtime/registry/hotjar.d.ts +4 -6
  128. package/dist/runtime/registry/hotjar.js +2 -5
  129. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  130. package/dist/runtime/registry/instagram-embed.js +4 -19
  131. package/dist/runtime/registry/intercom.d.ts +4 -12
  132. package/dist/runtime/registry/intercom.js +2 -12
  133. package/dist/runtime/registry/matomo-analytics.d.ts +3 -12
  134. package/dist/runtime/registry/matomo-analytics.js +3 -12
  135. package/dist/runtime/registry/meta-pixel.d.ts +4 -6
  136. package/dist/runtime/registry/meta-pixel.js +2 -4
  137. package/dist/runtime/registry/mixpanel-analytics.d.ts +22 -0
  138. package/dist/runtime/registry/mixpanel-analytics.js +46 -0
  139. package/dist/runtime/registry/npm.d.ts +3 -7
  140. package/dist/runtime/registry/npm.js +2 -9
  141. package/dist/runtime/registry/paypal.d.ts +4 -25
  142. package/dist/runtime/registry/paypal.js +3 -66
  143. package/dist/runtime/registry/plausible-analytics.js +18 -13
  144. package/dist/runtime/registry/posthog.d.ts +10 -12
  145. package/dist/runtime/registry/posthog.js +7 -14
  146. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  147. package/dist/runtime/registry/reddit-pixel.js +2 -4
  148. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  149. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  150. package/dist/runtime/registry/schemas.d.ts +982 -0
  151. package/dist/runtime/registry/schemas.js +937 -0
  152. package/dist/runtime/registry/segment.d.ts +2 -5
  153. package/dist/runtime/registry/segment.js +2 -5
  154. package/dist/runtime/registry/snapchat-pixel.d.ts +4 -33
  155. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  156. package/dist/runtime/registry/stripe.d.ts +3 -4
  157. package/dist/runtime/registry/stripe.js +2 -4
  158. package/dist/runtime/registry/tiktok-pixel.d.ts +4 -7
  159. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  160. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  161. package/dist/runtime/registry/umami-analytics.js +2 -36
  162. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  163. package/dist/runtime/registry/vercel-analytics.js +84 -0
  164. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  165. package/dist/runtime/registry/vimeo-player.js +1 -1
  166. package/dist/runtime/registry/x-embed.d.ts +3 -17
  167. package/dist/runtime/registry/x-embed.js +3 -18
  168. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  169. package/dist/runtime/registry/x-pixel.js +2 -5
  170. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  171. package/dist/runtime/registry/youtube-player.js +1 -1
  172. package/dist/runtime/server/{sw-handler.d.ts → bluesky-embed-image.d.ts} +1 -1
  173. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  174. package/dist/runtime/server/bluesky-embed.d.ts +16 -0
  175. package/dist/runtime/server/bluesky-embed.js +59 -0
  176. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  177. package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
  178. package/dist/runtime/server/google-static-maps-proxy.js +2 -13
  179. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  180. package/dist/runtime/server/gravatar-proxy.js +46 -0
  181. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  182. package/dist/runtime/server/instagram-embed-image.js +6 -53
  183. package/dist/runtime/server/instagram-embed.d.ts +16 -0
  184. package/dist/runtime/server/instagram-embed.js +173 -35
  185. package/dist/runtime/server/proxy-handler.js +144 -113
  186. package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
  187. package/dist/runtime/server/utils/image-proxy.js +70 -0
  188. package/dist/runtime/server/utils/privacy.d.ts +1 -2
  189. package/dist/runtime/server/utils/privacy.js +54 -34
  190. package/dist/runtime/server/x-embed-image.js +5 -49
  191. package/dist/runtime/server/x-embed.js +3 -2
  192. package/dist/runtime/types.d.ts +74 -40
  193. package/dist/runtime/utils/pure.d.ts +1 -5
  194. package/dist/runtime/utils/pure.js +0 -67
  195. package/dist/runtime/utils.d.ts +4 -3
  196. package/dist/runtime/utils.js +24 -10
  197. package/dist/shared/scripts.D7e2ENu6.mjs +211 -0
  198. package/dist/stats.d.mts +202 -0
  199. package/dist/stats.d.ts +202 -0
  200. package/dist/stats.mjs +3860 -0
  201. package/dist/types-source.d.mts +17 -0
  202. package/dist/types-source.d.ts +17 -0
  203. package/dist/types-source.mjs +3614 -0
  204. package/package.json +52 -38
  205. package/dist/client/_nuxt/D-kOnTuH.js +0 -162
  206. package/dist/client/_nuxt/builds/meta/f1474569-6922-450d-bc3f-4fd5f3e1391a.json +0 -1
  207. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  208. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  209. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  210. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  211. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  212. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  213. package/dist/runtime/plugins/sw-register.client.d.ts +0 -2
  214. package/dist/runtime/plugins/sw-register.client.js +0 -12
  215. package/dist/runtime/server/sw-handler.js +0 -25
  216. package/dist/runtime/sw/proxy-sw.template.d.ts +0 -1
  217. package/dist/runtime/sw/proxy-sw.template.js +0 -54
@@ -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 {
@@ -1,32 +1,10 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { boolean, literal, object, optional, string, union } from "#nuxt-scripts-validator";
3
- export const FathomAnalyticsOptions = object({
4
- /**
5
- * The Fathom Analytics site ID.
6
- */
7
- site: string(),
8
- /**
9
- * The Fathom Analytics tracking mode.
10
- */
11
- spa: optional(union([literal("auto"), literal("history"), literal("hash")])),
12
- /**
13
- * Automatically track page views.
14
- */
15
- auto: optional(boolean()),
16
- /**
17
- * Enable canonical URL tracking.
18
- */
19
- canonical: optional(boolean()),
20
- /**
21
- * Honor Do Not Track requests.
22
- */
23
- honorDnt: optional(boolean())
24
- });
2
+ import { FathomAnalyticsOptions } from "./schemas.js";
3
+ export { FathomAnalyticsOptions };
25
4
  export function useScriptFathomAnalytics(_options) {
26
5
  return useRegistryScript("fathomAnalytics", (options) => ({
27
6
  scriptInput: {
28
7
  src: "https://cdn.usefathom.com/script.js",
29
- // can't be bundled
30
8
  // append the data attr's
31
9
  ...Object.entries(options).filter(([key]) => ["site", "spa", "auto", "canonical", "honorDnt"].includes(key)).reduce((acc, [_key, value]) => {
32
10
  const key = _key === "honourDnt" ? "honor-dnt" : _key;
@@ -1,15 +1,7 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const GoogleAdsenseOptions: import("valibot").ObjectSchema<{
3
- /**
4
- * The Google Adsense ID.
5
- */
6
- readonly client: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- /**
8
- * Enable or disable Auto Ads.
9
- */
10
- readonly autoAds: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- }, undefined>;
12
- export type GoogleAdsenseInput = RegistryScriptInput<typeof GoogleAdsenseOptions, true, false, false>;
2
+ import { GoogleAdsenseOptions } from './schemas.js';
3
+ export { GoogleAdsenseOptions };
4
+ export type GoogleAdsenseInput = RegistryScriptInput<typeof GoogleAdsenseOptions, true, false>;
13
5
  export interface GoogleAdsenseApi {
14
6
  /**
15
7
  * The Google Adsense API.
@@ -1,16 +1,7 @@
1
1
  import { useHead } from "nuxt/app";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { object, string, optional, boolean } from "#nuxt-scripts-validator";
4
- export const GoogleAdsenseOptions = object({
5
- /**
6
- * The Google Adsense ID.
7
- */
8
- client: optional(string()),
9
- /**
10
- * Enable or disable Auto Ads.
11
- */
12
- autoAds: optional(boolean())
13
- });
3
+ import { GoogleAdsenseOptions } from "./schemas.js";
4
+ export { GoogleAdsenseOptions };
14
5
  export function useScriptGoogleAdsense(_options) {
15
6
  return useRegistryScript("googleAdsense", (options) => ({
16
7
  scriptInput: {
@@ -1,4 +1,5 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { GoogleAnalyticsOptions } from './schemas.js';
2
3
  export type GtagCustomParams = Record<string, any>;
3
4
  export type ConsentStatus = 'granted' | 'denied';
4
5
  export interface ConsentOptions {
@@ -37,7 +38,7 @@ export interface EventParameters extends GtagCustomParams {
37
38
  }>;
38
39
  [key: string]: any;
39
40
  }
40
- export type DefaultEventName = 'add_payment_info' | 'add_shipping_info' | 'add_to_cart' | 'add_to_wishlist' | 'begin_checkout' | 'purchase' | 'refund' | 'remove_from_cart' | 'select_item' | 'select_promotion' | 'view_cart' | 'view_item' | 'view_item_list' | 'view_promotion' | 'login' | 'sign_up' | 'search' | 'page_view' | 'screen_view' | string;
41
+ export type DefaultEventName = 'add_payment_info' | 'add_shipping_info' | 'add_to_cart' | 'add_to_wishlist' | 'begin_checkout' | 'purchase' | 'refund' | 'remove_from_cart' | 'select_item' | 'select_promotion' | 'view_cart' | 'view_item' | 'view_item_list' | 'view_promotion' | 'login' | 'sign_up' | 'search' | 'page_view' | 'screen_view' | (string & {});
41
42
  export interface GTag {
42
43
  (command: 'js', value: Date): void;
43
44
  (command: 'config', targetId: string, configParams?: ConfigParams): void;
@@ -55,10 +56,7 @@ export interface GoogleAnalyticsApi {
55
56
  gtag: GTag;
56
57
  dataLayer: DataLayer;
57
58
  }
58
- export declare const GoogleAnalyticsOptions: import("valibot").ObjectSchema<{
59
- readonly id: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
60
- readonly l: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
61
- }, undefined>;
59
+ export { GoogleAnalyticsOptions };
62
60
  export type GoogleAnalyticsInput = RegistryScriptInput<typeof GoogleAnalyticsOptions>;
63
61
  export declare function useScriptGoogleAnalytics<T extends GoogleAnalyticsApi>(_options?: GoogleAnalyticsInput & {
64
62
  onBeforeGtagStart?: (gtag: GTag) => void;
@@ -1,12 +1,7 @@
1
- import { withQuery } from "ufo";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
- import { object, string, optional } from "#nuxt-scripts-validator";
4
- export const GoogleAnalyticsOptions = object({
5
- id: optional(string()),
6
- // The GA4 measurement ID (format: G-XXXXXXXX)
7
- l: optional(string())
8
- // Optional global name for dataLayer (defaults to 'dataLayer')
9
- });
2
+ import { withQuery } from "ufo";
3
+ import { GoogleAnalyticsOptions } from "./schemas.js";
4
+ export { GoogleAnalyticsOptions };
10
5
  export function useScriptGoogleAnalytics(_options) {
11
6
  return useRegistryScript(_options?.key || "googleAnalytics", (options) => {
12
7
  const dataLayerName = options?.l ?? "dataLayer";
@@ -1,11 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const GoogleMapsOptions: import("valibot").ObjectSchema<{
3
- readonly apiKey: import("valibot").StringSchema<undefined>;
4
- readonly libraries: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
5
- readonly language: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly region: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly v: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"weekly", undefined>, import("valibot").LiteralSchema<"quarterly", undefined>, import("valibot").LiteralSchema<"beta", undefined>, import("valibot").LiteralSchema<"alpha", undefined>, import("valibot").StringSchema<undefined>], undefined>, undefined>;
8
- }, undefined>;
2
+ import { GoogleMapsOptions } from './schemas.js';
3
+ export { GoogleMapsOptions };
9
4
  export type GoogleMapsInput = RegistryScriptInput<typeof GoogleMapsOptions>;
10
5
  type MapsNamespace = typeof window.google.maps;
11
6
  export interface GoogleMapsApi {
@@ -15,10 +10,9 @@ declare global {
15
10
  interface Window {
16
11
  google: {
17
12
  maps: {
18
- __ib__(): void;
13
+ __ib__: () => void;
19
14
  };
20
15
  };
21
16
  }
22
17
  }
23
18
  export declare function useScriptGoogleMaps<T extends GoogleMapsApi>(_options?: GoogleMapsInput): import("#nuxt-scripts/types").UseScriptContext<T>;
24
- export {};
@@ -1,13 +1,7 @@
1
1
  import { withQuery } from "ufo";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { array, literal, object, optional, string, union } from "#nuxt-scripts-validator";
4
- export const GoogleMapsOptions = object({
5
- apiKey: string(),
6
- libraries: optional(array(string())),
7
- language: optional(string()),
8
- region: optional(string()),
9
- v: optional(union([literal("weekly"), literal("quarterly"), literal("beta"), literal("alpha"), string()]))
10
- });
3
+ import { GoogleMapsOptions } from "./schemas.js";
4
+ export { GoogleMapsOptions };
11
5
  export function useScriptGoogleMaps(_options) {
12
6
  let readyPromise = Promise.resolve();
13
7
  return useRegistryScript("googleMaps", (options) => {
@@ -1,10 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const GoogleRecaptchaOptions: import("valibot").ObjectSchema<{
3
- readonly siteKey: import("valibot").StringSchema<undefined>;
4
- readonly enterprise: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
5
- readonly recaptchaNet: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
6
- readonly hl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- }, undefined>;
2
+ import { GoogleRecaptchaOptions } from './schemas.js';
3
+ export { GoogleRecaptchaOptions };
8
4
  export type GoogleRecaptchaInput = RegistryScriptInput<typeof GoogleRecaptchaOptions>;
9
5
  export interface GoogleRecaptchaApi {
10
6
  grecaptcha: {
@@ -1,15 +1,7 @@
1
- import { withQuery } from "ufo";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
- import { object, string, optional, boolean } from "#nuxt-scripts-validator";
4
- export const GoogleRecaptchaOptions = object({
5
- siteKey: string(),
6
- // Use enterprise.js instead of api.js
7
- enterprise: optional(boolean()),
8
- // Use recaptcha.net (works in China)
9
- recaptchaNet: optional(boolean()),
10
- // Language code
11
- hl: optional(string())
12
- });
2
+ import { withQuery } from "ufo";
3
+ import { GoogleRecaptchaOptions } from "./schemas.js";
4
+ export { GoogleRecaptchaOptions };
13
5
  export function useScriptGoogleRecaptcha(_options) {
14
6
  return useRegistryScript(_options?.key || "googleRecaptcha", (options) => {
15
7
  const baseUrl = options?.recaptchaNet ? "https://www.recaptcha.net/recaptcha" : "https://www.google.com/recaptcha";
@@ -32,7 +24,7 @@ export function useScriptGoogleRecaptcha(_options) {
32
24
  const w = window;
33
25
  w.grecaptcha = w.grecaptcha || {};
34
26
  const readyFn = function(cb) {
35
- (w.___grecaptcha_cfg = w.___grecaptcha_cfg || {}).fns = (w.___grecaptcha_cfg.fns || []).concat([cb]);
27
+ (w.___grecaptcha_cfg = w.___grecaptcha_cfg || {}).fns = [...w.___grecaptcha_cfg.fns || [], ...[cb]];
36
28
  };
37
29
  w.grecaptcha.ready = w.grecaptcha.ready || readyFn;
38
30
  if (options?.enterprise) {