@nuxt/scripts 1.0.0-beta.6 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/devtools-client/200.html +1 -0
  2. package/dist/devtools-client/404.html +1 -0
  3. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  4. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  5. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  6. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  7. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  15. package/dist/devtools-client/_nuxt/B3kN3DAy.js +1 -0
  16. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  17. package/dist/devtools-client/_nuxt/C8jhSQ8l.js +1 -0
  18. package/dist/devtools-client/_nuxt/CJD6wrkT.js +188 -0
  19. package/dist/devtools-client/_nuxt/CfOsp0mU.js +1 -0
  20. package/dist/devtools-client/_nuxt/DKL6PHO3.js +1 -0
  21. package/dist/devtools-client/_nuxt/ajngqPCs.js +1 -0
  22. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  23. package/dist/devtools-client/_nuxt/builds/meta/b800a0be-5cab-4ea6-89e3-dd3a85690a73.json +1 -0
  24. package/dist/devtools-client/_nuxt/dlaR8P-P.js +1 -0
  25. package/dist/devtools-client/_nuxt/entry.BwpOBArY.css +1 -0
  26. package/dist/devtools-client/_nuxt/error-404.CvOVjXeC.css +1 -0
  27. package/dist/devtools-client/_nuxt/error-500.BIm53nmx.css +1 -0
  28. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  29. package/dist/devtools-client/_nuxt/index.CA-OpSj0.css +1 -0
  30. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  31. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  32. package/dist/devtools-client/docs/index.html +1 -0
  33. package/dist/devtools-client/first-party/index.html +1 -0
  34. package/dist/devtools-client/index.html +1 -0
  35. package/dist/devtools-client/registry/index.html +1 -0
  36. package/dist/module.d.mts +29 -84
  37. package/dist/module.d.ts +121 -0
  38. package/dist/module.json +1 -1
  39. package/dist/module.mjs +941 -757
  40. package/dist/registry.d.mts +91 -4
  41. package/dist/registry.d.ts +93 -0
  42. package/dist/registry.mjs +669 -324
  43. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +15 -79
  44. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +78 -180
  45. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +15 -79
  46. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +9 -5
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +56 -57
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +9 -5
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -41
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +69 -73
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -41
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +36 -4
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +82 -37
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +36 -4
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +78 -0
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +222 -0
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +78 -0
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +165 -0
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  85. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  86. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  87. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  88. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  89. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +48 -0
  90. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +51 -0
  91. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +85 -0
  92. package/dist/runtime/components/ScriptBlueskyEmbed.vue +88 -0
  93. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +85 -0
  94. package/dist/runtime/components/ScriptCrisp.vue +1 -1
  95. package/dist/runtime/components/ScriptGoogleAdsense.vue +1 -1
  96. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  97. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  98. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  99. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +1 -2
  100. package/dist/runtime/components/ScriptInstagramEmbed.vue +8 -3
  101. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +1 -2
  102. package/dist/runtime/components/ScriptIntercom.vue +4 -3
  103. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -32
  104. package/dist/runtime/components/ScriptPayPalButtons.vue +48 -79
  105. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -32
  106. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -23
  107. package/dist/runtime/components/ScriptPayPalMessages.vue +46 -50
  108. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -23
  109. package/dist/runtime/components/ScriptStripePricingTable.vue +2 -2
  110. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +9 -0
  111. package/dist/runtime/components/ScriptVimeoPlayer.vue +13 -10
  112. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +9 -0
  113. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +0 -2
  114. package/dist/runtime/components/ScriptXEmbed.vue +14 -8
  115. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +0 -2
  116. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +2 -2
  117. package/dist/runtime/components/ScriptYouTubePlayer.vue +11 -5
  118. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +2 -2
  119. package/dist/runtime/composables/useScript.js +148 -8
  120. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  121. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  122. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  123. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  124. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  125. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  126. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  127. package/dist/runtime/registry/bing-uet.d.ts +20 -0
  128. package/dist/runtime/registry/bing-uet.js +29 -0
  129. package/dist/runtime/registry/bluesky-embed.d.ts +116 -0
  130. package/dist/runtime/registry/bluesky-embed.js +72 -0
  131. package/dist/runtime/registry/clarity.d.ts +10 -15
  132. package/dist/runtime/registry/clarity.js +22 -31
  133. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  134. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  135. package/dist/runtime/registry/crisp.d.ts +10 -40
  136. package/dist/runtime/registry/crisp.js +2 -33
  137. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  138. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  139. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  140. package/dist/runtime/registry/fathom-analytics.js +3 -25
  141. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  142. package/dist/runtime/registry/google-adsense.js +2 -11
  143. package/dist/runtime/registry/google-analytics.d.ts +3 -5
  144. package/dist/runtime/registry/google-analytics.js +3 -8
  145. package/dist/runtime/registry/google-maps.d.ts +3 -9
  146. package/dist/runtime/registry/google-maps.js +2 -8
  147. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  148. package/dist/runtime/registry/google-recaptcha.js +4 -12
  149. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  150. package/dist/runtime/registry/google-sign-in.js +2 -22
  151. package/dist/runtime/registry/google-tag-manager.d.ts +3 -28
  152. package/dist/runtime/registry/google-tag-manager.js +4 -27
  153. package/dist/runtime/registry/gravatar.d.ts +26 -0
  154. package/dist/runtime/registry/gravatar.js +36 -0
  155. package/dist/runtime/registry/hotjar.d.ts +4 -6
  156. package/dist/runtime/registry/hotjar.js +2 -5
  157. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  158. package/dist/runtime/registry/instagram-embed.js +4 -19
  159. package/dist/runtime/registry/intercom.d.ts +5 -13
  160. package/dist/runtime/registry/intercom.js +2 -12
  161. package/dist/runtime/registry/matomo-analytics.d.ts +3 -12
  162. package/dist/runtime/registry/matomo-analytics.js +3 -12
  163. package/dist/runtime/registry/meta-pixel.d.ts +4 -6
  164. package/dist/runtime/registry/meta-pixel.js +2 -4
  165. package/dist/runtime/registry/mixpanel-analytics.d.ts +22 -0
  166. package/dist/runtime/registry/mixpanel-analytics.js +46 -0
  167. package/dist/runtime/registry/npm.d.ts +3 -7
  168. package/dist/runtime/registry/npm.js +2 -9
  169. package/dist/runtime/registry/paypal.d.ts +4 -25
  170. package/dist/runtime/registry/paypal.js +3 -66
  171. package/dist/runtime/registry/plausible-analytics.js +19 -14
  172. package/dist/runtime/registry/posthog.d.ts +10 -12
  173. package/dist/runtime/registry/posthog.js +4 -13
  174. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  175. package/dist/runtime/registry/reddit-pixel.js +2 -4
  176. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  177. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  178. package/dist/runtime/registry/schemas.d.ts +982 -0
  179. package/dist/runtime/registry/schemas.js +937 -0
  180. package/dist/runtime/registry/segment.d.ts +2 -5
  181. package/dist/runtime/registry/segment.js +2 -5
  182. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  183. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  184. package/dist/runtime/registry/stripe.d.ts +3 -4
  185. package/dist/runtime/registry/stripe.js +2 -4
  186. package/dist/runtime/registry/tiktok-pixel.d.ts +4 -7
  187. package/dist/runtime/registry/tiktok-pixel.js +2 -6
  188. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  189. package/dist/runtime/registry/umami-analytics.js +2 -36
  190. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  191. package/dist/runtime/registry/vercel-analytics.js +84 -0
  192. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  193. package/dist/runtime/registry/vimeo-player.js +1 -1
  194. package/dist/runtime/registry/x-embed.d.ts +3 -17
  195. package/dist/runtime/registry/x-embed.js +3 -18
  196. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  197. package/dist/runtime/registry/x-pixel.js +2 -5
  198. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  199. package/dist/runtime/registry/youtube-player.js +1 -1
  200. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  201. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  202. package/dist/runtime/server/bluesky-embed.d.ts +16 -0
  203. package/dist/runtime/server/bluesky-embed.js +59 -0
  204. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  205. package/dist/runtime/server/google-maps-geocode-proxy.js +34 -0
  206. package/dist/runtime/server/google-static-maps-proxy.js +2 -13
  207. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  208. package/dist/runtime/server/gravatar-proxy.js +46 -0
  209. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  210. package/dist/runtime/server/instagram-embed-image.js +6 -53
  211. package/dist/runtime/server/instagram-embed.d.ts +16 -0
  212. package/dist/runtime/server/instagram-embed.js +176 -35
  213. package/dist/runtime/server/proxy-handler.js +142 -95
  214. package/dist/runtime/server/utils/image-proxy.d.ts +12 -0
  215. package/dist/runtime/server/utils/image-proxy.js +70 -0
  216. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  217. package/dist/runtime/server/utils/privacy.js +60 -40
  218. package/dist/runtime/server/x-embed-image.js +5 -49
  219. package/dist/runtime/server/x-embed.js +3 -2
  220. package/dist/runtime/types.d.ts +272 -51
  221. package/dist/runtime/types.js +0 -2
  222. package/dist/runtime/utils/pure.d.ts +1 -1
  223. package/dist/runtime/utils.d.ts +6 -4
  224. package/dist/runtime/utils.js +31 -14
  225. package/dist/stats.d.mts +202 -0
  226. package/dist/stats.d.ts +202 -0
  227. package/dist/stats.mjs +3875 -0
  228. package/dist/types-source.d.mts +17 -0
  229. package/dist/types-source.d.ts +17 -0
  230. package/dist/types-source.mjs +3414 -0
  231. package/dist/types.d.mts +4 -2
  232. package/package.json +35 -61
  233. package/README.md +0 -86
  234. package/dist/client/200.html +0 -1
  235. package/dist/client/404.html +0 -1
  236. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  237. package/dist/client/_nuxt/BpR-tlZc.js +0 -1
  238. package/dist/client/_nuxt/CBbMDhE2.js +0 -162
  239. package/dist/client/_nuxt/CEMAW3aB.js +0 -1
  240. package/dist/client/_nuxt/MWkREqzj.js +0 -1
  241. package/dist/client/_nuxt/builds/latest.json +0 -1
  242. package/dist/client/_nuxt/builds/meta/762d443a-0880-424f-bda8-2b32b39d43ec.json +0 -1
  243. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  244. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  245. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  246. package/dist/client/index.html +0 -1
  247. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  248. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  249. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  250. package/dist/runtime/validation/mock.d.ts +0 -42
  251. package/dist/runtime/validation/mock.js +0 -21
  252. package/dist/runtime/validation/valibot.d.ts +0 -1
  253. package/dist/runtime/validation/valibot.js +0 -1
  254. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  255. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  256. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -1,28 +1,6 @@
1
- export interface PlaceholderOptions {
2
- width?: string | number;
3
- height?: string | number;
4
- center?: string;
5
- zoom?: number;
6
- size?: string;
7
- scale?: number;
8
- format?: 'png' | 'jpg' | 'gif' | 'png8' | 'png32' | 'jpg-baseline';
9
- maptype?: 'roadmap' | 'satellite' | 'terrain' | 'hybrid';
10
- language?: string;
11
- region?: string;
12
- markers?: string;
13
- path?: string;
14
- visible?: string;
15
- style?: string;
16
- map_id?: string;
17
- key?: string;
18
- signature?: string;
19
- }
20
- import type { HTMLAttributes, ImgHTMLAttributes, InjectionKey, Ref, ReservedProps, ShallowRef } from 'vue';
21
1
  import type { ElementScriptTrigger } from '#nuxt-scripts/types';
22
- export declare const MAP_INJECTION_KEY: InjectionKey<{
23
- map: ShallowRef<google.maps.Map | undefined>;
24
- mapsApi: Ref<typeof google.maps | undefined>;
25
- }>;
2
+ import type { HTMLAttributes, ReservedProps, ShallowRef } from 'vue';
3
+ export { MAP_INJECTION_KEY } from './useGoogleMapsResource.js';
26
4
  declare const _default: typeof __VLS_export;
27
5
  export default _default;
28
6
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
@@ -30,11 +8,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
30
8
  * Defines the trigger event to load the script.
31
9
  */
32
10
  trigger?: ElementScriptTrigger;
33
- /**
34
- * Is Google Maps being rendered above the fold?
35
- * This will load the placeholder image with higher priority.
36
- */
37
- aboveTheFold?: boolean;
38
11
  /**
39
12
  * Defines the Google Maps API key. Must have access to the Static Maps API as well.
40
13
  */
@@ -44,9 +17,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
44
17
  */
45
18
  center?: google.maps.LatLng | google.maps.LatLngLiteral | `${string},${string}`;
46
19
  /**
47
- * Should a marker be displayed on the map where the centre is.
20
+ * Zoom level for the map (0-21). Reactive: changing this will update the map.
21
+ * Takes precedence over mapOptions.zoom when provided.
48
22
  */
49
- centerMarker?: boolean;
23
+ zoom?: number;
50
24
  /**
51
25
  * Options for the map.
52
26
  */
@@ -71,24 +45,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
71
45
  * Defines the height of the map
72
46
  */
73
47
  height?: number | string;
74
- /**
75
- * Customize the placeholder image attributes.
76
- *
77
- * @see https://developers.google.com/maps/documentation/maps-static/start.
78
- */
79
- placeholderOptions?: PlaceholderOptions;
80
- /**
81
- * Customize the placeholder image attributes.
82
- */
83
- placeholderAttrs?: ImgHTMLAttributes & ReservedProps & Record<string, unknown>;
84
48
  /**
85
49
  * Customize the root element attributes.
86
50
  */
87
51
  rootAttrs?: HTMLAttributes & ReservedProps & Record<string, unknown>;
88
- /**
89
- * Extra Markers to add to the map.
90
- */
91
- markers?: (`${string},${string}` | google.maps.marker.AdvancedMarkerElementOptions)[];
92
52
  /**
93
53
  * Map IDs for light and dark color modes.
94
54
  * When provided, the map will automatically switch styles based on color mode.
@@ -104,10 +64,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
104
64
  */
105
65
  colorMode?: "light" | "dark";
106
66
  }, {
107
- readonly googleMaps: Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
67
+ readonly googleMaps: import("vue").Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
108
68
  readonly map: ShallowRef<google.maps.Map | undefined>;
109
- readonly createAdvancedMapMarker: (_options?: google.maps.marker.AdvancedMarkerElementOptions | `${string},${string}`) => Promise<google.maps.marker.AdvancedMarkerElement | undefined>;
110
- readonly resolveQueryToLatLang: (query: string) => Promise<google.maps.LatLng | undefined>;
69
+ readonly resolveQueryToLatLng: (query: string) => Promise<google.maps.LatLng | google.maps.LatLngLiteral | undefined>;
111
70
  readonly importLibrary: {
112
71
  (key: "marker"): Promise<google.maps.MarkerLibrary>;
113
72
  (key: "places"): Promise<google.maps.PlacesLibrary>;
@@ -119,10 +78,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
119
78
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
120
79
  error: () => any;
121
80
  ready: (e: {
122
- readonly googleMaps: Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
81
+ readonly googleMaps: import("vue").Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
123
82
  readonly map: ShallowRef<google.maps.Map | undefined>;
124
- readonly createAdvancedMapMarker: (_options?: google.maps.marker.AdvancedMarkerElementOptions | `${string},${string}`) => Promise<google.maps.marker.AdvancedMarkerElement | undefined>;
125
- readonly resolveQueryToLatLang: (query: string) => Promise<google.maps.LatLng | undefined>;
83
+ readonly resolveQueryToLatLng: (query: string) => Promise<google.maps.LatLng | google.maps.LatLngLiteral | undefined>;
126
84
  readonly importLibrary: {
127
85
  (key: "marker"): Promise<google.maps.MarkerLibrary>;
128
86
  (key: "places"): Promise<google.maps.PlacesLibrary>;
@@ -137,11 +95,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
137
95
  * Defines the trigger event to load the script.
138
96
  */
139
97
  trigger?: ElementScriptTrigger;
140
- /**
141
- * Is Google Maps being rendered above the fold?
142
- * This will load the placeholder image with higher priority.
143
- */
144
- aboveTheFold?: boolean;
145
98
  /**
146
99
  * Defines the Google Maps API key. Must have access to the Static Maps API as well.
147
100
  */
@@ -151,9 +104,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
151
104
  */
152
105
  center?: google.maps.LatLng | google.maps.LatLngLiteral | `${string},${string}`;
153
106
  /**
154
- * Should a marker be displayed on the map where the centre is.
107
+ * Zoom level for the map (0-21). Reactive: changing this will update the map.
108
+ * Takes precedence over mapOptions.zoom when provided.
155
109
  */
156
- centerMarker?: boolean;
110
+ zoom?: number;
157
111
  /**
158
112
  * Options for the map.
159
113
  */
@@ -178,24 +132,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
178
132
  * Defines the height of the map
179
133
  */
180
134
  height?: number | string;
181
- /**
182
- * Customize the placeholder image attributes.
183
- *
184
- * @see https://developers.google.com/maps/documentation/maps-static/start.
185
- */
186
- placeholderOptions?: PlaceholderOptions;
187
- /**
188
- * Customize the placeholder image attributes.
189
- */
190
- placeholderAttrs?: ImgHTMLAttributes & ReservedProps & Record<string, unknown>;
191
135
  /**
192
136
  * Customize the root element attributes.
193
137
  */
194
138
  rootAttrs?: HTMLAttributes & ReservedProps & Record<string, unknown>;
195
- /**
196
- * Extra Markers to add to the map.
197
- */
198
- markers?: (`${string},${string}` | google.maps.marker.AdvancedMarkerElementOptions)[];
199
139
  /**
200
140
  * Map IDs for light and dark color modes.
201
141
  * When provided, the map will automatically switch styles based on color mode.
@@ -213,10 +153,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
213
153
  }> & Readonly<{
214
154
  onError?: (() => any) | undefined;
215
155
  onReady?: ((e: {
216
- readonly googleMaps: Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
156
+ readonly googleMaps: import("vue").Ref<typeof google.maps | undefined, typeof google.maps | undefined>;
217
157
  readonly map: ShallowRef<google.maps.Map | undefined>;
218
- readonly createAdvancedMapMarker: (_options?: google.maps.marker.AdvancedMarkerElementOptions | `${string},${string}`) => Promise<google.maps.marker.AdvancedMarkerElement | undefined>;
219
- readonly resolveQueryToLatLang: (query: string) => Promise<google.maps.LatLng | undefined>;
158
+ readonly resolveQueryToLatLng: (query: string) => Promise<google.maps.LatLng | google.maps.LatLngLiteral | undefined>;
220
159
  readonly importLibrary: {
221
160
  (key: "marker"): Promise<google.maps.MarkerLibrary>;
222
161
  (key: "places"): Promise<google.maps.PlacesLibrary>;
@@ -228,13 +167,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
228
167
  }) => any) | undefined;
229
168
  }>, {
230
169
  trigger: ElementScriptTrigger;
231
- centerMarker: boolean;
232
170
  width: number | string;
233
171
  height: number | string;
234
172
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
235
- placeholder?: (props: {
236
- placeholder: string;
237
- }) => any;
173
+ placeholder?: (props: {}) => any;
238
174
  } & {
239
175
  loading?: (props: {}) => any;
240
176
  } & {
@@ -1,60 +1,11 @@
1
- import type { InjectionKey, ShallowRef } from 'vue';
2
- export declare const ADVANCED_MARKER_ELEMENT_INJECTION_KEY: InjectionKey<{
3
- advancedMarkerElement: ShallowRef<google.maps.marker.AdvancedMarkerElement | undefined>;
4
- }>;
1
+ declare var __VLS_10: string, __VLS_11: any;
2
+ type __VLS_Slots = {} & {
3
+ [K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
4
+ };
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
5
7
  declare const _default: typeof __VLS_export;
6
8
  export default _default;
7
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
8
- options?: Omit<google.maps.marker.AdvancedMarkerElementOptions, "map">;
9
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
- click: (payload: google.maps.MapMouseEvent) => any;
11
- contextmenu: (payload: google.maps.MapMouseEvent) => any;
12
- dblclick: (payload: google.maps.MapMouseEvent) => any;
13
- drag: (payload: google.maps.MapMouseEvent) => any;
14
- dragend: (payload: google.maps.MapMouseEvent) => any;
15
- dragstart: (payload: google.maps.MapMouseEvent) => any;
16
- mousedown: (payload: google.maps.MapMouseEvent) => any;
17
- mouseout: (payload: google.maps.MapMouseEvent) => any;
18
- mouseover: (payload: google.maps.MapMouseEvent) => any;
19
- mouseup: (payload: google.maps.MapMouseEvent) => any;
20
- animation_changed: () => any;
21
- clickable_changed: () => any;
22
- cursor_changed: () => any;
23
- draggable_changed: () => any;
24
- flat_changed: () => any;
25
- icon_changed: () => any;
26
- position_changed: () => any;
27
- shape_changed: () => any;
28
- title_changed: () => any;
29
- visible_changed: () => any;
30
- zindex_changed: () => any;
31
- }, string, import("vue").PublicProps, Readonly<{
32
- options?: Omit<google.maps.marker.AdvancedMarkerElementOptions, "map">;
33
- }> & Readonly<{
34
- onClick?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
35
- onContextmenu?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
36
- onDblclick?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
37
- onDrag?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
38
- onDragend?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
39
- onDragstart?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
40
- onMousedown?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
41
- onMouseout?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
42
- onMouseover?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
43
- onMouseup?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
44
- onAnimation_changed?: (() => any) | undefined;
45
- onClickable_changed?: (() => any) | undefined;
46
- onCursor_changed?: (() => any) | undefined;
47
- onDraggable_changed?: (() => any) | undefined;
48
- onFlat_changed?: (() => any) | undefined;
49
- onIcon_changed?: (() => any) | undefined;
50
- onPosition_changed?: (() => any) | undefined;
51
- onShape_changed?: (() => any) | undefined;
52
- onTitle_changed?: (() => any) | undefined;
53
- onVisible_changed?: (() => any) | undefined;
54
- onZindex_changed?: (() => any) | undefined;
55
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
56
- default?: (props: {}) => any;
57
- }>;
58
9
  type __VLS_WithSlots<T, S> = T & {
59
10
  new (): {
60
11
  $slots: S;
@@ -1,86 +1,15 @@
1
- <template>
2
- <slot v-if="advancedMarkerElement" />
3
- </template>
4
-
5
- <script>
6
- import { inject, onUnmounted, provide, shallowRef } from "vue";
7
- import { whenever } from "@vueuse/core";
8
- import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
9
- import { MARKER_CLUSTERER_INJECTION_KEY } from "./ScriptGoogleMapsMarkerClusterer.vue";
10
- export const ADVANCED_MARKER_ELEMENT_INJECTION_KEY = /* @__PURE__ */ Symbol("marker");
11
- </script>
12
-
13
1
  <script setup>
14
- const props = defineProps({
15
- options: { type: Object, required: false }
16
- });
17
- const eventsWithoutPayload = [
18
- "animation_changed",
19
- "clickable_changed",
20
- "cursor_changed",
21
- "draggable_changed",
22
- "flat_changed",
23
- "icon_changed",
24
- "position_changed",
25
- "shape_changed",
26
- "title_changed",
27
- "visible_changed",
28
- "zindex_changed"
29
- ];
30
- const eventsWithMapMouseEventPayload = [
31
- "click",
32
- "contextmenu",
33
- "dblclick",
34
- "drag",
35
- "dragend",
36
- "dragstart",
37
- "mousedown",
38
- "mouseout",
39
- "mouseover",
40
- "mouseup"
41
- ];
42
- const emit = defineEmits([]);
43
- const mapContext = inject(MAP_INJECTION_KEY, void 0);
44
- const markerClustererContext = inject(MARKER_CLUSTERER_INJECTION_KEY, void 0);
45
- const advancedMarkerElement = shallowRef(void 0);
46
- whenever(() => mapContext?.map.value && mapContext.mapsApi.value, async () => {
47
- await mapContext.mapsApi.value.importLibrary("marker");
48
- advancedMarkerElement.value = new mapContext.mapsApi.value.marker.AdvancedMarkerElement(props.options);
49
- setupAdvancedMarkerElementEventListeners(advancedMarkerElement.value);
50
- if (markerClustererContext?.markerClusterer.value) {
51
- markerClustererContext.markerClusterer.value.addMarker(advancedMarkerElement.value);
52
- } else {
53
- advancedMarkerElement.value.map = mapContext.map.value;
54
- }
55
- whenever(() => props.options, (options) => {
56
- if (advancedMarkerElement.value && options) {
57
- Object.assign(advancedMarkerElement.value, options);
58
- }
59
- }, {
60
- deep: true
61
- });
62
- }, {
63
- immediate: true,
64
- once: true
65
- });
66
- onUnmounted(() => {
67
- if (!advancedMarkerElement.value || !mapContext?.mapsApi.value) {
68
- return;
69
- }
70
- mapContext.mapsApi.value.event.clearInstanceListeners(advancedMarkerElement.value);
71
- if (markerClustererContext) {
72
- markerClustererContext.markerClusterer.value?.removeMarker(advancedMarkerElement.value);
73
- } else {
74
- advancedMarkerElement.value.map = null;
75
- }
76
- });
77
- provide(ADVANCED_MARKER_ELEMENT_INJECTION_KEY, { advancedMarkerElement });
78
- function setupAdvancedMarkerElementEventListeners(advancedMarkerElement2) {
79
- eventsWithoutPayload.forEach((event) => {
80
- advancedMarkerElement2.addListener(event, () => emit(event));
81
- });
82
- eventsWithMapMouseEventPayload.forEach((event) => {
83
- advancedMarkerElement2.addListener(event, (payload) => emit(event, payload));
84
- });
2
+ if (import.meta.dev) {
3
+ console.warn(
4
+ "[nuxt-scripts] <ScriptGoogleMapsAdvancedMarkerElement> was renamed to <ScriptGoogleMapsMarker> in v1. See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1"
5
+ );
85
6
  }
86
7
  </script>
8
+
9
+ <template>
10
+ <ScriptGoogleMapsMarker v-bind="$attrs">
11
+ <template v-for="(_, name) in $slots" #[name]="slotData">
12
+ <slot :name="name" v-bind="slotData || {}" />
13
+ </template>
14
+ </ScriptGoogleMapsMarker>
15
+ </template>
@@ -1,60 +1,11 @@
1
- import type { InjectionKey, ShallowRef } from 'vue';
2
- export declare const ADVANCED_MARKER_ELEMENT_INJECTION_KEY: InjectionKey<{
3
- advancedMarkerElement: ShallowRef<google.maps.marker.AdvancedMarkerElement | undefined>;
4
- }>;
1
+ declare var __VLS_10: string, __VLS_11: any;
2
+ type __VLS_Slots = {} & {
3
+ [K in NonNullable<typeof __VLS_10>]?: (props: typeof __VLS_11) => any;
4
+ };
5
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
5
7
  declare const _default: typeof __VLS_export;
6
8
  export default _default;
7
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
8
- options?: Omit<google.maps.marker.AdvancedMarkerElementOptions, "map">;
9
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
- click: (payload: google.maps.MapMouseEvent) => any;
11
- contextmenu: (payload: google.maps.MapMouseEvent) => any;
12
- dblclick: (payload: google.maps.MapMouseEvent) => any;
13
- drag: (payload: google.maps.MapMouseEvent) => any;
14
- dragend: (payload: google.maps.MapMouseEvent) => any;
15
- dragstart: (payload: google.maps.MapMouseEvent) => any;
16
- mousedown: (payload: google.maps.MapMouseEvent) => any;
17
- mouseout: (payload: google.maps.MapMouseEvent) => any;
18
- mouseover: (payload: google.maps.MapMouseEvent) => any;
19
- mouseup: (payload: google.maps.MapMouseEvent) => any;
20
- animation_changed: () => any;
21
- clickable_changed: () => any;
22
- cursor_changed: () => any;
23
- draggable_changed: () => any;
24
- flat_changed: () => any;
25
- icon_changed: () => any;
26
- position_changed: () => any;
27
- shape_changed: () => any;
28
- title_changed: () => any;
29
- visible_changed: () => any;
30
- zindex_changed: () => any;
31
- }, string, import("vue").PublicProps, Readonly<{
32
- options?: Omit<google.maps.marker.AdvancedMarkerElementOptions, "map">;
33
- }> & Readonly<{
34
- onClick?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
35
- onContextmenu?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
36
- onDblclick?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
37
- onDrag?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
38
- onDragend?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
39
- onDragstart?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
40
- onMousedown?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
41
- onMouseout?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
42
- onMouseover?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
43
- onMouseup?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
44
- onAnimation_changed?: (() => any) | undefined;
45
- onClickable_changed?: (() => any) | undefined;
46
- onCursor_changed?: (() => any) | undefined;
47
- onDraggable_changed?: (() => any) | undefined;
48
- onFlat_changed?: (() => any) | undefined;
49
- onIcon_changed?: (() => any) | undefined;
50
- onPosition_changed?: (() => any) | undefined;
51
- onShape_changed?: (() => any) | undefined;
52
- onTitle_changed?: (() => any) | undefined;
53
- onVisible_changed?: (() => any) | undefined;
54
- onZindex_changed?: (() => any) | undefined;
55
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
56
- default?: (props: {}) => any;
57
- }>;
58
9
  type __VLS_WithSlots<T, S> = T & {
59
10
  new (): {
60
11
  $slots: S;
@@ -1,7 +1,11 @@
1
1
  type __VLS_Props = {
2
+ /**
3
+ * Configuration options for the circle overlay.
4
+ * @see https://developers.google.com/maps/documentation/javascript/reference/polygon#CircleOptions
5
+ */
2
6
  options?: Omit<google.maps.CircleOptions, 'map'>;
3
7
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
9
  click: (payload: google.maps.MapMouseEvent) => any;
6
10
  dblclick: (payload: google.maps.MapMouseEvent) => any;
7
11
  drag: (payload: google.maps.MapMouseEvent) => any;
@@ -1,14 +1,10 @@
1
- <template>
2
-
3
- </template>
4
-
5
1
  <script setup>
6
- import { inject, onUnmounted } from "vue";
7
- import { whenever } from "@vueuse/core";
8
- import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
2
+ import { watch } from "vue";
3
+ import { bindGoogleMapsEvents, useGoogleMapsResource } from "./useGoogleMapsResource";
9
4
  const props = defineProps({
10
5
  options: { type: Object, required: false }
11
6
  });
7
+ const emit = defineEmits(["center_changed", "radius_changed", "click", "dblclick", "drag", "dragend", "dragstart", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "rightclick"]);
12
8
  const eventsWithoutPayload = [
13
9
  "center_changed",
14
10
  "radius_changed"
@@ -26,37 +22,27 @@ const eventsWithMapMouseEventPayload = [
26
22
  "mouseup",
27
23
  "rightclick"
28
24
  ];
29
- const emit = defineEmits([]);
30
- const mapContext = inject(MAP_INJECTION_KEY, void 0);
31
- let circle = void 0;
32
- whenever(() => mapContext?.map.value && mapContext.mapsApi.value, () => {
33
- circle = new mapContext.mapsApi.value.Circle({
34
- map: mapContext.map.value,
35
- ...props.options
36
- });
37
- setupCircleEventListeners(circle);
38
- whenever(() => props.options, (options) => {
39
- circle?.setOptions(options);
40
- }, {
41
- deep: true
42
- });
43
- }, {
44
- immediate: true,
45
- once: true
46
- });
47
- onUnmounted(() => {
48
- if (!circle || !mapContext?.mapsApi.value) {
49
- return;
25
+ const circle = useGoogleMapsResource({
26
+ create({ mapsApi, map }) {
27
+ const c = new mapsApi.Circle({ map, ...props.options });
28
+ bindGoogleMapsEvents(c, emit, {
29
+ noPayload: eventsWithoutPayload,
30
+ withPayload: eventsWithMapMouseEventPayload
31
+ });
32
+ return c;
33
+ },
34
+ cleanup(c, { mapsApi }) {
35
+ mapsApi.event.clearInstanceListeners(c);
36
+ c.setMap(null);
50
37
  }
51
- mapContext.mapsApi.value.event.clearInstanceListeners(circle);
52
- circle.setMap(null);
53
38
  });
54
- function setupCircleEventListeners(circle2) {
55
- eventsWithoutPayload.forEach((event) => {
56
- circle2.addListener(event, () => emit(event));
57
- });
58
- eventsWithMapMouseEventPayload.forEach((event) => {
59
- circle2.addListener(event, (payload) => emit(event, payload));
60
- });
61
- }
39
+ watch(() => props.options, (options) => {
40
+ if (circle.value && options) {
41
+ circle.value.setOptions(options);
42
+ }
43
+ }, { deep: true });
62
44
  </script>
45
+
46
+ <template>
47
+
48
+ </template>
@@ -1,7 +1,11 @@
1
1
  type __VLS_Props = {
2
+ /**
3
+ * Configuration options for the circle overlay.
4
+ * @see https://developers.google.com/maps/documentation/javascript/reference/polygon#CircleOptions
5
+ */
2
6
  options?: Omit<google.maps.CircleOptions, 'map'>;
3
7
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
9
  click: (payload: google.maps.MapMouseEvent) => any;
6
10
  dblclick: (payload: google.maps.MapMouseEvent) => any;
7
11
  drag: (payload: google.maps.MapMouseEvent) => any;
@@ -0,0 +1,43 @@
1
+ type __VLS_Props = {
2
+ /**
3
+ * The GeoJSON source. Can be a URL string or a GeoJSON object.
4
+ * @see https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson
5
+ */
6
+ src: string | object;
7
+ /**
8
+ * Styling options or a function that computes styles per feature.
9
+ * @see https://developers.google.com/maps/documentation/javascript/datalayer#style_geojson_data
10
+ */
11
+ style?: google.maps.Data.StylingFunction | google.maps.Data.StyleOptions;
12
+ };
13
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ contextmenu: (payload: google.maps.Data.MouseEvent) => any;
15
+ click: (payload: google.maps.Data.MouseEvent) => any;
16
+ dblclick: (payload: google.maps.Data.MouseEvent) => any;
17
+ mousedown: (payload: google.maps.Data.MouseEvent) => any;
18
+ mousemove: (payload: google.maps.Data.MouseEvent) => any;
19
+ mouseout: (payload: google.maps.Data.MouseEvent) => any;
20
+ mouseover: (payload: google.maps.Data.MouseEvent) => any;
21
+ mouseup: (payload: google.maps.Data.MouseEvent) => any;
22
+ addfeature: (payload: google.maps.Data.AddFeatureEvent) => any;
23
+ removefeature: (payload: google.maps.Data.RemoveFeatureEvent) => any;
24
+ setgeometry: (payload: google.maps.Data.SetGeometryEvent) => any;
25
+ setproperty: (payload: google.maps.Data.SetPropertyEvent) => any;
26
+ removeproperty: (payload: google.maps.Data.RemovePropertyEvent) => any;
27
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
28
+ onContextmenu?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
29
+ onClick?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
30
+ onDblclick?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
31
+ onMousedown?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
32
+ onMousemove?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
33
+ onMouseout?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
34
+ onMouseover?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
35
+ onMouseup?: ((payload: google.maps.Data.MouseEvent) => any) | undefined;
36
+ onAddfeature?: ((payload: google.maps.Data.AddFeatureEvent) => any) | undefined;
37
+ onRemovefeature?: ((payload: google.maps.Data.RemoveFeatureEvent) => any) | undefined;
38
+ onSetgeometry?: ((payload: google.maps.Data.SetGeometryEvent) => any) | undefined;
39
+ onSetproperty?: ((payload: google.maps.Data.SetPropertyEvent) => any) | undefined;
40
+ onRemoveproperty?: ((payload: google.maps.Data.RemovePropertyEvent) => any) | undefined;
41
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;
@@ -0,0 +1,60 @@
1
+ <script setup>
2
+ import { watch } from "vue";
3
+ import { bindGoogleMapsEvents, useGoogleMapsResource } from "./useGoogleMapsResource";
4
+ const props = defineProps({
5
+ src: { type: [String, Object], required: true },
6
+ style: { type: null, required: false }
7
+ });
8
+ const emit = defineEmits(["click", "contextmenu", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "addfeature", "removefeature", "setgeometry", "setproperty", "removeproperty"]);
9
+ const dataEvents = [
10
+ "click",
11
+ "contextmenu",
12
+ "dblclick",
13
+ "mousedown",
14
+ "mousemove",
15
+ "mouseout",
16
+ "mouseover",
17
+ "mouseup"
18
+ ];
19
+ const featureEvents = [
20
+ "addfeature",
21
+ "removefeature",
22
+ "setgeometry",
23
+ "setproperty",
24
+ "removeproperty"
25
+ ];
26
+ function loadGeoJson(src, layer) {
27
+ if (typeof src === "string")
28
+ layer.loadGeoJson(src);
29
+ else
30
+ layer.addGeoJson(src);
31
+ }
32
+ const dataLayer = useGoogleMapsResource({
33
+ create({ mapsApi, map }) {
34
+ const layer = new mapsApi.Data({ map });
35
+ if (props.style)
36
+ layer.setStyle(props.style);
37
+ loadGeoJson(props.src, layer);
38
+ bindGoogleMapsEvents(layer, emit, { withPayload: [...dataEvents, ...featureEvents] });
39
+ return layer;
40
+ },
41
+ cleanup(layer, { mapsApi }) {
42
+ mapsApi.event.clearInstanceListeners(layer);
43
+ layer.setMap(null);
44
+ }
45
+ });
46
+ watch(() => props.src, (src) => {
47
+ if (!dataLayer.value)
48
+ return;
49
+ dataLayer.value.forEach((feature) => dataLayer.value.remove(feature));
50
+ loadGeoJson(src, dataLayer.value);
51
+ });
52
+ watch(() => props.style, (style) => {
53
+ if (dataLayer.value)
54
+ dataLayer.value.setStyle(style ?? {});
55
+ }, { deep: true });
56
+ </script>
57
+
58
+ <template>
59
+
60
+ </template>