@defra/interactive-map 0.0.16-alpha → 0.0.18-alpha

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 (224) hide show
  1. package/assets/images/slot-map.svg +264 -0
  2. package/dist/css/index.css +1 -1
  3. package/dist/esm/im-core.js +1 -1
  4. package/dist/esm/im-shell.js +1 -1
  5. package/dist/umd/im-core.js +1 -1
  6. package/dist/umd/index.js +1 -1
  7. package/docs/api/context.md +53 -7
  8. package/docs/api/map-style-config.md +41 -2
  9. package/docs/api/marker-config.md +53 -11
  10. package/docs/api/slots.md +16 -15
  11. package/docs/api/symbol-config.md +160 -0
  12. package/docs/api/symbol-registry.md +115 -0
  13. package/docs/api.md +25 -22
  14. package/docs/getting-started.md +4 -1
  15. package/docs/plugins/datasets.md +657 -0
  16. package/docs/plugins/interact.md +68 -43
  17. package/docs/plugins/search.md +15 -3
  18. package/docs/plugins.md +1 -1
  19. package/package.json +2 -2
  20. package/plugins/beta/datasets/dist/css/index.css +103 -15
  21. package/plugins/beta/datasets/dist/esm/im-datasets-plugin.js +1 -1
  22. package/plugins/beta/datasets/dist/esm/index.js +1 -1
  23. package/plugins/beta/datasets/dist/umd/im-datasets-plugin.js +1 -1
  24. package/plugins/beta/datasets/dist/umd/index.js +1 -1
  25. package/plugins/beta/datasets/src/DatasetsInit.jsx +29 -9
  26. package/plugins/beta/datasets/src/adapters/maplibre/index.js +18 -0
  27. package/plugins/beta/datasets/src/adapters/maplibre/layerBuilders.js +159 -0
  28. package/plugins/beta/datasets/src/adapters/maplibre/layerIds.js +75 -0
  29. package/plugins/beta/datasets/src/adapters/maplibre/maplibreLayerAdapter.js +440 -0
  30. package/plugins/beta/datasets/src/adapters/maplibre/patternImages.js +27 -0
  31. package/plugins/beta/datasets/src/adapters/maplibre/symbolImages.js +31 -0
  32. package/plugins/beta/datasets/src/api/addDataset.js +2 -8
  33. package/plugins/beta/datasets/src/api/getOpacity.js +17 -0
  34. package/plugins/beta/datasets/src/api/getStyle.js +13 -0
  35. package/plugins/beta/datasets/src/api/removeDataset.js +2 -44
  36. package/plugins/beta/datasets/src/api/setData.js +10 -0
  37. package/plugins/beta/datasets/src/api/setDatasetVisibility.js +37 -0
  38. package/plugins/beta/datasets/src/api/setFeatureVisibility.js +22 -0
  39. package/plugins/beta/datasets/src/api/setOpacity.js +29 -0
  40. package/plugins/beta/datasets/src/api/setStyle.js +22 -0
  41. package/plugins/beta/datasets/src/components/EmptyKey.jsx +7 -0
  42. package/plugins/beta/datasets/src/components/EmptyKey.test.jsx +21 -0
  43. package/plugins/beta/datasets/src/components/KeySvg.jsx +24 -0
  44. package/plugins/beta/datasets/src/components/KeySvgLine.jsx +19 -0
  45. package/plugins/beta/datasets/src/components/KeySvgPattern.jsx +15 -0
  46. package/plugins/beta/datasets/src/components/KeySvgRect.jsx +22 -0
  47. package/plugins/beta/datasets/src/components/KeySvgSymbol.jsx +16 -0
  48. package/plugins/beta/datasets/src/components/svgProperties.js +20 -0
  49. package/plugins/beta/datasets/src/datasets.js +39 -56
  50. package/plugins/beta/datasets/src/defaults.js +44 -8
  51. package/plugins/beta/datasets/src/fetch/createDynamicSource.js +34 -25
  52. package/plugins/beta/datasets/src/fetch/fetchGeoJSON.js +2 -2
  53. package/plugins/beta/datasets/src/index.js +2 -1
  54. package/plugins/beta/datasets/src/manifest.js +25 -17
  55. package/plugins/beta/datasets/src/panels/Key.jsx +51 -51
  56. package/plugins/beta/datasets/src/panels/Key.module.scss +59 -9
  57. package/plugins/beta/datasets/src/panels/Layers.jsx +132 -29
  58. package/plugins/beta/datasets/src/panels/Layers.module.scss +56 -8
  59. package/plugins/beta/datasets/src/reducer.js +134 -9
  60. package/plugins/beta/datasets/src/reducers/keyReducer.js +34 -0
  61. package/plugins/beta/datasets/src/utils/bbox.js +7 -5
  62. package/plugins/beta/datasets/src/utils/filters.js +5 -2
  63. package/plugins/beta/datasets/src/utils/mergeSublayer.js +86 -0
  64. package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +1 -1
  65. package/plugins/beta/draw-es/src/DrawInit.jsx +3 -2
  66. package/plugins/beta/draw-ml/dist/css/index.css +21 -1
  67. package/plugins/beta/draw-ml/dist/esm/im-draw-ml-plugin.js +1 -1
  68. package/plugins/beta/draw-ml/dist/umd/im-draw-ml-plugin.js +1 -1
  69. package/plugins/beta/draw-ml/dist/umd/index.js +1 -1
  70. package/plugins/beta/draw-ml/src/DrawInit.jsx +4 -3
  71. package/plugins/beta/draw-ml/src/draw.scss +0 -7
  72. package/plugins/beta/draw-ml/src/manifest.js +16 -16
  73. package/plugins/beta/frame/dist/esm/im-frame-plugin.js +1 -1
  74. package/plugins/beta/frame/dist/umd/im-frame-plugin.js +1 -1
  75. package/plugins/beta/frame/src/Frame.jsx +5 -5
  76. package/plugins/beta/map-styles/dist/esm/im-map-styles-plugin.js +1 -1
  77. package/plugins/beta/map-styles/dist/umd/im-map-styles-plugin.js +1 -1
  78. package/plugins/beta/map-styles/dist/umd/index.js +1 -1
  79. package/plugins/beta/map-styles/src/MapStyles.jsx +5 -4
  80. package/plugins/beta/map-styles/src/MapStylesInit.jsx +5 -4
  81. package/plugins/beta/map-styles/src/manifest.js +1 -1
  82. package/plugins/beta/scale-bar/dist/css/index.css +1 -1
  83. package/plugins/beta/scale-bar/dist/esm/im-scale-bar-plugin.js +1 -1
  84. package/plugins/beta/scale-bar/dist/umd/im-scale-bar-plugin.js +1 -1
  85. package/plugins/beta/scale-bar/src/index.test.js +3 -3
  86. package/plugins/beta/scale-bar/src/manifest.js +3 -3
  87. package/plugins/beta/scale-bar/src/scaleBar.scss +2 -1
  88. package/plugins/interact/dist/css/index.css +1 -1
  89. package/plugins/interact/dist/esm/im-interact-plugin.js +1 -1
  90. package/plugins/interact/dist/umd/im-interact-plugin.js +1 -1
  91. package/plugins/interact/dist/umd/index.js +1 -1
  92. package/plugins/interact/src/InteractInit.jsx +14 -5
  93. package/plugins/interact/src/InteractInit.test.js +26 -6
  94. package/plugins/interact/src/api/enable.test.js +7 -7
  95. package/plugins/interact/src/defaults.js +4 -6
  96. package/plugins/interact/src/events.js +9 -6
  97. package/plugins/interact/src/events.test.js +28 -4
  98. package/plugins/interact/src/hooks/useHighlightSync.js +3 -3
  99. package/plugins/interact/src/hooks/useHighlightSync.test.js +6 -6
  100. package/plugins/interact/src/hooks/useHoverCursor.js +10 -0
  101. package/plugins/interact/src/hooks/useHoverCursor.test.js +44 -0
  102. package/plugins/interact/src/hooks/useInteractionHandlers.js +111 -69
  103. package/plugins/interact/src/hooks/useInteractionHandlers.test.js +147 -32
  104. package/plugins/interact/src/interact.scss +0 -7
  105. package/plugins/interact/src/manifest.js +14 -18
  106. package/plugins/interact/src/manifest.test.js +3 -1
  107. package/plugins/interact/src/reducer.js +23 -4
  108. package/plugins/interact/src/reducer.test.js +60 -11
  109. package/plugins/interact/src/utils/buildStylesMap.js +17 -4
  110. package/plugins/interact/src/utils/buildStylesMap.test.js +16 -2
  111. package/plugins/interact/src/utils/featureQueries.js +11 -6
  112. package/plugins/interact/src/utils/featureQueries.test.js +8 -1
  113. package/plugins/search/dist/css/index.css +1 -1
  114. package/plugins/search/dist/esm/im-search-plugin.js +1 -1
  115. package/plugins/search/dist/umd/im-search-plugin.js +1 -1
  116. package/plugins/search/src/Search.jsx +3 -1
  117. package/plugins/search/src/components/Form/Form.module.scss +2 -1
  118. package/plugins/search/src/events/fetchSuggestions.js +6 -4
  119. package/plugins/search/src/events/fetchSuggestions.test.js +26 -4
  120. package/plugins/search/src/events/formHandlers.js +3 -3
  121. package/plugins/search/src/events/formHandlers.test.js +1 -1
  122. package/plugins/search/src/events/suggestionHandlers.js +2 -2
  123. package/plugins/search/src/events/suggestionHandlers.test.js +1 -1
  124. package/plugins/search/src/utils/updateMap.js +3 -3
  125. package/plugins/search/src/utils/updateMap.test.js +3 -3
  126. package/providers/maplibre/dist/esm/im-maplibre-provider.js +1 -1
  127. package/providers/maplibre/dist/umd/im-maplibre-framework.js +1 -1
  128. package/providers/maplibre/dist/umd/im-maplibre-framework.js.LICENSE.txt +1 -1
  129. package/providers/maplibre/dist/umd/im-maplibre-provider.js +1 -1
  130. package/providers/maplibre/dist/umd/index.js +1 -1
  131. package/providers/maplibre/src/appEvents.js +7 -0
  132. package/providers/maplibre/src/appEvents.test.js +18 -4
  133. package/providers/maplibre/src/maplibreProvider.js +52 -0
  134. package/providers/maplibre/src/maplibreProvider.test.js +105 -1
  135. package/providers/maplibre/src/utils/highlightFeatures.js +37 -7
  136. package/providers/maplibre/src/utils/highlightFeatures.test.js +153 -95
  137. package/providers/maplibre/src/utils/hoverCursor.js +61 -0
  138. package/providers/maplibre/src/utils/hoverCursor.test.js +130 -0
  139. package/providers/maplibre/src/utils/patternImages.js +70 -0
  140. package/providers/maplibre/src/utils/patternImages.test.js +180 -0
  141. package/providers/maplibre/src/utils/queryFeatures.js +38 -16
  142. package/providers/maplibre/src/utils/queryFeatures.test.js +20 -3
  143. package/providers/maplibre/src/utils/rasteriseToImageData.js +30 -0
  144. package/providers/maplibre/src/utils/rasteriseToImageData.test.js +69 -0
  145. package/providers/maplibre/src/utils/symbolImages.js +147 -0
  146. package/providers/maplibre/src/utils/symbolImages.test.js +248 -0
  147. package/src/App/components/Actions/Actions.jsx +2 -2
  148. package/src/App/components/Actions/Actions.module.scss +0 -7
  149. package/src/App/components/Actions/Actions.test.jsx +1 -1
  150. package/src/App/components/Icon/Icon.jsx +3 -2
  151. package/src/App/components/Icon/Icon.module.scss +4 -0
  152. package/src/App/components/Icon/Icon.test.jsx +43 -4
  153. package/src/App/components/MapButton/MapButton.jsx +42 -17
  154. package/src/App/components/MapButton/MapButton.module.scss +4 -13
  155. package/src/App/components/MapButton/MapButton.test.jsx +27 -3
  156. package/src/App/components/Markers/Markers.jsx +122 -27
  157. package/src/App/components/Markers/Markers.module.scss +0 -10
  158. package/src/App/components/Markers/Markers.test.jsx +246 -0
  159. package/src/App/components/PopupMenu/PopupMenu.jsx +51 -274
  160. package/src/App/components/PopupMenu/PopupMenu.module.scss +14 -7
  161. package/src/App/components/PopupMenu/PopupMenu.test.jsx +70 -1
  162. package/src/App/components/PopupMenu/usePopupMenu.js +258 -0
  163. package/src/App/hooks/useButtonStateEvaluator.js +12 -2
  164. package/src/App/hooks/useButtonStateEvaluator.test.js +38 -4
  165. package/src/App/hooks/useInterfaceAPI.js +6 -0
  166. package/src/App/hooks/useInterfaceAPI.test.js +156 -0
  167. package/src/App/hooks/useLayoutMeasurements.js +84 -18
  168. package/src/App/hooks/useLayoutMeasurements.test.js +124 -17
  169. package/src/App/hooks/useMarkersAPI.js +2 -5
  170. package/src/App/hooks/useMarkersAPI.test.js +4 -4
  171. package/src/App/layout/Layout.jsx +14 -9
  172. package/src/App/layout/Layout.test.jsx +6 -4
  173. package/src/App/layout/layout.module.scss +67 -29
  174. package/src/App/registry/pluginRegistry.js +1 -1
  175. package/src/App/renderer/HtmlElementHost.jsx +2 -1
  176. package/src/App/renderer/HtmlElementHost.test.jsx +7 -7
  177. package/src/App/renderer/mapButtons.js +1 -1
  178. package/src/App/renderer/mapPanels.test.js +2 -2
  179. package/src/App/renderer/slotHelpers.js +2 -2
  180. package/src/App/renderer/slotHelpers.test.js +5 -5
  181. package/src/App/renderer/slots.js +9 -5
  182. package/src/App/store/AppProvider.jsx +3 -1
  183. package/src/App/store/AppProvider.test.jsx +1 -1
  184. package/src/App/store/ServiceProvider.jsx +8 -4
  185. package/src/App/store/appActionsMap.js +16 -0
  186. package/src/App/store/appActionsMap.test.js +27 -0
  187. package/src/App/store/appDispatchMiddleware.js +1 -1
  188. package/src/App/store/appDispatchMiddleware.test.js +2 -2
  189. package/src/App/store/appReducer.js +2 -0
  190. package/src/App/store/mapActionsMap.js +4 -6
  191. package/src/App/store/mapActionsMap.test.js +3 -2
  192. package/src/App/store/mapReducer.js +2 -1
  193. package/src/InteractiveMap/InteractiveMap.js +4 -0
  194. package/src/config/appConfig.js +5 -8
  195. package/src/config/appConfig.test.js +1 -2
  196. package/src/config/defaults.js +0 -2
  197. package/src/config/events.js +28 -0
  198. package/src/config/mapTheme.js +56 -0
  199. package/src/config/patternConfig.js +16 -0
  200. package/src/config/symbolConfig.js +80 -0
  201. package/src/scss/main.scss +1 -0
  202. package/src/scss/settings/_colors.scss +0 -9
  203. package/src/scss/settings/_dimensions.scss +0 -1
  204. package/src/services/patternRegistry.js +40 -0
  205. package/src/services/patternRegistry.test.js +48 -0
  206. package/src/services/symbolRegistry.js +113 -0
  207. package/src/services/symbolRegistry.test.js +262 -0
  208. package/src/types.js +93 -11
  209. package/src/utils/getSafeZoneInset.js +9 -7
  210. package/src/utils/getSafeZoneInset.test.js +10 -10
  211. package/src/utils/patternUtils.js +94 -0
  212. package/src/utils/patternUtils.test.js +160 -0
  213. package/src/utils/symbolUtils.js +85 -0
  214. package/src/utils/symbolUtils.test.js +156 -0
  215. package/webpack.dev.mjs +1 -1
  216. package/docs/api/slot-map.svg +0 -1
  217. package/plugins/beta/datasets/src/api/hideDataset.js +0 -14
  218. package/plugins/beta/datasets/src/api/hideFeatures.js +0 -41
  219. package/plugins/beta/datasets/src/api/showDataset.js +0 -14
  220. package/plugins/beta/datasets/src/api/showFeatures.js +0 -44
  221. package/plugins/beta/datasets/src/handleSetMapStyle.js +0 -54
  222. package/plugins/beta/datasets/src/mapLayers.js +0 -164
  223. /package/src/{utils → services}/logger.js +0 -0
  224. /package/src/{utils → services}/logger.test.js +0 -0
@@ -1 +1 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/objectWithoutProperties";import r from"@babel/runtime/helpers/asyncToGenerator";import{createRoot as n}from"preact/compat/client";import{g as o,E as i,s as a,r as l,t as c,a as s}from"./im-shell.js";import p,{useContext as u,createContext as d,useEffect as f,useRef as v,useReducer as m,useCallback as b,useMemo as g,useLayoutEffect as h,useState as y,createPortal as O,cloneElement as P}from"preact/compat";import{jsx as E,jsxs as _,Fragment as w}from"preact/jsx-runtime";var R=d(null);function j(){return u(R)}var T=[{id:"showKeyboardHelp",group:"General",title:"Show keyboard help",command:"<kbd>Alt</kbd> + <kbd>K</kbd>",enabled:!0},{id:"selectControl",group:"General",title:"Select a map control",command:"<kbd>Tab</kbd> or <kbd>Shift</kbd> + <kbd>Tab</kbd>",enabled:!0},{id:"moveLarge",group:"Navigation",title:"Move in large steps",command:"<kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!0},{id:"nudgeMap",group:"Navigation",title:"Nudge map",command:"<kbd>Shift</kbd> + <kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!1},{id:"zoomLarge",group:"Navigation",title:"Zoom in large steps",command:"<kbd>+</kbd> or <kbd>-</kbd>",enabled:!0},{id:"nudgeZoom",group:"Navigation",title:"Nudge zoom",command:"<kbd>Shift</kbd> + <kbd>+</kbd> or <kbd>-</kbd>",enabled:!1},{id:"highlightLabelAtCenter",group:"Labels",title:"Highlight label at centre",command:"<kbd>Alt</kbd> + <kbd>Enter</kbd>",enabled:!1,requiredConfig:["readMapText"]},{id:"highlightNextLabel",group:"Labels",title:"Highlight nearby label",command:"<kbd>Alt</kbd> + <kbd>→</kbd>, <kbd>←</kbd>, <kbd>↑</kbd> or <kbd>↓</kbd>",enabled:!1,requiredConfig:["readMapText"]}],S=[],D=new Set,A=new Set,k=()=>{var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[...T.filter(t=>!!A.has(t.id)&&(!t.requiredConfig||t.requiredConfig.every(t=>e[t]))),...S]}(j()).reduce((e,t)=>(e[t.group]=e[t.group]||[],e[t.group].push(t),e),{});return E("div",{className:"im-c-keyboard-help",children:Object.entries(e).map(e=>{var[t,r]=e;return E("div",{className:"im-c-keyboard-help__group",children:E("dl",{className:"im-c-keyboard-help__list",children:r.map(e=>_("div",{className:"im-c-keyboard-help__item",children:[E("dt",{className:"im-c-keyboard-help__title",children:e.title}),E("dd",{className:"im-c-keyboard-help__description",dangerouslySetInnerHTML:{__html:e.command}})]},e.id))})},t)})})};function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function C(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?M(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var I={slot:"middle",open:!1,dismissible:!0,modal:!0},L={slot:"right-top",showLabel:!1},N={slot:"top-left",showLabel:!1},B={buttons:[{id:"exit",label:"Exit",iconId:"close",onClick:(e,t)=>{var{services:r}=t;return r.closeApp()},excludeWhen:e=>{var{appConfig:t,appState:r}=e;return!t.hasExitButton||!(r.isFullscreen&&new URL(window.location.href).searchParams.has(t.mapViewParamKey))},mobile:N,tablet:N,desktop:N},{id:"fullscreen",label:()=>"".concat(document.fullscreenElement?"Exit":"Enter"," fullscreen"),iconId:()=>document.fullscreenElement?"minimise":"maximise",onClick:(e,t)=>{var{appState:r}=t,n=r.layoutRefs.appContainerRef.current;document.fullscreenElement?document.exitFullscreen():n.requestFullscreen()},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableFullscreen||t.isFullscreen},mobile:L,tablet:L,desktop:L},{id:"zoomIn",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom in",iconId:"plus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomIn(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMaxZoom},mobile:L,tablet:L,desktop:L},{id:"zoomOut",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom out",iconId:"minus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomOut(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMinZoom},mobile:L,tablet:L,desktop:L}],panels:[{id:"keyboardHelp",label:"Keyboard shortcuts",mobile:C({},I),tablet:C(C({},I),{},{width:"500px"}),desktop:C(C({},I),{},{width:"500px"}),render:()=>E(k,{})}],icons:[{id:"maximise",svgContent:'<path d="M15 3h6v6"/><path d="m21 3-7 7"/><path d="m3 21 7-7"/><path d="M9 21H3v-6"/>'},{id:"minimise",svgContent:'<path d="m14 10 7-7"/><path d="M20 10h-6V4"/><path d="m3 21 7-7"/><path d="M4 14h6v6"/>'},{id:"plus",svgContent:'<path d="M5 12h14"/><path d="M12 5v14"/>'},{id:"minus",svgContent:'<path d="M5 12h14"/>'}]},x={slot:"right-top",showLabel:!0},H={label:"Button",mobile:x,tablet:x,desktop:x},z={label:"Panel",mobile:{slot:"bottom",open:!0,dismissible:!0,modal:!1,showLabel:!0},tablet:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},desktop:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},render:null,html:null},F={label:"Control",mobile:{slot:"bottom"},tablet:{slot:"top-left"},desktop:{slot:"top-left"}},W={small:1,medium:1.5,large:2},G=[{shape:"pin",backgroundPath:"M31 16.001c0 7.489-8.308 15.289-11.098 17.698-.533.4-1.271.4-1.803 0C15.309 31.29 7 23.49 7 16.001c0-6.583 5.417-12 12-12s12 5.417 12 12z",graphicPath:"M19 11.001c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z"}];function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var V=(t,r)=>{var n=function(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?U(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},t);for(var o in r)"object"!=typeof r[o]||Array.isArray(r[o])||null===r[o]?n[o]=r[o]:n[o]=V(t[o]||{},r[o]);return n};function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function K(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Z(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var q=(e,t)=>K(K({},e),t),Y=(e,t,r)=>{var n=V(H,r);return K(K({},e),{},{[t]:n})};function X(){var e={};return{registerButton:t=>{e=q(e,t)},addButton:(t,r)=>(e=Y(e,t,r),t),getButtonConfig:t=>((e,t)=>t?Object.fromEntries(Object.entries(e).filter(e=>{var[r,n]=e;return n.pluginId===t})):e)(e,t),clear:()=>{e={}}}}function $(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?J(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var ee=(e,t)=>Q(Q({},e),t),te=(e,t,r)=>{var n=V(z,r);return Q(Q({},e),{},{[t]:Q(Q({},n),{},{html:n.html,render:n.render})})},re=(e,r)=>{var{[r]:n}=e;return t(e,[r].map($))};function ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ne(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ne(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var ie=(e,t)=>oe(oe({},e),t),ae=(e,t,r)=>{var n=V(F,r);return oe(oe({},e),{},{[t]:oe({id:t},n)})};function le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ce(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?le(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):le(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var se={close:'<path d="M18 6 6 18"/><path d="m6 6 12 12"/>'},pe=()=>se,ue=Object.freeze({SIDE:"side",BANNER:"banner",TOP_LEFT:"top-left",TOP_MIDDLE:"top-middle",TOP_RIGHT:"top-right",LEFT_TOP:"left-top",LEFT_BOTTOM:"left-bottom",MIDDLE:"middle",RIGHT_TOP:"right-top",RIGHT_BOTTOM:"right-bottom",FOOTER_RIGHT:"footer-right",BOTTOM:"bottom",ACTIONS:"actions",MODAL:"modal"}),de=Object.freeze({control:[ue.BANNER,ue.TOP_LEFT,ue.TOP_RIGHT,ue.MIDDLE,ue.FOOTER_RIGHT,ue.BOTTOM,ue.ACTIONS],panel:[ue.SIDE,ue.BANNER,ue.LEFT_TOP,ue.LEFT_BOTTOM,ue.MIDDLE,ue.RIGHT_TOP,ue.RIGHT_BOTTOM,ue.BOTTOM,ue.MODAL],button:[ue.TOP_LEFT,ue.TOP_MIDDLE,ue.TOP_RIGHT,ue.LEFT_TOP,ue.LEFT_BOTTOM,ue.RIGHT_TOP,ue.RIGHT_BOTTOM,ue.ACTIONS]}),fe="[interactive-map]",ve=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return console.warn(fe,...t)};function me(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function be(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?me(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var ge=e=>Array.isArray(e)?e:[e],he=["mobile","tablet","desktop"];function ye(e,t){var r=de[t];he.forEach(n=>{var o,i=null===(o=e[n])||void 0===o?void 0:o.slot;!i||r.includes(i)||"panel"===t&&i.endsWith("-button")||ve("".concat(t,' "').concat(e.id,'" has invalid slot "').concat(i,'" at breakpoint "').concat(n,'". Allowed slots: ').concat(r.join(", "),"."))})}function Oe(e){var{registerButton:t,registerPanel:r,registerControl:n}=e,o=[];return{registeredPlugins:o,registerPlugin:function(e){var i,a,{manifest:l}=e,c={pluginId:e.id,includeModes:null===(i=e.config)||void 0===i?void 0:i.includeModes,excludeModes:null===(a=e.config)||void 0===a?void 0:a.excludeModes};l.buttons&&ge(l.buttons).forEach(e=>{var r;ye(e,"button"),t({[e.id]:be(be({},c),e)}),null==e||null===(r=e.menuItems)||void 0===r||r.forEach(e=>{t({[e.id]:be(be(be({},c),e),{},{isMenuItem:!0})})})}),l.panels&&ge(l.panels).forEach(e=>{ye(e,"panel"),r({[e.id]:be(be({},c),e)})}),l.controls&&ge(l.controls).forEach(e=>{ye(e,"control"),n({[e.id]:be(be({},c),e)})}),l.icons&&ge(l.icons).forEach(e=>(e=>{se=ce(ce({},se),e)})({[e.id]:e.svgContent})),l.keyboardShortcuts&&ge(l.keyboardShortcuts).forEach(e=>(e=>{var{shortcut:t}=e;D.has(t.id)||(D.add(t.id),S.push(t))})(be(be({},c),{},{shortcut:e}))),o.push(e)},clear:function(){o.length=0}}}function Pe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ee(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Pe(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Pe(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(e)||(e=[]),Array.isArray(t)||(t=[]);var r=new Map(e.map(e=>[e.id,e]));return t.forEach(e=>{null!=e&&e.id&&(r.has(e.id)?r.set(e.id,Ee(Ee({},r.get(e.id)),e)):r.set(e.id,e))}),Array.from(r.values())},n=Ee(Ee({},e),t);return(e.buttons||t.buttons)&&(n.buttons=r(e.buttons,t.buttons)),(e.panels||t.panels)&&(n.panels=r(e.panels,t.panels)),(e.controls||t.controls)&&(n.controls=r(e.controls,t.controls)),(e.icons||t.icons)&&(n.icons=r(e.icons,t.icons)),n}function we(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return Object.keys(e).forEach(o=>{var i,a=e[o][t];null!==(i=null==a?void 0:a.open)&&void 0!==i&&i&&(n[o]=r[o]||{props:{}})}),n}function Re(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Te(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?je(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Se(e,t,r,n){var o,i=e.panelConfig||e.panelRegistry.getPanelConfig(),a=null===(o=i[t])||void 0===o?void 0:o[r],l=!!a.exclusive&&!a.modal,c=!!a.modal,s=Object.fromEntries(Object.entries(e.openPanels).filter(e=>{var t,[n]=e;return!(null!==(t=i[n])&&void 0!==t&&null!==(t=t[r])&&void 0!==t&&t.exclusive)}));return Te(Te(Te({},l?{}:s),c?e.openPanels:{}),{},{[t]:{props:n}})}var De={SET_BREAKPOINT:(e,t)=>{var r,{behaviour:n,hybridWidth:i,maxMobileWidth:a}=t,l=Object.keys(e.openPanels),c=l[l.length-1],s="hybrid"===n?e.isFullscreen:o({behaviour:n,hybridWidth:i,maxMobileWidth:a}),p=c?Se(e,c,t.breakpoint,(null===(r=e.openPanels[c])||void 0===r?void 0:r.props)||{}):{},u=e.panelConfig||e.panelRegistry.getPanelConfig(),d=Object.fromEntries(Object.entries(u).filter(e=>{var[r,n]=e,o=n[t.breakpoint];return!0===(null==o?void 0:o.open)&&!1===(null==o?void 0:o.dismissible)&&!p[r]}).map(t=>{var[r]=t;return[r,e.openPanels[r]||{props:{}}]}));return Te(Te({},e),{},{breakpoint:t.breakpoint,isFullscreen:s,previousOpenPanels:e.openPanels,openPanels:Te(Te({},p),d)})},SET_MEDIA:(e,t)=>Te(Te({},e),t),SET_HYBRID_FULLSCREEN:(e,t)=>Te(Te({},e),{},{isFullscreen:t}),SET_INTERFACE_TYPE:(e,t)=>e.interfaceType===t?e:Te(Te({},e),{},{interfaceType:t}),SET_MODE:(e,t)=>{var r=e.panelConfig||e.panelRegistry.getPanelConfig();return Te(Te({},e),{},{mode:t,previousMode:e.mode,openPanels:we(r,e.breakpoint,e.openPanels)})},SET_SAFE_ZONE_INSET:(e,t)=>{var{safeZoneInset:r,syncMapPadding:n=!0}=t;return((e,t)=>{if(e===t)return!0;if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;var r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every(r=>Object.is(e[r],t[r]))})(e.safeZoneInset,r)?e:Te(Te({},e),{},{safeZoneInset:r,syncMapPadding:n,isLayoutReady:!0})},REVERT_MODE:e=>{var t=e.panelConfig||e.panelRegistry.getPanelConfig();return Te(Te({},e),{},{mode:e.previousMode,previousMode:e.mode,openPanels:we(t,e.breakpoint,e.openPanels)})},OPEN_PANEL:(e,t)=>{var{panelId:r,props:n={}}=t;return Te(Te({},e),{},{previousOpenPanels:e.openPanels,openPanels:Se(e,r,e.breakpoint,n)})},CLOSE_PANEL:(e,r)=>{var n=e.openPanels,{[r]:o}=n,i=t(n,[r].map(Re));return Te(Te({},e),{},{previousOpenPanels:e.openPanels,openPanels:i})},CLOSE_ALL_PANELS:e=>Te(Te({},e),{},{previousOpenPanels:e.openPanels,openPanels:{}}),RESTORE_PREVIOUS_PANELS:e=>Te(Te({},e),{},{openPanels:e.previousOpenPanels||{},previousOpenPanels:e.openPanels}),TOGGLE_HAS_EXCLUSIVE_CONTROL:(e,t)=>Te(Te({},e),{},{hasExclusiveControl:t}),TOGGLE_BUTTON_DISABLED:(e,t)=>{var{id:r,isDisabled:n}=t,o=new Set(e.disabledButtons);return n?o.add(r):o.delete(r),Te(Te({},e),{},{disabledButtons:o})},TOGGLE_BUTTON_HIDDEN:(e,t)=>{var{id:r,isHidden:n}=t,o=new Set(e.hiddenButtons);return n?o.add(r):o.delete(r),Te(Te({},e),{},{hiddenButtons:o})},TOGGLE_BUTTON_PRESSED:(e,t)=>{var{id:r,isPressed:n}=t,o=new Set(e.pressedButtons);return n?o.add(r):o.delete(r),Te(Te({},e),{},{pressedButtons:o})},TOGGLE_BUTTON_EXPANDED:(e,t)=>{var{id:r,isExpanded:n}=t,o=new Set(e.expandedButtons);return n?o.add(r):o.delete(r),Te(Te({},e),{},{expandedButtons:o})},REGISTER_BUTTON:(e,t)=>Te(Te({},e),{},{buttonConfig:q(e.buttonConfig,t)}),ADD_BUTTON:(e,t)=>{var r,{id:n,config:o}=t,i=Y(e.buttonConfig,n,o),a=new Set(e.hiddenButtons);o.isHidden&&a.add(n);var l=new Set(e.disabledButtons);o.isDisabled&&l.add(n);var c=new Set(e.pressedButtons);o.isPressed&&c.add(n);var s=new Set(e.expandedButtons);return o.isExpanded&&s.add(n),null!==(r=e.buttonRegistry)&&void 0!==r&&r.addButton&&e.buttonRegistry.addButton(n,o),Te(Te({},e),{},{buttonConfig:i,hiddenButtons:a,disabledButtons:l,pressedButtons:c,expandedButtons:s})},REGISTER_PANEL:(e,t)=>Te(Te({},e),{},{panelConfig:ee(e.panelConfig,t)}),ADD_PANEL:(e,t)=>{var r,{id:n,config:o}=t,i=te(e.panelConfig,n,o),a=i[n];null!==(r=e.panelRegistry)&&void 0!==r&&r.addPanel&&e.panelRegistry.addPanel(n,o);var l=null==a?void 0:a[e.breakpoint],c=null==l?void 0:l.open;return Te(Te({},e),{},{panelConfig:i,openPanels:c?Se(Te(Te({},e),{},{panelConfig:i}),n,e.breakpoint,{}):e.openPanels})},REMOVE_PANEL:(e,r)=>{var n,o=r,i=e.openPanels,{[o]:a}=i,l=t(i,[o].map(Re));return null!==(n=e.panelRegistry)&&void 0!==n&&n.removePanel&&e.panelRegistry.removePanel(o),Te(Te({},e),{},{panelConfig:re(e.panelConfig,o),openPanels:l})},REGISTER_CONTROL:(e,t)=>Te(Te({},e),{},{controlConfig:ie(e.controlConfig,t)}),ADD_CONTROL:(e,t)=>{var r,{id:n,config:o}=t,i=ae(e.controlConfig,n,o);return null!==(r=e.controlRegistry)&&void 0!==r&&r.addControl&&e.controlRegistry.addControl(n,o),Te(Te({},e),{},{controlConfig:i})}};function Ae(){return{preferredColorScheme:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",prefersReducedMotion:window.matchMedia("(prefers-reduced-motion: reduce)").matches}}var ke=(e,t)=>{var{type:r,payload:n}=t,o=De[r];return o?o(e,n):e},Me=["mobile","tablet","desktop"];function Ce(e,t,r,n){var{type:o,payload:a}=e;if("CLOSE_PANEL"===o&&queueMicrotask(()=>{n.emit(i.APP_PANEL_CLOSED,{panelId:a})}),"CLOSE_ALL_PANELS"===o&&queueMicrotask(()=>{Object.keys(t.openPanels).forEach(e=>{n.emit(i.APP_PANEL_CLOSED,{panelId:e})})}),"OPEN_PANEL"===o){var{panelId:l,props:c}=a,s=function(e,t,r,n){var o,i=null===(o=n[e])||void 0===o?void 0:o[r],a=!(null==i||!i.exclusive||null!=i&&i.modal),l=!(null==i||!i.modal),c=[];if(l)return c;var s=Object.keys(t);return a?s.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null!=o&&o.exclusive||c.push(e)}):s.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null==o||!o.exclusive||null!=o&&o.modal||c.push(e)}),c}(l,t.openPanels,t.breakpoint,r);queueMicrotask(()=>{s.forEach(e=>{n.emit(i.APP_PANEL_CLOSED,{panelId:e})}),n.emit(i.APP_PANEL_OPENED,{panelId:l,props:c})})}if("ADD_BUTTON"===o){var{id:p,config:u}=a,d=V(H,u);Me.forEach(e=>{var t,r=null===(t=d[e])||void 0===t?void 0:t.slot;r&&!de.button.includes(r)&&ve('button "'.concat(p,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(de.button.join(", "),"."))})}if("ADD_CONTROL"===o){var{id:f,config:v}=a,m=V(F,v);Me.forEach(e=>{var t,r=null===(t=m[e])||void 0===t?void 0:t.slot;r&&!de.control.includes(r)&&ve('control "'.concat(f,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(de.control.join(", "),"."))})}if("ADD_PANEL"===o){var{id:b,config:g}=a,h=V(z,g);Me.forEach(e=>{var t,r=null===(t=h[e])||void 0===t?void 0:t.slot;!r||de.panel.includes(r)||r.endsWith("-button")||ve('panel "'.concat(b,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(de.panel.join(", "),"."))});var y=h[t.breakpoint];null!=y&&y.open&&queueMicrotask(()=>{var e=y.slot,{visibleGeometry:t}=h,r={panelId:b,slot:e};t&&(r.visibleGeometry=t),n.emit(i.APP_PANEL_OPENED,r)})}}function Ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Le(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Ie(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ie(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Ne=d(null),Be=e=>{var{options:t,children:r}=e,{pluginRegistry:n,buttonRegistry:l,panelRegistry:c,controlRegistry:s,eventBus:p,breakpointDetector:u}=t,d={appContainerRef:v(null),sideRef:v(null),mainRef:v(null),topRef:v(null),topLeftColRef:v(null),topRightColRef:v(null),leftRef:v(null),leftTopRef:v(null),leftBottomRef:v(null),middleRef:v(null),rightRef:v(null),rightTopRef:v(null),rightBottomRef:v(null),bottomRef:v(null),footerRef:v(null),actionsRef:v(null),bannerRef:v(null),modalRef:v(null),viewportRef:v(null)},h=v({}),[y,O]=m(ke,(e=>{var{initialBreakpoint:t,initialInterfaceType:r,appColorScheme:n,autoColorScheme:i,pluginRegistry:a,buttonRegistry:l,panelRegistry:c,controlRegistry:s,mode:p}=e,{preferredColorScheme:u,prefersReducedMotion:d}=Ae(),f=o(e),v=we(c.getPanelConfig(),t);return{isLayoutReady:!1,breakpoint:t,interfaceType:r,preferredColorScheme:i?u:n,prefersReducedMotion:d,isFullscreen:f,mode:p||null,previousMode:null,safeZoneInset:null,disabledButtons:new Set,hiddenButtons:new Set,pressedButtons:new Set,expandedButtons:new Set,hasExclusiveControl:!1,openPanels:v,previousOpenPanels:{},syncMapPadding:!0,pluginRegistry:a,buttonRegistry:l,panelRegistry:c,controlRegistry:s,buttonConfig:l.getButtonConfig(),panelConfig:c.getPanelConfig(),controlConfig:s.getControlConfig()}})(t)),P=b(e=>{var r=y.panelConfig||t.panelRegistry.getPanelConfig(),n=y;O(e),Ce(e,n,r,p)},[y,t,p]);!function(e,t){var{appColorScheme:r,autoColorScheme:n,behaviour:o,hybridWidth:i,maxMobileWidth:a}=t;f(()=>{var t=[window.matchMedia("(prefers-color-scheme: dark)"),window.matchMedia("(prefers-reduced-motion: reduce)")];function l(){var{preferredColorScheme:t,prefersReducedMotion:o}=Ae();e({type:"SET_MEDIA",payload:{preferredColorScheme:n?t:r,prefersReducedMotion:o}})}t.forEach(e=>e.addEventListener("change",l));var c=null,s=null;if("hybrid"===o){var p=null!=i?i:a;c=window.matchMedia("(max-width: ".concat(p,"px)")),s=t=>{e({type:"SET_HYBRID_FULLSCREEN",payload:t.matches})},c.addEventListener("change",s)}return()=>{t.forEach(e=>e.removeEventListener("change",l)),c&&s&&c.removeEventListener("change",s)}},[e,o,i,a])}(O,t);var _=e=>{P({type:"SET_MODE",payload:e})},w=()=>{P({type:"REVERT_MODE"})};f(()=>{p.on(i.APP_SET_MODE,_),p.on(i.APP_REVERT_MODE,w);var e=u.subscribe(e=>{P({type:"SET_BREAKPOINT",payload:{behaviour:t.behaviour,breakpoint:e,hybridWidth:t.hybridWidth,maxMobileWidth:t.maxMobileWidth}})}),r=a(e=>{P({type:"SET_INTERFACE_TYPE",payload:e})});return()=>{p.off(i.APP_SET_MODE,_),p.off(i.APP_REVERT_MODE,w),e(),r()}},[]);var j=g(()=>Le(Le({},y),{},{dispatch:P,layoutRefs:d,buttonRefs:h,pluginRegistry:n,buttonRegistry:l,panelRegistry:c,controlRegistry:s}),[y,P]);return E(R.Provider,{value:t,children:E(Ne.Provider,{value:j,children:r})})};function xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function He(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?xe(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):xe(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var ze=(e,t)=>He(He({},e),t),Fe={SET_MAP_READY:e=>He(He({},e),{},{isMapReady:!0}),MAP_MOVE:ze,MAP_MOVE_END:ze,MAP_FIRST_IDLE:ze,SET_MAP_STYLE:(e,t)=>He(He({},e),{},{mapStyle:t}),SET_MAP_SIZE:(e,t)=>He(He({},e),{},{mapSize:t}),UPDATE_CROSS_HAIR:(e,t)=>He(He({},e),{},{crossHair:He(He({},e.crossHair),t)}),UPSERT_LOCATION_MARKER:(e,t)=>{var r=new Map(e.markers.items.map(e=>[e.id,e]));r.set(t.id,t);var n=Array.from(r.values());return He(He({},e),{},{markers:He(He({},e.markers),{},{items:n})})},REMOVE_LOCATION_MARKER:(e,t)=>{var r=e.markers.items.filter(e=>e.id!==t);return He(He({},e),{},{markers:He(He({},e.markers),{},{items:r})})}},We=(e,t)=>{var{type:r,payload:n}=t,o=Fe[r];return o?o(e,n):e};function Ge(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ue(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Ge(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Ve=d(null),Ze=e=>{var{options:t,children:r}=e,[n,o]=m(We,(e=>{var{center:t,zoom:r,bounds:n,extent:o,mapStyle:i,mapSize:a,markers:l}=e,{registeredPlugins:c}=e.pluginRegistry;return{isMapReady:!1,mapProvider:null,mapStyle:null!=c&&c.find(e=>{var t;return null===(t=e.config)||void 0===t?void 0:t.handlesMapStyle})?null:i,mapSize:a,center:t,zoom:r,bounds:n||o,resolution:null,isAtMaxZoom:null,isAtMinZoom:null,crossHair:{isVisible:!1,isPinnedToMap:!1,state:"active"},markers:{items:l||[]}}})(t)),{eventBus:a}=t,l=v(!1),c=()=>{o({type:"SET_MAP_READY"})},s=e=>{var r=localStorage.getItem("".concat(t.id,":mapStyleId")),n=e.find(e=>e.id===r)||e[0],i=localStorage.getItem("".concat(t.id,":mapSize"))||t.mapSize;o({type:"SET_MAP_STYLE",payload:n}),o({type:"SET_MAP_SIZE",payload:i})},p=e=>{o({type:"SET_MAP_STYLE",payload:e})},u=e=>{o({type:"SET_MAP_SIZE",payload:e})};f(()=>(a.on(i.MAP_READY,c),a.on(i.MAP_INIT_MAP_STYLES,s),a.on(i.MAP_SET_STYLE,p),a.on(i.MAP_SET_SIZE,u),()=>{a.off(i.MAP_READY,c),a.off(i.MAP_INIT_MAP_STYLES,s),a.off(i.MAP_SET_STYLE,p),a.off(i.MAP_SET_SIZE,u)}),[]),f(()=>{n.mapSize&&(l.current?a.emit(i.MAP_SIZE_CHANGE,{mapSize:n.mapSize}):l.current=!0)},[n.mapSize]),f(()=>{n.mapStyle&&n.mapSize&&(localStorage.setItem("".concat(t.id,":mapStyleId"),n.mapStyle.id),localStorage.setItem("".concat(t.id,":mapSize"),n.mapSize))},[n.mapStyle,n.mapSize]);var d=g(()=>Ue(Ue({},n),{},{dispatch:o}),[n]);return E(Ve.Provider,{value:d,children:r})};function Ke(e){var t,r,n,o,i=!1,a=t=>{null!=e&&e.current&&t&&(e.current.textContent="",setTimeout(()=>{e.current&&(e.current.textContent=t)},100))},l=(t=a,r=500,n=null,o=function(){for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];clearTimeout(n),n=setTimeout(()=>{t(...o)},r)},o.cancel=()=>{n&&(clearTimeout(n),n=null)},o);return function(e){if(e)return"plugin"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"core")?(i=!0,void a(e)):void(i?i=!1:l(e))}}var qe=d(null),Ye=e=>{var{eventBus:t,children:r}=e,{id:n,handleExitClick:o}=j(),a=v(null),c=g(()=>Ke(a),[]),s=g(()=>({announce:c,reverseGeocode:(e,t)=>l(e,t),events:i,eventBus:t,mapStatusRef:a,closeApp:()=>function(e,t,r){var n;r.emit(i.MAP_EXIT,{mapId:e}),null!==(n=history.state)&&void 0!==n&&n.isBack?history.back():t()}(n,o,t)}),[c]);return E(qe.Provider,{value:s,children:r})};function Xe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $e(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Xe(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Xe(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Je=d(null);var Qe=e=>{var{children:t}=e,{pluginRegistry:r}=j(),n={},o={},i=v({});r.registeredPlugins.forEach(e=>{var t=e.reducer;if(t){var{initialState:r,actions:a}=t;n[e.id]=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=null==e?void 0:e[null==r?void 0:r.type];return n?n(t,r.payload):t}}(a),o[e.id]=r}i.current[e.id]||(i.current[e.id]={})});var[a,l]=m((e,t)=>{var{pluginId:r}=t;return r&&n[r]?$e($e({},e),{},{[r]:n[r](e[r],t)}):e},o),c=(e,t)=>(i.current[e]||(i.current[e]={}),i.current[e][t]||(i.current[e][t]=p.createRef()),i.current[e][t]),s=g(()=>({state:a,dispatch:l,refs:i,getPluginRef:c}),[a,l]);return E(Je.Provider,{value:s,children:t})},et=e=>{var t=u(Je);if(!t)throw new Error("usePlugin must be used within PluginProvider");var{state:r,dispatch:n,refs:o,getPluginRef:i}=t;return o.current[e]||(o.current[e]={}),$e($e({},r[e]),{},{dispatch:t=>n($e($e({},t),{},{pluginId:e})),refs:o.current[e],useRef:t=>i(e,t)})};function tt(){return u(Ne)}function rt(){return u(Ve)}function nt(){return u(qe)}function ot(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function it(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ot(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ot(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var at=new Map;function lt(e,t){var{pluginId:r,pluginConfig:n}=t,o=e;return at.has(o)||at.set(o,function(t){var o=j(),i=tt(),a=rt(),l=nt(),c=et(r);return E(e,it(it({},t),{},{pluginConfig:n,pluginState:c,appConfig:o,appState:i,mapState:a,services:l,mapProvider:o.mapProvider,iconRegistry:pe(),buttonConfig:g(()=>Object.fromEntries(Object.entries(i.buttonConfig).filter(e=>{var[t,n]=e;return n.pluginId===r})),[i.buttonConfig])}))}),at.get(o)}function ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function st(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ct(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ct(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function pt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ut(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?pt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ft(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?dt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function vt(){var e=j(),t=tt(),r=rt(),n=nt(),o=u(Je),i={appConfig:e,appState:t,mapState:r,services:n,mapProvider:null==e?void 0:e.mapProvider,iconRegistry:pe()};function a(t,r){var n,a;if(r){var l,c,s=e.pluginRegistry.registeredPlugins.find(e=>e.id===r);n=s?ft({pluginId:s.id},s.config):{},a=ft(ft({},null!==(l=null==o||null===(c=o.state)||void 0===c?void 0:c[r])&&void 0!==l?l:{}),{},{dispatch:null==o?void 0:o.dispatch})}var p=ft(ft({},i),{},{pluginConfig:n,pluginState:a});return"function"==typeof t?t(p):t}return a.ctx=i,a}function mt(e){var t=tt(),{pluginRegistry:r}=j(),n=u(Je);h(()=>{if(null!=t&&t.dispatch&&n){var{dispatch:o}=t;r.registeredPlugins.forEach(r=>{var n,i;(null!==(n=null==r||null===(i=r.manifest)||void 0===i?void 0:i.buttons)&&void 0!==n?n:[]).flatMap(e=>{var t;return[e,...null!==(t=e.menuItems)&&void 0!==t?t:[]]}).forEach(n=>function(e){var{btn:t,pluginId:r,appState:n,dispatch:o,evaluateProp:i}=e;[{prop:"enableWhen",state:n.disabledButtons,action:"TOGGLE_BUTTON_DISABLED",invert:!0,key:"isDisabled"},{prop:"hiddenWhen",state:n.hiddenButtons,action:"TOGGLE_BUTTON_HIDDEN",key:"isHidden"},{prop:"pressedWhen",state:n.pressedButtons,action:"TOGGLE_BUTTON_PRESSED",key:"isPressed"},{prop:"expandedWhen",state:n.expandedButtons,action:"TOGGLE_BUTTON_EXPANDED",key:"isExpanded"}].forEach(e=>{var{prop:n,state:a,action:l,key:c,invert:s}=e;if("function"==typeof t[n])try{var p=i(t[n],r),u=s?!p:p;a.has(t.id)!==u&&o({type:l,payload:{id:t.id,[c]:u}})}catch(e){console.warn("".concat(n," error for button ").concat(t.id,":"),e)}})}({btn:n,pluginId:r.id,appState:t,dispatch:o,evaluateProp:e}))})}},[t,n,e])}var bt=["api"],gt=e=>{var r,n,{plugin:o,mode:i}=e,a=function(e){var t=v(null),r=j(),n=tt(),o=rt(),i=nt(),a=et(e);return f(()=>{t.current={appConfig:r,appState:n,mapState:o,services:i,mapProvider:r.mapProvider,pluginState:a}}),t}(o.id);f(()=>{o.api&&o._originalPlugin&&Object.entries(o.api).forEach(e=>{var[t,r]=e;o._originalPlugin[t]=function(e,t){var{pluginId:r,pluginConfig:n,stateRef:o}=t;return function(){var t=o.current;if(!t)throw new Error('Plugin API "'.concat(r,'" called before state is initialized'));for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return e(st(st({},t),{},{pluginConfig:n,pluginId:r}),...a)}}(r,{pluginId:o.id,pluginConfig:(null==o?void 0:o.config)||{},stateRef:a})})},[o,a]);var{InitComponent:l}=o,c=(null==o?void 0:o.config)||{},{api:s}=c,p=t(c,bt),{includeModes:u,excludeModes:d}=o.config||{},m=null===(r=null==u?void 0:u.includes(i))||void 0===r||r,b=null!==(n=null==d?void 0:d.includes(i))&&void 0!==n&&n;if(!m||b||!l)return null;var g=lt(l,{pluginId:o.id,pluginConfig:p});return E(g,{})},ht=()=>{var{mode:e}=tt(),{pluginRegistry:t}=j();(()=>{var{dispatch:e,hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o}=tt(),{eventBus:a}=nt(),l=v(e),c=v({hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o});l.current=e,c.current={hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o},f(()=>{var e=e=>{var{id:t,config:r}=e;l.current({type:"ADD_BUTTON",payload:{id:t,config:r}}),Array.isArray(r.menuItems)&&r.menuItems.forEach(e=>{l.current({type:"ADD_BUTTON",payload:{id:e.id,config:ut(ut({},e),{},{isMenuItem:!0})}})})},t=e=>{var{id:t,prop:r,value:n}=e,{hiddenButtons:o,disabledButtons:i,pressedButtons:a,expandedButtons:s}=c.current;switch(r){case"hidden":var p="boolean"==typeof n?n:!o.has(t);l.current({type:"TOGGLE_BUTTON_HIDDEN",payload:{id:t,isHidden:p}});break;case"disabled":var u="boolean"==typeof n?n:!i.has(t);l.current({type:"TOGGLE_BUTTON_DISABLED",payload:{id:t,isDisabled:u}});break;case"pressed":var d="boolean"==typeof n?n:!a.has(t);l.current({type:"TOGGLE_BUTTON_PRESSED",payload:{id:t,isPressed:d}});break;case"expanded":var f="boolean"==typeof n?n:!s.has(t);l.current({type:"TOGGLE_BUTTON_EXPANDED",payload:{id:t,isExpanded:f}})}},r=e=>{var{id:t,config:r}=e;return l.current({type:"ADD_PANEL",payload:{id:t,config:r}})},n=e=>l.current({type:"REMOVE_PANEL",payload:e}),o=e=>l.current({type:"OPEN_PANEL",payload:{panelId:e}}),s=e=>l.current({type:"CLOSE_PANEL",payload:e}),p=e=>{var{id:t,config:r}=e;return l.current({type:"ADD_CONTROL",payload:{id:t,config:r}})};return a.on(i.APP_ADD_BUTTON,e),a.on(i.APP_TOGGLE_BUTTON_STATE,t),a.on(i.APP_ADD_PANEL,r),a.on(i.APP_REMOVE_PANEL,n),a.on(i.APP_SHOW_PANEL,o),a.on(i.APP_HIDE_PANEL,s),a.on(i.APP_ADD_CONTROL,p),()=>{a.off(i.APP_ADD_BUTTON,e),a.off(i.APP_TOGGLE_BUTTON_STATE,t),a.off(i.APP_ADD_PANEL,r),a.off(i.APP_REMOVE_PANEL,n),a.off(i.APP_SHOW_PANEL,o),a.off(i.APP_HIDE_PANEL,s),a.off(i.APP_ADD_CONTROL,p)}},[a])})();var r=vt();return mt(r),E(w,{children:t.registeredPlugins.map((t,n)=>E(gt,{plugin:t,mode:e,evaluateProp:r},"init-".concat(t.id,"-").concat(n)))})};var yt=function(e){var{id:t,center:r,zoom:n,bounds:o}=e,i=((e,t)=>{var r=new URLSearchParams(t),n=r.get("".concat(e,":center")),o=r.get("".concat(e,":zoom"));if(!n||!o)return null;var[i,a]=n.split(",").map(Number);return{center:[i,a],zoom:Number(o)}})(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search);return i?{center:i.center,zoom:i.zoom}:o?{bounds:o}:{center:r,zoom:n}};function Ot(){var{id:e}=j(),{eventBus:t}=nt();f(()=>{if(e){var r=t=>{var{current:r}=t;!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.href,n=new URL(r||"http://localhost"),o=[...new URLSearchParams(n.search)].map(e=>{var[t,r]=e;return"".concat(t,"=").concat(r)}),i=[];t.center&&i.push("".concat(e,":center=").concat(t.center[0],",").concat(t.center[1])),null!=t.zoom&&i.push("".concat(e,":zoom=").concat(t.zoom));var a=o.filter(e=>!i.some(t=>t.split("=")[0]===e.split("=")[0])),l=n.hash||"",c="".concat(n.origin).concat(n.pathname,"?").concat([...a,...i].join("&")).concat(l);window.history.replaceState(window.history.state,"",c)}(e,{center:r.center,zoom:r.zoom})};return t.on(i.MAP_STATE_UPDATED,r),()=>t.off(i.MAP_STATE_UPDATED,r)}},[e])}var Pt=e=>{var{direction:t}=e;return"Map moved ".concat(t,".")},Et=e=>{var{from:t,to:r,areaDimensions:n,isAtMaxZoom:o,isAtMinZoom:i}=e;return"Map zoomed ".concat(r>t?"in":"out").concat(o?" (Maximum zoom)":"").concat(i?" (Minimum zoom)":"",". New area approximately ").concat(n,".")},_t=e=>{var{areaDimensions:t,isAtMaxZoom:r,isAtMinZoom:n}=e;return"New area approximately ".concat(t).concat(r?" (Maximum zoom)":"").concat(n?" (Minimum zoom)":"",".")},wt=e=>{var{isAtMaxZoom:t,isAtMinZoom:r}=e;return"No change, ".concat(t?"maximum zoom reached":"").concat(r?"minimum zoom reached":"",".")};function Rt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function jt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Rt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Rt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Tt(){var{mapProvider:e}=j(),{eventBus:t,announce:r}=nt();f(()=>{var n=t=>{var{previous:n,current:o}=t;if(null!=n&&n.center&&null!=o&&o.center){var i=((e,t,r)=>{var n=e.zoom!==t.zoom,o=e.center[0]!==t.center[0]||e.center[1]!==t.center[1],i=r.getAreaDimensions();if(o&&!n){var a=r.getCardinalMove(e.center,t.center);return Pt({direction:a,areaDimensions:i})}return!o&&n?Et(jt(jt({},t),{},{from:e.zoom,to:t.zoom,areaDimensions:i})):o||n?_t(jt(jt({},t),{},{areaDimensions:i})):wt(jt({},t))})(n,o,e);i&&r(i,"core")}};return t.on(i.MAP_STATE_UPDATED,n),()=>{t.off(i.MAP_STATE_UPDATED,n)}},[e,r])}var St=e=>{if(null==e||!e.current)return{offsetWidth:0,offsetHeight:0};var t=e.current.firstElementChild;return null!=t&&t.classList.contains("im-c-panel")&&0!==t.offsetWidth&&0!==t.offsetHeight?{offsetWidth:t.offsetWidth,offsetHeight:t.offsetHeight}:{offsetWidth:0,offsetHeight:0}},Dt=e=>{var t,r=null==e||null===(t=e.current)||void 0===t?void 0:t.querySelector(".im-c-button-group");return r?r.offsetWidth:0},At=(e,t,r,n)=>{var o=t/n,i=e/r;return o>=.5&&i>=.5?o>=i?{colH:t,colW:e,rowW:0,rowH:0}:{colH:0,colW:0,rowW:e,rowH:t}:{colH:t,colW:e,rowW:e,rowH:t}},kt=(e,t,r,n,o,i,a)=>{var l=At(e.offsetWidth,e.offsetHeight,r,n),c=At(t.offsetWidth,t.offsetHeight,r,n),s=0===t.offsetHeight&&0===l.colH,p=0===e.offsetHeight&&0===c.colH,u=e.offsetHeight+t.offsetHeight+(e.offsetHeight>0&&t.offsetHeight>0?a:0)>o&&!s&&!p;return{panelInset:u?i+Math.max(e.offsetWidth,t.offsetWidth)+a:0,rowA:u?{w:0,h:0}:{w:l.rowW,h:l.rowH},rowB:u?{w:0,h:0}:{w:c.rowW,h:c.rowH}}},Mt=(e,t,r,n,o,i,a)=>e+t>o?i+Math.max(r,n)+a:0,Ct=e=>{var{mainRef:t,leftRef:r,rightRef:n,actionsRef:o,footerRef:i,leftTopRef:a,leftBottomRef:l,rightTopRef:c,rightBottomRef:s}=e;if(![t,r,n,o,i].some(e=>!(null!=e&&e.current))){var p=t.current,u=r.current,d=o.current,f=i.current,v=Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--divider-gap"),10),m=St(a),b=St(l),g=St(c),h=St(s),y=Math.max(Dt(r),Dt(n)),O=p.offsetLeft+u.offsetLeft+y+v,P=u.offsetLeft+y+v,E=u.offsetTop,_=p.offsetHeight-f.offsetTop+v,w=Math.max(p.offsetHeight-d.offsetTop+v,_),R=p.offsetHeight-E-w,j=p.offsetWidth-(O-p.offsetLeft)-P,T=kt(m,b,j,R,R/2,p.offsetLeft+u.offsetLeft,v),S=kt(g,h,j,R,R/2,u.offsetLeft,v),D=T.panelInset,A=S.panelInset,k=Mt(T.rowA.w,S.rowA.w,T.rowA.h,S.rowA.h,j/2,E,v),M=Mt(T.rowB.w,S.rowB.w,T.rowB.h,S.rowB.h,j/2,_,v),C=p.offsetWidth-2*v,I=p.offsetHeight-2*v,L=p.offsetLeft+2*C/3,N=2*C/3,B=2*I/3;return{left:Math.max(O,Math.min(D,L)),right:Math.max(P,Math.min(A,N)),top:Math.max(E,Math.min(k,B)),bottom:Math.max(w,Math.min(M,B))}}},It=(e,t)=>Object.entries(e).reduce((e,r)=>{var[n,o]=r;return e[n]=Math.round(o/t),e},{}),Lt=e=>"Feature"===e.type?Lt(e.geometry):"Point"===e.type?e.coordinates:"MultiPoint"===e.type?e.coordinates[0]:null;function Nt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Bt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Nt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Nt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var xt=e=>{var{mapContainerRef:t}=e,r=j(),{id:n,mapProvider:o}=r,{safeZoneInset:a,breakpoint:l,isLayoutReady:c,syncMapPadding:s}=tt(),{isMapReady:p,mapStyle:u,mapSize:d,center:m,zoom:b,bounds:g}=rt(),h=v(!1),y=yt({id:n,center:m,zoom:b,bounds:g});return f(()=>{if(a&&c&&u&&d&&!h.current)return requestAnimationFrame(()=>{o.initMap(Bt(Bt({},r),{},{pixelRatio:window.devicePixelRatio*W[d],container:t.current,padding:a,center:y.center,zoom:y.zoom,bounds:y.bounds,mapStyle:u,mapSize:d}))}),h.current=!0,()=>{}},[a,c,u,d]),function(){var{mapProvider:e}=j(),{dispatch:t}=rt(),{eventBus:r}=nt(),n=v(null),o=v(!1);f(()=>{if(e){var a=e=>{t({type:"MAP_MOVE",payload:e})},l=e=>{t({type:"MAP_MOVE_END",payload:e}),r.emit(i.MAP_STATE_UPDATED,{previous:n.current,current:e}),n.current=e},c=r=>{o.current||(n.current={center:e.getCenter(),zoom:e.getZoom()},o.current=!0),t({type:"MAP_FIRST_IDLE",payload:r})};return r.on(i.MAP_MOVE,a),r.on(i.MAP_MOVE_END,l),r.on(i.MAP_FIRST_IDLE,c),()=>{r.off(i.MAP_MOVE,a),r.off(i.MAP_MOVE_END,l),r.off(i.MAP_FIRST_IDLE,c)}}},[e,t])}(),Ot(),Tt(),(()=>{var{mapProvider:e,eventBus:t}=j(),{dispatch:r,layoutRefs:n}=tt(),{mapSize:o}=rt(),a=v(o);a.current=o;var l=()=>{var t=Ct(n),o=It(t,W[a.current]);"function"==typeof r&&r({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t,syncMapPadding:!1}}),"function"==typeof e.setPadding&&e.setPadding(o)};f(()=>{if(e){var t=e.fitToBounds;e.fitToBounds=function(r){if(r)return arguments.length>1&&void 0!==arguments[1]&&arguments[1]||l(),t.call(e,r)};var r=e.setView;return e.setView=t=>{var{center:n,zoom:o}=t;if(n)return l(),r.call(e,{center:n,zoom:o})},()=>{e.fitToBounds=t,e.setView=r}}},[e,r,n,o]),f(()=>{if(e&&t){var r=t=>e.fitToBounds(t),n=t=>e.setView(t);return t.on(i.MAP_FIT_TO_BOUNDS,r),t.on(i.MAP_SET_VIEW,n),()=>{t.off(i.MAP_FIT_TO_BOUNDS,r),t.off(i.MAP_SET_VIEW,n)}}},[e,t])})(),(()=>{var{id:e,mapProvider:t,eventBus:r}=j(),{layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l}=tt(),c=v({layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l});c.current={layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l},f(()=>{if(t&&r){var o=r=>{var o,i,a,{panelId:l,visibleGeometry:s}=r,{panelConfig:p,panelRegistry:u}=c.current,d=null!=p&&p[l]?p:null!==(o=null==u?void 0:u.getPanelConfig())&&void 0!==o?o:p,f=null!=s?s:null==d||null===(i=d[l])||void 0===i?void 0:i.visibleGeometry,v=null===(a=n.appContainerRef.current)||void 0===a?void 0:a.querySelector("#".concat(e,"-panel-").concat(l));if(f&&"function"==typeof t.isGeometryObscured){var m=()=>{if(v){var e,r=v.getBoundingClientRect();if(r&&0!==r.width&&0!==r.height){if(t.isGeometryObscured(f,r))if("Point"===(e=(o=f)?"Feature"===o.type?null===(i=o.geometry)||void 0===i?void 0:i.type:o.type:null)||"MultiPoint"===e){var n=Lt(f);n&&t.setView({center:n})}else t.fitToBounds(f)}else requestAnimationFrame(m)}var o,i};requestAnimationFrame(m)}};return r.on(i.APP_PANEL_OPENED,o),()=>{r.off(i.APP_PANEL_OPENED,o)}}},[t,r])})(),f(()=>{p&&s&&o.setPadding(It(a,W[d]))},[p,d,l,a]),null};var Ht={keydown:{ArrowUp:"panUp",ArrowDown:"panDown",ArrowLeft:"panLeft",ArrowRight:"panRight","+":"zoomIn","=":"zoomIn","-":"zoomOut",_:"zoomOut"},keyup:{"Alt+k":"showKeyboardControls","Alt+K":"showKeyboardControls","Alt+ArrowRight":"highlightNextLabel","Alt+ArrowLeft":"highlightNextLabel","Alt+ArrowUp":"highlightNextLabel","Alt+ArrowDown":"highlightNextLabel","Alt+Enter":"highlightLabelAtCenter","Alt+i":"getInfo","Alt+I":"getInfo",Escape:"clearSelection"}},zt=(e,t,n)=>{var o,{containerRef:i,dispatch:a,panDelta:c,nudgePanDelta:s,zoomDelta:p,nudgeZoomDelta:u,readMapText:d}=n,f=e=>e?s:c,v=e=>e?u:p;return{showKeyboardControls:()=>{a({type:"OPEN_PANEL",payload:{panelId:"keyboardHelp",props:{triggeringElement:i.current}}})},panUp:t=>e.panBy([0,-f(t.shiftKey)]),panDown:t=>e.panBy([0,f(t.shiftKey)]),panLeft:t=>e.panBy([-f(t.shiftKey),0]),panRight:t=>e.panBy([f(t.shiftKey),0]),zoomIn:t=>e.zoomIn(v(t.shiftKey)),zoomOut:t=>e.zoomOut(v(t.shiftKey)),getInfo:(o=r(function*(r){var n,o=e.getCenter(),i=yield l(e.getZoom(),o),a=null===(n=e.getAreaDimensions)||void 0===n?void 0:n.call(e),c=a?"".concat(i,". Covering ").concat(a,"."):"".concat(i,".");t(c,"core")}),function(e){return o.apply(this,arguments)}),highlightNextLabel:r=>{if(d||!e.highlightNextLabel){var n=e.highlightNextLabel(r.key);t(n,"core")}},highlightLabelAtCenter:()=>{if(d||!e.highlightNextLabel){var r=e.highlightLabelAtCenter();t(r,"core")}},clearSelection:()=>{var t;return null==e||null===(t=e.clearHighlightedLabel)||void 0===t?void 0:t.call(e)}}};var Ft=()=>{var{mapStatusRef:e}=nt();return E("div",{ref:e,role:"status",className:"im-c-viewport__status","aria-live":"polite","aria-atomic":"true","aria-label":"Map updates"})},Wt={active:"M5.035 20H1v-2h4.035C5.525 11.069 11.069 5.525 18 5.035V1h2v4.035c6.931.49 12.475 6.034 12.965 12.965H37v2h-4.035c-.49 6.931-6.034 12.475-12.965 12.965V37h-2v-4.035C11.069 32.475 5.525 26.931 5.035 20zM19 7c-6.581.005-11.995 5.419-12 12 .005 6.581 5.419 11.995 12 12 6.581-.005 11.995-5.419 12-12-.005-6.581-5.419-11.995-12-12zm0 10a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2z",inactive:"M5.035 20H1v-2h4.035a13.98 13.98 0 0 1 .246-1.8l1.96.399C7.083 17.375 7 18.178 7 19s.083 1.625.241 2.401l-1.96.399a13.98 13.98 0 0 1-.246-1.8zM20 5.035a13.98 13.98 0 0 1 1.8.246l-.399 1.96C20.625 7.083 19.822 7 19 7s-1.625.083-2.401.241l-.399-1.96a13.98 13.98 0 0 1 1.8-.246V1h2v4.035zm-2 27.93a13.98 13.98 0 0 1-1.8-.246l.399-1.96c.776.158 1.579.241 2.401.241s1.625-.083 2.401-.241l.399 1.96a13.98 13.98 0 0 1-1.8.246V37h-2v-4.035zM32.965 20a13.98 13.98 0 0 1-.246 1.8l-1.96-.399c.158-.776.241-1.579.241-2.401s-.083-1.625-.241-2.401l1.96-.399a13.98 13.98 0 0 1 .246 1.8H37v2h-4.035zM19 17a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2zm3.8-9.385l.634-1.897c1.789.598 3.438 1.553 4.848 2.805l-1.327 1.496c-1.196-1.06-2.605-1.886-4.155-2.404zm5.181 3.43l1.496-1.327c1.252 1.41 2.207 3.059 2.805 4.848l-1.897.634c-.518-1.55-1.344-2.959-2.404-4.155zM30.385 22.8l1.897.634c-.598 1.789-1.553 3.438-2.805 4.848l-1.496-1.327c1.06-1.196 1.886-2.605 2.404-4.155zm-3.43 5.181l1.327 1.496c-1.41 1.252-3.059 2.207-4.848 2.805l-.634-1.897c1.55-.518 2.959-1.344 4.155-2.404zM15.2 30.385l-.634 1.897c-1.789-.598-3.438-1.553-4.848-2.805l1.327-1.496c1.196 1.06 2.605 1.886 4.155 2.404zm-5.181-3.43l-1.496 1.327c-1.252-1.41-2.207-3.059-2.805-4.848l1.897-.634c.518 1.55 1.344 2.959 2.404 4.155zM7.615 15.2l-1.897-.634c.598-1.789 1.553-3.438 2.805-4.848l1.496 1.327c-1.06 1.196-1.886 2.605-2.404 4.155zm3.43-5.181L9.718 8.523c1.41-1.252 3.059-2.207 4.848-2.805l.634 1.897c-1.55.518-2.959 1.344-4.155 2.404z"},Gt=()=>{var{id:e}=j(),{crossHairRef:t,crossHair:r}=(()=>{var{mapProvider:e}=j(),{safeZoneInset:t}=tt(),{eventBus:r}=nt(),{crossHair:n,dispatch:o,mapSize:a}=rt(),l=(e,r,n)=>{if(t){var o=r*W[a],i=n*W[a];e.style.transform="translate(".concat(o-t.left,"px, ").concat(i-t.top,"px)"),e.style.left="0",e.style.top="0",e.style.display="block"}},c=b(t=>{if(t){((e,t,r,n,o)=>{e.pinToMap=(i,a)=>{var{x:l,y:c}=r.mapToScreen(i);e.coords=i,n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!0,isVisible:!0,coords:i,state:a}}),o(t,l,c)},e.fixAtCenter=()=>{t.style.left="50%",t.style.top="50%",t.style.transform="translate(0,0)",t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!0}})},e.remove=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!1}})},e.show=()=>{t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!0}})},e.hide=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!1}})},e.setStyle=e=>{n({type:"UPDATE_CROSS_HAIR",payload:{state:e}})},e.getDetail=()=>{var t=e.isPinnedToMap?e.coords:r.getCenter();return{state:e.state,point:r.mapToScreen(t),zoom:r.getZoom(),coords:t}}})(n,t,e,o,l);var a=()=>{if(n.coords&&n.isPinnedToMap){var{x:r,y:o}=e.mapToScreen(n.coords);l(t,r,o)}};return r.on(i.MAP_RENDER,a),()=>{r.off(i.MAP_RENDER,a)}}},[n,e,a,o,t]);return f(()=>{n.coords&&n.isPinnedToMap&&n.pinToMap(n.coords,n.state)},[a]),{crossHair:n,crossHairRef:c}})(),{isVisible:n,isPinnedToMap:o,state:a}=r;return E("svg",{id:"".concat(e,"-cross-hair"),ref:t,className:"im-c-cross-hair",width:"38",height:"38",viewBox:"0 0 38 38",fillRule:"evenodd",fill:"currentColor",style:{position:"absolute",left:o?0:"50%",top:o?0:"50%",pointerEvents:"none",display:n?"block":"none"},children:E("path",{d:Wt[a||"active"]})})};function Ut(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Vt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Ut(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ut(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Zt=(e,t,r,n)=>{if(!t||!n)return{x:0,y:0};var{x:o,y:i}=t.mapToScreen(e);return{x:o*W[r],y:i*W[r]-19}},Kt=(e,t,r,n,o)=>{e.forEach(e=>{var i=t.get(e.id);if(i&&e.coords){var{x:a,y:l}=Zt(e.coords,r,n,o);i.style.transform="translate(".concat(a,"px, ").concat(l,"px)"),i.style.display="block"}})},qt=()=>{var{mapProvider:e}=j(),{eventBus:t}=nt(),{markers:r,dispatch:n,mapSize:o,isMapReady:a}=rt(),l=v(new Map);h(()=>{e&&(r.markerRefs=l.current,r.add=(t,r,i)=>{var{x:l,y:c}=Zt(r,e,o,a);n({type:"UPSERT_LOCATION_MARKER",payload:Vt(Vt({id:t,coords:r},i),{},{x:l,y:c,isVisible:!0})})},r.remove=e=>{n({type:"REMOVE_LOCATION_MARKER",payload:e})},r.getMarker=e=>r.items.find(t=>t.id===e))},[e,r,n,o]);var c=b(n=>c=>{if(c){l.current.set(n,c);var s=()=>{a&&e&&Kt(r.items,l.current,e,o,a)};return t.on(i.MAP_RENDER,s),()=>{t.off(i.MAP_RENDER,s)}}l.current.delete(n)},[r,e,a,o]);return f(()=>{a&&e&&Kt(r.items,l.current,e,o,a)},[o,r.items,e,a]),((e,t)=>{f(()=>{var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=e&&e.id&&null!=e&&e.coords){var{id:r,coords:n,options:o}=e;t.add(r,n,o)}};e.on(i.APP_ADD_MARKER,r);var n=e=>{e&&t.remove(e)};return e.on(i.APP_REMOVE_MARKER,n),()=>{e.off(i.APP_ADD_MARKER,r),e.off(i.APP_REMOVE_MARKER,n)}},[])})(t,r),{markers:r,markerRef:c}},Yt=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null};function Xt(e){return null==e?void 0:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var $t=()=>{var{id:e,markerShape:t,markerColor:r}=j(),{mapStyle:n}=rt(),{markers:o,markerRef:i}=qt();if(n){var a=G.find(e=>e.shape===t);return E(w,{children:o.items.map(o=>_("svg",{ref:i(o.id),id:"".concat(e,"-marker-").concat(o.id),className:"im-c-marker im-c-marker--".concat(o.markerShape||Xt(t)),width:"38",height:"38",viewBox:"0 0 38 38",style:{display:o.isVisible?"block":"none"},children:[E("path",{className:"im-c-marker__background",d:a.backgroundPath,fill:Yt(o.color||r,n.id)}),E("path",{className:"im-c-marker__graphic",d:a.graphicPath})]},o.id))})}},Jt=e=>{var{keyboardHintPortalRef:t}=e,{id:r,mapProvider:n,mapLabel:o,keyboardHintText:a}=j(),{interfaceType:l,mode:c,previousMode:s,layoutRefs:p,safeZoneInset:u}=tt(),{mapSize:d}=rt(),m=v(null),b=v(null),[g,h]=y(!1);!function(e){var{mapProvider:t,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}=j(),{interfaceType:l,dispatch:c}=tt(),{announce:s}=nt();f(()=>{var p=e.current;if(p&&"keyboard"===l){var u=zt(t,s,{containerRef:e,dispatch:c,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}),d=e=>t=>{var r=Ht[e][(e=>{var t;return"Add"===(t=/^Key[A-Z]$/.test(e.code)?e.code.slice(3):e.key)||"NumpadAdd"===t?t="+":"Subtract"!==t&&"NumpadSubtract"!==t||(t="-"),e.altKey?"Alt+".concat(t):t})(t)];r&&u[r]&&(u[r](t),t.preventDefault())},f=d("keydown"),v=d("keyup");return p.addEventListener("keydown",f),p.addEventListener("keyup",v),()=>{p.removeEventListener("keydown",f),p.removeEventListener("keyup",v)}}},[e,l,t,r,n,o,i])}(p.viewportRef),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{mapProvider:t}=j(),{eventBus:r}=nt();f(()=>{if(t){var n={};return Object.entries(e).forEach(e=>{var[t,o]=e,i=e=>o(e);n[t]=i,r.on(t,i)}),()=>{Object.entries(n).forEach(e=>{var[t,n]=e;r.off(t,n)})}}},[t,e])}({[i.MAP_CLICK]:()=>{var e;return null==n||null===(e=n.clearHighlightedLabel)||void 0===e?void 0:e.call(n)}});var{showHint:P,handleFocus:R,handleBlur:T}=function(e){var{interfaceType:t,containerRef:r,keyboardHintRef:n,keyboardHintVisible:o,onViewportFocusChange:i}=e,a=o;return f(()=>{if(a&&r.current){var e=r.current,t=e=>{["Escape","Tab"].includes(e.key)&&i(!1)},o=t=>{var r,o=e.contains(t.target),a=null===(r=n.current)||void 0===r?void 0:r.contains(t.target);o&&!a&&i(!1)};return e.addEventListener("keydown",t),e.addEventListener("mousedown",o),()=>{e.removeEventListener("keydown",t),e.removeEventListener("mousedown",o)}}},[a,r,n,i]),{showHint:a,handleFocus:()=>{"keyboard"===t&&i(!0)},handleBlur:()=>{i(!1)}}}({interfaceType:l,containerRef:p.viewportRef,keyboardHintRef:b,keyboardHintVisible:g,onViewportFocusChange:h});return f(()=>{var e;c&&s&&c!==s&&(null===(e=p.viewportRef)||void 0===e||e.current.focus())},[c]),f(()=>{var e,t=null===(e=p.mainRef)||void 0===e?void 0:e.current;if(t)return t.classList.toggle("im-o-app__main--keyboard-hint-visible",P),()=>null==t?void 0:t.classList.remove("im-o-app__main--keyboard-hint-visible")},[P]),_(w,{children:[E(xt,{mapContainerRef:m}),_("div",{id:"".concat(r,"-viewport"),className:"im-c-viewport im-c-viewport--".concat(d),"aria-label":o,role:"application",tabIndex:"0",onFocus:R,onBlur:T,ref:p.viewportRef,children:[P&&(null==t?void 0:t.current)&&O(E("div",{className:"im-c-viewport__keyboard-hint","aria-hidden":"true",ref:b,dangerouslySetInnerHTML:{__html:a}}),t.current),E("div",{className:"im-c-viewport__map-container",ref:m}),E("div",{className:"im-c-viewport__features"}),E(Ft,{}),E("div",{className:"im-c-viewport__safezone",style:u,ref:p.safeZoneRef,children:E(Gt,{})}),E($t,{})]})]})};function Qt(e,t){var r=v(),n=v(new WeakMap);return f(()=>{var o=(Array.isArray(e)?e:[e]).map(e=>null==e?void 0:e.current).filter(Boolean);if(o.length&&t){var i=new window.ResizeObserver(e=>{for(var r of e){var{width:o,height:i}=r.contentRect,a=n.current.get(r.target)||{};a.width===o&&a.height===i||(n.current.set(r.target,{width:o,height:i}),t(r))}});return o.forEach(e=>i.observe(e)),()=>{i.disconnect(),r.current&&cancelAnimationFrame(r.current)}}},[e,t]),{frameRef:r}}var er=e=>{var t,r;return null!==(t=null==e||null===(r=e.current)||void 0===r?void 0:r.offsetHeight)&&void 0!==t?t:0},tr=(e,t,r)=>e-(t?t+r:0);function rr(){var{dispatch:e,breakpoint:t,layoutRefs:r}=tt(),{mapSize:n,isMapReady:o}=rt(),{appContainerRef:i,mainRef:a,bannerRef:l,topRef:c,topLeftColRef:s,topRightColRef:p,footerRef:u,actionsRef:d,leftTopRef:f,leftBottomRef:v,rightTopRef:m,rightBottomRef:b}=r,g=()=>{var e=i.current,t=a.current,r=c.current,n=s.current,o=p.current,l=u.current;if(![t,r,l].some(e=>!e)){var d,g,h=document.documentElement,y=Number.parseInt(getComputedStyle(h).getPropertyValue("--divider-gap"),10);e.style.setProperty("--top-col-width","".concat((d=n.offsetWidth,g=o.offsetWidth,d||g?Math.max(d,g):0),"px"));var O=n.offsetHeight+r.offsetTop,P=l.offsetTop-O-y;e.style.setProperty("--left-offset-top","".concat(O,"px")),e.style.setProperty("--left-offset-bottom","".concat(t.offsetHeight-l.offsetTop+y,"px")),e.style.setProperty("--left-top-max-height","".concat(P,"px"));var E=o.offsetHeight+r.offsetTop,_=l.offsetTop-E-y;e.style.setProperty("--right-offset-top","".concat(E,"px")),e.style.setProperty("--right-offset-bottom","".concat(t.offsetHeight-l.offsetTop+y,"px")),e.style.setProperty("--right-top-max-height","".concat(_,"px")),e.style.setProperty("--left-top-panel-max-height","".concat(tr(P,er(v),y),"px")),e.style.setProperty("--left-bottom-panel-max-height","".concat(tr(P,er(f),y),"px")),e.style.setProperty("--right-top-panel-max-height","".concat(tr(_,er(b),y),"px")),e.style.setProperty("--right-bottom-panel-max-height","".concat(tr(_,er(m),y),"px"))}};h(()=>{requestAnimationFrame(()=>{g();var t=Ct(r);e({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t}})})},[t,n,o]),Qt([l,a,c,s,p,d,u,f,v,m,b],()=>{requestAnimationFrame(()=>{g()})})}var nr=()=>{var{mapStyle:e}=rt();if(null!=e&&e.logo)return E("img",{className:"im-c-logo",src:e.logo,alt:e.logoAltText})},or=()=>{var{breakpoint:e}=tt(),{mapStyle:t}=rt();return t?"mobile"!==e&&E("div",{className:"im-c-attributions",dangerouslySetInnerHTML:{__html:t.attribution}}):null},ir=(e,t)=>e.modal?"modal":"bottom"===e.slot&&["tablet","desktop"].includes(t)?"left-top":e.slot,ar=(e,t)=>{var r;return!(e.includeModes&&!e.includeModes.includes(t))&&(null===(r=e.excludeModes)||void 0===r||!r.includes(t))},lr=e=>"string"==typeof e.html&&!e.pluginId;var cr={"left-top":{inset:"var(--left-offset-top) auto auto var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"left-bottom":{inset:"auto auto var(--left-offset-bottom) var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"right-top":{inset:"var(--right-offset-top) var(--primary-gap) auto auto",maxHeight:"var(--right-top-max-height)"},"right-bottom":{inset:"auto var(--primary-gap) var(--right-offset-bottom) auto",maxHeight:"var(--right-top-max-height)"}},sr="--modal-inset",pr="--modal-max-height",ur=(e,t,r)=>{f(()=>{if(t){var n=t=>{"Escape"===t.key&&(t.stopPropagation(),t.preventDefault(),r()),"Tab"===t.key&&e.current&&function(e,t){if("Tab"===t.key){var r=Array.from(e.querySelectorAll(["a[href]:not([disabled])","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'*[tabindex="0"]:not([disabled])'].join(",")));if(0!==(r=r.filter(e=>!!e.offsetParent)).length){var n=r[0],o=r[r.length-1];!t.shiftKey||document.activeElement!==e&&document.activeElement!==n||(o.focus(),t.preventDefault()),t.shiftKey||document.activeElement!==o||(n.focus(),t.preventDefault())}}}(e.current,t)},o=e.current;return null==o||o.addEventListener("keydown",n),()=>{null==o||o.removeEventListener("keydown",n)}}},[t,e,r])};function dr(e){var{mainRef:t,panelRef:r,isModal:n,rootEl:o,buttonContainerEl:i,handleClose:a}=e,{layoutRefs:l}=tt();ur(r,n,a),Qt([t],()=>{if(n&&t.current){var e=document.documentElement,o=getComputedStyle(e),a=Number.parseInt(o.getPropertyValue("--divider-gap"),10),c=Number.parseInt(o.getPropertyValue("--primary-gap"),10),s=r.current.dataset.slot;if(null!=s&&s.endsWith("-button")){var p,u,d,f=null===(p=r.current)||void 0===p?void 0:p.id,v=f?document.querySelector('[aria-controls="'.concat(f,'"]')):null,m=null!==(u=null!==(d=null==v?void 0:v.parentElement)&&void 0!==d?d:null!=i&&i.isConnected?i:null)&&void 0!==u?u:document.querySelector('[data-button-slot="'.concat(s,'"]'));if(!m)return;((e,t,r)=>{var n=document.documentElement,o=t.current.getBoundingClientRect(),i=e.getBoundingClientRect(),a=!!e.closest(".im-o-app__left-bottom, .im-o-app__right-bottom"),l=!!e.closest(".im-o-app__left-top, .im-o-app__left-bottom"),c=a?"auto":"".concat(Math.round(i.top-o.top),"px"),s=a?"".concat(Math.round(o.bottom-i.bottom),"px"):"auto",p=l?"auto":"".concat(Math.round(o.right-i.left+r),"px"),u=l?"".concat(Math.round(i.right-o.left+r),"px"):"auto",d=a?Math.round(o.bottom-i.bottom):Math.round(i.top-o.top);n.style.setProperty(sr,"".concat(c," ").concat(p," ").concat(s," ").concat(u)),n.style.setProperty(pr,"".concat(o.height-d-r,"px"))})(m,t,a)}else((e,t,r)=>{var n,o,i=document.documentElement,a=cr[e];if(a)return i.style.setProperty(sr,a.inset),void i.style.setProperty(pr,a.maxHeight);var l=null===(n=t["".concat(e[0].toLowerCase()+e.slice(1),"Ref")])||void 0===n?void 0:n.current,c=null===(o=t.mainRef)||void 0===o?void 0:o.current;if(l&&c){var s=l.getBoundingClientRect(),p=c.getBoundingClientRect(),u=s.left-p.left,d=s.top-p.top;i.style.setProperty(sr,"".concat(d,"px auto auto ").concat(u,"px")),i.style.setProperty(pr,"".concat(p.height-d-r,"px"))}})(s,l,c)}}),f(()=>{if(n){var e=e=>{var t=e.target.closest(".im-o-app__modal-backdrop");o&&t&&o.contains(t)&&a()};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}},[n,o,a]),f(()=>{if(n&&r.current&&o)return c({containerEl:r.current,isFullscreen:!0,boundaryEl:o}),()=>{c({containerEl:r.current,isFullscreen:!1,boundaryEl:o})}},[n,r,o]),((e,t,r)=>{f(()=>{if(e){var n=e=>{var n=e.target,o=t.current;if(n&&o&&r){var i=r.contains(n),a=o.contains(n);i&&!a&&o.focus()}};return document.addEventListener("focusin",n),()=>{document.removeEventListener("focusin",n)}}},[e,t,r])})(n,r,o)}var fr=e=>{var{id:t,svgContent:r}=e,n=pe()[t]||r;return E("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:n}})};function vr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?vr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):vr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var br=(e,t)=>e?"dialog":t?"complementary":"region",gr=e=>{var t,r,n,{panelId:o,panelConfig:i,props:a,WrappedChild:l,label:c,html:s,children:p,isOpen:u=!0,rootRef:d}=e,{id:m}=j(),{dispatch:h,breakpoint:O,layoutRefs:P}=tt(),w=document.getElementById("".concat(m,"-im-app")),R=i[O],T="".concat(m,"-panel-").concat(Xt(o)),{isDialog:S,isModal:D,isDismissible:A,shouldFocus:k,buttonContainerEl:M}=((e,t)=>{var r="side"===e.slot&&e.open&&!e.modal,n=!r&&e.dismissible,o=!0===e.modal;return{isAside:r,isDialog:n,isModal:o,isDismissible:!1!==e.dismissible,shouldFocus:Boolean(o||t),buttonContainerEl:e.slot.endsWith("button")?null==t?void 0:t.parentNode:void 0}})(R,null==a?void 0:a.triggeringElement),C=D&&u,I=P.mainRef,L=v(null),N=v(null),B=v(u),x=function(e){var[t,r]=y(!1),n=b(()=>{var t=null==e?void 0:e.current;t&&r(t.scrollHeight>t.clientHeight)},[e]);return Qt(e,n),t}(N),H=d||L,z=()=>{requestAnimationFrame(()=>{var e,t;null===(e=(t=(null==a?void 0:a.triggeringElement)||P.viewportRef.current).focus)||void 0===e||e.call(t)}),h({type:"CLOSE_PANEL",payload:o})};dr({mainRef:I,panelRef:H,isModal:C,rootEl:w,buttonContainerEl:M,handleClose:z}),f(()=>{var e,t=u&&!B.current;(B.current=u,k&&(t||u))&&(null===(e=H.current)||void 0===e||e.focus())},[u]);var F,W,G=(F=R.slot,W=null===(t=R.showLabel)||void 0===t||t,["im-c-panel","im-c-panel--".concat(F),!W&&"im-c-panel--no-heading"].filter(Boolean).join(" ")),U=((e,t)=>["im-c-panel__body",!e&&t&&"im-c-panel__body--offset"].filter(Boolean).join(" "))(null===(r=R.showLabel)||void 0===r||r,A),V=g(()=>s?{__html:s}:null,[s]),Z=(e=>{var{elementId:t,shouldFocus:r,isDialog:n,isDismissible:o,isModal:i,width:a,panelClass:l,slot:c}=e;return{id:t,"aria-labelledby":"".concat(t,"-label"),tabIndex:r?-1:void 0,role:br(n,o),"aria-modal":n&&i?"true":void 0,style:a?{width:a}:void 0,className:l,"data-slot":c}})({elementId:T,shouldFocus:k,isDialog:S,isDismissible:A,isModal:D,width:R.width,panelClass:G,slot:R.slot}),K=(e=>{var{bodyRef:t,panelBodyClass:r,isBodyScrollable:n,elementId:o}=e;return{ref:t,className:r,tabIndex:n?0:void 0,role:n?"region":void 0,"aria-labelledby":n?"".concat(o,"-label"):void 0}})({bodyRef:N,panelBodyClass:U,isBodyScrollable:x,elementId:T});return _("div",mr(mr({ref:H},Z),{},{children:[E("h2",{id:"".concat(T,"-label"),className:null===(n=R.showLabel)||void 0===n||n?"im-c-panel__heading im-e-heading-m":"im-u-visually-hidden",children:c}),A&&E("button",{"aria-label":"Close ".concat(c),className:"im-c-panel__close",onClick:z,children:E(fr,{id:"close"})}),V?E("div",mr(mr({},K),{},{dangerouslySetInnerHTML:V})):_("div",mr(mr({},K),{},{children:[" ",l?E(l,mr({},a)):p]}))]}))};function hr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function yr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?hr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):hr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Or(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,pluginRegistry:i,panelConfig:a,mode:l,openPanels:c}=r,s=Object.entries(c),p=s.filter(e=>{var t,[r]=e,n=null===(t=a[r])||void 0===t?void 0:t[o];return null==n?void 0:n.modal}),u=p.length>0?p[p.length-1][0]:null;return s.map(e=>{var c,[s,{props:p}]=e,d=a[s];if(!d)return null;if(lr(d))return null;var f=d[o];if(!f)return null;var v=ir(f,o);if(!((e,t,r,n)=>{var{targetSlot:o,slot:i,mode:a,isFullscreen:l,allowedModalPanelId:c}=n,s=o.endsWith("-button");return!(!de.panel.includes(o)&&!s||!ar(t,a)||!1===t.inline&&!l||o!==i||r.modal&&e!==c)})(s,d,f,{targetSlot:v,slot:t,mode:l,isFullscreen:r.isFullscreen,allowedModalPanelId:u}))return null;var m=i.registeredPlugins.find(e=>e.id===d.pluginId),b=null==m?void 0:m.id,g=d.render?lt(d.render,yr(yr({},p),{},{pluginId:b,pluginConfig:null==m?void 0:m.config})):null;return{id:s,type:"panel",order:null!==(c=f.order)&&void 0!==c?c:0,element:E(gr,{panelId:s,panelConfig:d,props:p,WrappedChild:g,label:n(d.label,b),html:b?n(d.html,b):d.html},s)}}).filter(Boolean)}var Pr=0,Er=e=>{var{children:t,content:r}=e,{interfaceType:n}=tt(),o=v(null),i=v(null),[a,l]=y(!1),[c,s]=y(!1),[p,u]=y(null),[d]=y(()=>"tooltip-".concat(Pr+=1)),m=v(null),b=v(null),g=()=>{clearTimeout(m.current),l(!1)},h=()=>{clearTimeout(b.current),m.current=setTimeout(()=>l(!0),500)},O=()=>{clearTimeout(m.current),b.current=setTimeout(()=>l(!1),0)};f(()=>{var e=e=>{"Escape"===e.key&&(clearTimeout(m.current),clearTimeout(b.current),l(!1))};if(window.addEventListener("keydown",e),a){var t=function(e,t){if(!e)return"bottom";t||(t=e.closest(".im-o-app__main"));var r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o={top:r.top-n.top,bottom:n.bottom-r.bottom,left:r.left-n.left,right:n.right-r.right},i=Object.entries(o),a=i.toSorted((e,t)=>{var[,r]=e,[,n]=t;return r-n}),[l,c]=a[0];if("top"===l||"bottom"===l)for(var[s,p]of i)if(("left"===s||"right"===s)&&Math.abs(p-c)<=50)return"left"===s?"right":"left";return{top:"bottom",bottom:"top",left:"right",right:"left"}[l]}(o.current);u(t)}return()=>{window.removeEventListener("keydown",e),clearTimeout(m.current),clearTimeout(b.current)}},[a]);var w=P(t,{ref:e=>{var r;o.current=e;var n=null===(r=t.props)||void 0===r?void 0:r.ref;"function"==typeof n?n(e):n&&"object"==typeof n&&(n.current=e)},onMouseEnter:h,onMouseLeave:O,onMouseDown:g,onKeyDown:g,onFocus:()=>{"keyboard"===n&&h(),s(!0)},onBlur:()=>{O(),s(!1)},"aria-labelledby":d});return _("div",{className:"im-c-tooltip-wrapper".concat(c?" im-c-tooltip-wrapper--has-focus":""),children:[w,E("div",{id:d,ref:i,className:"im-c-tooltip im-c-tooltip--".concat(p||"hidden"," ").concat(a?"im-c-tooltip--is-visible":""),role:"tooltip","aria-hidden":!a,children:r})]})},_r=e=>{var{popupMenuId:t,buttonId:r,instigatorId:n,pluginId:o,startPos:i,startIndex:a,menuRef:l,items:c,setIsOpen:s}=e,{id:p}=j(),{buttonRefs:u,buttonConfig:d,hiddenButtons:v,disabledButtons:m,pressedButtons:b}=tt(),h=null!=r?r:n,O=u.current[h],P=vt(),w=g(()=>{var e=[];return c.forEach((t,r)=>{v.has(t.id)||e.push(r)}),e},[c,v]),[R,T]=y(()=>{return"number"==typeof a?a:"first"===i?null!==(e=w[0])&&void 0!==e?e:-1:"last"===i&&null!==(t=w[w.length-1])&&void 0!==t?t:-1;var e,t}),S=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&null!=e&&e.preventDefault&&e.preventDefault(),O.focus(),s(!1)},D=(e,t)=>{var r=d[t.id];if("function"==typeof(null==r?void 0:r.onClick)?r.onClick(e,P(e=>e,o)):"function"==typeof t.onClick&&t.onClick(e.nativeEvent),e.nativeEvent instanceof KeyboardEvent){var n=document.getElementById("".concat(p,"-").concat(Xt(t.id)));if(n){var i=new MouseEvent("click",{bubbles:!0,cancelable:!0});i._fromKeyboardActivation=!0,n.dispatchEvent(i)}}},A=e=>{var t,r;null!==(t=l.current)&&void 0!==t&&t.contains(e.target)||null!==(r=u.current[h])&&void 0!==r&&r.contains(e.target)||s(!1)};return f(()=>{var e,t;if(null===(e=l.current)||void 0===e||e.focus(),"first"===i)T(null!==(t=w[0])&&void 0!==t?t:-1);else if("last"===i){var r;T(null!==(r=w[w.length-1])&&void 0!==r?r:-1)}return document.addEventListener("focusin",A),document.addEventListener("pointerdown",A),()=>{document.removeEventListener("focusin",A),document.removeEventListener("pointerdown",A)}},[]),E("ul",{ref:l,id:t,className:"im-c-popup-menu",role:"menu",tabIndex:"-1","aria-labelledby":h,"aria-activedescendant":R>=0?"".concat(p,"-").concat(Xt(c[R].id)):void 0,onKeyDown:e=>{["Escape","Esc"].includes(e.key)?S(e,!0):"Tab"!==e.key?["ArrowDown","ArrowUp"].includes(e.key)?(e=>{e.preventDefault();var t=w,r=t.length;if(0!==r){var n,o=t.indexOf(R);n="ArrowDown"===e.key?-1===o?0:(o+1)%r:-1===o?r-1:(o-1+r)%r,T(t[n])}})(e):"Home"===e.key&&w.length?T(w[0]):"End"===e.key&&w.length?T(w[w.length-1]):("Enter"===e.key&&(e=>{e.preventDefault();var t=c[R];t&&!m.has(t.id)&&D(e,t),O.focus(),s(!1)})(e)," "===e.key&&(e=>{e.preventDefault();var t=c[R];if(t&&!m.has(t.id)){var r=void 0!==t.isPressed||t.pressedWhen;D(e,t),r||(O.focus(),s(!1))}})(e)):S(e)},children:c.map((e,t)=>_("li",{id:"".concat(p,"-").concat(Xt(c[t].id)),className:"im-c-popup-menu__item".concat(R===t?" im-c-popup-menu__item--selected":""),role:void 0!==c[t].isPressed||c[t].pressedWhen?"menuitemcheckbox":"menuitem","aria-disabled":m.has(c[t].id)||void 0,"aria-checked":void 0!==c[t].isPressed||c[t].pressedWhen?b.has(c[t].id):void 0,style:v.has(c[t].id)?{display:"none"}:void 0,onClick:e=>((e,t)=>{e.nativeEvent._fromKeyboardActivation||m.has(t.id)||(s(!1),D(e,t))})(e,c[t]),children:[(e.iconId||e.iconSvgContent)&&E(fr,{id:e.iconId,svgContent:e.iconSvgContent}),E("span",{className:"im-c-popup-menu__item-label",children:e.label})]},e.id))})};function wr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Rr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?wr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):wr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var jr=(e,t,r)=>["im-c-map-button",e&&"im-c-map-button--".concat(Xt(e)),t&&"im-c-map-button--".concat(t),r&&"im-c-map-button--with-label"].filter(Boolean).join(" "),Tr=(e,t)=>["im-c-button-wrapper",e&&"im-c-button-wrapper--".concat(Xt(e)),t&&"im-c-button-wrapper--wide"].filter(Boolean).join(" "),Sr=e=>{" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),e.currentTarget.click())},Dr=e=>{var{buttonId:t,iconId:r,iconSvgContent:n,label:o,showLabel:i,isDisabled:a,isPressed:l,isExpanded:c,isHidden:s,isPanelOpen:p,variant:u,onClick:d,panelId:f,menuItems:m,idPrefix:b,href:g}=e,{id:h}=j(),{buttonRefs:O}=tt(),[P,w]=y(!1),[R,T]=y(null),S=v(null),D=g?"a":"button",A=(null==m?void 0:m.length)>=1,k=(e=>{var{idPrefix:t,panelId:r,buttonId:n,hasMenu:o}=e;return r?{id:"".concat(t,"-panel-").concat(Xt(r)),type:"panel"}:o?{id:"".concat(t,"-popup-").concat(Xt(n)),type:"popup"}:null})({idPrefix:b,panelId:f,buttonId:t,hasMenu:A}),M=(e=>{var t,{appId:r,buttonId:n,className:o,onClick:i,onKeyUp:a,buttonRefs:l,isDisabled:c,isPressed:s,isExpanded:p,isPanelOpen:u,isPopupOpen:d,controlledElement:f,href:v}=e;return"panel"===(null==f?void 0:f.type)?t=String(u):"popup"===(null==f?void 0:f.type)?t=d:"boolean"==typeof p&&(t=p),Rr({id:"".concat(r,"-").concat(Xt(n)),className:o,onClick:i,onKeyUp:a,ref:e=>{l.current&&n&&(l.current[n]=e)},"aria-disabled":c||void 0,"aria-expanded":t,"aria-pressed":"boolean"==typeof s?s:void 0,"aria-controls":null==f?void 0:f.id,"aria-haspopup":"popup"===(null==f?void 0:f.type)||void 0},v?{href:v,target:"_blank",onKeyUp:Sr,role:"button"}:{type:"button"})})({appId:h,buttonId:t,className:jr(t,u,i),onClick:e=>{if(!a){if("popup"===(null==k?void 0:k.type)){var t=""===e.nativeEvent.pointerType;T(t?"first":null),w(e=>!e)}d&&d(e)}},onKeyUp:e=>{A&&["ArrowDown","ArrowUp"].includes(e.key)&&(e.preventDefault(),T("ArrowUp"===e.key?"last":"first"),w(!0))},buttonRefs:O,isDisabled:a,isPressed:l,isExpanded:c,isPanelOpen:p,isPopupOpen:P,controlledElement:k,href:g}),C=_(D,Rr(Rr({},M),{},{children:[(r||n)&&E(fr,{id:r,svgContent:n}),i&&E("span",{children:o})]}));return _("div",{className:Tr(t,i),"data-button-slot":f?"".concat(Xt(t),"-button"):void 0,style:s?{display:"none"}:void 0,children:[i?C:E(Er,{content:o,children:C}),f&&E(Br,{slot:"".concat(Xt(t),"-button")}),P&&E(_r,{popupMenuId:k.id,buttonId:t,startPos:R,menuRef:S,items:m,setIsOpen:w})]})};function Ar(e){var t,r,{btn:n,appState:o,appConfig:i,evaluateProp:a}=e,[l,c]=n,s=null!==(t=c[o.breakpoint])&&void 0!==t?t:{},p=function(e,t,r){var[,n]=e,o=!(!n.panelId||!t.openPanels[n.panelId]);return e=>{if("function"!=typeof n.onClick){if(n.panelId){var i=e.currentTarget;t.dispatch({type:o?"CLOSE_PANEL":"OPEN_PANEL",payload:o?n.panelId:{panelId:n.panelId,props:{triggeringElement:i}}})}}else n.onClick(e,r(e=>e,n.pluginId))}}(n,o,a),u=!(!c.panelId||!o.openPanels[c.panelId]);return E(Dr,{buttonId:l,iconId:a(c.iconId,c.pluginId),iconSvgContent:a(c.iconSvgContent,c.pluginId),variant:c.variant,label:a(c.label,c.pluginId),href:a(c.href,c.pluginId),showLabel:null===(r=s.showLabel)||void 0===r||r,isDisabled:o.disabledButtons.has(l),isHidden:o.hiddenButtons.has(l),isPressed:void 0!==c.isPressed||c.pressedWhen?o.pressedButtons.has(l):void 0,isExpanded:void 0!==c.isExpanded||c.expandedWhen?o.expandedButtons.has(l):void 0,isPanelOpen:u,onClick:p,panelId:c.panelId,menuItems:c.menuItems,idPrefix:i.id},l)}function kr(e){var{slot:t,appState:r,appConfig:n,evaluateProp:o}=e,{buttonConfig:i,breakpoint:a}=r,l=function(e){var{appState:t,buttonConfig:r,slot:n,evaluateProp:o}=e,{breakpoint:i,mode:a}=t;return r?Object.entries(r).filter(e=>{var r,l,[c,s]=e,p=s[i];if(s.isMenuItem)return!1;if("function"==typeof s.excludeWhen&&o(s.excludeWhen,s.pluginId))return!1;if(s.includeModes&&(null===(r=s.includeModes)||void 0===r||!r.includes(a)))return!1;if(null!==(l=s.excludeModes)&&void 0!==l&&l.includes(a))return!1;if(!1===s.inline&&!t.isFullscreen)return!1;if(s.panelId){var u,d=null===(u=t.panelConfig)||void 0===u||null===(u=u[s.panelId])||void 0===u?void 0:u[i];if(!0===(null==d?void 0:d.open)&&!1===(null==d?void 0:d.dismissible))return!1}return!((null==p?void 0:p.slot)!==n||!de.button.includes(p.slot))}):[]}({appState:r,buttonConfig:i,slot:t,evaluateProp:o});if(!l.length)return[];var c=new Map,s=[];l.forEach(e=>{var[t,r]=e,{group:n}=r;if(null!=n){var o=function(e){var t;return null==e?null:"string"==typeof e?e:null!==(t=e.name)&&void 0!==t?t:null}(n),i=function(e){var t,r;return e?"string"==typeof e?e:null!==(t=null!==(r=e.label)&&void 0!==r?r:e.name)&&void 0!==t?t:"":""}(n),a=function(e){var t;return e&&"string"!=typeof e&&null!==(t=e.order)&&void 0!==t?t:0}(n);c.has(o)?c.get(o):c.set(o,{label:i,order:a,members:[]}),c.get(o).members.push([t,r])}else s.push([t,r])});var p=[];for(var u of s){var d,f,[v,m]=u,b=null!==(d=null===(f=m[a])||void 0===f?void 0:f.order)&&void 0!==d?d:0;p.push({id:v,type:"button",order:b,element:Ar({btn:u,appState:r,appConfig:n,evaluateProp:o})})}for(var[g,{label:h,order:y,members:O}]of c)if(O.length<2){var P,_=O[0],[w,R]=_,j=y||(null===(P=R[a])||void 0===P?void 0:P.order)||0;p.push({id:w,type:"button",order:j,element:Ar({btn:_,appState:r,appConfig:n,evaluateProp:o})})}else{var T=[...O].sort((e,t)=>{var r,n,o,i;return(null!==(r=null===(n=e[1][a])||void 0===n?void 0:n.order)&&void 0!==r?r:0)-(null!==(o=null===(i=t[1][a])||void 0===i?void 0:i.order)&&void 0!==o?o:0)});p.push({id:"group-".concat(g),type:"group",order:y,element:E("div",{role:"group","aria-label":h,className:"im-c-button-group",children:T.map(e=>Ar({btn:e,appState:r,appConfig:n,evaluateProp:o}))},"group-".concat(g))})}return p}var Mr=["evaluateProp"];function Cr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ir(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Cr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Cr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Lr(e){var{evaluateProp:r}=e,n=t(e,Mr),o=function(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,mode:i,pluginRegistry:a,controlConfig:l}=r;return Object.values(l).filter(e=>{var n,a,l,c;if(lr(e))return!1;var s=e[o];if(!s)return!1;var p=de.control.includes(s.slot),u=null===(n=null===(a=e.includeModes)||void 0===a?void 0:a.includes(i))||void 0===n||n,d=null!==(l=null===(c=e.excludeModes)||void 0===c?void 0:c.includes(i))&&void 0!==l&&l;return!(!1===e.inline&&!r.isFullscreen)&&u&&!d&&s.slot===t&&p}).map(e=>{var t,r,i,l=a.registeredPlugins.find(t=>{var r;return null===(r=t.manifest)||void 0===r||null===(r=r.controls)||void 0===r?void 0:r.some(t=>t.id===e.id)}),c=null==l?void 0:l.id;if(e.html)i=E("div",{className:"im-c-control",dangerouslySetInnerHTML:{__html:n(e.html,c)}},e.id);else{var s=lt(e.render,{pluginId:c,pluginConfig:null==l?void 0:l.config});i=E(s,{},e.id)}return{id:e.id,type:"control",order:null!==(t=null===(r=e[o])||void 0===r?void 0:r.order)&&void 0!==t?t:0,element:i}})}(Ir({evaluateProp:r},n)),i=[...o,...Or(Ir({evaluateProp:r},n)),...kr(Ir({evaluateProp:r},n))],a=i.filter(e=>null==e.order||0===e.order),l=i.filter(e=>null!=e.order&&0!==e.order);l.sort((e,t)=>e.order-t.order);var c=[...a];for(var s of l){var p=Math.min(Math.max(s.order-1,0),c.length);c.splice(p,0,s)}return c}var Nr=e=>{var{children:t}=e,{openPanels:r,panelConfig:n,breakpoint:o}=tt(),i=["im-c-panel","im-c-actions",!p.Children.toArray(t).find(e=>{var t;return!1===(null===(t=e.props)||void 0===t?void 0:t.isHidden)})&&"im-c-actions--hidden",Object.keys(r).some(e=>{var t;return"mobile"===o&&"bottom"===(null===(t=n[e])||void 0===t||null===(t=t[o])||void 0===t?void 0:t.slot)})&&"im-c-actions--border-top"].filter(Boolean).join(" ");return E("div",{className:i,children:t})},Br=e=>{var{slot:t}=e,r=Lr({slot:t,appConfig:j(),appState:tt(),evaluateProp:vt()});return r.length?E(w,{children:"actions"===t?E(Nr,{slot:"actions",children:r.map(e=>e.element)}):E(w,{children:r.map(e=>e.element)})}):null},xr=(e,t,r,n,o)=>{h(()=>{var o=e.current;if(r){var i=((e,t)=>{var r={side:t.sideRef,banner:t.bannerRef,"top-left":t.topLeftColRef,"top-right":t.topRightColRef,"left-top":t.leftTopRef,"left-bottom":t.leftBottomRef,middle:t.middleRef,"right-top":t.rightTopRef,"right-bottom":t.rightBottomRef,bottom:t.bottomRef,actions:t.actionsRef,modal:t.modalRef};if(null!=e&&e.endsWith("-button")){var n=document.querySelector('[data-button-slot="'.concat(e,'"]'));return n?{current:n}:null}return r[e]||null})(t,n);if(null!=i&&i.current){var a=i.current.querySelector(":scope > .im-o-app__modal-backdrop");a?i.current.insertBefore(o,a):i.current.appendChild(o),o.style.display=""}}else{var l,c;if(o.parentElement===(null===(l=n.modalRef)||void 0===l?void 0:l.current))null===(c=n.appContainerRef)||void 0===c||null===(c=c.current)||void 0===c||c.appendChild(o);o.style.display="none"}return()=>{o.style.display="none"}},[r,t,n,o,e])},Hr=e=>{var{panelId:t,config:r,isOpen:n,openPanelProps:o,allowedModalPanelId:i,appState:a}=e,l=v(null),{breakpoint:c,mode:s,isFullscreen:p,layoutRefs:u}=a,d=r[c],f=d?ir(d,c):null,m=(()=>{if(!n||!d||!f)return!1;var e=f.endsWith("-button");if(!(de.panel.includes(f)||e))return!1;var o=d.modal&&t!==i,a=!1===r.inline&&!p,l=!ar(r,s);return!(o||a||l)})();return xr(l,f,m,u,c),E(gr,{panelId:t,panelConfig:r,props:o,html:r.html,label:r.label,isOpen:n,rootRef:l})},zr=e=>{var{control:t,appState:r}=e,n=v(null),{breakpoint:o,mode:i,isFullscreen:a,layoutRefs:l}=r,c=t[o],s=((e,t)=>{var{breakpoint:r,mode:n,isFullscreen:o}=t,i=e[r];return!(!i||!de.control.includes(i.slot)||!ar(e,n)||!1===e.inline&&!o)})(t,{breakpoint:o,mode:i,isFullscreen:a}),p=(null==c?void 0:c.slot)||null;xr(n,p,s,l,o);var u=g(()=>({__html:t.html}),[t.html]);return E("div",{ref:n,className:"im-c-control",style:{display:"none"},dangerouslySetInnerHTML:u})},Fr=()=>{var e=tt(),{panelConfig:t={},controlConfig:r={},openPanels:n={},breakpoint:o}=e,i=g(()=>Object.entries(t).filter(e=>{var[t,r]=e;return lr(r)}),[t]),a=g(()=>Object.values(r).filter(e=>lr(e)),[r]),l=g(()=>{var e=Object.entries(n).filter(e=>{var r,[n]=e,i=null===(r=t[n])||void 0===r?void 0:r[o];return null==i?void 0:i.modal});return e.length>0?e[e.length-1][0]:null},[n,t,o]);return i.length||a.length?_(w,{children:[i.map(t=>{var r,[o,i]=t;return E(Hr,{panelId:o,config:i,isOpen:!!n[o],openPanelProps:null===(r=n[o])||void 0===r?void 0:r.props,allowedModalPanelId:l,appState:e},o)}),a.map(t=>E(zr,{control:t,appState:e},t.id))]}):null},Wr=()=>{var{id:e}=j(),{breakpoint:t,interfaceType:r,preferredColorScheme:n,layoutRefs:o,isLayoutReady:i,hasExclusiveControl:a,isFullscreen:l}=tt(),{mapStyle:c}=rt();return rr(),function(){var{interfaceType:e,layoutRefs:t}=tt(),r=v(e);r.current=e,f(()=>{if(t.appContainerRef.current)return document.addEventListener("focusin",e),document.addEventListener("focusout",n),document.addEventListener("pointerdown",o),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",n),document.removeEventListener("pointerdown",o)};function e(e){e.target.dataset.focusVisible="keyboard"===r.current}function n(e){delete e.target.dataset.focusVisible}function o(){delete document.activeElement.dataset.focusVisible}},[t.appContainerRef])}(),_("div",{id:"".concat(e,"-im-app"),className:["im-o-app","im-o-app--".concat(t),"im-o-app--".concat(r),"im-o-app--".concat(l?"fullscreen":"inline"),"im-o-app--".concat((null==c?void 0:c.appColorScheme)||n,"-app"),"im-o-app--".concat((null==c?void 0:c.mapColorScheme)||"light","-map"),a&&"im-o-app--exclusive-control"].filter(Boolean).join(" "),style:{backgroundColor:(null==c?void 0:c.backgroundColor)||void 0},ref:o.appContainerRef,children:[E(Jt,{keyboardHintPortalRef:o.topRef}),_("div",{className:"im-o-app__overlay".concat(i?"":" im-o-app__overlay--not-ready"),children:[E("div",{className:"im-o-app__side",ref:o.sideRef,children:E(Br,{slot:ue.SIDE})}),_("div",{className:"im-o-app__main",ref:o.mainRef,children:[["mobile","tablet"].includes(t)&&E("div",{className:"im-o-app__banner",ref:o.bannerRef,children:E(Br,{slot:ue.BANNER})}),_("div",{className:"im-o-app__top",ref:o.topRef,children:[E("div",{className:"im-o-app__top-col",ref:o.topLeftColRef,children:E(Br,{slot:ue.TOP_LEFT})}),_("div",{className:"im-o-app__top-col",children:[E(Br,{slot:ue.TOP_MIDDLE}),["desktop"].includes(t)&&E("div",{className:"im-o-app__banner",ref:o.bannerRef,children:E(Br,{slot:ue.BANNER})})]}),E("div",{className:"im-o-app__top-col",ref:o.topRightColRef,children:E(Br,{slot:ue.TOP_RIGHT})})]}),_("div",{className:"im-o-app__left",ref:o.leftRef,children:[E("div",{className:"im-o-app__left-top",ref:o.leftTopRef,children:E(Br,{slot:ue.LEFT_TOP})}),E("div",{className:"im-o-app__left-bottom",ref:o.leftBottomRef,children:E(Br,{slot:ue.LEFT_BOTTOM})})]}),E("div",{className:"im-o-app__middle",ref:o.middleRef,children:E(Br,{slot:ue.MIDDLE})}),_("div",{className:"im-o-app__right",ref:o.rightRef,children:[E("div",{className:"im-o-app__right-top",ref:o.rightTopRef,children:E(Br,{slot:ue.RIGHT_TOP})}),E("div",{className:"im-o-app__right-bottom",ref:o.rightBottomRef,children:E(Br,{slot:ue.RIGHT_BOTTOM})})]}),_("div",{className:"im-o-app__footer",ref:o.footerRef,children:[E("div",{className:"im-o-app__footer-col",children:E(nr,{})}),_("div",{className:"im-o-app__footer-col",children:[E(Br,{slot:ue.FOOTER_RIGHT}),E("div",{className:"im-o-app__attributions",children:E(or,{})})]})]}),E("div",{className:"im-o-app__bottom",ref:o.bottomRef,children:E(Br,{slot:ue.BOTTOM})}),E("div",{className:"im-o-app__actions",ref:o.actionsRef,children:E(Br,{slot:ue.ACTIONS})}),_("div",{className:"im-o-app__modal",ref:o.modalRef,children:[E(Br,{slot:ue.MODAL}),E("div",{className:"im-o-app__modal-backdrop"})]})]})]}),E(Fr,{})]})},Gr=e=>(f(()=>{s(),e.eventBus.emit(i.APP_READY)},[]),E(Be,{options:e,children:E(Ze,{options:e,children:E(Ye,{eventBus:e.eventBus,children:_(Qe,{children:[E(ht,{}),E(Wr,{})]})})})})),Ur=["id","load","manifest"],Vr=["InitComponent","api","reducer"],Zr=["MapProvider","mapProviderConfig","mapFramework","plugins"];function Kr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function qr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Kr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Kr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Yr=new WeakMap,Xr=new WeakMap,$r=new WeakMap,Jr=e=>{var t,r,n=$r.get(e);if(!n){var o=X(),i=(r={},{registerPanel:e=>{r=ee(r,e)},addPanel:(e,t)=>(r=te(r,e,t))[e],removePanel:e=>{r=re(r,e)},getPanelConfig:()=>r,clear:()=>{r={}}}),a=(t={},{registerControl:e=>{t=ie(t,e)},addControl:(e,r)=>(t=ae(t,e,r))[e],getControlConfig:()=>t,clear:()=>{t={}}});n={buttonRegistry:o,panelRegistry:i,controlRegistry:a,pluginRegistry:Oe({registerButton:o.registerButton,registerPanel:i.registerPanel,registerControl:a.registerControl})},$r.set(e,n)}return n},Qr=function(){var e=r(function*(e,r){for(var n of e)if("function"==typeof n.load){var o=yield n.load(),{id:i,load:a,manifest:l}=n,c=t(n,Ur),{InitComponent:s,api:p,reducer:u}=o;r({id:i,InitComponent:s,api:p,reducer:u,config:c,manifest:_e(t(o,Vr),l),_originalPlugin:n})}});return function(t,r){return e.apply(this,arguments)}}();function en(e,t){return tn.apply(this,arguments)}function tn(){return tn=r(function*(e,r){var o,{MapProvider:a,mapProviderConfig:l,mapFramework:c,plugins:s=[]}=r,p=t(r,Zr),{eventBus:u}=p,d=Xr.get(e);d||(d=new a({mapFramework:c,mapProviderConfig:l,events:i,eventBus:u}),Xr.set(e,d)),null!==(o=d.capabilities)&&void 0!==o&&o.supportedShortcuts&&function(){A=new Set(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}(d.capabilities.supportedShortcuts);var{buttonRegistry:f,panelRegistry:v,controlRegistry:m,pluginRegistry:b}=Jr(e),{registerPlugin:g}=b;b.clear(),g({id:"appConfig",manifest:B});var h=Yr.get(e);h||(h=n(e),Yr.set(e,h));var y={_root:h,on:u.on,off:u.off,emit:u.emit,unmount(){var t,r;h.unmount(),Yr.delete(e),null===(t=(r=d).destroyMap)||void 0===t||t.call(r),Xr.delete(e),b.clear()}};return yield Qr(s,g),h.render(E(Gr,qr(qr({},p),{},{buttonRegistry:f,panelRegistry:v,controlRegistry:m,pluginRegistry:b,mapProvider:d}))),y}),tn.apply(this,arguments)}export{en as initialiseApp};
1
+ import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/objectWithoutProperties";import r from"@babel/runtime/helpers/asyncToGenerator";import{createRoot as n}from"preact/compat/client";import{g as o,E as i,s as a,r as l,t as s,a as c}from"./im-shell.js";import d,{useContext as u,createContext as p,useEffect as f,useRef as v,useReducer as m,useCallback as b,useMemo as g,useLayoutEffect as h,useState as y,createPortal as O,cloneElement as P}from"preact/compat";import{jsx as E,jsxs as w,Fragment as _}from"preact/jsx-runtime";var R=p(null);function j(){return u(R)}var S=[{id:"showKeyboardHelp",group:"General",title:"Show keyboard help",command:"<kbd>Alt</kbd> + <kbd>K</kbd>",enabled:!0},{id:"selectControl",group:"General",title:"Select a map control",command:"<kbd>Tab</kbd> or <kbd>Shift</kbd> + <kbd>Tab</kbd>",enabled:!0},{id:"moveLarge",group:"Navigation",title:"Move in large steps",command:"<kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!0},{id:"nudgeMap",group:"Navigation",title:"Nudge map",command:"<kbd>Shift</kbd> + <kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!1},{id:"zoomLarge",group:"Navigation",title:"Zoom in large steps",command:"<kbd>+</kbd> or <kbd>-</kbd>",enabled:!0},{id:"nudgeZoom",group:"Navigation",title:"Nudge zoom",command:"<kbd>Shift</kbd> + <kbd>+</kbd> or <kbd>-</kbd>",enabled:!1},{id:"highlightLabelAtCenter",group:"Labels",title:"Highlight label at centre",command:"<kbd>Alt</kbd> + <kbd>Enter</kbd>",enabled:!1,requiredConfig:["readMapText"]},{id:"highlightNextLabel",group:"Labels",title:"Highlight nearby label",command:"<kbd>Alt</kbd> + <kbd>→</kbd>, <kbd>←</kbd>, <kbd>↑</kbd> or <kbd>↓</kbd>",enabled:!1,requiredConfig:["readMapText"]}],T=[],C=new Set,A=new Set,D=()=>{var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[...S.filter(t=>!!A.has(t.id)&&(!t.requiredConfig||t.requiredConfig.every(t=>e[t]))),...T]}(j()).reduce((e,t)=>(e[t.group]=e[t.group]||[],e[t.group].push(t),e),{});return E("div",{className:"im-c-keyboard-help",children:Object.entries(e).map(e=>{var[t,r]=e;return E("div",{className:"im-c-keyboard-help__group",children:E("dl",{className:"im-c-keyboard-help__list",children:r.map(e=>w("div",{className:"im-c-keyboard-help__item",children:[E("dt",{className:"im-c-keyboard-help__title",children:e.title}),E("dd",{className:"im-c-keyboard-help__description",dangerouslySetInnerHTML:{__html:e.command}})]},e.id))})},t)})})};function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function k(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?M(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var I={slot:"middle",open:!1,dismissible:!0,modal:!0},L={slot:"right-top",showLabel:!1},N={slot:"top-left",showLabel:!1},B={buttons:[{id:"exit",label:"Exit",iconId:"close",onClick:(e,t)=>{var{services:r}=t;return r.closeApp()},excludeWhen:e=>{var{appConfig:t,appState:r}=e;return!t.hasExitButton||!(r.isFullscreen&&new URL(window.location.href).searchParams.has(t.mapViewParamKey))},mobile:N,tablet:N,desktop:N},{id:"fullscreen",label:()=>"".concat(document.fullscreenElement?"Exit":"Enter"," fullscreen"),iconId:()=>document.fullscreenElement?"minimise":"maximise",onClick:(e,t)=>{var{appState:r}=t,n=r.layoutRefs.appContainerRef.current;document.fullscreenElement?document.exitFullscreen():n.requestFullscreen()},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableFullscreen||t.isFullscreen},mobile:L,tablet:L,desktop:L},{id:"zoomIn",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom in",iconId:"plus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomIn(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMaxZoom},mobile:L,tablet:L,desktop:L},{id:"zoomOut",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom out",iconId:"minus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomOut(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMinZoom},mobile:L,tablet:L,desktop:L}],panels:[{id:"keyboardHelp",label:"Keyboard shortcuts",mobile:k({},I),tablet:k(k({},I),{},{width:"500px"}),desktop:k(k({},I),{},{width:"500px"}),render:()=>E(D,{})}],icons:[{id:"maximise",svgContent:'<path d="M15 3h6v6"/><path d="m21 3-7 7"/><path d="m3 21 7-7"/><path d="M9 21H3v-6"/>'},{id:"minimise",svgContent:'<path d="m14 10 7-7"/><path d="M20 10h-6V4"/><path d="m3 21 7-7"/><path d="M4 14h6v6"/>'},{id:"plus",svgContent:'<path d="M5 12h14"/><path d="M12 5v14"/>'},{id:"minus",svgContent:'<path d="M5 12h14"/>'},{id:"chevron",svgContent:'<path d="m6 9 6 6 6-6"/>'}]},x={slot:"right-top",showLabel:!0},H={label:"Button",mobile:x,tablet:x,desktop:x},z={label:"Panel",mobile:{slot:"drawer",open:!0,dismissible:!0,modal:!1,showLabel:!0},tablet:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},desktop:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},render:null,html:null},V={label:"Control",mobile:{slot:"drawer"},tablet:{slot:"top-left"},desktop:{slot:"top-left"}},W={small:1,medium:1.5,large:2};function F(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var G=(t,r)=>{var n=function(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?F(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}({},t);for(var o in r)"object"!=typeof r[o]||Array.isArray(r[o])||null===r[o]?n[o]=r[o]:n[o]=G(t[o]||{},r[o]);return n};function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Z(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?U(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var K=(e,t)=>Z(Z({},e),t),q=(e,t,r)=>{var n=G(H,r);return Z(Z({},e),{},{[t]:n})};function Y(){var e={};return{registerButton:t=>{e=K(e,t)},addButton:(t,r)=>(e=q(e,t,r),t),getButtonConfig:t=>((e,t)=>t?Object.fromEntries(Object.entries(e).filter(e=>{var[r,n]=e;return n.pluginId===t})):e)(e,t),clear:()=>{e={}}}}function X(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function J(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?$(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Q=(e,t)=>J(J({},e),t),ee=(e,t,r)=>{var n=G(z,r);return J(J({},e),{},{[t]:J(J({},n),{},{html:n.html,render:n.render})})},te=(e,r)=>{var{[r]:n}=e;return t(e,[r].map(X))};function re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ne(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?re(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var oe=(e,t)=>ne(ne({},e),t),ie=(e,t,r)=>{var n=G(V,r);return ne(ne({},e),{},{[t]:ne({id:t},n)})};function ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function le(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ae(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ae(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var se={close:'<path d="M18 6 6 18"/><path d="m6 6 12 12"/>'},ce=()=>se,de=Object.freeze({SIDE:"side",BANNER:"banner",TOP_LEFT:"top-left",TOP_MIDDLE:"top-middle",TOP_RIGHT:"top-right",LEFT_TOP:"left-top",LEFT_BOTTOM:"left-bottom",MIDDLE:"middle",RIGHT_TOP:"right-top",RIGHT_BOTTOM:"right-bottom",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",DRAWER:"drawer",ACTIONS:"actions",MODAL:"modal"}),ue=Object.freeze({control:[de.BANNER,de.TOP_LEFT,de.TOP_RIGHT,de.MIDDLE,de.RIGHT_BOTTOM,de.BOTTOM_RIGHT,de.DRAWER,de.ACTIONS],panel:[de.SIDE,de.BANNER,de.LEFT_TOP,de.LEFT_BOTTOM,de.MIDDLE,de.RIGHT_TOP,de.RIGHT_BOTTOM,de.DRAWER,de.MODAL],button:[de.TOP_LEFT,de.TOP_MIDDLE,de.TOP_RIGHT,de.LEFT_TOP,de.LEFT_BOTTOM,de.RIGHT_TOP,de.RIGHT_BOTTOM,de.BOTTOM_LEFT,de.BOTTOM_RIGHT,de.ACTIONS]}),pe="[interactive-map]",fe=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return console.warn(pe,...t)};function ve(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function me(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ve(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ve(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var be=e=>Array.isArray(e)?e:[e],ge=["mobile","tablet","desktop"];function he(e,t){var r=ue[t];ge.forEach(n=>{var o,i=null===(o=e[n])||void 0===o?void 0:o.slot;!i||r.includes(i)||"panel"===t&&i.endsWith("-button")||fe("".concat(t,' "').concat(e.id,'" has invalid slot "').concat(i,'" at breakpoint "').concat(n,'". Allowed slots: ').concat(r.join(", "),"."))})}function ye(e){var{registerButton:t,registerPanel:r,registerControl:n}=e,o=[];return{registeredPlugins:o,registerPlugin:function(e){var i,a,{manifest:l}=e,s={pluginId:e.id,includeModes:null===(i=e.config)||void 0===i?void 0:i.includeModes,excludeModes:null===(a=e.config)||void 0===a?void 0:a.excludeModes};l.buttons&&be(l.buttons).forEach(e=>{var r;he(e,"button"),t({[e.id]:me(me({},s),e)}),null==e||null===(r=e.menuItems)||void 0===r||r.forEach(e=>{t({[e.id]:me(me(me({},s),e),{},{isMenuItem:!0})})})}),l.panels&&be(l.panels).forEach(e=>{he(e,"panel"),r({[e.id]:me(me({},s),e)})}),l.controls&&be(l.controls).forEach(e=>{he(e,"control"),n({[e.id]:me(me({},s),e)})}),l.icons&&be(l.icons).forEach(e=>(e=>{se=le(le({},se),e)})({[e.id]:e.svgContent})),l.keyboardShortcuts&&be(l.keyboardShortcuts).forEach(e=>(e=>{var{shortcut:t}=e;C.has(t.id)||(C.add(t.id),T.push(t))})(me(me({},s),{},{shortcut:e}))),o.push(e)},clear:function(){o.length=0}}}function Oe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Pe(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Oe(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Oe(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Ee(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(e)||(e=[]),Array.isArray(t)||(t=[]);var r=new Map(e.map(e=>[e.id,e]));return t.forEach(e=>{null!=e&&e.id&&(r.has(e.id)?r.set(e.id,Pe(Pe({},r.get(e.id)),e)):r.set(e.id,e))}),Array.from(r.values())},n=Pe(Pe({},e),t);return(e.buttons||t.buttons)&&(n.buttons=r(e.buttons,t.buttons)),(e.panels||t.panels)&&(n.panels=r(e.panels,t.panels)),(e.controls||t.controls)&&(n.controls=r(e.controls,t.controls)),(e.icons||t.icons)&&(n.icons=r(e.icons,t.icons)),n}function we(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return Object.keys(e).forEach(o=>{var i,a=e[o][t];null!==(i=null==a?void 0:a.open)&&void 0!==i&&i&&(n[o]=r[o]||{props:{}})}),n}function _e(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function Re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function je(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Re(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Re(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Se(e,t,r,n){var o,i=e.panelConfig||e.panelRegistry.getPanelConfig(),a=null===(o=i[t])||void 0===o?void 0:o[r],l=!!a.exclusive&&!a.modal,s=!!a.modal,c=Object.fromEntries(Object.entries(e.openPanels).filter(e=>{var t,[n]=e;return!(null!==(t=i[n])&&void 0!==t&&null!==(t=t[r])&&void 0!==t&&t.exclusive)}));return je(je(je({},l?{}:c),s?e.openPanels:{}),{},{[t]:{props:n}})}var Te={SET_BREAKPOINT:(e,t)=>{var r,{behaviour:n,hybridWidth:i,maxMobileWidth:a}=t,l=Object.keys(e.openPanels),s=l[l.length-1],c="hybrid"===n?e.isFullscreen:o({behaviour:n,hybridWidth:i,maxMobileWidth:a}),d=s?Se(e,s,t.breakpoint,(null===(r=e.openPanels[s])||void 0===r?void 0:r.props)||{}):{},u=e.panelConfig||e.panelRegistry.getPanelConfig(),p=Object.fromEntries(Object.entries(u).filter(e=>{var[r,n]=e,o=n[t.breakpoint];return!0===(null==o?void 0:o.open)&&!1===(null==o?void 0:o.dismissible)&&!d[r]}).map(t=>{var[r]=t;return[r,e.openPanels[r]||{props:{}}]}));return je(je({},e),{},{breakpoint:t.breakpoint,isFullscreen:c,previousOpenPanels:e.openPanels,openPanels:je(je({},d),p)})},SET_MEDIA:(e,t)=>je(je({},e),t),SET_HYBRID_FULLSCREEN:(e,t)=>je(je({},e),{},{isFullscreen:t}),SET_INTERFACE_TYPE:(e,t)=>e.interfaceType===t?e:je(je({},e),{},{interfaceType:t}),SET_MODE:(e,t)=>{var r=e.panelConfig||e.panelRegistry.getPanelConfig();return je(je({},e),{},{mode:t,previousMode:e.mode,openPanels:we(r,e.breakpoint,e.openPanels)})},PLUGINS_EVALUATED:e=>e.arePluginsEvaluated?e:je(je({},e),{},{arePluginsEvaluated:!0}),CLEAR_PLUGINS_EVALUATED:e=>e.arePluginsEvaluated?je(je({},e),{},{arePluginsEvaluated:!1}):e,SET_SAFE_ZONE_INSET:(e,t)=>{var{safeZoneInset:r,syncMapPadding:n=!0}=t;return((e,t)=>{if(e===t)return!0;if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;var r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every(r=>Object.is(e[r],t[r]))})(e.safeZoneInset,r)?e:je(je({},e),{},{safeZoneInset:r,syncMapPadding:n,isLayoutReady:!0})},REVERT_MODE:e=>{var t=e.panelConfig||e.panelRegistry.getPanelConfig();return je(je({},e),{},{mode:e.previousMode,previousMode:e.mode,openPanels:we(t,e.breakpoint,e.openPanels)})},OPEN_PANEL:(e,t)=>{var{panelId:r,props:n={}}=t;return je(je({},e),{},{previousOpenPanels:e.openPanels,openPanels:Se(e,r,e.breakpoint,n)})},CLOSE_PANEL:(e,r)=>{var n=e.openPanels,{[r]:o}=n,i=t(n,[r].map(_e));return je(je({},e),{},{previousOpenPanels:e.openPanels,openPanels:i})},CLOSE_ALL_PANELS:e=>je(je({},e),{},{previousOpenPanels:e.openPanels,openPanels:{}}),RESTORE_PREVIOUS_PANELS:e=>je(je({},e),{},{openPanels:e.previousOpenPanels||{},previousOpenPanels:e.openPanels}),TOGGLE_APP_VISIBLE:(e,t)=>je(je({},e),{},{appVisible:t}),TOGGLE_HAS_EXCLUSIVE_CONTROL:(e,t)=>je(je({},e),{},{hasExclusiveControl:t}),TOGGLE_BUTTON_DISABLED:(e,t)=>{var{id:r,isDisabled:n}=t,o=new Set(e.disabledButtons);return n?o.add(r):o.delete(r),je(je({},e),{},{disabledButtons:o})},TOGGLE_BUTTON_HIDDEN:(e,t)=>{var{id:r,isHidden:n}=t,o=new Set(e.hiddenButtons);return n?o.add(r):o.delete(r),je(je({},e),{},{hiddenButtons:o})},TOGGLE_BUTTON_PRESSED:(e,t)=>{var{id:r,isPressed:n}=t,o=new Set(e.pressedButtons);return n?o.add(r):o.delete(r),je(je({},e),{},{pressedButtons:o})},TOGGLE_BUTTON_EXPANDED:(e,t)=>{var{id:r,isExpanded:n}=t,o=new Set(e.expandedButtons);return n?o.add(r):o.delete(r),je(je({},e),{},{expandedButtons:o})},REGISTER_BUTTON:(e,t)=>je(je({},e),{},{buttonConfig:K(e.buttonConfig,t)}),ADD_BUTTON:(e,t)=>{var r,{id:n,config:o}=t,i=q(e.buttonConfig,n,o),a=new Set(e.hiddenButtons);o.isHidden&&a.add(n);var l=new Set(e.disabledButtons);o.isDisabled&&l.add(n);var s=new Set(e.pressedButtons);o.isPressed&&s.add(n);var c=new Set(e.expandedButtons);return o.isExpanded&&c.add(n),null!==(r=e.buttonRegistry)&&void 0!==r&&r.addButton&&e.buttonRegistry.addButton(n,o),je(je({},e),{},{buttonConfig:i,hiddenButtons:a,disabledButtons:l,pressedButtons:s,expandedButtons:c})},REGISTER_PANEL:(e,t)=>je(je({},e),{},{panelConfig:Q(e.panelConfig,t)}),ADD_PANEL:(e,t)=>{var r,{id:n,config:o}=t,i=ee(e.panelConfig,n,o),a=i[n];null!==(r=e.panelRegistry)&&void 0!==r&&r.addPanel&&e.panelRegistry.addPanel(n,o);var l=null==a?void 0:a[e.breakpoint],s=null==l?void 0:l.open;return je(je({},e),{},{panelConfig:i,openPanels:s?Se(je(je({},e),{},{panelConfig:i}),n,e.breakpoint,{}):e.openPanels})},REMOVE_PANEL:(e,r)=>{var n,o=r,i=e.openPanels,{[o]:a}=i,l=t(i,[o].map(_e));return null!==(n=e.panelRegistry)&&void 0!==n&&n.removePanel&&e.panelRegistry.removePanel(o),je(je({},e),{},{panelConfig:te(e.panelConfig,o),openPanels:l})},REGISTER_CONTROL:(e,t)=>je(je({},e),{},{controlConfig:oe(e.controlConfig,t)}),ADD_CONTROL:(e,t)=>{var r,{id:n,config:o}=t,i=ie(e.controlConfig,n,o);return null!==(r=e.controlRegistry)&&void 0!==r&&r.addControl&&e.controlRegistry.addControl(n,o),je(je({},e),{},{controlConfig:i})}};function Ce(){return{preferredColorScheme:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",prefersReducedMotion:window.matchMedia("(prefers-reduced-motion: reduce)").matches}}var Ae=(e,t)=>{var{type:r,payload:n}=t,o=Te[r];return o?o(e,n):e},De=["mobile","tablet","desktop"];function Me(e,t,r,n){var{type:o,payload:a}=e;if("CLOSE_PANEL"===o&&queueMicrotask(()=>{n.emit(i.APP_PANEL_CLOSED,{panelId:a})}),"CLOSE_ALL_PANELS"===o&&queueMicrotask(()=>{Object.keys(t.openPanels).forEach(e=>{n.emit(i.APP_PANEL_CLOSED,{panelId:e})})}),"OPEN_PANEL"===o){var{panelId:l,props:s}=a,c=function(e,t,r,n){var o,i=null===(o=n[e])||void 0===o?void 0:o[r],a=!(null==i||!i.exclusive||null!=i&&i.modal),l=!(null==i||!i.modal),s=[];if(l)return s;var c=Object.keys(t);return a?c.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null!=o&&o.exclusive||s.push(e)}):c.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null==o||!o.exclusive||null!=o&&o.modal||s.push(e)}),s}(l,t.openPanels,t.breakpoint,r);queueMicrotask(()=>{c.forEach(e=>{n.emit(i.APP_PANEL_CLOSED,{panelId:e})}),n.emit(i.APP_PANEL_OPENED,{panelId:l,props:s})})}if("ADD_BUTTON"===o){var{id:d,config:u}=a,p=G(H,u);De.forEach(e=>{var t,r=null===(t=p[e])||void 0===t?void 0:t.slot;r&&!ue.button.includes(r)&&fe('button "'.concat(d,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(ue.button.join(", "),"."))})}if("ADD_CONTROL"===o){var{id:f,config:v}=a,m=G(V,v);De.forEach(e=>{var t,r=null===(t=m[e])||void 0===t?void 0:t.slot;r&&!ue.control.includes(r)&&fe('control "'.concat(f,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(ue.control.join(", "),"."))})}if("ADD_PANEL"===o){var{id:b,config:g}=a,h=G(z,g);De.forEach(e=>{var t,r=null===(t=h[e])||void 0===t?void 0:t.slot;!r||ue.panel.includes(r)||r.endsWith("-button")||fe('panel "'.concat(b,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat(ue.panel.join(", "),"."))});var y=h[t.breakpoint];null!=y&&y.open&&queueMicrotask(()=>{var e=y.slot,{visibleGeometry:t}=h,r={panelId:b,slot:e};t&&(r.visibleGeometry=t),n.emit(i.APP_PANEL_OPENED,r)})}}function ke(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ie(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ke(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Le=p(null),Ne=e=>{var{options:t,children:r}=e,{pluginRegistry:n,buttonRegistry:l,panelRegistry:s,controlRegistry:c,eventBus:d,breakpointDetector:u}=t,p={appContainerRef:v(null),sideRef:v(null),mainRef:v(null),topRef:v(null),topLeftColRef:v(null),topRightColRef:v(null),leftRef:v(null),leftTopRef:v(null),leftBottomRef:v(null),middleRef:v(null),rightRef:v(null),rightTopRef:v(null),rightBottomRef:v(null),drawerRef:v(null),bottomRef:v(null),bottomRightRef:v(null),attributionsRef:v(null),actionsRef:v(null),bannerRef:v(null),modalRef:v(null),viewportRef:v(null)},h=v({}),[y,O]=m(Ae,(e=>{var{initialBreakpoint:t,initialInterfaceType:r,appColorScheme:n,autoColorScheme:i,pluginRegistry:a,buttonRegistry:l,panelRegistry:s,controlRegistry:c,mode:d}=e,{preferredColorScheme:u,prefersReducedMotion:p}=Ce(),f=o(e),v=we(s.getPanelConfig(),t);return{appVisible:null,isLayoutReady:!1,arePluginsEvaluated:!1,breakpoint:t,interfaceType:r,preferredColorScheme:i?u:n,prefersReducedMotion:p,isFullscreen:f,mode:d||null,previousMode:null,safeZoneInset:null,disabledButtons:new Set,hiddenButtons:new Set,pressedButtons:new Set,expandedButtons:new Set,hasExclusiveControl:!1,openPanels:v,previousOpenPanels:{},syncMapPadding:!0,pluginRegistry:a,buttonRegistry:l,panelRegistry:s,controlRegistry:c,buttonConfig:l.getButtonConfig(),panelConfig:s.getPanelConfig(),controlConfig:c.getControlConfig()}})(t)),P=b(e=>{var r=y.panelConfig||t.panelRegistry.getPanelConfig(),n=y;O(e),Me(e,n,r,d)},[y,t,d]);!function(e,t){var{appColorScheme:r,autoColorScheme:n,behaviour:o,hybridWidth:i,maxMobileWidth:a}=t;f(()=>{var t=[window.matchMedia("(prefers-color-scheme: dark)"),window.matchMedia("(prefers-reduced-motion: reduce)")];function l(){var{preferredColorScheme:t,prefersReducedMotion:o}=Ce();e({type:"SET_MEDIA",payload:{preferredColorScheme:n?t:r,prefersReducedMotion:o}})}t.forEach(e=>e.addEventListener("change",l));var s=null,c=null;if("hybrid"===o){var d=null!=i?i:a;s=window.matchMedia("(max-width: ".concat(d,"px)")),c=t=>{e({type:"SET_HYBRID_FULLSCREEN",payload:t.matches})},s.addEventListener("change",c)}return()=>{t.forEach(e=>e.removeEventListener("change",l)),s&&c&&s.removeEventListener("change",c)}},[e,o,i,a])}(O,t);var w=e=>{P({type:"SET_MODE",payload:e})},_=()=>{P({type:"REVERT_MODE"})};f(()=>{d.on(i.APP_SET_MODE,w),d.on(i.APP_REVERT_MODE,_);var e=u.subscribe(e=>{P({type:"SET_BREAKPOINT",payload:{behaviour:t.behaviour,breakpoint:e,hybridWidth:t.hybridWidth,maxMobileWidth:t.maxMobileWidth}})}),r=a(e=>{P({type:"SET_INTERFACE_TYPE",payload:e})});return()=>{d.off(i.APP_SET_MODE,w),d.off(i.APP_REVERT_MODE,_),e(),r()}},[]);var j=g(()=>Ie(Ie({},y),{},{dispatch:P,layoutRefs:p,buttonRefs:h,pluginRegistry:n,buttonRegistry:l,panelRegistry:s,controlRegistry:c}),[y,P]);return E(R.Provider,{value:t,children:E(Le.Provider,{value:j,children:r})})};function Be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function xe(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Be(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var He=(e,t)=>xe(xe({},e),t),ze={SET_MAP_READY:e=>xe(xe({},e),{},{isMapReady:!0}),MAP_MOVE:He,MAP_MOVE_END:He,MAP_FIRST_IDLE:He,SET_MAP_STYLE:(e,t)=>xe(xe({},e),{},{mapStyle:t}),SET_MAP_SIZE:(e,t)=>xe(xe({},e),{},{mapSize:t}),UPDATE_CROSS_HAIR:(e,t)=>xe(xe({},e),{},{crossHair:xe(xe({},e.crossHair),t)}),UPSERT_LOCATION_MARKER:(e,t)=>{var r=new Map(e.markers.items.map(e=>[e.id,e]));r.set(t.id,t);var n=Array.from(r.values());return xe(xe({},e),{},{markers:xe(xe({},e.markers),{},{items:n})})},REMOVE_LOCATION_MARKER:(e,t)=>{var r=e.markers.items.filter(e=>e.id!==t);return xe(xe({},e),{},{markers:xe(xe({},e.markers),{},{items:r})})}},Ve=(e,t)=>{var{type:r,payload:n}=t,o=ze[r];return o?o(e,n):e};function We(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Fe(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?We(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Ge=p(null),Ue=e=>{var{options:t,children:r}=e,[n,o]=m(Ve,(e=>{var{center:t,zoom:r,bounds:n,extent:o,mapStyle:i,mapSize:a,markers:l}=e,{registeredPlugins:s}=e.pluginRegistry;return{isMapReady:!1,mapProvider:null,mapStyle:null!=s&&s.find(e=>{var t;return null===(t=e.config)||void 0===t?void 0:t.handlesMapStyle})?null:i,mapSize:a,center:t,zoom:r,bounds:n||o,resolution:null,isAtMaxZoom:null,isAtMinZoom:null,crossHair:{isVisible:!1,isPinnedToMap:!1,state:"active"},markers:{items:l||[]}}})(t)),{eventBus:a}=t,l=v(!1),s=()=>{o({type:"SET_MAP_READY"})},c=e=>{var r=localStorage.getItem("".concat(t.id,":mapStyleId")),n=e.find(e=>e.id===r)||e[0],i=localStorage.getItem("".concat(t.id,":mapSize"))||t.mapSize;o({type:"SET_MAP_STYLE",payload:n}),o({type:"SET_MAP_SIZE",payload:i})},d=e=>{o({type:"SET_MAP_STYLE",payload:e})},u=e=>{o({type:"SET_MAP_SIZE",payload:e})};f(()=>(a.on(i.MAP_READY,s),a.on(i.MAP_INIT_MAP_STYLES,c),a.on(i.MAP_SET_STYLE,d),a.on(i.MAP_SET_SIZE,u),()=>{a.off(i.MAP_READY,s),a.off(i.MAP_INIT_MAP_STYLES,c),a.off(i.MAP_SET_STYLE,d),a.off(i.MAP_SET_SIZE,u)}),[]),f(()=>{n.mapSize&&(l.current?a.emit(i.MAP_SIZE_CHANGE,{mapSize:n.mapSize}):l.current=!0)},[n.mapSize]),f(()=>{n.mapStyle&&n.mapSize&&(localStorage.setItem("".concat(t.id,":mapStyleId"),n.mapStyle.id),localStorage.setItem("".concat(t.id,":mapSize"),n.mapSize))},[n.mapStyle,n.mapSize]);var p=g(()=>Fe(Fe({},n),{},{dispatch:o}),[n]);return E(Ge.Provider,{value:p,children:r})};function Ze(e){var t,r,n,o,i=!1,a=t=>{null!=e&&e.current&&t&&(e.current.textContent="",setTimeout(()=>{e.current&&(e.current.textContent=t)},100))},l=(t=a,r=500,n=null,o=function(){for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];clearTimeout(n),n=setTimeout(()=>{t(...o)},r)},o.cancel=()=>{n&&(clearTimeout(n),n=null)},o);return function(e){if(e)return"plugin"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"core")?(i=!0,void a(e)):void(i?i=!1:l(e))}}var Ke=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null},qe={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff",haloWidth:"1",selectedWidth:"6"},Ye={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},Xe={id:"pin",viewBox:"0 0 38 38",anchor:[.5,.9],graphic:Ye.dot,svg:'<path d="M19 33.499c-5.318-5-12-9.509-12-16.998 0-6.583 5.417-12 12-12s12 5.417 12 12c0 7.489-6.682 11.998-12 16.998z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M19 33.499c-5.318-5-12-9.509-12-16.998 0-6.583 5.417-12 12-12s12 5.417 12 12c0 7.489-6.682 11.998-12 16.998z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 16) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},$e={id:"circle",viewBox:"0 0 38 38",anchor:[.5,.5],graphic:Ye.dot,svg:'<path d="M19 7C12.376 7 7 12.376 7 19s5.376 12 12 12a12.01 12.01 0 0 0 12-12A12.01 12.01 0 0 0 19 7z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M19 7C12.376 7 7 12.376 7 19s5.376 12 12 12a12.01 12.01 0 0 0 12-12A12.01 12.01 0 0 0 19 7z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},Je={id:"square",viewBox:"0 0 38 38",anchor:[.5,.5],graphic:Ye.dot,svg:'<path d="M28 7a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h18z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M28 7a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h18z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},Qe={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",foregroundColor:"#ffffff"}},et=e=>{var{haloColor:t,selectedColor:r,foregroundColor:n}=(e=>{var t,r,n,o,i=null!==(t=Qe[null==e?void 0:e.mapColorScheme])&&void 0!==t?t:Qe.light;return{haloColor:null!==(r=null==e?void 0:e.haloColor)&&void 0!==r?r:i.haloColor,selectedColor:null!==(n=null==e?void 0:e.selectedColor)&&void 0!==n?n:i.selectedColor,foregroundColor:null!==(o=null==e?void 0:e.foregroundColor)&&void 0!==o?o:i.foregroundColor}})(e);return{"--map-overlay-halo-color":t,"--map-overlay-selected-color":r,"--map-overlay-foreground-color":n}};function tt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function rt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?tt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var nt=new Map,ot={},it=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]),at=new Set([...it,"selectedWidth"]);function lt(e,t,r){var n,o,i,a=null==r?void 0:r.id,l=Object.fromEntries(Object.entries(e||{}).filter(e=>{var[t]=e;return!at.has(t)})),s=Object.fromEntries(Object.entries(ot).filter(e=>{var[t]=e;return!it.has(t)})),c=Object.fromEntries(Object.entries(t).filter(e=>{var[,t]=e;return null!=t})),d=rt(rt(rt(rt({},qe),s),l),c),u=null!==(n=Qe[null==r?void 0:r.mapColorScheme])&&void 0!==n?n:Qe.light;return d.haloColor=null!==(o=null==r?void 0:r.haloColor)&&void 0!==o?o:u.haloColor,d.selectedColor=null!==(i=null==r?void 0:r.selectedColor)&&void 0!==i?i:u.selectedColor,"string"==typeof d.graphic&&Ye[d.graphic]&&(d.graphic=Ye[d.graphic]),Object.fromEntries(Object.entries(d).map(e=>{var[t,r]=e;return[t,Ke(r,a)||""]}))}function st(e,t){return Object.entries(t).reduce((e,t)=>{var[r,n]=t;return e.replaceAll("{{".concat(r,"}}"),n)},e)}var ct={setDefaults(e){ot=e||{}},getDefaults:()=>rt(rt({},qe),ot),register(e){nt.set(e.id,e)},get:e=>nt.get(e),list:()=>[...nt.values()],resolve(e,t,r){var n=lt(e,t||{},r);return e?(n.selectedColor="",st(e.svg,n)):""},resolveSelected(e,t,r){var n=lt(e,t||{},r);return e?st(e.svg,n):""}};ct.register(Xe),ct.register($e),ct.register(Je);var dt=new Map,ut={register(e,t){dt.set(e,{id:e,svgContent:t})},get:e=>dt.get(e),list:()=>[...dt.values()]};Object.entries({"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'}).forEach(e=>{var[t,r]=e;ut.register(t,r)});var pt=p(null),ft=e=>{var{eventBus:t,children:r}=e,{id:n,handleExitClick:o,symbolDefaults:a}=j(),s=v(null),c=g(()=>Ze(s),[]);ct.setDefaults(a||{});var d=g(()=>({announce:c,reverseGeocode:(e,t)=>l(e,t),eventBus:t,mapStatusRef:s,closeApp:()=>function(e,t,r){var n;r.emit(i.MAP_EXIT,{mapId:e}),null!==(n=history.state)&&void 0!==n&&n.isBack?history.back():t()}(n,o,t),symbolRegistry:ct,patternRegistry:ut}),[c]);return E(pt.Provider,{value:d,children:r})};function vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?vt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):vt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var bt=p(null);var gt=e=>{var{children:t}=e,{pluginRegistry:r}=j(),n={},o={},i=v({});r.registeredPlugins.forEach(e=>{var t=e.reducer;if(t){var{initialState:r,actions:a}=t;n[e.id]=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=null==e?void 0:e[null==r?void 0:r.type];return n?n(t,r.payload):t}}(a),o[e.id]=r}i.current[e.id]||(i.current[e.id]={})});var[a,l]=m((e,t)=>{var{pluginId:r}=t;return r&&n[r]?mt(mt({},e),{},{[r]:n[r](e[r],t)}):e},o),s=(e,t)=>(i.current[e]||(i.current[e]={}),i.current[e][t]||(i.current[e][t]=d.createRef()),i.current[e][t]),c=g(()=>({state:a,dispatch:l,refs:i,getPluginRef:s}),[a,l]);return E(bt.Provider,{value:c,children:t})},ht=e=>{var t=u(bt);if(!t)throw new Error("usePlugin must be used within PluginProvider");var{state:r,dispatch:n,refs:o,getPluginRef:i}=t;return o.current[e]||(o.current[e]={}),mt(mt({},r[e]),{},{dispatch:t=>n(mt(mt({},t),{},{pluginId:e})),refs:o.current[e],useRef:t=>i(e,t)})};function yt(){return u(Le)}function Ot(){return u(Ge)}function Pt(){return u(pt)}function Et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function wt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Et(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Et(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var _t=new Map;function Rt(e,t){var{pluginId:r,pluginConfig:n}=t,o=e;return _t.has(o)||_t.set(o,function(t){var o=j(),i=yt(),a=Ot(),l=Pt(),s=ht(r);return E(e,wt(wt({},t),{},{pluginConfig:n,pluginState:s,appConfig:o,appState:i,mapState:a,services:l,mapProvider:o.mapProvider,iconRegistry:ce(),buttonConfig:g(()=>Object.fromEntries(Object.entries(i.buttonConfig).filter(e=>{var[t,n]=e;return n.pluginId===r})),[i.buttonConfig])}))}),_t.get(o)}function jt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function St(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?jt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):jt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Tt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ct(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Tt(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tt(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function At(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Dt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?At(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Mt(){var e=j(),t=yt(),r=Ot(),n=Pt(),o=u(bt),i={appConfig:e,appState:t,mapState:r,services:n,mapProvider:null==e?void 0:e.mapProvider,iconRegistry:ce()};function a(t,r){var n,a;if(r){var l,s,c=e.pluginRegistry.registeredPlugins.find(e=>e.id===r);n=c?Dt({pluginId:c.id},c.config):{},a=Dt(Dt({},null!==(l=null==o||null===(s=o.state)||void 0===s?void 0:s[r])&&void 0!==l?l:{}),{},{dispatch:null==o?void 0:o.dispatch})}var d=Dt(Dt({},i),{},{pluginConfig:n,pluginState:a});return"function"==typeof t?t(d):t}return a.ctx=i,a}function kt(e){var t=yt(),{pluginRegistry:r}=j(),n=u(bt);h(()=>{if(null!=t&&t.dispatch&&n){var{dispatch:o}=t,i=0,a=e=>{i++,o(e)};r.registeredPlugins.forEach(r=>{var n,o;(null!==(n=null==r||null===(o=r.manifest)||void 0===o?void 0:o.buttons)&&void 0!==n?n:[]).flatMap(e=>{var t;return[e,...null!==(t=e.menuItems)&&void 0!==t?t:[]]}).forEach(n=>function(e){var{btn:t,pluginId:r,appState:n,dispatch:o,evaluateProp:i}=e;[{prop:"enableWhen",state:n.disabledButtons,action:"TOGGLE_BUTTON_DISABLED",invert:!0,key:"isDisabled"},{prop:"hiddenWhen",state:n.hiddenButtons,action:"TOGGLE_BUTTON_HIDDEN",key:"isHidden"},{prop:"pressedWhen",state:n.pressedButtons,action:"TOGGLE_BUTTON_PRESSED",key:"isPressed"},{prop:"expandedWhen",state:n.expandedButtons,action:"TOGGLE_BUTTON_EXPANDED",key:"isExpanded"}].forEach(e=>{var{prop:n,state:a,action:l,key:s,invert:c}=e;if("function"==typeof t[n])try{var d=i(t[n],r),u=c?!d:d;a.has(t.id)!==u&&o({type:l,payload:{id:t.id,[s]:u}})}catch(e){console.warn("".concat(n," error for button ").concat(t.id,":"),e)}})}({btn:n,pluginId:r.id,appState:t,dispatch:a,evaluateProp:e}))}),0!==i||t.arePluginsEvaluated||o({type:"PLUGINS_EVALUATED"})}},[t,n,e])}var It=["api"],Lt=e=>{var r,n,{plugin:o,mode:i}=e,a=function(e){var t=v(null),r=j(),n=yt(),o=Ot(),i=Pt(),a=ht(e);return f(()=>{t.current={appConfig:r,appState:n,mapState:o,services:i,mapProvider:r.mapProvider,pluginState:a}}),t}(o.id);f(()=>{o.api&&o._originalPlugin&&Object.entries(o.api).forEach(e=>{var[t,r]=e;o._originalPlugin[t]=function(e,t){var{pluginId:r,pluginConfig:n,stateRef:o}=t;return function(){var t=o.current;if(!t)throw new Error('Plugin API "'.concat(r,'" called before state is initialized'));for(var i=arguments.length,a=new Array(i),l=0;l<i;l++)a[l]=arguments[l];return e(St(St({},t),{},{pluginConfig:n,pluginId:r}),...a)}}(r,{pluginId:o.id,pluginConfig:(null==o?void 0:o.config)||{},stateRef:a})})},[o,a]);var{InitComponent:l}=o,s=(null==o?void 0:o.config)||{},{api:c}=s,d=t(s,It),{includeModes:u,excludeModes:p}=o.config||{},m=null===(r=null==u?void 0:u.includes(i))||void 0===r||r,b=null!==(n=null==p?void 0:p.includes(i))&&void 0!==n&&n;if(!m||b||!l)return null;var g=Rt(l,{pluginId:o.id,pluginConfig:d});return E(g,{})},Nt=()=>{var{mode:e}=yt(),{pluginRegistry:t}=j();(()=>{var{dispatch:e,hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o}=yt(),{eventBus:a}=Pt(),l=v(e),s=v({hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o});l.current=e,s.current={hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o},f(()=>{var e=e=>{var{id:t,config:r}=e;l.current({type:"ADD_BUTTON",payload:{id:t,config:r}}),Array.isArray(r.menuItems)&&r.menuItems.forEach(e=>{l.current({type:"ADD_BUTTON",payload:{id:e.id,config:Ct(Ct({},e),{},{isMenuItem:!0})}})})},t=e=>{var{id:t,prop:r,value:n}=e,{hiddenButtons:o,disabledButtons:i,pressedButtons:a,expandedButtons:c}=s.current;switch(r){case"hidden":var d="boolean"==typeof n?n:!o.has(t);l.current({type:"TOGGLE_BUTTON_HIDDEN",payload:{id:t,isHidden:d}});break;case"disabled":var u="boolean"==typeof n?n:!i.has(t);l.current({type:"TOGGLE_BUTTON_DISABLED",payload:{id:t,isDisabled:u}});break;case"pressed":var p="boolean"==typeof n?n:!a.has(t);l.current({type:"TOGGLE_BUTTON_PRESSED",payload:{id:t,isPressed:p}});break;case"expanded":var f="boolean"==typeof n?n:!c.has(t);l.current({type:"TOGGLE_BUTTON_EXPANDED",payload:{id:t,isExpanded:f}})}},r=()=>l.current({type:"TOGGLE_APP_VISIBLE",payload:!0}),n=()=>l.current({type:"TOGGLE_APP_VISIBLE",payload:!1}),o=e=>{var{id:t,config:r}=e;return l.current({type:"ADD_PANEL",payload:{id:t,config:r}})},c=e=>l.current({type:"REMOVE_PANEL",payload:e}),d=e=>l.current({type:"OPEN_PANEL",payload:{panelId:e}}),u=e=>l.current({type:"CLOSE_PANEL",payload:e}),p=e=>{var{id:t,config:r}=e;return l.current({type:"ADD_CONTROL",payload:{id:t,config:r}})};return a.on(i.APP_VISIBLE,r),a.on(i.APP_HIDDEN,n),a.on(i.APP_ADD_BUTTON,e),a.on(i.APP_TOGGLE_BUTTON_STATE,t),a.on(i.APP_ADD_PANEL,o),a.on(i.APP_REMOVE_PANEL,c),a.on(i.APP_SHOW_PANEL,d),a.on(i.APP_HIDE_PANEL,u),a.on(i.APP_ADD_CONTROL,p),()=>{a.off(i.APP_VISIBLE,r),a.off(i.APP_HIDDEN,n),a.off(i.APP_ADD_BUTTON,e),a.off(i.APP_TOGGLE_BUTTON_STATE,t),a.off(i.APP_ADD_PANEL,o),a.off(i.APP_REMOVE_PANEL,c),a.off(i.APP_SHOW_PANEL,d),a.off(i.APP_HIDE_PANEL,u),a.off(i.APP_ADD_CONTROL,p)}},[a])})();var r=Mt();return kt(r),E(_,{children:t.registeredPlugins.map((t,n)=>E(Lt,{plugin:t,mode:e,evaluateProp:r},"init-".concat(t.id,"-").concat(n)))})};var Bt=function(e){var{id:t,center:r,zoom:n,bounds:o}=e,i=((e,t)=>{var r=new URLSearchParams(t),n=r.get("".concat(e,":center")),o=r.get("".concat(e,":zoom"));if(!n||!o)return null;var[i,a]=n.split(",").map(Number);return{center:[i,a],zoom:Number(o)}})(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search);return i?{center:i.center,zoom:i.zoom}:o?{bounds:o}:{center:r,zoom:n}};function xt(){var{id:e}=j(),{eventBus:t}=Pt();f(()=>{if(e){var r=t=>{var{current:r}=t;!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.href,n=new URL(r||"http://localhost"),o=[...new URLSearchParams(n.search)].map(e=>{var[t,r]=e;return"".concat(t,"=").concat(r)}),i=[];t.center&&i.push("".concat(e,":center=").concat(t.center[0],",").concat(t.center[1])),null!=t.zoom&&i.push("".concat(e,":zoom=").concat(t.zoom));var a=o.filter(e=>!i.some(t=>t.split("=")[0]===e.split("=")[0])),l=n.hash||"",s="".concat(n.origin).concat(n.pathname,"?").concat([...a,...i].join("&")).concat(l);window.history.replaceState(window.history.state,"",s)}(e,{center:r.center,zoom:r.zoom})};return t.on(i.MAP_STATE_UPDATED,r),()=>t.off(i.MAP_STATE_UPDATED,r)}},[e])}var Ht=e=>{var{direction:t}=e;return"Map moved ".concat(t,".")},zt=e=>{var{from:t,to:r,areaDimensions:n,isAtMaxZoom:o,isAtMinZoom:i}=e;return"Map zoomed ".concat(r>t?"in":"out").concat(o?" (Maximum zoom)":"").concat(i?" (Minimum zoom)":"",". New area approximately ").concat(n,".")},Vt=e=>{var{areaDimensions:t,isAtMaxZoom:r,isAtMinZoom:n}=e;return"New area approximately ".concat(t).concat(r?" (Maximum zoom)":"").concat(n?" (Minimum zoom)":"",".")},Wt=e=>{var{isAtMaxZoom:t,isAtMinZoom:r}=e;return"No change, ".concat(t?"maximum zoom reached":"").concat(r?"minimum zoom reached":"",".")};function Ft(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Gt(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Ft(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ft(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Ut(){var{mapProvider:e}=j(),{eventBus:t,announce:r}=Pt();f(()=>{var n=t=>{var{previous:n,current:o}=t;if(null!=n&&n.center&&null!=o&&o.center){var i=((e,t,r)=>{var n=e.zoom!==t.zoom,o=e.center[0]!==t.center[0]||e.center[1]!==t.center[1],i=r.getAreaDimensions();if(o&&!n){var a=r.getCardinalMove(e.center,t.center);return Ht({direction:a,areaDimensions:i})}return!o&&n?zt(Gt(Gt({},t),{},{from:e.zoom,to:t.zoom,areaDimensions:i})):o||n?Vt(Gt(Gt({},t),{},{areaDimensions:i})):Wt(Gt({},t))})(n,o,e);i&&r(i,"core")}};return t.on(i.MAP_STATE_UPDATED,n),()=>{t.off(i.MAP_STATE_UPDATED,n)}},[e,r])}var Zt=e=>{if(null==e||!e.current)return{offsetWidth:0,offsetHeight:0};var t=e.current.firstElementChild;return null!=t&&t.classList.contains("im-c-panel")&&0!==t.offsetWidth&&0!==t.offsetHeight?{offsetWidth:t.offsetWidth,offsetHeight:t.offsetHeight}:{offsetWidth:0,offsetHeight:0}},Kt=e=>{var t,r=null==e||null===(t=e.current)||void 0===t?void 0:t.querySelector(".im-c-button-group");return r?r.offsetWidth:0},qt=(e,t,r,n)=>{var o=t/n,i=e/r;return o>=.5&&i>=.5?o>=i?{colH:t,colW:e,rowW:0,rowH:0}:{colH:0,colW:0,rowW:e,rowH:t}:{colH:t,colW:e,rowW:e,rowH:t}},Yt=(e,t,r,n,o,i,a)=>{var l=qt(e.offsetWidth,e.offsetHeight,r,n),s=qt(t.offsetWidth,t.offsetHeight,r,n),c=0===t.offsetHeight&&0===l.colH,d=0===e.offsetHeight&&0===s.colH,u=e.offsetHeight+t.offsetHeight+(e.offsetHeight>0&&t.offsetHeight>0?a:0)>o&&!c&&!d;return{panelInset:u?i+Math.max(e.offsetWidth,t.offsetWidth)+a:0,rowA:u?{w:0,h:0}:{w:l.rowW,h:l.rowH},rowB:u?{w:0,h:0}:{w:s.rowW,h:s.rowH}}},Xt=(e,t,r,n,o,i,a)=>e+t>o?i+Math.max(r,n)+a:0,$t=e=>{var{mainRef:t,leftRef:r,rightRef:n,actionsRef:o,bottomRef:i,leftTopRef:a,leftBottomRef:l,rightTopRef:s,rightBottomRef:c}=e;if(![t,r,n,o,i].some(e=>!(null!=e&&e.current))){var d=t.current,u=r.current,p=o.current,f=i.current,v=Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--divider-gap"),10),m=Zt(a),b=Zt(l),g=Zt(s),h=Zt(c),y=Math.max(Kt(r),Kt(n)),O=d.offsetLeft+u.offsetLeft+y+v,P=u.offsetLeft+y+v,E=u.offsetTop,w=d.offsetHeight-f.offsetTop-f.offsetHeight,_=Math.max(w,d.offsetHeight-f.offsetTop+v),R=Math.max(d.offsetHeight-p.offsetTop+v,_),j=d.offsetHeight-E-R,S=d.offsetWidth-(O-d.offsetLeft)-P,T=Yt(m,b,S,j,j/2,d.offsetLeft+u.offsetLeft,v),C=Yt(g,h,S,j,j/2,u.offsetLeft,v),A=T.panelInset,D=C.panelInset,M=Xt(T.rowA.w,C.rowA.w,T.rowA.h,C.rowA.h,S/2,E,v),k=Xt(T.rowB.w,C.rowB.w,T.rowB.h,C.rowB.h,S/2,_,v),I=d.offsetWidth-2*v,L=d.offsetHeight-2*v,N=d.offsetLeft+2*I/3,B=2*I/3,x=2*L/3;return{left:Math.max(O,Math.min(A,N)),right:Math.max(P,Math.min(D,B)),top:Math.max(E,Math.min(M,x)),bottom:Math.max(R,Math.min(k,x))}}},Jt=(e,t)=>Object.entries(e).reduce((e,r)=>{var[n,o]=r;return e[n]=Math.round(o/t),e},{}),Qt=e=>"Feature"===e.type?Qt(e.geometry):"Point"===e.type?e.coordinates:"MultiPoint"===e.type?e.coordinates[0]:null;function er(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function tr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?er(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):er(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var rr=e=>{var{mapContainerRef:t}=e,r=j(),{id:n,mapProvider:o}=r,{safeZoneInset:a,breakpoint:l,isLayoutReady:s,syncMapPadding:c}=yt(),{isMapReady:d,mapStyle:u,mapSize:p,center:m,zoom:b,bounds:g}=Ot(),h=v(!1),y=Bt({id:n,center:m,zoom:b,bounds:g});return f(()=>{if(a&&s&&u&&p&&!h.current)return requestAnimationFrame(()=>{o.initMap(tr(tr({},r),{},{pixelRatio:window.devicePixelRatio*W[p],container:t.current,padding:a,center:y.center,zoom:y.zoom,bounds:y.bounds,mapStyle:u,mapSize:p}))}),h.current=!0,()=>{}},[a,s,u,p]),function(){var{mapProvider:e}=j(),{dispatch:t}=Ot(),{eventBus:r}=Pt(),n=v(null),o=v(!1);f(()=>{if(e){var a=e=>{t({type:"MAP_MOVE",payload:e})},l=e=>{t({type:"MAP_MOVE_END",payload:e}),r.emit(i.MAP_STATE_UPDATED,{previous:n.current,current:e}),n.current=e},s=r=>{o.current||(n.current={center:e.getCenter(),zoom:e.getZoom()},o.current=!0),t({type:"MAP_FIRST_IDLE",payload:r})};return r.on(i.MAP_MOVE,a),r.on(i.MAP_MOVE_END,l),r.on(i.MAP_FIRST_IDLE,s),()=>{r.off(i.MAP_MOVE,a),r.off(i.MAP_MOVE_END,l),r.off(i.MAP_FIRST_IDLE,s)}}},[e,t])}(),xt(),Ut(),(()=>{var{mapProvider:e,eventBus:t}=j(),{dispatch:r,layoutRefs:n}=yt(),{mapSize:o}=Ot(),a=v(o);a.current=o;var l=()=>{var t=$t(n),o=Jt(t,W[a.current]);"function"==typeof r&&r({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t,syncMapPadding:!1}}),"function"==typeof e.setPadding&&e.setPadding(o)};f(()=>{if(e){var t=e.fitToBounds;e.fitToBounds=function(r){if(r)return arguments.length>1&&void 0!==arguments[1]&&arguments[1]||l(),t.call(e,r)};var r=e.setView;return e.setView=t=>{var{center:n,zoom:o}=t;if(n)return l(),r.call(e,{center:n,zoom:o})},()=>{e.fitToBounds=t,e.setView=r}}},[e,r,n,o]),f(()=>{if(e&&t){var r=t=>e.fitToBounds(t),n=t=>e.setView(t);return t.on(i.MAP_FIT_TO_BOUNDS,r),t.on(i.MAP_SET_VIEW,n),()=>{t.off(i.MAP_FIT_TO_BOUNDS,r),t.off(i.MAP_SET_VIEW,n)}}},[e,t])})(),(()=>{var{id:e,mapProvider:t,eventBus:r}=j(),{layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l}=yt(),s=v({layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l});s.current={layoutRefs:n,panelConfig:o,panelRegistry:a,breakpoint:l},f(()=>{if(t&&r){var o=r=>{var o,i,a,{panelId:l,visibleGeometry:c}=r,{panelConfig:d,panelRegistry:u}=s.current,p=null!=d&&d[l]?d:null!==(o=null==u?void 0:u.getPanelConfig())&&void 0!==o?o:d,f=null!=c?c:null==p||null===(i=p[l])||void 0===i?void 0:i.visibleGeometry,v=null===(a=n.appContainerRef.current)||void 0===a?void 0:a.querySelector("#".concat(e,"-panel-").concat(l));if(f&&"function"==typeof t.isGeometryObscured){var m=()=>{if(v){var e,r=v.getBoundingClientRect();if(r&&0!==r.width&&0!==r.height){if(t.isGeometryObscured(f,r))if("Point"===(e=(o=f)?"Feature"===o.type?null===(i=o.geometry)||void 0===i?void 0:i.type:o.type:null)||"MultiPoint"===e){var n=Qt(f);n&&t.setView({center:n})}else t.fitToBounds(f)}else requestAnimationFrame(m)}var o,i};requestAnimationFrame(m)}};return r.on(i.APP_PANEL_OPENED,o),()=>{r.off(i.APP_PANEL_OPENED,o)}}},[t,r])})(),f(()=>{d&&c&&o.setPadding(Jt(a,W[p]))},[d,p,l,a]),null};var nr={keydown:{ArrowUp:"panUp",ArrowDown:"panDown",ArrowLeft:"panLeft",ArrowRight:"panRight","+":"zoomIn","=":"zoomIn","-":"zoomOut",_:"zoomOut"},keyup:{"Alt+k":"showKeyboardControls","Alt+K":"showKeyboardControls","Alt+ArrowRight":"highlightNextLabel","Alt+ArrowLeft":"highlightNextLabel","Alt+ArrowUp":"highlightNextLabel","Alt+ArrowDown":"highlightNextLabel","Alt+Enter":"highlightLabelAtCenter","Alt+i":"getInfo","Alt+I":"getInfo",Escape:"clearSelection"}},or=(e,t,n)=>{var o,{containerRef:i,dispatch:a,panDelta:s,nudgePanDelta:c,zoomDelta:d,nudgeZoomDelta:u,readMapText:p}=n,f=e=>e?c:s,v=e=>e?u:d;return{showKeyboardControls:()=>{a({type:"OPEN_PANEL",payload:{panelId:"keyboardHelp",props:{triggeringElement:i.current}}})},panUp:t=>e.panBy([0,-f(t.shiftKey)]),panDown:t=>e.panBy([0,f(t.shiftKey)]),panLeft:t=>e.panBy([-f(t.shiftKey),0]),panRight:t=>e.panBy([f(t.shiftKey),0]),zoomIn:t=>e.zoomIn(v(t.shiftKey)),zoomOut:t=>e.zoomOut(v(t.shiftKey)),getInfo:(o=r(function*(r){var n,o=e.getCenter(),i=yield l(e.getZoom(),o),a=null===(n=e.getAreaDimensions)||void 0===n?void 0:n.call(e),s=a?"".concat(i,". Covering ").concat(a,"."):"".concat(i,".");t(s,"core")}),function(e){return o.apply(this,arguments)}),highlightNextLabel:r=>{if(p||!e.highlightNextLabel){var n=e.highlightNextLabel(r.key);t(n,"core")}},highlightLabelAtCenter:()=>{if(p||!e.highlightNextLabel){var r=e.highlightLabelAtCenter();t(r,"core")}},clearSelection:()=>{var t;return null==e||null===(t=e.clearHighlightedLabel)||void 0===t?void 0:t.call(e)}}};var ir=()=>{var{mapStatusRef:e}=Pt();return E("div",{ref:e,role:"status",className:"im-c-viewport__status","aria-live":"polite","aria-atomic":"true","aria-label":"Map updates"})},ar={active:"M5.035 20H1v-2h4.035C5.525 11.069 11.069 5.525 18 5.035V1h2v4.035c6.931.49 12.475 6.034 12.965 12.965H37v2h-4.035c-.49 6.931-6.034 12.475-12.965 12.965V37h-2v-4.035C11.069 32.475 5.525 26.931 5.035 20zM19 7c-6.581.005-11.995 5.419-12 12 .005 6.581 5.419 11.995 12 12 6.581-.005 11.995-5.419 12-12-.005-6.581-5.419-11.995-12-12zm0 10a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2z",inactive:"M5.035 20H1v-2h4.035a13.98 13.98 0 0 1 .246-1.8l1.96.399C7.083 17.375 7 18.178 7 19s.083 1.625.241 2.401l-1.96.399a13.98 13.98 0 0 1-.246-1.8zM20 5.035a13.98 13.98 0 0 1 1.8.246l-.399 1.96C20.625 7.083 19.822 7 19 7s-1.625.083-2.401.241l-.399-1.96a13.98 13.98 0 0 1 1.8-.246V1h2v4.035zm-2 27.93a13.98 13.98 0 0 1-1.8-.246l.399-1.96c.776.158 1.579.241 2.401.241s1.625-.083 2.401-.241l.399 1.96a13.98 13.98 0 0 1-1.8.246V37h-2v-4.035zM32.965 20a13.98 13.98 0 0 1-.246 1.8l-1.96-.399c.158-.776.241-1.579.241-2.401s-.083-1.625-.241-2.401l1.96-.399a13.98 13.98 0 0 1 .246 1.8H37v2h-4.035zM19 17a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2zm3.8-9.385l.634-1.897c1.789.598 3.438 1.553 4.848 2.805l-1.327 1.496c-1.196-1.06-2.605-1.886-4.155-2.404zm5.181 3.43l1.496-1.327c1.252 1.41 2.207 3.059 2.805 4.848l-1.897.634c-.518-1.55-1.344-2.959-2.404-4.155zM30.385 22.8l1.897.634c-.598 1.789-1.553 3.438-2.805 4.848l-1.496-1.327c1.06-1.196 1.886-2.605 2.404-4.155zm-3.43 5.181l1.327 1.496c-1.41 1.252-3.059 2.207-4.848 2.805l-.634-1.897c1.55-.518 2.959-1.344 4.155-2.404zM15.2 30.385l-.634 1.897c-1.789-.598-3.438-1.553-4.848-2.805l1.327-1.496c1.196 1.06 2.605 1.886 4.155 2.404zm-5.181-3.43l-1.496 1.327c-1.252-1.41-2.207-3.059-2.805-4.848l1.897-.634c.518 1.55 1.344 2.959 2.404 4.155zM7.615 15.2l-1.897-.634c.598-1.789 1.553-3.438 2.805-4.848l1.496 1.327c-1.06 1.196-1.886 2.605-2.404 4.155zm3.43-5.181L9.718 8.523c1.41-1.252 3.059-2.207 4.848-2.805l.634 1.897c-1.55.518-2.959 1.344-4.155 2.404z"},lr=()=>{var{id:e}=j(),{crossHairRef:t,crossHair:r}=(()=>{var{mapProvider:e}=j(),{safeZoneInset:t}=yt(),{eventBus:r}=Pt(),{crossHair:n,dispatch:o,mapSize:a}=Ot(),l=(e,r,n)=>{if(t){var o=r*W[a],i=n*W[a];e.style.transform="translate(".concat(o-t.left,"px, ").concat(i-t.top,"px)"),e.style.left="0",e.style.top="0",e.style.display="block"}},s=b(t=>{if(t){((e,t,r,n,o)=>{e.pinToMap=(i,a)=>{var{x:l,y:s}=r.mapToScreen(i);e.coords=i,n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!0,isVisible:!0,coords:i,state:a}}),o(t,l,s)},e.fixAtCenter=()=>{t.style.left="50%",t.style.top="50%",t.style.transform="translate(0,0)",t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!0}})},e.remove=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!1}})},e.show=()=>{t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!0}})},e.hide=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!1}})},e.setStyle=e=>{n({type:"UPDATE_CROSS_HAIR",payload:{state:e}})},e.getDetail=()=>{var t=e.isPinnedToMap?e.coords:r.getCenter();return{state:e.state,point:r.mapToScreen(t),zoom:r.getZoom(),coords:t}}})(n,t,e,o,l);var a=()=>{if(n.coords&&n.isPinnedToMap){var{x:r,y:o}=e.mapToScreen(n.coords);l(t,r,o)}};return r.on(i.MAP_RENDER,a),()=>{r.off(i.MAP_RENDER,a)}}},[n,e,a,o,t]);return f(()=>{n.coords&&n.isPinnedToMap&&n.pinToMap(n.coords,n.state)},[a]),{crossHair:n,crossHairRef:s}})(),{isVisible:n,isPinnedToMap:o,state:a}=r;return E("svg",{id:"".concat(e,"-cross-hair"),ref:t,className:"im-c-cross-hair",width:"38",height:"38",viewBox:"0 0 38 38",fillRule:"evenodd",fill:"currentColor",style:{position:"absolute",left:o?0:"50%",top:o?0:"50%",pointerEvents:"none",display:n?"block":"none"},children:E("path",{d:ar[a||"active"]})})};function sr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function cr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?sr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):sr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var dr=(e,t,r,n)=>{if(!t||!n)return{x:0,y:0};var{x:o,y:i}=t.mapToScreen(e);return{x:o*W[r],y:i*W[r]}},ur=(e,t,r,n,o)=>{e.forEach(e=>{var i=t.get(e.id);if(i&&e.coords){var{x:a,y:l}=dr(e.coords,r,n,o);i.style.transform="translate(".concat(a,"px, ").concat(l,"px)"),i.style.display="block"}})},pr=()=>{var{mapProvider:e}=j(),{eventBus:t}=Pt(),{markers:r,dispatch:n,mapSize:o,isMapReady:a}=Ot(),l=v(new Map);h(()=>{e&&(r.markerRefs=l.current,r.add=(t,r,i)=>{var{x:l,y:s}=dr(r,e,o,a);n({type:"UPSERT_LOCATION_MARKER",payload:cr(cr({id:t,coords:r},i),{},{x:l,y:s,isVisible:!0})})},r.remove=e=>{n({type:"REMOVE_LOCATION_MARKER",payload:e})},r.getMarker=e=>r.items.find(t=>t.id===e))},[e,r,n,o]);var s=b(n=>s=>{if(s){l.current.set(n,s);var c=()=>{a&&e&&ur(r.items,l.current,e,o,a)};return t.on(i.MAP_RENDER,c),()=>{t.off(i.MAP_RENDER,c)}}l.current.delete(n)},[r,e,a,o]);return f(()=>{a&&e&&ur(r.items,l.current,e,o,a)},[o,r.items,e,a]),((e,t)=>{f(()=>{var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=e&&e.id&&null!=e&&e.coords){var{id:r,coords:n,options:o}=e;t.add(r,n,o)}};e.on(i.APP_ADD_MARKER,r);var n=e=>{e&&t.remove(e)};return e.on(i.APP_REMOVE_MARKER,n),()=>{e.off(i.APP_ADD_MARKER,r),e.off(i.APP_REMOVE_MARKER,n)}},[])})(t,r),{markers:r,markerRef:s}};function fr(e){return null==e?void 0:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var vr=new Set(["id","coords","x","y","isVisible","symbol","symbolSvgContent","viewBox","anchor","selectedColor","selectedWidth"]),mr=()=>{var{id:e}=j(),{mapStyle:t,mapSize:r}=Ot(),{markers:n,markerRef:o}=pr(),{symbolRegistry:i,eventBus:a}=Pt(),[l,s]=y(!1),[c,d]=y([]),u=v(null);if(f(()=>{var e=e=>{var{active:t,interactionModes:r=[]}=e;return s(t&&r.includes("selectMarker"))},t=e=>{var{selectedMarkers:t=[]}=e;return d(t)};return a.on("interact:active",e),a.on("interact:selectionchange",t),()=>{a.off("interact:active",e),a.off("interact:selectionchange",t)}},[a]),f(()=>{u.current=document.querySelector(".im-c-viewport")},[]),((e,t,r)=>{f(()=>{if(t){var n=r.current;if(n){var o=t=>{var r=e.items.some(r=>{var n,o=null===(n=e.markerRefs)||void 0===n?void 0:n.get(r.id);if(!o)return!1;var{left:i,top:a,right:l,bottom:s}=o.getBoundingClientRect();return t.clientX>=i&&t.clientX<=l&&t.clientY>=a&&t.clientY<=s});n.style.cursor=r?"pointer":""};return n.addEventListener("mousemove",o),()=>{n.removeEventListener("mousemove",o),n.style.cursor=""}}}},[e,t,r])})(n,l,u),t){var p=i.getDefaults();return E(_,{children:n.items.map(n=>{var a,l=((e,t,r)=>{var n=e.symbolSvgContent||t.symbolSvgContent;return n?{svg:n}:r.get(e.symbol||t.symbol)})(n,p,i),s=Object.fromEntries(Object.entries(n).filter(e=>{var[t]=e;return!vr.has(t)})),d=c.includes(n.id),u=d?i.resolveSelected(l,s,t):i.resolve(l,s,t),f=((e,t,r)=>e.viewBox||t.viewBox||(null==r?void 0:r.viewBox)||"0 0 38 38")(n,p,l),[,,v,m]=f.split(" ").map(Number),b=((e,t,r)=>{var n,o,i;return null!==(n=null!==(o=null!==(i=e.anchor)&&void 0!==i?i:t.anchor)&&void 0!==o?o:null==r?void 0:r.anchor)&&void 0!==n?n:[.5,.5]})(n,p,l),g=n.symbol||p.symbol,h=null!==(a=W[r])&&void 0!==a?a:1,y=v*h,O=m*h;return E("svg",{ref:o(n.id),id:"".concat(e,"-marker-").concat(n.id),className:["im-c-marker","im-c-marker--".concat(fr(g)),d&&"im-c-marker--selected"].filter(Boolean).join(" "),width:y,height:O,viewBox:f,overflow:"visible",style:{display:n.isVisible?"block":"none",marginLeft:"".concat(-b[0]*y,"px"),marginTop:"".concat(-b[1]*O,"px")},children:E("g",{dangerouslySetInnerHTML:{__html:u}})},n.id)})})}},br=e=>{var{keyboardHintPortalRef:t}=e,{id:r,mapProvider:n,mapLabel:o,keyboardHintText:a}=j(),{interfaceType:l,mode:s,previousMode:c,layoutRefs:d,safeZoneInset:u}=yt(),{mapSize:p}=Ot(),m=v(null),b=v(null),[g,h]=y(!1);!function(e){var{mapProvider:t,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}=j(),{interfaceType:l,dispatch:s}=yt(),{announce:c}=Pt();f(()=>{var d=e.current;if(d&&"keyboard"===l){var u=or(t,c,{containerRef:e,dispatch:s,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}),p=e=>t=>{var r=nr[e][(e=>{var t;return"Add"===(t=/^Key[A-Z]$/.test(e.code)?e.code.slice(3):e.key)||"NumpadAdd"===t?t="+":"Subtract"!==t&&"NumpadSubtract"!==t||(t="-"),e.altKey?"Alt+".concat(t):t})(t)];r&&u[r]&&(u[r](t),t.preventDefault())},f=p("keydown"),v=p("keyup");return d.addEventListener("keydown",f),d.addEventListener("keyup",v),()=>{d.removeEventListener("keydown",f),d.removeEventListener("keyup",v)}}},[e,l,t,r,n,o,i])}(d.viewportRef),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{mapProvider:t}=j(),{eventBus:r}=Pt();f(()=>{if(t){var n={};return Object.entries(e).forEach(e=>{var[t,o]=e,i=e=>o(e);n[t]=i,r.on(t,i)}),()=>{Object.entries(n).forEach(e=>{var[t,n]=e;r.off(t,n)})}}},[t,e])}({[i.MAP_CLICK]:()=>{var e;return null==n||null===(e=n.clearHighlightedLabel)||void 0===e?void 0:e.call(n)}});var{showHint:P,handleFocus:R,handleBlur:S}=function(e){var{interfaceType:t,containerRef:r,keyboardHintRef:n,keyboardHintVisible:o,onViewportFocusChange:i}=e,a=o;return f(()=>{if(a&&r.current){var e=r.current,t=e=>{["Escape","Tab"].includes(e.key)&&i(!1)},o=t=>{var r,o=e.contains(t.target),a=null===(r=n.current)||void 0===r?void 0:r.contains(t.target);o&&!a&&i(!1)};return e.addEventListener("keydown",t),e.addEventListener("mousedown",o),()=>{e.removeEventListener("keydown",t),e.removeEventListener("mousedown",o)}}},[a,r,n,i]),{showHint:a,handleFocus:()=>{"keyboard"===t&&i(!0)},handleBlur:()=>{i(!1)}}}({interfaceType:l,containerRef:d.viewportRef,keyboardHintRef:b,keyboardHintVisible:g,onViewportFocusChange:h});return f(()=>{var e;s&&c&&s!==c&&(null===(e=d.viewportRef)||void 0===e||e.current.focus())},[s]),f(()=>{var e,t=null===(e=d.mainRef)||void 0===e?void 0:e.current;if(t)return t.classList.toggle("im-o-app__main--keyboard-hint-visible",P),()=>null==t?void 0:t.classList.remove("im-o-app__main--keyboard-hint-visible")},[P]),w(_,{children:[E(rr,{mapContainerRef:m}),w("div",{id:"".concat(r,"-viewport"),className:"im-c-viewport im-c-viewport--".concat(p),"aria-label":o,role:"application",tabIndex:"0",onFocus:R,onBlur:S,ref:d.viewportRef,children:[P&&(null==t?void 0:t.current)&&O(E("div",{className:"im-c-viewport__keyboard-hint","aria-hidden":"true",ref:b,dangerouslySetInnerHTML:{__html:a}}),t.current),E("div",{className:"im-c-viewport__map-container",ref:m}),E("div",{className:"im-c-viewport__features"}),E(ir,{}),E("div",{className:"im-c-viewport__safezone",style:u,ref:d.safeZoneRef,children:E(lr,{})}),E(mr,{})]})]})};function gr(e,t){var r=v(),n=v(new WeakMap);return f(()=>{var o=(Array.isArray(e)?e:[e]).map(e=>null==e?void 0:e.current).filter(Boolean);if(o.length&&t){var i=new window.ResizeObserver(e=>{for(var r of e){var{width:o,height:i}=r.contentRect,a=n.current.get(r.target)||{};a.width===o&&a.height===i||(n.current.set(r.target,{width:o,height:i}),t(r))}});return o.forEach(e=>i.observe(e)),()=>{i.disconnect(),r.current&&cancelAnimationFrame(r.current)}}},[e,t]),{frameRef:r}}var hr=e=>{var t,r;return null!==(t=null==e||null===(r=e.current)||void 0===r?void 0:r.offsetHeight)&&void 0!==t?t:0},yr=(e,t,r)=>e-(t?t+r:0);function Or(){var{dispatch:e,breakpoint:t,layoutRefs:r,arePluginsEvaluated:n,appVisible:o,isFullscreen:i}=yt(),{mapSize:a,isMapReady:l}=Ot(),{appContainerRef:s,mainRef:c,bannerRef:d,topRef:u,topLeftColRef:p,topRightColRef:f,leftTopRef:v,leftBottomRef:m,rightTopRef:b,rightBottomRef:g,bottomRef:y,bottomRightRef:O,attributionsRef:P,drawerRef:E,actionsRef:w}=r,_=()=>{var e,t,r=s.current,n=c.current,o=u.current,i=p.current,a=f.current,l=y.current,d=P.current;if(![n,o,l].some(e=>!e)){var h,E,w=document.documentElement,_=Number.parseInt(getComputedStyle(w).getPropertyValue("--divider-gap"),10);r.style.setProperty("--top-col-width","".concat((h=i.offsetWidth,E=a.offsetWidth,h||E?Math.max(h,E):0),"px"));var R=i.offsetHeight+o.offsetTop,j=l.offsetTop-R-_;r.style.setProperty("--left-offset-top","".concat(R,"px")),r.style.setProperty("--left-offset-bottom","".concat(n.offsetHeight-l.offsetTop+_,"px")),r.style.setProperty("--left-top-max-height","".concat(j,"px"));var S=null!==(e=null==O||null===(t=O.current)||void 0===t?void 0:t.offsetHeight)&&void 0!==e?e:0,T=n.offsetHeight-l.offsetTop-l.offsetHeight,C=a.offsetHeight+o.offsetTop,A=l.offsetTop+l.offsetHeight-S-C-_,D=T+(S>0?S+_:d.offsetHeight);r.style.setProperty("--right-offset-top","".concat(C,"px")),r.style.setProperty("--right-offset-bottom","".concat(D,"px")),r.style.setProperty("--right-top-max-height","".concat(A,"px")),r.style.setProperty("--left-top-panel-max-height","".concat(yr(j,hr(m),_),"px")),r.style.setProperty("--left-bottom-panel-max-height","".concat(yr(j,hr(v),_),"px")),r.style.setProperty("--right-top-panel-max-height","".concat(yr(A,hr(g),_),"px")),r.style.setProperty("--right-bottom-panel-max-height","".concat(yr(A,hr(b),_),"px"))}};h(()=>{e({type:"CLEAR_PLUGINS_EVALUATED"})},[t,a,l,o,i]),h(()=>{n&&requestAnimationFrame(()=>{_();var t=$t(r);t&&e({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t}})})},[n]),gr([d,c,u,p,f,w,y,O,v,m,b,g,E],()=>{requestAnimationFrame(()=>{_()})})}var Pr=()=>{var{mapStyle:e}=Ot();if(null!=e&&e.logo)return E("img",{className:"im-c-logo",src:e.logo,alt:e.logoAltText})},Er=()=>{var{breakpoint:e}=yt(),{mapStyle:t}=Ot();return t?"mobile"!==e&&E("div",{className:"im-c-attributions",dangerouslySetInnerHTML:{__html:t.attribution}}):null},wr=(e,t)=>e.modal?"modal":"drawer"===e.slot&&["tablet","desktop"].includes(t)?"left-top":e.slot,_r=(e,t)=>{var r;return!(e.includeModes&&!e.includeModes.includes(t))&&(null===(r=e.excludeModes)||void 0===r||!r.includes(t))},Rr=e=>"string"==typeof e.html&&!e.pluginId;var jr={"left-top":{inset:"var(--left-offset-top) auto auto var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"left-bottom":{inset:"auto auto var(--left-offset-bottom) var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"right-top":{inset:"var(--right-offset-top) var(--primary-gap) auto auto",maxHeight:"var(--right-top-max-height)"},"right-bottom":{inset:"auto var(--primary-gap) var(--right-offset-bottom) auto",maxHeight:"var(--right-top-max-height)"}},Sr="--modal-inset",Tr="--modal-max-height",Cr=(e,t,r)=>{f(()=>{if(t){var n=t=>{"Escape"===t.key&&(t.stopPropagation(),t.preventDefault(),r()),"Tab"===t.key&&e.current&&function(e,t){if("Tab"===t.key){var r=Array.from(e.querySelectorAll(["a[href]:not([disabled])","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'*[tabindex="0"]:not([disabled])'].join(",")));if(0!==(r=r.filter(e=>!!e.offsetParent)).length){var n=r[0],o=r[r.length-1];!t.shiftKey||document.activeElement!==e&&document.activeElement!==n||(o.focus(),t.preventDefault()),t.shiftKey||document.activeElement!==o||(n.focus(),t.preventDefault())}}}(e.current,t)},o=e.current;return null==o||o.addEventListener("keydown",n),()=>{null==o||o.removeEventListener("keydown",n)}}},[t,e,r])};function Ar(e){var{mainRef:t,panelRef:r,isModal:n,rootEl:o,buttonContainerEl:i,handleClose:a}=e,{layoutRefs:l}=yt();Cr(r,n,a),gr([t],()=>{if(n&&t.current){var e=document.documentElement,o=getComputedStyle(e),a=Number.parseInt(o.getPropertyValue("--divider-gap"),10),s=Number.parseInt(o.getPropertyValue("--primary-gap"),10),c=r.current.dataset.slot;if(null!=c&&c.endsWith("-button")){var d,u,p,f=null===(d=r.current)||void 0===d?void 0:d.id,v=f?document.querySelector('[aria-controls="'.concat(f,'"]')):null,m=null!==(u=null!==(p=null==v?void 0:v.parentElement)&&void 0!==p?p:null!=i&&i.isConnected?i:null)&&void 0!==u?u:document.querySelector('[data-button-slot="'.concat(c,'"]'));if(!m)return;((e,t,r)=>{var n=document.documentElement,o=t.current.getBoundingClientRect(),i=e.getBoundingClientRect(),a=!!e.closest(".im-o-app__left-bottom, .im-o-app__right-bottom"),l=!!e.closest(".im-o-app__left-top, .im-o-app__left-bottom"),s=a?"auto":"".concat(Math.round(i.top-o.top),"px"),c=a?"".concat(Math.round(o.bottom-i.bottom),"px"):"auto",d=l?"auto":"".concat(Math.round(o.right-i.left+r),"px"),u=l?"".concat(Math.round(i.right-o.left+r),"px"):"auto",p=a?Math.round(o.bottom-i.bottom):Math.round(i.top-o.top);n.style.setProperty(Sr,"".concat(s," ").concat(d," ").concat(c," ").concat(u)),n.style.setProperty(Tr,"".concat(o.height-p-r,"px"))})(m,t,a)}else((e,t,r)=>{var n,o,i=document.documentElement,a=jr[e];if(a)return i.style.setProperty(Sr,a.inset),void i.style.setProperty(Tr,a.maxHeight);var l=null===(n=t["".concat(e[0].toLowerCase()+e.slice(1),"Ref")])||void 0===n?void 0:n.current,s=null===(o=t.mainRef)||void 0===o?void 0:o.current;if(l&&s){var c=l.getBoundingClientRect(),d=s.getBoundingClientRect(),u=c.left-d.left,p=c.top-d.top;i.style.setProperty(Sr,"".concat(p,"px auto auto ").concat(u,"px")),i.style.setProperty(Tr,"".concat(d.height-p-r,"px"))}})(c,l,s)}}),f(()=>{if(n){var e=e=>{var t=e.target.closest(".im-o-app__modal-backdrop");o&&t&&o.contains(t)&&a()};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}},[n,o,a]),f(()=>{if(n&&r.current&&o)return s({containerEl:r.current,isFullscreen:!0,boundaryEl:o}),()=>{s({containerEl:r.current,isFullscreen:!1,boundaryEl:o})}},[n,r,o]),((e,t,r)=>{f(()=>{if(e){var n=e=>{var n=e.target,o=t.current;if(n&&o&&r){var i=r.contains(n),a=o.contains(n);i&&!a&&o.focus()}};return document.addEventListener("focusin",n),()=>{document.removeEventListener("focusin",n)}}},[e,t,r])})(n,r,o)}var Dr=e=>{var{id:t,svgContent:r,isMenu:n}=e,o=n?ce().chevron:ce()[t]||r;return E("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:o},className:"im-c-icon".concat(n?" im-c-icon--narrow":"")})};function Mr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function kr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Mr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Ir=(e,t)=>e?"dialog":t?"complementary":"region",Lr=e=>{var t,r,n,{panelId:o,panelConfig:i,props:a,WrappedChild:l,label:s,html:c,children:d,isOpen:u=!0,rootRef:p}=e,{id:m}=j(),{dispatch:h,breakpoint:O,layoutRefs:P}=yt(),_=document.getElementById("".concat(m,"-im-app")),R=i[O],S="".concat(m,"-panel-").concat(fr(o)),{isDialog:T,isModal:C,isDismissible:A,shouldFocus:D,buttonContainerEl:M}=((e,t)=>{var r="side"===e.slot&&e.open&&!e.modal,n=!r&&e.dismissible,o=!0===e.modal;return{isAside:r,isDialog:n,isModal:o,isDismissible:!1!==e.dismissible,shouldFocus:Boolean(o||t),buttonContainerEl:e.slot.endsWith("button")?null==t?void 0:t.parentNode:void 0}})(R,null==a?void 0:a.triggeringElement),k=C&&u,I=P.mainRef,L=v(null),N=v(null),B=v(u),x=function(e){var[t,r]=y(!1),n=b(()=>{var t=null==e?void 0:e.current;t&&r(t.scrollHeight>t.clientHeight)},[e]);return gr(e,n),t}(N),H=p||L,z=()=>{requestAnimationFrame(()=>{var e,t;null===(e=(t=(null==a?void 0:a.triggeringElement)||P.viewportRef.current).focus)||void 0===e||e.call(t)}),h({type:"CLOSE_PANEL",payload:o})};Ar({mainRef:I,panelRef:H,isModal:k,rootEl:_,buttonContainerEl:M,handleClose:z}),f(()=>{var e,t=u&&!B.current;(B.current=u,D&&(t||u))&&(null===(e=H.current)||void 0===e||e.focus())},[u]);var V,W,F=(V=R.slot,W=null===(t=R.showLabel)||void 0===t||t,["im-c-panel","im-c-panel--".concat(V),!W&&"im-c-panel--no-heading"].filter(Boolean).join(" ")),G=((e,t)=>["im-c-panel__body",!e&&t&&"im-c-panel__body--offset"].filter(Boolean).join(" "))(null===(r=R.showLabel)||void 0===r||r,A),U=g(()=>c?{__html:c}:null,[c]),Z=(e=>{var{elementId:t,shouldFocus:r,isDialog:n,isDismissible:o,isModal:i,width:a,panelClass:l,slot:s}=e;return{id:t,"aria-labelledby":"".concat(t,"-label"),tabIndex:r?-1:void 0,role:Ir(n,o),"aria-modal":n&&i?"true":void 0,style:a?{width:a}:void 0,className:l,"data-slot":s}})({elementId:S,shouldFocus:D,isDialog:T,isDismissible:A,isModal:C,width:R.width,panelClass:F,slot:R.slot}),K=(e=>{var{bodyRef:t,panelBodyClass:r,isBodyScrollable:n,elementId:o}=e;return{ref:t,className:r,tabIndex:n?0:void 0,role:n?"region":void 0,"aria-labelledby":n?"".concat(o,"-label"):void 0}})({bodyRef:N,panelBodyClass:G,isBodyScrollable:x,elementId:S});return w("div",kr(kr({ref:H},Z),{},{children:[E("h2",{id:"".concat(S,"-label"),className:null===(n=R.showLabel)||void 0===n||n?"im-c-panel__heading im-e-heading-m":"im-u-visually-hidden",children:s}),A&&E("button",{"aria-label":"Close ".concat(s),className:"im-c-panel__close",onClick:z,children:E(Dr,{id:"close"})}),U?E("div",kr(kr({},K),{},{dangerouslySetInnerHTML:U})):w("div",kr(kr({},K),{},{children:[" ",l?E(l,kr({},a)):d]}))]}))};function Nr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Br(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Nr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Nr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function xr(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,pluginRegistry:i,panelConfig:a,mode:l,openPanels:s}=r,c=Object.entries(s),d=c.filter(e=>{var t,[r]=e,n=null===(t=a[r])||void 0===t?void 0:t[o];return null==n?void 0:n.modal}),u=d.length>0?d[d.length-1][0]:null;return c.map(e=>{var s,[c,{props:d}]=e,p=a[c];if(!p)return null;if(Rr(p))return null;var f=p[o];if(!f)return null;var v=wr(f,o);if(!((e,t,r,n)=>{var{targetSlot:o,slot:i,mode:a,isFullscreen:l,allowedModalPanelId:s}=n,c=o.endsWith("-button");return!(!ue.panel.includes(o)&&!c||!_r(t,a)||!1===t.inline&&!l||o!==i||r.modal&&e!==s)})(c,p,f,{targetSlot:v,slot:t,mode:l,isFullscreen:r.isFullscreen,allowedModalPanelId:u}))return null;var m=i.registeredPlugins.find(e=>e.id===p.pluginId),b=null==m?void 0:m.id,g=p.render?Rt(p.render,Br(Br({},d),{},{pluginId:b,pluginConfig:null==m?void 0:m.config})):null;return{id:c,type:"panel",order:null!==(s=f.order)&&void 0!==s?s:0,element:E(Lr,{panelId:c,panelConfig:p,props:d,WrappedChild:g,label:n(p.label,b),html:b?n(p.html,b):p.html},c)}}).filter(Boolean)}var Hr=0,zr=e=>{var{children:t,content:r}=e,{interfaceType:n}=yt(),o=v(null),i=v(null),[a,l]=y(!1),[s,c]=y(!1),[d,u]=y(null),[p]=y(()=>"tooltip-".concat(Hr+=1)),m=v(null),b=v(null),g=()=>{clearTimeout(m.current),l(!1)},h=()=>{clearTimeout(b.current),m.current=setTimeout(()=>l(!0),500)},O=()=>{clearTimeout(m.current),b.current=setTimeout(()=>l(!1),0)};f(()=>{var e=e=>{"Escape"===e.key&&(clearTimeout(m.current),clearTimeout(b.current),l(!1))};if(window.addEventListener("keydown",e),a){var t=function(e,t){if(!e)return"bottom";t||(t=e.closest(".im-o-app__main"));var r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o={top:r.top-n.top,bottom:n.bottom-r.bottom,left:r.left-n.left,right:n.right-r.right},i=Object.entries(o),a=i.toSorted((e,t)=>{var[,r]=e,[,n]=t;return r-n}),[l,s]=a[0];if("top"===l||"bottom"===l)for(var[c,d]of i)if(("left"===c||"right"===c)&&Math.abs(d-s)<=50)return"left"===c?"right":"left";return{top:"bottom",bottom:"top",left:"right",right:"left"}[l]}(o.current);u(t)}return()=>{window.removeEventListener("keydown",e),clearTimeout(m.current),clearTimeout(b.current)}},[a]);var _=P(t,{ref:e=>{var r;o.current=e;var n=null===(r=t.props)||void 0===r?void 0:r.ref;"function"==typeof n?n(e):n&&"object"==typeof n&&(n.current=e)},onMouseEnter:h,onMouseLeave:O,onMouseDown:g,onKeyDown:g,onFocus:()=>{"keyboard"===n&&h(),c(!0)},onBlur:()=>{O(),c(!1)},"aria-labelledby":p});return w("div",{className:"im-c-tooltip-wrapper".concat(s?" im-c-tooltip-wrapper--has-focus":""),children:[_,E("div",{id:p,ref:i,className:"im-c-tooltip im-c-tooltip--".concat(d||"hidden"," ").concat(a?"im-c-tooltip--is-visible":""),role:"tooltip","aria-hidden":!a,children:r})]})},Vr=(e,t,r)=>{var{buttonConfig:n,evaluateProp:o,pluginId:i,id:a}=r,l=n[t.id];if("function"==typeof(null==l?void 0:l.onClick)?l.onClick(e,o(e=>e,i)):"function"==typeof t.onClick&&t.onClick(e.nativeEvent),e.nativeEvent instanceof KeyboardEvent){var s=document.getElementById("".concat(a,"-").concat(fr(t.id)));if(s){var c=new MouseEvent("click",{bubbles:!0,cancelable:!0});c._fromKeyboardActivation=!0,s.dispatchEvent(c)}}},Wr=e=>{var{items:t,visibleIndices:r,index:n,setIndex:o,disabledButtons:i,instigator:a,setIsOpen:l,activateCtx:s}=e,c=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&null!=e&&e.preventDefault&&e.preventDefault(),a.focus(),l(!1)};return e=>{["Escape","Esc"].includes(e.key)?c(e,!0):"Tab"!==e.key?["ArrowDown","ArrowUp"].includes(e.key)?(e=>{e.preventDefault();var t=r.length;if(0!==t){var i,a=r.indexOf(n);i="ArrowDown"===e.key?-1===a?0:(a+1)%t:-1===a?t-1:(a-1+t)%t,o(r[i])}})(e):"Home"===e.key&&r.length?o(r[0]):"End"===e.key&&r.length?o(r[r.length-1]):("Enter"===e.key&&(e=>{e.preventDefault();var r=t[n];r&&!i.has(r.id)&&Vr(e,r,s),a.focus(),l(!1)})(e)," "===e.key&&(e=>{e.preventDefault();var r=t[n];r&&!i.has(r.id)&&(Vr(e,r,s),void 0!==r.isPressed||r.pressedWhen||(a.focus(),l(!1)))})(e)):c(e)}},Fr=e=>{var{items:t,hiddenButtons:r,startIndex:n,startPos:o,instigator:i,instigatorKey:a,buttonRefs:l,buttonConfig:s,disabledButtons:c,pluginId:d,evaluateProp:u,id:p,menuRef:v,setIsOpen:m,buttonRect:b}=e,h=g(()=>{var e=[];return t.forEach((t,n)=>{r.has(t.id)||e.push(n)}),e},[t,r]),[O,P]=y(()=>{return"number"==typeof n?n:"first"===o?null!==(e=h[0])&&void 0!==e?e:-1:"last"===o&&null!==(t=h[h.length-1])&&void 0!==t?t:-1;var e,t}),E={buttonConfig:s,evaluateProp:u,pluginId:d,id:p},w=Wr({items:t,visibleIndices:h,index:O,setIndex:P,disabledButtons:c,instigator:i,setIsOpen:m,activateCtx:E}),_=e=>{var t,r;null!==(t=v.current)&&void 0!==t&&t.contains(e.target)||null!==(r=l.current[a])&&void 0!==r&&r.contains(e.target)||m(!1)};f(()=>{var e,t;if(null===(e=v.current)||void 0===e||e.focus(),"first"===o)P(null!==(t=h[0])&&void 0!==t?t:-1);else if("last"===o){var r;P(null!==(r=h[h.length-1])&&void 0!==r?r:-1)}var n=()=>m(!1);return document.addEventListener("focusin",_),document.addEventListener("pointerdown",_),window.addEventListener("resize",n),()=>{document.removeEventListener("focusin",_),document.removeEventListener("pointerdown",_),window.removeEventListener("resize",n)}},[]);var{style:R,direction:j,halign:S}=(e=>{if(!e)return{style:{},direction:"below"};var t,r={};e.top>=window.innerHeight/2?(r.bottom="".concat(window.innerHeight-e.top,"px"),t="above"):(r.top="".concat(e.bottom,"px"),t="below");var n,o=(e.left+e.right)/2;return o>2*window.innerWidth/3?(r.right="".concat(window.innerWidth-e.right,"px"),n="right"):o<window.innerWidth/3?(r.left="".concat(e.left,"px"),n="left"):(r.left="".concat(o,"px"),n="center"),{style:r,direction:t,halign:n}})(b);return{index:O,handleMenuKeyDown:w,handleItemClick:(e,t)=>{e.nativeEvent._fromKeyboardActivation||c.has(t.id)||(m(!1),Vr(e,t,E))},menuStyle:R,menuDirection:j,menuHAlign:S}},Gr=e=>{var{item:t,isSelected:r,hiddenButtons:n,disabledButtons:o,pressedButtons:i,id:a,onItemClick:l}=e;return w("li",{id:"".concat(a,"-").concat(fr(t.id)),className:"im-c-popup-menu__item".concat(r?" im-c-popup-menu__item--selected":""),role:void 0!==t.isPressed||t.pressedWhen?"menuitemcheckbox":"menuitem","aria-disabled":o.has(t.id)||void 0,"aria-checked":void 0!==t.isPressed||t.pressedWhen?i.has(t.id):void 0,style:n.has(t.id)?{display:"none"}:void 0,onClick:e=>l(e,t),children:[(t.iconId||t.iconSvgContent)&&E(Dr,{id:t.iconId,svgContent:t.iconSvgContent}),E("span",{className:"im-c-popup-menu__item-label",children:t.label})]})},Ur=e=>{var t,r,{popupMenuId:n,buttonId:o,instigatorId:i,pluginId:a,startPos:l,startIndex:s,menuRef:c,items:d,setIsOpen:u,buttonRect:p}=e,{id:f}=j(),{buttonRefs:v,buttonConfig:m,hiddenButtons:b,disabledButtons:g,pressedButtons:h,layoutRefs:y}=yt(),P=null!=o?o:i,w=v.current[P],_=Mt(),{index:R,handleMenuKeyDown:S,handleItemClick:T,menuStyle:C,menuDirection:A,menuHAlign:D}=Fr({items:d,hiddenButtons:b,startIndex:s,startPos:l,instigator:w,instigatorKey:P,buttonRefs:v,buttonConfig:m,disabledButtons:g,pluginId:a,evaluateProp:_,id:f,menuRef:c,setIsOpen:u,buttonRect:p});return O(E("ul",{ref:c,id:n,className:"im-c-popup-menu","data-direction":A,"data-halign":D,style:C,role:"menu",tabIndex:"-1","aria-labelledby":P,"aria-activedescendant":R>=0?"".concat(f,"-").concat(fr(d[R].id)):void 0,onKeyDown:S,children:d.map((e,t)=>E(Gr,{item:e,isSelected:R===t,hiddenButtons:b,disabledButtons:g,pressedButtons:h,id:f,onItemClick:T},e.id))}),null!==(t=null==y||null===(r=y.appContainerRef)||void 0===r?void 0:r.current)&&void 0!==t?t:document.body)};function Zr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Kr(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?Zr(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Zr(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var qr=(e,t,r)=>["im-c-map-button",e&&"im-c-map-button--".concat(fr(e)),t&&"im-c-map-button--".concat(t),r&&"im-c-map-button--with-label"].filter(Boolean).join(" "),Yr=(e,t)=>["im-c-button-wrapper",e&&"im-c-button-wrapper--".concat(fr(e)),t&&"im-c-button-wrapper--wide"].filter(Boolean).join(" "),Xr=e=>{" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),e.currentTarget.click())},$r=(e,t,r)=>{var n=e.current[t];n&&r(n.getBoundingClientRect().toJSON())},Jr=e=>{var{buttonId:t,iconId:r,iconSvgContent:n,label:o,showLabel:i,isDisabled:a,isPressed:l,isExpanded:s,isHidden:c,isPanelOpen:d,variant:u,onClick:p,panelId:f,menuItems:m,idPrefix:b,href:g}=e,{id:h}=j(),{buttonRefs:O}=yt(),[P,_]=y(!1),[R,S]=y(null),[T,C]=y(null),A=v(null),D=g?"a":"button",M=(null==m?void 0:m.length)>=1,k=r||n||M,I=((e,t)=>e?"".concat(fr(t),"-button"):void 0)(f,t),L=(e=>{var{idPrefix:t,panelId:r,buttonId:n,hasMenu:o}=e;return r?{id:"".concat(t,"-panel-").concat(fr(r)),type:"panel"}:o?{id:"".concat(t,"-popup-").concat(fr(n)),type:"popup"}:null})({idPrefix:b,panelId:f,buttonId:t,hasMenu:M}),N=((e,t,r,n,o,i)=>a=>{e&&["ArrowDown","ArrowUp"].includes(a.key)&&(a.preventDefault(),n("ArrowUp"===a.key?"last":"first"),$r(t,r,o),i(!0))})(M,O,t,S,C,_),B=(e=>{var t,{appId:r,buttonId:n,className:o,onClick:i,onKeyUp:a,buttonRefs:l,isDisabled:s,isPressed:c,isExpanded:d,isPanelOpen:u,isPopupOpen:p,controlledElement:f,href:v}=e;return"panel"===(null==f?void 0:f.type)?t=String(u):"popup"===(null==f?void 0:f.type)?t=p:"boolean"==typeof d&&(t=d),Kr({id:"".concat(r,"-").concat(fr(n)),className:o,onClick:i,onKeyUp:a,ref:e=>{l.current&&n&&(l.current[n]=e)},"aria-disabled":s||void 0,"aria-expanded":t,"aria-pressed":"boolean"==typeof c?c:void 0,"aria-controls":null==f?void 0:f.id,"aria-haspopup":"popup"===(null==f?void 0:f.type)||void 0},v?{href:v,target:"_blank",onKeyUp:Xr,role:"button"}:{type:"button"})})({appId:h,buttonId:t,className:qr(t,u,i),onClick:e=>{if(!a){if("popup"===(null==L?void 0:L.type)){var r=""===e.nativeEvent.pointerType;S(r?"first":null),P||$r(O,t,C),_(e=>!e)}p&&p(e)}},onKeyUp:N,buttonRefs:O,isDisabled:a,isPressed:l,isExpanded:s,isPanelOpen:d,isPopupOpen:P,controlledElement:L,href:g}),x=w(D,Kr(Kr({},B),{},{children:[k&&E(Dr,{id:r,svgContent:n,isMenu:M}),i&&E("span",{children:o})]}));return w("div",{className:Yr(t,i),"data-button-slot":I,style:c?{display:"none"}:void 0,children:[i?x:E(zr,{content:o,children:x}),I&&E(ln,{slot:I}),P&&E(Ur,{popupMenuId:L.id,buttonId:t,startPos:R,menuRef:A,items:m,setIsOpen:_,buttonRect:T})]})};function Qr(e){var t,r,{btn:n,appState:o,appConfig:i,evaluateProp:a}=e,[l,s]=n,c=null!==(t=s[o.breakpoint])&&void 0!==t?t:{},d=function(e,t,r){var[,n]=e,o=!(!n.panelId||!t.openPanels[n.panelId]);return e=>{if("function"!=typeof n.onClick){if(n.panelId){var i=e.currentTarget;t.dispatch({type:o?"CLOSE_PANEL":"OPEN_PANEL",payload:o?n.panelId:{panelId:n.panelId,props:{triggeringElement:i}}})}}else n.onClick(e,r(e=>e,n.pluginId))}}(n,o,a),u=!(!s.panelId||!o.openPanels[s.panelId]);return E(Jr,{buttonId:l,iconId:a(s.iconId,s.pluginId),iconSvgContent:a(s.iconSvgContent,s.pluginId),variant:s.variant,label:a(s.label,s.pluginId),href:a(s.href,s.pluginId),showLabel:null===(r=c.showLabel)||void 0===r||r,isDisabled:o.disabledButtons.has(l),isHidden:o.hiddenButtons.has(l),isPressed:void 0!==s.isPressed||s.pressedWhen?o.pressedButtons.has(l):void 0,isExpanded:void 0!==s.isExpanded||s.expandedWhen?o.expandedButtons.has(l):void 0,isPanelOpen:u,onClick:d,panelId:s.panelId,menuItems:s.menuItems,idPrefix:i.id},l)}function en(e){var{slot:t,appState:r,appConfig:n,evaluateProp:o}=e,{buttonConfig:i,breakpoint:a}=r,l=function(e){var{appState:t,buttonConfig:r,slot:n,evaluateProp:o}=e,{breakpoint:i,mode:a}=t;return r?Object.entries(r).filter(e=>{var r,l,[s,c]=e,d=c[i];if(c.isMenuItem)return!1;if("function"==typeof c.excludeWhen&&o(c.excludeWhen,c.pluginId))return!1;if(c.includeModes&&(null===(r=c.includeModes)||void 0===r||!r.includes(a)))return!1;if(null!==(l=c.excludeModes)&&void 0!==l&&l.includes(a))return!1;if(!1===c.inline&&!t.isFullscreen)return!1;if(c.panelId){var u,p=null===(u=t.panelConfig)||void 0===u||null===(u=u[c.panelId])||void 0===u?void 0:u[i];if(!0===(null==p?void 0:p.open)&&!1===(null==p?void 0:p.dismissible))return!1}return!((null==d?void 0:d.slot)!==n||!ue.button.includes(d.slot))}):[]}({appState:r,buttonConfig:i,slot:t,evaluateProp:o});if(!l.length)return[];var s=new Map,c=[];l.forEach(e=>{var[t,r]=e,{group:n}=r;if(null!=n){var o=function(e){var t;return null==e?null:"string"==typeof e?e:null!==(t=e.name)&&void 0!==t?t:null}(n),i=function(e){var t,r;return e?"string"==typeof e?e:null!==(t=null!==(r=e.label)&&void 0!==r?r:e.name)&&void 0!==t?t:"":""}(n),a=function(e){var t;return e&&"string"!=typeof e&&null!==(t=e.order)&&void 0!==t?t:0}(n);s.has(o)?s.get(o):s.set(o,{label:i,order:a,members:[]}),s.get(o).members.push([t,r])}else c.push([t,r])});var d=[];for(var u of c){var p,f,[v,m]=u,b=null!==(p=null===(f=m[a])||void 0===f?void 0:f.order)&&void 0!==p?p:0;d.push({id:v,type:"button",order:b,element:Qr({btn:u,appState:r,appConfig:n,evaluateProp:o})})}for(var[g,{label:h,order:y,members:O}]of s)if(O.length<2){var P,w=O[0],[_,R]=w,j=y||(null===(P=R[a])||void 0===P?void 0:P.order)||0;d.push({id:_,type:"button",order:j,element:Qr({btn:w,appState:r,appConfig:n,evaluateProp:o})})}else{var S=[...O].sort((e,t)=>{var r,n,o,i;return(null!==(r=null===(n=e[1][a])||void 0===n?void 0:n.order)&&void 0!==r?r:0)-(null!==(o=null===(i=t[1][a])||void 0===i?void 0:i.order)&&void 0!==o?o:0)});d.push({id:"group-".concat(g),type:"group",order:y,element:E("div",{role:"group","aria-label":h,className:"im-c-button-group",children:S.map(e=>Qr({btn:e,appState:r,appConfig:n,evaluateProp:o}))},"group-".concat(g))})}return d}var tn=["evaluateProp"];function rn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function nn(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?rn(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function on(e){var{evaluateProp:r}=e,n=t(e,tn),o=function(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,mode:i,pluginRegistry:a,controlConfig:l}=r;return Object.values(l).filter(e=>{var n,a,l,s;if(Rr(e))return!1;var c=e[o];if(!c)return!1;var d=ue.control.includes(c.slot),u=null===(n=null===(a=e.includeModes)||void 0===a?void 0:a.includes(i))||void 0===n||n,p=null!==(l=null===(s=e.excludeModes)||void 0===s?void 0:s.includes(i))&&void 0!==l&&l;return!(!1===e.inline&&!r.isFullscreen)&&u&&!p&&c.slot===t&&d}).map(e=>{var t,r,i,l=a.registeredPlugins.find(t=>{var r;return null===(r=t.manifest)||void 0===r||null===(r=r.controls)||void 0===r?void 0:r.some(t=>t.id===e.id)}),s=null==l?void 0:l.id;if(e.html)i=E("div",{className:"im-c-control",dangerouslySetInnerHTML:{__html:n(e.html,s)}},e.id);else{var c=Rt(e.render,{pluginId:s,pluginConfig:null==l?void 0:l.config});i=E(c,{},e.id)}return{id:e.id,type:"control",order:null!==(t=null===(r=e[o])||void 0===r?void 0:r.order)&&void 0!==t?t:0,element:i}})}(nn({evaluateProp:r},n)),i=[...o,...xr(nn({evaluateProp:r},n)),...en(nn({evaluateProp:r},n))],a=i.filter(e=>null==e.order||0===e.order),l=i.filter(e=>null!=e.order&&0!==e.order);l.sort((e,t)=>e.order-t.order);var s=[...a];for(var c of l){var d=Math.min(Math.max(c.order-1,0),s.length);s.splice(d,0,c)}return s}var an=e=>{var{children:t}=e,{openPanels:r,panelConfig:n,breakpoint:o}=yt(),i=["im-c-panel","im-c-actions",!d.Children.toArray(t).find(e=>{var t,r;return!1===(null===(t=e.props)||void 0===t?void 0:t.isHidden)&&"touch"!==(null===(r=e.props)||void 0===r?void 0:r.variant)})&&"im-c-actions--hidden",Object.keys(r).some(e=>{var t;return"mobile"===o&&"drawer"===(null===(t=n[e])||void 0===t||null===(t=t[o])||void 0===t?void 0:t.slot)})&&"im-c-actions--border-top"].filter(Boolean).join(" ");return E("div",{className:i,children:t})},ln=e=>{var{slot:t}=e,r=on({slot:t,appConfig:j(),appState:yt(),evaluateProp:Mt()});return r.length?E(_,{children:"actions"===t?E(an,{slot:"actions",children:r.map(e=>e.element)}):E(_,{children:r.map(e=>e.element)})}):null},sn=(e,t,r,n,o)=>{h(()=>{var o=e.current;if(r){var i=((e,t)=>{var r={side:t.sideRef,banner:t.bannerRef,"top-left":t.topLeftColRef,"top-right":t.topRightColRef,"left-top":t.leftTopRef,"left-bottom":t.leftBottomRef,middle:t.middleRef,"right-top":t.rightTopRef,"right-bottom":t.rightBottomRef,"bottom-right":t.bottomRightRef,drawer:t.drawerRef,actions:t.actionsRef,modal:t.modalRef};if(null!=e&&e.endsWith("-button")){var n=document.querySelector('[data-button-slot="'.concat(e,'"]'));return n?{current:n}:null}return r[e]||null})(t,n);if(null!=i&&i.current){var a=i.current.querySelector(":scope > .im-o-app__modal-backdrop");a?i.current.insertBefore(o,a):i.current.appendChild(o),o.style.display=""}}else{var l,s;if(o.parentElement===(null===(l=n.modalRef)||void 0===l?void 0:l.current))null===(s=n.appContainerRef)||void 0===s||null===(s=s.current)||void 0===s||s.appendChild(o);o.style.display="none"}return()=>{o.style.display="none"}},[r,t,n,o,e])},cn=e=>{var{panelId:t,config:r,isOpen:n,openPanelProps:o,allowedModalPanelId:i,appState:a}=e,l=v(null),{breakpoint:s,mode:c,isFullscreen:d,layoutRefs:u}=a,p=r[s],f=p?wr(p,s):null,m=(()=>{if(!n||!p||!f)return!1;var e=f.endsWith("-button");if(!(ue.panel.includes(f)||e))return!1;var o=p.modal&&t!==i,a=!1===r.inline&&!d,l=!_r(r,c);return!(o||a||l)})();return sn(l,f,m,u,s),E(Lr,{panelId:t,panelConfig:r,props:o,html:r.html,label:r.label,isOpen:n,rootRef:l})},dn=e=>{var{control:t,appState:r}=e,n=v(null),{breakpoint:o,mode:i,isFullscreen:a,layoutRefs:l}=r,s=t[o],c=((e,t)=>{var{breakpoint:r,mode:n,isFullscreen:o}=t,i=e[r];return!(!i||!ue.control.includes(i.slot)||!_r(e,n)||!1===e.inline&&!o)})(t,{breakpoint:o,mode:i,isFullscreen:a}),d=(null==s?void 0:s.slot)||null;sn(n,d,c,l,o);var u=g(()=>({__html:t.html}),[t.html]);return E("div",{ref:n,className:"im-c-control",style:{display:"none"},dangerouslySetInnerHTML:u})},un=()=>{var e=yt(),{panelConfig:t={},controlConfig:r={},openPanels:n={},breakpoint:o}=e,i=g(()=>Object.entries(t).filter(e=>{var[t,r]=e;return Rr(r)}),[t]),a=g(()=>Object.values(r).filter(e=>Rr(e)),[r]),l=g(()=>{var e=Object.entries(n).filter(e=>{var r,[n]=e,i=null===(r=t[n])||void 0===r?void 0:r[o];return null==i?void 0:i.modal});return e.length>0?e[e.length-1][0]:null},[n,t,o]);return i.length||a.length?w(_,{children:[i.map(t=>{var r,[o,i]=t;return E(cn,{panelId:o,config:i,isOpen:!!n[o],openPanelProps:null===(r=n[o])||void 0===r?void 0:r.props,allowedModalPanelId:l,appState:e},o)}),a.map(t=>E(dn,{control:t,appState:e},t.id))]}):null};function pn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function fn(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?pn(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):pn(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var vn=()=>{var{id:e}=j(),{breakpoint:t,interfaceType:r,preferredColorScheme:n,layoutRefs:o,isLayoutReady:i,hasExclusiveControl:a,isFullscreen:l}=yt(),{mapStyle:s}=Ot();return Or(),function(){var{interfaceType:e,layoutRefs:t}=yt(),r=v(e);r.current=e,f(()=>{if(t.appContainerRef.current)return document.addEventListener("focusin",e),document.addEventListener("focusout",n),document.addEventListener("pointerdown",o),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",n),document.removeEventListener("pointerdown",o)};function e(e){e.target.dataset.focusVisible="keyboard"===r.current}function n(e){delete e.target.dataset.focusVisible}function o(){delete document.activeElement.dataset.focusVisible}},[t.appContainerRef])}(),w("div",{id:"".concat(e,"-im-app"),className:["im-o-app","im-o-app--".concat(t),"im-o-app--".concat(r),"im-o-app--".concat(l?"fullscreen":"inline"),"im-o-app--".concat((null==s?void 0:s.appColorScheme)||n,"-app"),a&&"im-o-app--exclusive-control"].filter(Boolean).join(" "),style:fn({backgroundColor:(null==s?void 0:s.backgroundColor)||void 0},et(s)),ref:o.appContainerRef,children:[E(br,{keyboardHintPortalRef:o.topRef}),w("div",{className:"im-o-app__overlay".concat(i?"":" im-o-app__overlay--not-ready"),children:[E("div",{className:"im-o-app__side",ref:o.sideRef,children:E(ln,{slot:de.SIDE})}),w("div",{className:"im-o-app__main",ref:o.mainRef,children:[["mobile","tablet"].includes(t)&&E("div",{className:"im-o-app__banner",ref:o.bannerRef,children:E(ln,{slot:de.BANNER})}),w("div",{className:"im-o-app__top",ref:o.topRef,children:[E("div",{className:"im-o-app__top-col",ref:o.topLeftColRef,children:E(ln,{slot:de.TOP_LEFT})}),w("div",{className:"im-o-app__top-col",children:[E(ln,{slot:de.TOP_MIDDLE}),["desktop"].includes(t)&&E("div",{className:"im-o-app__banner",ref:o.bannerRef,children:E(ln,{slot:de.BANNER})})]}),E("div",{className:"im-o-app__top-col",ref:o.topRightColRef,children:E(ln,{slot:de.TOP_RIGHT})})]}),w("div",{className:"im-o-app__left",ref:o.leftRef,children:[E("div",{className:"im-o-app__left-top",ref:o.leftTopRef,children:E(ln,{slot:de.LEFT_TOP})}),E("div",{className:"im-o-app__left-bottom",ref:o.leftBottomRef,children:E(ln,{slot:de.LEFT_BOTTOM})})]}),E("div",{className:"im-o-app__middle",ref:o.middleRef,children:E(ln,{slot:de.MIDDLE})}),w("div",{className:"im-o-app__right",ref:o.rightRef,children:[E("div",{className:"im-o-app__right-top",ref:o.rightTopRef,children:E(ln,{slot:de.RIGHT_TOP})}),E("div",{className:"im-o-app__right-bottom",ref:o.rightBottomRef,children:E(ln,{slot:de.RIGHT_BOTTOM})})]}),w("div",{className:"im-o-app__bottom",ref:o.bottomRef,children:[w("div",{className:"im-o-app__bottom-col",children:[E(Pr,{}),E("div",{className:"im-o-app__bottom-left",children:E(ln,{slot:de.BOTTOM_LEFT})})]}),w("div",{className:"im-o-app__bottom-col",children:[E("div",{className:"im-o-app__bottom-right",ref:o.bottomRightRef,children:E(ln,{slot:de.BOTTOM_RIGHT})}),E("div",{className:"im-o-app__attributions",ref:o.attributionsRef,children:E(Er,{})})]})]}),E("div",{className:"im-o-app__drawer",ref:o.drawerRef,children:E(ln,{slot:de.DRAWER})}),E("div",{className:"im-o-app__actions",ref:o.actionsRef,children:E(ln,{slot:de.ACTIONS})}),w("div",{className:"im-o-app__modal",ref:o.modalRef,children:[E(ln,{slot:de.MODAL}),E("div",{className:"im-o-app__modal-backdrop"})]})]})]}),E(un,{})]})},mn=e=>(f(()=>{c(),e.eventBus.emit(i.APP_READY)},[]),E(Ne,{options:e,children:E(Ue,{options:e,children:E(ft,{eventBus:e.eventBus,children:w(gt,{children:[E(Nt,{}),E(vn,{})]})})})})),bn=["id","load","manifest"],gn=["InitComponent","api","reducer"],hn=["MapProvider","mapProviderConfig","mapFramework","plugins"];function yn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function On(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?yn(Object(n),!0).forEach(function(r){e(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):yn(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}var Pn=new WeakMap,En=new WeakMap,wn=new WeakMap,_n=e=>{var t,r,n=wn.get(e);if(!n){var o=Y(),i=(r={},{registerPanel:e=>{r=Q(r,e)},addPanel:(e,t)=>(r=ee(r,e,t))[e],removePanel:e=>{r=te(r,e)},getPanelConfig:()=>r,clear:()=>{r={}}}),a=(t={},{registerControl:e=>{t=oe(t,e)},addControl:(e,r)=>(t=ie(t,e,r))[e],getControlConfig:()=>t,clear:()=>{t={}}});n={buttonRegistry:o,panelRegistry:i,controlRegistry:a,pluginRegistry:ye({registerButton:o.registerButton,registerPanel:i.registerPanel,registerControl:a.registerControl})},wn.set(e,n)}return n},Rn=function(){var e=r(function*(e,r){for(var n of e)if("function"==typeof n.load){var o=yield n.load(),{id:i,load:a,manifest:l}=n,s=t(n,bn),{InitComponent:c,api:d,reducer:u}=o;r({id:i,InitComponent:c,api:d,reducer:u,config:s,manifest:Ee(t(o,gn),l),_originalPlugin:n})}});return function(t,r){return e.apply(this,arguments)}}();function jn(e,t){return Sn.apply(this,arguments)}function Sn(){return Sn=r(function*(e,r){var o,{MapProvider:a,mapProviderConfig:l,mapFramework:s,plugins:c=[]}=r,d=t(r,hn),{eventBus:u}=d,p=En.get(e);p||(p=new a({mapFramework:s,mapProviderConfig:l,events:i,eventBus:u}),En.set(e,p)),null!==(o=p.capabilities)&&void 0!==o&&o.supportedShortcuts&&function(){A=new Set(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}(p.capabilities.supportedShortcuts);var{buttonRegistry:f,panelRegistry:v,controlRegistry:m,pluginRegistry:b}=_n(e),{registerPlugin:g}=b;b.clear(),g({id:"appConfig",manifest:B});var h=Pn.get(e);h||(h=n(e),Pn.set(e,h));var y={_root:h,on:u.on,off:u.off,emit:u.emit,unmount(){var t,r;h.unmount(),Pn.delete(e),null===(t=(r=p).destroyMap)||void 0===t||t.call(r),En.delete(e),b.clear()}};return yield Rn(c,g),h.render(E(mn,On(On({},d),{},{buttonRegistry:f,panelRegistry:v,controlRegistry:m,pluginRegistry:b,mapProvider:p}))),y}),Sn.apply(this,arguments)}export{jn as initialiseApp};