@nuxt/scripts 1.0.5 → 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/{xOsbuyp3.js → 1wb58MKb.js} +1 -1
- package/dist/devtools-client/_nuxt/{CApasjik.js → BbLmrp_o.js} +1 -1
- package/dist/devtools-client/_nuxt/{zmRZ2I-R.js → Cx46cS8a.js} +1 -1
- package/dist/devtools-client/_nuxt/{CTPc9yIZ.js → D-M51CV3.js} +1 -1
- package/dist/devtools-client/_nuxt/D4HTNcLU.js +188 -0
- package/dist/devtools-client/_nuxt/{Dj5q49Yv.js → DU3BlAm5.js} +1 -1
- package/dist/devtools-client/_nuxt/{CbCcQNvm.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 +50 -7
- 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 +9 -12
- package/dist/runtime/registry/google-tag-manager.d.ts +5 -6
- package/dist/runtime/registry/google-tag-manager.js +18 -20
- 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 +165 -6
- package/dist/runtime/registry/schemas.js +125 -7
- 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 +40 -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 +280 -15
- package/dist/types.d.mts +1 -1
- package/package.json +11 -8
- package/dist/devtools-client/_nuxt/BNvWpYaC.js +0 -188
- package/dist/devtools-client/_nuxt/builds/meta/caa75c14-abb0-4d9e-8f1a-440e91f4b1eb.json +0 -1
- package/dist/devtools-client/_nuxt/error-404.upckUYZO.css +0 -1
- package/dist/devtools-client/_nuxt/error-500.DS4SeCFl.css +0 -1
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",
|
|
@@ -259,12 +330,12 @@ const types = {
|
|
|
259
330
|
{
|
|
260
331
|
name: "GoogleAnalyticsOptions",
|
|
261
332
|
kind: "const",
|
|
262
|
-
code: "export const GoogleAnalyticsOptions = object({\n /**\n * The GA4 measurement ID.\n * @example 'G-XXXXXXXX'\n * @see https://developers.google.com/analytics/devguides/collection/gtagjs\n */\n id: optional(string()),\n /**\n * Global name for the dataLayer variable.\n * @default 'dataLayer'\n * @see https://developers.google.com/analytics/devguides/collection/gtagjs/setting-up-gtag#rename_the_data_layer\n */\n l: optional(string()),\n /**\n * Default GCMv2 consent state fired as `gtag('consent', 'default',
|
|
333
|
+
code: "export const GoogleAnalyticsOptions = object({\n /**\n * The GA4 measurement ID.\n * @example 'G-XXXXXXXX'\n * @see https://developers.google.com/analytics/devguides/collection/gtagjs\n */\n id: optional(string()),\n /**\n * Global name for the dataLayer variable.\n * @default 'dataLayer'\n * @see https://developers.google.com/analytics/devguides/collection/gtagjs/setting-up-gtag#rename_the_data_layer\n */\n l: optional(string()),\n /**\n * Default GCMv2 consent state(s) fired as `gtag('consent', 'default', state)` before\n * `gtag('js', ...)`. Pass an array to fire multiple defaults — for example, different\n * defaults per `region` (more specific regions override broader ones at runtime).\n * @see https://developers.google.com/tag-platform/security/guides/consent?consentmode=advanced#region-specific-behavior\n */\n defaultConsent: optional(union([gcmConsentState, array(gcmConsentState)])),\n})"
|
|
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": [
|
|
@@ -502,12 +573,12 @@ const types = {
|
|
|
502
573
|
{
|
|
503
574
|
name: "GoogleTagManagerOptions",
|
|
504
575
|
kind: "const",
|
|
505
|
-
code: "export const GoogleTagManagerOptions = object({\n /**\n * GTM container ID (format: GTM-XXXXXX)\n * @see https://developers.google.com/tag-platform/tag-manager/web#install-the-container\n */\n id: string(),\n\n /**\n * Optional dataLayer variable name\n * @default 'dataLayer'\n * @see https://developers.google.com/tag-platform/tag-manager/web/datalayer#rename_the_data_layer\n */\n l: optional(string()),\n\n /**\n * Authentication token for environment-specific container versions\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n auth: optional(string()),\n\n /**\n * Preview environment name\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n preview: optional(string()),\n\n /** Forces GTM cookies to take precedence when true */\n cookiesWin: optional(union([boolean(), literal('x')])),\n\n /**\n * Enables debug mode when true\n * @see https://support.google.com/tagmanager/answer/6107056\n */\n debug: optional(union([boolean(), literal('x')])),\n\n /**\n * No Personal Advertising - disables advertising features when true\n * @see https://developers.google.com/tag-platform/tag-manager/templates/consent-apis\n */\n npa: optional(union([boolean(), literal('1')])),\n\n /** Custom dataLayer name (alternative to \"l\" property) */\n dataLayer: optional(string()),\n\n /**\n * Environment name for environment-specific container\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n envName: optional(string()),\n\n /** Referrer policy for analytics requests */\n authReferrerPolicy: optional(string()),\n\n /**\n * Default consent
|
|
576
|
+
code: "export const GoogleTagManagerOptions = object({\n /**\n * GTM container ID (format: GTM-XXXXXX)\n * @see https://developers.google.com/tag-platform/tag-manager/web#install-the-container\n */\n id: string(),\n\n /**\n * Optional dataLayer variable name\n * @default 'dataLayer'\n * @see https://developers.google.com/tag-platform/tag-manager/web/datalayer#rename_the_data_layer\n */\n l: optional(string()),\n\n /**\n * Authentication token for environment-specific container versions\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n auth: optional(string()),\n\n /**\n * Preview environment name\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n preview: optional(string()),\n\n /** Forces GTM cookies to take precedence when true */\n cookiesWin: optional(union([boolean(), literal('x')])),\n\n /**\n * Enables debug mode when true\n * @see https://support.google.com/tagmanager/answer/6107056\n */\n debug: optional(union([boolean(), literal('x')])),\n\n /**\n * No Personal Advertising - disables advertising features when true\n * @see https://developers.google.com/tag-platform/tag-manager/templates/consent-apis\n */\n npa: optional(union([boolean(), literal('1')])),\n\n /** Custom dataLayer name (alternative to \"l\" property) */\n dataLayer: optional(string()),\n\n /**\n * Environment name for environment-specific container\n * @see https://support.google.com/tagmanager/answer/6328337\n */\n envName: optional(string()),\n\n /** Referrer policy for analytics requests */\n authReferrerPolicy: optional(string()),\n\n /**\n * Default GCMv2 consent state(s) fired as `['consent','default', state]` onto the dataLayer\n * before the `gtm.js` event. Pass an array to fire multiple defaults — for example,\n * different defaults per `region` (more specific regions override broader ones at runtime).\n * @see https://developers.google.com/tag-platform/tag-manager/templates/consent-apis\n * @see https://developers.google.com/tag-platform/security/guides/consent?consentmode=advanced#region-specific-behavior\n */\n defaultConsent: optional(union([gcmConsentState, array(gcmConsentState)])),\n})"
|
|
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",
|
|
@@ -1442,9 +1627,9 @@ const schemaFields = {
|
|
|
1442
1627
|
},
|
|
1443
1628
|
{
|
|
1444
1629
|
name: "defaultConsent",
|
|
1445
|
-
type: "unknown",
|
|
1630
|
+
type: "unknown | unknown[]",
|
|
1446
1631
|
required: false,
|
|
1447
|
-
description: "Default GCMv2 consent state fired as `gtag('consent', 'default',
|
|
1632
|
+
description: "Default GCMv2 consent state(s) fired as `gtag('consent', 'default', state)` before `gtag('js', ...)`. Pass an array to fire multiple defaults — for example, different defaults per `region` (more specific regions override broader ones at runtime)."
|
|
1448
1633
|
}
|
|
1449
1634
|
],
|
|
1450
1635
|
GoogleMapsOptions: [
|
|
@@ -1631,9 +1816,9 @@ const schemaFields = {
|
|
|
1631
1816
|
},
|
|
1632
1817
|
{
|
|
1633
1818
|
name: "defaultConsent",
|
|
1634
|
-
type: "
|
|
1819
|
+
type: "unknown | unknown[]",
|
|
1635
1820
|
required: false,
|
|
1636
|
-
description: "Default consent
|
|
1821
|
+
description: "Default GCMv2 consent state(s) fired as `['consent','default', state]` onto the dataLayer before the `gtm.js` event. Pass an array to fire multiple defaults — for example, different defaults per `region` (more specific regions override broader ones at runtime)."
|
|
1637
1822
|
}
|
|
1638
1823
|
],
|
|
1639
1824
|
HotjarOptions: [
|
|
@@ -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,17 +103,16 @@
|
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
105
|
"@nuxt/devtools-kit": "^3.2.4",
|
|
106
|
-
"@
|
|
107
|
-
"@vueuse/
|
|
108
|
-
"@vueuse/shared": "^14.2.1",
|
|
106
|
+
"@vueuse/core": "^14.3.0",
|
|
107
|
+
"@vueuse/shared": "^14.3.0",
|
|
109
108
|
"consola": "^3.4.2",
|
|
110
109
|
"defu": "^6.1.7",
|
|
111
110
|
"h3": "^1.15.11",
|
|
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",
|