@tracktor/map 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 Oe, { createContext as Pe, useEffect as M, useMemo as A, useRef as le, useState as ie, memo as me } from "react";
3
- import { LicenseInfo as Ce } from "@mui/x-license";
4
- import ge from "mapbox-gl";
5
- import { useTheme as ye, Box as z, GlobalStyles as Me, Skeleton as Ne } from "@tracktor/design-system";
6
- import $e, { Source as ne, Layer as oe, useMap as Fe, Marker as Ie, Popup as Le } from "react-map-gl";
2
+ import Me, { createContext as Ne, useEffect as w, useMemo as j, useRef as le, memo as ie, useState as Z } from "react";
3
+ import { LicenseInfo as $e } from "@mui/x-license";
4
+ import ye from "mapbox-gl";
5
+ import { useTheme as he, Box as z, GlobalStyles as Ie, Skeleton as Fe } from "@tracktor/design-system";
6
+ import Le, { Source as ne, Layer as oe, useMap as Ue, Marker as De, Popup as Ye } from "react-map-gl";
7
7
  import { isArray as ce, isString as be, isNumber as se } from "@tracktor/react-utils";
8
- const bt = 2.333, ht = 46.8677;
8
+ const Pt = 2.333, At = 46.8677;
9
9
  var V = { exports: {} }, U = {};
10
10
  /**
11
11
  * @license React
@@ -16,29 +16,29 @@ var V = { exports: {} }, U = {};
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
18
  */
19
- var ue;
20
- function Ue() {
21
- if (ue) return U;
22
- ue = 1;
23
- var t = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
24
- function s(a, n, c) {
25
- var o = null;
26
- if (c !== void 0 && (o = "" + c), n.key !== void 0 && (o = "" + n.key), "key" in n) {
27
- c = {};
28
- for (var u in n)
29
- u !== "key" && (c[u] = n[u]);
30
- } else c = n;
31
- return n = c.ref, {
32
- $$typeof: t,
19
+ var fe;
20
+ function Be() {
21
+ if (fe) return U;
22
+ fe = 1;
23
+ var e = Symbol.for("react.transitional.element"), r = Symbol.for("react.fragment");
24
+ function n(a, o, l) {
25
+ var s = null;
26
+ if (l !== void 0 && (s = "" + l), o.key !== void 0 && (s = "" + o.key), "key" in o) {
27
+ l = {};
28
+ for (var c in o)
29
+ c !== "key" && (l[c] = o[c]);
30
+ } else l = o;
31
+ return o = l.ref, {
32
+ $$typeof: e,
33
33
  type: a,
34
- key: o,
35
- ref: n !== void 0 ? n : null,
36
- props: c
34
+ key: s,
35
+ ref: o !== void 0 ? o : null,
36
+ props: l
37
37
  };
38
38
  }
39
- return U.Fragment = r, U.jsx = s, U.jsxs = s, U;
39
+ return U.Fragment = r, U.jsx = n, U.jsxs = n, U;
40
40
  }
41
- var Y = {};
41
+ var D = {};
42
42
  /**
43
43
  * @license React
44
44
  * react-jsx-runtime.development.js
@@ -48,264 +48,264 @@ var Y = {};
48
48
  * This source code is licensed under the MIT license found in the
49
49
  * LICENSE file in the root directory of this source tree.
50
50
  */
51
- var de;
52
- function Ye() {
53
- return de || (de = 1, process.env.NODE_ENV !== "production" && (function() {
54
- function t(e) {
55
- if (e == null) return null;
56
- if (typeof e == "function")
57
- return e.$$typeof === H ? null : e.displayName || e.name || null;
58
- if (typeof e == "string") return e;
59
- switch (e) {
51
+ var pe;
52
+ function We() {
53
+ return pe || (pe = 1, process.env.NODE_ENV !== "production" && (function() {
54
+ function e(t) {
55
+ if (t == null) return null;
56
+ if (typeof t == "function")
57
+ return t.$$typeof === ee ? null : t.displayName || t.name || null;
58
+ if (typeof t == "string") return t;
59
+ switch (t) {
60
60
  case S:
61
61
  return "Fragment";
62
- case N:
62
+ case $:
63
63
  return "Profiler";
64
- case D:
64
+ case Y:
65
65
  return "StrictMode";
66
- case $:
66
+ case I:
67
67
  return "Suspense";
68
68
  case F:
69
69
  return "SuspenseList";
70
- case B:
70
+ case W:
71
71
  return "Activity";
72
72
  }
73
- if (typeof e == "object")
74
- switch (typeof e.tag == "number" && console.error(
73
+ if (typeof t == "object")
74
+ switch (typeof t.tag == "number" && console.error(
75
75
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
76
- ), e.$$typeof) {
77
- case _:
76
+ ), t.$$typeof) {
77
+ case C:
78
78
  return "Portal";
79
- case X:
80
- return e.displayName || "Context";
81
- case J:
82
- return (e._context.displayName || "Context") + ".Consumer";
83
- case W:
84
- var i = e.render;
85
- return e = e.displayName, e || (e = i.displayName || i.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
86
- case Z:
87
- return i = e.displayName || null, i !== null ? i : t(e.type) || "Memo";
88
- case I:
89
- i = e._payload, e = e._init;
79
+ case Q:
80
+ return t.displayName || "Context";
81
+ case H:
82
+ return (t._context.displayName || "Context") + ".Consumer";
83
+ case B:
84
+ var i = t.render;
85
+ return t = t.displayName, t || (t = i.displayName || i.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
86
+ case K:
87
+ return i = t.displayName || null, i !== null ? i : e(t.type) || "Memo";
88
+ case L:
89
+ i = t._payload, t = t._init;
90
90
  try {
91
- return t(e(i));
91
+ return e(t(i));
92
92
  } catch {
93
93
  }
94
94
  }
95
95
  return null;
96
96
  }
97
- function r(e) {
98
- return "" + e;
97
+ function r(t) {
98
+ return "" + t;
99
99
  }
100
- function s(e) {
100
+ function n(t) {
101
101
  try {
102
- r(e);
102
+ r(t);
103
103
  var i = !1;
104
104
  } catch {
105
105
  i = !0;
106
106
  }
107
107
  if (i) {
108
108
  i = console;
109
- var f = i.error, b = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
110
- return f.call(
109
+ var p = i.error, h = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
110
+ return p.call(
111
111
  i,
112
112
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
113
- b
114
- ), r(e);
113
+ h
114
+ ), r(t);
115
115
  }
116
116
  }
117
- function a(e) {
118
- if (e === S) return "<>";
119
- if (typeof e == "object" && e !== null && e.$$typeof === I)
117
+ function a(t) {
118
+ if (t === S) return "<>";
119
+ if (typeof t == "object" && t !== null && t.$$typeof === L)
120
120
  return "<...>";
121
121
  try {
122
- var i = t(e);
122
+ var i = e(t);
123
123
  return i ? "<" + i + ">" : "<...>";
124
124
  } catch {
125
125
  return "<...>";
126
126
  }
127
127
  }
128
- function n() {
129
- var e = O.A;
130
- return e === null ? null : e.getOwner();
128
+ function o() {
129
+ var t = P.A;
130
+ return t === null ? null : t.getOwner();
131
131
  }
132
- function c() {
132
+ function l() {
133
133
  return Error("react-stack-top-frame");
134
134
  }
135
- function o(e) {
136
- if (T.call(e, "key")) {
137
- var i = Object.getOwnPropertyDescriptor(e, "key").get;
135
+ function s(t) {
136
+ if (T.call(t, "key")) {
137
+ var i = Object.getOwnPropertyDescriptor(t, "key").get;
138
138
  if (i && i.isReactWarning) return !1;
139
139
  }
140
- return e.key !== void 0;
140
+ return t.key !== void 0;
141
141
  }
142
- function u(e, i) {
143
- function f() {
144
- G || (G = !0, console.error(
142
+ function c(t, i) {
143
+ function p() {
144
+ A || (A = !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
  i
147
147
  ));
148
148
  }
149
- f.isReactWarning = !0, Object.defineProperty(e, "key", {
150
- get: f,
149
+ p.isReactWarning = !0, Object.defineProperty(t, "key", {
150
+ get: p,
151
151
  configurable: !0
152
152
  });
153
153
  }
154
- function h() {
155
- var e = t(this.type);
156
- return P[e] || (P[e] = !0, console.error(
154
+ function m() {
155
+ var t = e(this.type);
156
+ return G[t] || (G[t] = !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
- )), e = this.props.ref, e !== void 0 ? e : null;
158
+ )), t = this.props.ref, t !== void 0 ? t : null;
159
159
  }
160
- function x(e, i, f, b, w, E) {
161
- var l = f.ref;
162
- return e = {
163
- $$typeof: d,
164
- type: e,
160
+ function g(t, i, p, h, M, N) {
161
+ var f = p.ref;
162
+ return t = {
163
+ $$typeof: v,
164
+ type: t,
165
165
  key: i,
166
- props: f,
167
- _owner: b
168
- }, (l !== void 0 ? l : null) !== null ? Object.defineProperty(e, "ref", {
166
+ props: p,
167
+ _owner: h
168
+ }, (f !== void 0 ? f : null) !== null ? Object.defineProperty(t, "ref", {
169
169
  enumerable: !1,
170
- get: h
171
- }) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
170
+ get: m
171
+ }) : Object.defineProperty(t, "ref", { enumerable: !1, value: null }), t._store = {}, Object.defineProperty(t._store, "validated", {
172
172
  configurable: !1,
173
173
  enumerable: !1,
174
174
  writable: !0,
175
175
  value: 0
176
- }), Object.defineProperty(e, "_debugInfo", {
176
+ }), Object.defineProperty(t, "_debugInfo", {
177
177
  configurable: !1,
178
178
  enumerable: !1,
179
179
  writable: !0,
180
180
  value: null
181
- }), Object.defineProperty(e, "_debugStack", {
181
+ }), Object.defineProperty(t, "_debugStack", {
182
182
  configurable: !1,
183
183
  enumerable: !1,
184
184
  writable: !0,
185
- value: w
186
- }), Object.defineProperty(e, "_debugTask", {
185
+ value: M
186
+ }), Object.defineProperty(t, "_debugTask", {
187
187
  configurable: !1,
188
188
  enumerable: !1,
189
189
  writable: !0,
190
- value: E
191
- }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
190
+ value: N
191
+ }), Object.freeze && (Object.freeze(t.props), Object.freeze(t)), t;
192
192
  }
193
- function g(e, i, f, b, w, E) {
194
- var l = i.children;
195
- if (l !== void 0)
196
- if (b)
197
- if (Q(l)) {
198
- for (b = 0; b < l.length; b++)
199
- R(l[b]);
200
- Object.freeze && Object.freeze(l);
193
+ function y(t, i, p, h, M, N) {
194
+ var f = i.children;
195
+ if (f !== void 0)
196
+ if (h)
197
+ if (te(f)) {
198
+ for (h = 0; h < f.length; h++)
199
+ _(f[h]);
200
+ Object.freeze && Object.freeze(f);
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 R(l);
205
+ else _(f);
206
206
  if (T.call(i, "key")) {
207
- l = t(e);
208
- var v = Object.keys(i).filter(function(K) {
209
- return K !== "key";
207
+ f = e(t);
208
+ var u = Object.keys(i).filter(function(J) {
209
+ return J !== "key";
210
210
  });
211
- b = 0 < v.length ? "{key: someKey, " + v.join(": ..., ") + ": ...}" : "{key: someKey}", L[l + b] || (v = 0 < v.length ? "{" + v.join(": ..., ") + ": ...}" : "{}", console.error(
211
+ h = 0 < u.length ? "{key: someKey, " + u.join(": ..., ") + ": ...}" : "{key: someKey}", q[f + h] || (u = 0 < u.length ? "{" + u.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} />
215
215
  React keys must be passed directly to JSX without using spread:
216
216
  let props = %s;
217
217
  <%s key={someKey} {...props} />`,
218
- b,
219
- l,
220
- v,
221
- l
222
- ), L[l + b] = !0);
218
+ h,
219
+ f,
220
+ u,
221
+ f
222
+ ), q[f + h] = !0);
223
223
  }
224
- if (l = null, f !== void 0 && (s(f), l = "" + f), o(i) && (s(i.key), l = "" + i.key), "key" in i) {
225
- f = {};
226
- for (var C in i)
227
- C !== "key" && (f[C] = i[C]);
228
- } else f = i;
229
- return l && u(
224
+ if (f = null, p !== void 0 && (n(p), f = "" + p), s(i) && (n(i.key), f = "" + i.key), "key" in i) {
225
+ p = {};
226
+ for (var R in i)
227
+ R !== "key" && (p[R] = i[R]);
228
+ } else p = i;
229
+ return f && c(
230
+ p,
231
+ typeof t == "function" ? t.displayName || t.name || "Unknown" : t
232
+ ), g(
233
+ t,
230
234
  f,
231
- typeof e == "function" ? e.displayName || e.name || "Unknown" : e
232
- ), x(
233
- e,
234
- l,
235
- f,
236
- n(),
237
- w,
238
- E
235
+ p,
236
+ o(),
237
+ M,
238
+ N
239
239
  );
240
240
  }
241
- function R(e) {
242
- m(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === I && (e._payload.status === "fulfilled" ? m(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
241
+ function _(t) {
242
+ b(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === L && (t._payload.status === "fulfilled" ? b(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
243
243
  }
244
- function m(e) {
245
- return typeof e == "object" && e !== null && e.$$typeof === d;
244
+ function b(t) {
245
+ return typeof t == "object" && t !== null && t.$$typeof === v;
246
246
  }
247
- var y = Oe, d = Symbol.for("react.transitional.element"), _ = Symbol.for("react.portal"), S = Symbol.for("react.fragment"), D = Symbol.for("react.strict_mode"), N = Symbol.for("react.profiler"), J = Symbol.for("react.consumer"), X = Symbol.for("react.context"), W = Symbol.for("react.forward_ref"), $ = Symbol.for("react.suspense"), F = Symbol.for("react.suspense_list"), Z = Symbol.for("react.memo"), I = Symbol.for("react.lazy"), B = Symbol.for("react.activity"), H = Symbol.for("react.client.reference"), O = y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, T = Object.prototype.hasOwnProperty, Q = Array.isArray, k = console.createTask ? console.createTask : function() {
247
+ var x = Me, v = Symbol.for("react.transitional.element"), C = Symbol.for("react.portal"), S = Symbol.for("react.fragment"), Y = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), H = Symbol.for("react.consumer"), Q = Symbol.for("react.context"), B = Symbol.for("react.forward_ref"), I = Symbol.for("react.suspense"), F = Symbol.for("react.suspense_list"), K = Symbol.for("react.memo"), L = Symbol.for("react.lazy"), W = Symbol.for("react.activity"), ee = Symbol.for("react.client.reference"), P = x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, T = Object.prototype.hasOwnProperty, te = Array.isArray, E = console.createTask ? console.createTask : function() {
248
248
  return null;
249
249
  };
250
- y = {
251
- react_stack_bottom_frame: function(e) {
252
- return e();
250
+ x = {
251
+ react_stack_bottom_frame: function(t) {
252
+ return t();
253
253
  }
254
254
  };
255
- var G, P = {}, j = y.react_stack_bottom_frame.bind(
256
- y,
257
- c
258
- )(), q = k(a(c)), L = {};
259
- Y.Fragment = S, Y.jsx = function(e, i, f) {
260
- var b = 1e4 > O.recentlyCreatedOwnerStacks++;
261
- return g(
262
- e,
255
+ var A, G = {}, O = x.react_stack_bottom_frame.bind(
256
+ x,
257
+ l
258
+ )(), k = E(a(l)), q = {};
259
+ D.Fragment = S, D.jsx = function(t, i, p) {
260
+ var h = 1e4 > P.recentlyCreatedOwnerStacks++;
261
+ return y(
262
+ t,
263
263
  i,
264
- f,
264
+ p,
265
265
  !1,
266
- b ? Error("react-stack-top-frame") : j,
267
- b ? k(a(e)) : q
266
+ h ? Error("react-stack-top-frame") : O,
267
+ h ? E(a(t)) : k
268
268
  );
269
- }, Y.jsxs = function(e, i, f) {
270
- var b = 1e4 > O.recentlyCreatedOwnerStacks++;
271
- return g(
272
- e,
269
+ }, D.jsxs = function(t, i, p) {
270
+ var h = 1e4 > P.recentlyCreatedOwnerStacks++;
271
+ return y(
272
+ t,
273
273
  i,
274
- f,
274
+ p,
275
275
  !0,
276
- b ? Error("react-stack-top-frame") : j,
277
- b ? k(a(e)) : q
276
+ h ? Error("react-stack-top-frame") : O,
277
+ h ? E(a(t)) : k
278
278
  );
279
279
  };
280
- })()), Y;
280
+ })()), D;
281
281
  }
282
- var fe;
283
- function De() {
284
- return fe || (fe = 1, process.env.NODE_ENV === "production" ? V.exports = Ue() : V.exports = Ye()), V.exports;
282
+ var me;
283
+ function Ge() {
284
+ return me || (me = 1, process.env.NODE_ENV === "production" ? V.exports = Be() : V.exports = We()), V.exports;
285
285
  }
286
- var p = De();
287
- const We = Pe({
286
+ var d = Ge();
287
+ const qe = Ne({
288
288
  licenceMapbox: "",
289
289
  licenseMuiX: ""
290
- }), xt = ({ children: t, licenseMuiX: r, licenceMapbox: s }) => {
291
- M(() => {
292
- r && Ce.setLicenseKey(r);
290
+ }), Ot = ({ children: e, licenseMuiX: r, licenceMapbox: n }) => {
291
+ w(() => {
292
+ r && $e.setLicenseKey(r);
293
293
  }, [r]);
294
- const a = A(
294
+ const a = j(
295
295
  () => ({
296
- licenceMapbox: s,
296
+ licenceMapbox: n,
297
297
  licenseMuiX: r
298
298
  }),
299
- [r, s]
299
+ [r, n]
300
300
  );
301
- return s && (ge.accessToken = s), /* @__PURE__ */ p.jsx(We.Provider, { value: a, children: t });
302
- }, Be = (t) => ce(t) ? { features: t, type: "FeatureCollection" } : t.type === "FeatureCollection" ? t : { features: [t], type: "FeatureCollection" }, Ge = ({ features: t }) => {
303
- if (!t)
301
+ return n && (ye.accessToken = n), /* @__PURE__ */ d.jsx(qe.Provider, { value: a, children: e });
302
+ }, Je = (e) => ce(e) ? { features: e, type: "FeatureCollection" } : e.type === "FeatureCollection" ? e : { features: [e], type: "FeatureCollection" }, xe = ({ features: e }) => {
303
+ if (!e)
304
304
  return null;
305
- const r = Be(t), s = r.features.filter((n) => n.geometry.type === "Polygon" || n.geometry.type === "MultiPolygon"), a = r.features.filter((n) => n.geometry.type === "LineString" || n.geometry.type === "MultiLineString");
306
- return /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
307
- s.length > 0 && // biome-ignore lint/correctness/useUniqueElementIds: <id must be consistent for map layers>
308
- /* @__PURE__ */ p.jsx(ne, { id: "features-polygon", type: "geojson", data: { features: s, type: "FeatureCollection" }, children: /* @__PURE__ */ p.jsx(
305
+ const r = Je(e), n = r.features.filter((o) => o.geometry.type === "Polygon" || o.geometry.type === "MultiPolygon"), a = r.features.filter((o) => o.geometry.type === "LineString" || o.geometry.type === "MultiLineString");
306
+ return /* @__PURE__ */ d.jsxs(d.Fragment, { children: [
307
+ n.length > 0 && // biome-ignore lint/correctness/useUniqueElementIds: <id must be consistent for map layers>
308
+ /* @__PURE__ */ d.jsx(ne, { id: "features-polygon", type: "geojson", data: { features: n, type: "FeatureCollection" }, children: /* @__PURE__ */ d.jsx(
309
309
  oe,
310
310
  {
311
311
  id: "polygon-fill",
@@ -317,7 +317,7 @@ const We = Pe({
317
317
  }
318
318
  ) }),
319
319
  a.length > 0 && // biome-ignore lint/correctness/useUniqueElementIds: <id must be consistent for map layers>
320
- /* @__PURE__ */ p.jsx(ne, { id: "features-line", type: "geojson", data: { features: a, type: "FeatureCollection" }, children: /* @__PURE__ */ p.jsx(
320
+ /* @__PURE__ */ d.jsx(ne, { id: "features-line", type: "geojson", data: { features: a, type: "FeatureCollection" }, children: /* @__PURE__ */ d.jsx(
321
321
  oe,
322
322
  {
323
323
  id: "line-stroke",
@@ -330,21 +330,21 @@ const We = Pe({
330
330
  }
331
331
  ) })
332
332
  ] });
333
- }, qe = "#000000", Ve = "#FFFFFF", ae = {
333
+ }, Ve = "#000000", ze = "#FFFFFF", ae = {
334
334
  default: "#009ba6",
335
335
  primary: "#3F83F8",
336
336
  secondary: "#9C27B0",
337
337
  success: "#4CAF50",
338
338
  warning: "#FF9800"
339
- }, ze = (t) => t in ae, Je = ({ color: t, variant: r }) => {
340
- const { palette: s } = ye(), a = s.mode === "dark" ? qe : Ve, n = r && ze(r) && ae[r] || t || (be(r) ? r : ae.default);
341
- return /* @__PURE__ */ p.jsx(
339
+ }, Xe = (e) => e in ae, Ze = ({ color: e, variant: r }) => {
340
+ const { palette: n } = he(), a = n.mode === "dark" ? Ve : ze, o = r && Xe(r) && ae[r] || e || (be(r) ? r : ae.default);
341
+ return /* @__PURE__ */ d.jsx(
342
342
  z,
343
343
  {
344
344
  component: "div",
345
345
  style: {
346
346
  backgroundColor: a,
347
- border: `7px solid ${n}`,
347
+ border: `7px solid ${o}`,
348
348
  borderRadius: "50%",
349
349
  boxShadow: "0 0 4px rgba(0,0,0,0.3)",
350
350
  height: 28,
@@ -352,9 +352,9 @@ const We = Pe({
352
352
  }
353
353
  }
354
354
  );
355
- }, Xe = (t) => ({
355
+ }, He = (e) => ({
356
356
  ".mapboxgl-popup-close-button": {
357
- color: t.palette.mode === "dark" ? "#fff !important" : "#000 !important",
357
+ color: e.palette.mode === "dark" ? "#fff !important" : "#000 !important",
358
358
  fontSize: "20px !important"
359
359
  },
360
360
  ".mapboxgl-popup-content": {
@@ -365,206 +365,222 @@ const We = Pe({
365
365
  width: "fit-content!important"
366
366
  },
367
367
  ".mapboxgl-popup-tip": {
368
- borderTopColor: `${t.palette.mode === "dark" ? "#1e1e1e" : "#ffffff"} !important`
368
+ borderTopColor: `${e.palette.mode === "dark" ? "#1e1e1e" : "#ffffff"} !important`
369
369
  }
370
- }), he = (t) => Number.isFinite(t.lng) && Number.isFinite(t.lat), pe = (t) => be(t) || se(t) ? String(t) : JSON.stringify(t), Ze = (t) => {
371
- if (!t)
370
+ }), _e = (e) => Number.isFinite(e.lng) && Number.isFinite(e.lat), ge = (e) => be(e) || se(e) ? String(e) : JSON.stringify(e), Qe = (e) => {
371
+ if (!e)
372
372
  return [];
373
- const r = ce(t) ? t : t.type === "FeatureCollection" ? t.features : [t], s = [];
373
+ const r = ce(e) ? e : e.type === "FeatureCollection" ? e.features : [e], n = [];
374
374
  for (const a of r) {
375
- const n = a.geometry;
376
- n.type === "Point" && s.push(n.coordinates), n.type === "LineString" && s.push(...n.coordinates), n.type === "Polygon" && s.push(...n.coordinates[0]);
375
+ const o = a.geometry;
376
+ o.type === "Point" && n.push(o.coordinates), o.type === "LineString" && n.push(...o.coordinates), o.type === "Polygon" && n.push(...o.coordinates[0]);
377
377
  }
378
- return s;
379
- }, He = ({
380
- markers: t = [],
378
+ return n;
379
+ }, Ke = ({
380
+ markers: e = [],
381
381
  features: r,
382
- padding: s = 50,
382
+ padding: n = 50,
383
383
  duration: a = 1e3,
384
- disableAnimation: n,
385
- fitBounds: c = !0,
386
- animationKey: o,
387
- openPopup: u
384
+ disableAnimation: o,
385
+ fitBounds: l = !0,
386
+ animationKey: s,
387
+ openPopup: c
388
388
  }) => {
389
- const { current: h } = Fe(), x = le(""), g = A(() => t.filter(he), [t]), R = A(() => Ze(r), [r]), m = A(() => {
390
- const y = [...g.map((d) => [d.lng, d.lat]), ...R];
391
- return y.length === 0 ? null : y.reduce((d, [_, S]) => d.extend([_, S]), new ge.LngLatBounds());
392
- }, [g, R]);
393
- return M(() => {
394
- if (u) {
395
- x.current = o !== void 0 ? pe(o) : "__initial_skip__";
389
+ const { current: m } = Ue(), g = le(""), y = j(() => e.filter(_e), [e]), _ = j(() => Qe(r), [r]), b = j(() => {
390
+ const x = [...y.map((v) => [v.lng, v.lat]), ..._];
391
+ return x.length === 0 ? null : x.reduce((v, [C, S]) => v.extend([C, S]), new ye.LngLatBounds());
392
+ }, [y, _]);
393
+ return w(() => {
394
+ if (c) {
395
+ g.current = s !== void 0 ? ge(s) : "__initial_skip__";
396
396
  return;
397
397
  }
398
- if (h && c && m) {
399
- if (o !== void 0) {
400
- const y = pe(o);
401
- if (x.current === y)
398
+ if (m && l && b) {
399
+ if (s !== void 0) {
400
+ const x = ge(s);
401
+ if (g.current === x)
402
402
  return;
403
- x.current = y;
404
- } else if (x.current === "__initial_skip__")
403
+ g.current = x;
404
+ } else if (g.current === "__initial_skip__")
405
405
  return;
406
- if (!m.isEmpty()) {
407
- if (g.length === 1 && R.length === 0) {
408
- const y = g[0];
409
- h.flyTo({
410
- center: [y.lng, y.lat],
411
- duration: n ? 0 : a,
406
+ if (!b.isEmpty()) {
407
+ if (y.length === 1 && _.length === 0) {
408
+ const x = y[0];
409
+ m.flyTo({
410
+ center: [x.lng, x.lat],
411
+ duration: o ? 0 : a,
412
412
  zoom: 14
413
413
  });
414
414
  return;
415
415
  }
416
- h.fitBounds([m.getSouthWest().toArray(), m.getNorthEast().toArray()], {
417
- duration: n ? 0 : a,
418
- padding: s
416
+ m.fitBounds([b.getSouthWest().toArray(), b.getNorthEast().toArray()], {
417
+ duration: o ? 0 : a,
418
+ padding: n
419
419
  });
420
420
  }
421
421
  }
422
- }, [h, m, s, a, n, o, c, g, R, u]), null;
423
- }, Qe = "https://api.mapbox.com", xe = (t, r, s, a, n = {}) => {
424
- const c = new URLSearchParams({
422
+ }, [m, b, n, a, o, s, l, y, _, c]), null;
423
+ }, ve = (e, r) => {
424
+ if (r <= 0)
425
+ throw new Error("chunkSize must be greater than 0");
426
+ const n = [];
427
+ for (let a = 0; a < e.length; a += r)
428
+ n.push(e.slice(a, a + r));
429
+ return n;
430
+ }, et = (e, r) => [e, ...r.map((n) => n.coords)].map((n) => n.join(",")).join(";"), tt = (e, r, n) => {
431
+ const a = r.map((s, c) => ({ distance: s, index: c })).slice(1).filter(({ distance: s }) => s != null);
432
+ if (a.length === 0)
433
+ return null;
434
+ const o = a.reduce((s, c) => c.distance < s.distance ? c : s), l = e[o.index - 1];
435
+ return !l || n && o.distance > n ? null : {
436
+ distance: o.distance,
437
+ id: l.id,
438
+ point: l.coords
439
+ };
440
+ };
441
+ function Re(e, r, n) {
442
+ return async (a, o, l, s) => {
443
+ const c = et(a, o), m = e(c, l), g = await r(m), y = g ? n(g)?.[0] : void 0;
444
+ return y?.length ? tt(o, y, s) : null;
445
+ };
446
+ }
447
+ const Ee = async (e, r, n) => {
448
+ const a = Array.from({ length: Math.ceil(e.length / r) }, (l, s) => e.slice(s * r, (s + 1) * r));
449
+ return (await Promise.all(a.map(async (l) => Promise.all(l.map(n))))).flat();
450
+ }, rt = "https://api.mapbox.com", ue = (e, r, n, a, o = {}) => {
451
+ const l = new URLSearchParams({
425
452
  access_token: "",
426
- ...n
453
+ ...o
427
454
  });
428
- return `${Qe}/${t}/${r}/mapbox/${s}/${a}?${c.toString()}`;
429
- }, Re = async (t) => {
455
+ return `${rt}/${e}/${r}/mapbox/${n}/${a}?${l.toString()}`;
456
+ }, de = async (e) => {
430
457
  try {
431
- const r = await fetch(t);
458
+ const r = await fetch(e);
432
459
  return r.ok ? await r.json() : (console.error(`Mapbox API error: ${r.status} ${r.statusText}`), null);
433
460
  } catch (r) {
434
461
  return console.error("Mapbox network error:", r), null;
435
462
  }
436
- }, Ke = async (t, r, s = "driving") => {
437
- const a = `${t.join(",")};${r.join(",")}`, n = xe("directions", "v5", s, a, {
463
+ }, nt = 25, ot = 5, st = (e, r) => ue("directions-matrix", "v1", r, e, {
464
+ annotations: "distance",
465
+ sources: "0"
466
+ }), at = Re(st, de, (e) => e.distances), lt = async (e, r, n = "driving", a) => {
467
+ if (r.length === 0)
468
+ return null;
469
+ const o = ve(r, nt - 1);
470
+ return (await Ee(
471
+ o,
472
+ ot,
473
+ (s) => at(e, s, n, a)
474
+ )).filter((s) => s != null).sort((s, c) => s.distance - c.distance)[0] ?? null;
475
+ }, it = async (e, r = "driving", n = [5, 10, 15]) => {
476
+ const a = `${e[0]},${e[1]}`, o = ue("isochrone", "v1", r, a, {
477
+ contours_minutes: n.join(","),
478
+ polygons: "true"
479
+ });
480
+ return await de(o);
481
+ }, ct = async (e, r, n = "driving") => {
482
+ const a = `${e.join(",")};${r.join(",")}`, o = ue("directions", "v5", n, a, {
438
483
  geometries: "geojson",
439
484
  overview: "full"
440
- }), c = await Re(n);
441
- if (!c?.routes?.length)
485
+ }), l = await de(o);
486
+ if (!l?.routes?.length)
442
487
  return null;
443
- const o = c.routes[0];
488
+ const s = l.routes[0];
444
489
  return {
445
- geometry: o.geometry,
490
+ geometry: s.geometry,
446
491
  properties: {
447
- distance: o.distance,
448
- duration: o.duration
492
+ distance: s.distance,
493
+ duration: s.duration
449
494
  },
450
495
  type: "Feature"
451
496
  };
452
- }, ee = 25, et = 5, tt = async (t, r, s) => {
453
- const a = [];
454
- for (let n = 0; n < t.length; n += r) {
455
- const c = t.slice(n, n + r), o = await Promise.all(c.map(s));
456
- a.push(...o);
457
- }
458
- return a;
459
- }, rt = async (t, r, s = "driving", a) => {
460
- if (r.length === 0)
461
- return null;
462
- const n = Array.from(
463
- { length: Math.ceil(r.length / (ee - 1)) },
464
- (o, u) => r.slice(u * (ee - 1), (u + 1) * (ee - 1))
465
- );
466
- return (await tt(n, et, async (o) => {
467
- const u = [t, ...o.map((d) => d.coords)].map((d) => d.join(",")).join(";"), h = xe("directions-matrix", "v1", s, u, {
468
- annotations: "distance",
469
- sources: "0"
470
- }), g = (await Re(h))?.distances?.[0];
471
- if (!g?.length)
472
- return null;
473
- const m = g.map((d, _) => ({ distance: d, index: _ })).slice(1).filter(({ distance: d }) => d != null).reduce((d, _) => _.distance < d.distance ? _ : d, { distance: 1 / 0, index: -1 });
474
- if (m.index === -1)
475
- return null;
476
- const y = o[m.index - 1];
477
- return a != null && m.distance > a ? null : {
478
- distance: m.distance,
479
- id: y.id,
480
- point: y.coords
497
+ }, X = {
498
+ findNearest: lt,
499
+ getIsochrone: it,
500
+ getItinerary: ct
501
+ }, ut = ({ origin: e, profile: r = "driving", intervals: n = [5, 10, 15], onIsochroneLoaded: a }) => {
502
+ const [o, l] = Z(null);
503
+ return w(() => {
504
+ let s = !1;
505
+ if (!e || e.length !== 2) {
506
+ l(null);
507
+ return;
508
+ }
509
+ return (async () => {
510
+ if (!X.getIsochrone) {
511
+ console.warn("⚠️ getIsochrone is not implemented for this provider.");
512
+ return;
513
+ }
514
+ const c = await X.getIsochrone(e, r, n);
515
+ s || (l(c), a?.(c ?? null));
516
+ })(), () => {
517
+ s = !0;
481
518
  };
482
- })).filter((o) => o != null).sort((o, u) => o.distance - u.distance)[0] ?? null;
483
- }, _e = {
484
- findNearest: rt,
485
- getRoute: Ke
486
- }, nt = {
519
+ }, [e, r, n, a]), o ? /* @__PURE__ */ d.jsx(xe, { features: o }) : null;
520
+ }, dt = ie(ut), ft = {
487
521
  cycling: "routed-bike",
488
522
  driving: "routed-car",
489
523
  walking: "routed-foot"
490
- }, ot = "https://routing.openstreetmap.de", ve = (t, r, s, a) => {
491
- const n = `${ot}/${nt[r]}/${t}/v1/${r}/${s}`, c = a ? `?${new URLSearchParams(a).toString()}` : "";
492
- return `${n}${c}`;
493
- }, Ee = async (t) => {
524
+ }, pt = "https://routing.openstreetmap.de", Se = (e, r, n, a) => {
525
+ const o = `${pt}/${ft[r]}/${e}/v1/${r}/${n}`, l = a ? `?${new URLSearchParams(a).toString()}` : "";
526
+ return `${o}${l}`;
527
+ }, Te = async (e) => {
494
528
  try {
495
- const r = await fetch(t);
529
+ const r = await fetch(e);
496
530
  return r.ok ? await r.json() : (console.error("OSRM API error:", r.status, r.statusText), null);
497
531
  } catch (r) {
498
532
  return console.error("Error fetching OSRM API:", r), null;
499
533
  }
500
- }, st = async (t, r, s = "driving") => {
501
- const a = `${t.join(",")};${r.join(",")}`, n = ve("route", s, a, {
534
+ }, mt = 100, gt = 5, yt = (e, r) => Se("table", r, e, {
535
+ annotations: "distance",
536
+ sources: 0
537
+ }), ht = Re(yt, Te, (e) => e.distances), bt = async (e, r, n = "driving", a) => {
538
+ if (r.length === 0)
539
+ return null;
540
+ const o = ve(r, mt - 1);
541
+ return (await Ee(
542
+ o,
543
+ gt,
544
+ (s) => ht(e, s, n, a)
545
+ )).filter((s) => s != null).sort((s, c) => s.distance - c.distance)[0] ?? null;
546
+ }, xt = async (e, r, n = "driving") => {
547
+ const a = `${e.join(",")};${r.join(",")}`, o = Se("route", n, a, {
502
548
  geometries: "geojson",
503
549
  overview: "full"
504
- }), c = await Ee(n);
505
- if (!c?.routes?.length)
550
+ }), l = await Te(o);
551
+ if (!l?.routes?.length)
506
552
  return null;
507
- const o = c.routes[0];
553
+ const s = l.routes[0];
508
554
  return {
509
- geometry: o.geometry,
555
+ geometry: s.geometry,
510
556
  properties: {
511
- distance: o.distance,
512
- duration: o.duration
557
+ distance: s.distance,
558
+ duration: s.duration
513
559
  },
514
560
  type: "Feature"
515
561
  };
516
- }, te = 100, at = async (t, r, s = "driving", a) => {
517
- if (r.length === 0)
518
- return null;
519
- const n = Array.from(
520
- { length: Math.ceil(r.length / (te - 1)) },
521
- (o, u) => r.slice(u * (te - 1), (u + 1) * (te - 1))
522
- );
523
- return (await Promise.all(
524
- n.map(async (o) => {
525
- const u = [t, ...o.map((d) => d.coords)].map((d) => d.join(",")).join(";"), h = ve("table", s, u, {
526
- annotations: "distance",
527
- sources: 0
528
- // only use the origin as the source
529
- }), g = (await Ee(h))?.distances?.[0];
530
- if (!g?.length)
531
- return null;
532
- const m = g.map((d, _) => ({ distance: d, index: _ })).slice(1).filter(({ distance: d }) => d != null).reduce((d, _) => _.distance < d.distance ? _ : d, {
533
- distance: 1 / 0,
534
- index: -1
535
- });
536
- if (m.index === -1)
537
- return null;
538
- const y = o[m.index - 1];
539
- return a != null && m.distance > a ? null : {
540
- distance: m.distance,
541
- id: y.id,
542
- point: y.coords
543
- };
544
- })
545
- )).filter((o) => o != null).sort((o, u) => o.distance - u.distance)[0] ?? null;
546
- }, Se = {
547
- findNearest: at,
548
- getRoute: st
549
- }, Te = ({ profile: t, engine: r, to: s, from: a, itineraryLineStyle: n }) => {
550
- const [c, o] = ie(null);
551
- return M(() => {
552
- a && s && (async () => {
562
+ }, ke = {
563
+ findNearest: bt,
564
+ getItinerary: xt
565
+ }, je = ({ profile: e, engine: r, to: n, from: a, itineraryLineStyle: o }) => {
566
+ const [l, s] = Z(null);
567
+ return w(() => {
568
+ a && n && (async () => {
553
569
  try {
554
- const u = r === "OSRM" ? await Se.getRoute(a, s, t) : await _e.getRoute(a, s, t);
555
- u ? o(u) : (console.warn("No route found between the specified points."), o(null));
556
- } catch (u) {
557
- console.error("Error fetching route:", u), o(null);
570
+ const c = r === "OSRM" ? await ke.getItinerary(a, n, e) : await X.getItinerary(a, n, e);
571
+ c ? s(c) : (console.warn("No route found between the specified points."), s(null));
572
+ } catch (c) {
573
+ console.error("Error fetching route:", c), s(null);
558
574
  }
559
575
  })();
560
- }, [a, s, t, r]), c ? /* @__PURE__ */ p.jsx(ne, { type: "geojson", data: c, children: /* @__PURE__ */ p.jsx(
576
+ }, [a, n, e, r]), l ? /* @__PURE__ */ d.jsx(ne, { type: "geojson", data: l, children: /* @__PURE__ */ d.jsx(
561
577
  oe,
562
578
  {
563
579
  type: "line",
564
580
  paint: {
565
- "line-color": n?.color ?? "#9c3333",
566
- "line-opacity": n?.opacity ?? 0.8,
567
- "line-width": n?.width ?? 4
581
+ "line-color": o?.color ?? "#9c3333",
582
+ "line-opacity": o?.opacity ?? 0.8,
583
+ "line-width": o?.width ?? 4
568
584
  },
569
585
  layout: {
570
586
  "line-cap": "round",
@@ -572,134 +588,135 @@ const We = Pe({
572
588
  }
573
589
  }
574
590
  ) }) : null;
575
- }, lt = ({
576
- origin: t,
591
+ }, _t = ({
592
+ origin: e,
577
593
  maxDistanceMeters: r,
578
- destinations: s,
594
+ destinations: n,
579
595
  onNearestFound: a,
580
- profile: n = "driving",
581
- engine: c = "OSRM"
596
+ profile: o = "driving",
597
+ engine: l = "OSRM"
582
598
  }) => {
583
- const [o, u] = ie(null), h = le(null);
584
- return M(() => {
585
- let x = !1;
586
- if (!t || t.length !== 2 || !s?.length) {
587
- u(null);
599
+ const [s, c] = Z(null), m = le(null);
600
+ return w(() => {
601
+ let g = !1;
602
+ if (!e || e.length !== 2 || !n?.length) {
603
+ c(null);
588
604
  return;
589
605
  }
590
- u(null);
591
- const g = s.map((R) => ({
592
- coords: [R.lng, R.lat],
593
- id: R.id
606
+ c(null);
607
+ const y = n.map((_) => ({
608
+ coords: [_.lng, _.lat],
609
+ id: _.id
594
610
  }));
595
611
  return (async () => {
596
- const m = await (c === "OSRM" ? Se.findNearest : _e.findNearest)(t, g, n, r);
597
- !x && m && u(m);
612
+ const b = await (l === "OSRM" ? ke.findNearest : X.findNearest)(e, y, o, r);
613
+ !g && b && c(b);
598
614
  })(), () => {
599
- x = !0;
615
+ g = !0;
600
616
  };
601
- }, [t, r, s, n, c]), M(() => {
602
- if (!o) {
603
- a?.(null, null, 0), h.current = null;
617
+ }, [e, r, n, o, l]), w(() => {
618
+ if (!s) {
619
+ a?.(null, null, 0), m.current = null;
604
620
  return;
605
621
  }
606
- if (r != null && o.distance > r) {
607
- a?.(null, null, 0), h.current = null;
622
+ if (r != null && s.distance > r) {
623
+ a?.(null, null, 0), m.current = null;
608
624
  return;
609
625
  }
610
- const x = h.current;
611
- (!x || x.id !== o.id || x.distance !== o.distance) && (a?.(o.id, o.point, o.distance), h.current = o);
612
- }, [o, a, r]), o?.point ? (console.log("nearestResult", o), /* @__PURE__ */ p.jsx(Te, { from: t, to: o.point, profile: n, engine: c })) : null;
613
- }, it = me(lt), re = {
626
+ const g = m.current;
627
+ (!g || g.id !== s.id || g.distance !== s.distance) && (a?.(s.id, s.point, s.distance), m.current = s);
628
+ }, [s, a, r]), s?.point ? (console.log("nearestResult", s), /* @__PURE__ */ d.jsx(je, { from: e, to: s.point, profile: o, engine: l })) : null;
629
+ }, vt = ie(_t), re = {
614
630
  satellite: "mapbox://styles/mapbox/satellite-streets-v12",
615
631
  street: {
616
632
  dark: "mapbox://styles/mapbox/dark-v11",
617
633
  light: "mapbox://styles/mapbox/streets-v12"
618
634
  }
619
- }, ke = (t, r) => {
620
- const s = r === "dark";
621
- switch (t) {
635
+ }, we = (e, r) => {
636
+ const n = r === "dark";
637
+ switch (e) {
622
638
  case "satellite":
623
639
  return re.satellite;
624
640
  default:
625
- return s ? re.street.dark : re.street.light;
641
+ return n ? re.street.dark : re.street.light;
626
642
  }
627
- }, ct = ({
628
- mapStyle: t,
643
+ }, Rt = ({
644
+ mapStyle: e,
629
645
  theme: r,
630
- baseMapView: s,
646
+ baseMapView: n,
631
647
  doubleClickZoom: a,
632
- cooperativeGestures: n
648
+ cooperativeGestures: o
633
649
  }) => ({
634
- cooperativeGestures: n,
650
+ cooperativeGestures: o,
635
651
  doubleClickZoom: a,
636
652
  failIfMajorPerformanceCaveat: !1,
637
- style: t ?? ke(s, r)
638
- }), ut = ({
639
- containerStyle: t,
653
+ style: e ?? we(n, r)
654
+ }), Et = ({
655
+ containerStyle: e,
640
656
  square: r,
641
- loading: s,
657
+ loading: n,
642
658
  height: a = 300,
643
- width: n = "100%",
644
- center: c = [2.3522, 48.8566],
645
- zoom: o = 5,
646
- popupMaxWidth: u,
647
- openPopup: h,
648
- openPopupOnHover: x,
649
- markers: g = [],
650
- fitBounds: R = !0,
651
- fitBoundsPadding: m,
652
- fitBoundDuration: y,
653
- fitBoundsAnimationKey: d,
654
- disableAnimation: _,
659
+ width: o = "100%",
660
+ center: l = [2.3522, 48.8566],
661
+ zoom: s = 5,
662
+ popupMaxWidth: c,
663
+ openPopup: m,
664
+ openPopupOnHover: g,
665
+ markers: y = [],
666
+ fitBounds: _ = !0,
667
+ fitBoundsPadding: b,
668
+ fitBoundDuration: x,
669
+ fitBoundsAnimationKey: v,
670
+ disableAnimation: C,
655
671
  mapStyle: S,
656
- onMapClick: D,
657
- baseMapView: N,
658
- cooperativeGestures: J = !0,
659
- doubleClickZoom: X = !0,
660
- projection: W,
661
- theme: $,
672
+ onMapClick: Y,
673
+ baseMapView: $,
674
+ cooperativeGestures: H = !0,
675
+ doubleClickZoom: Q = !0,
676
+ projection: B,
677
+ theme: I,
662
678
  features: F,
663
- from: Z,
664
- to: I,
665
- profile: B = "driving",
666
- itineraryLineStyle: H,
667
- engine: O = "OSRM",
679
+ from: K,
680
+ to: L,
681
+ profile: W = "driving",
682
+ itineraryLineStyle: ee,
683
+ engine: P = "OSRM",
668
684
  findNearestMarker: T,
669
- onNearestFound: Q
685
+ onNearestFound: te,
686
+ isochrone: E
670
687
  }) => {
671
- const k = ye(), G = le(null), [P, j] = ie(h ?? null), q = A(() => {
672
- if (ce(c))
673
- return { latitude: c[1], longitude: c[0], zoom: o };
674
- }, [c, o]), L = A(
675
- () => S || ke(N, $ ?? k.palette.mode),
676
- [N, S, $, k.palette.mode]
688
+ const A = he(), G = le(null), [O, k] = Z(m ?? null), q = j(() => {
689
+ if (ce(l))
690
+ return { latitude: l[1], longitude: l[0], zoom: s };
691
+ }, [l, s]), t = j(
692
+ () => S || we($, I ?? A.palette.mode),
693
+ [$, S, I, A.palette.mode]
677
694
  ), {
678
- style: e,
679
- cooperativeGestures: i,
680
- doubleClickZoom: f
681
- } = ct({
682
- baseMapView: N,
683
- cooperativeGestures: J,
684
- doubleClickZoom: X,
685
- mapStyle: L,
686
- theme: $ ?? k.palette.mode
687
- }), b = (l, v) => {
688
- !x && v && j(l);
689
- }, w = (l, v) => {
690
- x && j(v ? l : null);
695
+ style: i,
696
+ cooperativeGestures: p,
697
+ doubleClickZoom: h
698
+ } = Rt({
699
+ baseMapView: $,
700
+ cooperativeGestures: H,
701
+ doubleClickZoom: Q,
702
+ mapStyle: t,
703
+ theme: I ?? A.palette.mode
704
+ }), M = (u, R) => {
705
+ !g && R && k(u);
706
+ }, N = (u, R) => {
707
+ g && k(R ? u : null);
691
708
  };
692
- M(() => {
693
- j(h ?? null);
694
- }, [h]);
695
- const E = A(() => P ? g?.find((l) => l.id === P) ?? null : null, [P, g]);
696
- return /* @__PURE__ */ p.jsxs(z, { "data-testid": "mapbox-container", sx: { height: a, position: "relative", width: n, ...t }, children: [
697
- /* @__PURE__ */ p.jsx(Me, { styles: Xe }),
698
- s && /* @__PURE__ */ p.jsx(
699
- Ne,
709
+ w(() => {
710
+ k(m ?? null);
711
+ }, [m]);
712
+ const f = j(() => O ? y?.find((u) => u.id === O) ?? null : null, [O, y]);
713
+ return /* @__PURE__ */ d.jsxs(z, { "data-testid": "mapbox-container", sx: { height: a, position: "relative", width: o, ...e }, children: [
714
+ /* @__PURE__ */ d.jsx(Ie, { styles: He }),
715
+ n && /* @__PURE__ */ d.jsx(
716
+ Fe,
700
717
  {
701
718
  "data-testid": "skeleton-loader",
702
- width: n,
719
+ width: o,
703
720
  height: a,
704
721
  variant: r ? "rectangular" : "rounded",
705
722
  sx: {
@@ -709,96 +726,114 @@ const We = Pe({
709
726
  }
710
727
  }
711
728
  ),
712
- !s && /* @__PURE__ */ p.jsxs(
713
- $e,
729
+ !n && /* @__PURE__ */ d.jsxs(
730
+ Le,
714
731
  {
715
732
  ref: G,
716
- cooperativeGestures: i,
717
- doubleClickZoom: f,
718
- mapStyle: e,
719
- projection: W,
733
+ cooperativeGestures: p,
734
+ doubleClickZoom: h,
735
+ mapStyle: i,
736
+ projection: B,
720
737
  initialViewState: q,
721
738
  style: { height: "100%", width: "100%" },
722
739
  mapboxAccessToken: void 0,
723
- onClick: (l) => {
724
- const v = g.find((C) => {
725
- const { lng: K, lat: je } = l.lngLat, we = Math.abs(Number(C.lng || null) - K), Ae = Math.abs(Number(C.lat || null) - je);
726
- return we < 0.01 && Ae < 0.01;
740
+ onClick: (u) => {
741
+ const R = y.find((J) => {
742
+ const { lng: Ce, lat: Pe } = u.lngLat, Ae = Math.abs(Number(J.lng || null) - Ce), Oe = Math.abs(Number(J.lat || null) - Pe);
743
+ return Ae < 0.01 && Oe < 0.01;
727
744
  });
728
- D?.(l.lngLat.lng, l.lngLat.lat, v ?? null);
745
+ Y?.(u.lngLat.lng, u.lngLat.lat, R ?? null);
729
746
  },
730
747
  children: [
731
- g.filter(he).map((l) => /* @__PURE__ */ p.jsx(
732
- Ie,
748
+ y.filter(_e).map((u) => /* @__PURE__ */ d.jsx(
749
+ De,
733
750
  {
734
- longitude: l.lng,
735
- latitude: l.lat,
751
+ longitude: u.lng,
752
+ latitude: u.lat,
736
753
  anchor: "bottom",
737
- onClick: (v) => {
738
- v.originalEvent.stopPropagation(), l.id && b(l.id, !!l.Tooltip), D?.(l.lng, l.lat, l);
754
+ onClick: (R) => {
755
+ R.originalEvent.stopPropagation(), u.id && M(u.id, !!u.Tooltip), Y?.(u.lng, u.lat, u);
739
756
  },
740
- children: /* @__PURE__ */ p.jsx(
757
+ children: /* @__PURE__ */ d.jsx(
741
758
  z,
742
759
  {
743
760
  component: "div",
744
- onMouseEnter: () => l.id && w(l.id, !!l.Tooltip),
745
- onMouseLeave: () => w(null),
746
- style: { cursor: l.Tooltip ? "pointer" : "default" },
747
- children: l.IconComponent ? /* @__PURE__ */ p.jsx(l.IconComponent, { ...l.iconProps }) : /* @__PURE__ */ p.jsx(Je, { color: l.color, variant: l.variant })
761
+ onMouseEnter: () => u.id && N(u.id, !!u.Tooltip),
762
+ onMouseLeave: () => N(null),
763
+ style: { cursor: u.Tooltip ? "pointer" : "default" },
764
+ children: u.IconComponent ? /* @__PURE__ */ d.jsx(u.IconComponent, { ...u.iconProps }) : /* @__PURE__ */ d.jsx(Ze, { color: u.color, variant: u.variant })
748
765
  }
749
766
  )
750
767
  },
751
- l.id
768
+ u.id
752
769
  )),
753
- E?.Tooltip && /* @__PURE__ */ p.jsx(
754
- Le,
770
+ f?.Tooltip && /* @__PURE__ */ d.jsx(
771
+ Ye,
755
772
  {
756
- longitude: se(E.lng) ? E.lng : 0,
757
- latitude: se(E.lat) ? E.lat : 0,
773
+ longitude: se(f.lng) ? f.lng : 0,
774
+ latitude: se(f.lat) ? f.lat : 0,
758
775
  anchor: "top",
759
- onClose: () => j(null),
760
- maxWidth: u,
776
+ onClose: () => k(null),
777
+ maxWidth: c,
761
778
  closeOnClick: !0,
762
779
  closeOnMove: !1,
763
- children: /* @__PURE__ */ p.jsx(z, { component: "div", sx: { minHeight: 60, minWidth: 240 }, children: E.Tooltip })
780
+ children: /* @__PURE__ */ d.jsx(z, { component: "div", sx: { minHeight: 60, minWidth: 240 }, children: f.Tooltip })
764
781
  }
765
782
  ),
766
- /* @__PURE__ */ p.jsx(Te, { from: Z, to: I, profile: B, engine: O, itineraryLineStyle: H }),
767
- /* @__PURE__ */ p.jsx(
768
- it,
783
+ /* @__PURE__ */ d.jsx(je, { from: K, to: L, profile: W, engine: P, itineraryLineStyle: ee }),
784
+ T && /* @__PURE__ */ d.jsx(
785
+ vt,
769
786
  {
770
787
  origin: T?.origin,
771
788
  destinations: T?.destinations,
772
- onNearestFound: Q,
789
+ onNearestFound: te,
773
790
  maxDistanceMeters: T?.maxDistanceMeters,
774
- engine: O,
775
- profile: B
791
+ engine: P,
792
+ profile: W
793
+ }
794
+ ),
795
+ E && /* @__PURE__ */ d.jsx(
796
+ dt,
797
+ {
798
+ origin: E.origin,
799
+ profile: E.profile,
800
+ onIsochroneLoaded: E.onIsochroneLoaded,
801
+ intervals: E.intervals
776
802
  }
777
803
  ),
778
- F && /* @__PURE__ */ p.jsx(Ge, { features: F }),
779
- R && /* @__PURE__ */ p.jsx(
780
- He,
804
+ F && /* @__PURE__ */ d.jsx(xe, { features: F }),
805
+ _ && /* @__PURE__ */ d.jsx(
806
+ Ke,
781
807
  {
782
- markers: g,
808
+ markers: y,
783
809
  features: F,
784
- padding: m,
785
- duration: _ ? 0 : y,
786
- animationKey: d,
787
- openPopup: !!h
810
+ padding: b,
811
+ duration: C ? 0 : x,
812
+ animationKey: v,
813
+ openPopup: !!m
788
814
  }
789
815
  )
790
816
  ]
791
817
  },
792
- `${i}-${f}-${W}-${L}-${T?.maxDistanceMeters}`
818
+ `${p}-${h}-${B}-${t}-${T?.maxDistanceMeters}`
793
819
  )
794
820
  ] });
795
- }, Rt = me(ut), _t = ["OSRM", "Mapbox"], vt = ["driving", "walking", "cycling"], Et = (t, r) => Number.isFinite(t) && Number.isFinite(r) && t >= -90 && t <= 90 && r >= -180 && r <= 180;
821
+ }, Mt = ie(Et), Nt = ["OSRM", "Mapbox"], $t = ["driving", "walking", "cycling"], It = (e, r) => {
822
+ const n = "geometry" in r ? r.geometry : r, [a, o] = e, l = (s) => s.map(
823
+ (c) => c.reduce((m, [g, y], _, b) => {
824
+ const [x, v] = b[(_ - 1 + b.length) % b.length];
825
+ return y > o != v > o && a < (x - g) * (o - y) / (v - y) + g ? !m : m;
826
+ }, !1)
827
+ ).reduce((c, m, g) => g === 0 ? m : c && !m, !1);
828
+ return n.type === "Polygon" ? l(n.coordinates) : n.type === "MultiPolygon" ? n.coordinates.some((s) => l(s)) : !1;
829
+ }, Ft = (e, r) => Number.isFinite(e) && Number.isFinite(r) && e >= -90 && e <= 90 && r >= -180 && r <= 180;
796
830
  export {
797
- ht as DEFAULT_CENTER_LAT,
798
- bt as DEFAULT_CENTER_LNG,
799
- xt as MapProvider,
800
- Rt as MarkerMap,
801
- _t as engines,
802
- Et as isValidLatLng,
803
- vt as profiles
831
+ At as DEFAULT_CENTER_LAT,
832
+ Pt as DEFAULT_CENTER_LNG,
833
+ Ot as MapProvider,
834
+ Mt as MarkerMap,
835
+ Nt as engines,
836
+ It as isPointInGeoJSON,
837
+ Ft as isValidLatLng,
838
+ $t as profiles
804
839
  };