@tracktor/map 1.7.1 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.d.ts +2 -2
- package/dist/main.js +202 -194
- package/dist/main.umd.cjs +4 -4
- package/dist/types/isValidMarker.d.ts +18 -2
- package/package.json +1 -1
- package/dist/utils/isValidLatLng.d.ts +0 -2
package/dist/main.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export * from './context/MapProvider';
|
|
|
3
3
|
export { default as MapProvider } from './context/MapProvider';
|
|
4
4
|
export * from './features/MapView/MapView.tsx';
|
|
5
5
|
export { default as MapView } from './features/MapView/MapView.tsx';
|
|
6
|
+
export * from './types/isValidMarker';
|
|
7
|
+
export { default as isValidMarker } from './types/isValidMarker';
|
|
6
8
|
export * from './types/MapViewProps.ts';
|
|
7
9
|
export * from './types/MarkerProps';
|
|
8
10
|
export { default as isPointInGeoJSON } from './utils/isPointInGeoJSON.ts';
|
|
9
|
-
export * from './utils/isValidLatLng';
|
|
10
|
-
export { default as isValidLatLng } from './utils/isValidLatLng';
|
package/dist/main.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}`)),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
-
import
|
|
3
|
-
import { LicenseInfo as
|
|
4
|
-
import
|
|
5
|
-
import { useTheme as be, Box as Z, GlobalStyles as Fe, Skeleton as
|
|
6
|
-
import
|
|
7
|
-
import { isArray as ce, isString as
|
|
8
|
-
const
|
|
2
|
+
import Pe, { createContext as Le, useEffect as j, useMemo as C, useRef as ae, memo as le, useState as B } from "react";
|
|
3
|
+
import { LicenseInfo as $e } from "@mui/x-license";
|
|
4
|
+
import he from "mapbox-gl";
|
|
5
|
+
import { useTheme as be, Box as Z, GlobalStyles as Fe, Skeleton as Ie } from "@tracktor/design-system";
|
|
6
|
+
import Ne, { Marker as xe, Source as de, Layer as fe, useMap as De, Popup as Ue } from "react-map-gl";
|
|
7
|
+
import { isArray as ce, isString as _e, isNumber as oe } from "@tracktor/react-utils";
|
|
8
|
+
const Pt = 2.333, Lt = 46.8677;
|
|
9
9
|
var X = { exports: {} }, U = {};
|
|
10
10
|
/**
|
|
11
11
|
* @license React
|
|
@@ -17,7 +17,7 @@ var X = { exports: {} }, U = {};
|
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
18
18
|
*/
|
|
19
19
|
var pe;
|
|
20
|
-
function
|
|
20
|
+
function Ye() {
|
|
21
21
|
if (pe) return U;
|
|
22
22
|
pe = 1;
|
|
23
23
|
var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
|
|
@@ -49,7 +49,7 @@ var Y = {};
|
|
|
49
49
|
* LICENSE file in the root directory of this source tree.
|
|
50
50
|
*/
|
|
51
51
|
var ge;
|
|
52
|
-
function
|
|
52
|
+
function Be() {
|
|
53
53
|
return ge || (ge = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
54
54
|
function e(r) {
|
|
55
55
|
if (r == null) return null;
|
|
@@ -57,13 +57,13 @@ function Ue() {
|
|
|
57
57
|
return r.$$typeof === N ? null : r.displayName || r.name || null;
|
|
58
58
|
if (typeof r == "string") return r;
|
|
59
59
|
switch (r) {
|
|
60
|
-
case
|
|
60
|
+
case k:
|
|
61
61
|
return "Fragment";
|
|
62
|
-
case
|
|
62
|
+
case $:
|
|
63
63
|
return "Profiler";
|
|
64
|
-
case
|
|
64
|
+
case V:
|
|
65
65
|
return "StrictMode";
|
|
66
|
-
case
|
|
66
|
+
case F:
|
|
67
67
|
return "Suspense";
|
|
68
68
|
case I:
|
|
69
69
|
return "SuspenseList";
|
|
@@ -106,8 +106,8 @@ function Ue() {
|
|
|
106
106
|
}
|
|
107
107
|
if (c) {
|
|
108
108
|
c = console;
|
|
109
|
-
var
|
|
110
|
-
return
|
|
109
|
+
var y = c.error, g = typeof Symbol == "function" && Symbol.toStringTag && r[Symbol.toStringTag] || r.constructor.name || "Object";
|
|
110
|
+
return y.call(
|
|
111
111
|
c,
|
|
112
112
|
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
113
113
|
g
|
|
@@ -115,7 +115,7 @@ function Ue() {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
function a(r) {
|
|
118
|
-
if (r ===
|
|
118
|
+
if (r === k) return "<>";
|
|
119
119
|
if (typeof r == "object" && r !== null && r.$$typeof === R)
|
|
120
120
|
return "<...>";
|
|
121
121
|
try {
|
|
@@ -140,32 +140,32 @@ function Ue() {
|
|
|
140
140
|
return r.key !== void 0;
|
|
141
141
|
}
|
|
142
142
|
function i(r, c) {
|
|
143
|
-
function
|
|
144
|
-
|
|
143
|
+
function y() {
|
|
144
|
+
W || (W = !0, console.error(
|
|
145
145
|
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
146
146
|
c
|
|
147
147
|
));
|
|
148
148
|
}
|
|
149
|
-
|
|
150
|
-
get:
|
|
149
|
+
y.isReactWarning = !0, Object.defineProperty(r, "key", {
|
|
150
|
+
get: y,
|
|
151
151
|
configurable: !0
|
|
152
152
|
});
|
|
153
153
|
}
|
|
154
154
|
function d() {
|
|
155
155
|
var r = e(this.type);
|
|
156
|
-
return
|
|
156
|
+
return G[r] || (G[r] = !0, console.error(
|
|
157
157
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
158
158
|
)), r = this.props.ref, r !== void 0 ? r : null;
|
|
159
159
|
}
|
|
160
|
-
function p(r, c,
|
|
161
|
-
var
|
|
160
|
+
function p(r, c, y, g, u, S) {
|
|
161
|
+
var h = y.ref;
|
|
162
162
|
return r = {
|
|
163
|
-
$$typeof:
|
|
163
|
+
$$typeof: v,
|
|
164
164
|
type: r,
|
|
165
165
|
key: c,
|
|
166
|
-
props:
|
|
166
|
+
props: y,
|
|
167
167
|
_owner: g
|
|
168
|
-
}, (
|
|
168
|
+
}, (h !== void 0 ? h : null) !== null ? Object.defineProperty(r, "ref", {
|
|
169
169
|
enumerable: !1,
|
|
170
170
|
get: d
|
|
171
171
|
}) : Object.defineProperty(r, "ref", { enumerable: !1, value: null }), r._store = {}, Object.defineProperty(r._store, "validated", {
|
|
@@ -190,25 +190,25 @@ function Ue() {
|
|
|
190
190
|
value: S
|
|
191
191
|
}), Object.freeze && (Object.freeze(r.props), Object.freeze(r)), r;
|
|
192
192
|
}
|
|
193
|
-
function m(r, c,
|
|
194
|
-
var
|
|
195
|
-
if (
|
|
193
|
+
function m(r, c, y, g, u, S) {
|
|
194
|
+
var h = c.children;
|
|
195
|
+
if (h !== void 0)
|
|
196
196
|
if (g)
|
|
197
|
-
if (P(
|
|
198
|
-
for (g = 0; g <
|
|
199
|
-
|
|
200
|
-
Object.freeze && Object.freeze(
|
|
197
|
+
if (P(h)) {
|
|
198
|
+
for (g = 0; g < h.length; g++)
|
|
199
|
+
_(h[g]);
|
|
200
|
+
Object.freeze && Object.freeze(h);
|
|
201
201
|
} else
|
|
202
202
|
console.error(
|
|
203
203
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
204
204
|
);
|
|
205
|
-
else
|
|
205
|
+
else _(h);
|
|
206
206
|
if (M.call(c, "key")) {
|
|
207
|
-
|
|
207
|
+
h = e(r);
|
|
208
208
|
var w = Object.keys(c).filter(function(re) {
|
|
209
209
|
return re !== "key";
|
|
210
210
|
});
|
|
211
|
-
g = 0 < w.length ? "{key: someKey, " + w.join(": ..., ") + ": ...}" : "{key: someKey}", z[
|
|
211
|
+
g = 0 < w.length ? "{key: someKey, " + w.join(": ..., ") + ": ...}" : "{key: someKey}", z[h + g] || (w = 0 < w.length ? "{" + w.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
212
212
|
`A props object containing a "key" prop is being spread into JSX:
|
|
213
213
|
let props = %s;
|
|
214
214
|
<%s {...props} />
|
|
@@ -216,35 +216,35 @@ React keys must be passed directly to JSX without using spread:
|
|
|
216
216
|
let props = %s;
|
|
217
217
|
<%s key={someKey} {...props} />`,
|
|
218
218
|
g,
|
|
219
|
-
|
|
219
|
+
h,
|
|
220
220
|
w,
|
|
221
|
-
|
|
222
|
-
), z[
|
|
221
|
+
h
|
|
222
|
+
), z[h + g] = !0);
|
|
223
223
|
}
|
|
224
|
-
if (
|
|
225
|
-
|
|
224
|
+
if (h = null, y !== void 0 && (n(y), h = "" + y), s(c) && (n(c.key), h = "" + c.key), "key" in c) {
|
|
225
|
+
y = {};
|
|
226
226
|
for (var D in c)
|
|
227
|
-
D !== "key" && (
|
|
228
|
-
} else
|
|
229
|
-
return
|
|
230
|
-
|
|
227
|
+
D !== "key" && (y[D] = c[D]);
|
|
228
|
+
} else y = c;
|
|
229
|
+
return h && i(
|
|
230
|
+
y,
|
|
231
231
|
typeof r == "function" ? r.displayName || r.name || "Unknown" : r
|
|
232
232
|
), p(
|
|
233
233
|
r,
|
|
234
|
-
y,
|
|
235
234
|
h,
|
|
235
|
+
y,
|
|
236
236
|
o(),
|
|
237
237
|
u,
|
|
238
238
|
S
|
|
239
239
|
);
|
|
240
240
|
}
|
|
241
|
-
function
|
|
241
|
+
function _(r) {
|
|
242
242
|
b(r) ? r._store && (r._store.validated = 1) : typeof r == "object" && r !== null && r.$$typeof === R && (r._payload.status === "fulfilled" ? b(r._payload.value) && r._payload.value._store && (r._payload.value._store.validated = 1) : r._store && (r._store.validated = 1));
|
|
243
243
|
}
|
|
244
244
|
function b(r) {
|
|
245
|
-
return typeof r == "object" && r !== null && r.$$typeof ===
|
|
245
|
+
return typeof r == "object" && r !== null && r.$$typeof === v;
|
|
246
246
|
}
|
|
247
|
-
var x =
|
|
247
|
+
var x = Pe, v = Symbol.for("react.transitional.element"), E = Symbol.for("react.portal"), k = Symbol.for("react.fragment"), V = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), K = Symbol.for("react.consumer"), ee = Symbol.for("react.context"), te = Symbol.for("react.forward_ref"), F = Symbol.for("react.suspense"), I = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), R = Symbol.for("react.lazy"), A = Symbol.for("react.activity"), N = Symbol.for("react.client.reference"), O = x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, M = Object.prototype.hasOwnProperty, P = Array.isArray, L = console.createTask ? console.createTask : function() {
|
|
248
248
|
return null;
|
|
249
249
|
};
|
|
250
250
|
x = {
|
|
@@ -252,44 +252,44 @@ React keys must be passed directly to JSX without using spread:
|
|
|
252
252
|
return r();
|
|
253
253
|
}
|
|
254
254
|
};
|
|
255
|
-
var
|
|
255
|
+
var W, G = {}, q = x.react_stack_bottom_frame.bind(
|
|
256
256
|
x,
|
|
257
257
|
l
|
|
258
|
-
)(), J =
|
|
259
|
-
Y.Fragment =
|
|
258
|
+
)(), J = L(a(l)), z = {};
|
|
259
|
+
Y.Fragment = k, Y.jsx = function(r, c, y) {
|
|
260
260
|
var g = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
261
261
|
return m(
|
|
262
262
|
r,
|
|
263
263
|
c,
|
|
264
|
-
|
|
264
|
+
y,
|
|
265
265
|
!1,
|
|
266
266
|
g ? Error("react-stack-top-frame") : q,
|
|
267
|
-
g ?
|
|
267
|
+
g ? L(a(r)) : J
|
|
268
268
|
);
|
|
269
|
-
}, Y.jsxs = function(r, c,
|
|
269
|
+
}, Y.jsxs = function(r, c, y) {
|
|
270
270
|
var g = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
271
271
|
return m(
|
|
272
272
|
r,
|
|
273
273
|
c,
|
|
274
|
-
|
|
274
|
+
y,
|
|
275
275
|
!0,
|
|
276
276
|
g ? Error("react-stack-top-frame") : q,
|
|
277
|
-
g ?
|
|
277
|
+
g ? L(a(r)) : J
|
|
278
278
|
);
|
|
279
279
|
};
|
|
280
280
|
})()), Y;
|
|
281
281
|
}
|
|
282
282
|
var me;
|
|
283
|
-
function
|
|
284
|
-
return me || (me = 1, process.env.NODE_ENV === "production" ? X.exports =
|
|
283
|
+
function Ve() {
|
|
284
|
+
return me || (me = 1, process.env.NODE_ENV === "production" ? X.exports = Ye() : X.exports = Be()), X.exports;
|
|
285
285
|
}
|
|
286
|
-
var f =
|
|
287
|
-
const
|
|
286
|
+
var f = Ve();
|
|
287
|
+
const We = Le({
|
|
288
288
|
licenceMapbox: "",
|
|
289
289
|
licenseMuiX: ""
|
|
290
|
-
}),
|
|
291
|
-
|
|
292
|
-
t &&
|
|
290
|
+
}), $t = ({ children: e, licenseMuiX: t, licenceMapbox: n }) => {
|
|
291
|
+
j(() => {
|
|
292
|
+
t && $e.setLicenseKey(t);
|
|
293
293
|
}, [t]);
|
|
294
294
|
const a = C(
|
|
295
295
|
() => ({
|
|
@@ -298,24 +298,24 @@ const Be = Me({
|
|
|
298
298
|
}),
|
|
299
299
|
[t, n]
|
|
300
300
|
);
|
|
301
|
-
return n && (
|
|
302
|
-
},
|
|
301
|
+
return n && (he.accessToken = n), /* @__PURE__ */ f.jsx(We.Provider, { value: a, children: e });
|
|
302
|
+
}, Ge = (e) => e?.type === "LineString" || e?.type === "MultiLineString", qe = (e) => {
|
|
303
303
|
let t;
|
|
304
304
|
Array.isArray(e[0][0]) ? t = e.reduce((o, l) => l.length > o.length ? l : o) : t = e;
|
|
305
305
|
const n = Math.floor(t.length / 2);
|
|
306
306
|
return [t[n][0], t[n][1]];
|
|
307
|
-
},
|
|
307
|
+
}, Je = ({ route: e, children: t }) => {
|
|
308
308
|
if (!(e && t))
|
|
309
309
|
return null;
|
|
310
310
|
const n = e.geometry;
|
|
311
|
-
if (!
|
|
311
|
+
if (!Ge(n))
|
|
312
312
|
return null;
|
|
313
|
-
const a = n.coordinates, [o, l] =
|
|
313
|
+
const a = n.coordinates, [o, l] = qe(a);
|
|
314
314
|
return /* @__PURE__ */ f.jsx(xe, { longitude: o, latitude: l, children: t });
|
|
315
|
-
},
|
|
315
|
+
}, ze = (e) => ce(e) ? { features: e, type: "FeatureCollection" } : e.type === "FeatureCollection" ? e : { features: [e], type: "FeatureCollection" }, Q = ({ features: e, lineLabel: t, lineStyle: n }) => {
|
|
316
316
|
if (!e)
|
|
317
317
|
return null;
|
|
318
|
-
const a =
|
|
318
|
+
const a = ze(e), o = a.features.filter((s) => s.geometry.type === "Polygon" || s.geometry.type === "MultiPolygon"), l = a.features.filter((s) => s.geometry.type === "LineString" || s.geometry.type === "MultiLineString");
|
|
319
319
|
return /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
|
|
320
320
|
o.length > 0 && // biome-ignore lint/correctness/useUniqueElementIds: <ID must stay stable for map layer>
|
|
321
321
|
/* @__PURE__ */ f.jsx(de, { id: "features-polygon", type: "geojson", data: { features: o, type: "FeatureCollection" }, children: /* @__PURE__ */ f.jsx(
|
|
@@ -342,17 +342,17 @@ const Be = Me({
|
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
) }),
|
|
345
|
-
t && l.map((s, i) => /* @__PURE__ */ f.jsx(
|
|
345
|
+
t && l.map((s, i) => /* @__PURE__ */ f.jsx(Je, { route: s, children: t }, `label-${i}`))
|
|
346
346
|
] })
|
|
347
347
|
] });
|
|
348
|
-
},
|
|
348
|
+
}, Xe = "#000000", Ze = "#FFFFFF", se = {
|
|
349
349
|
default: "#009ba6",
|
|
350
350
|
primary: "#3F83F8",
|
|
351
351
|
secondary: "#9C27B0",
|
|
352
352
|
success: "#4CAF50",
|
|
353
353
|
warning: "#FF9800"
|
|
354
|
-
},
|
|
355
|
-
const { palette: n } = be(), a = n.mode === "dark" ?
|
|
354
|
+
}, He = (e) => e in se, Qe = ({ color: e, variant: t }) => {
|
|
355
|
+
const { palette: n } = be(), a = n.mode === "dark" ? Xe : Ze, o = t && He(t) && se[t] || e || (_e(t) ? t : se.default);
|
|
356
356
|
return /* @__PURE__ */ f.jsx(
|
|
357
357
|
Z,
|
|
358
358
|
{
|
|
@@ -367,7 +367,7 @@ const Be = Me({
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
);
|
|
370
|
-
},
|
|
370
|
+
}, Ke = (e) => ({
|
|
371
371
|
".mapboxgl-popup-close-button": {
|
|
372
372
|
color: e.palette.mode === "dark" ? "#fff !important" : "#000 !important",
|
|
373
373
|
fontSize: "20px !important"
|
|
@@ -382,7 +382,12 @@ const Be = Me({
|
|
|
382
382
|
".mapboxgl-popup-tip": {
|
|
383
383
|
borderTopColor: `${e.palette.mode === "dark" ? "#1e1e1e" : "#ffffff"} !important`
|
|
384
384
|
}
|
|
385
|
-
}),
|
|
385
|
+
}), ve = (e) => typeof e == "number" && e >= -90 && e <= 90, Ee = (e) => typeof e == "number" && e >= -180 && e <= 180, Ft = (e) => Array.isArray(e) && e.length === 2 && ve(e[0]) && Ee(e[1]), Re = (e) => {
|
|
386
|
+
if (typeof e != "object" || e === null)
|
|
387
|
+
return !1;
|
|
388
|
+
const t = e;
|
|
389
|
+
return (typeof t.id == "string" || typeof t.id == "number" || t.id === void 0) && ve(t.lat) && Ee(t.lng);
|
|
390
|
+
}, ye = (e) => _e(e) || oe(e) ? String(e) : JSON.stringify(e), et = (e) => {
|
|
386
391
|
if (!e)
|
|
387
392
|
return [];
|
|
388
393
|
const t = ce(e) ? e : e.type === "FeatureCollection" ? e.features : [e], n = [];
|
|
@@ -391,7 +396,7 @@ const Be = Me({
|
|
|
391
396
|
o.type === "Point" && n.push(o.coordinates), o.type === "LineString" && n.push(...o.coordinates), o.type === "Polygon" && n.push(...o.coordinates[0]);
|
|
392
397
|
}
|
|
393
398
|
return n;
|
|
394
|
-
},
|
|
399
|
+
}, tt = ({
|
|
395
400
|
markers: e = [],
|
|
396
401
|
features: t,
|
|
397
402
|
padding: n = 50,
|
|
@@ -401,25 +406,25 @@ const Be = Me({
|
|
|
401
406
|
animationKey: s,
|
|
402
407
|
openPopup: i
|
|
403
408
|
}) => {
|
|
404
|
-
const { current: d } =
|
|
405
|
-
const x = [...m.map((
|
|
406
|
-
return x.length === 0 ? null : x.reduce((
|
|
407
|
-
}, [m,
|
|
408
|
-
return
|
|
409
|
+
const { current: d } = De(), p = ae(""), m = C(() => e.filter(Re), [e]), _ = C(() => et(t), [t]), b = C(() => {
|
|
410
|
+
const x = [...m.map((v) => [v.lng, v.lat]), ..._];
|
|
411
|
+
return x.length === 0 ? null : x.reduce((v, [E, k]) => v.extend([E, k]), new he.LngLatBounds());
|
|
412
|
+
}, [m, _]);
|
|
413
|
+
return j(() => {
|
|
409
414
|
if (i) {
|
|
410
|
-
p.current = s !== void 0 ?
|
|
415
|
+
p.current = s !== void 0 ? ye(s) : "__initial_skip__";
|
|
411
416
|
return;
|
|
412
417
|
}
|
|
413
418
|
if (d && l && b) {
|
|
414
419
|
if (s !== void 0) {
|
|
415
|
-
const x =
|
|
420
|
+
const x = ye(s);
|
|
416
421
|
if (p.current === x)
|
|
417
422
|
return;
|
|
418
423
|
p.current = x;
|
|
419
424
|
} else if (p.current === "__initial_skip__")
|
|
420
425
|
return;
|
|
421
426
|
if (!b.isEmpty()) {
|
|
422
|
-
if (m.length === 1 &&
|
|
427
|
+
if (m.length === 1 && _.length === 0) {
|
|
423
428
|
const x = m[0];
|
|
424
429
|
d.flyTo({
|
|
425
430
|
center: [x.lng, x.lat],
|
|
@@ -434,15 +439,15 @@ const Be = Me({
|
|
|
434
439
|
});
|
|
435
440
|
}
|
|
436
441
|
}
|
|
437
|
-
}, [d, b, n, a, o, s, l, m,
|
|
438
|
-
},
|
|
442
|
+
}, [d, b, n, a, o, s, l, m, _, i]), null;
|
|
443
|
+
}, Se = (e, t) => {
|
|
439
444
|
if (t <= 0)
|
|
440
445
|
throw new Error("chunkSize must be greater than 0");
|
|
441
446
|
const n = [];
|
|
442
447
|
for (let a = 0; a < e.length; a += t)
|
|
443
448
|
n.push(e.slice(a, a + t));
|
|
444
449
|
return n;
|
|
445
|
-
},
|
|
450
|
+
}, rt = (e, t) => [e, ...t.map((n) => n.coords)].map((n) => n.join(",")).join(";"), nt = (e, t, n) => {
|
|
446
451
|
const a = t.map((s, i) => {
|
|
447
452
|
if (i === 0 || s == null)
|
|
448
453
|
return null;
|
|
@@ -454,21 +459,21 @@ const Be = Me({
|
|
|
454
459
|
const o = a.sort((s, i) => s.distance - i.distance), l = o[0];
|
|
455
460
|
return n && l.distance > n ? { all: o, nearest: null } : { all: o, nearest: l };
|
|
456
461
|
};
|
|
457
|
-
function
|
|
462
|
+
function Te(e, t, n) {
|
|
458
463
|
return async (a, o, l, s) => {
|
|
459
|
-
const i =
|
|
460
|
-
return m?.length ?
|
|
464
|
+
const i = rt(a, o), d = e(i, l), p = await t(d), m = p ? n(p)?.[0] : void 0;
|
|
465
|
+
return m?.length ? nt(o, m, s) : { all: [], nearest: null };
|
|
461
466
|
};
|
|
462
467
|
}
|
|
463
|
-
const
|
|
468
|
+
const je = async (e, t, n) => {
|
|
464
469
|
const a = Array.from({ length: Math.ceil(e.length / t) }, (l, s) => e.slice(s * t, (s + 1) * t));
|
|
465
470
|
return (await Promise.all(a.map(async (l) => Promise.all(l.map(n))))).flat();
|
|
466
|
-
},
|
|
471
|
+
}, ot = "https://api.mapbox.com", ie = (e, t, n, a, o = {}) => {
|
|
467
472
|
const l = new URLSearchParams({
|
|
468
473
|
access_token: "",
|
|
469
474
|
...o
|
|
470
475
|
});
|
|
471
|
-
return `${
|
|
476
|
+
return `${ot}/${e}/${t}/mapbox/${n}/${a}?${l.toString()}`;
|
|
472
477
|
}, ue = async (e) => {
|
|
473
478
|
try {
|
|
474
479
|
const t = await fetch(e);
|
|
@@ -476,25 +481,25 @@ const Se = async (e, t, n) => {
|
|
|
476
481
|
} catch (t) {
|
|
477
482
|
return console.error("Mapbox network error:", t), null;
|
|
478
483
|
}
|
|
479
|
-
},
|
|
484
|
+
}, st = 25, at = 5, lt = (e, t) => ie("directions-matrix", "v1", t, e, {
|
|
480
485
|
annotations: "distance",
|
|
481
486
|
sources: "0"
|
|
482
|
-
}),
|
|
487
|
+
}), ct = (e) => e.distances ?? void 0, it = Te(lt, ue, ct), ut = async (e, t, n = "driving", a) => {
|
|
483
488
|
if (!t.length)
|
|
484
489
|
return [];
|
|
485
|
-
const o =
|
|
486
|
-
return (await
|
|
490
|
+
const o = Se(t, st - 1);
|
|
491
|
+
return (await je(
|
|
487
492
|
o,
|
|
488
|
-
|
|
489
|
-
(s) =>
|
|
493
|
+
at,
|
|
494
|
+
(s) => it(e, s, n, a)
|
|
490
495
|
)).flatMap((s) => s.all).sort((s, i) => s.distance - i.distance);
|
|
491
|
-
},
|
|
496
|
+
}, dt = async (e, t = "driving", n = [5, 10, 15]) => {
|
|
492
497
|
const a = `${e[0]},${e[1]}`, o = ie("isochrone", "v1", t, a, {
|
|
493
498
|
contours_minutes: n.join(","),
|
|
494
499
|
polygons: "true"
|
|
495
500
|
});
|
|
496
501
|
return await ue(o);
|
|
497
|
-
},
|
|
502
|
+
}, ft = async (e, t, n = "driving") => {
|
|
498
503
|
const a = `${e.join(",")};${t.join(",")}`, o = ie("directions", "v5", n, a, {
|
|
499
504
|
geometries: "geojson",
|
|
500
505
|
overview: "full"
|
|
@@ -511,12 +516,12 @@ const Se = async (e, t, n) => {
|
|
|
511
516
|
type: "Feature"
|
|
512
517
|
};
|
|
513
518
|
}, H = {
|
|
514
|
-
findNearest:
|
|
515
|
-
getIsochrone:
|
|
516
|
-
getItinerary:
|
|
517
|
-
},
|
|
519
|
+
findNearest: ut,
|
|
520
|
+
getIsochrone: dt,
|
|
521
|
+
getItinerary: ft
|
|
522
|
+
}, pt = ({ origin: e, profile: t = "driving", intervals: n = [5, 10, 15], onIsochroneLoaded: a }) => {
|
|
518
523
|
const [o, l] = B(null);
|
|
519
|
-
return
|
|
524
|
+
return j(() => {
|
|
520
525
|
let s = !1;
|
|
521
526
|
if (!e || e.length !== 2) {
|
|
522
527
|
l(null);
|
|
@@ -533,41 +538,41 @@ const Se = async (e, t, n) => {
|
|
|
533
538
|
s = !0;
|
|
534
539
|
};
|
|
535
540
|
}, [e, t, n, a]), o ? /* @__PURE__ */ f.jsx(Q, { features: o }) : null;
|
|
536
|
-
},
|
|
541
|
+
}, gt = le(pt), mt = {
|
|
537
542
|
cycling: "routed-bike",
|
|
538
543
|
driving: "routed-car",
|
|
539
544
|
walking: "routed-foot"
|
|
540
|
-
},
|
|
541
|
-
const o = `${
|
|
545
|
+
}, yt = "https://routing.openstreetmap.de", ke = (e, t, n, a) => {
|
|
546
|
+
const o = `${yt}/${mt[t]}/${e}/v1/${t}/${n}`, l = a ? `?${new URLSearchParams(a).toString()}` : "";
|
|
542
547
|
return `${o}${l}`;
|
|
543
|
-
},
|
|
548
|
+
}, we = async (e) => {
|
|
544
549
|
try {
|
|
545
550
|
const t = await fetch(e);
|
|
546
551
|
return t.ok ? await t.json() : (console.error("OSRM API error:", t.status, t.statusText), null);
|
|
547
552
|
} catch (t) {
|
|
548
553
|
return console.error("Error fetching OSRM API:", t), null;
|
|
549
554
|
}
|
|
550
|
-
},
|
|
555
|
+
}, ht = 100, bt = 5, xt = (e, t) => ke("table", t, e, {
|
|
551
556
|
annotations: "distance",
|
|
552
557
|
sources: 0
|
|
553
|
-
}),
|
|
554
|
-
|
|
555
|
-
|
|
558
|
+
}), _t = Te(
|
|
559
|
+
xt,
|
|
560
|
+
we,
|
|
556
561
|
(e) => e.distances ?? void 0
|
|
557
|
-
),
|
|
562
|
+
), vt = async (e, t, n = "driving", a) => {
|
|
558
563
|
if (!t.length)
|
|
559
564
|
return [];
|
|
560
|
-
const o =
|
|
561
|
-
return (await
|
|
565
|
+
const o = Se(t, ht - 1);
|
|
566
|
+
return (await je(
|
|
562
567
|
o,
|
|
563
|
-
|
|
564
|
-
(s) =>
|
|
568
|
+
bt,
|
|
569
|
+
(s) => _t(e, s, n, a)
|
|
565
570
|
)).flatMap((s) => s.all).sort((s, i) => s.distance - i.distance);
|
|
566
|
-
},
|
|
567
|
-
const a = `${e.join(",")};${t.join(",")}`, o =
|
|
571
|
+
}, Et = async (e, t, n = "driving") => {
|
|
572
|
+
const a = `${e.join(",")};${t.join(",")}`, o = ke("route", n, a, {
|
|
568
573
|
geometries: "geojson",
|
|
569
574
|
overview: "full"
|
|
570
|
-
}), l = await
|
|
575
|
+
}), l = await we(o);
|
|
571
576
|
if (!l?.routes?.length)
|
|
572
577
|
return null;
|
|
573
578
|
const s = l.routes[0];
|
|
@@ -579,20 +584,20 @@ const Se = async (e, t, n) => {
|
|
|
579
584
|
},
|
|
580
585
|
type: "Feature"
|
|
581
586
|
};
|
|
582
|
-
},
|
|
583
|
-
findNearest:
|
|
584
|
-
getItinerary:
|
|
585
|
-
},
|
|
587
|
+
}, Ae = {
|
|
588
|
+
findNearest: vt,
|
|
589
|
+
getItinerary: Et
|
|
590
|
+
}, Ce = ({ from: e, to: t, profile: n, engine: a, itineraryLineStyle: o, initialRoute: l, onRouteComputed: s, itineraryLabel: i }) => {
|
|
586
591
|
const [d, p] = B(l ?? null);
|
|
587
|
-
return
|
|
592
|
+
return j(() => {
|
|
588
593
|
l && (p(l), s?.(l));
|
|
589
|
-
}, [l, s]),
|
|
594
|
+
}, [l, s]), j(() => {
|
|
590
595
|
!(e && t) || l || (async () => {
|
|
591
|
-
const
|
|
592
|
-
p(
|
|
596
|
+
const _ = await (a === "OSRM" ? Ae : H).getItinerary(e, t, n);
|
|
597
|
+
p(_ ?? null), s?.(_ ?? null);
|
|
593
598
|
})();
|
|
594
599
|
}, [e, t, n, a, l, s]), d ? /* @__PURE__ */ f.jsx(Q, { features: d, lineStyle: o, lineLabel: i }) : null;
|
|
595
|
-
},
|
|
600
|
+
}, Rt = ({
|
|
596
601
|
origin: e,
|
|
597
602
|
maxDistanceMeters: t,
|
|
598
603
|
destinations: n,
|
|
@@ -603,9 +608,9 @@ const Se = async (e, t, n) => {
|
|
|
603
608
|
engine: i = "OSRM"
|
|
604
609
|
}) => {
|
|
605
610
|
const [d, p] = B(o ?? []), m = ae(null);
|
|
606
|
-
|
|
611
|
+
j(() => {
|
|
607
612
|
o && p(o);
|
|
608
|
-
}, [o]),
|
|
613
|
+
}, [o]), j(() => {
|
|
609
614
|
const b = new AbortController();
|
|
610
615
|
if (o?.length) return;
|
|
611
616
|
if (!e || e.length !== 2 || !n?.length) {
|
|
@@ -617,20 +622,20 @@ const Se = async (e, t, n) => {
|
|
|
617
622
|
coords: [E.lng, E.lat],
|
|
618
623
|
id: E.id
|
|
619
624
|
}));
|
|
620
|
-
return (i === "OSRM" ?
|
|
621
|
-
}, [e, t, n, s, i, o?.length]),
|
|
625
|
+
return (i === "OSRM" ? Ae : H).findNearest(e, x, s, t).then((E) => p(E ?? [])).catch(() => p([])), () => b.abort();
|
|
626
|
+
}, [e, t, n, s, i, o?.length]), j(() => {
|
|
622
627
|
const b = m.current;
|
|
623
|
-
(!b || b.length !== d.length || b.some((
|
|
628
|
+
(!b || b.length !== d.length || b.some((v, E) => v.id !== d[E]?.id || v.distance !== d[E]?.distance)) && (a?.(d), m.current = d);
|
|
624
629
|
}, [d, a]);
|
|
625
|
-
const
|
|
626
|
-
return
|
|
627
|
-
},
|
|
630
|
+
const _ = d[0];
|
|
631
|
+
return _ ? _.routeFeature ? /* @__PURE__ */ f.jsx(Q, { features: _.routeFeature }) : /* @__PURE__ */ f.jsx(Ce, { from: e, to: _.point, profile: s, engine: i, itineraryLineStyle: l }) : null;
|
|
632
|
+
}, St = le(Rt), ne = {
|
|
628
633
|
satellite: "mapbox://styles/mapbox/satellite-streets-v12",
|
|
629
634
|
street: {
|
|
630
635
|
dark: "mapbox://styles/mapbox/dark-v11",
|
|
631
636
|
light: "mapbox://styles/mapbox/streets-v12"
|
|
632
637
|
}
|
|
633
|
-
},
|
|
638
|
+
}, Oe = (e, t) => {
|
|
634
639
|
const n = t === "dark";
|
|
635
640
|
switch (e) {
|
|
636
641
|
case "satellite":
|
|
@@ -638,7 +643,7 @@ const Se = async (e, t, n) => {
|
|
|
638
643
|
default:
|
|
639
644
|
return n ? ne.street.dark : ne.street.light;
|
|
640
645
|
}
|
|
641
|
-
},
|
|
646
|
+
}, Tt = ({
|
|
642
647
|
mapStyle: e,
|
|
643
648
|
theme: t,
|
|
644
649
|
baseMapView: n,
|
|
@@ -648,8 +653,8 @@ const Se = async (e, t, n) => {
|
|
|
648
653
|
cooperativeGestures: o,
|
|
649
654
|
doubleClickZoom: a,
|
|
650
655
|
failIfMajorPerformanceCaveat: !1,
|
|
651
|
-
style: e ??
|
|
652
|
-
}),
|
|
656
|
+
style: e ?? Oe(n, t)
|
|
657
|
+
}), jt = ({
|
|
653
658
|
containerStyle: e,
|
|
654
659
|
square: t,
|
|
655
660
|
loading: n,
|
|
@@ -661,52 +666,52 @@ const Se = async (e, t, n) => {
|
|
|
661
666
|
openPopup: d,
|
|
662
667
|
openPopupOnHover: p,
|
|
663
668
|
markers: m = [],
|
|
664
|
-
fitBounds:
|
|
669
|
+
fitBounds: _ = !0,
|
|
665
670
|
fitBoundsPadding: b,
|
|
666
671
|
fitBoundDuration: x,
|
|
667
|
-
fitBoundsAnimationKey:
|
|
672
|
+
fitBoundsAnimationKey: v,
|
|
668
673
|
disableAnimation: E,
|
|
669
|
-
mapStyle:
|
|
670
|
-
onMapClick:
|
|
671
|
-
baseMapView:
|
|
674
|
+
mapStyle: k,
|
|
675
|
+
onMapClick: V,
|
|
676
|
+
baseMapView: $,
|
|
672
677
|
cooperativeGestures: K = !0,
|
|
673
678
|
doubleClickZoom: ee = !0,
|
|
674
679
|
projection: te,
|
|
675
|
-
theme:
|
|
680
|
+
theme: F,
|
|
676
681
|
features: I,
|
|
677
682
|
itineraryParams: T,
|
|
678
683
|
findNearestMarker: R,
|
|
679
684
|
isochrone: A
|
|
680
685
|
}) => {
|
|
681
|
-
const N = be(), O = ae(null), [M, P] = B(d ?? null), [
|
|
686
|
+
const N = be(), O = ae(null), [M, P] = B(d ?? null), [L, W] = B(!1), G = C(() => {
|
|
682
687
|
const [u = 2.3522, S = 48.8566] = ce(l) ? l : [];
|
|
683
688
|
return { latitude: S, longitude: u, zoom: s };
|
|
684
689
|
}, [l, s]), q = C(
|
|
685
|
-
() =>
|
|
686
|
-
[
|
|
690
|
+
() => k || Oe($, F ?? N.palette.mode),
|
|
691
|
+
[$, k, F, N.palette.mode]
|
|
687
692
|
), {
|
|
688
693
|
style: J,
|
|
689
694
|
cooperativeGestures: z,
|
|
690
695
|
doubleClickZoom: r
|
|
691
|
-
} =
|
|
692
|
-
baseMapView:
|
|
696
|
+
} = Tt({
|
|
697
|
+
baseMapView: $,
|
|
693
698
|
cooperativeGestures: K,
|
|
694
699
|
doubleClickZoom: ee,
|
|
695
700
|
mapStyle: q,
|
|
696
|
-
theme:
|
|
701
|
+
theme: F ?? N.palette.mode
|
|
697
702
|
}), c = (u, S) => {
|
|
698
703
|
!p && S && P(u);
|
|
699
|
-
},
|
|
704
|
+
}, y = (u, S) => {
|
|
700
705
|
p && P(S ? u : null);
|
|
701
706
|
};
|
|
702
|
-
|
|
707
|
+
j(() => {
|
|
703
708
|
P(d ?? null);
|
|
704
709
|
}, [d]);
|
|
705
710
|
const g = C(() => M ? m?.find((u) => u.id === M) ?? null : null, [M, m]);
|
|
706
711
|
return /* @__PURE__ */ f.jsxs(Z, { "data-testid": "mapbox-container", sx: { height: a, position: "relative", width: o, ...e }, children: [
|
|
707
|
-
/* @__PURE__ */ f.jsx(Fe, { styles:
|
|
712
|
+
/* @__PURE__ */ f.jsx(Fe, { styles: Ke }),
|
|
708
713
|
n && /* @__PURE__ */ f.jsx(
|
|
709
|
-
|
|
714
|
+
Ie,
|
|
710
715
|
{
|
|
711
716
|
"data-testid": "skeleton-loader",
|
|
712
717
|
width: o,
|
|
@@ -720,7 +725,7 @@ const Se = async (e, t, n) => {
|
|
|
720
725
|
}
|
|
721
726
|
),
|
|
722
727
|
!n && /* @__PURE__ */ f.jsxs(
|
|
723
|
-
|
|
728
|
+
Ne,
|
|
724
729
|
{
|
|
725
730
|
ref: O,
|
|
726
731
|
cooperativeGestures: z,
|
|
@@ -728,43 +733,43 @@ const Se = async (e, t, n) => {
|
|
|
728
733
|
mapStyle: J,
|
|
729
734
|
projection: te,
|
|
730
735
|
onLoad: () => {
|
|
731
|
-
|
|
736
|
+
W(!0), O.current?.resize();
|
|
732
737
|
},
|
|
733
|
-
initialViewState:
|
|
738
|
+
initialViewState: G,
|
|
734
739
|
style: { height: "100%", width: "100%" },
|
|
735
740
|
mapboxAccessToken: void 0,
|
|
736
741
|
onClick: (u) => {
|
|
737
|
-
const S = m.find((
|
|
738
|
-
const { lng: w, lat: D } = u.lngLat, re = Math.abs(Number(
|
|
739
|
-
return re < 0.01 &&
|
|
742
|
+
const S = m.find((h) => {
|
|
743
|
+
const { lng: w, lat: D } = u.lngLat, re = Math.abs(Number(h.lng ?? 0) - w), Me = Math.abs(Number(h.lat ?? 0) - D);
|
|
744
|
+
return re < 0.01 && Me < 0.01;
|
|
740
745
|
});
|
|
741
|
-
|
|
746
|
+
V?.(u.lngLat.lng, u.lngLat.lat, S ?? null);
|
|
742
747
|
},
|
|
743
748
|
children: [
|
|
744
|
-
|
|
749
|
+
L && m.filter(Re).map((u) => /* @__PURE__ */ f.jsx(
|
|
745
750
|
xe,
|
|
746
751
|
{
|
|
747
752
|
longitude: u.lng,
|
|
748
753
|
latitude: u.lat,
|
|
749
754
|
anchor: "bottom",
|
|
750
755
|
onClick: (S) => {
|
|
751
|
-
S.originalEvent.stopPropagation(), u.id && c(u.id, !!u.Tooltip),
|
|
756
|
+
S.originalEvent.stopPropagation(), u.id && c(u.id, !!u.Tooltip), V?.(u.lng, u.lat, u);
|
|
752
757
|
},
|
|
753
758
|
children: /* @__PURE__ */ f.jsx(
|
|
754
759
|
Z,
|
|
755
760
|
{
|
|
756
761
|
component: "div",
|
|
757
|
-
onMouseEnter: () => u.id &&
|
|
758
|
-
onMouseLeave: () =>
|
|
762
|
+
onMouseEnter: () => u.id && y(u.id, !!u.Tooltip),
|
|
763
|
+
onMouseLeave: () => y(null),
|
|
759
764
|
style: { cursor: u.Tooltip ? "pointer" : "default" },
|
|
760
|
-
children: u.IconComponent ? /* @__PURE__ */ f.jsx(u.IconComponent, { ...u.iconProps }) : /* @__PURE__ */ f.jsx(
|
|
765
|
+
children: u.IconComponent ? /* @__PURE__ */ f.jsx(u.IconComponent, { ...u.iconProps }) : /* @__PURE__ */ f.jsx(Qe, { color: u.color, variant: u.variant })
|
|
761
766
|
}
|
|
762
767
|
)
|
|
763
768
|
},
|
|
764
769
|
u.id
|
|
765
770
|
)),
|
|
766
|
-
|
|
767
|
-
|
|
771
|
+
L && g?.Tooltip && /* @__PURE__ */ f.jsx(
|
|
772
|
+
Ue,
|
|
768
773
|
{
|
|
769
774
|
longitude: oe(g.lng) ? g.lng : 0,
|
|
770
775
|
latitude: oe(g.lat) ? g.lat : 0,
|
|
@@ -777,7 +782,7 @@ const Se = async (e, t, n) => {
|
|
|
777
782
|
}
|
|
778
783
|
),
|
|
779
784
|
T && /* @__PURE__ */ f.jsx(
|
|
780
|
-
|
|
785
|
+
Ce,
|
|
781
786
|
{
|
|
782
787
|
from: T.from,
|
|
783
788
|
to: T.to,
|
|
@@ -790,7 +795,7 @@ const Se = async (e, t, n) => {
|
|
|
790
795
|
}
|
|
791
796
|
),
|
|
792
797
|
R && /* @__PURE__ */ f.jsx(
|
|
793
|
-
|
|
798
|
+
St,
|
|
794
799
|
{
|
|
795
800
|
origin: R.origin,
|
|
796
801
|
destinations: R.destinations,
|
|
@@ -803,7 +808,7 @@ const Se = async (e, t, n) => {
|
|
|
803
808
|
}
|
|
804
809
|
),
|
|
805
810
|
A && /* @__PURE__ */ f.jsx(
|
|
806
|
-
|
|
811
|
+
gt,
|
|
807
812
|
{
|
|
808
813
|
origin: A.origin,
|
|
809
814
|
profile: A.profile,
|
|
@@ -812,14 +817,14 @@ const Se = async (e, t, n) => {
|
|
|
812
817
|
}
|
|
813
818
|
),
|
|
814
819
|
I && /* @__PURE__ */ f.jsx(Q, { features: I }),
|
|
815
|
-
|
|
816
|
-
|
|
820
|
+
_ && /* @__PURE__ */ f.jsx(
|
|
821
|
+
tt,
|
|
817
822
|
{
|
|
818
823
|
markers: m,
|
|
819
824
|
features: I,
|
|
820
825
|
padding: b,
|
|
821
826
|
duration: E ? 0 : x,
|
|
822
|
-
animationKey:
|
|
827
|
+
animationKey: v,
|
|
823
828
|
openPopup: !!d
|
|
824
829
|
}
|
|
825
830
|
)
|
|
@@ -827,22 +832,25 @@ const Se = async (e, t, n) => {
|
|
|
827
832
|
}
|
|
828
833
|
)
|
|
829
834
|
] });
|
|
830
|
-
},
|
|
835
|
+
}, It = le(jt), Nt = ["OSRM", "Mapbox"], Dt = ["driving", "walking", "cycling"], Ut = (e, t) => {
|
|
831
836
|
const n = "geometry" in t ? t.geometry : t, [a, o] = e, l = (s) => s.map(
|
|
832
|
-
(i) => i.reduce((d, [p, m],
|
|
833
|
-
const [x,
|
|
834
|
-
return m > o !=
|
|
837
|
+
(i) => i.reduce((d, [p, m], _, b) => {
|
|
838
|
+
const [x, v] = b[(_ - 1 + b.length) % b.length];
|
|
839
|
+
return m > o != v > o && a < (x - p) * (o - m) / (v - m) + p ? !d : d;
|
|
835
840
|
}, !1)
|
|
836
841
|
).reduce((i, d, p) => p === 0 ? d : i && !d, !1);
|
|
837
842
|
return n.type === "Polygon" ? l(n.coordinates) : n.type === "MultiPolygon" ? n.coordinates.some((s) => l(s)) : !1;
|
|
838
|
-
}
|
|
843
|
+
};
|
|
839
844
|
export {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
845
|
+
Lt as DEFAULT_CENTER_LAT,
|
|
846
|
+
Pt as DEFAULT_CENTER_LNG,
|
|
847
|
+
$t as MapProvider,
|
|
848
|
+
It as MapView,
|
|
849
|
+
Nt as engines,
|
|
850
|
+
Ut as isPointInGeoJSON,
|
|
851
|
+
Ft as isValidLatLngTuple,
|
|
852
|
+
ve as isValidLatitude,
|
|
853
|
+
Ee as isValidLongitude,
|
|
854
|
+
Re as isValidMarker,
|
|
855
|
+
Dt as profiles
|
|
848
856
|
};
|
package/dist/main.umd.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}`)),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
-
(function(
|
|
2
|
+
(function(E,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("react"),require("@mui/x-license"),require("mapbox-gl"),require("@tracktor/design-system"),require("react-map-gl"),require("@tracktor/react-utils")):typeof define=="function"&&define.amd?define(["exports","react","@mui/x-license","mapbox-gl","@tracktor/design-system","react-map-gl","@tracktor/react-utils"],d):(E=typeof globalThis<"u"?globalThis:E||self,d(E["@tracktor/map"]={},E.React,E.muiXLicense,E.mapboxgl,E.designSystem,E.MapboxMap,E.reactUtils))})(this,(function(E,d,Te,fe,w,A,C){"use strict";var J={exports:{}},D={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/var
|
|
10
|
+
*/var de;function Se(){if(de)return D;de=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(a,o,l){var s=null;if(l!==void 0&&(s=""+l),o.key!==void 0&&(s=""+o.key),"key"in o){l={};for(var i in o)i!=="key"&&(l[i]=o[i])}else l=o;return o=l.ref,{$$typeof:e,type:a,key:s,ref:o!==void 0?o:null,props:l}}return D.Fragment=t,D.jsx=n,D.jsxs=n,D}var U={};/**
|
|
11
11
|
* @license React
|
|
12
12
|
* react-jsx-runtime.development.js
|
|
13
13
|
*
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
*
|
|
16
16
|
* This source code is licensed under the MIT license found in the
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
18
|
-
*/var
|
|
18
|
+
*/var pe;function ke(){return pe||(pe=1,process.env.NODE_ENV!=="production"&&(function(){function e(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===G?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case L:return"Fragment";case Y:return"Profiler";case Z:return"StrictMode";case B:return"Suspense";case V:return"SuspenseList";case P:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case T:return"Portal";case ce:return r.displayName||"Context";case le:return(r._context.displayName||"Context")+".Consumer";case ie:var c=r.render;return r=r.displayName,r||(r=c.displayName||c.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case j:return c=r.displayName||null,c!==null?c:e(r.type)||"Memo";case S:c=r._payload,r=r._init;try{return e(r(c))}catch{}}return null}function t(r){return""+r}function n(r){try{t(r);var c=!1}catch{c=!0}if(c){c=console;var h=c.error,m=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return h.call(c,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",m),t(r)}}function a(r){if(r===L)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===S)return"<...>";try{var c=e(r);return c?"<"+c+">":"<...>"}catch{return"<...>"}}function o(){var r=M.A;return r===null?null:r.getOwner()}function l(){return Error("react-stack-top-frame")}function s(r){if(N.call(r,"key")){var c=Object.getOwnPropertyDescriptor(r,"key").get;if(c&&c.isReactWarning)return!1}return r.key!==void 0}function i(r,c){function h(){H||(H=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",c))}h.isReactWarning=!0,Object.defineProperty(r,"key",{get:h,configurable:!0})}function f(){var r=e(this.type);return Q[r]||(Q[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function g(r,c,h,m,u,k){var b=h.ref;return r={$$typeof:v,type:r,key:c,props:h,_owner:m},(b!==void 0?b:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:f}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:u}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:k}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function y(r,c,h,m,u,k){var b=c.children;if(b!==void 0)if(m)if(F(b)){for(m=0;m<b.length;m++)x(b[m]);Object.freeze&&Object.freeze(b)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else x(b);if(N.call(c,"key")){b=e(r);var O=Object.keys(c).filter(function(ue){return ue!=="key"});m=0<O.length?"{key: someKey, "+O.join(": ..., ")+": ...}":"{key: someKey}",q[b+m]||(O=0<O.length?"{"+O.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
19
19
|
let props = %s;
|
|
20
20
|
<%s {...props} />
|
|
21
21
|
React keys must be passed directly to JSX without using spread:
|
|
22
22
|
let props = %s;
|
|
23
|
-
<%s key={someKey} {...props} />`,m,E,L,E),q[E+m]=!0)}if(E=null,y!==void 0&&(n(y),E=""+y),s(c)&&(n(c.key),E=""+c.key),"key"in c){y={};for(var V in c)V!=="key"&&(y[V]=c[V])}else y=c;return E&&i(y,typeof r=="function"?r.displayName||r.name||"Unknown":r),g(r,E,y,o(),u,k)}function R(r){b(r)?r._store&&(r._store.validated=1):typeof r=="object"&&r!==null&&r.$$typeof===S&&(r._payload.status==="fulfilled"?b(r._payload.value)&&r._payload.value._store&&(r._payload.value._store.validated=1):r._store&&(r._store.validated=1))}function b(r){return typeof r=="object"&&r!==null&&r.$$typeof===x}var _=d,x=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),Z=Symbol.for("react.strict_mode"),Y=Symbol.for("react.profiler"),oe=Symbol.for("react.consumer"),se=Symbol.for("react.context"),ae=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),W=Symbol.for("react.client.reference"),N=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=Object.prototype.hasOwnProperty,M=Array.isArray,I=console.createTask?console.createTask:function(){return null};_={react_stack_bottom_frame:function(r){return r()}};var H,Q={},K=_.react_stack_bottom_frame.bind(_,l)(),$=I(a(l)),q={};U.Fragment=O,U.jsx=function(r,c,y){var m=1e4>N.recentlyCreatedOwnerStacks++;return h(r,c,y,!1,m?Error("react-stack-top-frame"):K,m?I(a(r)):$)},U.jsxs=function(r,c,y){var m=1e4>N.recentlyCreatedOwnerStacks++;return h(r,c,y,!0,m?Error("react-stack-top-frame"):K,m?I(a(r)):$)}})()),U}var fe;function Se(){return fe||(fe=1,process.env.NODE_ENV==="production"?J.exports=xe():J.exports=Te()),J.exports}var p=Se();const ke=d.createContext({licenceMapbox:"",licenseMuiX:""}),je=({children:e,licenseMuiX:t,licenceMapbox:n})=>{d.useEffect(()=>{t&&Re.LicenseInfo.setLicenseKey(t)},[t]);const a=d.useMemo(()=>({licenceMapbox:n,licenseMuiX:t}),[t,n]);return n&&(ce.accessToken=n),p.jsx(ke.Provider,{value:a,children:e})},Ae=e=>e?.type==="LineString"||e?.type==="MultiLineString",we=e=>{let t;Array.isArray(e[0][0])?t=e.reduce((o,l)=>l.length>o.length?l:o):t=e;const n=Math.floor(t.length/2);return[t[n][0],t[n][1]]},Ce=({route:e,children:t})=>{if(!(e&&t))return null;const n=e.geometry;if(!Ae(n))return null;const a=n.coordinates,[o,l]=we(a);return p.jsx(A.Marker,{longitude:o,latitude:l,children:t})},Oe=e=>C.isArray(e)?{features:e,type:"FeatureCollection"}:e.type==="FeatureCollection"?e:{features:[e],type:"FeatureCollection"},z=({features:e,lineLabel:t,lineStyle:n})=>{if(!e)return null;const a=Oe(e),o=a.features.filter(s=>s.geometry.type==="Polygon"||s.geometry.type==="MultiPolygon"),l=a.features.filter(s=>s.geometry.type==="LineString"||s.geometry.type==="MultiLineString");return p.jsxs(p.Fragment,{children:[o.length>0&&p.jsx(A.Source,{id:"features-polygon",type:"geojson",data:{features:o,type:"FeatureCollection"},children:p.jsx(A.Layer,{id:"polygon-fill",type:"fill",paint:{"fill-color":["coalesce",["get","color"],"#4ADE80"],"fill-opacity":["coalesce",["get","opacity"],.4]}})}),l.length>0&&p.jsxs(p.Fragment,{children:[p.jsx(A.Source,{id:"features-line",type:"geojson",data:{features:l,type:"FeatureCollection"},children:p.jsx(A.Layer,{id:"line-stroke",type:"line",paint:{"line-color":n?.color??["coalesce",["get","color"],"#3B82F6"],"line-opacity":n?.opacity??["coalesce",["get","opacity"],.9],"line-width":n?.width??["coalesce",["get","width"],3]}})}),t&&l.map((s,i)=>p.jsx(Ce,{route:s,children:t},`label-${i}`))]})]})},Le="#000000",Pe="#FFFFFF",ee={default:"#009ba6",primary:"#3F83F8",secondary:"#9C27B0",success:"#4CAF50",warning:"#FF9800"},Ne=e=>e in ee,Fe=({color:e,variant:t})=>{const{palette:n}=w.useTheme(),a=n.mode==="dark"?Le:Pe,o=t&&Ne(t)&&ee[t]||e||(C.isString(t)?t:ee.default);return p.jsx(w.Box,{component:"div",style:{backgroundColor:a,border:`7px solid ${o}`,borderRadius:"50%",boxShadow:"0 0 4px rgba(0,0,0,0.3)",height:28,width:28}})},Me=e=>({".mapboxgl-popup-close-button":{color:e.palette.mode==="dark"?"#fff !important":"#000 !important",fontSize:"20px !important"},".mapboxgl-popup-content":{backgroundColor:"transparent!important",borderRadius:"0px !important",boxShadow:"none!important",padding:"0px 0px!important",width:"fit-content!important"},".mapboxgl-popup-tip":{borderTopColor:`${e.palette.mode==="dark"?"#1e1e1e":"#ffffff"} !important`}}),de=e=>Number.isFinite(e.lng)&&Number.isFinite(e.lat),pe=e=>C.isString(e)||C.isNumber(e)?String(e):JSON.stringify(e),Ie=e=>{if(!e)return[];const t=C.isArray(e)?e:e.type==="FeatureCollection"?e.features:[e],n=[];for(const a of t){const o=a.geometry;o.type==="Point"&&n.push(o.coordinates),o.type==="LineString"&&n.push(...o.coordinates),o.type==="Polygon"&&n.push(...o.coordinates[0])}return n},De=({markers:e=[],features:t,padding:n=50,duration:a=1e3,disableAnimation:o,fitBounds:l=!0,animationKey:s,openPopup:i})=>{const{current:f}=A.useMap(),g=d.useRef(""),h=d.useMemo(()=>e.filter(de),[e]),R=d.useMemo(()=>Ie(t),[t]),b=d.useMemo(()=>{const _=[...h.map(x=>[x.lng,x.lat]),...R];return _.length===0?null:_.reduce((x,[T,O])=>x.extend([T,O]),new ce.LngLatBounds)},[h,R]);return d.useEffect(()=>{if(i){g.current=s!==void 0?pe(s):"__initial_skip__";return}if(f&&l&&b){if(s!==void 0){const _=pe(s);if(g.current===_)return;g.current=_}else if(g.current==="__initial_skip__")return;if(!b.isEmpty()){if(h.length===1&&R.length===0){const _=h[0];f.flyTo({center:[_.lng,_.lat],duration:o?0:a,zoom:14});return}f.fitBounds([b.getSouthWest().toArray(),b.getNorthEast().toArray()],{duration:o?0:a,padding:n})}}},[f,b,n,a,o,s,l,h,R,i]),null},ge=(e,t)=>{if(t<=0)throw new Error("chunkSize must be greater than 0");const n=[];for(let a=0;a<e.length;a+=t)n.push(e.slice(a,a+t));return n},Ue=(e,t)=>[e,...t.map(n=>n.coords)].map(n=>n.join(",")).join(";"),Ye=(e,t,n)=>{const a=t.map((s,i)=>{if(i===0||s==null)return null;const f=e[i-1];return f?{distance:s,id:f.id,point:f.coords}:null}).filter(s=>s!==null);if(a.length===0)return{all:[],nearest:null};const o=a.sort((s,i)=>s.distance-i.distance),l=o[0];return n&&l.distance>n?{all:o,nearest:null}:{all:o,nearest:l}};function me(e,t,n){return async(a,o,l,s)=>{const i=Ue(a,o),f=e(i,l),g=await t(f),h=g?n(g)?.[0]:void 0;return h?.length?Ye(o,h,s):{all:[],nearest:null}}}const he=async(e,t,n)=>{const a=Array.from({length:Math.ceil(e.length/t)},(l,s)=>e.slice(s*t,(s+1)*t));return(await Promise.all(a.map(async l=>Promise.all(l.map(n))))).flat()},Be="https://api.mapbox.com",te=(e,t,n,a,o={})=>{const l=new URLSearchParams({access_token:"",...o});return`${Be}/${e}/${t}/mapbox/${n}/${a}?${l.toString()}`},re=async e=>{try{const t=await fetch(e);return t.ok?await t.json():(console.error(`Mapbox API error: ${t.status} ${t.statusText}`),null)}catch(t){return console.error("Mapbox network error:",t),null}},Ge=25,We=5,Ve=me((e,t)=>te("directions-matrix","v1",t,e,{annotations:"distance",sources:"0"}),re,e=>e.distances??void 0),X={findNearest:async(e,t,n="driving",a)=>{if(!t.length)return[];const o=ge(t,Ge-1);return(await he(o,We,s=>Ve(e,s,n,a))).flatMap(s=>s.all).sort((s,i)=>s.distance-i.distance)},getIsochrone:async(e,t="driving",n=[5,10,15])=>{const a=`${e[0]},${e[1]}`,o=te("isochrone","v1",t,a,{contours_minutes:n.join(","),polygons:"true"});return await re(o)},getItinerary:async(e,t,n="driving")=>{const a=`${e.join(",")};${t.join(",")}`,o=te("directions","v5",n,a,{geometries:"geojson",overview:"full"}),l=await re(o);if(!l?.routes?.length)return null;const s=l.routes[0];return{geometry:s.geometry,properties:{distance:s.distance,duration:s.duration},type:"Feature"}}},Je=({origin:e,profile:t="driving",intervals:n=[5,10,15],onIsochroneLoaded:a})=>{const[o,l]=d.useState(null);return d.useEffect(()=>{let s=!1;if(!e||e.length!==2){l(null);return}return(async()=>{if(!X.getIsochrone){console.warn("⚠️ getIsochrone is not implemented for this provider.");return}const i=await X.getIsochrone(e,t,n);s||(l(i),a?.(i??null))})(),()=>{s=!0}},[e,t,n,a]),o?p.jsx(z,{features:o}):null},ze=d.memo(Je),Xe={cycling:"routed-bike",driving:"routed-car",walking:"routed-foot"},Ze="https://routing.openstreetmap.de",ye=(e,t,n,a)=>{const o=`${Ze}/${Xe[t]}/${e}/v1/${t}/${n}`,l=a?`?${new URLSearchParams(a).toString()}`:"";return`${o}${l}`},Ee=async e=>{try{const t=await fetch(e);return t.ok?await t.json():(console.error("OSRM API error:",t.status,t.statusText),null)}catch(t){return console.error("Error fetching OSRM API:",t),null}},He=100,Qe=5,Ke=me((e,t)=>ye("table",t,e,{annotations:"distance",sources:0}),Ee,e=>e.distances??void 0),be={findNearest:async(e,t,n="driving",a)=>{if(!t.length)return[];const o=ge(t,He-1);return(await he(o,Qe,s=>Ke(e,s,n,a))).flatMap(s=>s.all).sort((s,i)=>s.distance-i.distance)},getItinerary:async(e,t,n="driving")=>{const a=`${e.join(",")};${t.join(",")}`,o=ye("route",n,a,{geometries:"geojson",overview:"full"}),l=await Ee(o);if(!l?.routes?.length)return null;const s=l.routes[0];return{geometry:s.geometry,properties:{distance:s.distance,duration:s.duration},type:"Feature"}}},_e=({from:e,to:t,profile:n,engine:a,itineraryLineStyle:o,initialRoute:l,onRouteComputed:s,itineraryLabel:i})=>{const[f,g]=d.useState(l??null);return d.useEffect(()=>{l&&(g(l),s?.(l))},[l,s]),d.useEffect(()=>{!(e&&t)||l||(async()=>{const R=await(a==="OSRM"?be:X).getItinerary(e,t,n);g(R??null),s?.(R??null)})()},[e,t,n,a,l,s]),f?p.jsx(z,{features:f,lineStyle:o,lineLabel:i}):null},$e=({origin:e,maxDistanceMeters:t,destinations:n,onNearestFound:a,initialNearestResults:o,itineraryLineStyle:l,profile:s="driving",engine:i="OSRM"})=>{const[f,g]=d.useState(o??[]),h=d.useRef(null);d.useEffect(()=>{o&&g(o)},[o]),d.useEffect(()=>{const b=new AbortController;if(o?.length)return;if(!e||e.length!==2||!n?.length){g([]);return}g([]);const _=n.map(T=>({coords:[T.lng,T.lat],id:T.id}));return(i==="OSRM"?be:X).findNearest(e,_,s,t).then(T=>g(T??[])).catch(()=>g([])),()=>b.abort()},[e,t,n,s,i,o?.length]),d.useEffect(()=>{const b=h.current;(!b||b.length!==f.length||b.some((x,T)=>x.id!==f[T]?.id||x.distance!==f[T]?.distance))&&(a?.(f),h.current=f)},[f,a]);const R=f[0];return R?R.routeFeature?p.jsx(z,{features:R.routeFeature}):p.jsx(_e,{from:e,to:R.point,profile:s,engine:i,itineraryLineStyle:l}):null},qe=d.memo($e),ne={satellite:"mapbox://styles/mapbox/satellite-streets-v12",street:{dark:"mapbox://styles/mapbox/dark-v11",light:"mapbox://styles/mapbox/streets-v12"}},ve=(e,t)=>{const n=t==="dark";switch(e){case"satellite":return ne.satellite;default:return n?ne.street.dark:ne.street.light}},et=({mapStyle:e,theme:t,baseMapView:n,doubleClickZoom:a,cooperativeGestures:o})=>({cooperativeGestures:o,doubleClickZoom:a,failIfMajorPerformanceCaveat:!1,style:e??ve(n,t)}),tt=({containerStyle:e,square:t,loading:n,height:a=300,width:o="100%",center:l=[2.3522,48.8566],zoom:s=5,popupMaxWidth:i,openPopup:f,openPopupOnHover:g,markers:h=[],fitBounds:R=!0,fitBoundsPadding:b,fitBoundDuration:_,fitBoundsAnimationKey:x,disableAnimation:T,mapStyle:O,onMapClick:Z,baseMapView:Y,cooperativeGestures:oe=!0,doubleClickZoom:se=!0,projection:ae,theme:B,features:G,itineraryParams:j,findNearestMarker:S,isochrone:P})=>{const W=w.useTheme(),N=d.useRef(null),[F,M]=d.useState(f??null),[I,H]=d.useState(!1),Q=d.useMemo(()=>{const[u=2.3522,k=48.8566]=C.isArray(l)?l:[];return{latitude:k,longitude:u,zoom:s}},[l,s]),K=d.useMemo(()=>O||ve(Y,B??W.palette.mode),[Y,O,B,W.palette.mode]),{style:$,cooperativeGestures:q,doubleClickZoom:r}=et({baseMapView:Y,cooperativeGestures:oe,doubleClickZoom:se,mapStyle:K,theme:B??W.palette.mode}),c=(u,k)=>{!g&&k&&M(u)},y=(u,k)=>{g&&M(k?u:null)};d.useEffect(()=>{M(f??null)},[f]);const m=d.useMemo(()=>F?h?.find(u=>u.id===F)??null:null,[F,h]);return p.jsxs(w.Box,{"data-testid":"mapbox-container",sx:{height:a,position:"relative",width:o,...e},children:[p.jsx(w.GlobalStyles,{styles:Me}),n&&p.jsx(w.Skeleton,{"data-testid":"skeleton-loader",width:o,height:a,variant:t?"rectangular":"rounded",sx:{inset:0,position:"absolute",zIndex:2}}),!n&&p.jsxs(A,{ref:N,cooperativeGestures:q,doubleClickZoom:r,mapStyle:$,projection:ae,onLoad:()=>{H(!0),N.current?.resize()},initialViewState:Q,style:{height:"100%",width:"100%"},mapboxAccessToken:void 0,onClick:u=>{const k=h.find(E=>{const{lng:L,lat:V}=u.lngLat,le=Math.abs(Number(E.lng??0)-L),lt=Math.abs(Number(E.lat??0)-V);return le<.01&<<.01});Z?.(u.lngLat.lng,u.lngLat.lat,k??null)},children:[I&&h.filter(de).map(u=>p.jsx(A.Marker,{longitude:u.lng,latitude:u.lat,anchor:"bottom",onClick:k=>{k.originalEvent.stopPropagation(),u.id&&c(u.id,!!u.Tooltip),Z?.(u.lng,u.lat,u)},children:p.jsx(w.Box,{component:"div",onMouseEnter:()=>u.id&&y(u.id,!!u.Tooltip),onMouseLeave:()=>y(null),style:{cursor:u.Tooltip?"pointer":"default"},children:u.IconComponent?p.jsx(u.IconComponent,{...u.iconProps}):p.jsx(Fe,{color:u.color,variant:u.variant})})},u.id)),I&&m?.Tooltip&&p.jsx(A.Popup,{longitude:C.isNumber(m.lng)?m.lng:0,latitude:C.isNumber(m.lat)?m.lat:0,anchor:"top",onClose:()=>M(null),maxWidth:i,closeOnClick:!0,closeOnMove:!1,children:p.jsx(w.Box,{component:"div",sx:{minHeight:60,minWidth:240},children:m.Tooltip})}),j&&p.jsx(_e,{from:j.from,to:j.to,profile:j.profile,engine:j.engine,itineraryLineStyle:j.itineraryLineStyle,initialRoute:j.initialRoute,onRouteComputed:j.onRouteComputed,itineraryLabel:j.itineraryLabel}),S&&p.jsx(qe,{origin:S.origin,destinations:S.destinations,onNearestFound:S.onNearestFound,maxDistanceMeters:S.maxDistanceMeters,engine:S.engine,profile:S.profile,initialNearestResults:S.initialNearestResults,itineraryLineStyle:S.itineraryLineStyle}),P&&p.jsx(ze,{origin:P.origin,profile:P.profile,onIsochroneLoaded:P.onIsochroneLoaded,intervals:P.intervals}),G&&p.jsx(z,{features:G}),R&&p.jsx(De,{markers:h,features:G,padding:b,duration:T?0:_,animationKey:x,openPopup:!!f})]})]})},rt=d.memo(tt),nt=["OSRM","Mapbox"],ot=["driving","walking","cycling"],st=(e,t)=>{const n="geometry"in t?t.geometry:t,[a,o]=e,l=s=>s.map(i=>i.reduce((f,[g,h],R,b)=>{const[_,x]=b[(R-1+b.length)%b.length];return h>o!=x>o&&a<(_-g)*(o-h)/(x-h)+g?!f:f},!1)).reduce((i,f,g)=>g===0?f:i&&!f,!1);return n.type==="Polygon"?l(n.coordinates):n.type==="MultiPolygon"?n.coordinates.some(s=>l(s)):!1},at=(e,t)=>Number.isFinite(e)&&Number.isFinite(t)&&e>=-90&&e<=90&&t>=-180&&t<=180;v.DEFAULT_CENTER_LAT=46.8677,v.DEFAULT_CENTER_LNG=2.333,v.MapProvider=je,v.MapView=rt,v.engines=nt,v.isPointInGeoJSON=st,v.isValidLatLng=at,v.profiles=ot,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})}));
|
|
23
|
+
<%s key={someKey} {...props} />`,m,b,O,b),q[b+m]=!0)}if(b=null,h!==void 0&&(n(h),b=""+h),s(c)&&(n(c.key),b=""+c.key),"key"in c){h={};for(var W in c)W!=="key"&&(h[W]=c[W])}else h=c;return b&&i(h,typeof r=="function"?r.displayName||r.name||"Unknown":r),g(r,b,h,o(),u,k)}function x(r){_(r)?r._store&&(r._store.validated=1):typeof r=="object"&&r!==null&&r.$$typeof===S&&(r._payload.status==="fulfilled"?_(r._payload.value)&&r._payload.value._store&&(r._payload.value._store.validated=1):r._store&&(r._store.validated=1))}function _(r){return typeof r=="object"&&r!==null&&r.$$typeof===v}var R=d,v=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),L=Symbol.for("react.fragment"),Z=Symbol.for("react.strict_mode"),Y=Symbol.for("react.profiler"),le=Symbol.for("react.consumer"),ce=Symbol.for("react.context"),ie=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),V=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),G=Symbol.for("react.client.reference"),M=R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,N=Object.prototype.hasOwnProperty,F=Array.isArray,I=console.createTask?console.createTask:function(){return null};R={react_stack_bottom_frame:function(r){return r()}};var H,Q={},K=R.react_stack_bottom_frame.bind(R,l)(),$=I(a(l)),q={};U.Fragment=L,U.jsx=function(r,c,h){var m=1e4>M.recentlyCreatedOwnerStacks++;return y(r,c,h,!1,m?Error("react-stack-top-frame"):K,m?I(a(r)):$)},U.jsxs=function(r,c,h){var m=1e4>M.recentlyCreatedOwnerStacks++;return y(r,c,h,!0,m?Error("react-stack-top-frame"):K,m?I(a(r)):$)}})()),U}var ge;function je(){return ge||(ge=1,process.env.NODE_ENV==="production"?J.exports=Se():J.exports=ke()),J.exports}var p=je();const Ae=d.createContext({licenceMapbox:"",licenseMuiX:""}),we=({children:e,licenseMuiX:t,licenceMapbox:n})=>{d.useEffect(()=>{t&&Te.LicenseInfo.setLicenseKey(t)},[t]);const a=d.useMemo(()=>({licenceMapbox:n,licenseMuiX:t}),[t,n]);return n&&(fe.accessToken=n),p.jsx(Ae.Provider,{value:a,children:e})},Ce=e=>e?.type==="LineString"||e?.type==="MultiLineString",Le=e=>{let t;Array.isArray(e[0][0])?t=e.reduce((o,l)=>l.length>o.length?l:o):t=e;const n=Math.floor(t.length/2);return[t[n][0],t[n][1]]},Oe=({route:e,children:t})=>{if(!(e&&t))return null;const n=e.geometry;if(!Ce(n))return null;const a=n.coordinates,[o,l]=Le(a);return p.jsx(A.Marker,{longitude:o,latitude:l,children:t})},Pe=e=>C.isArray(e)?{features:e,type:"FeatureCollection"}:e.type==="FeatureCollection"?e:{features:[e],type:"FeatureCollection"},z=({features:e,lineLabel:t,lineStyle:n})=>{if(!e)return null;const a=Pe(e),o=a.features.filter(s=>s.geometry.type==="Polygon"||s.geometry.type==="MultiPolygon"),l=a.features.filter(s=>s.geometry.type==="LineString"||s.geometry.type==="MultiLineString");return p.jsxs(p.Fragment,{children:[o.length>0&&p.jsx(A.Source,{id:"features-polygon",type:"geojson",data:{features:o,type:"FeatureCollection"},children:p.jsx(A.Layer,{id:"polygon-fill",type:"fill",paint:{"fill-color":["coalesce",["get","color"],"#4ADE80"],"fill-opacity":["coalesce",["get","opacity"],.4]}})}),l.length>0&&p.jsxs(p.Fragment,{children:[p.jsx(A.Source,{id:"features-line",type:"geojson",data:{features:l,type:"FeatureCollection"},children:p.jsx(A.Layer,{id:"line-stroke",type:"line",paint:{"line-color":n?.color??["coalesce",["get","color"],"#3B82F6"],"line-opacity":n?.opacity??["coalesce",["get","opacity"],.9],"line-width":n?.width??["coalesce",["get","width"],3]}})}),t&&l.map((s,i)=>p.jsx(Oe,{route:s,children:t},`label-${i}`))]})]})},Me="#000000",Ne="#FFFFFF",ee={default:"#009ba6",primary:"#3F83F8",secondary:"#9C27B0",success:"#4CAF50",warning:"#FF9800"},Fe=e=>e in ee,Ie=({color:e,variant:t})=>{const{palette:n}=w.useTheme(),a=n.mode==="dark"?Me:Ne,o=t&&Fe(t)&&ee[t]||e||(C.isString(t)?t:ee.default);return p.jsx(w.Box,{component:"div",style:{backgroundColor:a,border:`7px solid ${o}`,borderRadius:"50%",boxShadow:"0 0 4px rgba(0,0,0,0.3)",height:28,width:28}})},De=e=>({".mapboxgl-popup-close-button":{color:e.palette.mode==="dark"?"#fff !important":"#000 !important",fontSize:"20px !important"},".mapboxgl-popup-content":{backgroundColor:"transparent!important",borderRadius:"0px !important",boxShadow:"none!important",padding:"0px 0px!important",width:"fit-content!important"},".mapboxgl-popup-tip":{borderTopColor:`${e.palette.mode==="dark"?"#1e1e1e":"#ffffff"} !important`}}),te=e=>typeof e=="number"&&e>=-90&&e<=90,re=e=>typeof e=="number"&&e>=-180&&e<=180,Ue=e=>Array.isArray(e)&&e.length===2&&te(e[0])&&re(e[1]),ne=e=>{if(typeof e!="object"||e===null)return!1;const t=e;return(typeof t.id=="string"||typeof t.id=="number"||t.id===void 0)&&te(t.lat)&&re(t.lng)},me=e=>C.isString(e)||C.isNumber(e)?String(e):JSON.stringify(e),Ye=e=>{if(!e)return[];const t=C.isArray(e)?e:e.type==="FeatureCollection"?e.features:[e],n=[];for(const a of t){const o=a.geometry;o.type==="Point"&&n.push(o.coordinates),o.type==="LineString"&&n.push(...o.coordinates),o.type==="Polygon"&&n.push(...o.coordinates[0])}return n},Be=({markers:e=[],features:t,padding:n=50,duration:a=1e3,disableAnimation:o,fitBounds:l=!0,animationKey:s,openPopup:i})=>{const{current:f}=A.useMap(),g=d.useRef(""),y=d.useMemo(()=>e.filter(ne),[e]),x=d.useMemo(()=>Ye(t),[t]),_=d.useMemo(()=>{const R=[...y.map(v=>[v.lng,v.lat]),...x];return R.length===0?null:R.reduce((v,[T,L])=>v.extend([T,L]),new fe.LngLatBounds)},[y,x]);return d.useEffect(()=>{if(i){g.current=s!==void 0?me(s):"__initial_skip__";return}if(f&&l&&_){if(s!==void 0){const R=me(s);if(g.current===R)return;g.current=R}else if(g.current==="__initial_skip__")return;if(!_.isEmpty()){if(y.length===1&&x.length===0){const R=y[0];f.flyTo({center:[R.lng,R.lat],duration:o?0:a,zoom:14});return}f.fitBounds([_.getSouthWest().toArray(),_.getNorthEast().toArray()],{duration:o?0:a,padding:n})}}},[f,_,n,a,o,s,l,y,x,i]),null},ye=(e,t)=>{if(t<=0)throw new Error("chunkSize must be greater than 0");const n=[];for(let a=0;a<e.length;a+=t)n.push(e.slice(a,a+t));return n},Ve=(e,t)=>[e,...t.map(n=>n.coords)].map(n=>n.join(",")).join(";"),Ge=(e,t,n)=>{const a=t.map((s,i)=>{if(i===0||s==null)return null;const f=e[i-1];return f?{distance:s,id:f.id,point:f.coords}:null}).filter(s=>s!==null);if(a.length===0)return{all:[],nearest:null};const o=a.sort((s,i)=>s.distance-i.distance),l=o[0];return n&&l.distance>n?{all:o,nearest:null}:{all:o,nearest:l}};function he(e,t,n){return async(a,o,l,s)=>{const i=Ve(a,o),f=e(i,l),g=await t(f),y=g?n(g)?.[0]:void 0;return y?.length?Ge(o,y,s):{all:[],nearest:null}}}const Ee=async(e,t,n)=>{const a=Array.from({length:Math.ceil(e.length/t)},(l,s)=>e.slice(s*t,(s+1)*t));return(await Promise.all(a.map(async l=>Promise.all(l.map(n))))).flat()},We="https://api.mapbox.com",oe=(e,t,n,a,o={})=>{const l=new URLSearchParams({access_token:"",...o});return`${We}/${e}/${t}/mapbox/${n}/${a}?${l.toString()}`},se=async e=>{try{const t=await fetch(e);return t.ok?await t.json():(console.error(`Mapbox API error: ${t.status} ${t.statusText}`),null)}catch(t){return console.error("Mapbox network error:",t),null}},Je=25,ze=5,Xe=he((e,t)=>oe("directions-matrix","v1",t,e,{annotations:"distance",sources:"0"}),se,e=>e.distances??void 0),X={findNearest:async(e,t,n="driving",a)=>{if(!t.length)return[];const o=ye(t,Je-1);return(await Ee(o,ze,s=>Xe(e,s,n,a))).flatMap(s=>s.all).sort((s,i)=>s.distance-i.distance)},getIsochrone:async(e,t="driving",n=[5,10,15])=>{const a=`${e[0]},${e[1]}`,o=oe("isochrone","v1",t,a,{contours_minutes:n.join(","),polygons:"true"});return await se(o)},getItinerary:async(e,t,n="driving")=>{const a=`${e.join(",")};${t.join(",")}`,o=oe("directions","v5",n,a,{geometries:"geojson",overview:"full"}),l=await se(o);if(!l?.routes?.length)return null;const s=l.routes[0];return{geometry:s.geometry,properties:{distance:s.distance,duration:s.duration},type:"Feature"}}},Ze=({origin:e,profile:t="driving",intervals:n=[5,10,15],onIsochroneLoaded:a})=>{const[o,l]=d.useState(null);return d.useEffect(()=>{let s=!1;if(!e||e.length!==2){l(null);return}return(async()=>{if(!X.getIsochrone){console.warn("⚠️ getIsochrone is not implemented for this provider.");return}const i=await X.getIsochrone(e,t,n);s||(l(i),a?.(i??null))})(),()=>{s=!0}},[e,t,n,a]),o?p.jsx(z,{features:o}):null},He=d.memo(Ze),Qe={cycling:"routed-bike",driving:"routed-car",walking:"routed-foot"},Ke="https://routing.openstreetmap.de",be=(e,t,n,a)=>{const o=`${Ke}/${Qe[t]}/${e}/v1/${t}/${n}`,l=a?`?${new URLSearchParams(a).toString()}`:"";return`${o}${l}`},_e=async e=>{try{const t=await fetch(e);return t.ok?await t.json():(console.error("OSRM API error:",t.status,t.statusText),null)}catch(t){return console.error("Error fetching OSRM API:",t),null}},$e=100,qe=5,et=he((e,t)=>be("table",t,e,{annotations:"distance",sources:0}),_e,e=>e.distances??void 0),Re={findNearest:async(e,t,n="driving",a)=>{if(!t.length)return[];const o=ye(t,$e-1);return(await Ee(o,qe,s=>et(e,s,n,a))).flatMap(s=>s.all).sort((s,i)=>s.distance-i.distance)},getItinerary:async(e,t,n="driving")=>{const a=`${e.join(",")};${t.join(",")}`,o=be("route",n,a,{geometries:"geojson",overview:"full"}),l=await _e(o);if(!l?.routes?.length)return null;const s=l.routes[0];return{geometry:s.geometry,properties:{distance:s.distance,duration:s.duration},type:"Feature"}}},xe=({from:e,to:t,profile:n,engine:a,itineraryLineStyle:o,initialRoute:l,onRouteComputed:s,itineraryLabel:i})=>{const[f,g]=d.useState(l??null);return d.useEffect(()=>{l&&(g(l),s?.(l))},[l,s]),d.useEffect(()=>{!(e&&t)||l||(async()=>{const x=await(a==="OSRM"?Re:X).getItinerary(e,t,n);g(x??null),s?.(x??null)})()},[e,t,n,a,l,s]),f?p.jsx(z,{features:f,lineStyle:o,lineLabel:i}):null},tt=({origin:e,maxDistanceMeters:t,destinations:n,onNearestFound:a,initialNearestResults:o,itineraryLineStyle:l,profile:s="driving",engine:i="OSRM"})=>{const[f,g]=d.useState(o??[]),y=d.useRef(null);d.useEffect(()=>{o&&g(o)},[o]),d.useEffect(()=>{const _=new AbortController;if(o?.length)return;if(!e||e.length!==2||!n?.length){g([]);return}g([]);const R=n.map(T=>({coords:[T.lng,T.lat],id:T.id}));return(i==="OSRM"?Re:X).findNearest(e,R,s,t).then(T=>g(T??[])).catch(()=>g([])),()=>_.abort()},[e,t,n,s,i,o?.length]),d.useEffect(()=>{const _=y.current;(!_||_.length!==f.length||_.some((v,T)=>v.id!==f[T]?.id||v.distance!==f[T]?.distance))&&(a?.(f),y.current=f)},[f,a]);const x=f[0];return x?x.routeFeature?p.jsx(z,{features:x.routeFeature}):p.jsx(xe,{from:e,to:x.point,profile:s,engine:i,itineraryLineStyle:l}):null},rt=d.memo(tt),ae={satellite:"mapbox://styles/mapbox/satellite-streets-v12",street:{dark:"mapbox://styles/mapbox/dark-v11",light:"mapbox://styles/mapbox/streets-v12"}},ve=(e,t)=>{const n=t==="dark";switch(e){case"satellite":return ae.satellite;default:return n?ae.street.dark:ae.street.light}},nt=({mapStyle:e,theme:t,baseMapView:n,doubleClickZoom:a,cooperativeGestures:o})=>({cooperativeGestures:o,doubleClickZoom:a,failIfMajorPerformanceCaveat:!1,style:e??ve(n,t)}),ot=({containerStyle:e,square:t,loading:n,height:a=300,width:o="100%",center:l=[2.3522,48.8566],zoom:s=5,popupMaxWidth:i,openPopup:f,openPopupOnHover:g,markers:y=[],fitBounds:x=!0,fitBoundsPadding:_,fitBoundDuration:R,fitBoundsAnimationKey:v,disableAnimation:T,mapStyle:L,onMapClick:Z,baseMapView:Y,cooperativeGestures:le=!0,doubleClickZoom:ce=!0,projection:ie,theme:B,features:V,itineraryParams:j,findNearestMarker:S,isochrone:P})=>{const G=w.useTheme(),M=d.useRef(null),[N,F]=d.useState(f??null),[I,H]=d.useState(!1),Q=d.useMemo(()=>{const[u=2.3522,k=48.8566]=C.isArray(l)?l:[];return{latitude:k,longitude:u,zoom:s}},[l,s]),K=d.useMemo(()=>L||ve(Y,B??G.palette.mode),[Y,L,B,G.palette.mode]),{style:$,cooperativeGestures:q,doubleClickZoom:r}=nt({baseMapView:Y,cooperativeGestures:le,doubleClickZoom:ce,mapStyle:K,theme:B??G.palette.mode}),c=(u,k)=>{!g&&k&&F(u)},h=(u,k)=>{g&&F(k?u:null)};d.useEffect(()=>{F(f??null)},[f]);const m=d.useMemo(()=>N?y?.find(u=>u.id===N)??null:null,[N,y]);return p.jsxs(w.Box,{"data-testid":"mapbox-container",sx:{height:a,position:"relative",width:o,...e},children:[p.jsx(w.GlobalStyles,{styles:De}),n&&p.jsx(w.Skeleton,{"data-testid":"skeleton-loader",width:o,height:a,variant:t?"rectangular":"rounded",sx:{inset:0,position:"absolute",zIndex:2}}),!n&&p.jsxs(A,{ref:M,cooperativeGestures:q,doubleClickZoom:r,mapStyle:$,projection:ie,onLoad:()=>{H(!0),M.current?.resize()},initialViewState:Q,style:{height:"100%",width:"100%"},mapboxAccessToken:void 0,onClick:u=>{const k=y.find(b=>{const{lng:O,lat:W}=u.lngLat,ue=Math.abs(Number(b.lng??0)-O),it=Math.abs(Number(b.lat??0)-W);return ue<.01&&it<.01});Z?.(u.lngLat.lng,u.lngLat.lat,k??null)},children:[I&&y.filter(ne).map(u=>p.jsx(A.Marker,{longitude:u.lng,latitude:u.lat,anchor:"bottom",onClick:k=>{k.originalEvent.stopPropagation(),u.id&&c(u.id,!!u.Tooltip),Z?.(u.lng,u.lat,u)},children:p.jsx(w.Box,{component:"div",onMouseEnter:()=>u.id&&h(u.id,!!u.Tooltip),onMouseLeave:()=>h(null),style:{cursor:u.Tooltip?"pointer":"default"},children:u.IconComponent?p.jsx(u.IconComponent,{...u.iconProps}):p.jsx(Ie,{color:u.color,variant:u.variant})})},u.id)),I&&m?.Tooltip&&p.jsx(A.Popup,{longitude:C.isNumber(m.lng)?m.lng:0,latitude:C.isNumber(m.lat)?m.lat:0,anchor:"top",onClose:()=>F(null),maxWidth:i,closeOnClick:!0,closeOnMove:!1,children:p.jsx(w.Box,{component:"div",sx:{minHeight:60,minWidth:240},children:m.Tooltip})}),j&&p.jsx(xe,{from:j.from,to:j.to,profile:j.profile,engine:j.engine,itineraryLineStyle:j.itineraryLineStyle,initialRoute:j.initialRoute,onRouteComputed:j.onRouteComputed,itineraryLabel:j.itineraryLabel}),S&&p.jsx(rt,{origin:S.origin,destinations:S.destinations,onNearestFound:S.onNearestFound,maxDistanceMeters:S.maxDistanceMeters,engine:S.engine,profile:S.profile,initialNearestResults:S.initialNearestResults,itineraryLineStyle:S.itineraryLineStyle}),P&&p.jsx(He,{origin:P.origin,profile:P.profile,onIsochroneLoaded:P.onIsochroneLoaded,intervals:P.intervals}),V&&p.jsx(z,{features:V}),x&&p.jsx(Be,{markers:y,features:V,padding:_,duration:T?0:R,animationKey:v,openPopup:!!f})]})]})},st=d.memo(ot),at=["OSRM","Mapbox"],lt=["driving","walking","cycling"],ct=(e,t)=>{const n="geometry"in t?t.geometry:t,[a,o]=e,l=s=>s.map(i=>i.reduce((f,[g,y],x,_)=>{const[R,v]=_[(x-1+_.length)%_.length];return y>o!=v>o&&a<(R-g)*(o-y)/(v-y)+g?!f:f},!1)).reduce((i,f,g)=>g===0?f:i&&!f,!1);return n.type==="Polygon"?l(n.coordinates):n.type==="MultiPolygon"?n.coordinates.some(s=>l(s)):!1};E.DEFAULT_CENTER_LAT=46.8677,E.DEFAULT_CENTER_LNG=2.333,E.MapProvider=we,E.MapView=st,E.engines=at,E.isPointInGeoJSON=ct,E.isValidLatLngTuple=Ue,E.isValidLatitude=te,E.isValidLongitude=re,E.isValidMarker=ne,E.profiles=lt,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { MarkerProps } from './MarkerProps';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Checks if a value is a valid latitude.
|
|
4
|
+
*/
|
|
5
|
+
export declare const isValidLatitude: (value: unknown) => value is number;
|
|
6
|
+
/**
|
|
7
|
+
* Checks if a value is a valid longitude.
|
|
8
|
+
*/
|
|
9
|
+
export declare const isValidLongitude: (value: unknown) => value is number;
|
|
10
|
+
/**
|
|
11
|
+
* Checks if value is a valid [latitude, longitude] tuple.
|
|
12
|
+
*/
|
|
13
|
+
export declare const isValidLatLngTuple: (value: unknown) => value is [number, number];
|
|
14
|
+
/**
|
|
15
|
+
* Type guard that validates a MarkerProps object at runtime
|
|
16
|
+
* and narrows lat/lng from unknown to number.
|
|
17
|
+
*/
|
|
18
|
+
export declare const isValidMarker: (value: unknown) => value is MarkerProps & {
|
|
4
19
|
lat: number;
|
|
20
|
+
lng: number;
|
|
5
21
|
};
|
|
6
22
|
export default isValidMarker;
|
package/package.json
CHANGED