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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/README.md +3 -3
  2. package/dist/client/200.html +1 -1
  3. package/dist/client/404.html +1 -1
  4. package/dist/client/_nuxt/{Ds2G8aQM.js → AwAKM0sG.js} +1 -1
  5. package/dist/client/_nuxt/Bl23o3st.js +162 -0
  6. package/dist/client/_nuxt/{DdVDSbUA.js → CYlYSSNW.js} +1 -1
  7. package/dist/client/_nuxt/{CD5B-xvT.js → D5FIkDae.js} +1 -1
  8. package/dist/client/_nuxt/builds/latest.json +1 -1
  9. package/dist/client/_nuxt/builds/meta/f0b4dd20-8496-4003-b7a3-05cbae515923.json +1 -0
  10. package/dist/client/_nuxt/entry.C5SUNdim.css +1 -0
  11. package/dist/client/_nuxt/error-404.1K8v8Su2.css +1 -0
  12. package/dist/client/_nuxt/error-500.B9qvKpQm.css +1 -0
  13. package/dist/client/index.html +1 -1
  14. package/dist/module.d.mts +7 -19
  15. package/dist/module.d.ts +164 -0
  16. package/dist/module.json +1 -1
  17. package/dist/module.mjs +935 -645
  18. package/dist/registry.d.ts +6 -0
  19. package/dist/registry.mjs +235 -69
  20. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +16 -9
  21. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +57 -30
  22. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +16 -9
  23. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +22 -39
  24. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +69 -72
  25. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +22 -39
  26. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  27. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +25 -38
  28. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  29. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  30. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +61 -0
  31. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  32. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  33. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  34. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  35. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +9 -5
  36. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +62 -53
  37. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +9 -5
  38. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +26 -11
  39. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +48 -45
  40. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +26 -11
  41. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +10 -2
  42. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +38 -37
  43. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +10 -2
  44. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +63 -0
  45. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +160 -0
  46. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +63 -0
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +4 -0
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +23 -32
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +4 -0
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +24 -38
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +25 -38
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  59. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  60. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  61. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +13 -0
  62. package/dist/runtime/components/GoogleMaps/injectionKeys.js +3 -0
  63. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +26 -0
  64. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +42 -0
  65. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +87 -0
  66. package/dist/runtime/components/ScriptBlueskyEmbed.vue +85 -0
  67. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +87 -0
  68. package/dist/runtime/components/ScriptCrisp.vue +1 -1
  69. package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
  70. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  71. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  72. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  73. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +2 -2
  74. package/dist/runtime/components/ScriptInstagramEmbed.vue +5 -2
  75. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +2 -2
  76. package/dist/runtime/components/ScriptIntercom.vue +4 -3
  77. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
  78. package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
  79. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
  80. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
  81. package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
  82. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
  83. package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
  84. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
  85. package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
  86. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
  87. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +2 -2
  88. package/dist/runtime/components/ScriptXEmbed.vue +6 -3
  89. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +2 -2
  90. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
  91. package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
  92. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
  93. package/dist/runtime/composables/useScript.js +13 -6
  94. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  95. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  96. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  97. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  98. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  99. package/dist/runtime/registry/bing-uet.d.ts +20 -0
  100. package/dist/runtime/registry/bing-uet.js +29 -0
  101. package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
  102. package/dist/runtime/registry/bluesky-embed.js +72 -0
  103. package/dist/runtime/registry/clarity.d.ts +10 -15
  104. package/dist/runtime/registry/clarity.js +22 -31
  105. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  106. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  107. package/dist/runtime/registry/crisp.d.ts +10 -40
  108. package/dist/runtime/registry/crisp.js +2 -33
  109. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  110. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  111. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  112. package/dist/runtime/registry/fathom-analytics.js +2 -24
  113. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  114. package/dist/runtime/registry/google-adsense.js +2 -11
  115. package/dist/runtime/registry/google-analytics.d.ts +3 -5
  116. package/dist/runtime/registry/google-analytics.js +3 -8
  117. package/dist/runtime/registry/google-maps.d.ts +3 -9
  118. package/dist/runtime/registry/google-maps.js +2 -8
  119. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  120. package/dist/runtime/registry/google-recaptcha.js +4 -12
  121. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  122. package/dist/runtime/registry/google-sign-in.js +2 -22
  123. package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
  124. package/dist/runtime/registry/google-tag-manager.js +4 -27
  125. package/dist/runtime/registry/gravatar.d.ts +26 -0
  126. package/dist/runtime/registry/gravatar.js +33 -0
  127. package/dist/runtime/registry/hotjar.d.ts +4 -6
  128. package/dist/runtime/registry/hotjar.js +2 -5
  129. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  130. package/dist/runtime/registry/instagram-embed.js +4 -19
  131. package/dist/runtime/registry/intercom.d.ts +4 -12
  132. package/dist/runtime/registry/intercom.js +2 -12
  133. package/dist/runtime/registry/matomo-analytics.d.ts +3 -12
  134. package/dist/runtime/registry/matomo-analytics.js +3 -12
  135. package/dist/runtime/registry/meta-pixel.d.ts +4 -6
  136. package/dist/runtime/registry/meta-pixel.js +2 -4
  137. package/dist/runtime/registry/mixpanel-analytics.d.ts +22 -0
  138. package/dist/runtime/registry/mixpanel-analytics.js +46 -0
  139. package/dist/runtime/registry/npm.d.ts +3 -7
  140. package/dist/runtime/registry/npm.js +2 -9
  141. package/dist/runtime/registry/paypal.d.ts +4 -25
  142. package/dist/runtime/registry/paypal.js +3 -66
  143. package/dist/runtime/registry/plausible-analytics.js +18 -13
  144. package/dist/runtime/registry/posthog.d.ts +10 -12
  145. package/dist/runtime/registry/posthog.js +7 -14
  146. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  147. package/dist/runtime/registry/reddit-pixel.js +2 -4
  148. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  149. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  150. package/dist/runtime/registry/schemas.d.ts +982 -0
  151. package/dist/runtime/registry/schemas.js +937 -0
  152. package/dist/runtime/registry/segment.d.ts +2 -5
  153. package/dist/runtime/registry/segment.js +2 -5
  154. package/dist/runtime/registry/snapchat-pixel.d.ts +4 -33
  155. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  156. package/dist/runtime/registry/stripe.d.ts +3 -4
  157. package/dist/runtime/registry/stripe.js +2 -4
  158. package/dist/runtime/registry/tiktok-pixel.d.ts +4 -7
  159. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  160. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  161. package/dist/runtime/registry/umami-analytics.js +2 -36
  162. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  163. package/dist/runtime/registry/vercel-analytics.js +84 -0
  164. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  165. package/dist/runtime/registry/vimeo-player.js +1 -1
  166. package/dist/runtime/registry/x-embed.d.ts +3 -17
  167. package/dist/runtime/registry/x-embed.js +3 -18
  168. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  169. package/dist/runtime/registry/x-pixel.js +2 -5
  170. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  171. package/dist/runtime/registry/youtube-player.js +1 -1
  172. package/dist/runtime/server/{sw-handler.d.ts → bluesky-embed-image.d.ts} +1 -1
  173. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  174. package/dist/runtime/server/bluesky-embed.d.ts +16 -0
  175. package/dist/runtime/server/bluesky-embed.js +59 -0
  176. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  177. package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
  178. package/dist/runtime/server/google-static-maps-proxy.js +2 -13
  179. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  180. package/dist/runtime/server/gravatar-proxy.js +46 -0
  181. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  182. package/dist/runtime/server/instagram-embed-image.js +6 -53
  183. package/dist/runtime/server/instagram-embed.d.ts +16 -0
  184. package/dist/runtime/server/instagram-embed.js +173 -35
  185. package/dist/runtime/server/proxy-handler.js +134 -93
  186. package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
  187. package/dist/runtime/server/utils/image-proxy.js +70 -0
  188. package/dist/runtime/server/utils/privacy.d.ts +1 -2
  189. package/dist/runtime/server/utils/privacy.js +54 -34
  190. package/dist/runtime/server/x-embed-image.js +5 -49
  191. package/dist/runtime/server/x-embed.js +3 -2
  192. package/dist/runtime/types.d.ts +74 -40
  193. package/dist/runtime/utils/pure.d.ts +1 -5
  194. package/dist/runtime/utils/pure.js +0 -67
  195. package/dist/runtime/utils.d.ts +4 -3
  196. package/dist/runtime/utils.js +24 -10
  197. package/dist/shared/scripts.ViOoYQXH.mjs +381 -0
  198. package/dist/stats.d.mts +202 -0
  199. package/dist/stats.d.ts +202 -0
  200. package/dist/stats.mjs +3868 -0
  201. package/dist/types-source.d.mts +17 -0
  202. package/dist/types-source.d.ts +17 -0
  203. package/dist/types-source.mjs +3600 -0
  204. package/package.json +52 -38
  205. package/dist/client/_nuxt/D-kOnTuH.js +0 -162
  206. package/dist/client/_nuxt/builds/meta/f1474569-6922-450d-bc3f-4fd5f3e1391a.json +0 -1
  207. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  208. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  209. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  210. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  211. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  212. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  213. package/dist/runtime/plugins/sw-register.client.d.ts +0 -2
  214. package/dist/runtime/plugins/sw-register.client.js +0 -12
  215. package/dist/runtime/server/sw-handler.js +0 -25
  216. package/dist/runtime/sw/proxy-sw.template.d.ts +0 -1
  217. package/dist/runtime/sw/proxy-sw.template.js +0 -54
@@ -1,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,16 +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 apiHost: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
7
- readonly autocapture: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
8
- readonly capturePageview: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
9
- readonly capturePageleave: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
10
- readonly disableSessionRecording: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
11
- readonly config: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").StringSchema<undefined>, import("valibot").AnySchema, undefined>, undefined>;
12
- }, undefined>;
13
- export type PostHogInput = RegistryScriptInput<typeof PostHogOptions, false, true>;
2
+ import type { PostHog, PostHogConfig } from 'posthog-js';
3
+ import { PostHogOptions } from './schemas.js';
4
+ export { PostHogOptions };
5
+ export type PostHogInput = Omit<RegistryScriptInput<typeof PostHogOptions, false, true>, 'config'> & {
6
+ /**
7
+ * Additional PostHog configuration options passed directly to `posthog.init()`.
8
+ * @see https://posthog.com/docs/libraries/js/config
9
+ */
10
+ config?: Partial<PostHogConfig>;
11
+ };
14
12
  export interface PostHogApi {
15
13
  posthog: PostHog;
16
14
  }
@@ -1,16 +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
- apiHost: optional(string()),
8
- autocapture: optional(boolean()),
9
- capturePageview: optional(boolean()),
10
- capturePageleave: optional(boolean()),
11
- disableSessionRecording: optional(boolean()),
12
- config: optional(record(string(), any()))
13
- });
2
+ import { useRegistryScript } from "../utils.js";
3
+ import { PostHogOptions } from "./schemas.js";
4
+ export { PostHogOptions };
14
5
  export function useScriptPostHog(_options) {
15
6
  return useRegistryScript("posthog", (options) => {
16
7
  return {
@@ -48,7 +39,9 @@ export function useScriptPostHog(_options) {
48
39
  return;
49
40
  }
50
41
  const region = options?.region || "us";
51
- const apiHost = options?.apiHost || (region === "eu" ? "https://eu.i.posthog.com" : "https://us.i.posthog.com");
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
46
  const config = {
54
47
  api_host: apiHost,
@@ -56,7 +49,7 @@ export function useScriptPostHog(_options) {
56
49
  };
57
50
  if (typeof options?.autocapture === "boolean")
58
51
  config.autocapture = options.autocapture;
59
- if (typeof options?.capturePageview === "boolean")
52
+ if (typeof options?.capturePageview === "boolean" || options?.capturePageview === "history_change")
60
53
  config.capture_pageview = options.capturePageview;
61
54
  if (typeof options?.capturePageleave === "boolean")
62
55
  config.capture_pageleave = options.capturePageleave;
@@ -1,5 +1,7 @@
1
1
  import type { RegistryScriptInput } from '#nuxt-scripts/types';
2
- type RdtFns = ((event: 'init', id: string) => void) & ((event: 'track', eventName: string) => void);
2
+ import { RedditPixelOptions } from './schemas.js';
3
+ type StandardEvents = 'PageVisit' | 'ViewContent' | 'Search' | 'AddToCart' | 'AddToWishlist' | 'Purchase' | 'Lead' | 'SignUp';
4
+ type RdtFns = ((event: 'init', id: string) => void) & ((event: 'track', eventName: StandardEvents | (string & {}), properties?: Record<string, any>) => void);
3
5
  export interface RedditPixelApi {
4
6
  rdt: RdtFns & {
5
7
  sendEvent: (rdt: RedditPixelApi['rdt'], args: unknown[]) => void;
@@ -10,9 +12,6 @@ declare global {
10
12
  interface Window extends RedditPixelApi {
11
13
  }
12
14
  }
13
- export declare const RedditPixelOptions: import("valibot").ObjectSchema<{
14
- readonly id: import("valibot").StringSchema<undefined>;
15
- }, undefined>;
16
- export type RedditPixelInput = RegistryScriptInput<typeof RedditPixelOptions, true, false, false>;
15
+ export { RedditPixelOptions };
16
+ export type RedditPixelInput = RegistryScriptInput<typeof RedditPixelOptions, true, false>;
17
17
  export declare function useScriptRedditPixel<T extends RedditPixelApi>(_options?: RedditPixelInput): import("#nuxt-scripts/types").UseScriptContext<T>;
18
- export {};
@@ -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,
@@ -75,7 +63,9 @@ export function useScriptRybbitAnalytics(_options) {
75
63
  identify: (userId) => callOrQueue("identify", userId),
76
64
  clearUserId: () => callOrQueue("clearUserId"),
77
65
  getUserId: () => window.rybbit?.getUserId?.() ?? null,
78
- rybbit: window.rybbit
66
+ get rybbit() {
67
+ return window.rybbit;
68
+ }
79
69
  };
80
70
  }
81
71
  }