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

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/{DvH517bE.js → BlmrFwhD.js} +1 -1
  5. package/dist/client/_nuxt/{DfLgoB--.js → BwCYQWJt.js} +1 -1
  6. package/dist/client/_nuxt/DvbTvDd0.js +162 -0
  7. package/dist/client/_nuxt/{B66N9HCo.js → ZrewjUYk.js} +1 -1
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/6660a023-888d-415f-b66d-ce774e6f8f11.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 +763 -526
  18. package/dist/registry.d.ts +6 -0
  19. package/dist/registry.mjs +109 -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 +35 -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,18 +1,10 @@
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
- Intercom: ((event: 'boot', data?: InferInput<typeof IntercomOptions>) => void) & ((event: 'shutdown') => void) & ((event: 'update', options?: InferInput<typeof IntercomOptions>) => void) & ((event: 'hide') => void) & ((event: 'show') => void) & ((event: 'showSpace', spaceName: 'home' | 'messages' | 'help' | 'news' | 'tasks' | 'tickets' | string) => void) & ((event: 'showMessages') => void) & ((event: 'showNewMessage', content?: string) => void) & ((event: 'onHide', fn: () => void) => void) & ((event: 'onShow', fn: () => void) => void) & ((event: 'onUnreadCountChange', fn: () => void) => void) & ((event: 'trackEvent', eventName: string, metadata?: Record<string, any>) => void) & ((event: 'getVisitorId') => Promise<string>) & ((event: 'startTour', tourId: string | number) => void) & ((event: 'showArticle', articleId: string | number) => void) & ((event: 'showNews', newsItemId: string | number) => void) & ((event: 'startSurvey', surveyId: string | number) => void) & ((event: 'startChecklist', checklistId: string | number) => void) & ((event: 'showTicket', ticketId: string | number) => void) & ((event: 'showConversation', conversationId: string | number) => void) & ((event: 'onUserEmailSupplied', fn: () => void) => void) & ((event: string, ...params: any[]) => void);
7
+ Intercom: ((event: 'boot', data?: InferInput<typeof IntercomOptions>) => void) & ((event: 'shutdown') => void) & ((event: 'update', options?: InferInput<typeof IntercomOptions>) => void) & ((event: 'hide') => void) & ((event: 'show') => void) & ((event: 'showSpace', spaceName: 'home' | 'messages' | 'help' | 'news' | 'tasks' | 'tickets' | (string & {})) => void) & ((event: 'showMessages') => void) & ((event: 'showNewMessage', content?: string) => void) & ((event: 'onHide', fn: () => void) => void) & ((event: 'onShow', fn: () => void) => void) & ((event: 'onUnreadCountChange', fn: () => void) => void) & ((event: 'trackEvent', eventName: string, metadata?: Record<string, any>) => void) & ((event: 'getVisitorId') => Promise<string>) & ((event: 'startTour', tourId: string | number) => void) & ((event: 'showArticle', articleId: string | number) => void) & ((event: 'showNews', newsItemId: string | number) => void) & ((event: 'startSurvey', surveyId: string | number) => void) & ((event: 'startChecklist', checklistId: string | number) => void) & ((event: 'showTicket', ticketId: string | number) => void) & ((event: 'showConversation', conversationId: string | number) => void) & ((event: 'onUserEmailSupplied', fn: () => void) => void) & ((event: (string & {}), ...params: any[]) => void);
16
8
  }
17
9
  declare global {
18
10
  interface Window extends IntercomApi {
@@ -1,17 +1,7 @@
1
1
  import { joinURL } from "ufo";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { literal, number, object, optional, string, union } from "#nuxt-scripts-validator";
4
- export const IntercomOptions = object({
5
- app_id: string(),
6
- api_base: optional(union([literal("https://api-iam.intercom.io"), literal("https://api-iam.eu.intercom.io"), literal("https://api-iam.au.intercom.io")])),
7
- name: optional(string()),
8
- email: optional(string()),
9
- user_id: optional(string()),
10
- // customizing the messenger
11
- alignment: optional(union([literal("left"), literal("right")])),
12
- horizontal_padding: optional(number()),
13
- vertical_padding: optional(number())
14
- });
3
+ import { IntercomOptions } from "./schemas.js";
4
+ export { IntercomOptions };
15
5
  export function useScriptIntercom(_options) {
16
6
  return useRegistryScript("intercom", (options) => ({
17
7
  scriptInput: {
@@ -1,14 +1,6 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const MatomoAnalyticsOptions: import("valibot").ObjectSchema<{
3
- readonly matomoUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
4
- readonly siteId: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>;
5
- readonly cloudId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly trackerUrl: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly trackPageView: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly enableLinkTracking: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly disableCookies: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly watch: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- }, undefined>;
2
+ import { MatomoAnalyticsOptions } from './schemas.js';
3
+ export { MatomoAnalyticsOptions };
12
4
  export type MatomoAnalyticsInput = RegistryScriptInput<typeof MatomoAnalyticsOptions, false, false, false>;
13
5
  interface MatomoAnalyticsApi {
14
6
  _paq: unknown[];
@@ -18,4 +10,3 @@ declare global {
18
10
  }
19
11
  }
20
12
  export declare function useScriptMatomoAnalytics<T extends MatomoAnalyticsApi>(_options?: MatomoAnalyticsInput): import("#nuxt-scripts/types").UseScriptContext<T>;
21
- export {};
@@ -1,18 +1,9 @@
1
1
  import { withBase, withHttps, withoutProtocol, withoutTrailingSlash } from "ufo";
2
- import { useRegistryScript } from "../utils.js";
3
2
  import { useScriptEventPage } from "../composables/useScriptEventPage.js";
4
- import { boolean, object, optional, string, number, union } from "#nuxt-scripts-validator";
5
3
  import { logger } from "../logger.js";
6
- export const MatomoAnalyticsOptions = object({
7
- matomoUrl: optional(string()),
8
- siteId: optional(union([string(), number()])),
9
- cloudId: optional(string()),
10
- trackerUrl: optional(string()),
11
- trackPageView: optional(boolean()),
12
- enableLinkTracking: optional(boolean()),
13
- disableCookies: optional(boolean()),
14
- watch: optional(boolean())
15
- });
4
+ import { useRegistryScript } from "../utils.js";
5
+ import { MatomoAnalyticsOptions } from "./schemas.js";
6
+ export { MatomoAnalyticsOptions };
16
7
  export function useScriptMatomoAnalytics(_options) {
17
8
  return useRegistryScript("matomoAnalytics", (options) => {
18
9
  const normalizedCloudId = options?.cloudId ? withoutTrailingSlash(withoutProtocol(options.cloudId)) : void 0;
@@ -1,4 +1,5 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import { MetaPixelOptions } from './schemas.js';
2
3
  type StandardEvents = 'AddPaymentInfo' | 'AddToCart' | 'AddToWishlist' | 'CompleteRegistration' | 'Contact' | 'CustomizeProduct' | 'Donate' | 'FindLocation' | 'InitiateCheckout' | 'Lead' | 'Purchase' | 'Schedule' | 'Search' | 'StartTrial' | 'SubmitApplication' | 'Subscribe' | 'ViewContent';
3
4
  interface EventObjectProperties {
4
5
  content_category?: string;
@@ -14,7 +15,7 @@ interface EventObjectProperties {
14
15
  num_items?: number;
15
16
  predicted_ltv?: number;
16
17
  search_string?: string;
17
- status?: 'completed' | 'updated' | 'viewed' | 'added_to_cart' | 'removed_from_cart' | string;
18
+ status?: 'completed' | 'updated' | 'viewed' | 'added_to_cart' | 'removed_from_cart' | (string & {});
18
19
  value?: number;
19
20
  [key: string]: any;
20
21
  }
@@ -35,9 +36,6 @@ declare global {
35
36
  interface Window extends MetaPixelApi {
36
37
  }
37
38
  }
38
- export declare const MetaPixelOptions: import("valibot").ObjectSchema<{
39
- readonly id: import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>;
40
- }, undefined>;
39
+ export { MetaPixelOptions };
41
40
  export type MetaPixelInput = RegistryScriptInput<typeof MetaPixelOptions, true, false, false>;
42
41
  export declare function useScriptMetaPixel<T extends MetaPixelApi>(_options?: MetaPixelInput): import("#nuxt-scripts/types").UseScriptContext<T>;
43
- export {};
@@ -1,8 +1,6 @@
1
1
  import { useRegistryScript } from "../utils.js";
2
- import { number, object, string, union } from "#nuxt-scripts-validator";
3
- export const MetaPixelOptions = object({
4
- id: union([string(), number()])
5
- });
2
+ import { MetaPixelOptions } from "./schemas.js";
3
+ export { MetaPixelOptions };
6
4
  export function useScriptMetaPixel(_options) {
7
5
  return useRegistryScript("metaPixel", (options) => ({
8
6
  scriptInput: {
@@ -1,9 +1,5 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- export declare const NpmOptions: import("valibot").ObjectSchema<{
3
- readonly packageName: import("valibot").StringSchema<undefined>;
4
- readonly file: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
5
- readonly version: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
6
- readonly provider: import("valibot").OptionalSchema<import("valibot").UnionSchema<import("valibot").LiteralSchema<"jsdelivr" | "cdnjs" | "unpkg", undefined>[], undefined>, undefined>;
7
- }, undefined>;
2
+ import { NpmOptions } from './schemas.js';
3
+ export { NpmOptions };
8
4
  export type NpmInput = RegistryScriptInput<typeof NpmOptions, true, true, false>;
9
5
  export declare function useScriptNpm<T extends Record<string | symbol, any>>(_options: NpmInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,14 +1,7 @@
1
1
  import { withBase } from "ufo";
2
2
  import { useRegistryScript } from "../utils.js";
3
- import { object, optional, string, union, literal } from "#nuxt-scripts-validator";
4
- const PROVIDERS = ["jsdelivr", "cdnjs", "unpkg"];
5
- const providerValidator = union(PROVIDERS.map((provider) => literal(provider)));
6
- export const NpmOptions = object({
7
- packageName: string(),
8
- file: optional(string()),
9
- version: optional(string()),
10
- provider: optional(providerValidator)
11
- });
3
+ import { NpmOptions } from "./schemas.js";
4
+ export { NpmOptions };
12
5
  export function useScriptNpm(_options) {
13
6
  return useRegistryScript(`${_options.packageName}-npm`, (options) => {
14
7
  const baseUrl = getProviderBaseUrl(options.provider, options.packageName, options.version);
@@ -1,34 +1,13 @@
1
- import type { PayPalNamespace } from '@paypal/paypal-js';
2
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
+ import type { PayPalV6Namespace } from '@paypal/paypal-js/sdk-v6';
3
+ import { PayPalOptions } from './schemas.js';
4
+ export { PayPalOptions };
3
5
  export interface PayPalApi {
4
- paypal: PayPalNamespace;
6
+ paypal: PayPalV6Namespace;
5
7
  }
6
8
  declare global {
7
9
  interface Window extends PayPalApi {
8
10
  }
9
11
  }
10
- export declare const PayPalOptions: import("valibot").ObjectSchema<{
11
- readonly clientId: import("valibot").StringSchema<undefined>;
12
- readonly buyerCountry: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
13
- readonly commit: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
14
- readonly components: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
15
- readonly currency: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
16
- readonly debug: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>], undefined>, undefined>;
17
- readonly disableFunding: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
18
- readonly enableFunding: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
19
- readonly integrationDate: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
20
- readonly intent: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
21
- readonly locale: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
22
- /**
23
- * loadScript() supports an array for merchantId, even though
24
- * merchant-id technically may not contain multiple values.
25
- * For an array with a length of > 1 it automatically sets
26
- * merchantId to "*" and moves the actual values to dataMerchantId
27
- */
28
- readonly merchantId: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>], undefined>, undefined>;
29
- readonly partnerAttributionId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
30
- readonly vault: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>], undefined>, undefined>;
31
- readonly sandbox: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
32
- }, undefined>;
33
12
  export type PayPalInput = RegistryScriptInput<typeof PayPalOptions>;
34
13
  export declare function useScriptPayPal<T extends PayPalApi>(_options?: PayPalInput): import("#nuxt-scripts/types").UseScriptContext<T>;
@@ -1,79 +1,16 @@
1
- import { withQuery } from "ufo";
2
1
  import { useRegistryScript } from "../utils.js";
3
- import { object, string, optional, array, union, boolean } from "#nuxt-scripts-validator";
4
- export const PayPalOptions = object({
5
- clientId: string(),
6
- buyerCountry: optional(string()),
7
- commit: optional(string()),
8
- components: optional(union([string(), array(string())])),
9
- currency: optional(string()),
10
- debug: optional(union([string(), boolean()])),
11
- disableFunding: optional(union([string(), array(string())])),
12
- enableFunding: optional(union([string(), array(string())])),
13
- integrationDate: optional(string()),
14
- intent: optional(string()),
15
- locale: optional(string()),
16
- /**
17
- * loadScript() supports an array for merchantId, even though
18
- * merchant-id technically may not contain multiple values.
19
- * For an array with a length of > 1 it automatically sets
20
- * merchantId to "*" and moves the actual values to dataMerchantId
21
- */
22
- merchantId: optional(union([string(), array(string())])),
23
- partnerAttributionId: optional(string()),
24
- vault: optional(union([string(), boolean()])),
25
- // own props
26
- sandbox: optional(boolean())
27
- });
2
+ import { PayPalOptions } from "./schemas.js";
3
+ export { PayPalOptions };
28
4
  export function useScriptPayPal(_options) {
29
5
  return useRegistryScript("paypal", (options) => {
30
- let dataMerchantId = void 0;
31
- if (Array.isArray(options?.merchantId) && options?.merchantId.length > 1) {
32
- dataMerchantId = JSON.stringify(options.merchantId);
33
- options.merchantId = "*";
34
- }
35
- if (Array.isArray(options?.components)) {
36
- options.components = options.components.join(",");
37
- }
38
- if (Array.isArray(options?.disableFunding)) {
39
- options.disableFunding = options.disableFunding.join(",");
40
- }
41
- if (Array.isArray(options?.enableFunding)) {
42
- options.enableFunding = options.enableFunding.join(",");
43
- }
44
6
  if (options?.sandbox === void 0) {
45
7
  options.sandbox = import.meta.dev;
46
8
  }
47
- let components = ["buttons", "messages", "marks", "card-fields", "funding-eligibility"].join(",");
48
- if (options.components) {
49
- if (Array.isArray(options.components)) {
50
- components = options.components.join(",");
51
- } else {
52
- components = options.components;
53
- }
54
- }
55
9
  return {
56
10
  scriptInput: {
57
- "src": withQuery(options.sandbox ? "https://www.sandbox.paypal.com/sdk/js" : "https://www.paypal.com/sdk/js", {
58
- "client-id": options.clientId,
59
- "buyer-country": options.buyerCountry,
60
- "commit": options.commit,
61
- "components": components,
62
- "currency": options.currency,
63
- "debug": options.debug,
64
- "disable-funding": options.disableFunding,
65
- "enable-funding": options.enableFunding,
66
- "integration-date": options.integrationDate,
67
- "intent": options.intent,
68
- "locale": options.locale,
69
- "vault": options.vault
70
- }),
71
- "data-merchant-id": dataMerchantId,
72
- "data-partner-attribution-id": options.partnerAttributionId
73
- // TODO: maybe nuxt specific default
11
+ src: options.sandbox ? "https://www.sandbox.paypal.com/web-sdk/v6/core" : "https://www.paypal.com/web-sdk/v6/core"
74
12
  },
75
13
  schema: import.meta.dev ? PayPalOptions : void 0,
76
- // trigger: 'client',
77
14
  scriptOptions: {
78
15
  use() {
79
16
  return {
@@ -1,6 +1,6 @@
1
- import { useRegistryScript } from "../utils.js";
2
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,