@nuxt/scripts 1.0.0-beta.7 → 1.0.0-rc.10

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 (300) hide show
  1. package/bin/cli.mjs +2 -0
  2. package/dist/cli.d.mts +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.mjs +50 -0
  5. package/dist/devtools-client/200.html +1 -0
  6. package/dist/devtools-client/404.html +1 -0
  7. package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  8. package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  9. package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  10. package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  11. package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  12. package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  13. package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  14. package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  15. package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  16. package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  17. package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  18. package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  19. package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
  20. package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
  21. package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
  22. package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
  23. package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
  24. package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
  25. package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
  26. package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
  27. package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
  28. package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
  29. package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
  30. package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
  31. package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
  32. package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
  33. package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
  34. package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
  35. package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
  36. package/dist/devtools-client/docs/index.html +1 -0
  37. package/dist/devtools-client/first-party/index.html +1 -0
  38. package/dist/devtools-client/index.html +1 -0
  39. package/dist/devtools-client/registry/index.html +1 -0
  40. package/dist/module.d.mts +89 -80
  41. package/dist/module.d.ts +185 -0
  42. package/dist/module.json +1 -1
  43. package/dist/module.mjs +1056 -756
  44. package/dist/registry.d.mts +92 -4
  45. package/dist/registry.d.ts +94 -0
  46. package/dist/registry.mjs +668 -326
  47. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
  48. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
  49. package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
  50. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
  51. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
  52. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
  53. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
  54. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
  55. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
  56. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
  57. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
  58. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
  59. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
  60. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
  61. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
  62. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
  63. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
  64. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
  65. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
  66. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
  67. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
  68. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
  69. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
  70. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
  71. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
  72. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
  73. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
  74. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
  75. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
  76. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
  77. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
  78. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
  79. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
  80. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
  81. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
  82. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
  83. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
  84. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
  85. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
  86. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
  87. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
  88. package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
  89. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
  90. package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
  91. package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
  92. package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
  93. package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
  94. package/dist/runtime/components/GoogleMaps/types.js +1 -0
  95. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
  96. package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
  97. package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
  98. package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
  99. package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
  100. package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
  101. package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
  102. package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
  103. package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
  104. package/dist/runtime/components/ScriptCrisp.vue +2 -1
  105. package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
  106. package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
  107. package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
  108. package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
  109. package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
  110. package/dist/runtime/components/ScriptGravatar.vue +46 -0
  111. package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
  112. package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
  113. package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
  114. package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
  115. package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
  116. package/dist/runtime/components/ScriptIntercom.vue +5 -3
  117. package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
  118. package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
  119. package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
  120. package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
  121. package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
  122. package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
  123. package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
  124. package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
  125. package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
  126. package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
  127. package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
  128. package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
  129. package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
  130. package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
  131. package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
  132. package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
  133. package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
  134. package/dist/runtime/components/ScriptXEmbed.vue +21 -12
  135. package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
  136. package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
  137. package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
  138. package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
  139. package/dist/runtime/composables/useScript.js +159 -8
  140. package/dist/runtime/composables/useScriptEventPage.js +2 -2
  141. package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
  142. package/dist/runtime/composables/useScriptProxyToken.js +4 -0
  143. package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
  144. package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
  145. package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
  146. package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
  147. package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
  148. package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
  149. package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
  150. package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
  151. package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
  152. package/dist/runtime/plugins/proxy-token.server.js +17 -0
  153. package/dist/runtime/registry/bing-uet.d.ts +198 -0
  154. package/dist/runtime/registry/bing-uet.js +43 -0
  155. package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
  156. package/dist/runtime/registry/bluesky-embed.js +68 -0
  157. package/dist/runtime/registry/clarity.d.ts +16 -17
  158. package/dist/runtime/registry/clarity.js +33 -31
  159. package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
  160. package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
  161. package/dist/runtime/registry/crisp.d.ts +10 -40
  162. package/dist/runtime/registry/crisp.js +2 -33
  163. package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
  164. package/dist/runtime/registry/databuddy-analytics.js +20 -45
  165. package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
  166. package/dist/runtime/registry/fathom-analytics.js +3 -25
  167. package/dist/runtime/registry/google-adsense.d.ts +3 -11
  168. package/dist/runtime/registry/google-adsense.js +2 -11
  169. package/dist/runtime/registry/google-analytics.d.ts +9 -7
  170. package/dist/runtime/registry/google-analytics.js +15 -9
  171. package/dist/runtime/registry/google-maps.d.ts +3 -9
  172. package/dist/runtime/registry/google-maps.js +2 -8
  173. package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
  174. package/dist/runtime/registry/google-recaptcha.js +4 -12
  175. package/dist/runtime/registry/google-sign-in.d.ts +2 -13
  176. package/dist/runtime/registry/google-sign-in.js +2 -22
  177. package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
  178. package/dist/runtime/registry/google-tag-manager.js +14 -28
  179. package/dist/runtime/registry/gravatar.d.ts +26 -0
  180. package/dist/runtime/registry/gravatar.js +33 -0
  181. package/dist/runtime/registry/hotjar.d.ts +4 -6
  182. package/dist/runtime/registry/hotjar.js +2 -5
  183. package/dist/runtime/registry/instagram-embed.d.ts +3 -18
  184. package/dist/runtime/registry/instagram-embed.js +4 -19
  185. package/dist/runtime/registry/intercom.d.ts +5 -13
  186. package/dist/runtime/registry/intercom.js +2 -12
  187. package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
  188. package/dist/runtime/registry/matomo-analytics.js +31 -13
  189. package/dist/runtime/registry/meta-pixel.d.ts +12 -8
  190. package/dist/runtime/registry/meta-pixel.js +12 -5
  191. package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
  192. package/dist/runtime/registry/mixpanel-analytics.js +58 -0
  193. package/dist/runtime/registry/npm.d.ts +3 -7
  194. package/dist/runtime/registry/npm.js +2 -9
  195. package/dist/runtime/registry/paypal.d.ts +4 -25
  196. package/dist/runtime/registry/paypal.js +3 -66
  197. package/dist/runtime/registry/plausible-analytics.js +19 -14
  198. package/dist/runtime/registry/posthog.d.ts +18 -14
  199. package/dist/runtime/registry/posthog.js +18 -16
  200. package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
  201. package/dist/runtime/registry/reddit-pixel.js +2 -4
  202. package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
  203. package/dist/runtime/registry/rybbit-analytics.js +10 -20
  204. package/dist/runtime/registry/schemas.d.ts +1047 -0
  205. package/dist/runtime/registry/schemas.js +1004 -0
  206. package/dist/runtime/registry/segment.d.ts +2 -5
  207. package/dist/runtime/registry/segment.js +2 -5
  208. package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
  209. package/dist/runtime/registry/snapchat-pixel.js +2 -20
  210. package/dist/runtime/registry/stripe.d.ts +3 -4
  211. package/dist/runtime/registry/stripe.js +2 -4
  212. package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
  213. package/dist/runtime/registry/tiktok-pixel.js +24 -7
  214. package/dist/runtime/registry/umami-analytics.d.ts +2 -31
  215. package/dist/runtime/registry/umami-analytics.js +2 -36
  216. package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
  217. package/dist/runtime/registry/vercel-analytics.js +84 -0
  218. package/dist/runtime/registry/vimeo-player.d.ts +2 -2
  219. package/dist/runtime/registry/vimeo-player.js +1 -1
  220. package/dist/runtime/registry/x-embed.d.ts +3 -21
  221. package/dist/runtime/registry/x-embed.js +2 -21
  222. package/dist/runtime/registry/x-pixel.d.ts +4 -7
  223. package/dist/runtime/registry/x-pixel.js +2 -5
  224. package/dist/runtime/registry/youtube-player.d.ts +7 -7
  225. package/dist/runtime/registry/youtube-player.js +1 -1
  226. package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
  227. package/dist/runtime/server/bluesky-embed-image.js +7 -0
  228. package/dist/runtime/server/bluesky-embed.d.ts +2 -0
  229. package/dist/runtime/server/bluesky-embed.js +78 -0
  230. package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
  231. package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
  232. package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
  233. package/dist/runtime/server/google-static-maps-proxy.js +18 -23
  234. package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
  235. package/dist/runtime/server/gravatar-proxy.js +46 -0
  236. package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
  237. package/dist/runtime/server/instagram-embed-asset.js +8 -41
  238. package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
  239. package/dist/runtime/server/instagram-embed-image.js +6 -53
  240. package/dist/runtime/server/instagram-embed.d.ts +1 -0
  241. package/dist/runtime/server/instagram-embed.js +82 -40
  242. package/dist/runtime/server/proxy-handler.js +102 -85
  243. package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
  244. package/dist/runtime/server/utils/cached-upstream.js +65 -0
  245. package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
  246. package/dist/runtime/server/utils/embed-rewriters.js +41 -0
  247. package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
  248. package/dist/runtime/server/utils/image-proxy.js +73 -0
  249. package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
  250. package/dist/runtime/server/utils/instagram-embed.js +153 -0
  251. package/dist/runtime/server/utils/privacy.d.ts +1 -10
  252. package/dist/runtime/server/utils/privacy.js +60 -40
  253. package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
  254. package/dist/runtime/server/utils/proxy-url.js +21 -0
  255. package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
  256. package/dist/runtime/server/utils/sign-constants.js +5 -0
  257. package/dist/runtime/server/utils/sign.d.ts +101 -0
  258. package/dist/runtime/server/utils/sign.js +91 -0
  259. package/dist/runtime/server/utils/withSigning.d.ts +23 -0
  260. package/dist/runtime/server/utils/withSigning.js +19 -0
  261. package/dist/runtime/server/x-embed-image.d.ts +1 -1
  262. package/dist/runtime/server/x-embed-image.js +5 -49
  263. package/dist/runtime/server/x-embed.js +26 -6
  264. package/dist/runtime/types.d.ts +311 -55
  265. package/dist/runtime/types.js +1 -2
  266. package/dist/runtime/utils/pure.d.ts +1 -1
  267. package/dist/runtime/utils.d.ts +6 -4
  268. package/dist/runtime/utils.js +31 -14
  269. package/dist/stats.d.mts +202 -0
  270. package/dist/stats.d.ts +202 -0
  271. package/dist/stats.mjs +3835 -0
  272. package/dist/types-source.d.mts +17 -0
  273. package/dist/types-source.d.ts +17 -0
  274. package/dist/types-source.mjs +3787 -0
  275. package/dist/types.d.mts +4 -2
  276. package/package.json +41 -63
  277. package/README.md +0 -86
  278. package/dist/client/200.html +0 -1
  279. package/dist/client/404.html +0 -1
  280. package/dist/client/_nuxt/BJa0m50V.js +0 -1
  281. package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
  282. package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
  283. package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
  284. package/dist/client/_nuxt/builds/latest.json +0 -1
  285. package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
  286. package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
  287. package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
  288. package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
  289. package/dist/client/_nuxt/vPLZfVXe.js +0 -1
  290. package/dist/client/index.html +0 -1
  291. package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
  292. package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
  293. package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
  294. package/dist/runtime/validation/mock.d.ts +0 -42
  295. package/dist/runtime/validation/mock.js +0 -21
  296. package/dist/runtime/validation/valibot.d.ts +0 -1
  297. package/dist/runtime/validation/valibot.js +0 -1
  298. /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
  299. /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
  300. /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
@@ -0,0 +1,263 @@
1
+ <script>
2
+
3
+ </script>
4
+
5
+ <script setup>
6
+ import { computed, inject, shallowRef, useTemplateRef, watch } from "vue";
7
+ import { MARKER_CLUSTERER_INJECTION_KEY } from "./types";
8
+ import { defineDeprecatedAlias, MARKER_INJECTION_KEY, normalizeLatLng, useGoogleMapsResource } from "./useGoogleMapsResource";
9
+ defineOptions({
10
+ inheritAttrs: false
11
+ });
12
+ const {
13
+ position,
14
+ defaultOpen = true,
15
+ anchor = "bottom-center",
16
+ offset,
17
+ pane = "floatPane",
18
+ zIndex,
19
+ blockMapInteraction = true,
20
+ panOnOpen = true,
21
+ hideWhenClustered = true
22
+ } = defineProps({
23
+ position: { type: null, required: false },
24
+ defaultOpen: { type: Boolean, required: false },
25
+ anchor: { type: String, required: false },
26
+ offset: { type: Object, required: false },
27
+ pane: { type: String, required: false },
28
+ zIndex: { type: Number, required: false },
29
+ blockMapInteraction: { type: Boolean, required: false },
30
+ panOnOpen: { type: [Boolean, Number], required: false },
31
+ hideWhenClustered: { type: Boolean, required: false }
32
+ });
33
+ defineSlots();
34
+ const open = defineModel("open", { type: Boolean, ...{ default: void 0 } });
35
+ if (open.value === void 0)
36
+ open.value = defaultOpen ?? true;
37
+ const markerContext = inject(MARKER_INJECTION_KEY, void 0);
38
+ const markerClustererContext = inject(MARKER_CLUSTERER_INJECTION_KEY, void 0);
39
+ function getResolvedPosition() {
40
+ if (position)
41
+ return normalizeLatLng(position);
42
+ const markerPosition = markerContext?.advancedMarkerElement.value?.position;
43
+ if (markerPosition)
44
+ return normalizeLatLng(markerPosition);
45
+ return void 0;
46
+ }
47
+ const ANCHOR_TRANSFORMS = {
48
+ "center": "translate(-50%, -50%)",
49
+ "top-left": "translate(0, 0)",
50
+ "top-center": "translate(-50%, 0)",
51
+ "top-right": "translate(-100%, 0)",
52
+ "bottom-left": "translate(0, -100%)",
53
+ "bottom-center": "translate(-50%, -100%)",
54
+ "bottom-right": "translate(-100%, -100%)",
55
+ "left-center": "translate(0, -50%)",
56
+ "right-center": "translate(-100%, -50%)"
57
+ };
58
+ const overlayAnchor = useTemplateRef("overlay-anchor");
59
+ const overlayPosition = shallowRef(void 0);
60
+ const dataState = computed(
61
+ () => open.value !== false && overlayPosition.value !== void 0 ? "open" : "closed"
62
+ );
63
+ const overlayStyle = computed(() => {
64
+ const visible = open.value !== false && overlayPosition.value !== void 0;
65
+ if (!visible) {
66
+ return {
67
+ position: "absolute",
68
+ visibility: "hidden",
69
+ pointerEvents: "none"
70
+ };
71
+ }
72
+ const { x, y } = overlayPosition.value;
73
+ return {
74
+ position: "absolute",
75
+ left: `${x + (offset?.x ?? 0)}px`,
76
+ top: `${y + (offset?.y ?? 0)}px`,
77
+ transform: ANCHOR_TRANSFORMS[anchor],
78
+ zIndex: zIndex !== void 0 ? String(zIndex) : void 0,
79
+ visibility: "visible",
80
+ pointerEvents: "auto"
81
+ };
82
+ });
83
+ const listeners = [];
84
+ function panMapToFitOverlay(el, map, padding) {
85
+ const child = el.firstElementChild;
86
+ if (!child)
87
+ return;
88
+ const overlayRect = child.getBoundingClientRect();
89
+ const mapRect = map.getDiv().getBoundingClientRect();
90
+ let panX = 0;
91
+ let panY = 0;
92
+ if (overlayRect.top - padding < mapRect.top)
93
+ panY = overlayRect.top - mapRect.top - padding;
94
+ if (overlayRect.bottom + padding > mapRect.bottom)
95
+ panY = overlayRect.bottom - mapRect.bottom + padding;
96
+ if (overlayRect.left - padding < mapRect.left)
97
+ panX = overlayRect.left - mapRect.left - padding;
98
+ else if (overlayRect.right + padding > mapRect.right)
99
+ panX = overlayRect.right - mapRect.right + padding;
100
+ if (panX !== 0 || panY !== 0)
101
+ map.panBy(panX, panY);
102
+ }
103
+ function makeOverlayClass(mapsApi, map) {
104
+ return class CustomOverlay extends mapsApi.OverlayView {
105
+ onAdd() {
106
+ const panes = this.getPanes();
107
+ const el = overlayAnchor.value;
108
+ if (panes && el) {
109
+ panes[pane].appendChild(el);
110
+ if (blockMapInteraction)
111
+ mapsApi.OverlayView.preventMapHitsAndGesturesFrom(el);
112
+ }
113
+ if (panOnOpen && open.value !== false) {
114
+ const padding = typeof panOnOpen === "number" ? panOnOpen : 40;
115
+ requestAnimationFrame(() => {
116
+ if (open.value !== false && overlayAnchor.value && overlayPosition.value)
117
+ panMapToFitOverlay(overlayAnchor.value, map, padding);
118
+ });
119
+ }
120
+ }
121
+ draw() {
122
+ if (open.value === false) {
123
+ overlayPosition.value = void 0;
124
+ return;
125
+ }
126
+ const resolvedPosition = getResolvedPosition();
127
+ if (!resolvedPosition) {
128
+ overlayPosition.value = void 0;
129
+ return;
130
+ }
131
+ const projection = this.getProjection();
132
+ if (!projection) {
133
+ overlayPosition.value = void 0;
134
+ return;
135
+ }
136
+ const pos = projection.fromLatLngToDivPixel(
137
+ new mapsApi.LatLng(resolvedPosition.lat, resolvedPosition.lng)
138
+ );
139
+ if (!pos) {
140
+ overlayPosition.value = void 0;
141
+ return;
142
+ }
143
+ overlayPosition.value = { x: pos.x, y: pos.y };
144
+ }
145
+ onRemove() {
146
+ const el = overlayAnchor.value;
147
+ el?.parentNode?.removeChild(el);
148
+ }
149
+ };
150
+ }
151
+ const overlay = useGoogleMapsResource({
152
+ // ready condition accesses .value on ShallowRefs — tracked by whenever() in useGoogleMapsResource
153
+ ready: () => !!overlayAnchor.value && !!(position || markerContext?.advancedMarkerElement.value),
154
+ create({ mapsApi, map }) {
155
+ const CustomOverlay = makeOverlayClass(mapsApi, map);
156
+ const ov = new CustomOverlay();
157
+ ov.setMap(map);
158
+ if (markerContext?.advancedMarkerElement.value) {
159
+ const ame = markerContext.advancedMarkerElement.value;
160
+ listeners.push(
161
+ ame.addListener("drag", () => ov.draw()),
162
+ ame.addListener("dragend", () => ov.draw())
163
+ );
164
+ }
165
+ return ov;
166
+ },
167
+ cleanup(ov) {
168
+ listeners.forEach((l) => l.remove());
169
+ listeners.length = 0;
170
+ ov.setMap(null);
171
+ }
172
+ });
173
+ if (markerContext) {
174
+ watch(
175
+ () => {
176
+ const markerPosition = markerContext.advancedMarkerElement.value?.position;
177
+ return markerPosition ? normalizeLatLng(markerPosition) : void 0;
178
+ },
179
+ () => {
180
+ overlay.value?.draw();
181
+ }
182
+ );
183
+ }
184
+ watch(
185
+ () => {
186
+ const p = position ? normalizeLatLng(position) : void 0;
187
+ return [p?.lat, p?.lng, offset?.x, offset?.y, zIndex, anchor];
188
+ },
189
+ () => {
190
+ overlay.value?.draw();
191
+ }
192
+ );
193
+ watch(() => open.value, () => {
194
+ if (!overlay.value)
195
+ return;
196
+ overlay.value.draw();
197
+ });
198
+ watch([() => pane, () => blockMapInteraction], () => {
199
+ if (overlay.value) {
200
+ const map = overlay.value.getMap();
201
+ overlay.value.setMap(null);
202
+ if (map)
203
+ overlay.value.setMap(map);
204
+ }
205
+ });
206
+ if (markerClustererContext && markerContext) {
207
+ watch(
208
+ () => markerClustererContext.clusteringVersion.value,
209
+ () => {
210
+ if (!hideWhenClustered || open.value === false)
211
+ return;
212
+ const clusterer = markerClustererContext.markerClusterer.value;
213
+ if (!clusterer?.clusters)
214
+ return;
215
+ const parentMarker = markerContext.advancedMarkerElement.value;
216
+ if (!parentMarker)
217
+ return;
218
+ const isClustered = clusterer.clusters.some(
219
+ (cluster) => cluster.count > 1 && cluster.markers?.includes(parentMarker)
220
+ );
221
+ if (isClustered)
222
+ open.value = false;
223
+ }
224
+ );
225
+ }
226
+ const exposed = {
227
+ overlayView: overlay,
228
+ // Plain alias for production. In dev, replaced below with a getter that
229
+ // emits a one-shot deprecation warning. Both forms return the same
230
+ // shallow ref as `overlayView`.
231
+ overlay,
232
+ dataState
233
+ };
234
+ if (import.meta.dev) {
235
+ defineDeprecatedAlias(
236
+ exposed,
237
+ "overlay",
238
+ "overlayView",
239
+ '[nuxt-scripts] <ScriptGoogleMapsOverlayView> expose key "overlay" is deprecated; use "overlayView" instead. See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1'
240
+ );
241
+ }
242
+ defineExpose(exposed);
243
+ </script>
244
+
245
+ <template>
246
+ <div style="display: none;">
247
+ <!--
248
+ Two-element structure:
249
+ - `overlay-anchor` is moved into a Google Maps pane on `onAdd()`. Its
250
+ inline style is reactively bound to `overlayStyle`, so position
251
+ updates from `draw()` flow through Vue's patcher even after the node
252
+ has been reparented out of the component tree.
253
+ - `overlay-content` carries `data-state`, attribute-based animations,
254
+ and forwards parent attrs (e.g. `class`) so consumers can target it
255
+ directly with `[data-state]` selectors.
256
+ -->
257
+ <div ref="overlay-anchor" :style="overlayStyle">
258
+ <div :data-state="dataState" v-bind="$attrs">
259
+ <slot />
260
+ </div>
261
+ </div>
262
+ </div>
263
+ </template>
@@ -0,0 +1,98 @@
1
+ import type { ShallowRef } from 'vue';
2
+ export type ScriptGoogleMapsOverlayAnchor = 'center' | 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'left-center' | 'right-center';
3
+ export type ScriptGoogleMapsOverlayPane = 'mapPane' | 'overlayLayer' | 'markerLayer' | 'overlayMouseTarget' | 'floatPane';
4
+ export interface ScriptGoogleMapsOverlayViewProps {
5
+ /**
6
+ * Geographic position for the overlay. Falls back to parent marker position if omitted.
7
+ *
8
+ * Accepts either a plain `LatLngLiteral` (`{ lat, lng }`) or a
9
+ * `google.maps.LatLng` instance.
10
+ * @see https://developers.google.com/maps/documentation/javascript/reference/overlay-view#OverlayView
11
+ */
12
+ position?: google.maps.LatLng | google.maps.LatLngLiteral;
13
+ /**
14
+ * Initial open state for the uncontrolled mode (when `v-model:open` is not
15
+ * bound). When omitted, the overlay opens on mount, matching v0 behaviour.
16
+ *
17
+ * Has no effect when `v-model:open` is used; pass an initial value to the
18
+ * bound ref instead.
19
+ * @default true
20
+ */
21
+ defaultOpen?: boolean;
22
+ /**
23
+ * Anchor point of the overlay relative to its position.
24
+ * @default 'bottom-center'
25
+ */
26
+ anchor?: ScriptGoogleMapsOverlayAnchor;
27
+ /**
28
+ * Pixel offset from the anchor position.
29
+ */
30
+ offset?: {
31
+ x: number;
32
+ y: number;
33
+ };
34
+ /**
35
+ * The map pane on which to render the overlay.
36
+ * @default 'floatPane'
37
+ * @see https://developers.google.com/maps/documentation/javascript/reference/overlay-view#MapPanes
38
+ */
39
+ pane?: ScriptGoogleMapsOverlayPane;
40
+ /**
41
+ * CSS z-index for the overlay element.
42
+ */
43
+ zIndex?: number;
44
+ /**
45
+ * Whether to block map click and gesture events from passing through the overlay.
46
+ * @default true
47
+ */
48
+ blockMapInteraction?: boolean;
49
+ /**
50
+ * Pan the map so the overlay is fully visible when opened, similar to InfoWindow behavior.
51
+ * Set to `true` for default 40px padding, or a number for custom padding.
52
+ * @default true
53
+ */
54
+ panOnOpen?: boolean | number;
55
+ /**
56
+ * Automatically hide the overlay when its parent marker joins a cluster (on zoom out).
57
+ * Only applies when nested inside a ScriptGoogleMapsMarkerClusterer.
58
+ * @default true
59
+ */
60
+ hideWhenClustered?: boolean;
61
+ }
62
+ export interface ScriptGoogleMapsOverlayViewEmits {
63
+ /** Event handler called when the open state of the overlay view changes. */
64
+ 'update:open': [value: boolean];
65
+ }
66
+ export interface ScriptGoogleMapsOverlayViewSlots {
67
+ default?: () => any;
68
+ }
69
+ export interface ScriptGoogleMapsOverlayViewExpose {
70
+ /** The underlying `OverlayView` instance. */
71
+ overlayView: ShallowRef<google.maps.OverlayView | undefined>;
72
+ /**
73
+ * The underlying `OverlayView` instance.
74
+ *
75
+ * @deprecated Use `overlayView` instead. The `overlay` alias will be
76
+ * removed in a future major version.
77
+ * @see https://scripts.nuxt.com/docs/migration-guide/v0-to-v1
78
+ */
79
+ overlay: ShallowRef<google.maps.OverlayView | undefined>;
80
+ /** The current data-state of the overlay, either 'open' or 'closed'. */
81
+ dataState: Readonly<ShallowRef<'open' | 'closed'>>;
82
+ }
83
+ declare const _default: typeof __VLS_export;
84
+ export default _default;
85
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ScriptGoogleMapsOverlayViewProps & {
86
+ open?: boolean;
87
+ }, ScriptGoogleMapsOverlayViewExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
88
+ "update:open": (value: boolean) => any;
89
+ }, string, import("vue").PublicProps, Readonly<ScriptGoogleMapsOverlayViewProps & {
90
+ open?: boolean;
91
+ }> & Readonly<{
92
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
93
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ScriptGoogleMapsOverlayViewSlots>;
94
+ type __VLS_WithSlots<T, S> = T & {
95
+ new (): {
96
+ $slots: S;
97
+ };
98
+ };
@@ -1,6 +1,13 @@
1
- type __VLS_Props = {
2
- options?: Omit<google.maps.marker.PinElementOptions, 'map'>;
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
3
4
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
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;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -1,43 +1,11 @@
1
- <template>
2
-
3
- </template>
4
-
5
1
  <script setup>
6
- import { inject, onUnmounted, shallowRef } from "vue";
7
- import { whenever } from "@vueuse/core";
8
- import { MAP_INJECTION_KEY } from "./ScriptGoogleMaps.vue";
9
- import { ADVANCED_MARKER_ELEMENT_INJECTION_KEY } from "./ScriptGoogleMapsAdvancedMarkerElement.vue";
10
- const props = defineProps({
11
- options: { type: Object, required: false }
12
- });
13
- const mapContext = inject(MAP_INJECTION_KEY, void 0);
14
- const advancedMarkerElementContext = inject(ADVANCED_MARKER_ELEMENT_INJECTION_KEY, void 0);
15
- const pinElement = shallowRef(void 0);
16
- whenever(
17
- () => mapContext?.map.value && mapContext.mapsApi.value && advancedMarkerElementContext?.advancedMarkerElement.value,
18
- async () => {
19
- await mapContext.mapsApi.value.importLibrary("marker");
20
- pinElement.value = new mapContext.mapsApi.value.marker.PinElement(props.options);
21
- if (advancedMarkerElementContext?.advancedMarkerElement.value) {
22
- advancedMarkerElementContext.advancedMarkerElement.value.content = pinElement.value.element;
23
- }
24
- whenever(() => props.options, (options) => {
25
- if (pinElement.value && options) {
26
- Object.assign(pinElement.value, options);
27
- }
28
- }, {
29
- deep: true
30
- });
31
- },
32
- {
33
- immediate: true,
34
- once: true
35
- }
36
- );
37
- onUnmounted(() => {
38
- if (advancedMarkerElementContext?.advancedMarkerElement.value && pinElement.value) {
39
- advancedMarkerElementContext.advancedMarkerElement.value.content = null;
40
- }
41
- pinElement.value = void 0;
42
- });
2
+ if (import.meta.dev) {
3
+ console.warn(
4
+ "[nuxt-scripts] <ScriptGoogleMapsPinElement> was removed in v1. Use the #content slot on <ScriptGoogleMapsMarker> instead. See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1"
5
+ );
6
+ }
43
7
  </script>
8
+
9
+ <template>
10
+ <slot />
11
+ </template>
@@ -1,6 +1,13 @@
1
- type __VLS_Props = {
2
- options?: Omit<google.maps.marker.PinElementOptions, 'map'>;
1
+ declare var __VLS_1: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_1) => any;
3
4
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
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;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -1,9 +1,13 @@
1
1
  type __VLS_Props = {
2
+ /**
3
+ * Configuration options for the polygon overlay.
4
+ * @see https://developers.google.com/maps/documentation/javascript/reference/polygon#PolygonOptions
5
+ */
2
6
  options?: Omit<google.maps.PolygonOptions, 'map'>;
3
7
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
- click: (payload: google.maps.PolyMouseEvent) => any;
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
9
  contextmenu: (payload: google.maps.PolyMouseEvent) => any;
10
+ click: (payload: google.maps.PolyMouseEvent) => any;
7
11
  dblclick: (payload: google.maps.PolyMouseEvent) => any;
8
12
  drag: (payload: google.maps.MapMouseEvent) => any;
9
13
  dragend: (payload: google.maps.MapMouseEvent) => any;
@@ -14,8 +18,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
14
18
  mouseover: (payload: google.maps.PolyMouseEvent) => any;
15
19
  mouseup: (payload: google.maps.PolyMouseEvent) => any;
16
20
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
- onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
18
21
  onContextmenu?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
22
+ onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
19
23
  onDblclick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
20
24
  onDrag?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
21
25
  onDragend?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
@@ -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(["click", "contextmenu", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "drag", "dragend", "dragstart"]);
12
8
  const eventsWithPolyMouseEventPayload = [
13
9
  "click",
14
10
  "contextmenu",
@@ -24,37 +20,26 @@ const eventsWithMapMouseEventPayload = [
24
20
  "dragend",
25
21
  "dragstart"
26
22
  ];
27
- const emit = defineEmits([]);
28
- const mapContext = inject(MAP_INJECTION_KEY, void 0);
29
- let polygon = void 0;
30
- whenever(() => mapContext?.map.value && mapContext.mapsApi.value, () => {
31
- polygon = new mapContext.mapsApi.value.Polygon({
32
- map: mapContext.map.value,
33
- ...props.options
34
- });
35
- setupPolygonEventListeners(polygon);
36
- whenever(() => props.options, (options) => {
37
- polygon?.setOptions(options);
38
- }, {
39
- deep: true
40
- });
41
- }, {
42
- immediate: true,
43
- once: true
44
- });
45
- onUnmounted(() => {
46
- if (!polygon || !mapContext?.mapsApi.value) {
47
- return;
23
+ const polygon = useGoogleMapsResource({
24
+ create({ mapsApi, map }) {
25
+ const p = new mapsApi.Polygon({ map, ...props.options });
26
+ bindGoogleMapsEvents(p, emit, {
27
+ withPayload: [...eventsWithPolyMouseEventPayload, ...eventsWithMapMouseEventPayload]
28
+ });
29
+ return p;
30
+ },
31
+ cleanup(p, { mapsApi }) {
32
+ mapsApi.event.clearInstanceListeners(p);
33
+ p.setMap(null);
48
34
  }
49
- mapContext.mapsApi.value.event.clearInstanceListeners(polygon);
50
- polygon.setMap(null);
51
35
  });
52
- function setupPolygonEventListeners(polygon2) {
53
- eventsWithPolyMouseEventPayload.forEach((event) => {
54
- polygon2.addListener(event, (payload) => emit(event, payload));
55
- });
56
- eventsWithMapMouseEventPayload.forEach((event) => {
57
- polygon2.addListener(event, (payload) => emit(event, payload));
58
- });
59
- }
36
+ watch(() => props.options, (options) => {
37
+ if (polygon.value && options) {
38
+ polygon.value.setOptions(options);
39
+ }
40
+ }, { deep: true });
60
41
  </script>
42
+
43
+ <template>
44
+
45
+ </template>
@@ -1,9 +1,13 @@
1
1
  type __VLS_Props = {
2
+ /**
3
+ * Configuration options for the polygon overlay.
4
+ * @see https://developers.google.com/maps/documentation/javascript/reference/polygon#PolygonOptions
5
+ */
2
6
  options?: Omit<google.maps.PolygonOptions, 'map'>;
3
7
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
- click: (payload: google.maps.PolyMouseEvent) => any;
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
9
  contextmenu: (payload: google.maps.PolyMouseEvent) => any;
10
+ click: (payload: google.maps.PolyMouseEvent) => any;
7
11
  dblclick: (payload: google.maps.PolyMouseEvent) => any;
8
12
  drag: (payload: google.maps.MapMouseEvent) => any;
9
13
  dragend: (payload: google.maps.MapMouseEvent) => any;
@@ -14,8 +18,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
14
18
  mouseover: (payload: google.maps.PolyMouseEvent) => any;
15
19
  mouseup: (payload: google.maps.PolyMouseEvent) => any;
16
20
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
- onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
18
21
  onContextmenu?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
22
+ onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
19
23
  onDblclick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
20
24
  onDrag?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
21
25
  onDragend?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
@@ -1,9 +1,13 @@
1
1
  type __VLS_Props = {
2
+ /**
3
+ * Configuration options for the polyline overlay.
4
+ * @see https://developers.google.com/maps/documentation/javascript/reference/polygon#PolylineOptions
5
+ */
2
6
  options?: Omit<google.maps.PolylineOptions, 'map'>;
3
7
  };
4
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
- click: (payload: google.maps.PolyMouseEvent) => any;
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
9
  contextmenu: (payload: google.maps.PolyMouseEvent) => any;
10
+ click: (payload: google.maps.PolyMouseEvent) => any;
7
11
  dblclick: (payload: google.maps.PolyMouseEvent) => any;
8
12
  drag: (payload: google.maps.MapMouseEvent) => any;
9
13
  dragend: (payload: google.maps.MapMouseEvent) => any;
@@ -14,8 +18,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
14
18
  mouseover: (payload: google.maps.PolyMouseEvent) => any;
15
19
  mouseup: (payload: google.maps.PolyMouseEvent) => any;
16
20
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
- onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
18
21
  onContextmenu?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
22
+ onClick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
19
23
  onDblclick?: ((payload: google.maps.PolyMouseEvent) => any) | undefined;
20
24
  onDrag?: ((payload: google.maps.MapMouseEvent) => any) | undefined;
21
25
  onDragend?: ((payload: google.maps.MapMouseEvent) => any) | undefined;