@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.
- package/README.md +3 -3
- package/dist/client/200.html +1 -1
- package/dist/client/404.html +1 -1
- package/dist/client/_nuxt/{DvH517bE.js → BlmrFwhD.js} +1 -1
- package/dist/client/_nuxt/{DfLgoB--.js → BwCYQWJt.js} +1 -1
- package/dist/client/_nuxt/DvbTvDd0.js +162 -0
- package/dist/client/_nuxt/{B66N9HCo.js → ZrewjUYk.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/6660a023-888d-415f-b66d-ce774e6f8f11.json +1 -0
- package/dist/client/_nuxt/entry.CACgbLJl.css +1 -0
- package/dist/client/_nuxt/error-404.CHeaW3dp.css +1 -0
- package/dist/client/_nuxt/error-500.DvOvWme_.css +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.d.mts +27 -18
- package/dist/module.d.ts +178 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +763 -526
- package/dist/registry.d.ts +6 -0
- package/dist/registry.mjs +109 -21
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +12 -12
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +1 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +6 -6
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +1 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +5 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +7 -7
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +7 -7
- package/dist/runtime/components/ScriptCrisp.vue +1 -1
- package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
- package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
- package/dist/runtime/components/ScriptGravatar.vue +46 -0
- package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
- package/dist/runtime/components/ScriptInstagramEmbed.vue +1 -1
- package/dist/runtime/components/ScriptIntercom.vue +4 -3
- package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
- package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
- package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
- package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
- package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
- package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
- package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
- package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
- package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
- package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
- package/dist/runtime/components/ScriptXEmbed.d.vue.ts +1 -1
- package/dist/runtime/components/ScriptXEmbed.vue +1 -1
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +1 -1
- package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
- package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
- package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
- package/dist/runtime/composables/useScript.js +11 -6
- package/dist/runtime/composables/useScriptEventPage.js +2 -2
- package/dist/runtime/composables/useScriptTriggerConsent.js +1 -1
- package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
- package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
- package/dist/runtime/registry/clarity.d.ts +10 -15
- package/dist/runtime/registry/clarity.js +22 -31
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
- package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
- package/dist/runtime/registry/crisp.d.ts +9 -39
- package/dist/runtime/registry/crisp.js +2 -33
- package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
- package/dist/runtime/registry/databuddy-analytics.js +20 -45
- package/dist/runtime/registry/fathom-analytics.d.ts +6 -25
- package/dist/runtime/registry/fathom-analytics.js +2 -24
- package/dist/runtime/registry/google-adsense.d.ts +2 -10
- package/dist/runtime/registry/google-adsense.js +2 -11
- package/dist/runtime/registry/google-analytics.d.ts +3 -5
- package/dist/runtime/registry/google-analytics.js +3 -8
- package/dist/runtime/registry/google-maps.d.ts +3 -9
- package/dist/runtime/registry/google-maps.js +2 -8
- package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
- package/dist/runtime/registry/google-recaptcha.js +4 -12
- package/dist/runtime/registry/google-sign-in.d.ts +2 -13
- package/dist/runtime/registry/google-sign-in.js +2 -22
- package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
- package/dist/runtime/registry/google-tag-manager.js +4 -27
- package/dist/runtime/registry/gravatar.d.ts +25 -0
- package/dist/runtime/registry/gravatar.js +32 -0
- package/dist/runtime/registry/hotjar.d.ts +3 -5
- package/dist/runtime/registry/hotjar.js +2 -5
- package/dist/runtime/registry/instagram-embed.d.ts +2 -17
- package/dist/runtime/registry/instagram-embed.js +4 -19
- package/dist/runtime/registry/intercom.d.ts +3 -11
- package/dist/runtime/registry/intercom.js +2 -12
- package/dist/runtime/registry/matomo-analytics.d.ts +2 -11
- package/dist/runtime/registry/matomo-analytics.js +3 -12
- package/dist/runtime/registry/meta-pixel.d.ts +3 -5
- package/dist/runtime/registry/meta-pixel.js +2 -4
- package/dist/runtime/registry/npm.d.ts +2 -6
- package/dist/runtime/registry/npm.js +2 -9
- package/dist/runtime/registry/paypal.d.ts +4 -25
- package/dist/runtime/registry/paypal.js +3 -66
- package/dist/runtime/registry/plausible-analytics.js +18 -13
- package/dist/runtime/registry/posthog.d.ts +10 -11
- package/dist/runtime/registry/posthog.js +7 -20
- package/dist/runtime/registry/reddit-pixel.d.ts +4 -5
- package/dist/runtime/registry/reddit-pixel.js +2 -4
- package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
- package/dist/runtime/registry/rybbit-analytics.js +7 -19
- package/dist/runtime/registry/schemas.d.ts +946 -0
- package/dist/runtime/registry/schemas.js +901 -0
- package/dist/runtime/registry/segment.d.ts +2 -5
- package/dist/runtime/registry/segment.js +2 -5
- package/dist/runtime/registry/snapchat-pixel.d.ts +3 -32
- package/dist/runtime/registry/snapchat-pixel.js +2 -20
- package/dist/runtime/registry/stripe.d.ts +3 -4
- package/dist/runtime/registry/stripe.js +2 -4
- package/dist/runtime/registry/tiktok-pixel.d.ts +3 -6
- package/dist/runtime/registry/tiktok-pixel.js +2 -6
- package/dist/runtime/registry/umami-analytics.d.ts +2 -31
- package/dist/runtime/registry/umami-analytics.js +2 -36
- package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
- package/dist/runtime/registry/vercel-analytics.js +84 -0
- package/dist/runtime/registry/vimeo-player.d.ts +2 -2
- package/dist/runtime/registry/vimeo-player.js +1 -1
- package/dist/runtime/registry/x-embed.d.ts +2 -16
- package/dist/runtime/registry/x-embed.js +2 -17
- package/dist/runtime/registry/x-pixel.d.ts +3 -6
- package/dist/runtime/registry/x-pixel.js +2 -5
- package/dist/runtime/registry/youtube-player.d.ts +7 -7
- package/dist/runtime/registry/youtube-player.js +1 -1
- package/dist/runtime/server/google-static-maps-proxy.js +1 -1
- package/dist/runtime/server/{sw-handler.d.ts → gravatar-proxy.d.ts} +1 -1
- package/dist/runtime/server/gravatar-proxy.js +62 -0
- package/dist/runtime/server/instagram-embed-asset.js +2 -1
- package/dist/runtime/server/instagram-embed-image.js +2 -1
- package/dist/runtime/server/instagram-embed.js +22 -13
- package/dist/runtime/server/proxy-handler.js +161 -117
- package/dist/runtime/server/utils/privacy.d.ts +45 -1
- package/dist/runtime/server/utils/privacy.js +103 -40
- package/dist/runtime/server/x-embed.js +3 -2
- package/dist/runtime/types.d.ts +35 -24
- package/dist/runtime/utils/pure.d.ts +0 -4
- package/dist/runtime/utils/pure.js +0 -67
- package/dist/runtime/utils.d.ts +3 -3
- package/dist/runtime/utils.js +12 -7
- package/dist/shared/scripts.Crpn87WB.mjs +318 -0
- package/dist/stats.d.mts +39 -0
- package/dist/stats.d.ts +39 -0
- package/dist/stats.mjs +772 -0
- package/dist/types-source.d.mts +19 -0
- package/dist/types-source.d.ts +19 -0
- package/dist/types-source.mjs +975 -0
- package/package.json +42 -31
- package/dist/client/_nuxt/B8XOar-X.js +0 -162
- package/dist/client/_nuxt/builds/meta/133a46c5-a5c1-4a63-87d1-037947a5bcdb.json +0 -1
- package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
- package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
- package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
- package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
- package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
- package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
- package/dist/runtime/plugins/sw-register.client.d.ts +0 -2
- package/dist/runtime/plugins/sw-register.client.js +0 -12
- package/dist/runtime/server/sw-handler.js +0 -25
- package/dist/runtime/sw/proxy-sw.template.d.ts +0 -1
- 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
|
-
|
|
4
|
-
|
|
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 {
|
|
4
|
-
export
|
|
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
|
-
|
|
3
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
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 {
|
|
3
|
-
export
|
|
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
|
-
|
|
3
|
-
|
|
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 {
|
|
4
|
-
|
|
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:
|
|
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 {
|
|
4
|
-
export
|
|
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
|
-
|
|
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)
|
|
59
|
-
|
|
60
|
-
if (options?.
|
|
61
|
-
|
|
62
|
-
if (options?.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
|
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 {
|
|
3
|
-
export
|
|
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
|
-
|
|
3
|
-
|
|
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 {
|
|
3
|
-
export
|
|
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)
|
|
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())
|
|
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,
|