@nuxt/scripts 1.0.6 → 1.1.1
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/dist/devtools-client/200.html +1 -1
- package/dist/devtools-client/404.html +1 -1
- package/dist/devtools-client/_nuxt/B-0LGYiZ.js +188 -0
- package/dist/devtools-client/_nuxt/BHdEFiuu.js +1 -0
- package/dist/devtools-client/_nuxt/CZLtBO2f.js +1 -0
- package/dist/devtools-client/_nuxt/CpUjVpvL.js +1 -0
- package/dist/devtools-client/_nuxt/CpodaK4k.js +1 -0
- package/dist/devtools-client/_nuxt/DkOU4Aaf.js +1 -0
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
- package/dist/devtools-client/_nuxt/builds/meta/7cf30d77-8399-4375-9a20-302132331b02.json +1 -0
- package/dist/devtools-client/_nuxt/d96VI30H.js +1 -0
- package/dist/devtools-client/_nuxt/{entry.XOvcedFq.css → entry.DFx-MLUa.css} +1 -1
- package/dist/devtools-client/_nuxt/error-404.aORtIbIE.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.FkAdJQFV.css +1 -0
- package/dist/devtools-client/_nuxt/{first-party.C8Ha4JLM.css → first-party.D_SBdnka.css} +1 -1
- package/dist/devtools-client/_nuxt/index.DIj4bh55.css +1 -0
- package/dist/devtools-client/_nuxt/{registry.B9lnjF_b.css → registry.CDbTq1x3.css} +1 -1
- package/dist/devtools-client/docs/index.html +1 -1
- package/dist/devtools-client/first-party/index.html +1 -1
- package/dist/devtools-client/index.html +1 -1
- package/dist/devtools-client/registry/index.html +1 -1
- package/dist/module.d.mts +12 -2
- package/dist/module.d.ts +12 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +271 -35
- package/dist/registry.mjs +76 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +36 -5
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +2 -2
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +2 -2
- package/dist/runtime/components/ScriptCalendlyInlineWidget.d.vue.ts +59 -0
- package/dist/runtime/components/ScriptCalendlyInlineWidget.vue +79 -0
- package/dist/runtime/components/ScriptCalendlyInlineWidget.vue.d.ts +59 -0
- package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +1 -1
- package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +1 -1
- package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +1 -1
- package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +1 -1
- package/dist/runtime/composables/useScript.js +48 -0
- package/dist/runtime/debug.d.ts +1 -0
- package/dist/runtime/debug.js +1 -0
- package/dist/runtime/devtools-standalone-bridge.client.js +3 -1
- package/dist/runtime/logger.js +4 -0
- package/dist/runtime/registry/_gcm-consent.d.ts +14 -0
- package/dist/runtime/registry/_gcm-consent.js +24 -0
- package/dist/runtime/registry/ahrefs-analytics.d.ts +39 -0
- package/dist/runtime/registry/ahrefs-analytics.js +18 -0
- package/dist/runtime/registry/calendly.d.ts +76 -0
- package/dist/runtime/registry/calendly.js +63 -0
- package/dist/runtime/registry/google-analytics.d.ts +5 -6
- package/dist/runtime/registry/google-analytics.js +4 -10
- package/dist/runtime/registry/google-tag-manager.d.ts +5 -6
- package/dist/runtime/registry/google-tag-manager.js +13 -18
- package/dist/runtime/registry/linkedin-insight.d.ts +35 -0
- package/dist/runtime/registry/linkedin-insight.js +49 -0
- package/dist/runtime/registry/schemas.d.ts +124 -0
- package/dist/runtime/registry/schemas.js +115 -2
- package/dist/runtime/registry/tiktok-pixel.d.ts +79 -14
- package/dist/runtime/registry/tiktok-pixel.js +62 -28
- package/dist/runtime/registry/usercentrics.d.ts +85 -0
- package/dist/runtime/registry/usercentrics.js +54 -0
- package/dist/runtime/server/proxy-handler.js +13 -4
- package/dist/runtime/types.d.ts +36 -1
- package/dist/runtime/utils.d.ts +8 -2
- package/dist/runtime/utils.js +5 -1
- package/dist/stats.mjs +19 -0
- package/dist/types-source.mjs +291 -11
- package/dist/types.d.mts +1 -1
- package/package.json +9 -6
- package/dist/devtools-client/_nuxt/CZp-OuKP.js +0 -1
- package/dist/devtools-client/_nuxt/Djr8-0jV.js +0 -1
- package/dist/devtools-client/_nuxt/DtB6K90V.js +0 -188
- package/dist/devtools-client/_nuxt/DyyF3uw_.js +0 -1
- package/dist/devtools-client/_nuxt/GzJXdFDa.js +0 -1
- package/dist/devtools-client/_nuxt/W-xcwSaJ.js +0 -1
- package/dist/devtools-client/_nuxt/YlRaZkPa.js +0 -1
- package/dist/devtools-client/_nuxt/builds/meta/57f43375-6c5e-40af-a5bc-9479e5286aac.json +0 -1
- package/dist/devtools-client/_nuxt/error-404.DsZYSkA7.css +0 -1
- package/dist/devtools-client/_nuxt/error-500.Cqipl6_j.css +0 -1
- package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +0 -1
|
@@ -230,7 +230,11 @@ export default defineEventHandler(async (event) => {
|
|
|
230
230
|
});
|
|
231
231
|
log("[proxy] Fetching:", targetUrl);
|
|
232
232
|
const controller = new AbortController();
|
|
233
|
-
|
|
233
|
+
let timedOut = false;
|
|
234
|
+
const timeoutId = setTimeout(() => {
|
|
235
|
+
timedOut = true;
|
|
236
|
+
controller.abort();
|
|
237
|
+
}, 15e3);
|
|
234
238
|
let fetchBody;
|
|
235
239
|
if (passthroughBody) {
|
|
236
240
|
fetchBody = getRequestWebStream(event);
|
|
@@ -252,9 +256,14 @@ export default defineEventHandler(async (event) => {
|
|
|
252
256
|
} catch (err) {
|
|
253
257
|
log("[proxy] Upstream error:", err);
|
|
254
258
|
throw createError({
|
|
255
|
-
statusCode: 502,
|
|
256
|
-
statusMessage: "Bad Gateway",
|
|
257
|
-
message: `Proxy upstream request failed: ${targetUrl}
|
|
259
|
+
statusCode: timedOut ? 504 : 502,
|
|
260
|
+
statusMessage: timedOut ? "Gateway Timeout" : "Bad Gateway",
|
|
261
|
+
message: `Proxy upstream request failed: ${targetUrl}`,
|
|
262
|
+
cause: err,
|
|
263
|
+
data: {
|
|
264
|
+
errorName: err?.name,
|
|
265
|
+
errorCode: timedOut ? "TIMEOUT" : err?.code
|
|
266
|
+
}
|
|
258
267
|
});
|
|
259
268
|
} finally {
|
|
260
269
|
clearTimeout(timeoutId);
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ import type { Script } from '@unhead/vue/types';
|
|
|
3
3
|
import type { Import } from 'unimport';
|
|
4
4
|
import type { InferInput, ObjectEntries, ObjectSchema, UnionSchema, ValiError } from 'valibot';
|
|
5
5
|
import type { ComputedRef, Ref } from 'vue';
|
|
6
|
+
import type { AhrefsAnalyticsInput } from './registry/ahrefs-analytics.js';
|
|
6
7
|
import type { BingUetInput } from './registry/bing-uet.js';
|
|
7
8
|
import type { BlueskyEmbedInput } from './registry/bluesky-embed.js';
|
|
9
|
+
import type { CalendlyInput } from './registry/calendly.js';
|
|
8
10
|
import type { ClarityInput } from './registry/clarity.js';
|
|
9
11
|
import type { CloudflareWebAnalyticsInput } from './registry/cloudflare-web-analytics.js';
|
|
10
12
|
import type { CrispInput } from './registry/crisp.js';
|
|
@@ -21,6 +23,7 @@ import type { HotjarInput } from './registry/hotjar.js';
|
|
|
21
23
|
import type { InstagramEmbedInput } from './registry/instagram-embed.js';
|
|
22
24
|
import type { IntercomInput } from './registry/intercom.js';
|
|
23
25
|
import type { LemonSqueezyInput } from './registry/lemon-squeezy.js';
|
|
26
|
+
import type { LinkedInInsightInput } from './registry/linkedin-insight.js';
|
|
24
27
|
import type { MatomoAnalyticsInput } from './registry/matomo-analytics.js';
|
|
25
28
|
import type { MetaPixelInput } from './registry/meta-pixel.js';
|
|
26
29
|
import type { MixpanelAnalyticsInput } from './registry/mixpanel-analytics.js';
|
|
@@ -35,6 +38,7 @@ import type { SnapTrPixelInput } from './registry/snapchat-pixel.js';
|
|
|
35
38
|
import type { StripeInput } from './registry/stripe.js';
|
|
36
39
|
import type { TikTokPixelInput } from './registry/tiktok-pixel.js';
|
|
37
40
|
import type { UmamiAnalyticsInput } from './registry/umami-analytics.js';
|
|
41
|
+
import type { UsercentricsInput } from './registry/usercentrics.js';
|
|
38
42
|
import type { VercelAnalyticsInput } from './registry/vercel-analytics.js';
|
|
39
43
|
import type { VimeoPlayerInput } from './registry/vimeo-player.js';
|
|
40
44
|
import type { XEmbedInput } from './registry/x-embed.js';
|
|
@@ -66,6 +70,16 @@ export interface ConsentState {
|
|
|
66
70
|
/** Milliseconds to wait for `consent.update()` before firing queued tags. */
|
|
67
71
|
wait_for_update?: number;
|
|
68
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Auto-attached `consent` API on scripts that adhere to the GCMv2 Consent Mode
|
|
75
|
+
* contract (Google Analytics, Google Tag Manager, …).
|
|
76
|
+
*/
|
|
77
|
+
export interface GcmConsentApi {
|
|
78
|
+
/** Push `['consent','default', state]` (or equivalent gtag call) with GCMv2 partial state. */
|
|
79
|
+
default: (state: ConsentState) => void;
|
|
80
|
+
/** Push `['consent','update', state]` (or equivalent gtag call) with GCMv2 partial state. */
|
|
81
|
+
update: (state: ConsentState) => void;
|
|
82
|
+
}
|
|
69
83
|
export type UseScriptContext<T extends Record<symbol | string, any>, C = unknown> = VueScriptInstance<T> & {
|
|
70
84
|
/**
|
|
71
85
|
* Remove and reload the script. Useful for scripts that need to re-execute
|
|
@@ -142,6 +156,13 @@ export type NuxtUseScriptOptions<T extends Record<symbol | string, any> = {}> =
|
|
|
142
156
|
* @internal
|
|
143
157
|
*/
|
|
144
158
|
registryMeta?: Record<string, string>;
|
|
159
|
+
/**
|
|
160
|
+
* Source location (file:line:col) the script was registered from, captured
|
|
161
|
+
* via dev-only stack-trace parsing in `useRegistryScript`. Surfaced in
|
|
162
|
+
* debug logs and Nuxt DevTools.
|
|
163
|
+
* @internal
|
|
164
|
+
*/
|
|
165
|
+
loadedFrom?: string;
|
|
145
166
|
/**
|
|
146
167
|
* Known third-party domains this script communicates with.
|
|
147
168
|
* @internal
|
|
@@ -212,9 +233,11 @@ export interface NuxtDevToolsScriptInstance {
|
|
|
212
233
|
networkRequests: NuxtDevToolsNetworkRequest[];
|
|
213
234
|
}
|
|
214
235
|
export interface ScriptRegistry {
|
|
236
|
+
ahrefsAnalytics?: AhrefsAnalyticsInput;
|
|
215
237
|
bingUet?: BingUetInput;
|
|
216
238
|
blueskyEmbed?: BlueskyEmbedInput;
|
|
217
239
|
carbonAds?: true;
|
|
240
|
+
calendly?: CalendlyInput;
|
|
218
241
|
crisp?: CrispInput;
|
|
219
242
|
clarity?: ClarityInput;
|
|
220
243
|
cloudflareWebAnalytics?: CloudflareWebAnalyticsInput;
|
|
@@ -232,6 +255,7 @@ export interface ScriptRegistry {
|
|
|
232
255
|
googleTagManager?: GoogleTagManagerInput;
|
|
233
256
|
hotjar?: HotjarInput;
|
|
234
257
|
intercom?: IntercomInput;
|
|
258
|
+
linkedinInsight?: LinkedInInsightInput;
|
|
235
259
|
paypal?: PayPalInput;
|
|
236
260
|
posthog?: PostHogInput;
|
|
237
261
|
matomoAnalytics?: MatomoAnalyticsInput;
|
|
@@ -248,6 +272,7 @@ export interface ScriptRegistry {
|
|
|
248
272
|
vercelAnalytics?: VercelAnalyticsInput;
|
|
249
273
|
vimeoPlayer?: VimeoPlayerInput;
|
|
250
274
|
umamiAnalytics?: UmamiAnalyticsInput;
|
|
275
|
+
usercentrics?: UsercentricsInput;
|
|
251
276
|
gravatar?: GravatarInput;
|
|
252
277
|
npm?: NpmInput;
|
|
253
278
|
[key: `${string}-npm`]: NpmInput;
|
|
@@ -256,7 +281,7 @@ export interface ScriptRegistry {
|
|
|
256
281
|
* Built-in registry script keys — not affected by module augmentation.
|
|
257
282
|
* Use this to type-check records that must enumerate all built-in scripts (logos, meta, etc.).
|
|
258
283
|
*/
|
|
259
|
-
export type BuiltInRegistryScriptKey = 'bingUet' | 'blueskyEmbed' | 'carbonAds' | 'crisp' | 'clarity' | 'cloudflareWebAnalytics' | 'databuddyAnalytics' | 'metaPixel' | 'fathomAnalytics' | 'instagramEmbed' | 'plausibleAnalytics' | 'googleAdsense' | 'googleAnalytics' | 'googleMaps' | 'googleRecaptcha' | 'googleSignIn' | 'lemonSqueezy' | 'googleTagManager' | 'hotjar' | 'intercom' | 'paypal' | 'posthog' | 'matomoAnalytics' | 'mixpanelAnalytics' | 'rybbitAnalytics' | 'redditPixel' | 'segment' | 'stripe' | 'tiktokPixel' | 'xEmbed' | 'xPixel' | 'snapchatPixel' | 'youtubePlayer' | 'vercelAnalytics' | 'vimeoPlayer' | 'umamiAnalytics' | 'gravatar' | 'npm';
|
|
284
|
+
export type BuiltInRegistryScriptKey = 'ahrefsAnalytics' | 'bingUet' | 'blueskyEmbed' | 'calendly' | 'carbonAds' | 'crisp' | 'clarity' | 'cloudflareWebAnalytics' | 'databuddyAnalytics' | 'metaPixel' | 'fathomAnalytics' | 'instagramEmbed' | 'plausibleAnalytics' | 'googleAdsense' | 'googleAnalytics' | 'googleMaps' | 'googleRecaptcha' | 'googleSignIn' | 'lemonSqueezy' | 'googleTagManager' | 'hotjar' | 'intercom' | 'linkedinInsight' | 'paypal' | 'posthog' | 'matomoAnalytics' | 'mixpanelAnalytics' | 'rybbitAnalytics' | 'redditPixel' | 'segment' | 'stripe' | 'tiktokPixel' | 'xEmbed' | 'xPixel' | 'snapchatPixel' | 'youtubePlayer' | 'vercelAnalytics' | 'vimeoPlayer' | 'umamiAnalytics' | 'usercentrics' | 'gravatar' | 'npm';
|
|
260
285
|
/**
|
|
261
286
|
* Union of all explicit registry script keys (excludes npm pattern).
|
|
262
287
|
* Includes both built-in and augmented keys.
|
|
@@ -386,6 +411,16 @@ export type SdkPatch = {
|
|
|
386
411
|
separator: string;
|
|
387
412
|
fromDomain: string;
|
|
388
413
|
appendPath?: string;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Replace `new URL(<expr>).origin` with `self.location.origin + "<proxyPath>"`.
|
|
417
|
+
* Used by SDKs that derive their API host as `new URL(currentScript.src).origin + "/api/..."`.
|
|
418
|
+
* When bundled, the script src origin is the Nuxt origin, so the derived endpoint
|
|
419
|
+
* lands on a 404 instead of the proxy. This patch redirects it through the proxy.
|
|
420
|
+
*/
|
|
421
|
+
| {
|
|
422
|
+
type: 'replace-new-url-origin';
|
|
423
|
+
fromDomain: string;
|
|
389
424
|
};
|
|
390
425
|
/**
|
|
391
426
|
* Partytown capability config. When present, the script can run in a
|
package/dist/runtime/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UseScriptInput } from '@unhead/vue';
|
|
2
2
|
import type { ObjectSchema, UnionSchema } from 'valibot';
|
|
3
|
-
import type { EmptyOptionsSchema, InferIfSchema, NuxtUseScriptOptions, RegistryScriptInput, ScriptRegistry, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types';
|
|
3
|
+
import type { EmptyOptionsSchema, InferIfSchema, NuxtUseScriptOptions, RegistryScriptInput, RegistryScriptKey, ScriptRegistry, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types';
|
|
4
|
+
import type { GcmConsentContract } from './registry/_gcm-consent.js';
|
|
4
5
|
export type MaybePromise<T> = Promise<T> | T;
|
|
5
6
|
type OptionsFn<O> = (options: InferIfSchema<O>, ctx: {
|
|
6
7
|
scriptInput?: UseScriptInput & {
|
|
@@ -12,8 +13,13 @@ type OptionsFn<O> = (options: InferIfSchema<O>, ctx: {
|
|
|
12
13
|
schema?: O extends ObjectSchema<any, any> | UnionSchema<any, any> ? O : undefined;
|
|
13
14
|
clientInit?: () => void | Promise<any>;
|
|
14
15
|
scriptMode?: 'external' | 'npm';
|
|
16
|
+
/**
|
|
17
|
+
* Opt-in: this script consumes GCMv2 Consent Mode. `useRegistryScript` auto-attaches
|
|
18
|
+
* a `consent: { default, update }` API + dev validation against the canonical schema.
|
|
19
|
+
*/
|
|
20
|
+
gcmConsent?: GcmConsentContract;
|
|
15
21
|
});
|
|
16
|
-
export declare function scriptRuntimeConfig<T extends
|
|
22
|
+
export declare function scriptRuntimeConfig<T extends RegistryScriptKey>(key: T): ScriptRegistry[T];
|
|
17
23
|
export declare function scriptsPrefix(): string;
|
|
18
24
|
export declare function requireRegistryEndpoint(componentName: string, registryKey: string): void;
|
|
19
25
|
export declare function useRegistryScript<T extends Record<string | symbol, any>, O = EmptyOptionsSchema>(registryKey: keyof ScriptRegistry | string, optionsFn: OptionsFn<O>, _userOptions?: RegistryScriptInput<O>): UseScriptContext<UseFunctionType<NuxtUseScriptOptions<T>, T>>;
|
package/dist/runtime/utils.js
CHANGED
|
@@ -4,6 +4,7 @@ import { parseQuery, parseURL, withQuery } from "ufo";
|
|
|
4
4
|
import { parse } from "valibot";
|
|
5
5
|
import { useScript } from "./composables/useScript.js";
|
|
6
6
|
import { createNpmScriptStub } from "./npm-script-stub.js";
|
|
7
|
+
import { attachGcmConsent } from "./registry/_gcm-consent.js";
|
|
7
8
|
const URL_MATCH_RE = /https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)/;
|
|
8
9
|
const URL_PAREN_MATCH_RE = /\(https?:\/\/[^/]+\/_nuxt\/(.+\.vue)(?:\?[^)]*)?:(\d+):(\d+)\)/;
|
|
9
10
|
const VUE_MATCH_RE = /([^/\s]+\.vue):(\d+):(\d+)/;
|
|
@@ -111,5 +112,8 @@ export function useRegistryScript(registryKey, optionsFn, _userOptions) {
|
|
|
111
112
|
options.clientInit?.();
|
|
112
113
|
}
|
|
113
114
|
};
|
|
114
|
-
|
|
115
|
+
const instance = useScript(scriptInput, scriptOptions);
|
|
116
|
+
if (import.meta.client && options.gcmConsent)
|
|
117
|
+
attachGcmConsent(instance, options.gcmConsent, String(registryKey));
|
|
118
|
+
return instance;
|
|
115
119
|
}
|
package/dist/stats.mjs
CHANGED
|
@@ -4,6 +4,11 @@ import '../dist/runtime/registry/schemas.js';
|
|
|
4
4
|
|
|
5
5
|
const scriptMeta = {
|
|
6
6
|
// Analytics
|
|
7
|
+
ahrefsAnalytics: {
|
|
8
|
+
urls: ["https://analytics.ahrefs.com/analytics.js"],
|
|
9
|
+
trackedData: ["page-views", "events"],
|
|
10
|
+
testId: "test-ahrefs-key"
|
|
11
|
+
},
|
|
7
12
|
plausibleAnalytics: {
|
|
8
13
|
urls: ["https://plausible.io/js/script.js"],
|
|
9
14
|
trackedData: ["page-views", "events", "conversions"]
|
|
@@ -84,6 +89,11 @@ const scriptMeta = {
|
|
|
84
89
|
trackedData: ["page-views", "conversions", "retargeting", "audiences"],
|
|
85
90
|
testId: "a2_ilz4u0kbdr3v"
|
|
86
91
|
},
|
|
92
|
+
linkedinInsight: {
|
|
93
|
+
urls: ["https://snap.licdn.com/li.lms-analytics/insight.min.js"],
|
|
94
|
+
trackedData: ["page-views", "conversions", "retargeting", "audiences"],
|
|
95
|
+
testId: "111143"
|
|
96
|
+
},
|
|
87
97
|
googleAdsense: {
|
|
88
98
|
urls: ["https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],
|
|
89
99
|
trackedData: ["page-views", "retargeting", "audiences"]
|
|
@@ -154,6 +164,10 @@ const scriptMeta = {
|
|
|
154
164
|
trackedData: []
|
|
155
165
|
},
|
|
156
166
|
// Utility
|
|
167
|
+
calendly: {
|
|
168
|
+
urls: ["https://assets.calendly.com/assets/external/widget.js"],
|
|
169
|
+
trackedData: []
|
|
170
|
+
},
|
|
157
171
|
googleRecaptcha: {
|
|
158
172
|
urls: ["https://www.google.com/recaptcha/api.js"],
|
|
159
173
|
trackedData: []
|
|
@@ -175,6 +189,11 @@ const scriptMeta = {
|
|
|
175
189
|
urls: ["https://platform.twitter.com/widgets.js"],
|
|
176
190
|
trackedData: []
|
|
177
191
|
},
|
|
192
|
+
// CMP / Consent
|
|
193
|
+
usercentrics: {
|
|
194
|
+
urls: ["https://web.cmp.usercentrics.eu/ui/loader.js", "https://web.cmp.usercentrics.eu/modules/autoblocker.js"],
|
|
195
|
+
trackedData: []
|
|
196
|
+
},
|
|
178
197
|
// Identity
|
|
179
198
|
gravatar: {
|
|
180
199
|
urls: ["https://secure.gravatar.com/js/gprofiles.js"],
|
package/dist/types-source.mjs
CHANGED
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
const types = {
|
|
2
|
+
"_gcm-consent": [
|
|
3
|
+
{
|
|
4
|
+
name: "GcmConsentContract",
|
|
5
|
+
kind: "interface",
|
|
6
|
+
code: "export interface GcmConsentContract {\n /** Forward a `consent`,`<action>`, `<state>` call to the script's transport (dataLayer or gtag). */\n push: (proxy: any, action: 'default' | 'update', state: ConsentState) => void\n}"
|
|
7
|
+
}
|
|
8
|
+
],
|
|
9
|
+
"ahrefs-analytics": [
|
|
10
|
+
{
|
|
11
|
+
name: "AhrefsAnalyticsOptions",
|
|
12
|
+
kind: "const",
|
|
13
|
+
code: "export const AhrefsAnalyticsOptions = object({\n /**\n * Your Ahrefs Web Analytics project key. Set as the `data-key` attribute\n * on the loaded `analytics.js` script tag.\n * @see https://ahrefs.com/web-analytics\n */\n key: pipe(string(), minLength(1)),\n})"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "AhrefsAnalyticsSendEventOptions",
|
|
17
|
+
kind: "interface",
|
|
18
|
+
code: "export interface AhrefsAnalyticsSendEventOptions {\n /** Custom dimensions sent under `props`. */\n props?: Record<string, string>\n /** Arbitrary metadata sent under `meta`. */\n meta?: Record<string, unknown>\n /** Optional callback invoked once the beacon request completes. */\n callback?: (result?: { status?: number }) => void\n}"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "AhrefsAnalyticsInstance",
|
|
22
|
+
kind: "interface",
|
|
23
|
+
code: "export interface AhrefsAnalyticsInstance {\n /**\n * Manually send an event to Ahrefs Analytics. The script auto-fires\n * page-view events on initial load and on `history.pushState`/`popstate`,\n * so SPA navigations are tracked without calling this.\n */\n sendEvent: (name: string, options?: AhrefsAnalyticsSendEventOptions) => void\n}"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "AhrefsAnalyticsApi",
|
|
27
|
+
kind: "interface",
|
|
28
|
+
code: "export interface AhrefsAnalyticsApi {\n AhrefsAnalytics: AhrefsAnalyticsInstance\n}"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
2
31
|
"bing-uet": [
|
|
3
32
|
{
|
|
4
33
|
name: "BingUetOptions",
|
|
@@ -93,6 +122,48 @@ const types = {
|
|
|
93
122
|
code: "interface ScriptBlueskyEmbedSlots {\n default?: (props: object) => any\n loading?: () => any\n error?: (props: object) => any\n}"
|
|
94
123
|
}
|
|
95
124
|
],
|
|
125
|
+
calendly: [
|
|
126
|
+
{
|
|
127
|
+
name: "CalendlyOptions",
|
|
128
|
+
kind: "const",
|
|
129
|
+
code: "export const CalendlyOptions = object({\n /**\n * The Calendly event URL to embed.\n * Required for inline, popup, and badge widgets when called via the composable.\n * @example 'https://calendly.com/your-name/30min'\n * @see https://help.calendly.com/hc/en-us/articles/223147027\n */\n url: optional(string()),\n /**\n * Pre-fill invitee fields on the booking form.\n * @see https://help.calendly.com/hc/en-us/articles/360020052833\n */\n prefill: optional(object({\n name: optional(string()),\n email: optional(string()),\n firstName: optional(string()),\n lastName: optional(string()),\n /** Custom answers keyed by `a1`, `a2`, ... matching custom question order. */\n customAnswers: optional(record(string(), string())),\n })),\n /**\n * UTM parameters appended to the booking URL for marketing attribution.\n * @see https://help.calendly.com/hc/en-us/articles/360020052833\n */\n utm: optional(object({\n utmCampaign: optional(string()),\n utmSource: optional(string()),\n utmMedium: optional(string()),\n utmContent: optional(string()),\n utmTerm: optional(string()),\n })),\n /**\n * Theme and layout overrides applied to the booking page.\n * @see https://help.calendly.com/hc/en-us/articles/360020052833\n */\n pageSettings: optional(object({\n backgroundColor: optional(string()),\n hideEventTypeDetails: optional(boolean()),\n hideLandingPageDetails: optional(boolean()),\n primaryColor: optional(string()),\n textColor: optional(string()),\n })),\n /**\n * CSS selector for the element that hosts the inline widget.\n * Required when the widget is initialised inline; the element should have a\n * minimum height of around 700px so the booking iframe is fully visible.\n */\n parentElement: optional(string()),\n})"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
name: "CalendlyPrefill",
|
|
133
|
+
kind: "interface",
|
|
134
|
+
code: "interface CalendlyPrefill {\n name?: string\n email?: string\n firstName?: string\n lastName?: string\n customAnswers?: Record<string, string>\n}"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "CalendlyUtm",
|
|
138
|
+
kind: "interface",
|
|
139
|
+
code: "interface CalendlyUtm {\n utmCampaign?: string\n utmSource?: string\n utmMedium?: string\n utmContent?: string\n utmTerm?: string\n}"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: "CalendlyPageSettings",
|
|
143
|
+
kind: "interface",
|
|
144
|
+
code: "interface CalendlyPageSettings {\n backgroundColor?: string\n hideEventTypeDetails?: boolean\n hideLandingPageDetails?: boolean\n hideGdprBanner?: boolean\n primaryColor?: string\n textColor?: string\n}"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: "CalendlyInlineWidgetOptions",
|
|
148
|
+
kind: "interface",
|
|
149
|
+
code: "export interface CalendlyInlineWidgetOptions {\n url: string\n parentElement: HTMLElement\n prefill?: CalendlyPrefill\n utm?: CalendlyUtm\n pageSettings?: CalendlyPageSettings\n}"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: "CalendlyPopupWidgetOptions",
|
|
153
|
+
kind: "interface",
|
|
154
|
+
code: "export interface CalendlyPopupWidgetOptions {\n url: string\n rootElement?: HTMLElement\n text?: string\n color?: string\n textColor?: string\n branding?: boolean\n prefill?: CalendlyPrefill\n utm?: CalendlyUtm\n pageSettings?: CalendlyPageSettings\n}"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: "CalendlyBadgeWidgetOptions",
|
|
158
|
+
kind: "interface",
|
|
159
|
+
code: "export interface CalendlyBadgeWidgetOptions {\n url: string\n text?: string\n color?: string\n textColor?: string\n branding?: boolean\n prefill?: CalendlyPrefill\n utm?: CalendlyUtm\n pageSettings?: CalendlyPageSettings\n}"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "CalendlyApi",
|
|
163
|
+
kind: "interface",
|
|
164
|
+
code: "export interface CalendlyApi {\n Calendly: {\n initInlineWidget: (options: CalendlyInlineWidgetOptions) => void\n initPopupWidget: (options: CalendlyPopupWidgetOptions) => void\n initBadgeWidget: (options: CalendlyBadgeWidgetOptions) => void\n showPopupWidget: (url: string) => void\n closePopupWidget: () => void\n initPopupWidgetWithText: (options: CalendlyPopupWidgetOptions) => void\n q?: unknown[]\n }\n}"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
96
167
|
clarity: [
|
|
97
168
|
{
|
|
98
169
|
name: "ClarityOptions",
|
|
@@ -263,8 +334,8 @@ const types = {
|
|
|
263
334
|
},
|
|
264
335
|
{
|
|
265
336
|
name: "GoogleAnalyticsConsent",
|
|
266
|
-
kind: "
|
|
267
|
-
code: "export
|
|
337
|
+
kind: "type",
|
|
338
|
+
code: "export type GoogleAnalyticsConsent = GcmConsentApi"
|
|
268
339
|
}
|
|
269
340
|
],
|
|
270
341
|
"google-maps": [
|
|
@@ -506,8 +577,8 @@ const types = {
|
|
|
506
577
|
},
|
|
507
578
|
{
|
|
508
579
|
name: "GoogleTagManagerConsent",
|
|
509
|
-
kind: "
|
|
510
|
-
code: "export
|
|
580
|
+
kind: "type",
|
|
581
|
+
code: "export type GoogleTagManagerConsent = GcmConsentApi"
|
|
511
582
|
}
|
|
512
583
|
],
|
|
513
584
|
gravatar: [
|
|
@@ -605,6 +676,33 @@ const types = {
|
|
|
605
676
|
code: "interface ScriptLemonSqueezySlots {\n default?: () => any\n}"
|
|
606
677
|
}
|
|
607
678
|
],
|
|
679
|
+
"linkedin-insight": [
|
|
680
|
+
{
|
|
681
|
+
name: "LinkedInInsightOptions",
|
|
682
|
+
kind: "const",
|
|
683
|
+
code: "export const LinkedInInsightOptions = object({\n /**\n * Your LinkedIn Insight Tag Partner ID, or an array of Partner IDs to push\n * onto window._linkedin_data_partner_ids. The first ID is used as the\n * primary _linkedin_partner_id global.\n * @example '111143'\n * @example ['111143', '111154']\n * @see https://www.linkedin.com/help/lms/answer/a417869/access-your-linkedin-partner-id\n */\n id: union([pipe(string(), minLength(1)), pipe(array(pipe(string(), minLength(1))), minLength(1))]),\n /**\n * Optional page-load event ID for Conversions API deduplication. Assigned\n * to window._linkedin_event_id BEFORE the Insight Tag base code runs. Must\n * match the eventId sent with the corresponding server-side Conversions\n * API event.\n *\n * Per-event conversion deduplication uses the per-call event_id passed to\n * lintrk('track', { conversion_id, event_id }) instead.\n * @see https://learn.microsoft.com/en-us/linkedin/marketing/conversions/deduplication\n */\n eventId: optional(string()),\n /**\n * Auto-fire lintrk('track') on Vue Router route changes (SPA virtual page\n * views). When true, suppresses the script's built-in auto-page-view via\n * window._wait_for_lintrk and tracks every navigation including the\n * initial page through Nuxt's page:finish hook. When false, the script\n * fires its own page-view exactly once on load and SPA navigations are\n * not tracked unless lintrk('track') is called manually.\n * @default false\n */\n enableAutoSpaTracking: optional(boolean()),\n})"
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
name: "LintrkTrackParams",
|
|
687
|
+
kind: "interface",
|
|
688
|
+
code: "interface LintrkTrackParams {\n conversion_id?: number\n event_id?: string\n commandCallback?: () => void\n [key: string]: any\n}"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
name: "LintrkUserData",
|
|
692
|
+
kind: "interface",
|
|
693
|
+
code: "interface LintrkUserData {\n /** Plain email; the script SHA-256 hashes it before sending. */\n email: string\n}"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
name: "LintrkFns",
|
|
697
|
+
kind: "type",
|
|
698
|
+
code: "type LintrkFns\n = & ((cmd: 'track', params?: LintrkTrackParams) => void)\n & ((cmd: 'setUserData', data: LintrkUserData) => void)\n & ((cmd: (string & {}), ...args: any[]) => void)"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
name: "LinkedInInsightApi",
|
|
702
|
+
kind: "interface",
|
|
703
|
+
code: "export interface LinkedInInsightApi {\n lintrk: LintrkFns & { q?: unknown[] }\n}"
|
|
704
|
+
}
|
|
705
|
+
],
|
|
608
706
|
"matomo-analytics": [
|
|
609
707
|
{
|
|
610
708
|
name: "MatomoAnalyticsOptions",
|
|
@@ -898,32 +996,52 @@ const types = {
|
|
|
898
996
|
{
|
|
899
997
|
name: "StandardEvents",
|
|
900
998
|
kind: "type",
|
|
901
|
-
code: "type StandardEvents\n = 'ViewContent'\n | 'ClickButton'\n | 'Search'\n | 'AddToWishlist'\n | 'AddToCart'\n | 'InitiateCheckout'\n | 'AddPaymentInfo'\n | 'CompletePayment'\n | 'PlaceAnOrder'\n | 'Contact'\n | 'Download'\n | 'SubmitForm'\n | 'CompleteRegistration'\n | 'Subscribe'"
|
|
999
|
+
code: "type StandardEvents\n = 'ViewContent'\n | 'ClickButton'\n | 'Search'\n | 'AddToWishlist'\n | 'AddToCart'\n | 'InitiateCheckout'\n | 'AddPaymentInfo'\n | 'CompletePayment'\n | 'PlaceAnOrder'\n | 'Purchase'\n | 'Contact'\n | 'Download'\n | 'SubmitForm'\n | 'CompleteRegistration'\n | 'Subscribe'\n | 'StartTrial'\n | 'ApplicationApproval'\n | 'CustomizeProduct'\n | 'FindLocation'\n | 'Schedule'\n | 'SubmitApplication'"
|
|
902
1000
|
},
|
|
903
1001
|
{
|
|
904
1002
|
name: "EventProperties",
|
|
905
1003
|
kind: "interface",
|
|
906
|
-
code: "interface EventProperties {\n content_id?: string\n content_type?: string\n content_name?: string\n contents?: Array<{ content_id: string, content_type?: string, content_name?: string, price?: number, quantity?: number }>\n currency?: string\n value?: number\n description?: string\n query?: string\n [key: string]: any\n}"
|
|
1004
|
+
code: "interface EventProperties {\n content_id?: string\n content_type?: string\n content_name?: string\n contents?: Array<{ content_id: string, content_type?: string, content_name?: string, price?: number, quantity?: number }>\n currency?: string\n value?: number\n description?: string\n query?: string\n /** Order/transaction identifier; complements `event_id` for transaction-level dedup. */\n order_id?: string\n [key: string]: any\n}"
|
|
907
1005
|
},
|
|
908
1006
|
{
|
|
909
1007
|
name: "IdentifyProperties",
|
|
910
1008
|
kind: "interface",
|
|
911
|
-
code: "interface IdentifyProperties {\n email?: string\n phone_number?: string\n external_id?: string\n}"
|
|
1009
|
+
code: "interface IdentifyProperties {\n email?: string\n phone_number?: string\n external_id?: string\n first_name?: string\n last_name?: string\n city?: string\n state?: string\n country?: string\n zip_code?: string\n}"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
name: "TrackOptions",
|
|
1013
|
+
kind: "interface",
|
|
1014
|
+
code: "interface TrackOptions {\n /** Used to deduplicate events sent from both the browser Pixel and the server-side Events API. */\n event_id?: string\n /**\n * Sandbox test-event identifier. When set, events route to TikTok's Test Events panel\n * without affecting production reporting.\n */\n test_event_code?: string\n [key: string]: any\n}"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
name: "TtqInstance",
|
|
1018
|
+
kind: "interface",
|
|
1019
|
+
code: "export interface TtqInstance {\n /** Track a page view. */\n page: () => void\n /** Track a standard or custom conversion event. */\n track: (event: StandardEvents | (string & {}), properties?: EventProperties, options?: TrackOptions) => void\n /** Associate advanced-matching identifiers with the current user. */\n identify: (properties: IdentifyProperties) => void\n /** Opt user in to tracking. Queued before the script loads; live once `events.js` binds. */\n grantConsent: () => void\n /** Opt user out of tracking. Queued before the script loads; live once `events.js` binds. */\n revokeConsent: () => void\n /** Defer consent until an explicit grant/revoke. Queued before the script loads; live once `events.js` binds. */\n holdConsent: () => void\n enableCookie: () => void\n disableCookie: () => void\n}"
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
name: "TtqCallable",
|
|
1023
|
+
kind: "type",
|
|
1024
|
+
code: "type TtqCallable\n = ((cmd: 'track', event: StandardEvents | (string & {}), properties?: EventProperties, options?: TrackOptions) => void)\n & ((cmd: 'page') => void)\n & ((cmd: 'identify', properties: IdentifyProperties) => void)\n & ((cmd: (string & {}), ...args: any[]) => void)"
|
|
912
1025
|
},
|
|
913
1026
|
{
|
|
914
|
-
name: "
|
|
1027
|
+
name: "Ttq",
|
|
915
1028
|
kind: "type",
|
|
916
|
-
code: "type
|
|
1029
|
+
code: "export type Ttq = TtqCallable & TtqInstance & {\n /** Resolve the per-pixel method bag for a specific pixel id. */\n instance: (id: string) => TtqInstance\n}"
|
|
917
1030
|
},
|
|
918
1031
|
{
|
|
919
1032
|
name: "TikTokPixelApi",
|
|
920
1033
|
kind: "interface",
|
|
921
|
-
code: "export interface TikTokPixelApi {\n ttq:
|
|
1034
|
+
code: "export interface TikTokPixelApi {\n ttq: Ttq\n}"
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
name: "TtqArray",
|
|
1038
|
+
kind: "type",
|
|
1039
|
+
code: "type TtqArray = TtqInstance & Array<any[]> & {\n methods: string[]\n setAndDefer: (target: any, method: string) => void\n instance: (id: string) => TtqInstance\n _i?: Record<string, any[]>\n _t?: Record<string, number>\n _o?: Record<string, any>\n}"
|
|
922
1040
|
},
|
|
923
1041
|
{
|
|
924
1042
|
name: "TikTokPixelOptions",
|
|
925
1043
|
kind: "const",
|
|
926
|
-
code: "export const TikTokPixelOptions = object({\n /**\n * Your TikTok Pixel ID.\n * @see https://ads.tiktok.com/help/article/get-started-pixel\n */\n id: string(),\n /**\n * Whether to automatically track a page view on initialization.\n * @default true\n */\n trackPageView: optional(boolean()),\n /**\n * Default consent state, applied before `ttq('init', id)`.\n * - `'granted'` fires `ttq.grantConsent()`\n * - `'denied'` fires `ttq.revokeConsent()`\n * - `'hold'` fires `ttq.holdConsent()` to defer until an explicit update\n * @see https://business-api.tiktok.com/portal/docs?id=1739585600931842\n */\n defaultConsent: optional(union([literal('granted'), literal('denied'), literal('hold')])),\n})"
|
|
1044
|
+
code: "export const TikTokPixelOptions = object({\n /**\n * Your TikTok Pixel ID.\n * @see https://ads.tiktok.com/help/article/get-started-pixel\n */\n id: string(),\n /**\n * Whether to automatically track a page view on initialization.\n * @default true\n */\n trackPageView: optional(boolean()),\n /**\n * Default consent state, applied before `ttq('init', id)`.\n * - `'granted'` fires `ttq.grantConsent()`\n * - `'denied'` fires `ttq.revokeConsent()`\n * - `'hold'` fires `ttq.holdConsent()` to defer until an explicit update\n * @see https://business-api.tiktok.com/portal/docs?id=1739585600931842\n */\n defaultConsent: optional(union([literal('granted'), literal('denied'), literal('hold')])),\n /**\n * Data residency region for the Pixel SDK.\n * - `'global'` (default) -> `analytics.tiktok.com`\n * - `'us'` -> `analytics.us.tiktok.com` (US enterprise data residency)\n */\n region: optional(union([literal('global'), literal('us')])),\n})"
|
|
927
1045
|
},
|
|
928
1046
|
{
|
|
929
1047
|
name: "TikTokPixelConsent",
|
|
@@ -943,6 +1061,33 @@ const types = {
|
|
|
943
1061
|
code: "export interface UmamiAnalyticsApi {\n track: ((payload?: Record<string, any>) => void) & ((event_name: string, event_data: Record<string, any>) => void)\n identify: (session_data?: Record<string, any> | string) => void\n}"
|
|
944
1062
|
}
|
|
945
1063
|
],
|
|
1064
|
+
usercentrics: [
|
|
1065
|
+
{
|
|
1066
|
+
name: "UsercentricsOptions",
|
|
1067
|
+
kind: "const",
|
|
1068
|
+
code: "export const UsercentricsOptions = object({\n /**\n * Your Usercentrics CMP v3 ruleset ID. Find it in the admin under\n * Implementation; the snippet's `data-ruleset-id` value.\n */\n rulesetId: pipe(string(), minLength(1)),\n /**\n * Inject the Usercentrics autoblocker (`autoblocker.js`) ahead of the loader.\n * Enable when your ruleset relies on Auto Blocking (vs. Manual Blocking) to\n * gate third-party scripts before consent is granted.\n * @default false\n */\n autoblocker: optional(boolean()),\n /**\n * Override the language displayed by the CMP UI (BCP-47 code, e.g. `'en'`, `'de'`).\n */\n language: optional(string()),\n})"
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
name: "UsercentricsCmpEventDetail",
|
|
1072
|
+
kind: "interface",
|
|
1073
|
+
code: "export interface UsercentricsCmpEventDetail {\n type: string\n source?: string\n [key: string]: any\n}"
|
|
1074
|
+
},
|
|
1075
|
+
{
|
|
1076
|
+
name: "UsercentricsCmp",
|
|
1077
|
+
kind: "interface",
|
|
1078
|
+
code: "export interface UsercentricsCmp {\n isInitialized: () => Promise<boolean>\n isConsentRequired: () => Promise<boolean>\n showFirstLayer: () => Promise<void>\n showSecondLayer: () => Promise<void>\n showServiceDetails: (id: string) => Promise<void>\n showAutoblockerMoreInfoView: () => Promise<void>\n closeCmp: () => Promise<void>\n acceptAllConsents: () => Promise<void>\n denyAllConsents: () => Promise<void>\n saveConsents: () => Promise<void>\n updateCategoriesConsents: (consents: Array<{ categorySlug: string, consent: boolean }>) => Promise<void>\n updateServicesConsents: (consents: Array<{ templateId: string, consent: boolean }>) => Promise<void>\n updateTcfConsents: (...args: unknown[]) => Promise<void>\n refreshScripts: () => Promise<void>\n clearUserSession: () => Promise<void>\n getConsentDetails: () => Promise<Record<string, any>>\n getCmpConfig: () => Promise<Record<string, any>>\n getActiveLanguage: () => Promise<string>\n getControllerId: () => Promise<string>\n changeLanguage: (lang: string) => Promise<void>\n [key: string]: any\n}"
|
|
1079
|
+
},
|
|
1080
|
+
{
|
|
1081
|
+
name: "UsercentricsApi",
|
|
1082
|
+
kind: "interface",
|
|
1083
|
+
code: "export interface UsercentricsApi {\n ucCmp: UsercentricsCmp\n}"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
name: "UsercentricsConsent",
|
|
1087
|
+
kind: "interface",
|
|
1088
|
+
code: "export interface UsercentricsConsent {\n /**\n * Resolves once the CMP API is ready (`UC_CMP_API_READY`) or immediately if\n * it already is. Resolves with `window.__ucCmp` so callers can query\n * consent state without polling.\n */\n whenReady: () => Promise<UsercentricsCmp>\n /**\n * Subscribe to `UC_UI_CMP_EVENT` browser events (the v3 consent change\n * event). Returns a teardown function. The callback receives the event\n * detail, e.g. `{ type: 'ACCEPT_ALL' | 'DENY_ALL' | 'SAVE', ... }`.\n */\n onConsentChange: (cb: (detail: UsercentricsCmpEventDetail, event: Event) => void) => () => void\n /** Open the privacy settings (first layer banner). */\n showFirstLayer: () => Promise<void> | void\n /** Open the detailed settings (second layer modal). */\n showSecondLayer: () => Promise<void> | void\n /** Accept all consents. */\n acceptAll: () => Promise<void> | void\n /** Reject all consents. */\n denyAll: () => Promise<void> | void\n}"
|
|
1089
|
+
}
|
|
1090
|
+
],
|
|
946
1091
|
"vercel-analytics": [
|
|
947
1092
|
{
|
|
948
1093
|
name: "VercelAnalyticsOptions",
|
|
@@ -1087,6 +1232,61 @@ const types = {
|
|
|
1087
1232
|
]
|
|
1088
1233
|
};
|
|
1089
1234
|
const schemaFields = {
|
|
1235
|
+
gcmConsentState: [
|
|
1236
|
+
{
|
|
1237
|
+
name: "ad_storage",
|
|
1238
|
+
type: "unknown",
|
|
1239
|
+
required: false
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
name: "ad_user_data",
|
|
1243
|
+
type: "unknown",
|
|
1244
|
+
required: false
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
name: "ad_personalization",
|
|
1248
|
+
type: "unknown",
|
|
1249
|
+
required: false
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
name: "analytics_storage",
|
|
1253
|
+
type: "unknown",
|
|
1254
|
+
required: false
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
name: "functionality_storage",
|
|
1258
|
+
type: "unknown",
|
|
1259
|
+
required: false
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
name: "personalization_storage",
|
|
1263
|
+
type: "unknown",
|
|
1264
|
+
required: false
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
name: "security_storage",
|
|
1268
|
+
type: "unknown",
|
|
1269
|
+
required: false
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
name: "wait_for_update",
|
|
1273
|
+
type: "number",
|
|
1274
|
+
required: false
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
name: "region",
|
|
1278
|
+
type: "string[]",
|
|
1279
|
+
required: false
|
|
1280
|
+
}
|
|
1281
|
+
],
|
|
1282
|
+
AhrefsAnalyticsOptions: [
|
|
1283
|
+
{
|
|
1284
|
+
name: "key",
|
|
1285
|
+
type: "string",
|
|
1286
|
+
required: true,
|
|
1287
|
+
description: "Your Ahrefs Web Analytics project key. Set as the `data-key` attribute on the loaded `analytics.js` script tag."
|
|
1288
|
+
}
|
|
1289
|
+
],
|
|
1090
1290
|
BlueskyEmbedOptions: [
|
|
1091
1291
|
{
|
|
1092
1292
|
name: "postUrl",
|
|
@@ -2011,6 +2211,80 @@ const schemaFields = {
|
|
|
2011
2211
|
description: "Default consent state fired as `uetq.push('consent', 'default', ...)` before UET init."
|
|
2012
2212
|
}
|
|
2013
2213
|
],
|
|
2214
|
+
LinkedInInsightOptions: [
|
|
2215
|
+
{
|
|
2216
|
+
name: "id",
|
|
2217
|
+
type: "string | string[]",
|
|
2218
|
+
required: true,
|
|
2219
|
+
description: "Your LinkedIn Insight Tag Partner ID, or an array of Partner IDs to push onto window._linkedin_data_partner_ids. The first ID is used as the primary _linkedin_partner_id global."
|
|
2220
|
+
},
|
|
2221
|
+
{
|
|
2222
|
+
name: "eventId",
|
|
2223
|
+
type: "string",
|
|
2224
|
+
required: false,
|
|
2225
|
+
description: "Optional page-load event ID for Conversions API deduplication. Assigned to window._linkedin_event_id BEFORE the Insight Tag base code runs. Must match the eventId sent with the corresponding server-side Conversions API event. Per-event conversion deduplication uses the per-call event_id passed to lintrk('track', { conversion_id, event_id }) instead."
|
|
2226
|
+
},
|
|
2227
|
+
{
|
|
2228
|
+
name: "enableAutoSpaTracking",
|
|
2229
|
+
type: "boolean",
|
|
2230
|
+
required: false,
|
|
2231
|
+
description: "Auto-fire lintrk('track') on Vue Router route changes (SPA virtual page views). When true, suppresses the script's built-in auto-page-view via window._wait_for_lintrk and tracks every navigation including the initial page through Nuxt's page:finish hook. When false, the script fires its own page-view exactly once on load and SPA navigations are not tracked unless lintrk('track') is called manually.",
|
|
2232
|
+
defaultValue: "false"
|
|
2233
|
+
}
|
|
2234
|
+
],
|
|
2235
|
+
UsercentricsOptions: [
|
|
2236
|
+
{
|
|
2237
|
+
name: "rulesetId",
|
|
2238
|
+
type: "string",
|
|
2239
|
+
required: true,
|
|
2240
|
+
description: "Your Usercentrics CMP v3 ruleset ID. Find it in the admin under Implementation; the snippet's `data-ruleset-id` value."
|
|
2241
|
+
},
|
|
2242
|
+
{
|
|
2243
|
+
name: "autoblocker",
|
|
2244
|
+
type: "boolean",
|
|
2245
|
+
required: false,
|
|
2246
|
+
description: "Inject the Usercentrics autoblocker (`autoblocker.js`) ahead of the loader. Enable when your ruleset relies on Auto Blocking (vs. Manual Blocking) to gate third-party scripts before consent is granted.",
|
|
2247
|
+
defaultValue: "false"
|
|
2248
|
+
},
|
|
2249
|
+
{
|
|
2250
|
+
name: "language",
|
|
2251
|
+
type: "string",
|
|
2252
|
+
required: false,
|
|
2253
|
+
description: "Override the language displayed by the CMP UI (BCP-47 code, e.g. `'en'`, `'de'`)."
|
|
2254
|
+
}
|
|
2255
|
+
],
|
|
2256
|
+
CalendlyOptions: [
|
|
2257
|
+
{
|
|
2258
|
+
name: "url",
|
|
2259
|
+
type: "string",
|
|
2260
|
+
required: false,
|
|
2261
|
+
description: "The Calendly event URL to embed. Required for inline, popup, and badge widgets when called via the composable."
|
|
2262
|
+
},
|
|
2263
|
+
{
|
|
2264
|
+
name: "prefill",
|
|
2265
|
+
type: "object",
|
|
2266
|
+
required: false,
|
|
2267
|
+
description: "Pre-fill invitee fields on the booking form."
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
name: "utm",
|
|
2271
|
+
type: "object",
|
|
2272
|
+
required: false,
|
|
2273
|
+
description: "UTM parameters appended to the booking URL for marketing attribution."
|
|
2274
|
+
},
|
|
2275
|
+
{
|
|
2276
|
+
name: "pageSettings",
|
|
2277
|
+
type: "object",
|
|
2278
|
+
required: false,
|
|
2279
|
+
description: "Theme and layout overrides applied to the booking page."
|
|
2280
|
+
},
|
|
2281
|
+
{
|
|
2282
|
+
name: "parentElement",
|
|
2283
|
+
type: "string",
|
|
2284
|
+
required: false,
|
|
2285
|
+
description: "CSS selector for the element that hosts the inline widget. Required when the widget is initialised inline; the element should have a minimum height of around 700px so the booking iframe is fully visible."
|
|
2286
|
+
}
|
|
2287
|
+
],
|
|
2014
2288
|
SegmentOptions: [
|
|
2015
2289
|
{
|
|
2016
2290
|
name: "writeKey",
|
|
@@ -2142,6 +2416,12 @@ const schemaFields = {
|
|
|
2142
2416
|
type: "'granted' | 'denied' | 'hold'",
|
|
2143
2417
|
required: false,
|
|
2144
2418
|
description: "Default consent state, applied before `ttq('init', id)`. - `'granted'` fires `ttq.grantConsent()` - `'denied'` fires `ttq.revokeConsent()` - `'hold'` fires `ttq.holdConsent()` to defer until an explicit update"
|
|
2419
|
+
},
|
|
2420
|
+
{
|
|
2421
|
+
name: "region",
|
|
2422
|
+
type: "'global' | 'us'",
|
|
2423
|
+
required: false,
|
|
2424
|
+
description: "Data residency region for the Pixel SDK. - `'global'` (default) -> `analytics.tiktok.com` - `'us'` -> `analytics.us.tiktok.com` (US enterprise data residency)"
|
|
2145
2425
|
}
|
|
2146
2426
|
],
|
|
2147
2427
|
UmamiAnalyticsOptions: [
|
package/dist/types.d.mts
CHANGED
|
@@ -6,6 +6,6 @@ declare module '@nuxt/schema' {
|
|
|
6
6
|
|
|
7
7
|
export { type FirstPartyPrivacy } from '../dist/runtime/types.js'
|
|
8
8
|
|
|
9
|
-
export { type applyAutoInject, default, type isProxyDisabled, type resolveConfiguredProxyDomains, type resolveProxySecret } from './module.mjs'
|
|
9
|
+
export { type applyAutoInject, default, type findMissingRequiredFields, type isProxyDisabled, type resolveConfiguredProxyDomains, type resolveProxySecret } from './module.mjs'
|
|
10
10
|
|
|
11
11
|
export { type ModuleHooks, type ModuleOptions, type ResolvedProxySecret } from './module.mjs'
|