1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8399],{58355:(e,t,n)=>{let r,l;n.d(t,{ST:()=>ev,T5:()=>eh,c4:()=>A,ko:()=>ey});var a,o=n(77766),i=n(392);function s(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);l<r.length;l++)0>t.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n}function u(e,t,n,r){return new(n||(n=Promise))(function(l,a){function o(e){try{s(r.next(e))}catch(e){a(e)}}function i(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?l(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(o,i)}s((r=r.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;let c=()=>{},d="@googlemaps/js-api-loader",g={createScriptURL:e=>e},f=!1;function p(e){if(f)return void c(`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`);e.apiKey&&(c(),e.key||(e.key=e.apiKey)),function(e){var t,n,l,a,o,i,s,u,f,p,m;let h=!!window.google?.maps?.importLibrary;h&&JSON.stringify(e);h||(a="google",o="importLibrary",i=document,f=(u=(s=window)[a]||(s[a]={})).maps||(u.maps={}),p=new Set,m=new URLSearchParams,f[o]?console.warn("The Google Maps JavaScript API only loads once. Ignoring:",e):f[o
1]=(s,...u)=>p.add(s)&&(t||(t=new Promise(async(o,s)=>{var u,h;for(l in await (n=i.createElement("script")),m.set("libraries",[...p]+""),e)m.set(l.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[l]);m.set("callback",a+".maps.__ib__"),u=n,h="https://maps.googleapis.com/maps/api/js?"+m,u.src=(function(){if(r)return r;let e=globalThis.trustedTypes;if(!e)return r=g;try{r=e.createPolicy(d,{createScriptURL:e=>e})}catch(e){c(`Failed to create Trusted Types policy "${d}": ${e instanceof Error?e.message:String(e)}. 2 3If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${d} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`),r=g}return r})().createScriptURL(h),f.__ib__=o,n.onerror=()=>t=s(Error("The Google Maps JavaScript API could not load.")),n.nonce=i.querySelector("script[nonce]")?.nonce||"",i.head.append(n)}))).then(()=>f[o](s,...u)))}(e),f=!0}async function m(e){if(f||c(),!window?.google?.maps?.importLibrary)throw Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}let h="NOT_LOADED",b="LOADING",y="LOADED",v=["gmp_visgl_reactgooglemaps_v1.10.0"],E=o.createContext(null),O=h,C=new Set;function w(e){e!==O&&(O=e,C.forEach(e=>e(O)))}let A=e=>{let{children:t}=e,n=s(e,["children"]),{mapInstances:r,addMapInstance:a,removeMapInstance:i,clearMapInstances:c}=function(){let[e,t]=(0,o.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMapInstances:()=>{t({})}}}(),{map3dInstances:d,addMap3DInstance:g,removeMap3DInstance:f,clearMap3DInstances:h}=function(){let[e,t]=(0,o.useState)({});return{map3dInstances:e,addMap3DInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMap3DInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMap3DInstances:()=>{t({})}}}(),{status:A,loadedLibraries:j,importLibrary:S}=function(e){let{onLoad:t,onError:n,apiKey:r,version:a,libraries:i=[],region:s,language:c,authReferrerPolicy:d,channel:g,solutionChannel:f,fetchAppCheckToken:h}=e,[v,E]=(0,o.useState)(O),[A,j]=(0,o.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),S=(0,o.useMemo)(()=>JSON.stringify({apiKey:r,version:a,libraries:i.join(","),region:s,language:c,authReferrerPolicy:d,channel:g,solutionChannel:f}),[r,a,i,s,c,d,g,f]),k=(0,o.useCallback)(e=>u(this,void 0,void 0,function*(){if(A[e])return A[e];let t=yield m(e);return j({name:e,value:t}),t}),[A]);return(0,o.useEffect)(()=>(C.add(E),E(O),()=>{C.delete(E)}),[]),(0,o.useEffect)(()=>{u(this,void 0,void 0,function*(){var e,o;try{l&&l!==S&&console.warn("The Google Maps JavaScript API has already been loaded with different parameters. The new parameters will be ignored. If you need to use different parameters, please refresh the page.");let n=["core","maps",...i],u=Object.fromEntries(Object.entries({key:r,v:a,libraries:i,region:s,language:c,authReferrerPolicy:d}).filter(([,e])=>void 0!==e));if(void 0!==g&&g>=0&&g<=999&&(u.channel=String(g)),void 0===f?u.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""!==f&&(u.solutionChannel=f),null==(o=null==(e=window.google)?void 0:e.maps)?void 0:o.importLibrary){let e=!l;e&&(l=S,p(u)),yield Promise.all(n.map(e=>k(e))),e&&w(y),t&&t();return}if(O===b||O===y){O===y&&t&&t();return}l=S,w(b),p(u),yield Promise.all(n.map(e=>k(e))),w(y),t&&t()}catch(e){w("FAILED"),n?n(e):console.error("The Google Maps JavaScript API failed to load.",e)}})},[S,t,n,k,i]),(0,o.useEffect)(()=>{if(v!==y)return;let e=google.maps.Settings.getInstance();h&&(e.fetchAppCheckToken=h)},[v,h]),{status:v,loadedLibraries:A,importLibrary:k}}(n),k=(0,o.useMemo)(()=>n.disableUsageAttribution?null:v,[n.disableUsageAttribution]),M=(0,o.useMemo)(()=>({mapInstances:r,addMapInstance:a,removeMapInstance:i,clearMapInstances:c,map3dInstances:d,addMap3DInstance:g,removeMap3DInstance:f,clearMap3DInstances:h,status:A,loadedLibraries:j,importLibrary:S,internalUsageAttributionIds:k}),[r,a,i,c,d,g,f,h,A,j,S,k]);return o.createElement(E.Provider,{value:M},t)},j={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mou
3semove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},S=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],k=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],M=Object.keys(j);function P(e,t){let n=(0,o.useRef)(e);return t(e,n.current)||(n.current=e),n.current}let{getOwnPropertyNames:L,getOwnPropertySymbols:I}=Object,{hasOwnProperty:N}=Object.prototype;function x(e,t){return function(n,r,l){return e(n,r,l)&&t(n,r,l)}}function _(e){return function(t,n,r){if(!t||!n||"object"!=typeof t||"object"!=typeof n)return e(t,n,r);let{cache:l}=r,a=l.get(t),o=l.get(n);if(a&&o)return a===n&&o===t;l.set(t,n),l.set(n,t);let i=e(t,n,r);return l.delete(t),l.delete(n),i}}function T(e){let t=I(e);return t.length?L(e).concat(t):L(e)}let D=Object.hasOwn||((e,t)=>N.call(e,t)),{getOwnPropertyDescriptor:R,keys:F}=Object,z=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};function U(e,t){return e===t}function H(e,t){return e.byteLength===t.byteLength&&Y(new Uint8Array(e),new Uint8Array(t))}function q(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function J(e,t){return e.byteLength===t.byteLength&&Y(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function B(e,t){return z(e.getTime(),t.getTime())}function $(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function G(e,t,n){let r,l,a=e.size;if(a!==t.size)return!1;if(!a)return!0;let o=new Uint8Array(a),i=e.entries(),s=0;for(;(r=i.next())&&!r.done;){let a=t.entries(),i=0,u=0;for(;(l=a.next())&&!l.done;){if(o[u]){u++;continue}let a=r.value,c=l.value;if(n.equals(a[0],c[0],s,u,e,t,n)&&n.equals(a[1],c[1],a[0],c[0],e,t,n)){i=o[u]=1;break}u++}if(!i)return!1;s++}return!0}function Z(e,t,n){let r=F(e),l=r.length;if(F(t).length!==l)return!1;for(;l-- >0;)if(!ee(e,t,n,r[l]))return!1;return!0}function W(e,t,n){let r,l,a,o=T(e),i=o.length;if(T(t).length!==i)return!1;for(;i-- >0;)if(!ee(e,t,n,r=o[i])||(l=R(e,r),a=R(t,r),(l||a)&&(!l||!a||l.configurable!==a.configurable||l.enumerable!==a.enumerable||l.writable!==a.writable)))return!1;return!0}function V(e,t){return z(e.valueOf(),t.valueOf())}function K(e,t){return e.source===t.source&&e.flags===t.flags}function X(e,t,n){let r,l,a=e.size;if(a!==t.size)return!1;if(!a)return!0;let o=new Uint8Array(a),i=e.values();for(;(r=i.next())&&!r.done;){let a=t.values(),i=0,s=0;for(;(l=a.next())&&!l.done;){if(!o[s]&&n.equals(r.value,l.value,r.value,l.value,e,t,n)){i=o[s]=1;break}s++}if(!i)return!1}return!0}function Y(e,t){let n=e.length;if(t.length!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Q(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function ee(e,t,n,r){return("_owner"===r||"__o"===r||"__v"===r)&&(!!e.$$typeof||!!t.$$typeof)||D(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}let et=Object.prototype.toString,en=er();function er(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:l=!1}=e,a=function(e){let t=function({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:l,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:i,areObjectsEqual:s,arePrimitiveWrappersEqual:u,areRegExpsEqual:c,areSetsEqual:d,areTypedArraysEqual:g,areUrlsEqual:f}){return{"[object Arguments]":s,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":a,"[object BigInt]":i,"[object BigInt64Array]":g,"[object BigUint64Array]":g,"[object Boolean]":u,"[object DataView]":n,"[object Date]":r,"[object Error]":l,"[object Float16Array]":g,"[object Float32Array]":g,"[object Float64Array]":g,"[object Function]":a,"[object GeneratorFunction]":a,"[object Int8Array]":g,"[object Int16Array]":g,"[object Int32Array]":g,"[object Map]":o,"[object Number]":u,"[object Object]":(e,t,n
3)=>"function"!=typeof e.then&&"function"!=typeof t.then&&s(e,t,n),"[object RegExp]":c,"[object Set]":d,"[object String]":u,"[object URL]":f,"[object Uint8Array]":g,"[object Uint8ClampedArray]":g,"[object Uint16Array]":g,"[object Uint32Array]":g}}(e),{areArraysEqual:n,areDatesEqual:r,areFunctionsEqual:l,areMapsEqual:a,areNumbersEqual:o,areObjectsEqual:i,areRegExpsEqual:s,areSetsEqual:u,getUnsupportedCustomComparator:c}=e;return function(e,d,g){if(e===d)return!0;if(null==e||null==d)return!1;let f=typeof e;if(f!==typeof d)return!1;if("object"!==f)return"number"===f||"bigint"===f?o(e,d,g):"function"===f&&l(e,d,g);let p=e.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(e,d,g);if(p===Array)return n(e,d,g);if(p===Date)return r(e,d,g);if(p===RegExp)return s(e,d,g);if(p===Map)return a(e,d,g);if(p===Set)return u(e,d,g);if(p===Promise)return!1;if(Array.isArray(e))return n(e,d,g);let m=et.call(e),h=t[m];if(h)return h(e,d,g);let b=c&&c(e,d,g,m);return!!b&&b(e,d,g)}}(function({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:H,areArraysEqual:n?W:q,areDataViewsEqual:J,areDatesEqual:B,areErrorsEqual:$,areFunctionsEqual:U,areMapsEqual:n?x(G,W):G,areNumbersEqual:z,areObjectsEqual:n?W:Z,arePrimitiveWrappersEqual:V,areRegExpsEqual:K,areSetsEqual:n?x(X,W):X,areTypedArraysEqual:n?x(Y,W):Y,areUrlsEqual:Q,getUnsupportedCustomComparator:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=_(r.areArraysEqual),t=_(r.areMapsEqual),n=_(r.areObjectsEqual),l=_(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:l})}return r}(e)),o=n?n(a):function(e,t,n,r,l,o,i){return a(e,t,i)};return function({circular:e,comparator:t,createState:n,equals:r,strict:l}){if(n)return function(a,o){let{cache:i=e?new WeakMap:void 0,meta:s}=n();return t(a,o,{cache:i,equals:r,meta:s,strict:l})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:l})};let a={cache:void 0,equals:r,meta:void 0,strict:l};return function(e,n){return t(e,n,a)}}({circular:t,comparator:a,createState:r,equals:o,strict:l})}function el(e,t){(0,o.useEffect)(e,[P(t,en)])}er({strict:!0}),er({circular:!0}),er({circular:!0,strict:!0}),er({createInternalComparator:()=>z}),er({strict:!0,createInternalComparator:()=>z}),er({circular:!0,createInternalComparator:()=>z}),er({circular:!0,createInternalComparator:()=>z,strict:!0});let ea=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function eo(){var e;return(null==(e=(0,o.useContext)(E))?void 0:e.status)||h}function ei(e,t){if(!e||!t)return!1;let n=es(e),r=es(t);return n.lat===r.lat&&n.lng===r.lng}function es(e){return e&&"object"==typeof e&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)?e:e.toJSON()}function eu(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;
3let t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function ec(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!ei(e[t],n[t]))return!1;return!0}let ed=()=>o.createElement("div",{style:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"}},o.createElement("h2",null,"Error: AuthFailure"),o.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",o.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));function eg(){let[e,t]=(0,o.useState)(null);return[e,(0,o.useCallback)(e=>t(e),[t])]}function ef(){let[,e]=(0,o.useReducer)(e=>e+1,0);return e}class ep{static has(e){return this.entries[e]&&this.entries[e].length>0}static pop(e){return this.entries[e]&&this.entries[e].pop()||null}static push(e,t){this.entries[e]||(this.entries[e]=[]),this.entries[e].push(t)}}ep.entries={};let em=o.createContext(null),eh=e=>{let t,n,r,l,a,i,{children:u,id:c,className:d,style:g}=e,f=(0,o.useContext)(E),p=eo();if(!f)throw Error("<Map> can only be used inside an <ApiProvider> component.");let[m,h,b]=function(e,t){let n,r,l=eo()===y,[a,i]=(0,o.useState)(null),[u,c]=eg(),d=(n=ef(),r=(0,o.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0}),(0,o.useEffect)(()=>{if(!a)return;let e=google.maps.event.addListener(a,"bounds_changed",()=>{let e,t,l,o;e=a.getCenter(),t=a.getZoom(),l=a.getHeading()||0,o=a.getTilt()||0,e&&Number.isFinite(t)?Object.assign(r.current,{center:e.toJSON(),zoom:t,heading:l,tilt:o}):console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),n()});return()=>e.remove()},[a,n]),r),{id:g,defaultBounds:f,defaultCenter:p,defaultZoom:m,defaultHeading:h,defaultTilt:b,reuseMaps:v,renderingType:E,colorScheme:O}=e,C=s(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),w=void 0!==e.zoom||void 0!==e.defaultZoom,A=void 0!==e.center||void 0!==e.defaultCenter;f||w&&A||console.warn("<Map> component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!C.center&&p&&(C.center=p),!C.zoom&&Number.isFinite(m)&&(C.zoom=m),!C.heading&&Number.isFinite(h)&&(C.heading=h),!C.tilt&&Number.isFinite(b)&&(C.tilt=b);let j=C.internalUsageAttributionIds;for(let e of(null==j?C.internalUsageAttributionIds=t.internalUsageAttributionIds:C.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...j],Object.keys(C)))void 0===C[e]&&delete C[e];let S=(0,o.useRef)(void 0),k=(0,o.useRef)(v);return(0,o.useEffect)(()=>{k.current=v},[v]),(0,o.useEffect)(()=>{let n,r;if(!u||!l)return;let{addMapInstance:a,removeMapInstance:o}=t,{mapId:c}=e,p=`${c||"default"}:${E||"default"}:${O||"LIGHT"}`,m=k.current&&ep.has(p)?ep.pop(p):null,h=null==m?void 0:m.getDiv(),b=m&&h instanceof Node?m:null;if(b?(r=b,n=h,u.appendChild(n),r.setOptions(C),setTimeout(()=>r.moveCamera({}),0)):(m&&google.maps.event.clearInstanceListeners(m),(n=document.createElement("div")).style.height="100%",u.appendChild(n),r=new google.maps.Map(n,Object.assign(Object.assign(Object.assign({},C),E?{renderingType:E}:{}),O?{colorScheme:O}:{}))),i(r),a(r,g),f){let{padding:e}=f,t=s(f,["padding"]);r.fitBounds(t,e)}else w&&A||r.fitBounds({east:180,west:-180,south:-90,north:90});if(S.current){let{mapId:e,cameraState:t}=S.current;e!==c&&r.moveCamera(t)}return()=>{S.current={mapId:c,cameraState:d.current},n.remove(),k.current?ep.push(p,r):google.maps.event.clearInstanceListeners(r),i(null),o(g)}},[u,l,g,e.mapId,e.renderingType,e.colorScheme]),[a,c,d]}(e,f);for(let s of(t=e.center?es(e.center):null,n=null,r=null,t&&Number.isFinite(t.lat)&&Number.isFinite(t.lng)&&(n=t.lat,r=t.lng),l=Number.isFinite(e.zoom)?e.zoom:null,a=Number.isFinite(e.heading)?e.heading:null,i=Number.isFinite(e.tilt)?e.tilt:null,(0,o.useLayoutEffect)(()=>
3{if(!m)return;let e={},t=!1;null!==n&&null!==r&&(b.current.center.lat!==n||b.current.center.lng!==r)&&(e.center={lat:n,lng:r},t=!0),null!==l&&b.current.zoom!==l&&(e.zoom=l,t=!0),null!==a&&b.current.heading!==a&&(e.heading=a,t=!0),null!==i&&b.current.tilt!==i&&(e.tilt=i,t=!0),t&&m.moveCamera(e)}),M)){let t=e[s],n=j[s];(0,o.useEffect)(()=>{if(!m||!t)return;let e=google.maps.event.addListener(m,n,e=>{let r=function(e,t,n){var r;let l={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(S.includes(e)){let e=t.getCenter(),n=t.getZoom(),r=t.getHeading()||0,a=t.getTilt()||0,o=t.getBounds();return e&&o&&Number.isFinite(n)?(l.detail={center:e.toJSON(),zoom:n,heading:r,tilt:a,bounds:o.toJSON()},l):(console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),null)}if(k.includes(e)){if(!n)throw Error("[createEvent] mouse events must provide a srcEvent");return l.domEvent=n.domEvent,l.stoppable=!0,l.stop=()=>n.stop(),l.detail={latLng:(null==(r=n.latLng)?void 0:r.toJSON())||null,placeId:n.placeId},l}return l}(n,m,e);r&&t(r)});return()=>e.remove()},[m,n,t])}let v={};for(let t of Object.keys(e))ea.has(t)&&(v[t]=e[t]);el(()=>{m&&m.setOptions(v)},[v]);let O=function(e,t){let{viewport:n,viewState:r}=t;return(0,o.useLayoutEffect)(()=>{if(!e||!r)return;let{latitude:t,longitude:n,bearing:l,pitch:a,zoom:o}=r;e.moveCamera({center:{lat:t,lng:n},heading:l,tilt:a,zoom:o+1})},[e,r]),!!n}(m,e),C=!!e.controlled;(0,o.useEffect)(()=>{if(m)return O&&m.setOptions({disableDefaultUI:!0}),(O||C)&&m.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{m.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[m,O,C,e.gestureHandling,e.keyboardShortcuts]);let w=e.center?es(e.center):null,A=null,P=null;w&&Number.isFinite(w.lat)&&Number.isFinite(w.lng)&&(A=w.lat,P=w.lng);let L=(0,o.useMemo)(()=>{var t,n,r;return{center:{lat:null!=A?A:0,lng:null!=P?P:0},zoom:null!=(t=e.zoom)?t:0,heading:null!=(n=e.heading)?n:0,tilt:null!=(r=e.tilt)?r:0}},[A,P,e.zoom,e.heading,e.tilt]);(0,o.useLayoutEffect)(()=>{if(!m||!C)return;m.moveCamera(L);let e=m.addListener("bounds_changed",()=>{m.moveCamera(L)});return()=>e.remove()},[m,C,L]);let I=(0,o.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:O?-1:0},g),[g,O]),N=(0,o.useMemo)(()=>({map:m}),[m]);return"AUTH_FAILURE"===p?o.createElement("div",{style:Object.assign({position:"relative"},d?{}:I),className:d},o.createElement(ed,null)):o.createElement("div",Object.assign({ref:h,"data-testid":"map",style:d?void 0:I,className:d},c?{id:c}:{}),m?o.createElement(em.Provider,{value:N},u):null)};eh.deckGLViewProps=!0;let eb=new Set,ey=(e=null)=>{let t=(0,o.useContext)(E),{map:n}=(0,o.useContext)(em)||{};if(null===t)return!function(...e){let t=JSON.stringify(e);eb.has(t)||(eb.add(t),console.error(...e))}("useMap(): failed to retrieve APIProviderContext. Make sure that the <APIProvider> component exists and that the component you are calling `useMap()` from is a sibling of the <APIProvider>."),null;let{mapInstances:r}=t;return null!==e?r[e]||null:n||r.default||null};function ev(e){var t;let n=eo()===y,r=(0,o.useContext)(E);return(0,o.useEffect)(()=>{n&&r&&r.importLibrary(e)},[n,r,e]),null!=(t=null==r?void 0:r.loadedLibraries[e])?t:null}let eE=Object.assign({},a||(a=n.t(o,2))),eO=eE.useInsertionEffect,eC=eO&&eO!==eE.useLayoutEffect?eO:e=>{e()};function ew(){throw Error("useEffectEvent: invalid call during rendering.")}let eA=function(e){let t=(0,o.useRef)(ew);return eC(()=>{t.current=e},[e]),(...e)=>t.current(...e)},ej=()=>{};function eS(e,t,n){let r=eA(null!=n?n:ej),l=!!n;(0,o.useEffect)(()=>{if(!e||!t||!l)return;let n=google.maps.event.addListener(e,t,r);return()=>n.remove()},[e,t,l])}function ek(e,t,n){(0,o.useEffect)(()=>{e&&(e[t]=n)},[e,t,n])}let eM=()=>{};function eP(e,t,n){let r=eA(null!=n?n:eM),l=!!n;(0,o.useEffect)(()=>{if(e&&t&&l)return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,l])}class eL{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;let e=this.getStyleElement();e.textContent+=` 4 gmp-advanced-marker[data-origin='rgm'] { 5 pointer-events: none !important; 6 } 7 `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}}let eI=new eL,eN=o.createContext(null),ex=["50%","100%"];
7function e_(e){return e.nodeType===Node.ELEMENT_NODE}(0,o.forwardRef)((e,t)=>{let{children:n,style:r,className:l,anchorPoint:a}=e,[s,u]=function(e){var t,n,r,l,a;let[i,s]=(0,o.useState)(null),[u,c]=(0,o.useState)(null),d=ey(),g=ev("marker"),{children:f,onClick:p,onKeyDown:m,onKeyUp:h,className:b,onMouseEnter:y,onMouseLeave:v,onDrag:E,onDragStart:O,onDragEnd:C,collisionBehavior:w,clickable:A,draggable:j,position:S,title:k,zIndex:M,anchorPoint:P,anchorLeft:L,anchorTop:I}=e,N=o.Children.count(f);return(0,o.useEffect)(()=>{if(!d||!g)return;let e=new g.AdvancedMarkerElement;e.map=d,s(e);let t=null;return N>0&&(e.content=t=document.createElement("div"),c(t)),()=>{e.map=null,null==t||t.remove(),s(null),c(null)}},[d,g,N]),(0,o.useEffect)(()=>{(null==i?void 0:i.content)&&e_(i.content)&&!(N>0)&&(i.content.className=null!=b?b:"")},[i,b,N]),t=i,n=P,r=L,l=I,a=N>0,(0,o.useEffect)(()=>{if(!t||!a)return;let e=function(){var e;if(!(null==(e=null==google?void 0:google.maps)?void 0:e.version))return;let t=google.maps.version.split("."),n=parseInt(t[0],10),r=parseInt(t[1],10);return n>3||3===n&&r>=62}(),o=t.content;if(o&&e_(o)){if(void 0!==r||void 0!==l){e||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),t.anchorLeft=r,t.anchorTop=l,void 0!==n&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(void 0!==n){let[r,l]=null!=n?n:ex,a=`calc(-1 * ${r})`,i=`calc(-1 * ${l})`;e?(t.anchorLeft=a,t.anchorTop=i,o.style.transform=""):(o.style.transform=`translate(50%, 100%) translate(${a}, ${i})`,t.dataset.origin="rgm",eI.addAdvancedMarkerPointerEventsOverwrite())}}},[t,n,r,l,a]),ek(i,"position",S),ek(i,"title",null!=k?k:""),ek(i,"zIndex",M),ek(i,"collisionBehavior",w),(0,o.useEffect)(()=>{i&&(void 0!==j?i.gmpDraggable=j:E||O||C?i.gmpDraggable=!0:i.gmpDraggable=!1)},[i,j,E,C,O]),(0,o.useEffect)(()=>{if(!i)return;let e=void 0!==A?A:!!p||!!m||!!h||!!y||!!v;i.gmpClickable=e,(null==i?void 0:i.content)&&e_(i.content)&&(i.content.style.pointerEvents=e?"all":"none",i.content.style.cursor=e&&p?"pointer":"")},[i,A,p,m,h,y,v]),eS(i,"drag",E),eS(i,"dragstart",O),eS(i,"dragend",C),eP(i,"gmp-click",p),eP(i,"keydown",m),eP(i,"keyup",h),eP(i,"mouseenter",y),eP(i,"mouseleave",v),[i,u]}(e),c=(0,o.useMemo)(()=>s?{marker:s}:null,[s]);return((0,o.useImperativeHandle)(t,()=>s,[s]),u)?o.createElement(eN.Provider,{value:c},(0,i.createPortal)(o.createElement(eT,{anchorPoint:a,styles:r,className:l},n),u)):null}).displayName="AdvancedMarker";let eT=({children:e,styles:t,className:n})=>o.createElement("div",{className:n,style:t},e),eD=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);function eR(e){if(Array.isArray(e))return e.map(e=>eR(e));if(null===e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype)return e;let t={};for(let n of Object.keys(e))t[n]=eR(e[n]);return t}let eF=new WeakMap;function ez(e,t,{alreadyApplied:n=!1}={}){var r;if(n)return void eF.set(e,eR(t));let l=function(e,t){let n=null;for(let r of new Set([...Object.keys(t),...Object.keys(e)])){if(!eD(e,r)){null!=n||(n=Object.create(null)),n[r]=null;continue}eD(t,r)&&en(t[r],e[r])||(null!=n||(n=Object.create(null)),n[r]=e[r])}return n}(t,null!=(r=eF.get(e))?r:{});l&&(e.setOptions(l),eF.set(e,eR(t)))}function eU(e,t,n){var r;let l=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?l?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":l?e.setProperty(t,n):"number"!=typeof n||0===n||(r=t,eH.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}(0,o.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:a,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onRadiusChanged:g,onCenterChanged:f,center:p,defaultCenter:m,radius:h,defaultRadius:b}=e,y=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[v,E]=(0,o.useState)(null),O=ey(),C=P(Object.assign(Object.assign({},y),{clickable:null!=(t=y.clickable)?t:!!l,draggable:null!=(n=y.draggable)?n:!!(a||i||u||f),editable:null!=(r=y.editable)?r:!!g}),en);return(0,o.useEffect)(()=>
7{if(!O){void 0===O&&console.error("<Circle> has to be inside a Map component.");return}let e=new google.maps.Circle(Object.assign(Object.assign({},C),{center:null!=p?p:m,radius:null!=h?h:b}));return ez(e,C,{alreadyApplied:!0}),e.setMap(O),E(e),()=>{e.setMap(null),E(null)}},[O]),eS(v,"click",l),eS(v,"drag",a),eS(v,"dragstart",i),eS(v,"dragend",u),eS(v,"mouseover",c),eS(v,"mouseout",d),eS(v,"radius_changed",g?()=>{let e=null==v?void 0:v.getRadius();void 0!==e&&g(e)}:null),eS(v,"center_changed",f?()=>{f(null==v?void 0:v.getCenter())}:null),(0,o.useEffect)(()=>{v&&ez(v,C)},[v,C]),(0,o.useEffect)(()=>{v&&p&&(ei(p,v.getCenter())||v.setCenter(p))},[v,p]),(0,o.useEffect)(()=>{v&&void 0!==h&&h!==v.getRadius()&&v.setRadius(h)},[v,h]),v}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Circle";let eH=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);function eq(e){let t=e.getPaths(),n=[];for(let e=0;e<t.getLength();e++)n.push(t.getAt(e).getArray());return n}(0,o.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:a,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathsChanged:g,polygon:f,encodedPaths:p,paths:m,defaultPaths:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[y,v]=(0,o.useState)(null),E=ey(),O=ev("geometry"),C=(0,o.useRef)(!1),w=P(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!l,draggable:null!=(n=b.draggable)?n:!!(a||i||u||g),editable:null!=(r=b.editable)?r:!!g}),en);return(0,o.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polygon> has to be inside a Map component.");return}if(f){e=f;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPaths(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.paths=t),e=new google.maps.Polygon(n)}return ez(e,w,{alreadyApplied:!0}),e.setMap(E),v(e),()=>{e.setMap(null),v(null)}},[E,f]),eS(y,"click",l),eS(y,"drag",a),eS(y,"dragstart",i),eS(y,"mouseover",c),eS(y,"mouseout",d),eS(y,"dragend",e=>{null==u||u(e),g&&y&&!C.current&&g(eq(y))}),(0,o.useEffect)(()=>{if(!y||!g)return;let e=[],t=y.getPaths();if("function"!=typeof t.getLength||"function"!=typeof t.getAt)return;let n=()=>{C.current||g(eq(y))},r=t=>{e.push(google.maps.event.addListener(t,"insert_at",n)),e.push(google.maps.event.addListener(t,"remove_at",n)),e.push(google.maps.event.addListener(t,"set_at",n))};for(let e=0;e<t.getLength();e++)r(t.getAt(e));return e.push(google.maps.event.addListener(t,"insert_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"set_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"remove_at",n)),()=>{e.forEach(e=>e.remove())}},[y,g,m,p,w.editable,w.draggable]),(0,o.useEffect)(()=>{y&&ez(y,w)},[y,w]),(0,o.useEffect)(()=>{y&&m&&Array.isArray(m)&&!function(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray().map(e=>e.getArray()):t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!ec(e[t],n[t]))return!1;return!0}(Array.isArray(m[0])?m:[m],y.getPaths())&&(C.current=!0,y.setPaths(m),C.current=!1)},[y,m]),(0,o.useEffect)(()=>{if(!y||!p||!O)return;C.current=!0;let e=p.map(e=>O.encoding.decodePath(e));y.setPaths(e),C.current=!1},[y,p,O]),y}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Polygon",(0,o.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:a,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathChanged:g,polyline:f,encodedPath:p,path:m,defaultPath:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[y,v]=(0,o.useState)(null),E=ey(),O=ev("geometry"),C=(0,o.useRef)(!1),w=P(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!l,draggable:null!=(n=b.draggable)?n:!!(a||i||u||g),editable:null!=(r=b.editable)?r:!!g}),en);return(0,o.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polyline> has to be inside a Map component.");return}if(f){e=f;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPath(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.path=t),e=new google.maps.Polyline(n)}return ez(e,w,{alreadyApplied:!0}),e.setMap(E),v(e),()=>{e.setMap(null),v(null)}},[E,f]),eS(y,"click",l),eS(y,"drag",a),eS(y,"dragstart",i),eS(y,"mouseover",c),eS(y,"mouseout",d),eS(y,"dragend",e=>{null==u||u(e),g&&y&&!C.current&&g(y.getPath().getArray())}),(0,o.useEffect)(()=>
7{if(!y||!g)return;let e=y.getPath();if(!e)return;let t=()=>{C.current||g(e.getArray())},n=[google.maps.event.addListener(e,"insert_at",t),google.maps.event.addListener(e,"remove_at",t),google.maps.event.addListener(e,"set_at",t)];return()=>{n.forEach(e=>e.remove())}},[y,g,m,p,w.editable,w.draggable]),(0,o.useEffect)(()=>{y&&ez(y,w)},[y,w]),(0,o.useEffect)(()=>{y&&m&&(ec(m,y.getPath())||(C.current=!0,y.setPath(m),C.current=!1))},[y,m]),(0,o.useEffect)(()=>{if(!y||!p||!O)return;C.current=!0;let e=O.encoding.decodePath(p);y.setPath(e),C.current=!1},[y,p,O]),y}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Polyline";let eJ={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},eB=["center","range","heading","tilt","roll"],e$=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function eG(e,t){let n=e.center;return{type:t,map3d:e,detail:{center:n&&"toJSON"in n&&"function"==typeof n.toJSON?n.toJSON():n||{lat:0,lng:0,altitude:0},range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function eZ(e,t,n,r){(0,o.useEffect)(()=>{if(!e||!n)return;let l=()=>{n(r(e,t))};return e.addEventListener(t,l),()=>e.removeEventListener(t,l)},[e,t,n,r])}let eW=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]),eV=o.createContext(null),eK={width:"100%",height:"100%",position:"relative"};(0,o.forwardRef)((e,t)=>{var n,r,l,a,i,u,c,d;let g,f,p,m,h,b,y,v,O,{children:C,id:w,className:A,style:j}=e,S=(0,o.useContext)(E);if(!S)throw Error("<Map3D> can only be used inside an <APIProvider> component.");let{addMap3DInstance:k,removeMap3DInstance:M}=S,[P,L,I,N,x]=function(e){let t,n,r=ev("maps3d"),[l,a]=(0,o.useState)(!1),[,i]=eg(),[u,c]=eg(),d=(t=ef(),n=(0,o.useRef)(Object.assign({},eJ)),(0,o.useEffect)(()=>{if(!u)return;let e=[];for(let r of eB){let l=`gmp-${r}change`,a=()=>{!function(e,t,n){let r=e[n];null!=r&&("center"===n?t.current.center=r.toJSON?r.toJSON():r:t.current[n]=r)}(u,n,r),t()};u.addEventListener(l,a),e.push(()=>u.removeEventListener(l,a))}return()=>{for(let t of e)t()}},[u,t]),n);return(0,o.useEffect)(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{a(!0)})},[]),(0,o.useEffect)(()=>{if(!u)return;let{center:t,heading:n,tilt:r,range:l,roll:a,defaultCenter:o,defaultHeading:i,defaultTilt:c,defaultRange:d,defaultRoll:g,id:f,style:p,className:m,children:h,onCenterChanged:b,onHeadingChanged:y,onTiltChanged:v,onRangeChanged:E,onRollChanged:O,onCameraChanged:C,onClick:w,onSteadyChange:A,onAnimationEnd:j,onError:S,mode:k,gestureHandling:M}=e,P=s(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","
7id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),L=null!=t?t:o,I=null!=n?n:i,N=null!=r?r:c,x=null!=l?l:d,_=null!=a?a:g,T=Object.assign({},P);L&&(T.center=L),void 0!==I&&(T.heading=I),void 0!==N&&(T.tilt=N),void 0!==x&&(T.range=x),void 0!==_&&(T.roll=_),Object.assign(u,T)},[u]),[u,i,c,d,!!r&&l]}(e);f=null!=(n=null==(g=(d=e.center)?"toJSON"in d&&"function"==typeof d.toJSON?d.toJSON():d:null)?void 0:g.lat)?n:null,p=null!=(r=null==g?void 0:g.lng)?r:null,m=null!=(l=null==g?void 0:g.altitude)?l:null,h=null!=(a=e.range)?a:null,b=null!=(i=e.heading)?i:null,y=null!=(u=e.tilt)?u:null,v=null!=(c=e.roll)?c:null,(0,o.useLayoutEffect)(()=>{var e;if(!P)return;let t=N.current;null!==f&&null!==p&&(t.center.lat!==f||t.center.lng!==p||null!==m&&t.center.altitude!==m)&&(P.center={lat:f,lng:p,altitude:null!=(e=null!=m?m:t.center.altitude)?e:0}),null!==h&&t.range!==h&&(P.range=h),null!==b&&t.heading!==b&&(P.heading=b),null!==y&&t.tilt!==y&&(P.tilt=y),null!==v&&t.roll!==v&&(P.roll=v)}),function(e,t){let{onCenterChanged:n,onHeadingChanged:r,onTiltChanged:l,onRangeChanged:a,onRollChanged:i,onCameraChanged:s,onClick:u,onSteadyChange:c,onAnimationEnd:d,onError:g}=t;eZ(e,"gmp-centerchange",n,eG),eZ(e,"gmp-headingchange",r,eG),eZ(e,"gmp-tiltchange",l,eG),eZ(e,"gmp-rangechange",a,eG),eZ(e,"gmp-rollchange",i,eG),(0,o.useEffect)(()=>{if(!e||!s)return;let t=()=>{s(eG(e,"camerachange"))};for(let n of e$)e.addEventListener(n,t);return()=>{for(let n of e$)e.removeEventListener(n,t)}},[e,s]),(0,o.useEffect)(()=>{if(!e||!u)return;let t=t=>{u({type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:t.placeId}})};return e.addEventListener("gmp-click",t),()=>e.removeEventListener("gmp-click",t)},[e,u]),(0,o.useEffect)(()=>{if(!e||!c)return;let t=t=>{c({type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}})};return e.addEventListener("gmp-steadychange",t),()=>e.removeEventListener("gmp-steadychange",t)},[e,c]),eZ(e,"gmp-animationend",d,(e,t)=>({type:t,map3d:e})),eZ(e,"gmp-error",g,(e,t)=>({type:t,map3d:e}))}(P,e),el(()=>{P&&Object.assign(P,O)},[P,O=(0,o.useMemo)(()=>{let t={};for(let n of Object.keys(e)){if(!eW.has(n))continue;let r=e[n];void 0!==r&&(t[n]=r)}return t},[e])]),(0,o.useEffect)(()=>{if(!P)return;let e=null!=w?w:"default";return k(P,e),()=>{M(e)}},[P,w]),(0,o.useImperativeHandle)(t,()=>({map3d:P,flyCameraAround:e=>{null==P||P.flyCameraAround(e)},flyCameraTo:e=>{null==P||P.flyCameraTo(e)},stopCameraAnimation:()=>{null==P||P.stopCameraAnimation()}}),[P]);let _=(0,o.useMemo)(()=>Object.assign(Object.assign({},eK),j),[j]),T=(0,o.useMemo)(()=>({map3d:P}),[P]);return x?o.createElement("div",Object.assign({ref:L,"data-testid":"map-3d",style:A?void 0:_,className:A},w?{id:w}:{}),o.createElement("gmp-map-3d",{ref:I,style:{width:"100%",height:"100%"}},P&&o.createElement(eV.Provider,{value:T},C))):o.createElement("div",Object.assign({ref:L,"data-testid":"map-3d",style:A?void 0:_,className:A},w?{id:w}:{}))}).displayName="Map3D";let eX=(0,o.createContext)(null);(0,o.forwardRef)(function(e,t){let{children:n,onClick:r,position:l,altitudeMode:a,collisionBehavior:s,drawsWhenOccluded:u,extruded:c,label:d,sizePreserved:g,zIndex:f,title:p}=e,m=!!r,[h,b]=(0,o.useState)(null),[y,v]=(0,o.useState)(!1),E=(0,o.useMemo)(()=>{let e=document.createElement("div");return e.style.display="none",document.body.appendChild(e),e},[]);(0,o.useEffect)(()=>()=>E.remove(),[E]);let O=(0,o.useCallback)(e=>{b(e),"function"==typeof t?t(e):t&&(t.current=e)},[t]);eP(h,"gmp-click",r),(0,o.useLayoutEffect)(()=>{if(!y&&h&&E){for(;h.firstChild;)h.removeChild(h.firstChild);for(let e of Array.from(E.childNodes)){if(e.nodeType!==Node.ELEMENT_NODE)continue;let t=e.tagName.toLowerCase();if("img"===t||"svg"===t){let t=document.createElement("template");t.content.appendChild(e.cloneNode(!0)),h.appendChild(t)}else h.appendChild(e.cloneNode(!0))}}},[h,E,n,y]);let C=(0,o.useMemo)(()=>({marker:h,setContentHandledExternally:v}
7),[h]);return ek(h,"position",l),ek(h,"altitudeMode",a),ek(h,"collisionBehavior",s),ek(h,"drawsWhenOccluded",u),ek(h,"extruded",c),ek(h,"label",d),ek(h,"sizePreserved",g),ek(h,"zIndex",f),ek(h,"title",null!=p?p:""),o.createElement(eX.Provider,{value:C},m?o.createElement("gmp-marker-3d-interactive",{ref:O}):o.createElement("gmp-marker-3d",{ref:O}),(0,i.createPortal)(n,E))}).displayName="Marker3D",(0,o.forwardRef)(function(e,t){var n,r,l,a;let i,s,{children:u,headerContent:c,style:d,className:g,open:f=!0,position:p,anchor:m,anchorId:h,altitudeMode:b,lightDismissDisabled:y,autoPanDisabled:v,onClose:E}=e,[O,C]=(0,o.useState)(null),w=(0,o.useRef)(null);return(0,o.useImperativeHandle)(t,()=>O,[O]),r=O,l=f,a=E,i=(0,o.useRef)(void 0),s=(0,o.useRef)(l),(0,o.useEffect)(()=>{s.current=l},[l]),(0,o.useEffect)(()=>{if(!r||!a)return;let e=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"open"===t.attributeName){let e=r.hasAttribute("open");!0!==i.current||e||!1===s.current||a(),i.current=e}});return e.observe(r,{attributes:!0,attributeFilter:["open"]}),i.current=r.hasAttribute("open"),()=>{e.disconnect()}},[r,a]),ek(O,"open",null!=f&&f),ek(O,"altitudeMode",b),ek(O,"lightDismissDisabled",y),ek(O,"autoPanDisabled",v),ek(O,"positionAnchor",null!=(n=null!=m?m:h)?n:p),(0,o.useLayoutEffect)(()=>{O&&(!function(e,t,n){if(null!=t&&"object"!=typeof t)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");let r=e.style;if(null==n){if(null==t)return;for(let e in t)t.hasOwnProperty(e)&&eU(r,e,t[e]);return}for(let e in n)n.hasOwnProperty(e)&&(null==t||!t.hasOwnProperty(e))&&(0===e.indexOf("--")?r.setProperty(e,""):"float"===e?r.cssFloat="":r[e]="");if(null!=t)for(let e in t){let l=t[e];t.hasOwnProperty(e)&&n[e]!==l&&eU(r,e,l)}}(O,d||null,w.current),w.current=d||null)},[O,d]),o.createElement("gmp-popover",{ref:C,className:g},c&&o.createElement("div",{slot:"header"},c),u)}).displayName="Popover",(0,o.forwardRef)((e,t)=>{let n=function(e){let[t,n]=(0,o.useState)(null),r=ey(),{onClick:l,onDrag:a,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d}=e,g=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:f,draggable:p}=g;return(0,o.useEffect)(()=>{if(!r){void 0===r&&console.error("<Marker> has to be inside a Map component.");return}let e=new google.maps.Marker(g);return e.setMap(r),n(e),()=>{e.setMap(null),n(null)}},[r]),(0,o.useEffect)(()=>{if(!t)return;let e=google.maps.event;return l&&e.addListener(t,"click",l),a&&e.addListener(t,"drag",a),i&&e.addListener(t,"dragstart",i),u&&e.addListener(t,"dragend",u),c&&e.addListener(t,"mouseover",c),d&&e.addListener(t,"mouseout",d),t.setDraggable(!!p),()=>{e.clearInstanceListeners(t)}},[t,p,l,a,i,u,c,d]),(0,o.useEffect)(()=>{t&&g&&t.setOptions(g)},[t,g]),(0,o.useEffect)(()=>{!p&&f&&t&&t.setPosition(f)},[p,f,t]),t}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Marker",(0,o.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:a,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onBoundsChanged:g,bounds:f,defaultBounds:p}=e,m=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[h,b]=(0,o.useState)(null),y=ey(),v=P(Object.assign(Object.assign({},m),{clickable:null!=(t=m.clickable)?t:!!l,draggable:null!=(n=m.draggable)?n:!!(a||i||u||g),editable:null!=(r=m.editable)?r:!!g}),en);return(0,o.useEffect)(()=>{if(!y){void 0===y&&console.error("<Rectangle> has to be inside a Map component.");return}let e=new google.maps.Rectangle(Object.assign(Object.assign({},v),{bounds:null!=f?f:p}));return ez(e,v,{alreadyApplied:!0}),e.setMap(y),b(e),()=>{e.setMap(null),b(null)}},[y]),eS(h,"click",l),eS(h,"drag",a),eS(h,"dragstart",i),eS(h,"dragend",u),eS(h,"mouseover",c),eS(h,"mouseout",d),eS(h,"bounds_changed",g?()=>{g(null==h?void 0:h.getBounds())}:null),(0,o.useEffect)(()=>{h&&ez(h,v)},[h,v]),(0,o.useEffect)(()=>{h&&f&&!function(e,t){if(!e||!t)return!1;let n=eu(e),r=eu(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}(f,h.getBounds())&&h.setBounds(f)},[h,f]),h}(e);return(0,o.useImperativeHandle)(t,()=>n,[n]),o.createElement(o.Fragment,null)}).displayName="Rectangle"}}]);
8//# sourceMappingURL=d65c79a9.a7f13a3d53c798b8.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.