@nuxt/scripts 2.0.0-beta.6 → 2.0.0-beta.8

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 (67) hide show
  1. package/dist/devtools-client/200.html +1 -1
  2. package/dist/devtools-client/404.html +1 -1
  3. package/dist/devtools-client/_nuxt/{Bagqfgzu.js → BBRrg_AT.js} +3 -3
  4. package/dist/devtools-client/_nuxt/{CP6K2Qm6.js → BI6wdYky.js} +1 -1
  5. package/dist/devtools-client/_nuxt/{CWci3Eb_.js → BckE5qrE.js} +1 -1
  6. package/dist/devtools-client/_nuxt/{D_hceTm9.js → Cs0md1ml.js} +1 -1
  7. package/dist/devtools-client/_nuxt/{DZ6h2v9A.js → DN3hUMR_.js} +1 -1
  8. package/dist/devtools-client/_nuxt/{DXDqMNFL.js → DXEYGql4.js} +1 -1
  9. package/dist/devtools-client/_nuxt/{utTTwIIR.js → Divy0_cA.js} +3 -3
  10. package/dist/devtools-client/_nuxt/builds/latest.json +1 -1
  11. package/dist/devtools-client/_nuxt/builds/meta/afe20d38-a0b8-4d9f-be82-37b90ecac717.json +1 -0
  12. package/dist/devtools-client/_nuxt/error-404.BJ1JSMYb.css +1 -0
  13. package/dist/devtools-client/_nuxt/error-500.BBf0uW5X.css +1 -0
  14. package/dist/devtools-client/docs/index.html +1 -1
  15. package/dist/devtools-client/first-party/index.html +1 -1
  16. package/dist/devtools-client/index.html +1 -1
  17. package/dist/devtools-client/registry/index.html +1 -1
  18. package/dist/module.d.mts +1 -0
  19. package/dist/module.d.ts +1 -0
  20. package/dist/module.json +1 -1
  21. package/dist/module.mjs +4 -1
  22. package/dist/registry.mjs +24 -1
  23. package/dist/runtime/components/Leaflet/ScriptLeafletMap.d.vue.ts +5 -5
  24. package/dist/runtime/components/Leaflet/ScriptLeafletMap.vue.d.ts +5 -5
  25. package/dist/runtime/components/MapLibre/ScriptMapLibreAttributionControl.d.vue.ts +7 -0
  26. package/dist/runtime/components/MapLibre/ScriptMapLibreAttributionControl.vue +42 -0
  27. package/dist/runtime/components/MapLibre/ScriptMapLibreAttributionControl.vue.d.ts +7 -0
  28. package/dist/runtime/components/MapLibre/ScriptMapLibreFullscreenControl.d.vue.ts +13 -0
  29. package/dist/runtime/components/MapLibre/ScriptMapLibreFullscreenControl.vue +27 -0
  30. package/dist/runtime/components/MapLibre/ScriptMapLibreFullscreenControl.vue.d.ts +13 -0
  31. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.d.vue.ts +26 -35
  32. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.vue +233 -15
  33. package/dist/runtime/components/MapLibre/ScriptMapLibreGeoJson.vue.d.ts +26 -35
  34. package/dist/runtime/components/MapLibre/ScriptMapLibreGeolocateControl.d.vue.ts +25 -0
  35. package/dist/runtime/components/MapLibre/ScriptMapLibreGeolocateControl.vue +49 -0
  36. package/dist/runtime/components/MapLibre/ScriptMapLibreGeolocateControl.vue.d.ts +25 -0
  37. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.d.vue.ts +22 -86
  38. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.vue +23 -2
  39. package/dist/runtime/components/MapLibre/ScriptMapLibreMap.vue.d.ts +22 -86
  40. package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.d.vue.ts +3 -12
  41. package/dist/runtime/components/MapLibre/ScriptMapLibreMarker.vue.d.ts +3 -12
  42. package/dist/runtime/components/MapLibre/ScriptMapLibreNavigationControl.d.vue.ts +3 -8
  43. package/dist/runtime/components/MapLibre/ScriptMapLibreNavigationControl.vue +1 -4
  44. package/dist/runtime/components/MapLibre/ScriptMapLibreNavigationControl.vue.d.ts +3 -8
  45. package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.d.vue.ts +3 -10
  46. package/dist/runtime/components/MapLibre/ScriptMapLibrePopup.vue.d.ts +3 -10
  47. package/dist/runtime/components/MapLibre/ScriptMapLibreScaleControl.d.vue.ts +7 -0
  48. package/dist/runtime/components/MapLibre/ScriptMapLibreScaleControl.vue +25 -0
  49. package/dist/runtime/components/MapLibre/ScriptMapLibreScaleControl.vue.d.ts +7 -0
  50. package/dist/runtime/components/MapLibre/types.d.ts +275 -0
  51. package/dist/runtime/components/MapLibre/types.js +0 -0
  52. package/dist/runtime/components/MapLibre/useMapLibreResource.d.ts +8 -1
  53. package/dist/runtime/components/MapLibre/useMapLibreResource.js +9 -2
  54. package/dist/runtime/registry/pulse-analytics.d.ts +32 -0
  55. package/dist/runtime/registry/pulse-analytics.js +80 -0
  56. package/dist/runtime/registry/schemas.d.ts +42 -0
  57. package/dist/runtime/registry/schemas.js +42 -0
  58. package/dist/runtime/registry/tawk-to.d.ts +126 -0
  59. package/dist/runtime/registry/tawk-to.js +147 -0
  60. package/dist/runtime/types.d.ts +6 -1
  61. package/dist/stats.mjs +81 -0
  62. package/dist/types-source.mjs +312 -4
  63. package/dist/types.d.mts +2 -0
  64. package/package.json +10 -10
  65. package/dist/devtools-client/_nuxt/builds/meta/8bf6d5ed-9af4-4b18-be50-90e3f19066d5.json +0 -1
  66. package/dist/devtools-client/_nuxt/error-404.Bn3cR6N7.css +0 -1
  67. package/dist/devtools-client/_nuxt/error-500.ClHmgt9z.css +0 -1
@@ -838,10 +838,40 @@ const types = {
838
838
  kind: "interface",
839
839
  code: "export interface MapLibreApi {\n maplibregl: typeof MapLibre\n}"
840
840
  },
841
+ {
842
+ name: "ScriptMapLibreAttributionControlProps",
843
+ kind: "interface",
844
+ code: "interface ScriptMapLibreAttributionControlProps {\n /** Position of the attribution control. MapLibre places it bottom-right by default. */\n position?: MapLibre.ControlPosition\n /**\n * Options passed to `new maplibregl.AttributionControl()`.\n * Source attribution from the style and tiles always shows. `customAttribution` only adds text.\n */\n options?: MapLibre.AttributionControlOptions\n}"
845
+ },
846
+ {
847
+ name: "ScriptMapLibreFullscreenControlProps",
848
+ kind: "interface",
849
+ code: "interface ScriptMapLibreFullscreenControlProps {\n /** Position of the fullscreen control. */\n position?: MapLibre.ControlPosition\n /** Options passed to `new maplibregl.FullscreenControl()`. */\n options?: MapLibre.FullscreenControlOptions\n}"
850
+ },
851
+ {
852
+ name: "ScriptMapLibreFullscreenControlEvents",
853
+ kind: "interface",
854
+ code: "interface ScriptMapLibreFullscreenControlEvents {\n fullscreenstart: MapLibre.FullscreenControlEventType['fullscreenstart']\n fullscreenend: MapLibre.FullscreenControlEventType['fullscreenend']\n}"
855
+ },
841
856
  {
842
857
  name: "ScriptMapLibreGeoJsonProps",
843
858
  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}"
859
+ 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}"
860
+ },
861
+ {
862
+ name: "ScriptMapLibreGeoJsonEvents",
863
+ kind: "interface",
864
+ code: "interface ScriptMapLibreGeoJsonEvents {\n error: Error\n click: MapLibre.MapLayerMouseEvent\n dblclick: MapLibre.MapLayerMouseEvent\n mouseenter: MapLibre.MapLayerMouseEvent\n mousemove: MapLibre.MapLayerMouseEvent\n mouseleave: MapLibre.MapLayerMouseEvent\n sourceready: { map: MapLibre.Map, sourceId: string }\n}"
865
+ },
866
+ {
867
+ name: "ScriptMapLibreGeolocateControlProps",
868
+ kind: "interface",
869
+ code: "interface ScriptMapLibreGeolocateControlProps {\n /** Position of the geolocate control. */\n position?: MapLibre.ControlPosition\n /** Options passed to `new maplibregl.GeolocateControl()`. */\n options?: MapLibre.GeolocateControlOptions\n}"
870
+ },
871
+ {
872
+ name: "ScriptMapLibreGeolocateControlEvents",
873
+ kind: "interface",
874
+ code: "interface ScriptMapLibreGeolocateControlEvents {\n geolocate: MapLibre.GeolocateControlEventType['geolocate']\n error: MapLibre.GeolocateControlEventType['error']\n outofmaxbounds: MapLibre.GeolocateControlEventType['outofmaxbounds']\n trackuserlocationstart: MapLibre.GeolocateControlEventType['trackuserlocationstart']\n trackuserlocationend: MapLibre.GeolocateControlEventType['trackuserlocationend']\n userlocationfocus: MapLibre.GeolocateControlEventType['userlocationfocus']\n userlocationlostfocus: MapLibre.GeolocateControlEventType['userlocationlostfocus']\n unavailable: 'unsupported' | 'permission-denied'\n}"
845
875
  },
846
876
  {
847
877
  name: "ScriptMapLibreMapProps",
@@ -851,7 +881,7 @@ const types = {
851
881
  {
852
882
  name: "ScriptMapLibreMapEvents",
853
883
  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}"
884
+ 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
885
  },
856
886
  {
857
887
  name: "ScriptMapLibreMapSlots",
@@ -892,6 +922,11 @@ const types = {
892
922
  name: "ScriptMapLibrePopupSlots",
893
923
  kind: "interface",
894
924
  code: "interface ScriptMapLibrePopupSlots {\n default?: () => any\n}"
925
+ },
926
+ {
927
+ name: "ScriptMapLibreScaleControlProps",
928
+ kind: "interface",
929
+ code: "interface ScriptMapLibreScaleControlProps {\n /** Position of the scale control. MapLibre places it bottom-left by default. */\n position?: MapLibre.ControlPosition\n /**\n * Options passed to `new maplibregl.ScaleControl()`.\n * `unit` also updates reactively through `setUnit()`.\n */\n options?: MapLibre.ScaleControlOptions\n}"
895
930
  }
896
931
  ],
897
932
  "matomo-analytics": [
@@ -1063,6 +1098,23 @@ const types = {
1063
1098
  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
1099
  }
1065
1100
  ],
1101
+ "pulse-analytics": [
1102
+ {
1103
+ name: "PulseAnalyticsOptions",
1104
+ kind: "const",
1105
+ 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})"
1106
+ },
1107
+ {
1108
+ name: "PulseAnalyticsApi",
1109
+ kind: "interface",
1110
+ 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}"
1111
+ },
1112
+ {
1113
+ name: "PulseQueueState",
1114
+ kind: "interface",
1115
+ 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}"
1116
+ }
1117
+ ],
1066
1118
  "reddit-pixel": [
1067
1119
  {
1068
1120
  name: "StandardEvents",
@@ -1215,6 +1267,48 @@ const types = {
1215
1267
  code: "interface ScriptStripePricingTableSlots {\n default?: () => any\n loading?: () => any\n awaitingLoad?: () => any\n error?: () => any\n}"
1216
1268
  }
1217
1269
  ],
1270
+ "tawk-to": [
1271
+ {
1272
+ name: "TawkToOptions",
1273
+ kind: "const",
1274
+ 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})"
1275
+ },
1276
+ {
1277
+ name: "TawkToStatus",
1278
+ kind: "type",
1279
+ code: "export type TawkToStatus = 'online' | 'away' | 'offline'"
1280
+ },
1281
+ {
1282
+ name: "TawkToWindowType",
1283
+ kind: "type",
1284
+ code: "export type TawkToWindowType = 'inline' | 'embed'"
1285
+ },
1286
+ {
1287
+ name: "TawkToWidgetPosition",
1288
+ kind: "type",
1289
+ code: "export type TawkToWidgetPosition = 'br' | 'bl' | 'cr' | 'cl' | 'tr' | 'tl'"
1290
+ },
1291
+ {
1292
+ name: "TawkToVisitor",
1293
+ kind: "interface",
1294
+ 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}"
1295
+ },
1296
+ {
1297
+ name: "TawkToApi",
1298
+ kind: "interface",
1299
+ 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}"
1300
+ },
1301
+ {
1302
+ name: "TawkToProxyApi",
1303
+ kind: "type",
1304
+ code: "export type TawkToProxyApi = Omit<TawkToApi, 'getWindowType' | 'getStatus' | 'isChatMaximized' | 'isChatMinimized' | 'isChatHidden' | 'isChatOngoing' | 'isVisitorEngaged' | 'widgetPosition' | 'visitor' | 'onLoaded' | 'onBeforeLoaded'>"
1305
+ },
1306
+ {
1307
+ name: "TawkToEvents",
1308
+ kind: "interface",
1309
+ 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}"
1310
+ }
1311
+ ],
1218
1312
  "tiktok-pixel": [
1219
1313
  {
1220
1314
  name: "StandardEvents",
@@ -2375,6 +2469,42 @@ const schemaFields = {
2375
2469
  description: "Your Reddit Pixel advertiser ID."
2376
2470
  }
2377
2471
  ],
2472
+ PulseAnalyticsOptions: [
2473
+ {
2474
+ name: "domain",
2475
+ type: "string",
2476
+ required: true,
2477
+ description: "The site domain as registered in Pulse."
2478
+ },
2479
+ {
2480
+ name: "apiUrl",
2481
+ type: "string",
2482
+ required: false,
2483
+ description: "The API origin the tracker posts events to. Only needed for a self-hosted or reverse-proxied Pulse API.",
2484
+ defaultValue: "'https://pulse-api.ciphera.net'"
2485
+ },
2486
+ {
2487
+ name: "trackScroll",
2488
+ type: "boolean",
2489
+ required: false,
2490
+ description: "Record scroll depth.",
2491
+ defaultValue: "true"
2492
+ },
2493
+ {
2494
+ name: "trackOutbound",
2495
+ type: "boolean",
2496
+ required: false,
2497
+ description: "Record outbound link clicks as `outbound_link` events.",
2498
+ defaultValue: "true"
2499
+ },
2500
+ {
2501
+ name: "trackDownloads",
2502
+ type: "boolean",
2503
+ required: false,
2504
+ description: "Record file download clicks as `file_download` events.",
2505
+ defaultValue: "true"
2506
+ }
2507
+ ],
2378
2508
  RybbitAnalyticsOptions: [
2379
2509
  {
2380
2510
  name: "siteId",
@@ -2772,6 +2902,20 @@ const schemaFields = {
2772
2902
  defaultValue: "'basil'"
2773
2903
  }
2774
2904
  ],
2905
+ TawkToOptions: [
2906
+ {
2907
+ name: "propertyId",
2908
+ type: "string",
2909
+ required: true,
2910
+ description: "Your Tawk.to property ID: the first path segment of the widget embed URL `https://embed.tawk.to/<propertyId>/<widgetId>`."
2911
+ },
2912
+ {
2913
+ name: "widgetId",
2914
+ type: "string",
2915
+ required: true,
2916
+ description: "Your Tawk.to widget ID: the second path segment of the widget embed URL `https://embed.tawk.to/<propertyId>/<widgetId>`."
2917
+ }
2918
+ ],
2775
2919
  TikTokPixelOptions: [
2776
2920
  {
2777
2921
  name: "id",
@@ -4050,6 +4194,43 @@ const schemaFields = {
4050
4194
  required: false
4051
4195
  }
4052
4196
  ],
4197
+ ScriptMapLibreAttributionControlProps: [
4198
+ {
4199
+ name: "position",
4200
+ type: "MapLibre.ControlPosition",
4201
+ required: false
4202
+ },
4203
+ {
4204
+ name: "options",
4205
+ type: "MapLibre.AttributionControlOptions",
4206
+ required: false,
4207
+ description: "Options passed to `new maplibregl.AttributionControl()`. Source attribution from the style and tiles always shows. `customAttribution` only adds text."
4208
+ }
4209
+ ],
4210
+ ScriptMapLibreFullscreenControlProps: [
4211
+ {
4212
+ name: "position",
4213
+ type: "MapLibre.ControlPosition",
4214
+ required: false
4215
+ },
4216
+ {
4217
+ name: "options",
4218
+ type: "MapLibre.FullscreenControlOptions",
4219
+ required: false
4220
+ }
4221
+ ],
4222
+ ScriptMapLibreFullscreenControlEvents: [
4223
+ {
4224
+ name: "fullscreenstart",
4225
+ type: "MapLibre.FullscreenControlEventType['fullscreenstart']",
4226
+ required: false
4227
+ },
4228
+ {
4229
+ name: "fullscreenend",
4230
+ type: "MapLibre.FullscreenControlEventType['fullscreenend']",
4231
+ required: false
4232
+ }
4233
+ ],
4053
4234
  ScriptMapLibreGeoJsonProps: [
4054
4235
  {
4055
4236
  name: "sourceId",
@@ -4063,18 +4244,122 @@ const schemaFields = {
4063
4244
  },
4064
4245
  {
4065
4246
  name: "sourceOptions",
4066
- type: "Omit<MapLibreGl.GeoJSONSourceSpecification, 'type' | 'data'>",
4247
+ type: "Omit<MapLibre.GeoJSONSourceSpecification, 'type' | 'data'>",
4067
4248
  required: false
4068
4249
  },
4069
4250
  {
4070
4251
  name: "layers",
4071
4252
  type: "ScriptMapLibreGeoJsonLayer[]",
4072
- required: true
4253
+ required: true,
4254
+ 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
4255
  },
4074
4256
  {
4075
4257
  name: "beforeId",
4076
4258
  type: "string",
4077
4259
  required: false
4260
+ },
4261
+ {
4262
+ name: "cursor",
4263
+ type: "string",
4264
+ required: false
4265
+ }
4266
+ ],
4267
+ ScriptMapLibreGeoJsonEvents: [
4268
+ {
4269
+ name: "error",
4270
+ type: "Error",
4271
+ required: false,
4272
+ description: "The component could not apply a source or layer, or MapLibre reported an error for one. MapLibre reports an invalid paint, layout or filter value this way. It does not throw. A failed rebuild removes the component's own source and layers. A failed paint, layout or filter update leaves them on the map."
4273
+ },
4274
+ {
4275
+ name: "click",
4276
+ type: "MapLibre.MapLayerMouseEvent",
4277
+ required: false
4278
+ },
4279
+ {
4280
+ name: "dblclick",
4281
+ type: "MapLibre.MapLayerMouseEvent",
4282
+ required: false,
4283
+ description: "The pointer double-clicked one of this component's layers. Call `event.preventDefault()` to stop MapLibre's double-click zoom."
4284
+ },
4285
+ {
4286
+ name: "mouseenter",
4287
+ type: "MapLibre.MapLayerMouseEvent",
4288
+ required: false,
4289
+ description: "The pointer entered this component's layers as a group. It does not fire again when the pointer moves between touching features."
4290
+ },
4291
+ {
4292
+ name: "mousemove",
4293
+ type: "MapLibre.MapLayerMouseEvent",
4294
+ required: false,
4295
+ description: "The pointer moved over a feature in one of this component's layers. `event.features` lists the features under the pointer, topmost first."
4296
+ },
4297
+ {
4298
+ name: "mouseleave",
4299
+ type: "MapLibre.MapLayerMouseEvent",
4300
+ required: false
4301
+ },
4302
+ {
4303
+ name: "sourceready",
4304
+ type: "{ map: MapLibre.Map, sourceId: string }",
4305
+ required: false,
4306
+ description: "The source and layers exist on the map. Fires after the first add and after every re-add, such as after a style swap. A re-add clears feature state, so restore it here."
4307
+ }
4308
+ ],
4309
+ ScriptMapLibreGeolocateControlProps: [
4310
+ {
4311
+ name: "position",
4312
+ type: "MapLibre.ControlPosition",
4313
+ required: false
4314
+ },
4315
+ {
4316
+ name: "options",
4317
+ type: "MapLibre.GeolocateControlOptions",
4318
+ required: false
4319
+ }
4320
+ ],
4321
+ ScriptMapLibreGeolocateControlEvents: [
4322
+ {
4323
+ name: "geolocate",
4324
+ type: "MapLibre.GeolocateControlEventType['geolocate']",
4325
+ required: false
4326
+ },
4327
+ {
4328
+ name: "error",
4329
+ type: "MapLibre.GeolocateControlEventType['error']",
4330
+ required: false,
4331
+ description: "The Geolocation API returned an error. `code` 1 means the user denied permission. MapLibre then disables the button."
4332
+ },
4333
+ {
4334
+ name: "outofmaxbounds",
4335
+ type: "MapLibre.GeolocateControlEventType['outofmaxbounds']",
4336
+ required: false
4337
+ },
4338
+ {
4339
+ name: "trackuserlocationstart",
4340
+ type: "MapLibre.GeolocateControlEventType['trackuserlocationstart']",
4341
+ required: false
4342
+ },
4343
+ {
4344
+ name: "trackuserlocationend",
4345
+ type: "MapLibre.GeolocateControlEventType['trackuserlocationend']",
4346
+ required: false
4347
+ },
4348
+ {
4349
+ name: "userlocationfocus",
4350
+ type: "MapLibre.GeolocateControlEventType['userlocationfocus']",
4351
+ required: false
4352
+ },
4353
+ {
4354
+ name: "userlocationlostfocus",
4355
+ type: "MapLibre.GeolocateControlEventType['userlocationlostfocus']",
4356
+ required: false
4357
+ },
4358
+ {
4359
+ name: "unavailable",
4360
+ type: "'unsupported' | 'permission-denied'",
4361
+ required: false,
4362
+ description: "Geolocation cannot work in this browser. `permission-denied` means the user blocked it before the control loaded. MapLibre disables the button and fires no `error` event in both cases."
4078
4363
  }
4079
4364
  ],
4080
4365
  ScriptMapLibreMapProps: [
@@ -4167,6 +4452,16 @@ const schemaFields = {
4167
4452
  type: "Error",
4168
4453
  required: false
4169
4454
  },
4455
+ {
4456
+ name: "load",
4457
+ type: "MapLibre.MapEventType['load']",
4458
+ required: false
4459
+ },
4460
+ {
4461
+ name: "styleload",
4462
+ type: "MapLibre.MapEventType['style.load']",
4463
+ required: false
4464
+ },
4170
4465
  {
4171
4466
  name: "click",
4172
4467
  type: "MapLibre.MapEventType['click']",
@@ -4364,6 +4659,19 @@ const schemaFields = {
4364
4659
  required: false
4365
4660
  }
4366
4661
  ],
4662
+ ScriptMapLibreScaleControlProps: [
4663
+ {
4664
+ name: "position",
4665
+ type: "MapLibre.ControlPosition",
4666
+ required: false
4667
+ },
4668
+ {
4669
+ name: "options",
4670
+ type: "MapLibre.ScaleControlOptions",
4671
+ required: false,
4672
+ description: "Options passed to `new maplibregl.ScaleControl()`. `unit` also updates reactively through `setUnit()`."
4673
+ }
4674
+ ],
4367
4675
  ScriptBlueskyEmbedProps: [
4368
4676
  {
4369
4677
  name: "postUrl",
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 ScriptMapLibreAttributionControlProps, type ScriptMapLibreFullscreenControlEmits, type ScriptMapLibreFullscreenControlProps, type ScriptMapLibreGeoJsonEmits, type ScriptMapLibreGeoJsonLayer, type ScriptMapLibreGeoJsonProps, type ScriptMapLibreGeoJsonResource, type ScriptMapLibreGeolocateControlEmits, type ScriptMapLibreGeolocateControlProps, type ScriptMapLibreMapEmits, type ScriptMapLibreMapExpose, type ScriptMapLibreMapProps, type ScriptMapLibreMapSlots, type ScriptMapLibreMarkerEmits, type ScriptMapLibreMarkerProps, type ScriptMapLibreNavigationControlProps, type ScriptMapLibrePopupEmits, type ScriptMapLibrePopupProps, type ScriptMapLibreScaleControlProps } 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.6",
4
+ "version": "2.0.0-beta.8",
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,17 +72,17 @@
72
72
  },
73
73
  "peerDependencies": {
74
74
  "@googlemaps/markerclusterer": "^2.6.2",
75
- "@paypal/paypal-js": "^11.0.0",
75
+ "@paypal/paypal-js": "^11.0.1",
76
76
  "@speedcurve/lux": "^4.5.2",
77
- "@stripe/stripe-js": "^9.15.0",
77
+ "@stripe/stripe-js": "^9.16.0",
78
78
  "@types/geojson": "^7946.0.16",
79
79
  "@types/google.maps": "^3.66.2",
80
80
  "@types/leaflet": "^1.9.22",
81
81
  "@types/vimeo__player": "^2.18.3",
82
82
  "@types/youtube": "^0.3.0",
83
83
  "@unhead/vue": "^3.4.0",
84
- "maplibre-gl": "^6.8.0",
85
- "posthog-js": "^1.428.7",
84
+ "maplibre-gl": "^6.9.1",
85
+ "posthog-js": "^1.433.3",
86
86
  "unhead": "^3.4.0"
87
87
  },
88
88
  "peerDependenciesMeta": {
@@ -122,13 +122,13 @@
122
122
  },
123
123
  "dependencies": {
124
124
  "@nuxt/devtools-kit": "^3.4.2",
125
- "@oxc-project/types": "^0.149.0",
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.2.3",
131
+ "magic-string": "^1.4.1",
132
132
  "ofetch": "^1.5.1",
133
133
  "ohash": "^2.0.12",
134
134
  "oxc-walker": "^1.1.1",
@@ -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
146
  "@nuxt/kit": "^4.5.2",
147
147
  "@nuxt/module-builder": "^1.0.3",
148
148
  "@speedcurve/lux": "^4.5.2",
149
149
  "@unhead/vue": "^3.4.0",
150
- "rollup": "^4.63.1",
150
+ "rollup": "^4.63.3",
151
151
  "unbuild": "^3.6.1",
152
152
  "unhead": "^3.4.0",
153
- "unimport": "^7.0.1"
153
+ "unimport": "^7.0.2"
154
154
  },
155
155
  "scripts": {
156
156
  "build": "nuxt-module-build build",
@@ -1 +0,0 @@
1
- {"id":"8bf6d5ed-9af4-4b18-be50-90e3f19066d5","timestamp":1788930424409,"prerendered":[]}
@@ -1 +0,0 @@
1
- .grid[data-v-181b2d44]{display:grid}.mb-2[data-v-181b2d44]{margin-bottom:.5rem}.mb-4[data-v-181b2d44]{margin-bottom:1rem}.max-w-520px[data-v-181b2d44]{max-width:520px}.min-h-screen[data-v-181b2d44]{min-height:100vh}.w-full[data-v-181b2d44]{width:100%}.flex[data-v-181b2d44]{display:flex}.place-content-center[data-v-181b2d44]{place-content:center}.items-center[data-v-181b2d44]{align-items:center}.justify-center[data-v-181b2d44]{justify-content:center}.overflow-hidden[data-v-181b2d44]{overflow:hidden}.bg-white[data-v-181b2d44]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-181b2d44]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-181b2d44]{text-align:center}.text-\[80px\][data-v-181b2d44]{font-size:80px}.text-2xl[data-v-181b2d44]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-181b2d44]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-181b2d44]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-181b2d44]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-181b2d44]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-181b2d44]{font-weight:500}.font-semibold[data-v-181b2d44]{font-weight:600}.leading-none[data-v-181b2d44]{line-height:1}.tracking-wide[data-v-181b2d44]{letter-spacing:.025em}.font-sans[data-v-181b2d44]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-181b2d44]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-181b2d44]{text-decoration-line:underline}.underline-offset-3[data-v-181b2d44]{text-underline-offset:3px}.antialiased[data-v-181b2d44]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-181b2d44]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-181b2d44]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\:text-\[110px\][data-v-181b2d44]{font-size:110px}.sm\:text-3xl[data-v-181b2d44]{font-size:1.875rem;line-height:2.25rem}}
@@ -1 +0,0 @@
1
- .grid[data-v-c475b792]{display:grid}.mb-2[data-v-c475b792]{margin-bottom:.5rem}.mb-4[data-v-c475b792]{margin-bottom:1rem}.max-w-520px[data-v-c475b792]{max-width:520px}.min-h-screen[data-v-c475b792]{min-height:100vh}.place-content-center[data-v-c475b792]{place-content:center}.overflow-hidden[data-v-c475b792]{overflow:hidden}.bg-white[data-v-c475b792]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-c475b792]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-c475b792]{text-align:center}.text-\[80px\][data-v-c475b792]{font-size:80px}.text-2xl[data-v-c475b792]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-c475b792]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-c475b792]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-c475b792]{font-weight:600}.leading-none[data-v-c475b792]{line-height:1}.tracking-wide[data-v-c475b792]{letter-spacing:.025em}.font-sans[data-v-c475b792]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-c475b792]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-c475b792]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-c475b792]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-c475b792]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\:text-\[110px\][data-v-c475b792]{font-size:110px}.sm\:text-3xl[data-v-c475b792]{font-size:1.875rem;line-height:2.25rem}}