@nuxt/scripts 1.0.0-beta.15 → 1.0.0-beta.18

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 (110) 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/{C4oLgKn5.js → BW6d1nfL.js} +1 -1
  5. package/dist/client/_nuxt/{C4LyqEA2.js → C8R4dwAP.js} +1 -1
  6. package/dist/client/_nuxt/{CSWa0Nc-.js → DI7VRsfF.js} +1 -1
  7. package/dist/client/_nuxt/{CAywURt7.js → NbccNBFl.js} +13 -13
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/e9af4ec4-4502-4171-9264-54123d0ae2ea.json +1 -0
  10. package/dist/client/_nuxt/error-404.Cqp3ffuH.css +1 -0
  11. package/dist/client/_nuxt/error-500.B9hH8BAi.css +1 -0
  12. package/dist/client/index.html +1 -1
  13. package/dist/module.json +1 -1
  14. package/dist/module.mjs +75 -8
  15. package/dist/registry.mjs +22 -0
  16. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +1 -1
  17. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +1 -1
  18. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  19. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  20. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  21. package/dist/runtime/components/ScriptLoadingIndicator.d.vue.ts +1 -1
  22. package/dist/runtime/components/ScriptLoadingIndicator.vue.d.ts +1 -1
  23. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +42 -31
  24. package/dist/runtime/components/ScriptPayPalButtons.vue +43 -76
  25. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +42 -31
  26. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +36 -22
  27. package/dist/runtime/components/ScriptPayPalMessages.vue +41 -47
  28. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +36 -22
  29. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +1 -1
  30. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +1 -1
  31. package/dist/runtime/registry/clarity.d.ts +2 -7
  32. package/dist/runtime/registry/clarity.js +2 -7
  33. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  34. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  35. package/dist/runtime/registry/crisp.d.ts +2 -32
  36. package/dist/runtime/registry/crisp.js +2 -33
  37. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  38. package/dist/runtime/registry/databuddy-analytics.js +2 -45
  39. package/dist/runtime/registry/fathom-analytics.d.ts +2 -22
  40. package/dist/runtime/registry/fathom-analytics.js +2 -23
  41. package/dist/runtime/registry/google-adsense.d.ts +2 -10
  42. package/dist/runtime/registry/google-adsense.js +2 -11
  43. package/dist/runtime/registry/google-analytics.d.ts +2 -4
  44. package/dist/runtime/registry/google-analytics.js +2 -7
  45. package/dist/runtime/registry/google-maps.d.ts +2 -8
  46. package/dist/runtime/registry/google-maps.js +2 -8
  47. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  48. package/dist/runtime/registry/google-recaptcha.js +2 -10
  49. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  50. package/dist/runtime/registry/google-sign-in.js +2 -22
  51. package/dist/runtime/registry/google-tag-manager.d.ts +2 -27
  52. package/dist/runtime/registry/google-tag-manager.js +2 -25
  53. package/dist/runtime/registry/gravatar.d.ts +25 -0
  54. package/dist/runtime/registry/gravatar.js +32 -0
  55. package/dist/runtime/registry/hotjar.d.ts +2 -4
  56. package/dist/runtime/registry/hotjar.js +2 -5
  57. package/dist/runtime/registry/instagram-embed.d.ts +2 -17
  58. package/dist/runtime/registry/instagram-embed.js +2 -18
  59. package/dist/runtime/registry/intercom.d.ts +2 -10
  60. package/dist/runtime/registry/intercom.js +2 -12
  61. package/dist/runtime/registry/matomo-analytics.d.ts +2 -11
  62. package/dist/runtime/registry/matomo-analytics.js +2 -11
  63. package/dist/runtime/registry/meta-pixel.d.ts +2 -4
  64. package/dist/runtime/registry/meta-pixel.js +2 -4
  65. package/dist/runtime/registry/npm.d.ts +2 -6
  66. package/dist/runtime/registry/npm.js +2 -7
  67. package/dist/runtime/registry/paypal.d.ts +4 -25
  68. package/dist/runtime/registry/paypal.js +3 -66
  69. package/dist/runtime/registry/plausible-analytics.js +5 -6
  70. package/dist/runtime/registry/posthog.d.ts +10 -12
  71. package/dist/runtime/registry/posthog.js +2 -11
  72. package/dist/runtime/registry/reddit-pixel.d.ts +2 -4
  73. package/dist/runtime/registry/reddit-pixel.js +2 -4
  74. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  75. package/dist/runtime/registry/rybbit-analytics.js +2 -16
  76. package/dist/runtime/registry/schemas.d.ts +940 -0
  77. package/dist/runtime/registry/schemas.js +895 -0
  78. package/dist/runtime/registry/segment.d.ts +2 -5
  79. package/dist/runtime/registry/segment.js +2 -5
  80. package/dist/runtime/registry/snapchat-pixel.d.ts +2 -31
  81. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  82. package/dist/runtime/registry/stripe.d.ts +2 -3
  83. package/dist/runtime/registry/stripe.js +2 -4
  84. package/dist/runtime/registry/tiktok-pixel.d.ts +2 -5
  85. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  86. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  87. package/dist/runtime/registry/umami-analytics.js +2 -36
  88. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  89. package/dist/runtime/registry/vercel-analytics.js +84 -0
  90. package/dist/runtime/registry/x-embed.d.ts +2 -16
  91. package/dist/runtime/registry/x-embed.js +2 -17
  92. package/dist/runtime/registry/x-pixel.d.ts +2 -5
  93. package/dist/runtime/registry/x-pixel.js +2 -5
  94. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  95. package/dist/runtime/server/gravatar-proxy.js +62 -0
  96. package/dist/runtime/types.d.ts +9 -3
  97. package/dist/runtime/utils.d.ts +2 -2
  98. package/dist/runtime/utils.js +3 -2
  99. package/dist/shared/{scripts.DLRgvHQg.mjs → scripts.Bg4pl9Yo.mjs} +22 -0
  100. package/dist/stats.mjs +152 -94
  101. package/dist/types-source.d.mts +11 -367
  102. package/dist/types-source.d.ts +11 -367
  103. package/dist/types-source.mjs +225 -460
  104. package/package.json +4 -4
  105. package/dist/client/_nuxt/builds/meta/0f5f1d62-f186-4aef-a618-dcef5ec637c1.json +0 -1
  106. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  107. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  108. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  109. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -71
  110. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
@@ -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
- import { boolean, number, object, optional, string } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "../utils.js";
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 {
@@ -1,26 +1,6 @@
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>;
2
+ import { FathomAnalyticsOptions } from './schemas.js';
3
+ export { FathomAnalyticsOptions };
24
4
  export type FathomAnalyticsInput = RegistryScriptInput<typeof FathomAnalyticsOptions, false, false, false>;
25
5
  export interface FathomAnalyticsApi {
26
6
  beacon: (ctx: {
@@ -1,27 +1,6 @@
1
- import { boolean, literal, object, optional, string, union } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "../utils.js";
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: {
@@ -1,14 +1,6 @@
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>;
2
+ import { GoogleAdsenseOptions } from './schemas.js';
3
+ export { GoogleAdsenseOptions };
12
4
  export type GoogleAdsenseInput = RegistryScriptInput<typeof GoogleAdsenseOptions, true, false, false>;
13
5
  export interface GoogleAdsenseApi {
14
6
  /**
@@ -1,16 +1,7 @@
1
- import { boolean, object, optional, string } from "#nuxt-scripts-validator";
2
1
  import { useHead } from "nuxt/app";
3
2
  import { useRegistryScript } from "../utils.js";
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 {
@@ -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 { object, optional, string } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
2
  import { withQuery } from "ufo";
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
- });
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 {
@@ -21,4 +16,3 @@ declare global {
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
- import { array, literal, object, optional, string, union } from "#nuxt-scripts-validator";
2
1
  import { withQuery } from "ufo";
3
2
  import { useRegistryScript } from "../utils.js";
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 { boolean, object, optional, string } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
2
  import { withQuery } from "ufo";
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
- });
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";
@@ -1,4 +1,5 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { GoogleSignInOptions } from './schemas.js';
2
3
  export interface CredentialResponse {
3
4
  credential: string;
4
5
  select_by: 'auto' | 'user' | 'user_1tap' | 'user_2tap' | 'btn' | 'btn_confirm' | 'btn_add_session' | 'btn_confirm_add_session';
@@ -67,18 +68,6 @@ type AccountsNamespace = typeof google.accounts;
67
68
  export interface GoogleSignInApi {
68
69
  accounts: AccountsNamespace;
69
70
  }
70
- export declare const GoogleSignInOptions: import("valibot").ObjectSchema<{
71
- readonly clientId: import("valibot").StringSchema<undefined>;
72
- readonly autoSelect: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
73
- readonly context: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"signin", undefined>, import("valibot").LiteralSchema<"signup", undefined>, import("valibot").LiteralSchema<"use", undefined>], undefined>, undefined>;
74
- readonly useFedcmForPrompt: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
75
- readonly cancelOnTapOutside: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
76
- readonly uxMode: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").LiteralSchema<"popup", undefined>, import("valibot").LiteralSchema<"redirect", undefined>], undefined>, undefined>;
77
- readonly loginUri: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
78
- readonly itpSupport: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
79
- readonly allowedParentOrigin: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
80
- readonly hd: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
81
- }, undefined>;
71
+ export { GoogleSignInOptions };
82
72
  export type GoogleSignInInput = RegistryScriptInput<typeof GoogleSignInOptions>;
83
73
  export declare function useScriptGoogleSignIn<T extends GoogleSignInApi>(_options?: GoogleSignInInput): import("#nuxt-scripts/types").UseScriptContext<T>;
84
- export {};
@@ -1,26 +1,6 @@
1
- import { array, boolean, literal, object, optional, string, union } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
- export const GoogleSignInOptions = object({
4
- clientId: string(),
5
- // Auto-select credentials if only one is available
6
- autoSelect: optional(boolean()),
7
- // Context for One Tap (signin, signup, or use)
8
- context: optional(union([literal("signin"), literal("signup"), literal("use")])),
9
- // FedCM API support (Privacy Sandbox) - mandatory from August 2025
10
- useFedcmForPrompt: optional(boolean()),
11
- // Cancel One Tap if user clicks outside
12
- cancelOnTapOutside: optional(boolean()),
13
- // UX mode: popup or redirect
14
- uxMode: optional(union([literal("popup"), literal("redirect")])),
15
- // Login URI for redirect flow
16
- loginUri: optional(string()),
17
- // ITP (Intelligent Tracking Prevention) support
18
- itpSupport: optional(boolean()),
19
- // Allowed parent origins for iframe embedding
20
- allowedParentOrigin: optional(union([string(), array(string())])),
21
- // Hosted domain - restrict to specific Google Workspace domain
22
- hd: optional(string())
23
- });
2
+ import { GoogleSignInOptions } from "./schemas.js";
3
+ export { GoogleSignInOptions };
24
4
  export function useScriptGoogleSignIn(_options) {
25
5
  return useRegistryScript(_options?.key || "googleSignIn", () => {
26
6
  return {
@@ -1,5 +1,6 @@
1
1
  import type { NuxtUseScriptOptions, RegistryScriptInput, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types';
2
2
  import type { GTag } from './google-analytics.js';
3
+ import { GoogleTagManagerOptions } from './schemas.js';
3
4
  /**
4
5
  * Improved DataLayer type that better reflects GTM's capabilities
5
6
  * Can contain either gtag event parameters or custom data objects
@@ -65,33 +66,7 @@ declare global {
65
66
  interface Window extends GoogleTagManagerApi {
66
67
  }
67
68
  }
68
- /**
69
- * GTM configuration options with improved documentation
70
- */
71
- export declare const GoogleTagManagerOptions: import("valibot").ObjectSchema<{
72
- /** GTM container ID (format: GTM-XXXXXX) */
73
- readonly id: import("valibot").StringSchema<undefined>;
74
- /** Optional dataLayer variable name */
75
- readonly l: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
76
- /** Authentication token for environment-specific container versions */
77
- readonly auth: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
78
- /** Preview environment name */
79
- readonly preview: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
80
- /** Forces GTM cookies to take precedence when true */
81
- readonly cookiesWin: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"x", undefined>], undefined>, undefined>;
82
- /** Enables debug mode when true */
83
- readonly debug: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"x", undefined>], undefined>, undefined>;
84
- /** No Personal Advertising - disables advertising features when true */
85
- readonly npa: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").BooleanSchema<undefined>, import("valibot").LiteralSchema<"1", undefined>], undefined>, undefined>;
86
- /** Custom dataLayer name (alternative to "l" property) */
87
- readonly dataLayer: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
88
- /** Environment name for environment-specific container */
89
- readonly envName: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
90
- /** Referrer policy for analytics requests */
91
- readonly authReferrerPolicy: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
92
- /** Default consent settings for GTM */
93
- readonly defaultConsent: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>, undefined>;
94
- }, undefined>;
69
+ export { GoogleTagManagerOptions };
95
70
  export type GoogleTagManagerInput = RegistryScriptInput<typeof GoogleTagManagerOptions>;
96
71
  /**
97
72
  * Hook to use Google Tag Manager in Nuxt applications
@@ -1,30 +1,7 @@
1
- import { boolean, literal, number, object, optional, record, string, union } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "#nuxt-scripts/utils";
3
2
  import { withQuery } from "ufo";
4
- export const GoogleTagManagerOptions = object({
5
- /** GTM container ID (format: GTM-XXXXXX) */
6
- id: string(),
7
- /** Optional dataLayer variable name */
8
- l: optional(string()),
9
- /** Authentication token for environment-specific container versions */
10
- auth: optional(string()),
11
- /** Preview environment name */
12
- preview: optional(string()),
13
- /** Forces GTM cookies to take precedence when true */
14
- cookiesWin: optional(union([boolean(), literal("x")])),
15
- /** Enables debug mode when true */
16
- debug: optional(union([boolean(), literal("x")])),
17
- /** No Personal Advertising - disables advertising features when true */
18
- npa: optional(union([boolean(), literal("1")])),
19
- /** Custom dataLayer name (alternative to "l" property) */
20
- dataLayer: optional(string()),
21
- /** Environment name for environment-specific container */
22
- envName: optional(string()),
23
- /** Referrer policy for analytics requests */
24
- authReferrerPolicy: optional(string()),
25
- /** Default consent settings for GTM */
26
- defaultConsent: optional(record(string(), union([string(), number()])))
27
- });
3
+ import { GoogleTagManagerOptions } from "./schemas.js";
4
+ export { GoogleTagManagerOptions };
28
5
  export function useScriptGoogleTagManager(options) {
29
6
  const instance = useRegistryScript(
30
7
  options?.key || "googleTagManager",
@@ -0,0 +1,25 @@
1
+ import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { GravatarOptions } from './schemas.js';
3
+ export type GravatarInput = RegistryScriptInput<typeof GravatarOptions>;
4
+ export interface GravatarApi {
5
+ /**
6
+ * Get a proxied avatar URL for a given SHA256 email hash.
7
+ * When firstParty mode is enabled, this routes through your server.
8
+ */
9
+ getAvatarUrl: (hash: string, options?: {
10
+ size?: number;
11
+ default?: string;
12
+ rating?: string;
13
+ }) => string;
14
+ /**
15
+ * Get a proxied avatar URL using the server-side hashing endpoint.
16
+ * The email is sent to YOUR server (not Gravatar) for hashing.
17
+ * Only available when the gravatar proxy is enabled.
18
+ */
19
+ getAvatarUrlFromEmail: (email: string, options?: {
20
+ size?: number;
21
+ default?: string;
22
+ rating?: string;
23
+ }) => string;
24
+ }
25
+ export declare function useScriptGravatar<T extends GravatarApi>(_options?: GravatarInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -0,0 +1,32 @@
1
+ import { useRegistryScript } from "#nuxt-scripts/utils";
2
+ import { GravatarOptions } from "./schemas.js";
3
+ export function useScriptGravatar(_options) {
4
+ return useRegistryScript(_options?.key || "gravatar", (options) => {
5
+ const size = options?.size ?? 80;
6
+ const defaultImg = options?.default ?? "mp";
7
+ const rating = options?.rating ?? "g";
8
+ const buildQuery = (overrides) => {
9
+ const params = new URLSearchParams();
10
+ params.set("s", String(overrides?.size ?? size));
11
+ params.set("d", overrides?.default ?? defaultImg);
12
+ params.set("r", overrides?.rating ?? rating);
13
+ return params.toString();
14
+ };
15
+ return {
16
+ scriptInput: {
17
+ src: "https://secure.gravatar.com/js/gprofiles.js"
18
+ },
19
+ schema: import.meta.dev ? GravatarOptions : void 0,
20
+ scriptOptions: {
21
+ use: () => ({
22
+ getAvatarUrl: (hash, overrides) => {
23
+ return `/_scripts/gravatar-proxy?hash=${encodeURIComponent(hash)}&${buildQuery(overrides)}`;
24
+ },
25
+ getAvatarUrlFromEmail: (email, overrides) => {
26
+ return `/_scripts/gravatar-proxy?email=${encodeURIComponent(email)}&${buildQuery(overrides)}`;
27
+ }
28
+ })
29
+ }
30
+ };
31
+ }, _options);
32
+ }
@@ -1,4 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { HotjarOptions } from './schemas.js';
3
+ export { HotjarOptions };
2
4
  export interface HotjarApi {
3
5
  hj: ((event: 'identify', userId: string, attributes?: Record<string, any>) => void) & ((event: 'stateChange', path: string) => void) & ((event: 'event', eventName: string) => void) & ((event: string, arg?: string) => void) & ((...params: any[]) => void) & {
4
6
  q: any[];
@@ -12,9 +14,5 @@ declare global {
12
14
  };
13
15
  }
14
16
  }
15
- export declare const HotjarOptions: import("valibot").ObjectSchema<{
16
- readonly id: import("valibot").NumberSchema<undefined>;
17
- readonly sv: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
18
- }, undefined>;
19
17
  export type HotjarInput = RegistryScriptInput<typeof HotjarOptions, true, false, false>;
20
18
  export declare function useScriptHotjar<T extends HotjarApi>(_options?: HotjarInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,9 +1,6 @@
1
- import { number, object, optional } from "#nuxt-scripts-validator";
2
1
  import { useRegistryScript } from "../utils.js";
3
- export const HotjarOptions = object({
4
- id: number(),
5
- sv: optional(number())
6
- });
2
+ import { HotjarOptions } from "./schemas.js";
3
+ export { HotjarOptions };
7
4
  export function useScriptHotjar(_options) {
8
5
  return useRegistryScript("hotjar", (options) => ({
9
6
  scriptInput: {
@@ -1,21 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const InstagramEmbedOptions: import("valibot").ObjectSchema<{
3
- /**
4
- * The Instagram post URL to embed
5
- * e.g., https://www.instagram.com/p/ABC123/
6
- */
7
- readonly postUrl: import("valibot").StringSchema<undefined>;
8
- /**
9
- * Whether to include captions in the embed
10
- * @default true
11
- */
12
- readonly captions: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
13
- /**
14
- * Custom API endpoint for fetching embed HTML
15
- * @default '/api/_scripts/instagram-embed'
16
- */
17
- readonly apiEndpoint: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
18
- }, undefined>;
2
+ import { InstagramEmbedOptions } from './schemas.js';
3
+ export { InstagramEmbedOptions };
19
4
  export type InstagramEmbedInput = RegistryScriptInput<typeof InstagramEmbedOptions, false, false, false>;
20
5
  /**
21
6
  * Extract the post shortcode from an Instagram URL
@@ -1,21 +1,5 @@
1
- import { boolean, object, optional, string } from "#nuxt-scripts-validator";
2
- export const InstagramEmbedOptions = object({
3
- /**
4
- * The Instagram post URL to embed
5
- * e.g., https://www.instagram.com/p/ABC123/
6
- */
7
- postUrl: string(),
8
- /**
9
- * Whether to include captions in the embed
10
- * @default true
11
- */
12
- captions: optional(boolean()),
13
- /**
14
- * Custom API endpoint for fetching embed HTML
15
- * @default '/api/_scripts/instagram-embed'
16
- */
17
- apiEndpoint: optional(string())
18
- });
1
+ import { InstagramEmbedOptions } from "./schemas.js";
2
+ export { InstagramEmbedOptions };
19
3
  export function extractInstagramShortcode(url) {
20
4
  const match = url.match(/instagram\.com\/(?:p|reel|tv)\/([^/?]+)/);
21
5
  return match?.[1];
@@ -1,15 +1,7 @@
1
1
  import type { InferInput } from '#nuxt-scripts-validator';
2
2
  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>;
3
+ import { IntercomOptions } from './schemas.js';
4
+ export { IntercomOptions };
13
5
  export type IntercomInput = RegistryScriptInput<typeof IntercomOptions, true, false, false>;
14
6
  export interface IntercomApi {
15
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);
@@ -1,17 +1,7 @@
1
- import { literal, number, object, optional, string, union } from "#nuxt-scripts-validator";
2
1
  import { joinURL } from "ufo";
3
2
  import { useRegistryScript } from "../utils.js";
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: {