@nuxt/scripts 1.0.6 → 1.1.0
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/{YlRaZkPa.js → 1wb58MKb.js} +1 -1
- package/dist/devtools-client/_nuxt/{CZp-OuKP.js → BbLmrp_o.js} +1 -1
- package/dist/devtools-client/_nuxt/{DyyF3uw_.js → Cx46cS8a.js} +1 -1
- package/dist/devtools-client/_nuxt/{Djr8-0jV.js → D-M51CV3.js} +1 -1
- package/dist/devtools-client/_nuxt/D4HTNcLU.js +188 -0
- package/dist/devtools-client/_nuxt/{W-xcwSaJ.js → DU3BlAm5.js} +1 -1
- package/dist/devtools-client/_nuxt/{GzJXdFDa.js → DiaY4J4_.js} +1 -1
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
- package/dist/devtools-client/_nuxt/builds/meta/0b4ab733-07a6-40b2-b25e-aca95fa55188.json +1 -0
- package/dist/devtools-client/_nuxt/error-404.D2T48gBS.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.sMTZJbsP.css +1 -0
- 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 +7 -1
- package/dist/module.d.ts +7 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +266 -34
- 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 +28 -2
- package/dist/runtime/registry/tiktok-pixel.js +18 -1
- 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 +274 -9
- package/dist/types.d.mts +1 -1
- package/package.json +9 -6
- package/dist/devtools-client/_nuxt/DtB6K90V.js +0 -188
- 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/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,22 +996,27 @@ 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}"
|
|
912
1015
|
},
|
|
913
1016
|
{
|
|
914
1017
|
name: "TtqFns",
|
|
915
1018
|
kind: "type",
|
|
916
|
-
code: "type TtqFns\n = ((cmd: 'track', event: StandardEvents | (string & {}), properties?: EventProperties) => void)\n & ((cmd: 'page') => void)\n & ((cmd: 'identify', properties: IdentifyProperties) => void)\n & ((cmd: (string & {}), ...args: any[]) => void)"
|
|
1019
|
+
code: "type TtqFns\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)"
|
|
917
1020
|
},
|
|
918
1021
|
{
|
|
919
1022
|
name: "TikTokPixelApi",
|
|
@@ -923,7 +1026,7 @@ const types = {
|
|
|
923
1026
|
{
|
|
924
1027
|
name: "TikTokPixelOptions",
|
|
925
1028
|
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})"
|
|
1029
|
+
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
1030
|
},
|
|
928
1031
|
{
|
|
929
1032
|
name: "TikTokPixelConsent",
|
|
@@ -943,6 +1046,33 @@ const types = {
|
|
|
943
1046
|
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
1047
|
}
|
|
945
1048
|
],
|
|
1049
|
+
usercentrics: [
|
|
1050
|
+
{
|
|
1051
|
+
name: "UsercentricsOptions",
|
|
1052
|
+
kind: "const",
|
|
1053
|
+
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})"
|
|
1054
|
+
},
|
|
1055
|
+
{
|
|
1056
|
+
name: "UsercentricsCmpEventDetail",
|
|
1057
|
+
kind: "interface",
|
|
1058
|
+
code: "export interface UsercentricsCmpEventDetail {\n type: string\n source?: string\n [key: string]: any\n}"
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
name: "UsercentricsCmp",
|
|
1062
|
+
kind: "interface",
|
|
1063
|
+
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}"
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
name: "UsercentricsApi",
|
|
1067
|
+
kind: "interface",
|
|
1068
|
+
code: "export interface UsercentricsApi {\n ucCmp: UsercentricsCmp\n}"
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
name: "UsercentricsConsent",
|
|
1072
|
+
kind: "interface",
|
|
1073
|
+
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}"
|
|
1074
|
+
}
|
|
1075
|
+
],
|
|
946
1076
|
"vercel-analytics": [
|
|
947
1077
|
{
|
|
948
1078
|
name: "VercelAnalyticsOptions",
|
|
@@ -1087,6 +1217,61 @@ const types = {
|
|
|
1087
1217
|
]
|
|
1088
1218
|
};
|
|
1089
1219
|
const schemaFields = {
|
|
1220
|
+
gcmConsentState: [
|
|
1221
|
+
{
|
|
1222
|
+
name: "ad_storage",
|
|
1223
|
+
type: "unknown",
|
|
1224
|
+
required: false
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
name: "ad_user_data",
|
|
1228
|
+
type: "unknown",
|
|
1229
|
+
required: false
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
name: "ad_personalization",
|
|
1233
|
+
type: "unknown",
|
|
1234
|
+
required: false
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
name: "analytics_storage",
|
|
1238
|
+
type: "unknown",
|
|
1239
|
+
required: false
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
name: "functionality_storage",
|
|
1243
|
+
type: "unknown",
|
|
1244
|
+
required: false
|
|
1245
|
+
},
|
|
1246
|
+
{
|
|
1247
|
+
name: "personalization_storage",
|
|
1248
|
+
type: "unknown",
|
|
1249
|
+
required: false
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
name: "security_storage",
|
|
1253
|
+
type: "unknown",
|
|
1254
|
+
required: false
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
name: "wait_for_update",
|
|
1258
|
+
type: "number",
|
|
1259
|
+
required: false
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
name: "region",
|
|
1263
|
+
type: "string[]",
|
|
1264
|
+
required: false
|
|
1265
|
+
}
|
|
1266
|
+
],
|
|
1267
|
+
AhrefsAnalyticsOptions: [
|
|
1268
|
+
{
|
|
1269
|
+
name: "key",
|
|
1270
|
+
type: "string",
|
|
1271
|
+
required: true,
|
|
1272
|
+
description: "Your Ahrefs Web Analytics project key. Set as the `data-key` attribute on the loaded `analytics.js` script tag."
|
|
1273
|
+
}
|
|
1274
|
+
],
|
|
1090
1275
|
BlueskyEmbedOptions: [
|
|
1091
1276
|
{
|
|
1092
1277
|
name: "postUrl",
|
|
@@ -2011,6 +2196,80 @@ const schemaFields = {
|
|
|
2011
2196
|
description: "Default consent state fired as `uetq.push('consent', 'default', ...)` before UET init."
|
|
2012
2197
|
}
|
|
2013
2198
|
],
|
|
2199
|
+
LinkedInInsightOptions: [
|
|
2200
|
+
{
|
|
2201
|
+
name: "id",
|
|
2202
|
+
type: "string | string[]",
|
|
2203
|
+
required: true,
|
|
2204
|
+
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."
|
|
2205
|
+
},
|
|
2206
|
+
{
|
|
2207
|
+
name: "eventId",
|
|
2208
|
+
type: "string",
|
|
2209
|
+
required: false,
|
|
2210
|
+
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."
|
|
2211
|
+
},
|
|
2212
|
+
{
|
|
2213
|
+
name: "enableAutoSpaTracking",
|
|
2214
|
+
type: "boolean",
|
|
2215
|
+
required: false,
|
|
2216
|
+
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.",
|
|
2217
|
+
defaultValue: "false"
|
|
2218
|
+
}
|
|
2219
|
+
],
|
|
2220
|
+
UsercentricsOptions: [
|
|
2221
|
+
{
|
|
2222
|
+
name: "rulesetId",
|
|
2223
|
+
type: "string",
|
|
2224
|
+
required: true,
|
|
2225
|
+
description: "Your Usercentrics CMP v3 ruleset ID. Find it in the admin under Implementation; the snippet's `data-ruleset-id` value."
|
|
2226
|
+
},
|
|
2227
|
+
{
|
|
2228
|
+
name: "autoblocker",
|
|
2229
|
+
type: "boolean",
|
|
2230
|
+
required: false,
|
|
2231
|
+
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.",
|
|
2232
|
+
defaultValue: "false"
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
name: "language",
|
|
2236
|
+
type: "string",
|
|
2237
|
+
required: false,
|
|
2238
|
+
description: "Override the language displayed by the CMP UI (BCP-47 code, e.g. `'en'`, `'de'`)."
|
|
2239
|
+
}
|
|
2240
|
+
],
|
|
2241
|
+
CalendlyOptions: [
|
|
2242
|
+
{
|
|
2243
|
+
name: "url",
|
|
2244
|
+
type: "string",
|
|
2245
|
+
required: false,
|
|
2246
|
+
description: "The Calendly event URL to embed. Required for inline, popup, and badge widgets when called via the composable."
|
|
2247
|
+
},
|
|
2248
|
+
{
|
|
2249
|
+
name: "prefill",
|
|
2250
|
+
type: "object",
|
|
2251
|
+
required: false,
|
|
2252
|
+
description: "Pre-fill invitee fields on the booking form."
|
|
2253
|
+
},
|
|
2254
|
+
{
|
|
2255
|
+
name: "utm",
|
|
2256
|
+
type: "object",
|
|
2257
|
+
required: false,
|
|
2258
|
+
description: "UTM parameters appended to the booking URL for marketing attribution."
|
|
2259
|
+
},
|
|
2260
|
+
{
|
|
2261
|
+
name: "pageSettings",
|
|
2262
|
+
type: "object",
|
|
2263
|
+
required: false,
|
|
2264
|
+
description: "Theme and layout overrides applied to the booking page."
|
|
2265
|
+
},
|
|
2266
|
+
{
|
|
2267
|
+
name: "parentElement",
|
|
2268
|
+
type: "string",
|
|
2269
|
+
required: false,
|
|
2270
|
+
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."
|
|
2271
|
+
}
|
|
2272
|
+
],
|
|
2014
2273
|
SegmentOptions: [
|
|
2015
2274
|
{
|
|
2016
2275
|
name: "writeKey",
|
|
@@ -2142,6 +2401,12 @@ const schemaFields = {
|
|
|
2142
2401
|
type: "'granted' | 'denied' | 'hold'",
|
|
2143
2402
|
required: false,
|
|
2144
2403
|
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"
|
|
2404
|
+
},
|
|
2405
|
+
{
|
|
2406
|
+
name: "region",
|
|
2407
|
+
type: "'global' | 'us'",
|
|
2408
|
+
required: false,
|
|
2409
|
+
description: "Data residency region for the Pixel SDK. - `'global'` (default) -> `analytics.tiktok.com` - `'us'` -> `analytics.us.tiktok.com` (US enterprise data residency)"
|
|
2145
2410
|
}
|
|
2146
2411
|
],
|
|
2147
2412
|
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'
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxt/scripts",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -103,7 +103,6 @@
|
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
105
|
"@nuxt/devtools-kit": "^3.2.4",
|
|
106
|
-
"@nuxt/kit": "^4.4.4",
|
|
107
106
|
"@vueuse/core": "^14.3.0",
|
|
108
107
|
"@vueuse/shared": "^14.3.0",
|
|
109
108
|
"consola": "^3.4.2",
|
|
@@ -112,8 +111,8 @@
|
|
|
112
111
|
"magic-string": "^0.30.21",
|
|
113
112
|
"ofetch": "^1.5.1",
|
|
114
113
|
"ohash": "^2.0.11",
|
|
115
|
-
"oxc-parser": "^0.
|
|
116
|
-
"oxc-walker": "^0.
|
|
114
|
+
"oxc-parser": "^0.130.0",
|
|
115
|
+
"oxc-walker": "^1.0.0",
|
|
117
116
|
"pathe": "^2.0.3",
|
|
118
117
|
"pkg-types": "^2.3.1",
|
|
119
118
|
"sirv": "^3.0.2",
|
|
@@ -122,10 +121,14 @@
|
|
|
122
121
|
"ultrahtml": "^1.6.0",
|
|
123
122
|
"unplugin": "^3.0.0",
|
|
124
123
|
"unstorage": "^1.17.5",
|
|
125
|
-
"valibot": "^1.
|
|
124
|
+
"valibot": "^1.4.0"
|
|
126
125
|
},
|
|
127
126
|
"devDependencies": {
|
|
128
|
-
"@nuxt/
|
|
127
|
+
"@nuxt/kit": "^4.4.5",
|
|
128
|
+
"@nuxt/module-builder": "^1.0.2",
|
|
129
|
+
"rollup": "^4.60.3",
|
|
130
|
+
"unbuild": "^3.6.1",
|
|
131
|
+
"unimport": "^6.2.0"
|
|
129
132
|
},
|
|
130
133
|
"scripts": {
|
|
131
134
|
"build": "nuxt-module-build build",
|