@nuxt/scripts 1.0.0-beta.2 → 1.0.0-beta.20

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 (165) 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/{B66N9HCo.js → 9LJPrOyI.js} +1 -1
  5. package/dist/client/_nuxt/DFEfk2pB.js +162 -0
  6. package/dist/client/_nuxt/{DvH517bE.js → DMlY-BNa.js} +1 -1
  7. package/dist/client/_nuxt/{DfLgoB--.js → __ZZTkMj.js} +1 -1
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/8212d4fa-7985-421b-815a-03a886e667d4.json +1 -0
  10. package/dist/client/_nuxt/entry.CACgbLJl.css +1 -0
  11. package/dist/client/_nuxt/error-404.CHeaW3dp.css +1 -0
  12. package/dist/client/_nuxt/error-500.DvOvWme_.css +1 -0
  13. package/dist/client/index.html +1 -1
  14. package/dist/module.d.mts +27 -18
  15. package/dist/module.d.ts +178 -0
  16. package/dist/module.json +1 -1
  17. package/dist/module.mjs +747 -527
  18. package/dist/registry.d.ts +6 -0
  19. package/dist/registry.mjs +74 -21
  20. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +2 -2
  21. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +7 -7
  22. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +2 -2
  23. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +6 -6
  24. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +7 -7
  25. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +6 -6
  26. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +12 -12
  27. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +6 -6
  28. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +1 -1
  29. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +6 -6
  30. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +1 -1
  31. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +5 -5
  32. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +7 -7
  33. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +7 -7
  34. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +7 -7
  35. package/dist/runtime/components/ScriptCrisp.vue +1 -1
  36. package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
  37. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  38. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  39. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  40. package/dist/runtime/components/ScriptInstagramEmbed.vue +1 -1
  41. package/dist/runtime/components/ScriptIntercom.vue +4 -3
  42. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
  43. package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
  44. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
  45. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
  46. package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
  47. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
  48. package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
  49. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
  50. package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
  51. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
  52. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +1 -1
  53. package/dist/runtime/components/ScriptXEmbed.vue +1 -1
  54. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +1 -1
  55. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
  56. package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
  57. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
  58. package/dist/runtime/composables/useScript.js +11 -6
  59. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  60. package/dist/runtime/composables/useScriptTriggerConsent.js +1 -1
  61. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  62. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  63. package/dist/runtime/registry/clarity.d.ts +10 -15
  64. package/dist/runtime/registry/clarity.js +22 -31
  65. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  66. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  67. package/dist/runtime/registry/crisp.d.ts +9 -39
  68. package/dist/runtime/registry/crisp.js +2 -33
  69. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  70. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  71. package/dist/runtime/registry/fathom-analytics.d.ts +6 -25
  72. package/dist/runtime/registry/fathom-analytics.js +2 -24
  73. package/dist/runtime/registry/google-adsense.d.ts +2 -10
  74. package/dist/runtime/registry/google-adsense.js +2 -11
  75. package/dist/runtime/registry/google-analytics.d.ts +3 -5
  76. package/dist/runtime/registry/google-analytics.js +3 -8
  77. package/dist/runtime/registry/google-maps.d.ts +3 -9
  78. package/dist/runtime/registry/google-maps.js +2 -8
  79. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  80. package/dist/runtime/registry/google-recaptcha.js +4 -12
  81. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  82. package/dist/runtime/registry/google-sign-in.js +2 -22
  83. package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
  84. package/dist/runtime/registry/google-tag-manager.js +4 -27
  85. package/dist/runtime/registry/gravatar.d.ts +25 -0
  86. package/dist/runtime/registry/gravatar.js +32 -0
  87. package/dist/runtime/registry/hotjar.d.ts +3 -5
  88. package/dist/runtime/registry/hotjar.js +2 -5
  89. package/dist/runtime/registry/instagram-embed.d.ts +2 -17
  90. package/dist/runtime/registry/instagram-embed.js +4 -19
  91. package/dist/runtime/registry/intercom.d.ts +3 -11
  92. package/dist/runtime/registry/intercom.js +2 -12
  93. package/dist/runtime/registry/matomo-analytics.d.ts +2 -11
  94. package/dist/runtime/registry/matomo-analytics.js +3 -12
  95. package/dist/runtime/registry/meta-pixel.d.ts +3 -5
  96. package/dist/runtime/registry/meta-pixel.js +2 -4
  97. package/dist/runtime/registry/npm.d.ts +2 -6
  98. package/dist/runtime/registry/npm.js +2 -9
  99. package/dist/runtime/registry/paypal.d.ts +4 -25
  100. package/dist/runtime/registry/paypal.js +3 -66
  101. package/dist/runtime/registry/plausible-analytics.js +18 -13
  102. package/dist/runtime/registry/posthog.d.ts +10 -11
  103. package/dist/runtime/registry/posthog.js +7 -20
  104. package/dist/runtime/registry/reddit-pixel.d.ts +4 -5
  105. package/dist/runtime/registry/reddit-pixel.js +2 -4
  106. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  107. package/dist/runtime/registry/rybbit-analytics.js +7 -19
  108. package/dist/runtime/registry/schemas.d.ts +946 -0
  109. package/dist/runtime/registry/schemas.js +901 -0
  110. package/dist/runtime/registry/segment.d.ts +2 -5
  111. package/dist/runtime/registry/segment.js +2 -5
  112. package/dist/runtime/registry/snapchat-pixel.d.ts +3 -32
  113. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  114. package/dist/runtime/registry/stripe.d.ts +3 -4
  115. package/dist/runtime/registry/stripe.js +2 -4
  116. package/dist/runtime/registry/tiktok-pixel.d.ts +3 -6
  117. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  118. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  119. package/dist/runtime/registry/umami-analytics.js +2 -36
  120. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  121. package/dist/runtime/registry/vercel-analytics.js +84 -0
  122. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  123. package/dist/runtime/registry/vimeo-player.js +1 -1
  124. package/dist/runtime/registry/x-embed.d.ts +2 -16
  125. package/dist/runtime/registry/x-embed.js +2 -17
  126. package/dist/runtime/registry/x-pixel.d.ts +3 -6
  127. package/dist/runtime/registry/x-pixel.js +2 -5
  128. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  129. package/dist/runtime/registry/youtube-player.js +1 -1
  130. package/dist/runtime/server/google-static-maps-proxy.js +1 -1
  131. package/dist/runtime/server/{sw-handler.d.ts → gravatar-proxy.d.ts} +1 -1
  132. package/dist/runtime/server/gravatar-proxy.js +62 -0
  133. package/dist/runtime/server/instagram-embed-asset.js +2 -1
  134. package/dist/runtime/server/instagram-embed-image.js +2 -1
  135. package/dist/runtime/server/instagram-embed.js +22 -13
  136. package/dist/runtime/server/proxy-handler.js +161 -117
  137. package/dist/runtime/server/utils/privacy.d.ts +45 -1
  138. package/dist/runtime/server/utils/privacy.js +103 -40
  139. package/dist/runtime/server/x-embed.js +3 -2
  140. package/dist/runtime/types.d.ts +30 -24
  141. package/dist/runtime/utils/pure.d.ts +0 -4
  142. package/dist/runtime/utils/pure.js +0 -67
  143. package/dist/runtime/utils.d.ts +3 -3
  144. package/dist/runtime/utils.js +12 -7
  145. package/dist/shared/scripts.Crpn87WB.mjs +318 -0
  146. package/dist/stats.d.mts +39 -0
  147. package/dist/stats.d.ts +39 -0
  148. package/dist/stats.mjs +772 -0
  149. package/dist/types-source.d.mts +19 -0
  150. package/dist/types-source.d.ts +19 -0
  151. package/dist/types-source.mjs +975 -0
  152. package/package.json +42 -31
  153. package/dist/client/_nuxt/B8XOar-X.js +0 -162
  154. package/dist/client/_nuxt/builds/meta/133a46c5-a5c1-4a63-87d1-037947a5bcdb.json +0 -1
  155. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  156. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  157. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  158. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  159. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  160. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  161. package/dist/runtime/plugins/sw-register.client.d.ts +0 -2
  162. package/dist/runtime/plugins/sw-register.client.js +0 -12
  163. package/dist/runtime/server/sw-handler.js +0 -25
  164. package/dist/runtime/sw/proxy-sw.template.d.ts +0 -1
  165. package/dist/runtime/sw/proxy-sw.template.js +0 -54
@@ -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
1
  import { any, array, boolean, literal, object, optional, record, string, union } from "#nuxt-scripts-validator";
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,15 +1,14 @@
1
- import type { PostHog } from 'posthog-js';
2
1
  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 autocapture: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
7
- readonly capturePageview: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly capturePageleave: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly disableSessionRecording: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly config: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").AnySchema, undefined>, undefined>;
11
- }, undefined>;
12
- export type PostHogInput = RegistryScriptInput<typeof PostHogOptions, false, true>;
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
+ };
13
12
  export interface PostHogApi {
14
13
  posthog: PostHog;
15
14
  }
@@ -1,15 +1,7 @@
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
- autocapture: optional(boolean()),
8
- capturePageview: optional(boolean()),
9
- capturePageleave: optional(boolean()),
10
- disableSessionRecording: optional(boolean()),
11
- config: optional(record(string(), any()))
12
- });
2
+ import { useRegistryScript } from "../utils.js";
3
+ import { PostHogOptions } from "./schemas.js";
4
+ export { PostHogOptions };
13
5
  export function useScriptPostHog(_options) {
14
6
  return useRegistryScript("posthog", (options) => {
15
7
  return {
@@ -47,41 +39,36 @@ export function useScriptPostHog(_options) {
47
39
  return;
48
40
  }
49
41
  const region = options?.region || "us";
50
- const apiHost = region === "eu" ? "https://eu.i.posthog.com" : "https://us.i.posthog.com";
51
- console.log("[PostHog] Starting dynamic import of posthog-js...");
42
+ let apiHost = options?.apiHost || (region === "eu" ? "https://eu.i.posthog.com" : "https://us.i.posthog.com");
43
+ if (apiHost.startsWith("/"))
44
+ apiHost = window.location.origin + apiHost;
52
45
  window.__posthogInitPromise = import("posthog-js").then(({ default: posthog }) => {
53
- console.log("[PostHog] posthog-js imported successfully");
54
46
  const config = {
55
47
  api_host: apiHost,
56
48
  ...options?.config
57
49
  };
58
50
  if (typeof options?.autocapture === "boolean")
59
51
  config.autocapture = options.autocapture;
60
- if (typeof options?.capturePageview === "boolean")
52
+ if (typeof options?.capturePageview === "boolean" || options?.capturePageview === "history_change")
61
53
  config.capture_pageview = options.capturePageview;
62
54
  if (typeof options?.capturePageleave === "boolean")
63
55
  config.capture_pageleave = options.capturePageleave;
64
56
  if (typeof options?.disableSessionRecording === "boolean")
65
57
  config.disable_session_recording = options.disableSessionRecording;
66
- console.log("[PostHog] Calling posthog.init with apiKey:", options.apiKey, "config:", config);
67
58
  const instance = posthog.init(options.apiKey, config);
68
59
  if (!instance) {
69
60
  logger.error("PostHog init returned undefined - initialization failed");
70
61
  delete window._posthogQueue;
71
62
  return void 0;
72
63
  }
73
- console.log("[PostHog] posthog.init succeeded, instance:", instance);
74
64
  window.posthog = instance;
75
65
  if (window._posthogQueue && window._posthogQueue.length > 0) {
76
- console.log("[PostHog] Flushing", window._posthogQueue.length, "queued calls");
77
66
  window._posthogQueue.forEach((q) => window.posthog[q.prop]?.(...q.args));
78
67
  delete window._posthogQueue;
79
68
  }
80
- console.log("[PostHog] Initialization complete!");
81
69
  return window.posthog;
82
70
  }).catch((e) => {
83
71
  logger.error("Failed to load posthog-js:", e);
84
- console.error("[PostHog] Import/init error:", e);
85
72
  delete window._posthogQueue;
86
73
  return void 0;
87
74
  });
@@ -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>;
15
+ export { RedditPixelOptions };
16
16
  export type RedditPixelInput = RegistryScriptInput<typeof RedditPixelOptions, true, false, false>;
17
17
  export declare function useScriptRedditPixel<T extends RedditPixelApi>(_options?: RedditPixelInput): import("#nuxt-scripts/types").UseScriptContext<T>;
18
- export {};
@@ -1,8 +1,6 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { object, string } from "#nuxt-scripts-validator";
3
- export const RedditPixelOptions = object({
4
- id: string()
5
- });
2
+ import { RedditPixelOptions } from "./schemas.js";
3
+ export { RedditPixelOptions };
6
4
  export function useScriptRedditPixel(_options) {
7
5
  return useRegistryScript("redditPixel", (options) => {
8
6
  return {
@@ -1,18 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const RybbitAnalyticsOptions: import("valibot").ObjectSchema<{
3
- readonly siteId: import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>;
4
- readonly autoTrackPageview: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
5
- readonly trackSpa: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
6
- readonly trackQuery: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
7
- readonly trackOutbound: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly trackErrors: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly sessionReplay: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly webVitals: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- readonly skipPatterns: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
12
- readonly maskPatterns: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>, undefined>;
13
- readonly debounce: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
14
- readonly apiKey: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
15
- }, undefined>;
2
+ import { RybbitAnalyticsOptions } from './schemas.js';
3
+ export { RybbitAnalyticsOptions };
16
4
  export type RybbitAnalyticsInput = RegistryScriptInput<typeof RybbitAnalyticsOptions, false>;
17
5
  export interface RybbitAnalyticsApi {
18
6
  /**
@@ -1,23 +1,10 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { array, boolean, number, object, optional, string, union } from "#nuxt-scripts-validator";
3
- export const RybbitAnalyticsOptions = object({
4
- siteId: union([string(), number()]),
5
- // required
6
- autoTrackPageview: optional(boolean()),
7
- trackSpa: optional(boolean()),
8
- trackQuery: optional(boolean()),
9
- trackOutbound: optional(boolean()),
10
- trackErrors: optional(boolean()),
11
- sessionReplay: optional(boolean()),
12
- webVitals: optional(boolean()),
13
- skipPatterns: optional(array(string())),
14
- maskPatterns: optional(array(string())),
15
- debounce: optional(number()),
16
- apiKey: optional(string())
17
- });
2
+ import { RybbitAnalyticsOptions } from "./schemas.js";
3
+ export { RybbitAnalyticsOptions };
18
4
  const RYBBIT_QUEUE_KEY = Symbol.for("nuxt-scripts.rybbit-queue");
19
5
  function getRybbitState() {
20
- if (!import.meta.client) return;
6
+ if (!import.meta.client)
7
+ return;
21
8
  const g = globalThis;
22
9
  if (!g[RYBBIT_QUEUE_KEY]) {
23
10
  g[RYBBIT_QUEUE_KEY] = { queue: [], flushed: false };
@@ -28,7 +15,8 @@ export function useScriptRybbitAnalytics(_options) {
28
15
  const isRybbitReady = () => import.meta.client && typeof window !== "undefined" && window.rybbit && typeof window.rybbit.event === "function";
29
16
  const flushQueue = () => {
30
17
  const state = getRybbitState();
31
- if (!state || state.flushed || !isRybbitReady()) return;
18
+ if (!state || state.flushed || !isRybbitReady())
19
+ return;
32
20
  state.flushed = true;
33
21
  while (state.queue.length > 0) {
34
22
  const [method, ...args] = state.queue.shift();
@@ -51,7 +39,7 @@ export function useScriptRybbitAnalytics(_options) {
51
39
  return useRegistryScript("rybbitAnalytics", (options) => {
52
40
  return {
53
41
  scriptInput: {
54
- "src": "https://app.rybbit.io/api/script.js",
42
+ "src": options?.analyticsHost ? `${options.analyticsHost}/script.js` : "https://app.rybbit.io/api/script.js",
55
43
  "data-site-id": String(options?.siteId),
56
44
  "data-auto-track-pageview": options?.autoTrackPageview,
57
45
  "data-track-spa": options?.trackSpa,