@nuxt/scripts 2.0.0-beta.5 → 2.0.0-beta.7

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.
Files changed (86) hide show
  1. package/LICENSE.md +9 -0
  2. package/dist/devtools-client/200.html +1 -1
  3. package/dist/devtools-client/404.html +1 -1
  4. package/dist/devtools-client/_nuxt/BI6wdYky.js +1 -0
  5. package/dist/devtools-client/_nuxt/BQKaRBnk.js +179 -0
  6. package/dist/devtools-client/_nuxt/BckE5qrE.js +1 -0
  7. package/dist/devtools-client/_nuxt/CIwvJvFr.js +1 -0
  8. package/dist/devtools-client/_nuxt/Car86Ubo.js +3 -0
  9. package/dist/devtools-client/_nuxt/{Dat651Oh.js → ClT2ZYzs.js} +1 -1
  10. package/dist/devtools-client/_nuxt/Cs0md1ml.js +1 -0
  11. package/dist/devtools-client/_nuxt/D4iN56En.js +1 -0
  12. package/dist/devtools-client/_nuxt/DN3hUMR_.js +1 -0
  13. package/dist/devtools-client/_nuxt/DXEYGql4.js +1 -0
  14. package/dist/devtools-client/_nuxt/Divy0_cA.js +8 -0
  15. package/dist/devtools-client/_nuxt/QMsSHdby.js +6 -0
  16. package/dist/devtools-client/_nuxt/WbNXtEed.js +2 -0
  17. package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
  18. package/dist/devtools-client/_nuxt/builds/meta/7f4505e1-4a64-4e0a-b3dd-aa394b0cd7f2.json +1 -0
  19. package/dist/devtools-client/_nuxt/entry.-RqqMwHr.css +2 -0
  20. package/dist/devtools-client/_nuxt/error-404.BJ1JSMYb.css +1 -0
  21. package/dist/devtools-client/_nuxt/error-500.BBf0uW5X.css +1 -0
  22. package/dist/devtools-client/_nuxt/{pages.aU4WirOM.css → pages.BTJrCFzE.css} +1 -1
  23. package/dist/devtools-client/docs/index.html +1 -1
  24. package/dist/devtools-client/first-party/index.html +1 -1
  25. package/dist/devtools-client/index.html +1 -1
  26. package/dist/devtools-client/registry/index.html +1 -1
  27. package/dist/module.d.mts +1 -0
  28. package/dist/module.d.ts +1 -0
  29. package/dist/module.json +1 -1
  30. package/dist/module.mjs +4 -1
  31. package/dist/registry.mjs +24 -1
  32. package/dist/runtime/components/Leaflet/ScriptLeafletMap.d.vue.ts +5 -5
  33. package/dist/runtime/components/Leaflet/ScriptLeafletMap.vue.d.ts +5 -5
  34. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.d.vue.ts +14 -35
  35. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.vue +194 -12
  36. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.vue.d.ts +14 -35
  37. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.d.vue.ts +22 -86
  38. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.vue +16 -4
  39. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.vue.d.ts +22 -86
  40. package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.d.vue.ts +9 -18
  41. package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.vue.d.ts +9 -18
  42. package/dist/runtime/components/MapLibre/ScriptMapLibreNavigationControl.d.vue.ts +3 -8
  43. package/dist/runtime/components/MapLibre/ScriptMapLibreNavigationControl.vue.d.ts +3 -8
  44. package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.d.vue.ts +7 -14
  45. package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.vue.d.ts +7 -14
  46. package/dist/runtime/components/MapLibre/types.d.ts +186 -0
  47. package/dist/runtime/components/MapLibre/types.js +0 -0
  48. package/dist/runtime/components/MapLibre/useMapLibreResource.d.ts +8 -1
  49. package/dist/runtime/components/MapLibre/useMapLibreResource.js +9 -2
  50. package/dist/runtime/components/ScriptCarbonAds.vue +3 -1
  51. package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +1 -1
  52. package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +1 -1
  53. package/dist/runtime/registry/pulse-analytics.d.ts +32 -0
  54. package/dist/runtime/registry/pulse-analytics.js +80 -0
  55. package/dist/runtime/registry/schemas.d.ts +42 -0
  56. package/dist/runtime/registry/schemas.js +42 -0
  57. package/dist/runtime/registry/tawk-to.d.ts +126 -0
  58. package/dist/runtime/registry/tawk-to.js +147 -0
  59. package/dist/runtime/server/proxy-handler.d.ts +0 -4
  60. package/dist/runtime/server/proxy-handler.js +109 -38
  61. package/dist/runtime/server/utils/network-dispatcher.platform.d.ts +2 -2
  62. package/dist/runtime/server/utils/network-dispatcher.platform.js +4 -1
  63. package/dist/runtime/types.d.ts +6 -1
  64. package/dist/stats.mjs +81 -0
  65. package/dist/types-source.mjs +159 -6
  66. package/dist/types.d.mts +2 -0
  67. package/package.json +23 -23
  68. package/dist/devtools-client/_nuxt/2p1_IuX2.js +0 -1
  69. package/dist/devtools-client/_nuxt/9elIQxwW.js +0 -1
  70. package/dist/devtools-client/_nuxt/B-kTnbRv.js +0 -1
  71. package/dist/devtools-client/_nuxt/BDNMzG2s.js +0 -1
  72. package/dist/devtools-client/_nuxt/BNPn63Jz.js +0 -1
  73. package/dist/devtools-client/_nuxt/BuTlAAeI.js +0 -152
  74. package/dist/devtools-client/_nuxt/C41E8Pp1.js +0 -8
  75. package/dist/devtools-client/_nuxt/CDDBpkXG.js +0 -3
  76. package/dist/devtools-client/_nuxt/Cbmw_5H5.js +0 -1
  77. package/dist/devtools-client/_nuxt/DAsiyhPm.js +0 -6
  78. package/dist/devtools-client/_nuxt/DabLKy7M.js +0 -1
  79. package/dist/devtools-client/_nuxt/DiZU_C4m.js +0 -1
  80. package/dist/devtools-client/_nuxt/KsX6Az5B.js +0 -1
  81. package/dist/devtools-client/_nuxt/LFNkKKtz.js +0 -28
  82. package/dist/devtools-client/_nuxt/UmWNrBO5.js +0 -2
  83. package/dist/devtools-client/_nuxt/builds/meta/778de0a6-ec82-430f-966c-9a96d75eb772.json +0 -1
  84. package/dist/devtools-client/_nuxt/entry.CYUdJFoE.css +0 -2
  85. package/dist/devtools-client/_nuxt/error-404.DnwL1N6v.css +0 -1
  86. package/dist/devtools-client/_nuxt/error-500.DEbXRLdm.css +0 -1
package/dist/stats.mjs CHANGED
@@ -34,6 +34,10 @@ const scriptMeta = {
34
34
  urls: ["https://app.rybbit.io/api/script.js"],
35
35
  trackedData: ["page-views", "events"]
36
36
  },
37
+ pulseAnalytics: {
38
+ urls: ["https://js.ciphera.net/script.js"],
39
+ trackedData: ["page-views", "events", "conversions", "scrolls"]
40
+ },
37
41
  databuddyAnalytics: {
38
42
  urls: ["https://cdn.databuddy.cc/databuddy.js"],
39
43
  trackedData: ["page-views", "events"]
@@ -129,6 +133,11 @@ const scriptMeta = {
129
133
  trackedData: ["user-identity", "events", "errors"],
130
134
  testId: "pub_deskcrewdemo"
131
135
  },
136
+ tawkTo: {
137
+ urls: ["https://embed.tawk.to/68496650ddf9cd19094b4530/1itfbfagd"],
138
+ trackedData: ["user-identity", "events"],
139
+ testId: "68496650ddf9cd19094b4530"
140
+ },
132
141
  crisp: {
133
142
  urls: ["https://client.crisp.chat/l.js"],
134
143
  trackedData: ["user-identity", "events"],
@@ -691,6 +700,77 @@ const rybbitAnalytics = {
691
700
  }
692
701
  ]
693
702
  };
703
+ const pulseAnalytics = {
704
+ totalTransferKb: 3.5,
705
+ totalDecodedKb: 6.4,
706
+ loadTimeMs: 510,
707
+ collectsWebVitals: false,
708
+ apis: {
709
+ cookies: false,
710
+ localStorage: true,
711
+ sessionStorage: true,
712
+ indexedDB: false,
713
+ canvas: false,
714
+ webgl: false,
715
+ audioContext: false,
716
+ userAgent: false,
717
+ doNotTrack: true,
718
+ hardwareConcurrency: false,
719
+ deviceMemory: false,
720
+ plugins: true,
721
+ languages: true,
722
+ screen: true,
723
+ timezone: false,
724
+ platform: true,
725
+ vendor: false,
726
+ connection: false,
727
+ maxTouchPoints: true,
728
+ devicePixelRatio: false,
729
+ mediaDevices: false,
730
+ getBattery: false,
731
+ referrer: true,
732
+ windowName: false,
733
+ rtcPeerConnection: false,
734
+ geolocation: false,
735
+ serviceWorker: false,
736
+ cacheApi: false,
737
+ sendBeacon: true,
738
+ fetch: true,
739
+ xhr: false,
740
+ websocket: false,
741
+ mutationObserver: true,
742
+ performanceObserver: false,
743
+ intersectionObserver: false
744
+ },
745
+ cookies: [
746
+ ],
747
+ network: {
748
+ requestCount: 1,
749
+ domains: [
750
+ "js.ciphera.net"
751
+ ],
752
+ outboundBytes: 0,
753
+ inboundBytes: 3586,
754
+ injectedElements: [
755
+ ]
756
+ },
757
+ performance: {
758
+ taskDurationMs: 31,
759
+ scriptDurationMs: 0,
760
+ heapDeltaKb: 726
761
+ },
762
+ scripts: [
763
+ {
764
+ url: "https://js.ciphera.net/script.js",
765
+ transferKb: 3.5,
766
+ decodedKb: 6.4,
767
+ encoding: "zstd",
768
+ durationMs: 510,
769
+ initiatorType: "script",
770
+ protocol: "unknown"
771
+ }
772
+ ]
773
+ };
694
774
  const databuddyAnalytics = {
695
775
  totalTransferKb: 10.8,
696
776
  totalDecodedKb: 29.4,
@@ -3500,6 +3580,7 @@ const scriptSizes = {
3500
3580
  fathomAnalytics: fathomAnalytics,
3501
3581
  matomoAnalytics: matomoAnalytics,
3502
3582
  rybbitAnalytics: rybbitAnalytics,
3583
+ pulseAnalytics: pulseAnalytics,
3503
3584
  databuddyAnalytics: databuddyAnalytics,
3504
3585
  mixpanelAnalytics: mixpanelAnalytics,
3505
3586
  segment: segment,
@@ -305,7 +305,7 @@ const types = {
305
305
  {
306
306
  name: "ScriptGoogleAdsenseProps",
307
307
  kind: "interface",
308
- code: "interface ScriptGoogleAdsenseProps {\n dataAdClient: string\n dataAdSlot: string\n dataAdFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal' | 'fluid' | 'autorelaxed'\n dataAdLayout?: 'in-article'\n dataAdLayoutKey?: string\n dataFullWidthResponsive?: boolean\n /**\n * Defines the trigger event to load the script.\n */\n trigger?: ElementScriptTrigger\n}"
308
+ code: "interface ScriptGoogleAdsenseProps {\n dataAdClient: string\n dataAdSlot: string\n dataAdFormat?: 'auto' | 'rectangle' | 'vertical' | 'horizontal' | 'fluid' | 'autorelaxed'\n dataAdLayout?: 'in-article' | 'image-top' | 'image-side' | 'text-only'\n dataAdLayoutKey?: string\n dataFullWidthResponsive?: boolean\n /**\n * Defines the trigger event to load the script.\n */\n trigger?: ElementScriptTrigger\n}"
309
309
  },
310
310
  {
311
311
  name: "ScriptGoogleAdsenseEvents",
@@ -841,7 +841,12 @@ const types = {
841
841
  {
842
842
  name: "ScriptMapLibreGeoJsonProps",
843
843
  kind: "interface",
844
- code: "interface ScriptMapLibreGeoJsonProps {\n /** MapLibre source ID. Changing it rebuilds the owned source and layers. */\n sourceId: string\n /** Inline GeoJSON data or a URL returning GeoJSON. */\n data: GeoJSON | string\n /** GeoJSON source options. `type` and `data` are supplied by the component. */\n sourceOptions?: Omit<MapLibreGl.GeoJSONSourceSpecification, 'type' | 'data'>\n /** Style layers backed by this source. */\n layers: ScriptMapLibreGeoJsonLayer[]\n /** Existing layer ID before which the layers are inserted. */\n beforeId?: string\n}"
844
+ code: "interface ScriptMapLibreGeoJsonProps {\n /** MapLibre source ID. Changing it rebuilds the owned source and layers. */\n sourceId: string\n /** Inline GeoJSON data or a URL returning GeoJSON. */\n data: GeoJSON | string\n /** GeoJSON source options. `type` and `data` are supplied by the component. */\n sourceOptions?: Omit<MapLibre.GeoJSONSourceSpecification, 'type' | 'data'>\n /**\n * Style layers backed by this source.\n * A paint, layout or filter change updates the layers in place.\n * Any other change rebuilds the source and the layers.\n */\n layers: ScriptMapLibreGeoJsonLayer[]\n /** Existing layer ID before which the layers are inserted. */\n beforeId?: string\n /** CSS cursor applied while the pointer is over one of these layers. */\n cursor?: string\n}"
845
+ },
846
+ {
847
+ name: "ScriptMapLibreGeoJsonEvents",
848
+ kind: "interface",
849
+ code: "interface ScriptMapLibreGeoJsonEvents {\n error: Error\n click: MapLibre.MapLayerMouseEvent\n mouseenter: MapLibre.MapLayerMouseEvent\n mouseleave: MapLibre.MapLayerMouseEvent\n}"
845
850
  },
846
851
  {
847
852
  name: "ScriptMapLibreMapProps",
@@ -851,7 +856,7 @@ const types = {
851
856
  {
852
857
  name: "ScriptMapLibreMapEvents",
853
858
  kind: "interface",
854
- code: "interface ScriptMapLibreMapEvents {\n ready: ScriptMapLibreMapExpose\n error: Error\n click: MapLibre.MapEventType['click']\n move: MapLibre.MapEventType['move']\n moveend: MapLibre.MapEventType['moveend']\n zoom: MapLibre.MapEventType['zoom']\n zoomend: MapLibre.MapEventType['zoomend']\n rotate: MapLibre.MapEventType['rotate']\n rotateend: MapLibre.MapEventType['rotateend']\n pitch: MapLibre.MapEventType['pitch']\n pitchend: MapLibre.MapEventType['pitchend']\n update:center: MapLibre.LngLat\n update:zoom: number\n update:bearing: number\n update:pitch: number\n}"
859
+ code: "interface ScriptMapLibreMapEvents {\n ready: ScriptMapLibreMapExpose\n error: Error\n load: MapLibre.MapEventType['load']\n styleload: MapLibre.MapEventType['style.load']\n click: MapLibre.MapEventType['click']\n move: MapLibre.MapEventType['move']\n moveend: MapLibre.MapEventType['moveend']\n zoom: MapLibre.MapEventType['zoom']\n zoomend: MapLibre.MapEventType['zoomend']\n rotate: MapLibre.MapEventType['rotate']\n rotateend: MapLibre.MapEventType['rotateend']\n pitch: MapLibre.MapEventType['pitch']\n pitchend: MapLibre.MapEventType['pitchend']\n update:center: MapLibre.LngLat\n update:zoom: number\n update:bearing: number\n update:pitch: number\n}"
855
860
  },
856
861
  {
857
862
  name: "ScriptMapLibreMapSlots",
@@ -1063,6 +1068,23 @@ const types = {
1063
1068
  code: "export interface PostHogConsent {\n /** Call `posthog.opt_in_capturing()`. */\n optIn: () => void\n /** Call `posthog.opt_out_capturing()`. For boot-time opt-out, use `defaultConsent: 'opt-out'` instead. */\n optOut: () => void\n}"
1064
1069
  }
1065
1070
  ],
1071
+ "pulse-analytics": [
1072
+ {
1073
+ name: "PulseAnalyticsOptions",
1074
+ kind: "const",
1075
+ code: "export const PulseAnalyticsOptions = object({\n /**\n * The site domain as registered in Pulse.\n * @see https://docs.ciphera.net/pulse/script-installation\n */\n domain: string(),\n /**\n * The API origin the tracker posts events to. Only needed for a self-hosted\n * or reverse-proxied Pulse API.\n * @default 'https://pulse-api.ciphera.net'\n */\n apiUrl: optional(string()),\n /**\n * Record scroll depth.\n * @default true\n */\n trackScroll: optional(boolean()),\n /**\n * Record outbound link clicks as `outbound_link` events.\n * @default true\n */\n trackOutbound: optional(boolean()),\n /**\n * Record file download clicks as `file_download` events.\n * @default true\n */\n trackDownloads: optional(boolean()),\n})"
1076
+ },
1077
+ {
1078
+ name: "PulseAnalyticsApi",
1079
+ kind: "interface",
1080
+ code: "export interface PulseAnalyticsApi {\n /**\n * Records a custom event.\n * @param name Event name: letters, numbers and underscores, up to 64 characters.\n * Trimmed and lowercased before storage.\n * @param props Optional properties. Values must be strings; a number or boolean\n * rejects the whole event.\n * @param revenue Optional monetary value, zero or greater.\n * @see https://docs.ciphera.net/pulse/custom-events\n */\n track: (name: string, props?: Record<string, string>, revenue?: number) => void\n /**\n * The current pathname as Pulse records it: trailing slash stripped, root kept\n * as `/`. Returns `null` until the tracker has loaded.\n */\n cleanPath: () => string | null\n}"
1081
+ },
1082
+ {
1083
+ name: "PulseQueueState",
1084
+ kind: "interface",
1085
+ code: "interface PulseQueueState {\n queue: Array<Parameters<PulseAnalyticsApi['track']>>\n flushed: boolean\n /** The tracker ran but declined to record: nothing will ever consume the queue. */\n declined: boolean\n}"
1086
+ }
1087
+ ],
1066
1088
  "reddit-pixel": [
1067
1089
  {
1068
1090
  name: "StandardEvents",
@@ -1215,6 +1237,48 @@ const types = {
1215
1237
  code: "interface ScriptStripePricingTableSlots {\n default?: () => any\n loading?: () => any\n awaitingLoad?: () => any\n error?: () => any\n}"
1216
1238
  }
1217
1239
  ],
1240
+ "tawk-to": [
1241
+ {
1242
+ name: "TawkToOptions",
1243
+ kind: "const",
1244
+ code: "export const TawkToOptions = object({\n /**\n * Your Tawk.to property ID: the first path segment of the widget embed URL\n * `https://embed.tawk.to/<propertyId>/<widgetId>`.\n * @see https://dashboard.tawk.to/\n */\n propertyId: pipe(string(), minLength(1)),\n /**\n * Your Tawk.to widget ID: the second path segment of the widget embed URL\n * `https://embed.tawk.to/<propertyId>/<widgetId>`.\n * @see https://dashboard.tawk.to/\n */\n widgetId: pipe(string(), minLength(1)),\n})"
1245
+ },
1246
+ {
1247
+ name: "TawkToStatus",
1248
+ kind: "type",
1249
+ code: "export type TawkToStatus = 'online' | 'away' | 'offline'"
1250
+ },
1251
+ {
1252
+ name: "TawkToWindowType",
1253
+ kind: "type",
1254
+ code: "export type TawkToWindowType = 'inline' | 'embed'"
1255
+ },
1256
+ {
1257
+ name: "TawkToWidgetPosition",
1258
+ kind: "type",
1259
+ code: "export type TawkToWidgetPosition = 'br' | 'bl' | 'cr' | 'cl' | 'tr' | 'tl'"
1260
+ },
1261
+ {
1262
+ name: "TawkToVisitor",
1263
+ kind: "interface",
1264
+ code: "export interface TawkToVisitor {\n name?: string\n email?: string\n /** Visitor phone number in E.164 format (e.g. `+15551234567`). */\n phone?: string\n /** HMAC-SHA256 signature for Tawk's Secure Mode, generated server-side by the consumer. */\n hash?: string\n}"
1265
+ },
1266
+ {
1267
+ name: "TawkToApi",
1268
+ kind: "interface",
1269
+ code: "export interface TawkToApi {\n /** Starts the chat. Pass `{ showWidget: true }` to also show the widget. */\n start: (options?: { showWidget?: boolean }) => void\n shutdown: () => void\n maximize: () => void\n minimize: () => void\n toggle: () => void\n popup: () => void\n showWidget: () => void\n hideWidget: () => void\n toggleVisibility: () => void\n endChat: () => void\n\n getWindowType: () => TawkToWindowType\n getStatus: () => TawkToStatus\n isChatMaximized: () => boolean\n isChatMinimized: () => boolean\n isChatHidden: () => boolean\n isChatOngoing: () => boolean\n isVisitorEngaged: () => boolean\n /** Set by Tawk once the widget has finished loading. The embed writes a boolean (`!0`), not a number. */\n onLoaded?: boolean\n /** Set by Tawk before the widget begins loading. */\n onBeforeLoaded?: boolean\n widgetPosition: () => TawkToWidgetPosition\n\n visitor?: TawkToVisitor\n setAttributes: (attributes: Record<string, string>, callback?: (error: Error | null) => void) => void\n addEvent: (event: string, metadata?: Record<string, unknown>, callback?: (error: Error | null) => void) => void\n addTags: (tags: string[], callback?: (error: Error | null) => void) => void\n removeTags: (tags: string[], callback?: (error: Error | null) => void) => void\n switchWidget: (data: { propertyId: string, widgetId: string }, callback?: (error: Error | null) => void) => void\n}"
1270
+ },
1271
+ {
1272
+ name: "TawkToProxyApi",
1273
+ kind: "type",
1274
+ code: "export type TawkToProxyApi = Omit<TawkToApi, 'getWindowType' | 'getStatus' | 'isChatMaximized' | 'isChatMinimized' | 'isChatHidden' | 'isChatOngoing' | 'isVisitorEngaged' | 'widgetPosition' | 'visitor' | 'onLoaded' | 'onBeforeLoaded'>"
1275
+ },
1276
+ {
1277
+ name: "TawkToEvents",
1278
+ kind: "interface",
1279
+ code: "export interface TawkToEvents {\n isHidden: Readonly<Ref<boolean>>\n isMinimized: Readonly<Ref<boolean>>\n isMaximized: Readonly<Ref<boolean>>\n /** The operator status Tawk reports (`getStatus()`) — not to be confused with `status`, the script's own load state. */\n chatStatus: Readonly<Ref<TawkToStatus>>\n unreadCount: Readonly<Ref<number>>\n\n // Getters, called directly against `window.Tawk_API` (see `TawkToProxyApi`'s\n // doc comment for why `proxy` can't carry these). `undefined` before the\n // widget has loaded; the four `isXxx` booleans default to `false` instead\n // since a definite \"no\" is a safe, honest answer before load.\n getWindowType: () => TawkToWindowType | undefined\n getStatus: () => TawkToStatus | undefined\n isChatMaximized: () => boolean\n isChatMinimized: () => boolean\n isChatHidden: () => boolean\n isChatOngoing: () => boolean\n isVisitorEngaged: () => boolean\n widgetPosition: () => TawkToWidgetPosition | undefined\n\n /**\n * Sets `Tawk_API.visitor` directly - assigning through `proxy.visitor` is a no-op\n * (no `set` trap). Pre-insertion only: Tawk honors `Tawk_API.visitor` until the\n * embed script is requested, so a call after that warns and does nothing - use\n * `window.Tawk_API.setAttributes()` for post-load identity changes.\n */\n setVisitor: (data: TawkToVisitor) => void\n\n onLoad: (cb: () => void) => () => void\n onBeforeLoad: (cb: () => void) => () => void\n onStatusChange: (cb: (status: TawkToStatus) => void) => () => void\n onChatMaximized: (cb: () => void) => () => void\n onChatMinimized: (cb: () => void) => () => void\n onChatHidden: (cb: () => void) => () => void\n onChatStarted: (cb: () => void) => () => void\n onChatEnded: (cb: () => void) => () => void\n onPrechatSubmit: (cb: (data: Record<string, unknown>) => void) => () => void\n onOfflineSubmit: (cb: (data: Record<string, unknown>) => void) => () => void\n onChatMessageVisitor: (cb: (message: string) => void) => () => void\n onChatMessageAgent: (cb: (message: string) => void) => () => void\n onChatMessageSystem: (cb: (message: string) => void) => () => void\n onAgentJoinChat: (cb: (data: Record<string, unknown>) => void) => () => void\n onAgentLeaveChat: (cb: (data: Record<string, unknown>) => void) => () => void\n onChatSatisfaction: (cb: (satisfaction: number) => void) => () => void\n onVisitorNameChanged: (cb: (visitorName: string) => void) => () => void\n onFileUpload: (cb: (link: string) => void) => () => void\n onTagsUpdated: (cb: (data: Record<string, unknown>) => void) => () => void\n onUnreadCountChanged: (cb: (count: number) => void) => () => void\n}"
1280
+ }
1281
+ ],
1218
1282
  "tiktok-pixel": [
1219
1283
  {
1220
1284
  name: "StandardEvents",
@@ -2375,6 +2439,42 @@ const schemaFields = {
2375
2439
  description: "Your Reddit Pixel advertiser ID."
2376
2440
  }
2377
2441
  ],
2442
+ PulseAnalyticsOptions: [
2443
+ {
2444
+ name: "domain",
2445
+ type: "string",
2446
+ required: true,
2447
+ description: "The site domain as registered in Pulse."
2448
+ },
2449
+ {
2450
+ name: "apiUrl",
2451
+ type: "string",
2452
+ required: false,
2453
+ description: "The API origin the tracker posts events to. Only needed for a self-hosted or reverse-proxied Pulse API.",
2454
+ defaultValue: "'https://pulse-api.ciphera.net'"
2455
+ },
2456
+ {
2457
+ name: "trackScroll",
2458
+ type: "boolean",
2459
+ required: false,
2460
+ description: "Record scroll depth.",
2461
+ defaultValue: "true"
2462
+ },
2463
+ {
2464
+ name: "trackOutbound",
2465
+ type: "boolean",
2466
+ required: false,
2467
+ description: "Record outbound link clicks as `outbound_link` events.",
2468
+ defaultValue: "true"
2469
+ },
2470
+ {
2471
+ name: "trackDownloads",
2472
+ type: "boolean",
2473
+ required: false,
2474
+ description: "Record file download clicks as `file_download` events.",
2475
+ defaultValue: "true"
2476
+ }
2477
+ ],
2378
2478
  RybbitAnalyticsOptions: [
2379
2479
  {
2380
2480
  name: "siteId",
@@ -2772,6 +2872,20 @@ const schemaFields = {
2772
2872
  defaultValue: "'basil'"
2773
2873
  }
2774
2874
  ],
2875
+ TawkToOptions: [
2876
+ {
2877
+ name: "propertyId",
2878
+ type: "string",
2879
+ required: true,
2880
+ description: "Your Tawk.to property ID: the first path segment of the widget embed URL `https://embed.tawk.to/<propertyId>/<widgetId>`."
2881
+ },
2882
+ {
2883
+ name: "widgetId",
2884
+ type: "string",
2885
+ required: true,
2886
+ description: "Your Tawk.to widget ID: the second path segment of the widget embed URL `https://embed.tawk.to/<propertyId>/<widgetId>`."
2887
+ }
2888
+ ],
2775
2889
  TikTokPixelOptions: [
2776
2890
  {
2777
2891
  name: "id",
@@ -4063,18 +4177,47 @@ const schemaFields = {
4063
4177
  },
4064
4178
  {
4065
4179
  name: "sourceOptions",
4066
- type: "Omit<MapLibreGl.GeoJSONSourceSpecification, 'type' | 'data'>",
4180
+ type: "Omit<MapLibre.GeoJSONSourceSpecification, 'type' | 'data'>",
4067
4181
  required: false
4068
4182
  },
4069
4183
  {
4070
4184
  name: "layers",
4071
4185
  type: "ScriptMapLibreGeoJsonLayer[]",
4072
- required: true
4186
+ required: true,
4187
+ description: "Style layers backed by this source. A paint, layout or filter change updates the layers in place. Any other change rebuilds the source and the layers."
4073
4188
  },
4074
4189
  {
4075
4190
  name: "beforeId",
4076
4191
  type: "string",
4077
4192
  required: false
4193
+ },
4194
+ {
4195
+ name: "cursor",
4196
+ type: "string",
4197
+ required: false
4198
+ }
4199
+ ],
4200
+ ScriptMapLibreGeoJsonEvents: [
4201
+ {
4202
+ name: "error",
4203
+ type: "Error",
4204
+ required: false,
4205
+ description: "The component could not apply a source or layer. A failed rebuild removes the component's own source and layers. A failed paint, layout or filter update leaves them on the map."
4206
+ },
4207
+ {
4208
+ name: "click",
4209
+ type: "MapLibre.MapLayerMouseEvent",
4210
+ required: false
4211
+ },
4212
+ {
4213
+ name: "mouseenter",
4214
+ type: "MapLibre.MapLayerMouseEvent",
4215
+ required: false
4216
+ },
4217
+ {
4218
+ name: "mouseleave",
4219
+ type: "MapLibre.MapLayerMouseEvent",
4220
+ required: false
4078
4221
  }
4079
4222
  ],
4080
4223
  ScriptMapLibreMapProps: [
@@ -4167,6 +4310,16 @@ const schemaFields = {
4167
4310
  type: "Error",
4168
4311
  required: false
4169
4312
  },
4313
+ {
4314
+ name: "load",
4315
+ type: "MapLibre.MapEventType['load']",
4316
+ required: false
4317
+ },
4318
+ {
4319
+ name: "styleload",
4320
+ type: "MapLibre.MapEventType['style.load']",
4321
+ required: false
4322
+ },
4170
4323
  {
4171
4324
  name: "click",
4172
4325
  type: "MapLibre.MapEventType['click']",
@@ -4544,7 +4697,7 @@ const schemaFields = {
4544
4697
  },
4545
4698
  {
4546
4699
  name: "dataAdLayout",
4547
- type: "'in-article'",
4700
+ type: "'in-article' | 'image-top' | 'image-side' | 'text-only'",
4548
4701
  required: false
4549
4702
  },
4550
4703
  {
package/dist/types.d.mts CHANGED
@@ -4,6 +4,8 @@ declare module '@nuxt/schema' {
4
4
  interface NuxtHooks extends ModuleHooks {}
5
5
  }
6
6
 
7
+ export { type ScriptMapLibreGeoJsonEmits, type ScriptMapLibreGeoJsonLayer, type ScriptMapLibreGeoJsonProps, type ScriptMapLibreGeoJsonResource, type ScriptMapLibreMapEmits, type ScriptMapLibreMapExpose, type ScriptMapLibreMapProps, type ScriptMapLibreMapSlots, type ScriptMapLibreMarkerEmits, type ScriptMapLibreMarkerProps, type ScriptMapLibreNavigationControlProps, type ScriptMapLibrePopupEmits, type ScriptMapLibrePopupProps } from '../dist/runtime/components/MapLibre/types.js'
8
+
7
9
  export { type FirstPartyPrivacy } from '../dist/runtime/types.js'
8
10
 
9
11
  export { type STATIC_PROXY_PRESETS, type applyAutoInject, default, type findMissingRequiredFields, type isProxyDisabled, type isStaticProxyTarget, type normalizeNitroPreset, type resolveConfiguredProxyDomains } from './module.mjs'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nuxt/scripts",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.5",
4
+ "version": "2.0.0-beta.7",
5
5
  "description": "Load third-party scripts with better performance, privacy and DX in Nuxt Apps.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -72,18 +72,18 @@
72
72
  },
73
73
  "peerDependencies": {
74
74
  "@googlemaps/markerclusterer": "^2.6.2",
75
- "@paypal/paypal-js": "^10.0.0",
76
- "@speedcurve/lux": "^4.4.3",
77
- "@stripe/stripe-js": "^7.0.0 || ^8.0.0 || ^9.0.0",
78
- "@types/geojson": "^7946.0.0",
79
- "@types/google.maps": "^3.58.1",
80
- "@types/leaflet": "^1.9.0",
75
+ "@paypal/paypal-js": "^11.0.1",
76
+ "@speedcurve/lux": "^4.5.2",
77
+ "@stripe/stripe-js": "^9.16.0",
78
+ "@types/geojson": "^7946.0.16",
79
+ "@types/google.maps": "^3.66.2",
80
+ "@types/leaflet": "^1.9.22",
81
81
  "@types/vimeo__player": "^2.18.3",
82
- "@types/youtube": "^0.1.0",
83
- "@unhead/vue": "^3.3.1",
84
- "maplibre-gl": "^6.0.0",
85
- "posthog-js": "^1.0.0",
86
- "unhead": "^3.3.1"
82
+ "@types/youtube": "^0.3.0",
83
+ "@unhead/vue": "^3.4.0",
84
+ "maplibre-gl": "^6.9.1",
85
+ "posthog-js": "^1.433.3",
86
+ "unhead": "^3.4.0"
87
87
  },
88
88
  "peerDependenciesMeta": {
89
89
  "@googlemaps/markerclusterer": {
@@ -121,16 +121,16 @@
121
121
  }
122
122
  },
123
123
  "dependencies": {
124
- "@nuxt/devtools-kit": "^3.4.1",
125
- "@oxc-project/types": "^0.143.0",
124
+ "@nuxt/devtools-kit": "^3.4.2",
125
+ "@oxc-project/types": "^0.150.0",
126
126
  "@vueuse/core": "^14.4.0",
127
127
  "@vueuse/shared": "^14.4.0",
128
128
  "consola": "^3.4.2",
129
129
  "defu": "^6.1.7",
130
130
  "h3": "^1.15.11",
131
- "magic-string": "^1.1.0",
131
+ "magic-string": "^1.4.1",
132
132
  "ofetch": "^1.5.1",
133
- "ohash": "^2.0.11",
133
+ "ohash": "^2.0.12",
134
134
  "oxc-walker": "^1.1.1",
135
135
  "pathe": "^2.0.3",
136
136
  "semver": "^7.8.5",
@@ -140,17 +140,17 @@
140
140
  "ultrahtml": "^1.7.0",
141
141
  "unplugin": "^3.3.0",
142
142
  "unstorage": "^1.17.5",
143
- "valibot": "^1.4.2"
143
+ "valibot": "^1.5.0"
144
144
  },
145
145
  "devDependencies": {
146
- "@nuxt/kit": "^4.5.1",
146
+ "@nuxt/kit": "^4.5.2",
147
147
  "@nuxt/module-builder": "^1.0.3",
148
- "@speedcurve/lux": "^4.4.3",
149
- "@unhead/vue": "^3.3.1",
150
- "rollup": "^4.62.4",
148
+ "@speedcurve/lux": "^4.5.2",
149
+ "@unhead/vue": "^3.4.0",
150
+ "rollup": "^4.63.3",
151
151
  "unbuild": "^3.6.1",
152
- "unhead": "^3.3.1",
153
- "unimport": "^6.4.0"
152
+ "unhead": "^3.4.0",
153
+ "unimport": "^7.0.2"
154
154
  },
155
155
  "scripts": {
156
156
  "build": "nuxt-module-build build",
@@ -1 +0,0 @@
1
- import{H as e,L as t,an as n,gn as r,in as i,yn as a}from"./CDDBpkXG.js";var o=Error.captureStackTrace,s=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,o?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function c(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function l(e={}){let{docsBase:t,reporters:n=[]}=e;return new Proxy({},{get(e,r){if(typeof r!=`string`)return;let i=(e={},a={})=>{let o=c(t,r),l=new s({code:r,why:o??``,docs:o,cause:e.cause,sources:e.sources},i);for(let e of n)e(l,a);return l};return i}})}function u(e){return`https://nuxt.com/docs/4.x/errors/${e.replace(`NUXT_`,``).toLowerCase()}`}var d=[e=>{console.error(`[${e.name}]`)}],f=l({docsBase:u,reporters:d});function p(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?p(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var m=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function h(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>h(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function g(e,t,n){if(e.length>0)return h(e,t,0,m(n))}function _(e,t,n){if(e.length>0){let r=m(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function v(e,t){for(let n of[...e])n(t)}var y=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=p(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=p(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(g,e,t)}callHookParallel(e,...t){return this.callHookWith(_,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&v(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&v(this._after,r)}):(this._after&&r&&v(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function b(){return new y}var x=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(!(!n||n.length===0))return h(n,t,0)}};function S(){return globalThis.AsyncLocalStorage||globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage}function C(e={}){let t,n=!1,r=e=>{if(t&&t!==e)throw Error(`Context conflict`)},i;if(e.asyncContext){let t=e.AsyncLocalStorage||S();t?i=new t:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}let a=e=>i&&typeof e==`object`&&e?{__unctx_weak:new WeakRef(e)}:e,o=e=>e&&e.__unctx_weak?e.__unctx_weak.deref():e,s=()=>{if(i){let e=i.getStore();if(e!==void 0)return o(e)}return t};return{use:()=>{let e=s();if(e===void 0)throw Error(`Context is not available`);return e},tryUse:()=>s(),set:(e,i)=>{i||r(e),t=e,n=!0},unset:()=>{t=void 0,n=!1},call:(e,o)=>{r(e),t=e;try{return i?i.run(a(e),o):o()}finally{n||(t=void 0)}},async callAsync(e,r){t=e;let o=()=>{t=e},s=()=>t===e?o:void 0;A.add(s);try{let o=i?i.run(a(e),r):r();return n||(t=void 0),await o}finally{A.delete(s)}}}}function w(e={}){let t={};return{get(n,r={}){return t[n]||(t[n]=C({...e,...r})),t[n]}}}var T=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof global<`u`?global:typeof window<`u`?window:{},E=`__unctx__`,D=T[E]||(T[E]=w()),O=(e,t={})=>D.get(e,t),k=`__unctx_async_handlers__`,A=T[k]||(T[k]=new Set);function j(e){let t=[];for(let e of A){let n=e();n&&t.push(n)}let n=()=>{for(let e of t)e()},r=e();return r&&typeof r==`object`&&`catch`in r&&(r=r.catch(e=>{throw n(),e})),[r,n]}var M={meta:[{name:`viewport`,content:`width=device-width, initial-scale=1`},{charset:`utf-8`}],link:[],style:[],script:[],noscript:[]},N={id:`__nuxt-loader`},P={componentName:`NuxtLink`,prefetch:!0,prefetchOn:{visibility:!0}},F={deep:!1},I=`#__nuxt`,L=`nuxt-app`,R=36e5,z=`vite:preloadError`;function B(e=`nuxt-app`){return O(e,{asyncContext:!1})}var V=`__nuxt_plugin`;function H(e){let t=0,o={_id:e.id||`nuxt-app`,_scope:i(),provide:void 0,versions:{get nuxt(){return`4.5.1`},get vue(){return o.vueApp.version}},payload:a({...e.ssrContext?.payload||{},data:a({}),state:r({}),once:new Set,_errors:a({})}),static:{data:{}},runWithContext(e){return o._scope.active&&!n()?o._scope.run(()=>K(o,e)):K(o,e)},isHydrating:!0,deferHydration(){if(!o.isHydrating)return()=>{};t++;let e=!1;return()=>{if(!e&&(e=!0,t--,t===0))return o.isHydrating=!1,o.callHook(`app:suspense:resolve`)}},_asyncDataPromises:{},_asyncData:a({}),_state:a({}),_payloadRevivers:{},...e};{let e=window.__NUXT__;if(e)for(let t in e)switch(t){case`data`:case`state`:case`_errors`:Object.assign(o.payload[t],e[t]);break;default:o.payload[t]=e[t]}}o.hooks=b(),o.hook=o.hooks.hook;{let e=o.hooks.callHook;o.hooks.callHook=(t,...n)=>Promise.resolve().then(()=>e(t,...n))}o.callHook=o.hooks.callHook,o.provide=(e,t)=>{let n=`$`+e;X(o,n,t),X(o.vueApp.config.globalProperties,n,t)},X(o.vueApp,`$nuxt`,o),X(o.vueApp.config.globalProperties,`$nuxt`,o);{window.addEventListener(z,e=>{o.callHook(`app:chunkError`,{error:e.payload}),e.payload?.message?.includes(`Unable to preload CSS`)&&e.preventDefault()}),window.useNuxtApp||=J;let e=o.hook(`app:error`,(...e)=>{f.NUXT_E1005({cause:e.length>1?e:e[0]})});o.hook(`app:mounted`,e)}let s=o.payload.config;return o.provide(`config`,s),o}async function U(e,t){if(typeof t==`function`){let{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n==`object`)for(let t in n)e.provide(t,n[t])}}async function W(e,t){let n;for(let r of t)try{await U(e,r)}catch(t){if(!e.payload.error)throw t;n||=t}if(n)throw e.payload.error||n}function G(e){if(typeof e==`function`)return e;let t=e._name||e.name;return delete e.name,Object.assign(e.setup||(()=>{}),e,{[V]:!0,_name:t})}function K(e,t,n){return B(e._id).set(e),e.vueApp.runWithContext(()=>n?t(...n):t())}function q(n){let r;return e()&&(r=t()?.appContext.app.$nuxt),r||=B(n).tryUse(),r||null}function J(e){let t=q(e);if(!t)throw f.NUXT_E1001();return t}function Y(e){return J().$config}function X(e,t,n){Object.defineProperty(e,t,{get:()=>n})}export{d as _,Y as a,N as c,R as d,I as f,u as g,f as h,J as i,F as l,x as m,H as n,M as o,j as p,G as r,L as s,W as t,P as u,l as v};
@@ -1 +0,0 @@
1
- import{_ as e,b as t,mt as n,tr as r}from"./CDDBpkXG.js";import{n as i}from"./KsX6Az5B.js";import{t as a}from"./BDNMzG2s.js";var o={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},s={class:`max-w-520px text-center`},c=[`textContent`],l=[`textContent`],u=[`textContent`],d=a({__name:`error-500`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:500},statusText:{type:String,default:`Internal server error`},description:{type:String,default:`This page is temporarily unavailable.`},refresh:{type:String,default:`Refresh this page`}},setup(a){let d=a;return i({title:`${d.status} - ${d.statusText} | ${d.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(i,d)=>(n(),t(`div`,o,[e(`div`,s,[e(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:r(a.status)},null,8,c),e(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:r(a.statusText)},null,8,l),e(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:r(a.description)},null,8,u)])]))}},[[`__scopeId`,`data-v-847aeaf1`]]);export{d as default};
@@ -1 +0,0 @@
1
- import{D as e,E as t,On as n,T as ee,Yt as te,Zn as r,_ as i,b as a,bt as o,gn as s,k as c,mt as l,o as u,qt as d,tr as f,v as ne,y as p}from"./CDDBpkXG.js";import{Wt as re}from"./UmWNrBO5.js";import{U as ie,j as m,n as h}from"./C41E8Pp1.js";import{t as g}from"./BDNMzG2s.js";var _={class:`py-1`},v={key:0,class:`panel-grids rounded-xl flex flex-col items-center justify-center py-16 gap-4`},y={class:`w-14 h-14 rounded-2xl bg-(--color-surface-elevated) border border-(--color-border) flex items-center justify-center`},b={class:`hint-callout text-xs max-w-sm`},x={key:1,class:`stagger-children space-y-4`},S={class:`flex flex-wrap gap-2.5`},C={class:`stat-card`},w={class:`stat-value`},T={class:`stat-card`},E={class:`stat-value`},D={class:`stat-card`},O={class:`stat-value`},k={class:`stat-card`},A={class:`stat-value capitalize text-sm`},j={class:`flex items-center gap-2 text-xs text-(--color-text-subtle)`},M={class:`px-1.5 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken) border border-(--color-border-subtle) text-(--color-text-muted)`},N={class:`space-y-3`},P={class:`p-4`},F={class:`flex items-start justify-between gap-4`},I={class:`flex items-center gap-2.5 min-w-0`},L={class:`w-7 h-7 rounded-lg bg-(--color-surface-sunken) border border-(--color-border-subtle) flex items-center justify-center flex-shrink-0 overflow-hidden`},R=[`innerHTML`],z={class:`text-sm font-semibold tracking-tight`},B={class:`ml-2 text-[10px] px-1.5 py-0.5 rounded-full bg-(--color-surface-sunken) text-(--color-text-subtle) font-medium`},V={class:`flex gap-0.5 flex-shrink-0`},ae={class:`flex items-center gap-1.5 mt-2.5 flex-wrap`},H={key:0,class:`fp-badge fp-badge-info`},U={key:1,class:`fp-badge fp-badge-warn`},W={key:2,class:`fp-badge fp-badge-muted`},G={key:0,class:`px-4 pb-3 flex items-center gap-1.5 flex-wrap`},K={key:1,class:`border-t border-(--color-border-subtle)`},q=[`onClick`],J={class:`flex items-center gap-1.5`},oe={key:0,class:`opacity-50`},se={class:`border-t border-(--color-border-subtle)`},ce={style:{color:`oklch(55% 0.12 250)`},class:`min-w-0 truncate`},le={class:`text-(--color-text-subtle) min-w-0 truncate`},ue={key:0,class:`border-t border-(--color-border-subtle) px-4 py-2`},de={style:{color:`oklch(55% 0.12 300)`},class:`truncate`},fe={class:`text-(--color-text-subtle) truncate`},pe={key:0,class:`card overflow-hidden`},me={class:`px-4 py-2.5 border-b border-(--color-border-subtle)`},he={class:`text-xs font-semibold uppercase tracking-wider text-(--color-text-subtle) flex items-center gap-1.5`},ge={class:`overflow-x-auto`},_e={class:`w-full text-xs`},ve={class:`border-b border-(--color-border-subtle)`},ye={class:`px-4 py-2 font-medium whitespace-nowrap`},be={class:`px-2.5 py-2 text-center`},Y=g(c({__name:`first-party`,setup(c){let g=[`ip`,`userAgent`,`language`,`screen`,`timezone`,`hardware`],Y={ip:`IP Address`,userAgent:`User Agent`,language:`Language`,screen:`Screen`,timezone:`Timezone`,hardware:`Hardware`},xe={ip:`IP`,userAgent:`UA`,language:`Lang`,screen:`Screen`,timezone:`TZ`,hardware:`HW`},Se={ip:`i-carbon-location`,userAgent:`i-carbon-user-profile`,language:`i-carbon-translate`,screen:`i-carbon-screen`,timezone:`i-carbon-time`,hardware:`i-carbon-chip`},X=s({});function Ce(e){X[e]=!X[e]}function Z(e){return e===`full`?`privacy-full`:e===`partial`?`privacy-partial`:`privacy-none`}function we(e){return e===`bundle-rewrite-intercept`?`mechanism-bundle`:`mechanism-config`}function Q(e){return e===`bundle-rewrite-intercept`?`Bundle + Rewrite`:`Config Injection`}return(s,c)=>{let $=ie,Te=m;return l(),a(`div`,_,[n(h)?.enabled?(l(),a(`div`,x,[i(`div`,S,[c[7]||=ee(`<div class="stat-card" data-v-97e4a274><div class="stat-label" data-v-97e4a274> Status </div><div class="flex items-center gap-1.5" data-v-97e4a274><span class="stat-dot stat-dot-active" data-v-97e4a274></span><span class="text-sm font-semibold" style="color:oklch(55% 0.18 145);" data-v-97e4a274>Active</span></div></div>`,1),i(`div`,C,[c[3]||=i(`div`,{class:`stat-label`},` Scripts `,-1),i(`div`,w,f(n(h).scripts.length),1)]),i(`div`,T,[c[4]||=i(`div`,{class:`stat-label`},` Routes `,-1),i(`div`,E,f(n(h).totalRoutes),1)]),i(`div`,D,[c[5]||=i(`div`,{class:`stat-label`},` Domains `,-1),i(`div`,O,f(n(h).totalDomains),1)]),i(`div`,k,[c[6]||=i(`div`,{class:`stat-label`},` Privacy `,-1),i(`div`,A,f(n(h).privacyMode),1)])]),i(`div`,j,[e($,{name:`i-carbon-direction-fork`,class:`text-sm`}),c[8]||=t(` Proxy prefix: `,-1),i(`code`,M,f(n(h).proxyPrefix),1)]),i(`div`,N,[(l(!0),a(u,null,o(n(h).scripts,n=>(l(),a(`div`,{key:n.registryKey,class:`card overflow-hidden`},[i(`div`,P,[i(`div`,F,[i(`div`,I,[i(`div`,L,[n.logo?(l(),a(`div`,{key:0,class:`w-5 h-5 flex items-center justify-center [&>svg]:max-w-5 [&>svg]:max-h-5`,innerHTML:n.logo},null,8,R)):(l(),ne($,{key:1,name:`i-carbon-script`,class:`text-sm text-(--color-text-subtle)`}))]),i(`div`,null,[i(`span`,z,f(n.label),1),i(`span`,B,f(n.category),1)])]),i(`div`,V,[(l(),a(u,null,o(g,t=>e(Te,{key:t,text:`${Y[t]}: ${n.privacy[t]?`Anonymised`:`Passthrough`}`},{default:d(()=>[i(`div`,{class:r([`privacy-flag`,n.privacy[t]?`privacy-flag-on`:`privacy-flag-off`])},[e($,{name:Se[t],class:`text-xs`},null,8,[`name`])],2)]),_:2},1032,[`text`])),64))])]),i(`div`,ae,[i(`span`,{class:r([`fp-badge`,we(n.mechanism)])},f(Q(n.mechanism)),3),i(`span`,{class:r([`fp-badge`,Z(n.privacyLevel)])},f(n.privacyLevel===`full`?`Full Privacy`:n.privacyLevel===`partial`?`Partial`:`Passthrough`),3),n.hasAutoInject?(l(),a(`span`,H,` Auto-inject`+f(n.autoInjectField?`: ${n.autoInjectField}`:``),1)):p(``,!0),n.canvasFingerprinting?(l(),a(`span`,U,` Canvas FP neutralized `)):p(``,!0),n.hasSdkPatches?(l(),a(`span`,W,` SDK patches `)):p(``,!0)])]),n.domains?.length?(l(),a(`div`,G,[c[9]||=i(`span`,{class:`text-[10px] text-(--color-text-subtle) mr-0.5`},`Proxying:`,-1),(l(!0),a(u,null,o(n.domains,e=>(l(),a(`span`,{key:e,class:`text-[10px] font-mono px-1.5 py-0.5 rounded bg-(--color-surface-sunken) text-(--color-text-muted) border border-(--color-border-subtle)`},f(e),1))),128))])):p(``,!0),n.routes?.length?(l(),a(`div`,K,[i(`button`,{class:`w-full px-4 py-2 flex items-center justify-between text-xs text-(--color-text-subtle) hover:text-(--color-text-muted) transition-colors cursor-pointer`,onClick:e=>Ce(n.registryKey)},[i(`span`,J,[e($,{name:`i-carbon-arrows-horizontal`,class:`text-xs`}),t(` `+f(n.routes.length)+` route`+f(n.routes.length>1?`s`:``)+` `,1),n.interceptRules?.length?(l(),a(`span`,oe,` · `+f(n.interceptRules.length)+` intercept rule`+f(n.interceptRules.length>1?`s`:``),1)):p(``,!0)]),e($,{name:X[n.registryKey]?`i-carbon-chevron-up`:`i-carbon-chevron-down`,class:`text-xs transition-transform`},null,8,[`name`])],8,q),te(i(`div`,null,[i(`div`,se,[(l(!0),a(u,null,o(n.routes,(t,n)=>(l(),a(`div`,{key:n,class:`px-4 py-1.5 flex items-center gap-2 text-[11px] font-mono hover:bg-(--color-surface-sunken) transition-colors`},[i(`span`,ce,f(t.local),1),e($,{name:`i-carbon-arrow-right`,class:`text-[9px] opacity-25 flex-shrink-0`}),i(`span`,le,f(t.target),1)]))),128))]),n.interceptRules?.length?(l(),a(`div`,ue,[c[10]||=i(`div`,{class:`text-[10px] uppercase tracking-wider text-(--color-text-subtle) mb-1 font-medium`},` Intercept Rules `,-1),(l(!0),a(u,null,o(n.interceptRules,(t,n)=>(l(),a(`div`,{key:n,class:`py-1 flex items-center gap-2 text-[11px] font-mono`},[i(`span`,de,f(t.pattern)+f(t.pathPrefix),1),e($,{name:`i-carbon-arrow-right`,class:`text-[9px] opacity-25 flex-shrink-0`}),i(`span`,fe,f(t.target),1)]))),128))])):p(``,!0)],512),[[re,X[n.registryKey]]])])):p(``,!0)]))),128))]),n(h).scripts.length>1?(l(),a(`div`,pe,[i(`div`,me,[i(`h4`,he,[e($,{name:`i-carbon-data-table`,class:`text-sm`}),c[11]||=t(` Privacy Matrix `,-1)])]),i(`div`,ge,[i(`table`,_e,[i(`thead`,null,[i(`tr`,ve,[c[12]||=i(`th`,{class:`px-4 py-2 text-left font-medium text-(--color-text-subtle)`},` Script `,-1),(l(),a(u,null,o(g,e=>i(`th`,{key:e,class:`px-2.5 py-2 text-center font-medium text-(--color-text-subtle) whitespace-nowrap`},f(xe[e]),1)),64)),c[13]||=i(`th`,{class:`px-2.5 py-2 text-center font-medium text-(--color-text-subtle)`},` Level `,-1)])]),i(`tbody`,null,[(l(!0),a(u,null,o(n(h).scripts,e=>(l(),a(`tr`,{key:e.registryKey,class:`border-b border-(--color-border-subtle) last:border-b-0 hover:bg-(--color-surface-sunken) transition-colors`},[i(`td`,ye,f(e.label),1),(l(),a(u,null,o(g,t=>i(`td`,{key:t,class:`px-2.5 py-2 text-center`},[i(`div`,{class:r([`w-2.5 h-2.5 rounded-full mx-auto`,e.privacy[t]?`matrix-dot-on`:`matrix-dot-off`])},null,2)])),64)),i(`td`,be,[i(`span`,{class:r([`fp-badge text-[10px]`,Z(e.privacyLevel)])},f(e.privacyLevel),3)])]))),128))])])])])):p(``,!0),c[14]||=i(`div`,{class:`text-center pt-1 pb-3`},[i(`a`,{href:`https://scripts.nuxt.com/docs/guides/first-party`,target:`_blank`,class:`link-external text-xs`},` First-Party Mode: Privacy Focused Proxy `)],-1)])):(l(),a(`div`,v,[i(`div`,y,[e($,{name:`i-carbon-security`,class:`text-3xl text-(--color-text-subtle)`})]),c[1]||=i(`div`,{class:`text-center space-y-1.5`},[i(`p`,{class:`text-sm font-semibold text-(--color-text-muted)`},` Privacy Proxy is not active `),i(`p`,{class:`text-xs text-(--color-text-subtle) max-w-sm`},` The reverse proxy is auto-enabled when scripts with proxy capabilities are configured in the registry. `)],-1),i(`div`,b,[e($,{name:`i-carbon-information`,class:`hint-callout-icon text-base flex-shrink-0`}),c[0]||=i(`div`,null,[t(` Check that your registry scripts have not set `),i(`code`,{class:`px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)`},`proxy: false`),t(` or `),i(`code`,{class:`px-1 py-0.5 rounded text-[11px] font-mono bg-(--color-surface-sunken)`},`bundle: false`),t(`. `)],-1)]),c[2]||=i(`a`,{href:`https://scripts.nuxt.com/docs/guides/first-party`,target:`_blank`,class:`link-external text-xs mt-1`},` View Documentation `,-1)]))])}}}),[[`__scopeId`,`data-v-97e4a274`]]);export{Y as default};
@@ -1 +0,0 @@
1
- var e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};export{e as t};
@@ -1 +0,0 @@
1
- import{D as e,E as t,_ as n,b as r,mt as i,qt as a,tr as o}from"./CDDBpkXG.js";import{n as s}from"./KsX6Az5B.js";import{t as c}from"./Dat651Oh.js";import{t as l}from"./BDNMzG2s.js";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=l({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(l){let g=l;return s({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(s,g)=>{let _=c;return i(),r(`div`,u,[n(`div`,d,[n(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:o(l.status)},null,8,f),n(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:o(l.statusText)},null,8,p),n(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:o(l.description)},null,8,m),n(`div`,h,[e(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:a(()=>[t(o(l.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-8c12c98d`]]);export{g as default};