@nexlylab/widget 1.32.18 → 1.33.0

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 (68) hide show
  1. package/dist/INSTALL.txt +1 -1
  2. package/dist/runtime/{1.32.18/chunks/ClickToLoadEmbed-BLIUFZOn-BwY-LAJ8.js → 1.33.0/chunks/ClickToLoadEmbed-DdH19Upf-CnpjmfE1.js} +2 -2
  3. package/dist/runtime/{1.32.18/chunks/PanelInfoVideo-BNVzih9J-BrU-Qlul.js → 1.33.0/chunks/PanelInfoVideo-XFcVoL2c-qpxDXdLm.js} +2 -2
  4. package/dist/runtime/{1.32.18/chunks/allowed-elements-BXnLJV1S-C-_lr2zm.js → 1.33.0/chunks/allowed-elements-C0OfX2zF-DIBV8lKu.js} +2 -2
  5. package/dist/runtime/{1.32.18/chunks/assistant-link-components-DUrLEPUB-DKaQavIJ.js → 1.33.0/chunks/assistant-link-components-gMuMhmaU-rHpeX4O6.js} +2 -2
  6. package/dist/runtime/{1.32.18/chunks/assistant-link-policy-DHB-k1Aa-Cc-yj-a-.js → 1.33.0/chunks/assistant-link-policy-DlGAtyk7-By6jpR50.js} +2 -2
  7. package/dist/runtime/{1.32.18/chunks/block-rating-D7hR2gTc-CoiP5C2K.js → 1.33.0/chunks/block-rating-CAVRRYuG-CQMNokIy.js} +2 -2
  8. package/dist/runtime/{1.32.18/chunks/external-url-qbs1SznX-CJQjg_od.js → 1.33.0/chunks/external-url-JbUnX7Da-rLiy7c9v.js} +2 -2
  9. package/dist/runtime/{1.32.18/chunks/index--xfG4CIn-DbuSZfeK.js → 1.33.0/chunks/index--H6hRpBJ-F9_TzvkO.js} +2 -2
  10. package/dist/runtime/{1.32.18/chunks/index-BIGVEl9--CSQQTbsg.js → 1.33.0/chunks/index--pcCOJWb-BzpgdoE8.js} +2 -2
  11. package/dist/runtime/{1.32.18/chunks/index-7N5M1HdS-DAdxCQyi.js → 1.33.0/chunks/index-7yhyghzH-BlFXtfQb.js} +2 -2
  12. package/dist/runtime/{1.32.18/chunks/index-CF37rhgu-BcW8HKb8.js → 1.33.0/chunks/index-BCxeWwto-B9PuY2Gx.js} +2 -2
  13. package/dist/runtime/{1.32.18/chunks/index-BKZyJMr2-oy07dUaV.js → 1.33.0/chunks/index-BO0vI80C-qK4w7DnX.js} +4 -4
  14. package/dist/runtime/{1.32.18/chunks/index-99heIIoH-QeFj7CR9.js → 1.33.0/chunks/index-BP1Q45X4-f3F4IxQ5.js} +2 -2
  15. package/dist/runtime/{1.32.18/chunks/index-DAICBUgn-DBhSkJ7i.js → 1.33.0/chunks/index-BPfUysTZ-CV5ZiVsD.js} +2 -2
  16. package/dist/runtime/{1.32.18/chunks/index-Ce9TuEzb-C3bBvEcm.js → 1.33.0/chunks/index-BWY1nqf0-DX50C5MZ.js} +2 -2
  17. package/dist/runtime/{1.32.18/chunks/index-COfQIa8G-D6wzHiS0.js → 1.33.0/chunks/index-BblCrrAW-bh6F7tw3.js} +2 -2
  18. package/dist/runtime/{1.32.18/chunks/index-BX6ig9BJ-Dsa9X9U7.js → 1.33.0/chunks/index-Bd_8PmPr-CgO1smBF.js} +2 -2
  19. package/dist/runtime/{1.32.18/chunks/index-D96sEJQ6-Dp5AxBD4.js → 1.33.0/chunks/index-BjHXOMPQ-Bt7j8evJ.js} +2 -2
  20. package/dist/runtime/{1.32.18/chunks/index-BKrM_uoq-CABL-0v-.js → 1.33.0/chunks/index-BwnCq3yC-LScXPMbE.js} +2 -2
  21. package/dist/runtime/{1.32.18/chunks/index-kAGaGinD-Dm9kbc85.js → 1.33.0/chunks/index-BzVJMW3i-Bhh8_8Oh.js} +2 -2
  22. package/dist/runtime/{1.32.18/chunks/index-B3DeMFo7-BbdAbuAw.js → 1.33.0/chunks/index-CDlumsdH-BgpZz7kC.js} +3 -3
  23. package/dist/runtime/{1.32.18/chunks/index-CYeJYTiB-BLxOZxZv.js → 1.33.0/chunks/index-CH-C6uk_-B-pT4hKt.js} +2 -2
  24. package/dist/runtime/{1.32.18/chunks/index-CV2tGt-4-C9wFr7fa.js → 1.33.0/chunks/index-CNP-4dFm-BlRhWcs1.js} +2 -2
  25. package/dist/runtime/{1.32.18/chunks/index-E59S8-Gw-CovGUxIZ.js → 1.33.0/chunks/index-CNbQ508J-BPOHZMXu.js} +4 -4
  26. package/dist/runtime/{1.32.18/chunks/index-BtkNePSj-CiRb-0NX.js → 1.33.0/chunks/index-CPGSyaZ4-BoVmvEOm.js} +2 -2
  27. package/dist/runtime/{1.32.18/chunks/index-Dw7QeZq3-Dr1V6OGz.js → 1.33.0/chunks/index-CVtuVQCx-Dtq7n928.js} +2 -2
  28. package/dist/runtime/{1.32.18/chunks/index-CCEWGjHV-BTsOZg4v.js → 1.33.0/chunks/index-CYP-tLa5-DLVDVk-F.js} +4 -4
  29. package/dist/runtime/{1.32.18/chunks/index-COTfVuju-DQBGsPwB.js → 1.33.0/chunks/index-CZCcZigQ-qH_mrcVT.js} +2 -2
  30. package/dist/runtime/{1.32.18/chunks/index-Cd1-jHFp-Za3SKEQp.js → 1.33.0/chunks/index-CZSW9eXg-BwcGrX1b.js} +2 -2
  31. package/dist/runtime/{1.32.18/chunks/index-OcrS6o5Y-bdo5pwX-.js → 1.33.0/chunks/index-Cfy6Ocqe-CzwqZYRk.js} +2 -2
  32. package/dist/runtime/1.33.0/chunks/index-Ci7P37Ya-W5nof5Mx.js +6 -0
  33. package/dist/runtime/{1.32.18/chunks/index-l8Oxwea3-Aqz1AnQ5.js → 1.33.0/chunks/index-CmM1q2bg-D6H0juMn.js} +2 -2
  34. package/dist/runtime/{1.32.18/chunks/index-CSRoJRaW-CoI3p0S7.js → 1.33.0/chunks/index-CnknkPUN-Yl3jEGAx.js} +2 -2
  35. package/dist/runtime/{1.32.18/chunks/index-qN6oEHVu-C_0Ll4qr.js → 1.33.0/chunks/index-D9fi5TQ9-k8zxZkfU.js} +2 -2
  36. package/dist/runtime/1.33.0/chunks/index-DG6McKPZ-CqZ9_vG_.js +2 -0
  37. package/dist/runtime/{1.32.18/chunks/index-PxSB6BA6-DFxY6dqO.js → 1.33.0/chunks/index-DOJHU9qy-Bil-vDLm.js} +2 -2
  38. package/dist/runtime/{1.32.18/chunks/index-DiZcd1hz-H31PHMqm.js → 1.33.0/chunks/index-DTa1aDGz-Deg8QEW2.js} +2 -2
  39. package/dist/runtime/{1.32.18/chunks/index-DATkkw3P-VhJcCfAC.js → 1.33.0/chunks/index-DUV1wU5j-ErDxRmJu.js} +2 -2
  40. package/dist/runtime/{1.32.18/chunks/index-oxM4Cgtc-R_xuAEQV.js → 1.33.0/chunks/index-DZNxd978-BmIQ-NmU.js} +2 -2
  41. package/dist/runtime/{1.32.18/chunks/index-BZO9Qaiw-DP0QKkgf.js → 1.33.0/chunks/index-DsyaMk1k-DpMzyqHN.js} +2 -2
  42. package/dist/runtime/{1.32.18/chunks/index-DuPFNKhZ-_M0CWPEY.js → 1.33.0/chunks/index-HIu_g6Cr-CEIHlemy.js} +2 -2
  43. package/dist/runtime/{1.32.18/chunks/index-cCAzBYyN-W1lJrIDD.js → 1.33.0/chunks/index-NPLN6oCC-VW9D8cgC.js} +2 -2
  44. package/dist/runtime/{1.32.18/chunks/index-C5RVj6y1-DUgMllqN.js → 1.33.0/chunks/index-S2W2KqpV-PMvqlUvO.js} +2 -2
  45. package/dist/runtime/{1.32.18/chunks/index-D1YmJ3gf-3B-eE3K7.js → 1.33.0/chunks/index-SV2KdT0_-BZw4n83V.js} +2 -2
  46. package/dist/runtime/{1.32.18/chunks/index-Bf_npmqm-C1BzRUwZ.js → 1.33.0/chunks/index-qzvjftnO-CDVtcfdt.js} +2 -2
  47. package/dist/runtime/{1.32.18/chunks/index-DaW9uf4--pkywvGDF.js → 1.33.0/chunks/index-s0zHGN1t-DWm0RYZF.js} +2 -2
  48. package/dist/runtime/{1.32.18/chunks/index-C1Fa-E3e-ZRnEJoQe.js → 1.33.0/chunks/index-uYSCRIpT-qsVnaLmo.js} +2 -2
  49. package/dist/runtime/{1.32.18/chunks/index-BauMKr5c-BpgnWlB8.js → 1.33.0/chunks/index-v9CNsbwM-CavFmRiD.js} +2 -2
  50. package/dist/runtime/{1.32.18/chunks/index-CZ-JrY2X-TEMHje2B.js → 1.33.0/chunks/index-xQDKGkvA-pCzSL4DD.js} +2 -2
  51. package/dist/runtime/{1.32.18/chunks/index.modern-CioVZ357-BA5NTOmY.js → 1.33.0/chunks/index.modern-CioVZ357-nfRNslCS.js} +2 -2
  52. package/dist/runtime/1.33.0/nexly.js +61 -0
  53. package/dist/v1.js +1 -1
  54. package/package.json +1 -1
  55. package/dist/runtime/1.32.18/chunks/index-rblri-2U-I68tb-d3.js +0 -2
  56. package/dist/runtime/1.32.18/chunks/index-xx1GG5d1-CW29F9vY.js +0 -6
  57. package/dist/runtime/1.32.18/nexly.js +0 -61
  58. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/PanelVideoOverlay-BY__oBYV-B8OPC1xh.js +0 -0
  59. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/_commonjsHelpers-C6fGbg64-BC8KDfbh.js +0 -0
  60. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/accent-legibility-BJF2VO5n-CDPQ7suO.js +0 -0
  61. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/block-helpers-Cg_zAqG6-DnN2COvk.js +0 -0
  62. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/index-BPDIV1BN-DINkyYvc.js +0 -0
  63. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/index-BcsmWDTX-Dw9WA5Ac.js +0 -0
  64. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/index-C262wwK4-DpyhuXqd.js +0 -0
  65. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/index-DMQkz1bV-BuMYksln.js +0 -0
  66. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/index-DZADUAKv-DPfvWVuj.js +0 -0
  67. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/inert-assistant-components-B6Cx9pG5-DWb6n3Yq.js +0 -0
  68. /package/dist/runtime/{1.32.18 → 1.33.0}/chunks/use-deferred-rating-XlgCUwcY-DDVOwURi.js +0 -0
@@ -1,6 +1,6 @@
1
- import{r as s,M as w,c as q}from"../nexly.js";import{e as Se}from"./_commonjsHelpers-C6fGbg64-BC8KDfbh.js";function Ae(e,t,n){if(!e)return n;const r=e.ownerDocument?.defaultView;return!r||typeof r.getComputedStyle!="function"?n:r.getComputedStyle(e).getPropertyValue(t).trim()||n}function gn(e,t,n){const[r,o]=s.useState(n);return s.useEffect(()=>{const a=e.current;if(!a)return;const i=()=>o(u=>{const l=Ae(a,t,n);return l===u?u:l});i();const c=a.ownerDocument?.defaultView;if(!c||typeof c.MutationObserver!="function")return;const f=new c.MutationObserver(i);for(let u=a;u;u=u.parentElement)f.observe(u,{attributes:!0,attributeFilter:["class","style","data-theme"]});return()=>f.disconnect()},[e,t,n]),r}const fn="#ffffff";var le,ce;function De(){return ce||(ce=1,le=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[o]))return!1;for(o=r;o--!==0;){var i=a[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}),le}var Le=De();const B=Se(Le),Ie=w.useInsertionEffect||w.useLayoutEffect,Ne="1.8.2";function N(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function ue(e,t,n,r){function o(a){return a instanceof n?a:new n(function(i){i(a)})}return new(n||(n=Promise))(function(a,i){function c(l){try{u(r.next(l))}catch(v){i(v)}}function f(l){try{u(r.throw(l))}catch(v){i(v)}}function u(l){l.done?a(l.value):o(l.value).then(c,f)}u((r=r.apply(e,[])).next())})}function xe(e,t){e.src=t}const Te=e=>{var t,n,r,o="The Google Maps JavaScript API",a="google",i="importLibrary",c="__ib__",f=document,u=window,l=u[a]||(u[a]={}),v=l.maps||(l.maps={}),m=new Set,p=new URLSearchParams,g=()=>t||(t=new Promise(async(E,d)=>{await(n=f.createElement("script")),p.set("libraries",[...m]+"");for(r in e)p.set(r.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[r]);p.set("callback",a+".maps."+c),xe(n,"https://maps.googleapis.com/maps/api/js?"+p),v[c]=E,n.onerror=()=>t=d(Error(o+" could not load.")),n.nonce=f.querySelector("script[nonce]")?.nonce||"",f.head.append(n)}));v[i]?console.warn(o+" only loads once. Ignoring:",e):v[i]=(E,...d)=>m.add(E)&&g().then(()=>v[i](E,...d))},je=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,Re=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,_e=()=>{},Fe=()=>{},He=!1;let de=!1;function ze(e){if(de){_e(je(e));return}Be(e),de=!0}async function Je(e){if(!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function Be(e){const t=!!window.google?.maps?.importLibrary;t&&Fe(Re(e)),t||Te(e)}const x={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED",FAILED:"FAILED",AUTH_FAILURE:"AUTH_FAILURE"},Ue="GMP_visgl_rgmlibrary_v1_default",Ge=[`gmp_visgl_reactgooglemaps_v${Ne}`],H=w.createContext(null);let T=x.NOT_LOADED,$;const K=new Set;function V(e){e!==T&&(T=e,K.forEach(t=>t(T)))}function Ze(){const[e,t]=s.useState({});return{mapInstances:e,addMapInstance:(n,r="default")=>{t(o=>Object.assign(Object.assign({},o),{[r]:n}))},removeMapInstance:(n="default")=>{t(r=>{var o=n;r[o];var a=N(r,[typeof o=="symbol"?o:o+""]);return a})},clearMapInstances:()=>{t({})}}}function $e(){const[e,t]=s.useState({});return{map3dInstances:e,addMap3DInstance:(n,r="default")=>{t(o=>Object.assign(Object.assign({},o),{[r]:n}))},removeMap3DInstance:(n="default")=>{t(r=>{var o=n;r[o];var a=N(r,[typeof o=="symbol"?o:o+""]);return a})},clearMap3DInstances:()=>{t({})}}}function Ve(e){const{onLoad:t,onError:n,apiKey:r,version:o,libraries:a=[],region:i,language:c,authReferrerPolicy:f,channel:u,solutionChannel:l,fetchAppCheckToken:v}=e,[m,p]=s.useState(T),[g,E]=s.useReducer((y,C)=>y[C.name]?y:Object.assign(Object.assign({},y),{[C.name]:C.value}),{}),d=s.useMemo(()=>{const y={apiKey:r,version:o,libraries:a.join(","),region:i,language:c,authReferrerPolicy:f,channel:u,solutionChannel:l};return JSON.stringify(y)},[r,o,a,i,c,f,u,l]),h=s.useCallback(y=>ue(this,void 0,void 0,function*(){if(g[y])return g[y];const C=yield Je(y);return E({name:y,value:C}),C}),[g]);return s.useEffect(()=>(K.add(p),p(T),()=>{K.delete(p)}),[]),s.useEffect(()=>{ue(this,void 0,void 0,function*(){var y,C;try{$&&$!==d&&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.");const P=["core","maps",...a];if(!((C=(y=window.google)===null||y===void 0?void 0:y.maps)===null||C===void 0)&&C.importLibrary){$||V(x.LOADED),yield Promise.all(P.map(b=>h(b))),t&&t();return}if(T===x.LOADING||T===x.LOADED){T===x.LOADED&&t&&t();return}$=d,V(x.LOADING);const O=Object.fromEntries(Object.entries({key:r,v:o,libraries:a,region:i,language:c,authReferrerPolicy:f}).filter(([,b])=>b!==void 0));u!==void 0&&u>=0&&u<=999&&(O.channel=String(u)),l===void 0?O.solutionChannel=Ue:l!==""&&(O.solutionChannel=l),ze(O),yield Promise.all(P.map(b=>h(b))),V(x.LOADED),t&&t()}catch(P){V(x.FAILED),n?n(P):console.error("The Google Maps JavaScript API failed to load.",P)}})},[d,t,n,h,a]),s.useEffect(()=>{if(m!==x.LOADED)return;const y=google.maps.Settings.getInstance();v?y.fetchAppCheckToken=v:y.fetchAppCheckToken&&(y.fetchAppCheckToken=null)},[m,v]),{status:m,loadedLibraries:g,importLibrary:h}}function We(e){return s.useMemo(()=>e.disableUsageAttribution?null:Ge,[e.disableUsageAttribution])}const pn=e=>{const{children:t}=e,n=N(e,["children"]),{mapInstances:r,addMapInstance:o,removeMapInstance:a,clearMapInstances:i}=Ze(),{map3dInstances:c,addMap3DInstance:f,removeMap3DInstance:u,clearMap3DInstances:l}=$e(),{status:v,loadedLibraries:m,importLibrary:p}=Ve(n),g=We(n),E=s.useMemo(()=>({mapInstances:r,addMapInstance:o,removeMapInstance:a,clearMapInstances:i,map3dInstances:c,addMap3DInstance:f,removeMap3DInstance:u,clearMap3DInstances:l,status:v,loadedLibraries:m,importLibrary:p,internalUsageAttributionIds:g}),[r,o,a,i,c,f,u,l,v,m,p,g]);return w.createElement(H.Provider,{value:E},t)};function Xe(e,t){for(const n of Qe){const r=t[n],o=ve[n];s.useEffect(()=>{if(!e||!r)return;const a=google.maps.event.addListener(e,o,i=>{r(qe(o,e,i))});return()=>a.remove()},[e,o,r])}}function qe(e,t,n){var r;const o={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(Ke.includes(e)){const a=o,i=t.getCenter(),c=t.getZoom(),f=t.getHeading()||0,u=t.getTilt()||0,l=t.getBounds();return(!i||!l||!Number.isFinite(c))&&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"),a.detail={center:i?.toJSON()||{lat:0,lng:0},zoom:c||0,heading:f,tilt:u,bounds:l?.toJSON()||{north:90,east:180,south:-90,west:-180}},a}else if(Ye.includes(e)){if(!n)throw new Error("[createEvent] mouse events must provide a srcEvent");const a=o;return a.domEvent=n.domEvent,a.stoppable=!0,a.stop=()=>n.stop(),a.detail={latLng:((r=n.latLng)===null||r===void 0?void 0:r.toJSON())||null,placeId:n.placeId},a}return o}const ve={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:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},Ke=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],Ye=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],Qe=Object.keys(ve);function U(e,t){const n=s.useRef(e);return t(e,n.current)||(n.current=e),n.current}function et(e,t,n){s.useEffect(e,[U(t,n)])}function ye(e,t){et(e,t,B)}const tt=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 nt(e,t){const n={},r=Object.keys(t);for(const o of r)tt.has(o)&&(n[o]=t[o]);ye(()=>{e&&e.setOptions(n)},[n])}function be(){var e;return((e=s.useContext(H))===null||e===void 0?void 0:e.status)||x.NOT_LOADED}function rt(e,t){const{viewport:n,viewState:r}=t,o=!!n;return s.useLayoutEffect(()=>{if(!e||!r)return;const{latitude:a,longitude:i,bearing:c,pitch:f,zoom:u}=r;e.moveCamera({center:{lat:a,lng:i},heading:c,tilt:f,zoom:u+1})},[e,r]),o}function ot(e){return!e||typeof e!="object"||!("lat"in e&&"lng"in e)?!1:Number.isFinite(e.lat)&&Number.isFinite(e.lng)}function Ee(e,t){if(!e||!t)return!1;const n=X(e),r=X(t);return!(n.lat!==r.lat||n.lng!==r.lng)}function X(e){return ot(e)?e:e.toJSON()}function ge(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;const t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function at(e,t){if(!e||!t)return!1;const n=ge(e),r=ge(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}function Ce(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Ee(e[r],n[r]))return!1;return!0}function st(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray().map(r=>r.getArray()):t;if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Ce(e[r],n[r]))return!1;return!0}function it(e,t,n){const r=n.center?X(n.center):null;let o=null,a=null;r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)&&(o=r.lat,a=r.lng);const i=Number.isFinite(n.zoom)?n.zoom:null,c=Number.isFinite(n.heading)?n.heading:null,f=Number.isFinite(n.tilt)?n.tilt:null;s.useLayoutEffect(()=>{if(!e)return;const u={};let l=!1;o!==null&&a!==null&&(t.current.center.lat!==o||t.current.center.lng!==a)&&(u.center={lat:o,lng:a},l=!0),i!==null&&t.current.zoom!==i&&(u.zoom=i,l=!0),c!==null&&t.current.heading!==c&&(u.heading=c,l=!0),f!==null&&t.current.tilt!==f&&(u.tilt=f,l=!0),l&&e.moveCamera(u)})}const lt=()=>{const e={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"};return w.createElement("div",{style:e},w.createElement("h2",null,"Error: AuthFailure"),w.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",w.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."))};function Y(){const[e,t]=s.useState(null),n=s.useCallback(r=>t(r),[t]);return[e,n]}function Oe(){return be()===x.LOADED}function Me(){const[,e]=s.useReducer(t=>t+1,0);return e}function ct(e,t){const n=e.getCenter(),r=e.getZoom(),o=e.getHeading()||0,a=e.getTilt()||0,i=e.getBounds();(!n||!i||!Number.isFinite(r))&&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"),Object.assign(t.current,{center:n?.toJSON()||{lat:0,lng:0},zoom:r||0,heading:o,tilt:a})}function ut(e){const t=Me(),n=s.useRef({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return s.useEffect(()=>{if(!e)return;const r=google.maps.event.addListener(e,"bounds_changed",()=>{ct(e,n),t()});return()=>r.remove()},[e,t]),n}class W{static has(t){return this.entries[t]&&this.entries[t].length>0}static pop(t){return this.entries[t]&&this.entries[t].pop()||null}static push(t,n){this.entries[t]||(this.entries[t]=[]),this.entries[t].push(n)}}W.entries={};function dt(e,t){const n=Oe(),[r,o]=s.useState(null),[a,i]=Y(),c=ut(r),{id:f,defaultBounds:u,defaultCenter:l,defaultZoom:v,defaultHeading:m,defaultTilt:p,reuseMaps:g,renderingType:E,colorScheme:d}=e,h=N(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),y=e.zoom!==void 0||e.defaultZoom!==void 0,C=e.center!==void 0||e.defaultCenter!==void 0;!u&&(!y||!C)&&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"),!h.center&&l&&(h.center=l),!h.zoom&&Number.isFinite(v)&&(h.zoom=v),!h.heading&&Number.isFinite(m)&&(h.heading=m),!h.tilt&&Number.isFinite(p)&&(h.tilt=p);const P=h.internalUsageAttributionIds;P==null?h.internalUsageAttributionIds=t.internalUsageAttributionIds:h.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...P];for(const b of Object.keys(h))h[b]===void 0&&delete h[b];const O=s.useRef(void 0);return s.useEffect(()=>{if(!a||!n)return;const{addMapInstance:b,removeMapInstance:M}=t,{mapId:S}=e,D=`${S||"default"}:${E||"default"}:${d||"LIGHT"}`;let A,I;if(g&&W.has(D)?(I=W.pop(D),A=I.getDiv(),a.appendChild(A),I.setOptions(h),setTimeout(()=>I.moveCamera({}),0)):(A=document.createElement("div"),A.style.height="100%",a.appendChild(A),I=new google.maps.Map(A,Object.assign(Object.assign(Object.assign({},h),E?{renderingType:E}:{}),d?{colorScheme:d}:{}))),o(I),b(I,f),u){const{padding:G}=u,Z=N(u,["padding"]);I.fitBounds(Z,G)}else(!y||!C)&&I.fitBounds({east:180,west:-180,south:-90,north:90});if(O.current){const{mapId:G,cameraState:Z}=O.current;G!==S&&I.moveCamera(Z)}return()=>{O.current={mapId:S,cameraState:c.current},A.remove(),g?W.push(D,I):google.maps.event.clearInstanceListeners(I),o(null),M(f)}},[a,n,f,e.mapId,e.renderingType,e.colorScheme]),[r,i,c]}const we=w.createContext(null),gt=e=>{const{children:t,id:n,className:r,style:o}=e,a=s.useContext(H),i=be();if(!a)throw new Error("<Map> can only be used inside an <ApiProvider> component.");const[c,f,u]=dt(e,a);it(c,u,e),Xe(c,e),nt(c,e);const l=rt(c,e),v=!!e.controlled;s.useEffect(()=>{if(c)return l&&c.setOptions({disableDefaultUI:!0}),(l||v)&&c.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{c.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[c,l,v,e.gestureHandling,e.keyboardShortcuts]);const m=e.center?X(e.center):null;let p=null,g=null;m&&Number.isFinite(m.lat)&&Number.isFinite(m.lng)&&(p=m.lat,g=m.lng);const E=s.useMemo(()=>{var y,C,P;return{center:{lat:p??0,lng:g??0},zoom:(y=e.zoom)!==null&&y!==void 0?y:0,heading:(C=e.heading)!==null&&C!==void 0?C:0,tilt:(P=e.tilt)!==null&&P!==void 0?P:0}},[p,g,e.zoom,e.heading,e.tilt]);s.useLayoutEffect(()=>{if(!c||!v)return;c.moveCamera(E);const y=c.addListener("bounds_changed",()=>{c.moveCamera(E)});return()=>y.remove()},[c,v,E]);const d=s.useMemo(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:l?-1:0},o),[o,l]),h=s.useMemo(()=>({map:c}),[c]);return i===x.AUTH_FAILURE?w.createElement("div",{style:Object.assign({position:"relative"},r?{}:d),className:r},w.createElement(lt,null)):w.createElement("div",Object.assign({ref:f,"data-testid":"map",style:r?void 0:d,className:r},n?{id:n}:{}),c?w.createElement(we.Provider,{value:h},t):null)};gt.deckGLViewProps=!0;const fe=new Set;function J(...e){const t=JSON.stringify(e);fe.has(t)||(fe.add(t),console.error(...e))}const z=(e=null)=>{const t=s.useContext(H),{map:n}=s.useContext(we)||{};if(t===null)return J("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;const{mapInstances:r}=t;return e!==null?r[e]||null:n||r.default||null};function R(e){const t=Oe(),n=s.useContext(H);return s.useEffect(()=>{!t||!n||n.importLibrary(e)},[t,n,e]),n?.loadedLibraries[e]||null}const ft=Ie??s.useLayoutEffect;function pt(){throw new Error("useEffectEvent: invalid call during rendering.")}function mt(e){const t=s.useRef(pt);return ft(()=>{t.current=e},[e]),((...n)=>t.current(...n))}const Pe=mt,ht=()=>{};function k(e,t,n){const r=Pe(n??ht),o=!!n;s.useEffect(()=>{if(!e||!t||!o)return;const a=google.maps.event.addListener(e,t,r);return()=>a.remove()},[e,t,o])}function L(e,t,n){s.useEffect(()=>{e&&(e[t]=n)},[e,t,n])}const vt=()=>{};function Q(e,t,n){const r=Pe(n??vt),o=!!n;s.useEffect(()=>{if(!e||!t||!o)return;const a=r;return e.addEventListener(t,a),()=>e.removeEventListener(t,a)},[e,t,o])}class yt{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;const t=this.getStyleElement();t.textContent+=`
1
+ import{r as s,M as w,a as q}from"../nexly.js";import{e as Se}from"./_commonjsHelpers-C6fGbg64-BC8KDfbh.js";function Ae(e,t,n){if(!e)return n;const r=e.ownerDocument?.defaultView;return!r||typeof r.getComputedStyle!="function"?n:r.getComputedStyle(e).getPropertyValue(t).trim()||n}function gn(e,t,n){const[r,o]=s.useState(n);return s.useEffect(()=>{const a=e.current;if(!a)return;const i=()=>o(u=>{const l=Ae(a,t,n);return l===u?u:l});i();const c=a.ownerDocument?.defaultView;if(!c||typeof c.MutationObserver!="function")return;const f=new c.MutationObserver(i);for(let u=a;u;u=u.parentElement)f.observe(u,{attributes:!0,attributeFilter:["class","style","data-theme"]});return()=>f.disconnect()},[e,t,n]),r}const fn="#ffffff";var le,ce;function De(){return ce||(ce=1,le=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[o]))return!1;for(o=r;o--!==0;){var i=a[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n}),le}var Le=De();const B=Se(Le),Ie=w.useInsertionEffect||w.useLayoutEffect,Ne="1.8.2";function N(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function ue(e,t,n,r){function o(a){return a instanceof n?a:new n(function(i){i(a)})}return new(n||(n=Promise))(function(a,i){function c(l){try{u(r.next(l))}catch(v){i(v)}}function f(l){try{u(r.throw(l))}catch(v){i(v)}}function u(l){l.done?a(l.value):o(l.value).then(c,f)}u((r=r.apply(e,[])).next())})}function xe(e,t){e.src=t}const Te=e=>{var t,n,r,o="The Google Maps JavaScript API",a="google",i="importLibrary",c="__ib__",f=document,u=window,l=u[a]||(u[a]={}),v=l.maps||(l.maps={}),m=new Set,p=new URLSearchParams,g=()=>t||(t=new Promise(async(E,d)=>{await(n=f.createElement("script")),p.set("libraries",[...m]+"");for(r in e)p.set(r.replace(/[A-Z]/g,h=>"_"+h[0].toLowerCase()),e[r]);p.set("callback",a+".maps."+c),xe(n,"https://maps.googleapis.com/maps/api/js?"+p),v[c]=E,n.onerror=()=>t=d(Error(o+" could not load.")),n.nonce=f.querySelector("script[nonce]")?.nonce||"",f.head.append(n)}));v[i]?console.warn(o+" only loads once. Ignoring:",e):v[i]=(E,...d)=>m.add(E)&&g().then(()=>v[i](E,...d))},je=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,Re=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,_e=()=>{},Fe=()=>{},He=!1;let de=!1;function ze(e){if(de){_e(je(e));return}Be(e),de=!0}async function Je(e){if(!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function Be(e){const t=!!window.google?.maps?.importLibrary;t&&Fe(Re(e)),t||Te(e)}const x={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED",FAILED:"FAILED",AUTH_FAILURE:"AUTH_FAILURE"},Ue="GMP_visgl_rgmlibrary_v1_default",Ge=[`gmp_visgl_reactgooglemaps_v${Ne}`],H=w.createContext(null);let T=x.NOT_LOADED,$;const K=new Set;function V(e){e!==T&&(T=e,K.forEach(t=>t(T)))}function Ze(){const[e,t]=s.useState({});return{mapInstances:e,addMapInstance:(n,r="default")=>{t(o=>Object.assign(Object.assign({},o),{[r]:n}))},removeMapInstance:(n="default")=>{t(r=>{var o=n;r[o];var a=N(r,[typeof o=="symbol"?o:o+""]);return a})},clearMapInstances:()=>{t({})}}}function $e(){const[e,t]=s.useState({});return{map3dInstances:e,addMap3DInstance:(n,r="default")=>{t(o=>Object.assign(Object.assign({},o),{[r]:n}))},removeMap3DInstance:(n="default")=>{t(r=>{var o=n;r[o];var a=N(r,[typeof o=="symbol"?o:o+""]);return a})},clearMap3DInstances:()=>{t({})}}}function Ve(e){const{onLoad:t,onError:n,apiKey:r,version:o,libraries:a=[],region:i,language:c,authReferrerPolicy:f,channel:u,solutionChannel:l,fetchAppCheckToken:v}=e,[m,p]=s.useState(T),[g,E]=s.useReducer((y,C)=>y[C.name]?y:Object.assign(Object.assign({},y),{[C.name]:C.value}),{}),d=s.useMemo(()=>{const y={apiKey:r,version:o,libraries:a.join(","),region:i,language:c,authReferrerPolicy:f,channel:u,solutionChannel:l};return JSON.stringify(y)},[r,o,a,i,c,f,u,l]),h=s.useCallback(y=>ue(this,void 0,void 0,function*(){if(g[y])return g[y];const C=yield Je(y);return E({name:y,value:C}),C}),[g]);return s.useEffect(()=>(K.add(p),p(T),()=>{K.delete(p)}),[]),s.useEffect(()=>{ue(this,void 0,void 0,function*(){var y,C;try{$&&$!==d&&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.");const P=["core","maps",...a];if(!((C=(y=window.google)===null||y===void 0?void 0:y.maps)===null||C===void 0)&&C.importLibrary){$||V(x.LOADED),yield Promise.all(P.map(b=>h(b))),t&&t();return}if(T===x.LOADING||T===x.LOADED){T===x.LOADED&&t&&t();return}$=d,V(x.LOADING);const O=Object.fromEntries(Object.entries({key:r,v:o,libraries:a,region:i,language:c,authReferrerPolicy:f}).filter(([,b])=>b!==void 0));u!==void 0&&u>=0&&u<=999&&(O.channel=String(u)),l===void 0?O.solutionChannel=Ue:l!==""&&(O.solutionChannel=l),ze(O),yield Promise.all(P.map(b=>h(b))),V(x.LOADED),t&&t()}catch(P){V(x.FAILED),n?n(P):console.error("The Google Maps JavaScript API failed to load.",P)}})},[d,t,n,h,a]),s.useEffect(()=>{if(m!==x.LOADED)return;const y=google.maps.Settings.getInstance();v?y.fetchAppCheckToken=v:y.fetchAppCheckToken&&(y.fetchAppCheckToken=null)},[m,v]),{status:m,loadedLibraries:g,importLibrary:h}}function We(e){return s.useMemo(()=>e.disableUsageAttribution?null:Ge,[e.disableUsageAttribution])}const pn=e=>{const{children:t}=e,n=N(e,["children"]),{mapInstances:r,addMapInstance:o,removeMapInstance:a,clearMapInstances:i}=Ze(),{map3dInstances:c,addMap3DInstance:f,removeMap3DInstance:u,clearMap3DInstances:l}=$e(),{status:v,loadedLibraries:m,importLibrary:p}=Ve(n),g=We(n),E=s.useMemo(()=>({mapInstances:r,addMapInstance:o,removeMapInstance:a,clearMapInstances:i,map3dInstances:c,addMap3DInstance:f,removeMap3DInstance:u,clearMap3DInstances:l,status:v,loadedLibraries:m,importLibrary:p,internalUsageAttributionIds:g}),[r,o,a,i,c,f,u,l,v,m,p,g]);return w.createElement(H.Provider,{value:E},t)};function Xe(e,t){for(const n of Qe){const r=t[n],o=ve[n];s.useEffect(()=>{if(!e||!r)return;const a=google.maps.event.addListener(e,o,i=>{r(qe(o,e,i))});return()=>a.remove()},[e,o,r])}}function qe(e,t,n){var r;const o={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(Ke.includes(e)){const a=o,i=t.getCenter(),c=t.getZoom(),f=t.getHeading()||0,u=t.getTilt()||0,l=t.getBounds();return(!i||!l||!Number.isFinite(c))&&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"),a.detail={center:i?.toJSON()||{lat:0,lng:0},zoom:c||0,heading:f,tilt:u,bounds:l?.toJSON()||{north:90,east:180,south:-90,west:-180}},a}else if(Ye.includes(e)){if(!n)throw new Error("[createEvent] mouse events must provide a srcEvent");const a=o;return a.domEvent=n.domEvent,a.stoppable=!0,a.stop=()=>n.stop(),a.detail={latLng:((r=n.latLng)===null||r===void 0?void 0:r.toJSON())||null,placeId:n.placeId},a}return o}const ve={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:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},Ke=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],Ye=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],Qe=Object.keys(ve);function U(e,t){const n=s.useRef(e);return t(e,n.current)||(n.current=e),n.current}function et(e,t,n){s.useEffect(e,[U(t,n)])}function ye(e,t){et(e,t,B)}const tt=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 nt(e,t){const n={},r=Object.keys(t);for(const o of r)tt.has(o)&&(n[o]=t[o]);ye(()=>{e&&e.setOptions(n)},[n])}function be(){var e;return((e=s.useContext(H))===null||e===void 0?void 0:e.status)||x.NOT_LOADED}function rt(e,t){const{viewport:n,viewState:r}=t,o=!!n;return s.useLayoutEffect(()=>{if(!e||!r)return;const{latitude:a,longitude:i,bearing:c,pitch:f,zoom:u}=r;e.moveCamera({center:{lat:a,lng:i},heading:c,tilt:f,zoom:u+1})},[e,r]),o}function ot(e){return!e||typeof e!="object"||!("lat"in e&&"lng"in e)?!1:Number.isFinite(e.lat)&&Number.isFinite(e.lng)}function Ee(e,t){if(!e||!t)return!1;const n=X(e),r=X(t);return!(n.lat!==r.lat||n.lng!==r.lng)}function X(e){return ot(e)?e:e.toJSON()}function ge(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;const t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function at(e,t){if(!e||!t)return!1;const n=ge(e),r=ge(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}function Ce(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Ee(e[r],n[r]))return!1;return!0}function st(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray().map(r=>r.getArray()):t;if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(!Ce(e[r],n[r]))return!1;return!0}function it(e,t,n){const r=n.center?X(n.center):null;let o=null,a=null;r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)&&(o=r.lat,a=r.lng);const i=Number.isFinite(n.zoom)?n.zoom:null,c=Number.isFinite(n.heading)?n.heading:null,f=Number.isFinite(n.tilt)?n.tilt:null;s.useLayoutEffect(()=>{if(!e)return;const u={};let l=!1;o!==null&&a!==null&&(t.current.center.lat!==o||t.current.center.lng!==a)&&(u.center={lat:o,lng:a},l=!0),i!==null&&t.current.zoom!==i&&(u.zoom=i,l=!0),c!==null&&t.current.heading!==c&&(u.heading=c,l=!0),f!==null&&t.current.tilt!==f&&(u.tilt=f,l=!0),l&&e.moveCamera(u)})}const lt=()=>{const e={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"};return w.createElement("div",{style:e},w.createElement("h2",null,"Error: AuthFailure"),w.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",w.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."))};function Y(){const[e,t]=s.useState(null),n=s.useCallback(r=>t(r),[t]);return[e,n]}function Oe(){return be()===x.LOADED}function Me(){const[,e]=s.useReducer(t=>t+1,0);return e}function ct(e,t){const n=e.getCenter(),r=e.getZoom(),o=e.getHeading()||0,a=e.getTilt()||0,i=e.getBounds();(!n||!i||!Number.isFinite(r))&&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"),Object.assign(t.current,{center:n?.toJSON()||{lat:0,lng:0},zoom:r||0,heading:o,tilt:a})}function ut(e){const t=Me(),n=s.useRef({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return s.useEffect(()=>{if(!e)return;const r=google.maps.event.addListener(e,"bounds_changed",()=>{ct(e,n),t()});return()=>r.remove()},[e,t]),n}class W{static has(t){return this.entries[t]&&this.entries[t].length>0}static pop(t){return this.entries[t]&&this.entries[t].pop()||null}static push(t,n){this.entries[t]||(this.entries[t]=[]),this.entries[t].push(n)}}W.entries={};function dt(e,t){const n=Oe(),[r,o]=s.useState(null),[a,i]=Y(),c=ut(r),{id:f,defaultBounds:u,defaultCenter:l,defaultZoom:v,defaultHeading:m,defaultTilt:p,reuseMaps:g,renderingType:E,colorScheme:d}=e,h=N(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),y=e.zoom!==void 0||e.defaultZoom!==void 0,C=e.center!==void 0||e.defaultCenter!==void 0;!u&&(!y||!C)&&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"),!h.center&&l&&(h.center=l),!h.zoom&&Number.isFinite(v)&&(h.zoom=v),!h.heading&&Number.isFinite(m)&&(h.heading=m),!h.tilt&&Number.isFinite(p)&&(h.tilt=p);const P=h.internalUsageAttributionIds;P==null?h.internalUsageAttributionIds=t.internalUsageAttributionIds:h.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...P];for(const b of Object.keys(h))h[b]===void 0&&delete h[b];const O=s.useRef(void 0);return s.useEffect(()=>{if(!a||!n)return;const{addMapInstance:b,removeMapInstance:M}=t,{mapId:S}=e,D=`${S||"default"}:${E||"default"}:${d||"LIGHT"}`;let A,I;if(g&&W.has(D)?(I=W.pop(D),A=I.getDiv(),a.appendChild(A),I.setOptions(h),setTimeout(()=>I.moveCamera({}),0)):(A=document.createElement("div"),A.style.height="100%",a.appendChild(A),I=new google.maps.Map(A,Object.assign(Object.assign(Object.assign({},h),E?{renderingType:E}:{}),d?{colorScheme:d}:{}))),o(I),b(I,f),u){const{padding:G}=u,Z=N(u,["padding"]);I.fitBounds(Z,G)}else(!y||!C)&&I.fitBounds({east:180,west:-180,south:-90,north:90});if(O.current){const{mapId:G,cameraState:Z}=O.current;G!==S&&I.moveCamera(Z)}return()=>{O.current={mapId:S,cameraState:c.current},A.remove(),g?W.push(D,I):google.maps.event.clearInstanceListeners(I),o(null),M(f)}},[a,n,f,e.mapId,e.renderingType,e.colorScheme]),[r,i,c]}const we=w.createContext(null),gt=e=>{const{children:t,id:n,className:r,style:o}=e,a=s.useContext(H),i=be();if(!a)throw new Error("<Map> can only be used inside an <ApiProvider> component.");const[c,f,u]=dt(e,a);it(c,u,e),Xe(c,e),nt(c,e);const l=rt(c,e),v=!!e.controlled;s.useEffect(()=>{if(c)return l&&c.setOptions({disableDefaultUI:!0}),(l||v)&&c.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{c.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[c,l,v,e.gestureHandling,e.keyboardShortcuts]);const m=e.center?X(e.center):null;let p=null,g=null;m&&Number.isFinite(m.lat)&&Number.isFinite(m.lng)&&(p=m.lat,g=m.lng);const E=s.useMemo(()=>{var y,C,P;return{center:{lat:p??0,lng:g??0},zoom:(y=e.zoom)!==null&&y!==void 0?y:0,heading:(C=e.heading)!==null&&C!==void 0?C:0,tilt:(P=e.tilt)!==null&&P!==void 0?P:0}},[p,g,e.zoom,e.heading,e.tilt]);s.useLayoutEffect(()=>{if(!c||!v)return;c.moveCamera(E);const y=c.addListener("bounds_changed",()=>{c.moveCamera(E)});return()=>y.remove()},[c,v,E]);const d=s.useMemo(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:l?-1:0},o),[o,l]),h=s.useMemo(()=>({map:c}),[c]);return i===x.AUTH_FAILURE?w.createElement("div",{style:Object.assign({position:"relative"},r?{}:d),className:r},w.createElement(lt,null)):w.createElement("div",Object.assign({ref:f,"data-testid":"map",style:r?void 0:d,className:r},n?{id:n}:{}),c?w.createElement(we.Provider,{value:h},t):null)};gt.deckGLViewProps=!0;const fe=new Set;function J(...e){const t=JSON.stringify(e);fe.has(t)||(fe.add(t),console.error(...e))}const z=(e=null)=>{const t=s.useContext(H),{map:n}=s.useContext(we)||{};if(t===null)return J("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;const{mapInstances:r}=t;return e!==null?r[e]||null:n||r.default||null};function R(e){const t=Oe(),n=s.useContext(H);return s.useEffect(()=>{!t||!n||n.importLibrary(e)},[t,n,e]),n?.loadedLibraries[e]||null}const ft=Ie??s.useLayoutEffect;function pt(){throw new Error("useEffectEvent: invalid call during rendering.")}function mt(e){const t=s.useRef(pt);return ft(()=>{t.current=e},[e]),((...n)=>t.current(...n))}const Pe=mt,ht=()=>{};function k(e,t,n){const r=Pe(n??ht),o=!!n;s.useEffect(()=>{if(!e||!t||!o)return;const a=google.maps.event.addListener(e,t,r);return()=>a.remove()},[e,t,o])}function L(e,t,n){s.useEffect(()=>{e&&(e[t]=n)},[e,t,n])}const vt=()=>{};function Q(e,t,n){const r=Pe(n??vt),o=!!n;s.useEffect(()=>{if(!e||!t||!o)return;const a=r;return e.addEventListener(t,a),()=>e.removeEventListener(t,a)},[e,t,o])}class yt{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;const t=this.getStyleElement();t.textContent+=`
2
2
  gmp-advanced-marker[data-origin='rgm'] {
3
3
  pointer-events: none !important;
4
4
  }
5
5
  `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}}const bt=new yt;function Et(e,t){var n;if(!(!((n=google==null?void 0:google.maps)===null||n===void 0)&&n.version))return;const r=google.maps.version.split("."),o=parseInt(r[0],10),a=parseInt(r[1],10);return o>e||o===e&&a>=t}const te=w.createContext(null),Ct={BOTTOM:["50%","100%"]},Ot=s.forwardRef((e,t)=>{const{children:n,style:r,className:o,anchorPoint:a}=e,[i,c]=wt(e),f=s.useMemo(()=>i?{marker:i}:null,[i]);return s.useImperativeHandle(t,()=>i,[i]),c?w.createElement(te.Provider,{value:f},q.createPortal(w.createElement(Mt,{anchorPoint:a,styles:r,className:o},n),c)):null});Ot.displayName="AdvancedMarker";function ee(e){return e.nodeType===Node.ELEMENT_NODE}const Mt=({children:e,styles:t,className:n})=>w.createElement("div",{className:n,style:t},e);function wt(e){const[t,n]=s.useState(null),[r,o]=s.useState(null),a=z(),i=R("marker"),{children:c,onClick:f,className:u,onMouseEnter:l,onMouseLeave:v,onDrag:m,onDragStart:p,onDragEnd:g,collisionBehavior:E,clickable:d,draggable:h,position:y,title:C,zIndex:P,anchorPoint:O,anchorLeft:b,anchorTop:M}=e,S=s.Children.count(c);return s.useEffect(()=>{if(!a||!i)return;const D=new i.AdvancedMarkerElement;D.map=a,n(D);let A=null;return S>0&&(A=document.createElement("div"),D.content=A,o(A)),()=>{D.map=null,A?.remove(),n(null),o(null)}},[a,i,S]),s.useEffect(()=>{!t?.content||!ee(t.content)||S>0||(t.content.className=u??"")},[t,u,S]),Pt(t,O,b,M,S>0),L(t,"position",y),L(t,"title",C??""),L(t,"zIndex",P),L(t,"collisionBehavior",E),s.useEffect(()=>{t&&(h!==void 0?t.gmpDraggable=h:m||p||g?t.gmpDraggable=!0:t.gmpDraggable=!1)},[t,h,m,g,p]),s.useEffect(()=>{if(!t)return;const D=d!==void 0?d:!!f||!!l||!!v;t.gmpClickable=D,D&&t?.content&&ee(t.content)&&(t.content.style.pointerEvents="all",f&&(t.content.style.cursor="pointer"))},[t,d,f,l,v]),k(t,"click",f),k(t,"drag",m),k(t,"dragstart",p),k(t,"dragend",g),Q(t?.element,"mouseenter",l),Q(t?.element,"mouseleave",v),[t,r]}function Pt(e,t,n,r,o){s.useEffect(()=>{if(!e||!o)return;const a=Et(3,62),i=e.content;if(!(!i||!ee(i))){if(n!==void 0||r!==void 0){a||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}.`),e.anchorLeft=n,e.anchorTop=r,t!==void 0&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(t!==void 0){const[c,f]=t??Ct.BOTTOM,u=`calc(-1 * ${c})`,l=`calc(-1 * ${f})`;a?(e.anchorLeft=u,e.anchorTop=l,i.style.transform=""):(i.style.transform=`translate(50%, 100%) translate(${u}, ${l})`,e.dataset.origin="rgm",bt.addAdvancedMarkerPointerEventsOverwrite())}}},[e,t,n,r,o])}function kt(e){var t,n,r;const{onClick:o,onDrag:a,onDragStart:i,onDragEnd:c,onMouseOver:f,onMouseOut:u,onRadiusChanged:l,onCenterChanged:v,center:m,defaultCenter:p,radius:g,defaultRadius:E}=e,d=N(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[h,y]=s.useState(null),C=z(),P=U(Object.assign(Object.assign({},d),{clickable:(t=d.clickable)!==null&&t!==void 0?t:!!o,draggable:(n=d.draggable)!==null&&n!==void 0?n:!!(a||i||c||v),editable:(r=d.editable)!==null&&r!==void 0?r:!!l}),B);return s.useEffect(()=>{if(!C){C===void 0&&console.error("<Circle> has to be inside a Map component.");return}const O=new google.maps.Circle(Object.assign(Object.assign({},P),{center:m??p,radius:g??E}));return O.setMap(C),y(O),()=>{O.setMap(null),y(null)}},[C]),k(h,"click",o),k(h,"drag",a),k(h,"dragstart",i),k(h,"dragend",c),k(h,"mouseover",f),k(h,"mouseout",u),k(h,"radius_changed",l?()=>{const O=h?.getRadius();O!==void 0&&l(O)}:null),k(h,"center_changed",v?()=>{v(h?.getCenter())}:null),s.useEffect(()=>{h&&h.setOptions(P)},[h,P]),s.useEffect(()=>{!h||!m||Ee(m,h.getCenter())||h.setCenter(m)},[h,m]),s.useEffect(()=>{!h||g===void 0||g!==h.getRadius()&&h.setRadius(g)},[h,g]),h}const St=s.forwardRef((e,t)=>{const n=kt(e);return s.useImperativeHandle(t,()=>n,[n]),w.createElement(w.Fragment,null)});St.displayName="Circle";function At(e,t,n){if(t!=null&&typeof t!="object")throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");const r=e.style;if(n==null){if(t==null)return;for(const o in t)t.hasOwnProperty(o)&&pe(r,o,t[o]);return}for(const o in n)n.hasOwnProperty(o)&&(t==null||!t.hasOwnProperty(o))&&(o.indexOf("--")===0?r.setProperty(o,""):o==="float"?r.cssFloat="":r[o]="");if(t!=null)for(const o in t){const a=t[o];t.hasOwnProperty(o)&&n[o]!==a&&pe(r,o,a)}}function pe(e,t,n){const r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n=="number"&&n!==0&&!Lt(t)?e[t]=n+"px":t==="float"?e.cssFloat=n:e[t]=(""+n).trim()}const Dt=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 Lt(e){return Dt.has(e)}function me(e){const t=e.getPaths(),n=[];for(let r=0;r<t.getLength();r++)n.push(t.getAt(r).getArray());return n}function It(e){var t,n,r;const{onClick:o,onDrag:a,onDragStart:i,onDragEnd:c,onMouseOver:f,onMouseOut:u,onPathsChanged:l,polygon:v,encodedPaths:m,paths:p,defaultPaths:g}=e,E=N(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[d,h]=s.useState(null),y=z(),C=R("geometry"),P=s.useRef(!1),O=U(Object.assign(Object.assign({},E),{clickable:(t=E.clickable)!==null&&t!==void 0?t:!!o,draggable:(n=E.draggable)!==null&&n!==void 0?n:!!(a||i||c||l),editable:(r=E.editable)!==null&&r!==void 0?r:!!l}),B);return s.useEffect(()=>{if(!y){y===void 0&&console.error("<Polygon> has to be inside a Map component.");return}let b;if(v){b=v;const M=p??g;M&&Array.isArray(M)&&b.setPaths(M),b.setOptions(O)}else{const M=p??g,S=Object.assign({},O);M&&Array.isArray(M)&&(S.paths=M),b=new google.maps.Polygon(S)}return b.setMap(y),h(b),()=>{b.setMap(null),h(null)}},[y,v]),k(d,"click",o),k(d,"drag",a),k(d,"dragstart",i),k(d,"mouseover",f),k(d,"mouseout",u),k(d,"dragend",b=>{c?.(b),l&&d&&!P.current&&l(me(d))}),s.useEffect(()=>{if(!d||!l)return;const b=[],M=d.getPaths();if(typeof M.getLength!="function"||typeof M.getAt!="function")return;const S=()=>{P.current||l(me(d))},D=A=>{b.push(google.maps.event.addListener(A,"insert_at",S)),b.push(google.maps.event.addListener(A,"remove_at",S)),b.push(google.maps.event.addListener(A,"set_at",S))};for(let A=0;A<M.getLength();A++)D(M.getAt(A));return b.push(google.maps.event.addListener(M,"insert_at",A=>{D(M.getAt(A)),S()})),b.push(google.maps.event.addListener(M,"set_at",A=>{D(M.getAt(A)),S()})),b.push(google.maps.event.addListener(M,"remove_at",S)),()=>{b.forEach(A=>A.remove())}},[d,l,p,m,O.editable,O.draggable]),s.useEffect(()=>{d&&d.setOptions(O)},[d,O]),s.useEffect(()=>{if(!d||!p||!Array.isArray(p))return;const b=p[0],M=Array.isArray(b)?p:[p],S=d.getPaths();st(M,S)||(P.current=!0,d.setPaths(p),P.current=!1)},[d,p]),s.useEffect(()=>{if(!d||!m||!C)return;P.current=!0;const b=m.map(M=>C.encoding.decodePath(M));d.setPaths(b),P.current=!1},[d,m,C]),d}const Nt=s.forwardRef((e,t)=>{const n=It(e);return s.useImperativeHandle(t,()=>n,[n]),w.createElement(w.Fragment,null)});Nt.displayName="Polygon";function xt(e){var t,n,r;const{onClick:o,onDrag:a,onDragStart:i,onDragEnd:c,onMouseOver:f,onMouseOut:u,onPathChanged:l,polyline:v,encodedPath:m,path:p,defaultPath:g}=e,E=N(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[d,h]=s.useState(null),y=z(),C=R("geometry"),P=s.useRef(!1),O=U(Object.assign(Object.assign({},E),{clickable:(t=E.clickable)!==null&&t!==void 0?t:!!o,draggable:(n=E.draggable)!==null&&n!==void 0?n:!!(a||i||c||l),editable:(r=E.editable)!==null&&r!==void 0?r:!!l}),B);return s.useEffect(()=>{if(!y){y===void 0&&console.error("<Polyline> has to be inside a Map component.");return}let b;if(v){b=v;const M=p??g;M&&Array.isArray(M)&&b.setPath(M),b.setOptions(O)}else{const M=p??g,S=Object.assign({},O);M&&Array.isArray(M)&&(S.path=M),b=new google.maps.Polyline(S)}return b.setMap(y),h(b),()=>{b.setMap(null),h(null)}},[y,v]),k(d,"click",o),k(d,"drag",a),k(d,"dragstart",i),k(d,"mouseover",f),k(d,"mouseout",u),k(d,"dragend",b=>{c?.(b),l&&d&&!P.current&&l(d.getPath().getArray())}),s.useEffect(()=>{if(!d||!l)return;const b=d.getPath();if(!b)return;const M=()=>{P.current||l(b.getArray())},S=[google.maps.event.addListener(b,"insert_at",M),google.maps.event.addListener(b,"remove_at",M),google.maps.event.addListener(b,"set_at",M)];return()=>{S.forEach(D=>D.remove())}},[d,l,p,m,O.editable,O.draggable]),s.useEffect(()=>{d&&d.setOptions(O)},[d,O]),s.useEffect(()=>{if(!d||!p)return;const b=d.getPath();Ce(p,b)||(P.current=!0,d.setPath(p),P.current=!1)},[d,p]),s.useEffect(()=>{if(!d||!m||!C)return;P.current=!0;const b=C.encoding.decodePath(m);d.setPath(b),P.current=!1},[d,m,C]),d}const Tt=s.forwardRef((e,t)=>{const n=xt(e);return s.useImperativeHandle(t,()=>n,[n]),w.createElement(w.Fragment,null)});Tt.displayName="Polyline";const jt={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},Rt=["center","range","heading","tilt","roll"];function _t(e,t,n){const r=e[n];if(r!=null)if(n==="center"){const o=r;t.current.center=o.toJSON?o.toJSON():o}else t.current[n]=r}function Ft(e){const t=Me(),n=s.useRef(Object.assign({},jt));return s.useEffect(()=>{if(!e)return;const r=[];for(const o of Rt){const a=`gmp-${o}change`,i=()=>{_t(e,n,o),t()};e.addEventListener(a,i),r.push(()=>e.removeEventListener(a,i))}return()=>{for(const o of r)o()}},[e,t]),n}function Ht(e){const t=R("maps3d"),[n,r]=s.useState(!1),[,o]=Y(),[a,i]=Y(),c=Ft(a);return s.useEffect(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{r(!0)})},[]),s.useEffect(()=>{if(!a)return;const{center:f,heading:u,tilt:l,range:v,roll:m,defaultCenter:p,defaultHeading:g,defaultTilt:E,defaultRange:d,defaultRoll:h,id:y,style:C,className:P,children:O,onCenterChanged:b,onHeadingChanged:M,onTiltChanged:S,onRangeChanged:D,onRollChanged:A,onCameraChanged:I,onClick:G,onSteadyChange:Z,onAnimationEnd:an,onError:sn,mode:ln,gestureHandling:cn}=e,ke=N(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),re=f??p,oe=u??g,ae=l??E,se=v??d,ie=m??h,_=Object.assign({},ke);re&&(_.center=re),oe!==void 0&&(_.heading=oe),ae!==void 0&&(_.tilt=ae),se!==void 0&&(_.range=se),ie!==void 0&&(_.roll=ie),Object.assign(a,_)},[a]),[a,o,i,c,!!t&&n]}function zt(e){return e?"toJSON"in e&&typeof e.toJSON=="function"?e.toJSON():e:null}function Jt(e,t,n){var r,o,a,i,c,f,u;const l=zt(n.center),v=(r=l?.lat)!==null&&r!==void 0?r:null,m=(o=l?.lng)!==null&&o!==void 0?o:null,p=(a=l?.altitude)!==null&&a!==void 0?a:null,g=(i=n.range)!==null&&i!==void 0?i:null,E=(c=n.heading)!==null&&c!==void 0?c:null,d=(f=n.tilt)!==null&&f!==void 0?f:null,h=(u=n.roll)!==null&&u!==void 0?u:null;s.useLayoutEffect(()=>{var y;if(!e)return;const C=t.current;v!==null&&m!==null&&(C.center.lat!==v||C.center.lng!==m||p!==null&&C.center.altitude!==p)&&(e.center={lat:v,lng:m,altitude:(y=p??C.center.altitude)!==null&&y!==void 0?y:0}),g!==null&&C.range!==g&&(e.range=g),E!==null&&C.heading!==E&&(e.heading=E),d!==null&&C.tilt!==d&&(e.tilt=d),h!==null&&C.roll!==h&&(e.roll=h)})}const he=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function F(e,t){const n=e.center;let r;return n&&"toJSON"in n&&typeof n.toJSON=="function"?r=n.toJSON():n?r=n:r={lat:0,lng:0,altitude:0},{type:t,map3d:e,detail:{center:r,range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function Bt(e,t){const n=t;return{type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:n.placeId}}}function Ut(e,t){return{type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}}}function Gt(e,t){const{onCenterChanged:n,onHeadingChanged:r,onTiltChanged:o,onRangeChanged:a,onRollChanged:i,onCameraChanged:c,onClick:f,onSteadyChange:u,onAnimationEnd:l,onError:v}=t;j(e,"gmp-centerchange",n,F),j(e,"gmp-headingchange",r,F),j(e,"gmp-tiltchange",o,F),j(e,"gmp-rangechange",a,F),j(e,"gmp-rollchange",i,F),s.useEffect(()=>{if(!e||!c)return;const m=()=>{c(F(e,"camerachange"))};for(const p of he)e.addEventListener(p,m);return()=>{for(const p of he)e.removeEventListener(p,m)}},[e,c]),s.useEffect(()=>{if(!e||!f)return;const m=p=>{f(Bt(e,p))};return e.addEventListener("gmp-click",m),()=>e.removeEventListener("gmp-click",m)},[e,f]),s.useEffect(()=>{if(!e||!u)return;const m=p=>{u(Ut(e,p))};return e.addEventListener("gmp-steadychange",m),()=>e.removeEventListener("gmp-steadychange",m)},[e,u]),j(e,"gmp-animationend",l,(m,p)=>({type:p,map3d:m})),j(e,"gmp-error",v,(m,p)=>({type:p,map3d:m}))}function j(e,t,n,r){s.useEffect(()=>{if(!e||!n)return;const o=()=>{n(r(e,t))};return e.addEventListener(t,o),()=>e.removeEventListener(t,o)},[e,t,n,r])}const Zt=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]);function $t(e,t){const n=s.useMemo(()=>{const r={},o=Object.keys(t);for(const a of o){if(!Zt.has(a))continue;const i=t[a];i!==void 0&&(r[a]=i)}return r},[t]);ye(()=>{e&&Object.assign(e,n)},[e,n])}const Vt=w.createContext(null),Wt={width:"100%",height:"100%",position:"relative"},Xt=s.forwardRef((e,t)=>{const{children:n,id:r,className:o,style:a}=e,i=s.useContext(H);if(!i)throw new Error("<Map3D> can only be used inside an <APIProvider> component.");const{addMap3DInstance:c,removeMap3DInstance:f}=i,[u,l,v,m,p]=Ht(e);Jt(u,m,e),Gt(u,e),$t(u,e),s.useEffect(()=>{if(!u)return;const d=r??"default";return c(u,d),()=>{f(d)}},[u,r]),s.useImperativeHandle(t,()=>({map3d:u,flyCameraAround:d=>{u?.flyCameraAround(d)},flyCameraTo:d=>{u?.flyCameraTo(d)},stopCameraAnimation:()=>{u?.stopCameraAnimation()}}),[u]);const g=s.useMemo(()=>Object.assign(Object.assign({},Wt),a),[a]),E=s.useMemo(()=>({map3d:u}),[u]);return p?w.createElement("div",Object.assign({ref:l,"data-testid":"map-3d",style:o?void 0:g,className:o},r?{id:r}:{}),w.createElement("gmp-map-3d",{ref:v,style:{width:"100%",height:"100%"}},u&&w.createElement(Vt.Provider,{value:E},n))):w.createElement("div",Object.assign({ref:l,"data-testid":"map-3d",style:o?void 0:g,className:o},r?{id:r}:{}))});Xt.displayName="Map3D";const ne=s.createContext(null),qt=s.forwardRef(function(e,t){const{children:n,onClick:r,position:o,altitudeMode:a,collisionBehavior:i,drawsWhenOccluded:c,extruded:f,label:u,sizePreserved:l,zIndex:v,title:m}=e,p=!!r,[g,E]=s.useState(null),[d,h]=s.useState(!1),y=s.useMemo(()=>{const O=document.createElement("div");return O.style.display="none",document.body.appendChild(O),O},[]);s.useEffect(()=>()=>y.remove(),[y]);const C=s.useCallback(O=>{E(O),typeof t=="function"?t(O):t&&(t.current=O)},[t]);Q(g,"gmp-click",r),s.useLayoutEffect(()=>{if(d||!g||!y)return;for(;g.firstChild;)g.removeChild(g.firstChild);const O=Array.from(y.childNodes);for(const b of O){if(b.nodeType!==Node.ELEMENT_NODE)continue;const M=b,S=M.tagName.toLowerCase();if(S==="img"||S==="svg"){const D=document.createElement("template");D.content.appendChild(M.cloneNode(!0)),g.appendChild(D)}else g.appendChild(M.cloneNode(!0))}},[g,y,n,d]);const P=s.useMemo(()=>({marker:g,setContentHandledExternally:h}),[g]);return L(g,"position",o),L(g,"altitudeMode",a),L(g,"collisionBehavior",i),L(g,"drawsWhenOccluded",c),L(g,"extruded",f),L(g,"label",u),L(g,"sizePreserved",l),L(g,"zIndex",v),L(g,"title",m??""),w.createElement(ne.Provider,{value:P},p?w.createElement("gmp-marker-3d-interactive",{ref:C}):w.createElement("gmp-marker-3d",{ref:C}),q.createPortal(n,y))});qt.displayName="Marker3D";const Kt=s.forwardRef(function(e,t){var n;const{children:r,headerContent:o,style:a,className:i,open:c=!0,position:f,anchor:u,anchorId:l,altitudeMode:v,lightDismissDisabled:m,autoPanDisabled:p,onClose:g}=e,[E,d]=s.useState(null),h=s.useRef(null);s.useImperativeHandle(t,()=>E,[E]),Yt(E,c,g),L(E,"open",c??!1),L(E,"altitudeMode",v),L(E,"lightDismissDisabled",m),L(E,"autoPanDisabled",p);const y=(n=u??l)!==null&&n!==void 0?n:f;return L(E,"positionAnchor",y),s.useLayoutEffect(()=>{E&&(At(E,a||null,h.current),h.current=a||null)},[E,a]),w.createElement("gmp-popover",{ref:d,className:i},o&&w.createElement("div",{slot:"header"},o),r)});Kt.displayName="Popover";function Yt(e,t,n){const r=s.useRef(void 0),o=s.useRef(t);s.useEffect(()=>{o.current=t},[t]),s.useEffect(()=>{if(!e||!n)return;const a=new MutationObserver(i=>{for(const c of i)if(c.type==="attributes"&&c.attributeName==="open"){const f=e.hasAttribute("open");r.current===!0&&!f&&o.current!==!1&&n(),r.current=f}});return a.observe(e,{attributes:!0,attributeFilter:["open"]}),r.current=e.hasAttribute("open"),()=>{a.disconnect()}},[e,n])}function Qt(e){const[t,n]=s.useState(null),r=z(),{onClick:o,onDrag:a,onDragStart:i,onDragEnd:c,onMouseOver:f,onMouseOut:u}=e,l=N(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:v,draggable:m}=l;return s.useEffect(()=>{if(!r){r===void 0&&console.error("<Marker> has to be inside a Map component.");return}const p=new google.maps.Marker(l);return p.setMap(r),n(p),()=>{p.setMap(null),n(null)}},[r]),s.useEffect(()=>{if(!t)return;const p=t,g=google.maps.event;return o&&g.addListener(p,"click",o),a&&g.addListener(p,"drag",a),i&&g.addListener(p,"dragstart",i),c&&g.addListener(p,"dragend",c),f&&g.addListener(p,"mouseover",f),u&&g.addListener(p,"mouseout",u),t.setDraggable(!!m),()=>{g.clearInstanceListeners(p)}},[t,m,o,a,i,c,f,u]),s.useEffect(()=>{t&&l&&t.setOptions(l)},[t,l]),s.useEffect(()=>{m||!v||!t||t.setPosition(v)},[m,v,t]),t}const en=s.forwardRef((e,t)=>{const n=Qt(e);return s.useImperativeHandle(t,()=>n,[n]),w.createElement(w.Fragment,null)});en.displayName="Marker";const tn=e=>{const t=s.useContext(te),n=s.useContext(ne),r=t?.marker,o=n?.marker,a=n?.setContentHandledExternally,i=s.useMemo(()=>document.createElement("div"),[]),c=R("marker");return s.useEffect(()=>{if(o&&a)return a(!0),()=>a(!1)},[o,a]),s.useEffect(()=>{if(!o||!c)return;const f=Object.assign({},e),u=new c.PinElement(f);for(e.children&&(u.glyph=i);o.firstChild;)o.removeChild(o.firstChild);return o.append(u),()=>{}},[o,c,i,e]),s.useEffect(()=>{var f;if(o)return;if(!r){r===void 0&&o===void 0&&console.error("The <Pin> component can only be used inside <AdvancedMarker> or <Marker3D>.");return}e.glyph&&e.children&&J("The <Pin> component only uses children to render the glyph if both the glyph property and children are present."),s.Children.count(e.children)>1&&J("Passing multiple children to the <Pin> component might lead to unexpected results.");const u=Object.assign({},e),l=new google.maps.marker.PinElement(u);e.children&&(l.glyph=i);const v=(f=r.content)===null||f===void 0?void 0:f.firstChild;for(;v?.firstChild;)v.removeChild(v.firstChild);v&&v.appendChild(l.element)},[r,i,o,e]),q.createPortal(e.children,i)},nn=e=>{const{children:t}=e,n=s.useContext(te),r=s.useContext(ne),o=n?.marker,a=r?.marker,i=r?.setContentHandledExternally,c=s.useMemo(()=>document.createElement("div"),[]),f=R("marker");return s.useEffect(()=>{if(a&&i)return i(!0),()=>i(!1)},[a,i]),s.useEffect(()=>{if(!a||!f)return;const u=Object.assign({},e),l=new f.PinElement(u);for(t&&l.appendChild(c);a.firstChild;)a.removeChild(a.firstChild);return a.appendChild(l),()=>{}},[a,f,c,t,e]),s.useEffect(()=>{var u;if(a)return;if(!o||!f){o===void 0&&a===void 0&&console.error("The <Pin> component can only be used inside <AdvancedMarker> or <Marker3D>.");return}(e.glyphSrc||e.glyphText)&&t&&J("The <Pin> component only uses children to render the glyph if both glyphSrc/glyphText and children are present."),s.Children.count(t)>1&&J("Passing multiple children to the <Pin> component might lead to unexpected results.");const l=Object.assign({},e),v=new f.PinElement(l);t&&v.appendChild(c);const m=(u=o.content)===null||u===void 0?void 0:u.firstChild;for(;m?.firstChild;)m.removeChild(m.firstChild);m&&m.appendChild(v)},[o,f,c,a,t,e]),q.createPortal(t,c)},mn=e=>{var t;const n=R("marker"),r=s.useMemo(()=>n?typeof customElements<"u"&&customElements.get("gmp-pin")!==void 0:!1,[n]);if(!n)return null;if(r){const{glyph:o,glyphSrc:a,glyphText:i}=e,c=N(e,["glyph","glyphSrc","glyphText"]),f=o instanceof URL||typeof o=="string"&&o.startsWith("http"),u=i??(typeof o=="string"&&!f?o:void 0),l=a??(f?String(o):void 0);return w.createElement(nn,Object.assign({},c,{glyphText:u,glyphSrc:l}))}else{const{glyph:o,glyphSrc:a,glyphText:i}=e,c=N(e,["glyph","glyphSrc","glyphText"]),f=(t=o??a)!==null&&t!==void 0?t:i;return w.createElement(tn,Object.assign({},c,{glyph:f}))}};function rn(e){var t,n,r;const{onClick:o,onDrag:a,onDragStart:i,onDragEnd:c,onMouseOver:f,onMouseOut:u,onBoundsChanged:l,bounds:v,defaultBounds:m}=e,p=N(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[g,E]=s.useState(null),d=z(),h=U(Object.assign(Object.assign({},p),{clickable:(t=p.clickable)!==null&&t!==void 0?t:!!o,draggable:(n=p.draggable)!==null&&n!==void 0?n:!!(a||i||c||l),editable:(r=p.editable)!==null&&r!==void 0?r:!!l}),B);return s.useEffect(()=>{if(!d){d===void 0&&console.error("<Rectangle> has to be inside a Map component.");return}const y=new google.maps.Rectangle(Object.assign(Object.assign({},h),{bounds:v??m}));return y.setMap(d),E(y),()=>{y.setMap(null),E(null)}},[d]),k(g,"click",o),k(g,"drag",a),k(g,"dragstart",i),k(g,"dragend",c),k(g,"mouseover",f),k(g,"mouseout",u),k(g,"bounds_changed",l?()=>{l(g?.getBounds())}:null),s.useEffect(()=>{g&&g.setOptions(h)},[g,h]),s.useEffect(()=>{!g||!v||at(v,g.getBounds())||g.setBounds(v)},[g,v]),g}const on=s.forwardRef((e,t)=>{const n=rn(e);return s.useImperativeHandle(t,()=>n,[n]),w.createElement(w.Fragment,null)});on.displayName="Rectangle";export{z as $,pn as I,gt as L,gn as S,mn as _,Ot as j,fn as k,en as m};
6
- //# sourceMappingURL=index.modern-CioVZ357-BA5NTOmY.js.map
6
+ //# sourceMappingURL=index.modern-CioVZ357-nfRNslCS.js.map