@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.
- package/bin/cli.mjs +2 -0
- package/dist/cli.d.mts +2 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.mjs +50 -0
- package/dist/devtools-client/200.html +1 -0
- package/dist/devtools-client/404.html +1 -0
- package/dist/devtools-client/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
- package/dist/devtools-client/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
- package/dist/devtools-client/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
- package/dist/devtools-client/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
- package/dist/devtools-client/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
- package/dist/devtools-client/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
- package/dist/devtools-client/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
- package/dist/devtools-client/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
- package/dist/devtools-client/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
- package/dist/devtools-client/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
- package/dist/devtools-client/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
- package/dist/devtools-client/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
- package/dist/devtools-client/_nuxt/B8PEiB0p.js +1 -0
- package/dist/devtools-client/_nuxt/BgPDxVUn.js +1 -0
- package/dist/devtools-client/_nuxt/BmlapxLP.js +1 -0
- package/dist/devtools-client/_nuxt/CM2vefXI.js +188 -0
- package/dist/devtools-client/_nuxt/DAF5Qk9P.js +1 -0
- package/dist/devtools-client/_nuxt/Dx6HhVmj.js +1 -0
- package/dist/devtools-client/_nuxt/S8LiR9M1.js +1 -0
- package/dist/devtools-client/_nuxt/builds/latest.json +1 -0
- package/dist/devtools-client/_nuxt/builds/meta/5458a3f2-af35-479c-8852-bf6f92fed611.json +1 -0
- package/dist/devtools-client/_nuxt/entry.BKkVrcJj.css +1 -0
- package/dist/devtools-client/_nuxt/error-404.d44aGwWI.css +1 -0
- package/dist/devtools-client/_nuxt/error-500.NthMfIEt.css +1 -0
- package/dist/devtools-client/_nuxt/first-party.C8Ha4JLM.css +1 -0
- package/dist/devtools-client/_nuxt/index.DZD1lwyI.css +1 -0
- package/dist/devtools-client/_nuxt/registry.B9lnjF_b.css +1 -0
- package/dist/devtools-client/_nuxt/vBkR1GJq.js +1 -0
- package/dist/devtools-client/_nuxt/wDzz0qaB.js +1 -0
- package/dist/devtools-client/docs/index.html +1 -0
- package/dist/devtools-client/first-party/index.html +1 -0
- package/dist/devtools-client/index.html +1 -0
- package/dist/devtools-client/registry/index.html +1 -0
- package/dist/module.d.mts +89 -80
- package/dist/module.d.ts +185 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +1056 -756
- package/dist/registry.d.mts +92 -4
- package/dist/registry.d.ts +94 -0
- package/dist/registry.mjs +668 -326
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.d.vue.ts +77 -165
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue +148 -227
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMaps.vue.d.ts +77 -165
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.d.vue.ts +6 -55
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue +12 -83
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsAdvancedMarkerElement.vue.d.ts +6 -55
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.d.vue.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsCircle.vue.d.ts +5 -1
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.d.vue.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue +60 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsGeoJson.vue.d.ts +43 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.d.vue.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue +22 -26
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsHeatmapLayer.vue.d.ts +4 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.d.vue.ts +11 -8
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue +57 -57
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsInfoWindow.vue.d.ts +11 -8
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.d.vue.ts +24 -42
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue +71 -74
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarker.vue.d.ts +24 -42
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.d.vue.ts +19 -20
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue +85 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsMarkerClusterer.vue.d.ts +19 -20
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.d.vue.ts +98 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue +263 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsOverlayView.vue.d.ts +98 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.d.vue.ts +10 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue +9 -41
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPinElement.vue.d.ts +10 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue +23 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolygon.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue +23 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsPolyline.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.d.vue.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue +24 -38
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsRectangle.vue.d.ts +7 -3
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.d.vue.ts +200 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue +170 -0
- package/dist/runtime/components/GoogleMaps/ScriptGoogleMapsStaticMap.vue.d.ts +200 -0
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.d.ts +13 -0
- package/dist/runtime/components/GoogleMaps/bindGoogleMapsEvents.js +8 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.d.ts +10 -0
- package/dist/runtime/components/GoogleMaps/injectionKeys.js +2 -0
- package/dist/runtime/components/GoogleMaps/types.d.ts +42 -0
- package/dist/runtime/components/GoogleMaps/types.js +1 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.d.ts +98 -0
- package/dist/runtime/components/GoogleMaps/useGoogleMapsResource.js +126 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.d.vue.ts +83 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue +91 -0
- package/dist/runtime/components/ScriptBlueskyEmbed.vue.d.ts +83 -0
- package/dist/runtime/components/ScriptCarbonAds.d.vue.ts +4 -7
- package/dist/runtime/components/ScriptCarbonAds.vue +1 -0
- package/dist/runtime/components/ScriptCarbonAds.vue.d.ts +4 -7
- package/dist/runtime/components/ScriptCrisp.d.vue.ts +7 -11
- package/dist/runtime/components/ScriptCrisp.vue +2 -1
- package/dist/runtime/components/ScriptCrisp.vue.d.ts +7 -11
- package/dist/runtime/components/ScriptGoogleAdsense.d.vue.ts +4 -7
- package/dist/runtime/components/ScriptGoogleAdsense.vue +2 -1
- package/dist/runtime/components/ScriptGoogleAdsense.vue.d.ts +4 -7
- package/dist/runtime/components/ScriptGravatar.d.vue.ts +22 -0
- package/dist/runtime/components/ScriptGravatar.vue +46 -0
- package/dist/runtime/components/ScriptGravatar.vue.d.ts +22 -0
- package/dist/runtime/components/ScriptInstagramEmbed.d.vue.ts +12 -15
- package/dist/runtime/components/ScriptInstagramEmbed.vue +11 -3
- package/dist/runtime/components/ScriptInstagramEmbed.vue.d.ts +12 -15
- package/dist/runtime/components/ScriptIntercom.d.vue.ts +7 -11
- package/dist/runtime/components/ScriptIntercom.vue +5 -3
- package/dist/runtime/components/ScriptIntercom.vue.d.ts +7 -11
- package/dist/runtime/components/ScriptLemonSqueezy.d.vue.ts +2 -3
- package/dist/runtime/components/ScriptLemonSqueezy.vue +1 -0
- package/dist/runtime/components/ScriptLemonSqueezy.vue.d.ts +2 -3
- package/dist/runtime/components/ScriptPayPalButtons.d.vue.ts +43 -37
- package/dist/runtime/components/ScriptPayPalButtons.vue +49 -79
- package/dist/runtime/components/ScriptPayPalButtons.vue.d.ts +43 -37
- package/dist/runtime/components/ScriptPayPalMessages.d.vue.ts +37 -28
- package/dist/runtime/components/ScriptPayPalMessages.vue +47 -50
- package/dist/runtime/components/ScriptPayPalMessages.vue.d.ts +37 -28
- package/dist/runtime/components/ScriptStripePricingTable.d.vue.ts +5 -9
- package/dist/runtime/components/ScriptStripePricingTable.vue +3 -2
- package/dist/runtime/components/ScriptStripePricingTable.vue.d.ts +5 -9
- package/dist/runtime/components/ScriptVimeoPlayer.d.vue.ts +17 -11
- package/dist/runtime/components/ScriptVimeoPlayer.vue +14 -10
- package/dist/runtime/components/ScriptVimeoPlayer.vue.d.ts +17 -11
- package/dist/runtime/components/ScriptXEmbed.d.vue.ts +10 -14
- package/dist/runtime/components/ScriptXEmbed.vue +21 -12
- package/dist/runtime/components/ScriptXEmbed.vue.d.ts +10 -14
- package/dist/runtime/components/ScriptYouTubePlayer.d.vue.ts +10 -15
- package/dist/runtime/components/ScriptYouTubePlayer.vue +12 -5
- package/dist/runtime/components/ScriptYouTubePlayer.vue.d.ts +10 -15
- package/dist/runtime/composables/useScript.js +159 -8
- package/dist/runtime/composables/useScriptEventPage.js +2 -2
- package/dist/runtime/composables/useScriptProxyToken.d.ts +12 -0
- package/dist/runtime/composables/useScriptProxyToken.js +4 -0
- package/dist/runtime/composables/useScriptProxyUrl.d.ts +12 -0
- package/dist/runtime/composables/useScriptProxyUrl.js +27 -0
- package/dist/runtime/composables/useScriptTriggerConsent.d.ts +10 -0
- package/dist/runtime/composables/useScriptTriggerConsent.js +33 -20
- package/dist/runtime/composables/useScriptTriggerElement.js +1 -1
- package/dist/runtime/composables/useScriptTriggerIdleTimeout.js +1 -1
- package/dist/runtime/devtools-standalone-bridge.client.d.ts +8 -0
- package/dist/runtime/devtools-standalone-bridge.client.js +50 -0
- package/dist/runtime/plugins/proxy-token.server.d.ts +10 -0
- package/dist/runtime/plugins/proxy-token.server.js +17 -0
- package/dist/runtime/registry/bing-uet.d.ts +198 -0
- package/dist/runtime/registry/bing-uet.js +43 -0
- package/dist/runtime/registry/bluesky-embed.d.ts +112 -0
- package/dist/runtime/registry/bluesky-embed.js +68 -0
- package/dist/runtime/registry/clarity.d.ts +16 -17
- package/dist/runtime/registry/clarity.js +33 -31
- package/dist/runtime/registry/cloudflare-web-analytics.d.ts +2 -13
- package/dist/runtime/registry/cloudflare-web-analytics.js +2 -14
- package/dist/runtime/registry/crisp.d.ts +10 -40
- package/dist/runtime/registry/crisp.js +2 -33
- package/dist/runtime/registry/databuddy-analytics.d.ts +2 -35
- package/dist/runtime/registry/databuddy-analytics.js +20 -45
- package/dist/runtime/registry/fathom-analytics.d.ts +7 -26
- package/dist/runtime/registry/fathom-analytics.js +3 -25
- package/dist/runtime/registry/google-adsense.d.ts +3 -11
- package/dist/runtime/registry/google-adsense.js +2 -11
- package/dist/runtime/registry/google-analytics.d.ts +9 -7
- package/dist/runtime/registry/google-analytics.js +15 -9
- package/dist/runtime/registry/google-maps.d.ts +3 -9
- package/dist/runtime/registry/google-maps.js +2 -8
- package/dist/runtime/registry/google-recaptcha.d.ts +2 -6
- package/dist/runtime/registry/google-recaptcha.js +4 -12
- package/dist/runtime/registry/google-sign-in.d.ts +2 -13
- package/dist/runtime/registry/google-sign-in.js +2 -22
- package/dist/runtime/registry/google-tag-manager.d.ts +8 -29
- package/dist/runtime/registry/google-tag-manager.js +14 -28
- package/dist/runtime/registry/gravatar.d.ts +26 -0
- package/dist/runtime/registry/gravatar.js +33 -0
- package/dist/runtime/registry/hotjar.d.ts +4 -6
- package/dist/runtime/registry/hotjar.js +2 -5
- package/dist/runtime/registry/instagram-embed.d.ts +3 -18
- package/dist/runtime/registry/instagram-embed.js +4 -19
- package/dist/runtime/registry/intercom.d.ts +5 -13
- package/dist/runtime/registry/intercom.js +2 -12
- package/dist/runtime/registry/matomo-analytics.d.ts +12 -15
- package/dist/runtime/registry/matomo-analytics.js +31 -13
- package/dist/runtime/registry/meta-pixel.d.ts +12 -8
- package/dist/runtime/registry/meta-pixel.js +12 -5
- package/dist/runtime/registry/mixpanel-analytics.d.ts +32 -0
- package/dist/runtime/registry/mixpanel-analytics.js +58 -0
- package/dist/runtime/registry/npm.d.ts +3 -7
- package/dist/runtime/registry/npm.js +2 -9
- package/dist/runtime/registry/paypal.d.ts +4 -25
- package/dist/runtime/registry/paypal.js +3 -66
- package/dist/runtime/registry/plausible-analytics.js +19 -14
- package/dist/runtime/registry/posthog.d.ts +18 -14
- package/dist/runtime/registry/posthog.js +18 -16
- package/dist/runtime/registry/reddit-pixel.d.ts +5 -6
- package/dist/runtime/registry/reddit-pixel.js +2 -4
- package/dist/runtime/registry/rybbit-analytics.d.ts +2 -14
- package/dist/runtime/registry/rybbit-analytics.js +10 -20
- package/dist/runtime/registry/schemas.d.ts +1047 -0
- package/dist/runtime/registry/schemas.js +1004 -0
- package/dist/runtime/registry/segment.d.ts +2 -5
- package/dist/runtime/registry/segment.js +2 -5
- package/dist/runtime/registry/snapchat-pixel.d.ts +5 -34
- package/dist/runtime/registry/snapchat-pixel.js +2 -20
- package/dist/runtime/registry/stripe.d.ts +3 -4
- package/dist/runtime/registry/stripe.js +2 -4
- package/dist/runtime/registry/tiktok-pixel.d.ts +20 -9
- package/dist/runtime/registry/tiktok-pixel.js +24 -7
- package/dist/runtime/registry/umami-analytics.d.ts +2 -31
- package/dist/runtime/registry/umami-analytics.js +2 -36
- package/dist/runtime/registry/vercel-analytics.d.ts +29 -0
- package/dist/runtime/registry/vercel-analytics.js +84 -0
- package/dist/runtime/registry/vimeo-player.d.ts +2 -2
- package/dist/runtime/registry/vimeo-player.js +1 -1
- package/dist/runtime/registry/x-embed.d.ts +3 -21
- package/dist/runtime/registry/x-embed.js +2 -21
- package/dist/runtime/registry/x-pixel.d.ts +4 -7
- package/dist/runtime/registry/x-pixel.js +2 -5
- package/dist/runtime/registry/youtube-player.d.ts +7 -7
- package/dist/runtime/registry/youtube-player.js +1 -1
- package/dist/runtime/server/bluesky-embed-image.d.ts +2 -0
- package/dist/runtime/server/bluesky-embed-image.js +7 -0
- package/dist/runtime/server/bluesky-embed.d.ts +2 -0
- package/dist/runtime/server/bluesky-embed.js +78 -0
- package/dist/runtime/server/google-maps-geocode-proxy.d.ts +2 -0
- package/dist/runtime/server/google-maps-geocode-proxy.js +38 -0
- package/dist/runtime/server/google-static-maps-proxy.d.ts +1 -1
- package/dist/runtime/server/google-static-maps-proxy.js +18 -23
- package/dist/runtime/server/gravatar-proxy.d.ts +2 -0
- package/dist/runtime/server/gravatar-proxy.js +46 -0
- package/dist/runtime/server/instagram-embed-asset.d.ts +1 -1
- package/dist/runtime/server/instagram-embed-asset.js +8 -41
- package/dist/runtime/server/instagram-embed-image.d.ts +1 -1
- package/dist/runtime/server/instagram-embed-image.js +6 -53
- package/dist/runtime/server/instagram-embed.d.ts +1 -0
- package/dist/runtime/server/instagram-embed.js +82 -40
- package/dist/runtime/server/proxy-handler.js +102 -85
- package/dist/runtime/server/utils/cached-upstream.d.ts +55 -0
- package/dist/runtime/server/utils/cached-upstream.js +65 -0
- package/dist/runtime/server/utils/embed-rewriters.d.ts +19 -0
- package/dist/runtime/server/utils/embed-rewriters.js +41 -0
- package/dist/runtime/server/utils/image-proxy.d.ts +14 -0
- package/dist/runtime/server/utils/image-proxy.js +73 -0
- package/dist/runtime/server/utils/instagram-embed.d.ts +16 -0
- package/dist/runtime/server/utils/instagram-embed.js +153 -0
- package/dist/runtime/server/utils/privacy.d.ts +1 -10
- package/dist/runtime/server/utils/privacy.js +60 -40
- package/dist/runtime/server/utils/proxy-url.d.ts +9 -0
- package/dist/runtime/server/utils/proxy-url.js +21 -0
- package/dist/runtime/server/utils/sign-constants.d.ts +16 -0
- package/dist/runtime/server/utils/sign-constants.js +5 -0
- package/dist/runtime/server/utils/sign.d.ts +101 -0
- package/dist/runtime/server/utils/sign.js +91 -0
- package/dist/runtime/server/utils/withSigning.d.ts +23 -0
- package/dist/runtime/server/utils/withSigning.js +19 -0
- package/dist/runtime/server/x-embed-image.d.ts +1 -1
- package/dist/runtime/server/x-embed-image.js +5 -49
- package/dist/runtime/server/x-embed.js +26 -6
- package/dist/runtime/types.d.ts +311 -55
- package/dist/runtime/types.js +1 -2
- package/dist/runtime/utils/pure.d.ts +1 -1
- package/dist/runtime/utils.d.ts +6 -4
- package/dist/runtime/utils.js +31 -14
- package/dist/stats.d.mts +202 -0
- package/dist/stats.d.ts +202 -0
- package/dist/stats.mjs +3835 -0
- package/dist/types-source.d.mts +17 -0
- package/dist/types-source.d.ts +17 -0
- package/dist/types-source.mjs +3787 -0
- package/dist/types.d.mts +4 -2
- package/package.json +41 -63
- package/README.md +0 -86
- package/dist/client/200.html +0 -1
- package/dist/client/404.html +0 -1
- package/dist/client/_nuxt/BJa0m50V.js +0 -1
- package/dist/client/_nuxt/BPQ3VLAy.js +0 -1
- package/dist/client/_nuxt/Ci5iXYuB.js +0 -1
- package/dist/client/_nuxt/DaI2y8Uz.js +0 -162
- package/dist/client/_nuxt/builds/latest.json +0 -1
- package/dist/client/_nuxt/builds/meta/9b4fb16a-3c62-48b0-8295-126cb077b5d3.json +0 -1
- package/dist/client/_nuxt/entry.D45OuV0w.css +0 -1
- package/dist/client/_nuxt/error-404.B57D-jUQ.css +0 -1
- package/dist/client/_nuxt/error-500.DTHUW7BI.css +0 -1
- package/dist/client/_nuxt/vPLZfVXe.js +0 -1
- package/dist/client/index.html +0 -1
- package/dist/runtime/components/ScriptPayPalMarks.d.vue.ts +0 -52
- package/dist/runtime/components/ScriptPayPalMarks.vue +0 -69
- package/dist/runtime/components/ScriptPayPalMarks.vue.d.ts +0 -52
- package/dist/runtime/validation/mock.d.ts +0 -42
- package/dist/runtime/validation/mock.js +0 -21
- package/dist/runtime/validation/valibot.d.ts +0 -1
- package/dist/runtime/validation/valibot.js +0 -1
- /package/dist/{client → devtools-client}/_nuxt/CVO1_9PV.js +0 -0
- /package/dist/{client → devtools-client}/_nuxt/Cp-IABpG.js +0 -0
- /package/dist/{client → devtools-client}/_nuxt/D0r3Knsf.js +0 -0
|
@@ -1,59 +1,67 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
|
|
3
|
-
import { withQuery } from "ufo";
|
|
4
|
-
import { defu } from "defu";
|
|
5
|
-
import { hash } from "ohash";
|
|
6
|
-
import { tryUseNuxtApp, useHead, useRuntimeConfig } from "nuxt/app";
|
|
7
|
-
import { scriptRuntimeConfig } from "#nuxt-scripts/utils";
|
|
8
|
-
import { useScriptTriggerElement } from "#nuxt-scripts/composables/useScriptTriggerElement";
|
|
9
|
-
import { useScriptGoogleMaps } from "#nuxt-scripts/registry/google-maps";
|
|
10
|
-
import ScriptAriaLoadingIndicator from "../ScriptAriaLoadingIndicator.vue";
|
|
11
|
-
export const MAP_INJECTION_KEY = /* @__PURE__ */ Symbol("map");
|
|
2
|
+
export { MAP_INJECTION_KEY } from "./useGoogleMapsResource";
|
|
12
3
|
</script>
|
|
13
4
|
|
|
14
5
|
<script setup>
|
|
6
|
+
import { useScriptTriggerElement } from "#nuxt-scripts/composables/useScriptTriggerElement";
|
|
7
|
+
import { useScriptGoogleMaps } from "#nuxt-scripts/registry/google-maps";
|
|
8
|
+
import { scriptRuntimeConfig, scriptsPrefix } from "#nuxt-scripts/utils";
|
|
9
|
+
import { defu } from "defu";
|
|
10
|
+
import { tryUseNuxtApp, useHead, useRuntimeConfig } from "nuxt/app";
|
|
11
|
+
import { computed, onBeforeUnmount, onMounted, provide, ref, shallowRef, toRaw, useAttrs, useTemplateRef, watch } from "vue";
|
|
12
|
+
import ScriptAriaLoadingIndicator from "../ScriptAriaLoadingIndicator.vue";
|
|
13
|
+
import { defineDeprecatedAlias, MAP_INJECTION_KEY, waitForMapsReady, warnDeprecatedTopLevelMapProps } from "./useGoogleMapsResource";
|
|
15
14
|
const props = defineProps({
|
|
16
15
|
trigger: { type: [String, Array, Boolean], required: false, default: ["mouseenter", "mouseover", "mousedown"] },
|
|
17
|
-
aboveTheFold: { type: Boolean, required: false },
|
|
18
16
|
apiKey: { type: String, required: false },
|
|
19
17
|
center: { type: null, required: false },
|
|
20
|
-
|
|
18
|
+
zoom: { type: Number, required: false },
|
|
21
19
|
mapOptions: { type: null, required: false },
|
|
22
20
|
region: { type: String, required: false },
|
|
23
21
|
language: { type: String, required: false },
|
|
24
22
|
version: { type: String, required: false },
|
|
25
23
|
width: { type: [Number, String], required: false, default: 640 },
|
|
26
24
|
height: { type: [Number, String], required: false, default: 400 },
|
|
27
|
-
placeholderOptions: { type: Object, required: false },
|
|
28
|
-
placeholderAttrs: { type: Object, required: false },
|
|
29
25
|
rootAttrs: { type: Object, required: false },
|
|
30
|
-
markers: { type: Array, required: false },
|
|
31
26
|
mapIds: { type: Object, required: false },
|
|
32
27
|
colorMode: { type: String, required: false }
|
|
33
28
|
});
|
|
34
29
|
const emits = defineEmits(["ready", "error"]);
|
|
30
|
+
defineSlots();
|
|
31
|
+
const DIGITS_ONLY_RE = /^\d+$/;
|
|
32
|
+
const DIGITS_PX_RE = /^\d+px$/i;
|
|
35
33
|
const apiKey = props.apiKey || scriptRuntimeConfig("googleMaps")?.apiKey;
|
|
36
34
|
const runtimeConfig = useRuntimeConfig();
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
const currentColorMode = computed(() => {
|
|
41
|
-
if (props.colorMode)
|
|
42
|
-
return props.colorMode;
|
|
43
|
-
if (nuxtColorMode?.value)
|
|
44
|
-
return nuxtColorMode.value === "dark" ? "dark" : "light";
|
|
45
|
-
return "light";
|
|
35
|
+
const nuxtColorMode = computed(() => {
|
|
36
|
+
const value = tryUseNuxtApp()?.$colorMode?.value;
|
|
37
|
+
return value === "dark" || value === "light" ? value : void 0;
|
|
46
38
|
});
|
|
39
|
+
const currentColorMode = computed(() => props.colorMode || nuxtColorMode.value || "light");
|
|
47
40
|
const currentMapId = computed(() => {
|
|
48
41
|
if (!props.mapIds)
|
|
49
42
|
return props.mapOptions?.mapId;
|
|
50
43
|
return props.mapIds[currentColorMode.value] || props.mapIds.light || props.mapOptions?.mapId;
|
|
51
44
|
});
|
|
52
|
-
const mapsApi =
|
|
53
|
-
if (import.meta.dev
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
45
|
+
const mapsApi = shallowRef();
|
|
46
|
+
if (import.meta.dev) {
|
|
47
|
+
if (!apiKey)
|
|
48
|
+
throw new Error("GoogleMaps requires an API key. Enable it in your nuxt.config:\n\n scripts: {\n registry: {\n googleMaps: true\n }\n }\n\nThen set NUXT_PUBLIC_SCRIPTS_GOOGLE_MAPS_API_KEY in your .env file.\n\nAlternatively, pass `api-key` directly on the <ScriptGoogleMaps> component (note: this exposes the key client-side).");
|
|
49
|
+
const attrs = useAttrs();
|
|
50
|
+
const removedProps = {
|
|
51
|
+
markers: "Use child <ScriptGoogleMapsMarker> components instead.",
|
|
52
|
+
centerMarker: 'Use a child <ScriptGoogleMapsMarker :position="center" /> instead.',
|
|
53
|
+
placeholderOptions: "Use <ScriptGoogleMapsStaticMap> inside the #placeholder slot instead.",
|
|
54
|
+
placeholderAttrs: "Use <ScriptGoogleMapsStaticMap> with :img-attrs instead.",
|
|
55
|
+
aboveTheFold: 'Use <ScriptGoogleMapsStaticMap loading="eager"> inside #placeholder instead.'
|
|
56
|
+
};
|
|
57
|
+
for (const [prop, message] of Object.entries(removedProps)) {
|
|
58
|
+
if (prop in attrs)
|
|
59
|
+
console.warn(`[nuxt-scripts] <ScriptGoogleMaps> prop "${prop}" was removed in v1. ${message} See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1`);
|
|
60
|
+
}
|
|
61
|
+
warnDeprecatedTopLevelMapProps({ center: props.center, zoom: props.zoom });
|
|
62
|
+
}
|
|
63
|
+
const rootEl = useTemplateRef("rootEl");
|
|
64
|
+
const mapEl = useTemplateRef("mapEl");
|
|
57
65
|
const centerOverride = ref();
|
|
58
66
|
const trigger = useScriptTriggerElement({ trigger: props.trigger, el: rootEl });
|
|
59
67
|
const { load, status, onLoaded } = useScriptGoogleMaps({
|
|
@@ -67,89 +75,57 @@ const { load, status, onLoaded } = useScriptGoogleMaps({
|
|
|
67
75
|
});
|
|
68
76
|
const options = computed(() => {
|
|
69
77
|
const mapId = props.mapOptions?.styles ? void 0 : currentMapId.value || "map";
|
|
70
|
-
return defu(
|
|
71
|
-
center:
|
|
72
|
-
|
|
73
|
-
|
|
78
|
+
return defu(
|
|
79
|
+
{ center: centerOverride.value, mapId },
|
|
80
|
+
props.mapOptions,
|
|
81
|
+
{ center: props.center, zoom: props.zoom },
|
|
82
|
+
{ zoom: 15 }
|
|
83
|
+
);
|
|
74
84
|
});
|
|
75
|
-
const
|
|
85
|
+
const isMapReady = ref(false);
|
|
76
86
|
const map = shallowRef();
|
|
77
|
-
const mapMarkers = ref(/* @__PURE__ */ new Map());
|
|
78
87
|
function isLocationQuery(s) {
|
|
79
88
|
return typeof s === "string" && (s.split(",").length > 2 || s.includes("+"));
|
|
80
89
|
}
|
|
81
|
-
function resetMapMarkerMap(_marker) {
|
|
82
|
-
return new Promise(async (resolve) => {
|
|
83
|
-
const marker = _marker instanceof Promise ? await _marker : _marker;
|
|
84
|
-
if (marker) {
|
|
85
|
-
marker.setMap(null);
|
|
86
|
-
}
|
|
87
|
-
resolve();
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
function normalizeAdvancedMapMarkerOptions(_options) {
|
|
91
|
-
const opts = typeof _options === "string" ? {
|
|
92
|
-
position: {
|
|
93
|
-
lat: Number.parseFloat(_options.split(",")[0] || "0"),
|
|
94
|
-
lng: Number.parseFloat(_options.split(",")[1] || "0")
|
|
95
|
-
}
|
|
96
|
-
} : _options || {};
|
|
97
|
-
if (!opts.position) {
|
|
98
|
-
opts.position = {
|
|
99
|
-
lat: 0,
|
|
100
|
-
lng: 0
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
return opts;
|
|
104
|
-
}
|
|
105
|
-
async function createAdvancedMapMarker(_options) {
|
|
106
|
-
if (!_options)
|
|
107
|
-
return;
|
|
108
|
-
const normalizedOptions = normalizeAdvancedMapMarkerOptions(_options);
|
|
109
|
-
const key = hash({ position: normalizedOptions.position });
|
|
110
|
-
if (mapMarkers.value.has(key))
|
|
111
|
-
return mapMarkers.value.get(key);
|
|
112
|
-
const p = new Promise(async (resolve) => {
|
|
113
|
-
const lib = await importLibrary("marker");
|
|
114
|
-
const mapMarkerOptions = {
|
|
115
|
-
...toRaw(normalizedOptions),
|
|
116
|
-
map: toRaw(map.value)
|
|
117
|
-
};
|
|
118
|
-
resolve(new lib.AdvancedMarkerElement(mapMarkerOptions));
|
|
119
|
-
});
|
|
120
|
-
mapMarkers.value.set(key, p);
|
|
121
|
-
return p;
|
|
122
|
-
}
|
|
123
90
|
const queryToLatLngCache = /* @__PURE__ */ new Map();
|
|
124
|
-
async function
|
|
91
|
+
async function resolveQueryToLatLng(query) {
|
|
125
92
|
if (query && typeof query === "object")
|
|
126
93
|
return Promise.resolve(query);
|
|
127
94
|
if (queryToLatLngCache.has(query)) {
|
|
128
95
|
return Promise.resolve(queryToLatLngCache.get(query));
|
|
129
96
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
const _ = watch(mapsApi, () => {
|
|
135
|
-
_();
|
|
136
|
-
resolve2();
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
const placesService = new mapsApi.value.places.PlacesService(map.value);
|
|
141
|
-
placesService.findPlaceFromQuery({
|
|
142
|
-
query,
|
|
143
|
-
fields: ["name", "geometry"]
|
|
144
|
-
}, (results, status2) => {
|
|
145
|
-
if (status2 === "OK" && results?.[0]?.geometry?.location)
|
|
146
|
-
return resolve(results[0].geometry.location);
|
|
147
|
-
return reject(new Error(`No location found for ${query}`));
|
|
97
|
+
const endpoints = runtimeConfig.public["nuxt-scripts"]?.endpoints;
|
|
98
|
+
if (endpoints?.googleMaps) {
|
|
99
|
+
const data = await $fetch(`${scriptsPrefix()}/proxy/google-maps-geocode`, {
|
|
100
|
+
params: { address: query }
|
|
148
101
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
102
|
+
if (data.status === "OK" && data.results?.[0]?.geometry?.location) {
|
|
103
|
+
const loc = data.results[0].geometry.location;
|
|
104
|
+
const latLng = { lat: loc.lat, lng: loc.lng };
|
|
105
|
+
queryToLatLngCache.set(query, latLng);
|
|
106
|
+
return latLng;
|
|
107
|
+
}
|
|
108
|
+
throw new Error(`No location found for ${query}`);
|
|
109
|
+
}
|
|
110
|
+
await waitForMapsReady({ mapsApi, map, status, load });
|
|
111
|
+
const placesService = new mapsApi.value.places.PlacesService(map.value);
|
|
112
|
+
const result = await new Promise((resolve, reject) => {
|
|
113
|
+
placesService.findPlaceFromQuery(
|
|
114
|
+
{
|
|
115
|
+
query,
|
|
116
|
+
fields: ["name", "geometry"]
|
|
117
|
+
},
|
|
118
|
+
(results, status2) => {
|
|
119
|
+
if (status2 === "OK" && results?.[0]?.geometry?.location) {
|
|
120
|
+
resolve(results[0].geometry.location);
|
|
121
|
+
} else {
|
|
122
|
+
reject(new Error(`No location found for ${query}`));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
);
|
|
152
126
|
});
|
|
127
|
+
queryToLatLngCache.set(query, result);
|
|
128
|
+
return result;
|
|
153
129
|
}
|
|
154
130
|
const libraries = /* @__PURE__ */ new Map();
|
|
155
131
|
function importLibrary(key) {
|
|
@@ -171,19 +147,40 @@ function importLibrary(key) {
|
|
|
171
147
|
libraries.set(key, cached);
|
|
172
148
|
return cached;
|
|
173
149
|
}
|
|
174
|
-
const
|
|
150
|
+
const exposed = {
|
|
151
|
+
mapsApi,
|
|
152
|
+
// Plain alias for production. In dev, replaced below with a getter that
|
|
153
|
+
// emits a one-shot deprecation warning. Both forms return the same
|
|
154
|
+
// shallow ref as `mapsApi`.
|
|
175
155
|
googleMaps: mapsApi,
|
|
176
156
|
map,
|
|
177
|
-
|
|
178
|
-
resolveQueryToLatLang,
|
|
157
|
+
resolveQueryToLatLng,
|
|
179
158
|
importLibrary
|
|
180
159
|
};
|
|
181
|
-
|
|
182
|
-
|
|
160
|
+
if (import.meta.dev) {
|
|
161
|
+
defineDeprecatedAlias(
|
|
162
|
+
exposed,
|
|
163
|
+
"googleMaps",
|
|
164
|
+
"mapsApi",
|
|
165
|
+
'[nuxt-scripts] <ScriptGoogleMaps> expose key "googleMaps" is deprecated; use "mapsApi" instead. See https://scripts.nuxt.com/docs/migration-guide/v0-to-v1'
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
defineExpose(exposed);
|
|
169
|
+
let activeInfoWindow;
|
|
170
|
+
provide(MAP_INJECTION_KEY, {
|
|
171
|
+
map,
|
|
172
|
+
mapsApi,
|
|
173
|
+
activateInfoWindow(iw) {
|
|
174
|
+
if (activeInfoWindow && activeInfoWindow !== iw) {
|
|
175
|
+
activeInfoWindow.close();
|
|
176
|
+
}
|
|
177
|
+
activeInfoWindow = iw;
|
|
178
|
+
}
|
|
179
|
+
});
|
|
183
180
|
onMounted(() => {
|
|
184
|
-
watch(
|
|
181
|
+
watch(isMapReady, (v) => {
|
|
185
182
|
if (v) {
|
|
186
|
-
emits("ready",
|
|
183
|
+
emits("ready", exposed);
|
|
187
184
|
}
|
|
188
185
|
});
|
|
189
186
|
watch(status, (v) => {
|
|
@@ -192,60 +189,32 @@ onMounted(() => {
|
|
|
192
189
|
}
|
|
193
190
|
});
|
|
194
191
|
watch(options, () => {
|
|
195
|
-
map.value
|
|
196
|
-
});
|
|
197
|
-
watch([() => props.markers, map], async () => {
|
|
198
|
-
if (!map.value) {
|
|
192
|
+
if (!map.value)
|
|
199
193
|
return;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const toRemove = new Set([
|
|
203
|
-
...mapMarkers.value.keys()
|
|
204
|
-
].filter((k) => !nextMap.has(k)));
|
|
205
|
-
const toAdd = new Set([...nextMap.keys()].filter((k) => !mapMarkers.value.has(k)));
|
|
206
|
-
const centerHash = hash({ position: options.value.center });
|
|
207
|
-
for (const key of toRemove) {
|
|
208
|
-
if (props.centerMarker && key === centerHash) {
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
const marker = await mapMarkers.value.get(key);
|
|
212
|
-
if (marker) {
|
|
213
|
-
resetMapMarkerMap(marker).then(() => {
|
|
214
|
-
mapMarkers.value.delete(key);
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
for (const k of toAdd) {
|
|
219
|
-
createAdvancedMapMarker(nextMap.get(k));
|
|
220
|
-
}
|
|
221
|
-
}, {
|
|
222
|
-
immediate: true,
|
|
223
|
-
deep: true
|
|
194
|
+
const { center: _, zoom: __, ...rest } = options.value;
|
|
195
|
+
map.value.setOptions(rest);
|
|
224
196
|
});
|
|
225
|
-
watch(
|
|
197
|
+
watch(() => options.value.zoom, (zoom) => {
|
|
198
|
+
if (map.value && zoom != null)
|
|
199
|
+
map.value.setZoom(zoom);
|
|
200
|
+
});
|
|
201
|
+
watch([() => options.value.center, isMapReady, map], async (next) => {
|
|
226
202
|
if (!map.value) {
|
|
227
203
|
return;
|
|
228
204
|
}
|
|
229
205
|
let center = toRaw(next[0]);
|
|
230
206
|
if (center) {
|
|
231
|
-
if (isLocationQuery(center) &&
|
|
232
|
-
center = await
|
|
207
|
+
if (isLocationQuery(center) && isMapReady.value) {
|
|
208
|
+
center = await resolveQueryToLatLng(center);
|
|
233
209
|
}
|
|
234
|
-
map.value.
|
|
235
|
-
if (
|
|
236
|
-
|
|
210
|
+
const current = map.value.getCenter();
|
|
211
|
+
if (current) {
|
|
212
|
+
const newLat = typeof center.lat === "function" ? center.lat() : center.lat;
|
|
213
|
+
const newLng = typeof center.lng === "function" ? center.lng() : center.lng;
|
|
214
|
+
if (current.lat() === newLat && current.lng() === newLng)
|
|
237
215
|
return;
|
|
238
|
-
}
|
|
239
|
-
if (prev[0]) {
|
|
240
|
-
const prevCenterHash = hash({ position: prev[0] });
|
|
241
|
-
if (mapMarkers.value.has(prevCenterHash)) {
|
|
242
|
-
resetMapMarkerMap(mapMarkers.value.get(prevCenterHash)).then(() => {
|
|
243
|
-
mapMarkers.value.delete(prevCenterHash);
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
createAdvancedMapMarker({ position: center });
|
|
248
216
|
}
|
|
217
|
+
map.value.setCenter(center);
|
|
249
218
|
}
|
|
250
219
|
}, {
|
|
251
220
|
immediate: true
|
|
@@ -260,116 +229,68 @@ onMounted(() => {
|
|
|
260
229
|
};
|
|
261
230
|
map.value = new mapsApi.value.Map(mapEl.value, _options);
|
|
262
231
|
if (center && isLocationQuery(center)) {
|
|
263
|
-
centerOverride.value = await
|
|
264
|
-
|
|
232
|
+
centerOverride.value = await resolveQueryToLatLng(center);
|
|
233
|
+
if (centerOverride.value)
|
|
234
|
+
map.value?.setCenter(centerOverride.value);
|
|
265
235
|
}
|
|
266
|
-
|
|
236
|
+
isMapReady.value = true;
|
|
267
237
|
});
|
|
268
238
|
});
|
|
269
|
-
if (import.meta.server
|
|
239
|
+
if (import.meta.server) {
|
|
270
240
|
useHead({
|
|
271
241
|
link: [
|
|
272
242
|
{
|
|
273
|
-
rel:
|
|
243
|
+
rel: "dns-prefetch",
|
|
274
244
|
href: "https://maps.googleapis.com"
|
|
275
245
|
}
|
|
276
246
|
]
|
|
277
247
|
});
|
|
278
248
|
}
|
|
279
|
-
function
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}).filter(Boolean);
|
|
249
|
+
function toCssUnit(value) {
|
|
250
|
+
if (value === void 0)
|
|
251
|
+
return void 0;
|
|
252
|
+
if (typeof value === "number")
|
|
253
|
+
return `${value}px`;
|
|
254
|
+
return value;
|
|
255
|
+
}
|
|
256
|
+
function isPixelValue(value) {
|
|
257
|
+
if (typeof value === "number")
|
|
258
|
+
return true;
|
|
259
|
+
if (typeof value === "string")
|
|
260
|
+
return DIGITS_ONLY_RE.test(value) || DIGITS_PX_RE.test(value);
|
|
261
|
+
return false;
|
|
293
262
|
}
|
|
294
|
-
const placeholder = computed(() => {
|
|
295
|
-
let center = options.value.center;
|
|
296
|
-
if (center && typeof center === "object") {
|
|
297
|
-
center = `${center.lat},${center.lng}`;
|
|
298
|
-
}
|
|
299
|
-
const placeholderOptions = defu(props.placeholderOptions, {
|
|
300
|
-
// only map option values
|
|
301
|
-
zoom: options.value.zoom,
|
|
302
|
-
center
|
|
303
|
-
}, {
|
|
304
|
-
size: `${props.width}x${props.height}`,
|
|
305
|
-
// Only include API key if not using proxy (proxy injects it server-side)
|
|
306
|
-
key: proxyConfig?.enabled ? void 0 : apiKey,
|
|
307
|
-
scale: 2,
|
|
308
|
-
// we assume a high DPI to avoid hydration issues
|
|
309
|
-
style: props.mapOptions?.styles ? transformMapStyles(props.mapOptions.styles) : void 0,
|
|
310
|
-
map_id: currentMapId.value,
|
|
311
|
-
markers: [
|
|
312
|
-
...props.markers || [],
|
|
313
|
-
props.centerMarker && center
|
|
314
|
-
].filter(Boolean).map((m) => {
|
|
315
|
-
if (typeof m === "object" && m.location) {
|
|
316
|
-
m = m.location;
|
|
317
|
-
}
|
|
318
|
-
if (typeof m === "object" && m.lat) {
|
|
319
|
-
return `${m.lat},${m.lng}`;
|
|
320
|
-
}
|
|
321
|
-
return m;
|
|
322
|
-
}).join("|")
|
|
323
|
-
});
|
|
324
|
-
const baseUrl = proxyConfig?.enabled ? "/_scripts/google-static-maps-proxy" : "https://maps.googleapis.com/maps/api/staticmap";
|
|
325
|
-
return withQuery(baseUrl, placeholderOptions);
|
|
326
|
-
});
|
|
327
|
-
const placeholderAttrs = computed(() => {
|
|
328
|
-
return defu(props.placeholderAttrs, {
|
|
329
|
-
src: placeholder.value,
|
|
330
|
-
alt: "Google Maps Static Map",
|
|
331
|
-
loading: props.aboveTheFold ? "eager" : "lazy",
|
|
332
|
-
style: {
|
|
333
|
-
cursor: "pointer",
|
|
334
|
-
width: "100%",
|
|
335
|
-
objectFit: "cover",
|
|
336
|
-
height: "100%"
|
|
337
|
-
}
|
|
338
|
-
});
|
|
339
|
-
});
|
|
340
263
|
const rootAttrs = computed(() => {
|
|
341
264
|
return defu(props.rootAttrs, {
|
|
342
265
|
"aria-busy": status.value === "loading",
|
|
343
|
-
"aria-label": status.value === "awaitingLoad" ? "Google Maps
|
|
266
|
+
"aria-label": status.value === "awaitingLoad" ? "Google Maps" : status.value === "loading" ? "Google Maps Loading" : "Google Maps",
|
|
344
267
|
"aria-live": "polite",
|
|
345
268
|
"role": "application",
|
|
346
269
|
"style": {
|
|
347
270
|
cursor: "pointer",
|
|
348
271
|
position: "relative",
|
|
349
272
|
maxWidth: "100%",
|
|
350
|
-
width:
|
|
351
|
-
height:
|
|
352
|
-
aspectRatio: `${props.width}/${props.height}`
|
|
273
|
+
width: toCssUnit(props.width),
|
|
274
|
+
height: isPixelValue(props.width) && isPixelValue(props.height) ? "auto" : toCssUnit(props.height),
|
|
275
|
+
aspectRatio: isPixelValue(props.width) && isPixelValue(props.height) ? `${props.width}/${props.height}` : void 0
|
|
353
276
|
},
|
|
354
277
|
...trigger instanceof Promise ? trigger.ssrAttrs || {} : {}
|
|
355
278
|
});
|
|
356
279
|
});
|
|
357
|
-
onBeforeUnmount(
|
|
358
|
-
await Promise.all([...mapMarkers.value.entries()].map(([, marker]) => resetMapMarkerMap(marker)));
|
|
359
|
-
mapMarkers.value.clear();
|
|
280
|
+
onBeforeUnmount(() => {
|
|
360
281
|
map.value?.unbindAll();
|
|
361
282
|
map.value = void 0;
|
|
362
283
|
mapEl.value?.firstChild?.remove();
|
|
284
|
+
libraries.clear();
|
|
285
|
+
queryToLatLngCache.clear();
|
|
363
286
|
});
|
|
364
287
|
</script>
|
|
365
288
|
|
|
366
289
|
<template>
|
|
367
290
|
<div ref="rootEl" v-bind="rootAttrs">
|
|
368
|
-
<div v-show="
|
|
369
|
-
<slot v-if="!
|
|
370
|
-
|
|
371
|
-
</slot>
|
|
372
|
-
<slot v-if="status !== 'awaitingLoad' && !ready" name="loading">
|
|
291
|
+
<div v-show="isMapReady" ref="mapEl" :style="{ width: '100%', height: '100%', maxWidth: '100%' }" />
|
|
292
|
+
<slot v-if="!isMapReady" name="placeholder" />
|
|
293
|
+
<slot v-if="status !== 'awaitingLoad' && !isMapReady" name="loading">
|
|
373
294
|
<ScriptAriaLoadingIndicator />
|
|
374
295
|
</slot>
|
|
375
296
|
<slot v-if="status === 'awaitingLoad'" name="awaitingLoad" />
|