@nuxt/scripts 1.0.0-beta.3 → 1.0.0-beta.31
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/{DdVDSbUA.js → 6CwTUC2b.js} +1 -1
- package/dist/client/_nuxt/{CD5B-xvT.js → B71AlSZ1.js} +1 -1
- package/dist/client/_nuxt/{Ds2G8aQM.js → BYGJV5dd.js} +1 -1
- package/dist/client/_nuxt/V4W-T8W6.js +162 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/70b59a3e-a025-4a77-a25a-dfadf5b1749d.json +1 -0
- package/dist/client/_nuxt/entry.C5SUNdim.css +1 -0
- package/dist/client/_nuxt/error-404.1K8v8Su2.css +1 -0
- package/dist/client/_nuxt/error-500.B9qvKpQm.css +1 -0
- package/dist/client/index.html +1 -1
- package/dist/module.d.mts +6 -18
- package/dist/module.d.ts +164 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +908 -645
- package/dist/registry.d.ts +6 -0
- package/dist/registry.mjs +244 -78
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +16 -9
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +57 -30
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +16 -9
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +22 -39
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +69 -72
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +22 -39
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +25 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +61 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +9 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +62 -53
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +9 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +26 -11
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +48 -45
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +26 -11
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +15 -4
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +47 -37
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +15 -4
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +77 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +209 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +77 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +23 -32
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +25 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +13 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.js +3 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +26 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +42 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +87 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue +85 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +87 -0
- 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.d.vue.ts +2 -2
- package/dist/runtime/components/ScriptInstagramEmbed.vue +5 -2
- package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +2 -2
- 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 +2 -2
- package/dist/runtime/components/ScriptXEmbed.vue +6 -3
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +2 -2
- 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 +13 -6
- package/dist/runtime/composables/useScriptEventPage.js +2 -2
- package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
- package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
- package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
- package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
- package/dist/runtime/registry/bing-uet.d.ts +20 -0
- package/dist/runtime/registry/bing-uet.js +29 -0
- package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
- package/dist/runtime/registry/bluesky-embed.js +72 -0
- 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 +10 -40
- 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 +7 -26
- package/dist/runtime/registry/fathom-analytics.js +2 -24
- package/dist/runtime/registry/google-adsense.d.ts +3 -11
- 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 +26 -0
- package/dist/runtime/registry/gravatar.js +33 -0
- package/dist/runtime/registry/hotjar.d.ts +4 -6
- package/dist/runtime/registry/hotjar.js +2 -5
- package/dist/runtime/registry/instagram-embed.d.ts +3 -18
- package/dist/runtime/registry/instagram-embed.js +4 -19
- package/dist/runtime/registry/intercom.d.ts +4 -12
- package/dist/runtime/registry/intercom.js +2 -12
- package/dist/runtime/registry/matomo-analytics.d.ts +3 -12
- package/dist/runtime/registry/matomo-analytics.js +3 -12
- package/dist/runtime/registry/meta-pixel.d.ts +4 -6
- package/dist/runtime/registry/meta-pixel.js +2 -4
- package/dist/runtime/registry/mixpanel-analytics.d.ts +22 -0
- package/dist/runtime/registry/mixpanel-analytics.js +46 -0
- package/dist/runtime/registry/npm.d.ts +3 -7
- 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 -12
- package/dist/runtime/registry/posthog.js +7 -14
- package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
- 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 +10 -20
- package/dist/runtime/registry/schemas.d.ts +982 -0
- package/dist/runtime/registry/schemas.js +937 -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 +4 -33
- 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 +4 -7
- 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 +3 -17
- package/dist/runtime/registry/x-embed.js +3 -18
- package/dist/runtime/registry/x-pixel.d.ts +4 -7
- 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/{sw-handler.d.ts → bluesky-embed-image.d.ts} +1 -1
- package/dist/runtime/server/bluesky-embed-image.js +7 -0
- package/dist/runtime/server/bluesky-embed.d.ts +16 -0
- package/dist/runtime/server/bluesky-embed.js +59 -0
- package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
- package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
- package/dist/runtime/server/google-static-maps-proxy.js +2 -13
- package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
- package/dist/runtime/server/gravatar-proxy.js +46 -0
- package/dist/runtime/server/instagram-embed-asset.js +8 -41
- package/dist/runtime/server/instagram-embed-image.js +6 -53
- package/dist/runtime/server/instagram-embed.d.ts +16 -0
- package/dist/runtime/server/instagram-embed.js +173 -35
- package/dist/runtime/server/proxy-handler.js +144 -113
- package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
- package/dist/runtime/server/utils/image-proxy.js +70 -0
- package/dist/runtime/server/utils/privacy.d.ts +1 -2
- package/dist/runtime/server/utils/privacy.js +54 -34
- package/dist/runtime/server/x-embed-image.js +5 -49
- package/dist/runtime/server/x-embed.js +3 -2
- package/dist/runtime/types.d.ts +74 -40
- package/dist/runtime/utils/pure.d.ts +1 -5
- package/dist/runtime/utils/pure.js +0 -67
- package/dist/runtime/utils.d.ts +4 -3
- package/dist/runtime/utils.js +24 -10
- package/dist/shared/scripts.D7e2ENu6.mjs +211 -0
- package/dist/stats.d.mts +202 -0
- package/dist/stats.d.ts +202 -0
- package/dist/stats.mjs +3860 -0
- package/dist/types-source.d.mts +17 -0
- package/dist/types-source.d.ts +17 -0
- package/dist/types-source.mjs +3614 -0
- package/package.json +52 -38
- package/dist/client/_nuxt/D-kOnTuH.js +0 -162
- package/dist/client/_nuxt/builds/meta/f1474569-6922-450d-bc3f-4fd5f3e1391a.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,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,16 +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
|
-
}
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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,
|
|
@@ -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
|
|
66
|
+
get rybbit() {
|
|
67
|
+
return window.rybbit;
|
|
68
|
+
}
|
|
79
69
|
};
|
|
80
70
|
}
|
|
81
71
|
}
|