@tracktor/map 0.1.0 → 0.1.2

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.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:transparent;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:transparent}.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-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:transparent;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:content-box;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 transparent;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:transparent;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 transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;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}`)),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- (function(A,R){typeof exports=="object"&&typeof module<"u"?R(exports,require("react"),require("@tracktor/design-system"),require("mapbox-gl"),require("react-dom"),require("@mui/x-license")):typeof define=="function"&&define.amd?define(["exports","react","@tracktor/design-system","mapbox-gl","react-dom","@mui/x-license"],R):(A=typeof globalThis<"u"?globalThis:A||self,R(A["@tracktor/map"]={},A.React,A.designSystem,A.mapboxgl,A.ReactDOM,A.muiXLicense))})(this,function(A,R,J,z,He,Xe){"use strict";var Q={exports:{}},K={};/**
2
+ (function(y,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("react"),require("@tracktor/design-system"),require("mapbox-gl"),require("react-dom"),require("@mui/x-license")):typeof define=="function"&&define.amd?define(["exports","react","@tracktor/design-system","mapbox-gl","react-dom","@mui/x-license"],p):(y=typeof globalThis<"u"?globalThis:y||self,p(y["@tracktor/map"]={},y.React,y.designSystem,y.mapboxgl,y.ReactDOM,y.muiXLicense))})(this,function(y,p,R,E,W,H){"use strict";var j={exports:{}},M={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.min.js
5
5
  *
@@ -7,25 +7,4 @@
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 pe;function qe(){if(pe)return K;pe=1;var t=R,n=Symbol.for("react.element"),i=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,u=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,b={key:!0,ref:!0,__self:!0,__source:!0};function p(v,d,T){var g,P={},O=null,F=null;T!==void 0&&(O=""+T),d.key!==void 0&&(O=""+d.key),d.ref!==void 0&&(F=d.ref);for(g in d)a.call(d,g)&&!b.hasOwnProperty(g)&&(P[g]=d[g]);if(v&&v.defaultProps)for(g in d=v.defaultProps,d)P[g]===void 0&&(P[g]=d[g]);return{$$typeof:n,type:v,key:O,ref:F,props:P,_owner:u.current}}return K.Fragment=i,K.jsx=p,K.jsxs=p,K}var H={};/**
11
- * @license React
12
- * react-jsx-runtime.development.js
13
- *
14
- * Copyright (c) Facebook, Inc. and its affiliates.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE file in the root directory of this source tree.
18
- */var ve;function Ze(){return ve||(ve=1,process.env.NODE_ENV!=="production"&&function(){var t=R,n=Symbol.for("react.element"),i=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),v=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),g=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),F=Symbol.for("react.offscreen"),B=Symbol.iterator,X="@@iterator";function D(e){if(e===null||typeof e!="object")return null;var r=B&&e[B]||e[X];return typeof r=="function"?r:null}var l=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function x(e){{for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];m("error",e,o)}}function m(e,r,o){{var s=l.ReactDebugCurrentFrame,y=s.getStackAddendum();y!==""&&(r+="%s",o=o.concat([y]));var h=o.map(function(f){return String(f)});h.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,h)}}var S=!1,E=!1,N=!1,k=!1,yr=!1,Ce;Ce=Symbol.for("react.module.reference");function gr(e){return!!(typeof e=="string"||typeof e=="function"||e===a||e===b||yr||e===u||e===T||e===g||k||e===F||S||E||N||typeof e=="object"&&e!==null&&(e.$$typeof===O||e.$$typeof===P||e.$$typeof===p||e.$$typeof===v||e.$$typeof===d||e.$$typeof===Ce||e.getModuleId!==void 0))}function hr(e,r,o){var s=e.displayName;if(s)return s;var y=r.displayName||r.name||"";return y!==""?o+"("+y+")":o}function xe(e){return e.displayName||"Context"}function I(e){if(e==null)return null;if(typeof e.tag=="number"&&x("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case a:return"Fragment";case i:return"Portal";case b:return"Profiler";case u:return"StrictMode";case T:return"Suspense";case g:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case v:var r=e;return xe(r)+".Consumer";case p:var o=e;return xe(o._context)+".Provider";case d:return hr(e,e.render,"ForwardRef");case P:var s=e.displayName||null;return s!==null?s:I(e.type)||"Memo";case O:{var y=e,h=y._payload,f=y._init;try{return I(f(h))}catch{return null}}}return null}var W=Object.assign,q=0,Te,Pe,Oe,Se,we,je,Ae;function Fe(){}Fe.__reactDisabledLog=!0;function br(){{if(q===0){Te=console.log,Pe=console.info,Oe=console.warn,Se=console.error,we=console.group,je=console.groupCollapsed,Ae=console.groupEnd;var e={configurable:!0,enumerable:!0,value:Fe,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}q++}}function Er(){{if(q--,q===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:W({},e,{value:Te}),info:W({},e,{value:Pe}),warn:W({},e,{value:Oe}),error:W({},e,{value:Se}),group:W({},e,{value:we}),groupCollapsed:W({},e,{value:je}),groupEnd:W({},e,{value:Ae})})}q<0&&x("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ae=l.ReactCurrentDispatcher,ie;function $(e,r,o){{if(ie===void 0)try{throw Error()}catch(y){var s=y.stack.trim().match(/\n( *(at )?)/);ie=s&&s[1]||""}return`
19
- `+ie+e}}var se=!1,ee;{var Rr=typeof WeakMap=="function"?WeakMap:Map;ee=new Rr}function De(e,r){if(!e||se)return"";{var o=ee.get(e);if(o!==void 0)return o}var s;se=!0;var y=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var h;h=ae.current,ae.current=null,br();try{if(r){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(j){s=j}Reflect.construct(e,[],f)}else{try{f.call()}catch(j){s=j}e.call(f.prototype)}}else{try{throw Error()}catch(j){s=j}e()}}catch(j){if(j&&s&&typeof j.stack=="string"){for(var c=j.stack.split(`
20
- `),w=s.stack.split(`
21
- `),_=c.length-1,C=w.length-1;_>=1&&C>=0&&c[_]!==w[C];)C--;for(;_>=1&&C>=0;_--,C--)if(c[_]!==w[C]){if(_!==1||C!==1)do if(_--,C--,C<0||c[_]!==w[C]){var L=`
22
- `+c[_].replace(" at new "," at ");return e.displayName&&L.includes("<anonymous>")&&(L=L.replace("<anonymous>",e.displayName)),typeof e=="function"&&ee.set(e,L),L}while(_>=1&&C>=0);break}}}finally{se=!1,ae.current=h,Er(),Error.prepareStackTrace=y}var G=e?e.displayName||e.name:"",Y=G?$(G):"";return typeof e=="function"&&ee.set(e,Y),Y}function mr(e,r,o){return De(e,!1)}function _r(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function re(e,r,o){if(e==null)return"";if(typeof e=="function")return De(e,_r(e));if(typeof e=="string")return $(e);switch(e){case T:return $("Suspense");case g:return $("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case d:return mr(e.render);case P:return re(e.type,r,o);case O:{var s=e,y=s._payload,h=s._init;try{return re(h(y),r,o)}catch{}}}return""}var Z=Object.prototype.hasOwnProperty,Le={},Me=l.ReactDebugCurrentFrame;function te(e){if(e){var r=e._owner,o=re(e.type,e._source,r?r.type:null);Me.setExtraStackFrame(o)}else Me.setExtraStackFrame(null)}function Cr(e,r,o,s,y){{var h=Function.call.bind(Z);for(var f in e)if(h(e,f)){var c=void 0;try{if(typeof e[f]!="function"){var w=Error((s||"React class")+": "+o+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[f]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw w.name="Invariant Violation",w}c=e[f](r,f,s,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(_){c=_}c&&!(c instanceof Error)&&(te(y),x("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",o,f,typeof c),te(null)),c instanceof Error&&!(c.message in Le)&&(Le[c.message]=!0,te(y),x("Failed %s type: %s",o,c.message),te(null))}}}var xr=Array.isArray;function ue(e){return xr(e)}function Tr(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,o=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return o}}function Pr(e){try{return Ie(e),!1}catch{return!0}}function Ie(e){return""+e}function Ne(e){if(Pr(e))return x("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Tr(e)),Ie(e)}var ke=l.ReactCurrentOwner,Or={key:!0,ref:!0,__self:!0,__source:!0},We,Ye;function Sr(e){if(Z.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function wr(e){if(Z.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function jr(e,r){typeof e.ref=="string"&&ke.current}function Ar(e,r){{var o=function(){We||(We=!0,x("%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://reactjs.org/link/special-props)",r))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}}function Fr(e,r){{var o=function(){Ye||(Ye=!0,x("%s: `ref` 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://reactjs.org/link/special-props)",r))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}}var Dr=function(e,r,o,s,y,h,f){var c={$$typeof:n,type:e,key:r,ref:o,props:f,_owner:h};return c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:y}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function Lr(e,r,o,s,y){{var h,f={},c=null,w=null;o!==void 0&&(Ne(o),c=""+o),wr(r)&&(Ne(r.key),c=""+r.key),Sr(r)&&(w=r.ref,jr(r,y));for(h in r)Z.call(r,h)&&!Or.hasOwnProperty(h)&&(f[h]=r[h]);if(e&&e.defaultProps){var _=e.defaultProps;for(h in _)f[h]===void 0&&(f[h]=_[h])}if(c||w){var C=typeof e=="function"?e.displayName||e.name||"Unknown":e;c&&Ar(f,C),w&&Fr(f,C)}return Dr(e,c,w,y,s,ke.current,f)}}var ce=l.ReactCurrentOwner,Ue=l.ReactDebugCurrentFrame;function V(e){if(e){var r=e._owner,o=re(e.type,e._source,r?r.type:null);Ue.setExtraStackFrame(o)}else Ue.setExtraStackFrame(null)}var le;le=!1;function fe(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function Be(){{if(ce.current){var e=I(ce.current.type);if(e)return`
23
-
24
- Check the render method of \``+e+"`."}return""}}function Mr(e){return""}var Ve={};function Ir(e){{var r=Be();if(!r){var o=typeof e=="string"?e:e.displayName||e.name;o&&(r=`
25
-
26
- Check the top-level render call using <`+o+">.")}return r}}function Ge(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var o=Ir(r);if(Ve[o])return;Ve[o]=!0;var s="";e&&e._owner&&e._owner!==ce.current&&(s=" It was passed a child from "+I(e._owner.type)+"."),V(e),x('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,s),V(null)}}function Je(e,r){{if(typeof e!="object")return;if(ue(e))for(var o=0;o<e.length;o++){var s=e[o];fe(s)&&Ge(s,r)}else if(fe(e))e._store&&(e._store.validated=!0);else if(e){var y=D(e);if(typeof y=="function"&&y!==e.entries)for(var h=y.call(e),f;!(f=h.next()).done;)fe(f.value)&&Ge(f.value,r)}}}function Nr(e){{var r=e.type;if(r==null||typeof r=="string")return;var o;if(typeof r=="function")o=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===d||r.$$typeof===P))o=r.propTypes;else return;if(o){var s=I(r);Cr(o,e.props,"prop",s,e)}else if(r.PropTypes!==void 0&&!le){le=!0;var y=I(r);x("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&x("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function kr(e){{for(var r=Object.keys(e.props),o=0;o<r.length;o++){var s=r[o];if(s!=="children"&&s!=="key"){V(e),x("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),V(null);break}}e.ref!==null&&(V(e),x("Invalid attribute `ref` supplied to `React.Fragment`."),V(null))}}var ze={};function Ke(e,r,o,s,y,h){{var f=gr(e);if(!f){var c="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(c+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w=Mr();w?c+=w:c+=Be();var _;e===null?_="null":ue(e)?_="array":e!==void 0&&e.$$typeof===n?(_="<"+(I(e.type)||"Unknown")+" />",c=" Did you accidentally export a JSX literal instead of a component?"):_=typeof e,x("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",_,c)}var C=Lr(e,r,o,y,h);if(C==null)return C;if(f){var L=r.children;if(L!==void 0)if(s)if(ue(L)){for(var G=0;G<L.length;G++)Je(L[G],e);Object.freeze&&Object.freeze(L)}else x("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 Je(L,e)}if(Z.call(r,"key")){var Y=I(e),j=Object.keys(r).filter(function(Gr){return Gr!=="key"}),de=j.length>0?"{key: someKey, "+j.join(": ..., ")+": ...}":"{key: someKey}";if(!ze[Y+de]){var Vr=j.length>0?"{"+j.join(": ..., ")+": ...}":"{}";x(`A props object containing a "key" prop is being spread into JSX:
27
- let props = %s;
28
- <%s {...props} />
29
- React keys must be passed directly to JSX without using spread:
30
- let props = %s;
31
- <%s key={someKey} {...props} />`,de,Y,Vr,Y),ze[Y+de]=!0}}return e===a?kr(C):Nr(C),C}}function Wr(e,r,o){return Ke(e,r,o,!0)}function Yr(e,r,o){return Ke(e,r,o,!1)}var Ur=Yr,Br=Wr;H.Fragment=a,H.jsx=Ur,H.jsxs=Br}()),H}var ye;function Qe(){return ye||(ye=1,process.env.NODE_ENV==="production"?Q.exports=qe():Q.exports=Ze()),Q.exports}var M=Qe();const $e=({containerStyle:t,square:n,loading:i=!1,height:a=300,width:u="100%"},b)=>M.jsxs(J.Box,{sx:{position:"relative"},height:a,children:[M.jsx(J.Box,{sx:{borderRadius:n?0:1,left:0,position:"absolute",top:0,zIndex:1,...t},ref:b,width:u,height:a}),i&&M.jsx(J.Skeleton,{sx:{left:0,position:"absolute",top:0,zIndex:0},width:u,height:a,variant:n?"rectangular":"rounded"})]}),er=R.forwardRef($e),ge=t=>typeof t=="object"&&t!==null&&"type"in t&&"coordinates"in t,rr=t=>{if(typeof t!="object"||t===null||!("geometry"in t&&"properties"in t))return!1;const{geometry:i}=t;if(typeof i!="object"||i===null||!("coordinates"in i))return!1;const{coordinates:a}=i;if(!Array.isArray(a)||a.length!==2||!ge(i))return!1;const{properties:u}=t;return typeof u!="object"||u===null?!1:"id"in u&&u.id!==void 0},he=(t,n)=>Number.isFinite(t)&&Number.isFinite(n)&&t>=-90&&t<=90&&n>=-180&&n<=180,tr=()=>{try{const t=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl")))}catch{return!1}};var U={},be;function nr(){if(be)return U;be=1;var t=He;if(process.env.NODE_ENV==="production")U.createRoot=t.createRoot,U.hydrateRoot=t.hydrateRoot;else{var n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;U.createRoot=function(i,a){n.usingClientEntryPoint=!0;try{return t.createRoot(i,a)}finally{n.usingClientEntryPoint=!1}},U.hydrateRoot=function(i,a,u){n.usingClientEntryPoint=!0;try{return t.hydrateRoot(i,a,u)}finally{n.usingClientEntryPoint=!1}}}return U}var Ee=nr();const or=t=>{const n=document.createElement("button");return n.innerText="×",n.style.position="absolute",n.style.top="5px",n.style.right="5px",n.style.background="transparent",n.style.border="none",n.style.fontSize="16px",n.style.padding="0",n.style.margin="0",n.style.cursor="pointer",n.type="button",n.setAttribute("aria-label","Close popup"),n.removeAttribute("aria-hidden"),n.onclick=()=>t.remove(),n},Re=({map:t,tooltip:n,coordinates:i})=>{if(!i||!n||!t.current||!Array.isArray(i)||i.length!==2)return;const a=document.createElement("div");a.style.position="relative",a.style.overflow="hidden";const u=document.createElement("div");u.style.padding="10px";const b=Ee.createRoot(u);b.render(n);const p=new z.Popup({closeButton:!1}).setLngLat(i).setDOMContent(a).addTo(t.current);p.on("close",()=>{b.unmount()});const v=or(p);a.appendChild(v),a.appendChild(u)},me=t=>Array.isArray(t)?t.length>=2?[t[0],t[1]]:void 0:t,ar=({map:t,markers:n,event:i})=>{var b,p,v,d,T;if(!((b=t.current)!=null&&b.isStyleLoaded()))return;const a=((d=(v=(p=t.current)==null?void 0:p.getStyle())==null?void 0:v.layers)==null?void 0:d.filter(g=>g.id.startsWith("marker-")).map(g=>g.id))||[],u=(T=t.current)==null?void 0:T.queryRenderedFeatures(i.point,{layers:a});if(u&&u.length>0){const g=u[0];if(!rr(g)||!ge(g.geometry))return;const{geometry:P}=g,{properties:O}=g,F=P.coordinates.slice();if(F.length!==2||typeof F[0]!="number"||typeof F[1]!="number")return;const[B,X]=F,D=n.find(l=>l.id===(O==null?void 0:O.id));D&&Re({coordinates:[B,X],map:t,tooltip:D==null?void 0:D.Tooltip})}},ir=({palette:t,type:n})=>{const i=t.mode==="dark"?"black":"white",a=t.secondary.main,u=t.info.main;switch(n){case"dropOff":return{"circle-color":i,"circle-radius":5,"circle-stroke-color":u,"circle-stroke-width":6};default:return{"circle-color":i,"circle-radius":7,"circle-stroke-color":a,"circle-stroke-width":8}}},sr=(t,n,i,a)=>{const u={features:i.map(p=>({geometry:{coordinates:p.geometry.coordinates,type:"Point"},properties:{id:p.properties.id,...p.properties},type:"Feature"})),type:"FeatureCollection"},b=t.getSource(n);b?b.setData(u):t.addSource(n,{data:u,type:"geojson"}),u.features.forEach(p=>{const{description:v,id:d}=p.properties||{},T=ir({palette:a,type:v}),g=`marker-${d}`;t.getLayer(g)?Object.entries(T||{}).forEach(([P,O])=>{t.setPaintProperty(g,P,O)}):t.addLayer({filter:["==","id",d],id:g,paint:T,source:n,type:"circle"})})},ur=(t,n)=>{document.querySelectorAll(".react-custom-marker").forEach(a=>a.remove()),n.forEach(a=>{const{IconComponent:u,iconProps:b}=a.properties||{},{coordinates:p}=a.geometry;if(u&&p.length>=2){const v=document.createElement("div");v.className="react-custom-marker",v.style.position="absolute";const d=document.createElement("div"),T=Ee.createRoot(d);u&&T.render(R.createElement(u,b||{})),v.appendChild(d),new z.Marker(v).setLngLat([p[0],p[1]]).addTo(t)}})},cr=t=>({features:(t==null?void 0:t.map((n,i)=>({geometry:{coordinates:[Number.isFinite(Number(n.lng))?Number(n.lng):Number(ne),Number.isFinite(Number(n.lat))?Number(n.lat):Number(oe)],type:"Point"},properties:{description:n.type,IconComponent:n.IconComponent,iconProps:n.iconProps,id:n.id||`{marker-${i}}`,name:n.name,size:n.size||1,zIndex:n.zIndex||0},type:"Feature"})))||[],type:"FeatureCollection"}),lr=({map:t,setLoadingMapBox:n,palette:i,markers:a})=>{if(n(!1),!t.current)return;const u=cr(a),b=u.features.filter(v=>{var d;return((d=v.properties)==null?void 0:d.IconComponent)===void 0}),p=u.features.filter(v=>{var d;return(d=v.properties)==null?void 0:d.IconComponent});p.length&&ur(t.current,p),b.length&&sr(t.current,"markerProps",b,i)},fr=({mapStyle:t,mapContainer:n,zoomFlyFrom:i,markers:a,center:u})=>{var p,v;return{center:u?me(u):{lat:((p=a==null?void 0:a[0])==null?void 0:p.lat)!==void 0?Number(a[0].lat):oe,lng:((v=a==null?void 0:a[0])==null?void 0:v.lng)!==void 0?Number(a[0].lng):ne},container:(n==null?void 0:n.current)||"",cooperativeGestures:!0,failIfMajorPerformanceCaveat:!1,style:t,zoom:i}},ne=2.333,oe=46.8677,dr=({markers:t,loading:n,center:i,flyToDuration:a=5e3,fitBoundDuration:u=1e3,fitBounds:b=!0,disableFlyTo:p=!1,fitBoundsPadding:v=50,mapStyle:d="mapbox://styles/mapbox/streets-v12?optimize=true",zoom:T=6,zoomFlyFrom:g=3,openPopup:P,onMapClick:O})=>{const{palette:F}=J.useTheme(),[B,X]=R.useState(!0),D=R.useRef(null),l=R.useRef(null),x=!t||t.some(m=>m.lat===void 0||m.lng===void 0);return R.useEffect(()=>{if(l.current||!D.current||n||!tr())return;D.current.innerHTML!==""&&(D.current.innerHTML="");const m=fr({center:i,mapContainer:D,mapStyle:d,markers:t,zoomFlyFrom:g});l.current=new z.Map(m)},[i,n,d,t,g]),R.useEffect(()=>{if(!l.current||x)return;const m=()=>{lr({map:l,markers:t,palette:F,setLoadingMapBox:X})};l.current.loaded()?m():l.current.once("load",m)},[t,x,F]),R.useEffect(()=>{if(!l.current||!t)return;const m=l.current._popups;if(m.length&&m.forEach(E=>E.remove()),P){const E=t.find(k=>k.id===P),N=[Number(E==null?void 0:E.lng)||0,Number(E==null?void 0:E.lat)||0];Re({coordinates:N,map:l,tooltip:E==null?void 0:E.Tooltip})}const S=E=>{ar({event:E,map:l,markers:t})};return l.current.on("click",S),()=>{var E;(E=l.current)==null||E.off("click",S)}},[l,t,P]),R.useEffect(()=>{if(!l.current||!i)return;const m=Array.isArray(i)&&he(i[1],i[0])?me(i):{lat:oe,lng:ne};m&&l.current.setCenter(m)},[i]),R.useEffect(()=>{if(!l.current||!O)return;const m=S=>O(S.lngLat.lng,S.lngLat.lat);return l.current.on("click",m),()=>{var S;(S=l.current)==null||S.off("click",m)}},[O]),R.useEffect(()=>{if(!l.current||(p||l.current.flyTo({duration:a,zoom:T}),!b||!(t!=null&&t.length)||(t==null?void 0:t.length)<2))return;const m=new z.LngLatBounds,S=t.filter(E=>{const N=Number(E.lng),k=Number(E.lat);return he(k,N)});if(!(S.length<2)){for(let E=0;E<S.length;E+=1){const N=Number(S[E].lng),k=Number(S[E].lat);m.extend([N,k])}l.current.fitBounds(m,{duration:u,padding:v})}},[t,b,v,a,T,u,p]),R.useEffect(()=>()=>{l.current&&(l.current.remove(),l.current=null)},[]),{loading:B||n,map:l,mapContainer:D,markers:t}},pr=({containerStyle:t,square:n,theme:i,height:a=300,width:u="100%",...b})=>{const{loading:p,mapContainer:v}=dr(b);return M.jsxs(M.Fragment,{children:[M.jsx(J.GlobalStyles,{styles:{".mapboxgl-popup-content":{backgroundColor:"transparent!important",borderRadius:"0px !important",boxShadow:"none!important",padding:"0px 0px!important",width:"fit-content!important"}}}),M.jsx(er,{ref:v,loading:p,height:a,width:u,containerStyle:t,square:n})]})},_e=R.createContext({licenceMapbox:"",licenseMuiX:""}),vr=({children:t,licenseMuiX:n,licenceMapbox:i})=>{R.useEffect(()=>{n&&Xe.LicenseInfo.setLicenseKey(n)},[n]);const a=R.useMemo(()=>({licenceMapbox:i,licenseMuiX:n}),[n,i]);return i&&(z.accessToken=i),M.jsx(_e.Provider,{value:a,children:t})};A.MapProvider=vr,A.MapProviderContext=_e,A.MarkerMap=pr,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
10
+ */var A;function K(){if(A)return M;A=1;var e=p,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,d={key:!0,ref:!0,__self:!0,__source:!0};function i(c,s,g){var l,b={},x=null,h=null;g!==void 0&&(x=""+g),s.key!==void 0&&(x=""+s.key),s.ref!==void 0&&(h=s.ref);for(l in s)o.call(s,l)&&!d.hasOwnProperty(l)&&(b[l]=s[l]);if(c&&c.defaultProps)for(l in s=c.defaultProps,s)b[l]===void 0&&(b[l]=s[l]);return{$$typeof:t,type:c,key:x,ref:h,props:b,_owner:r.current}}return M.Fragment=n,M.jsx=i,M.jsxs=i,M}var O;function V(){return O||(O=1,j.exports=K()),j.exports}var C=V();const Y=({containerStyle:e,square:t,loading:n=!1,height:o=300,width:r="100%"},d)=>C.jsxs(R.Box,{sx:{position:"relative"},height:o,children:[C.jsx(R.Box,{sx:{borderRadius:t?0:1,left:0,position:"absolute",top:0,zIndex:1,...e},ref:d,width:r,height:o}),n&&C.jsx(R.Skeleton,{sx:{left:0,position:"absolute",top:0,zIndex:0},width:r,height:o,variant:t?"rectangular":"rounded"})]}),Q=p.forwardRef(Y),F=e=>typeof e=="object"&&e!==null&&"type"in e&&"coordinates"in e,Z=e=>{if(typeof e!="object"||e===null||!("geometry"in e&&"properties"in e))return!1;const{geometry:n}=e;if(typeof n!="object"||n===null||!("coordinates"in n))return!1;const{coordinates:o}=n;if(!Array.isArray(o)||o.length!==2||!F(n))return!1;const{properties:r}=e;return typeof r!="object"||r===null?!1:"id"in r&&r.id!==void 0},I=(e,t)=>Number.isFinite(e)&&Number.isFinite(t)&&e>=-90&&e<=90&&t>=-180&&t<=180,q=()=>{try{const e=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(e.getContext("webgl")||e.getContext("experimental-webgl")))}catch{return!1}};var N={},B;function X(){if(B)return N;B=1;var e=W;return N.createRoot=e.createRoot,N.hydrateRoot=e.hydrateRoot,N}var D=X();const k=e=>{const t=document.createElement("button");return t.innerText="×",t.style.position="absolute",t.style.top="5px",t.style.right="5px",t.style.background="transparent",t.style.border="none",t.style.fontSize="16px",t.style.padding="0",t.style.margin="0",t.style.cursor="pointer",t.type="button",t.setAttribute("aria-label","Close popup"),t.removeAttribute("aria-hidden"),t.onclick=()=>e.remove(),t},G=({map:e,tooltip:t,coordinates:n})=>{if(!n||!t||!e.current||!Array.isArray(n)||n.length!==2)return;const o=document.createElement("div");o.style.position="relative",o.style.overflow="hidden";const r=document.createElement("div");r.style.padding="10px";const d=D.createRoot(r);d.render(t);const i=new E.Popup({closeButton:!1}).setLngLat(n).setDOMContent(o).addTo(e.current);i.on("close",()=>{d.unmount()});const c=k(i);o.appendChild(c),o.appendChild(r)},z=e=>Array.isArray(e)?e.length>=2?[e[0],e[1]]:void 0:e,$=({map:e,markers:t,event:n})=>{var d,i,c,s,g;if(!((d=e.current)!=null&&d.isStyleLoaded()))return;const o=((s=(c=(i=e.current)==null?void 0:i.getStyle())==null?void 0:c.layers)==null?void 0:s.filter(l=>l.id.startsWith("marker-")).map(l=>l.id))||[],r=(g=e.current)==null?void 0:g.queryRenderedFeatures(n.point,{layers:o});if(r&&r.length>0){const l=r[0];if(!Z(l)||!F(l.geometry))return;const{geometry:b}=l,{properties:x}=l,h=b.coordinates.slice();if(h.length!==2||typeof h[0]!="number"||typeof h[1]!="number")return;const[T,w]=h,m=t.find(u=>u.id===(x==null?void 0:x.id));m&&G({coordinates:[T,w],map:e,tooltip:m==null?void 0:m.Tooltip})}},ee=({palette:e,type:t})=>{const n=e.mode==="dark"?"black":"white",o=e.secondary.main,r=e.info.main;switch(t){case"dropOff":return{"circle-color":n,"circle-radius":5,"circle-stroke-color":r,"circle-stroke-width":6};default:return{"circle-color":n,"circle-radius":7,"circle-stroke-color":o,"circle-stroke-width":8}}},te=(e,t,n,o)=>{const r={features:n.map(i=>({geometry:{coordinates:i.geometry.coordinates,type:"Point"},properties:{id:i.properties.id,...i.properties},type:"Feature"})),type:"FeatureCollection"},d=e.getSource(t);d?d.setData(r):e.addSource(t,{data:r,type:"geojson"}),r.features.forEach(i=>{const{description:c,id:s}=i.properties||{},g=ee({palette:o,type:c}),l=`marker-${s}`;e.getLayer(l)?Object.entries(g||{}).forEach(([b,x])=>{e.setPaintProperty(l,b,x)}):e.addLayer({filter:["==","id",s],id:l,paint:g,source:t,type:"circle"})})},ne=(e,t)=>{document.querySelectorAll(".react-custom-marker").forEach(o=>o.remove()),t.forEach(o=>{const{IconComponent:r,iconProps:d}=o.properties||{},{coordinates:i}=o.geometry;if(r&&i.length>=2){const c=document.createElement("div");c.className="react-custom-marker",c.style.position="absolute";const s=document.createElement("div"),g=D.createRoot(s);r&&g.render(p.createElement(r,d||{})),c.appendChild(s),new E.Marker(c).setLngLat([i[0],i[1]]).addTo(e)}})},oe=e=>({features:(e==null?void 0:e.map((t,n)=>({geometry:{coordinates:[Number.isFinite(Number(t.lng))?Number(t.lng):Number(P),Number.isFinite(Number(t.lat))?Number(t.lat):Number(S)],type:"Point"},properties:{description:t.type,IconComponent:t.IconComponent,iconProps:t.iconProps,id:t.id||`{marker-${n}}`,name:t.name,size:t.size||1,zIndex:t.zIndex||0},type:"Feature"})))||[],type:"FeatureCollection"}),re=({map:e,setLoadingMapBox:t,palette:n,markers:o})=>{if(t(!1),!e.current)return;const r=oe(o),d=r.features.filter(c=>{var s;return((s=c.properties)==null?void 0:s.IconComponent)===void 0}),i=r.features.filter(c=>{var s;return(s=c.properties)==null?void 0:s.IconComponent});i.length&&ne(e.current,i),d.length&&te(e.current,"markerProps",d,n)},ie=({mapStyle:e,mapContainer:t,zoomFlyFrom:n,markers:o,center:r})=>{var i,c;return{center:r?z(r):{lat:((i=o==null?void 0:o[0])==null?void 0:i.lat)!==void 0?Number(o[0].lat):S,lng:((c=o==null?void 0:o[0])==null?void 0:c.lng)!==void 0?Number(o[0].lng):P},container:(t==null?void 0:t.current)||"",cooperativeGestures:!0,failIfMajorPerformanceCaveat:!1,style:e,zoom:n}},P=2.333,S=46.8677,ce=({markers:e,loading:t,center:n,flyToDuration:o=5e3,fitBoundDuration:r=1e3,fitBounds:d=!0,disableFlyTo:i=!1,fitBoundsPadding:c=50,mapStyle:s="mapbox://styles/mapbox/streets-v12?optimize=true",zoom:g=6,zoomFlyFrom:l=3,openPopup:b,onMapClick:x})=>{const{palette:h}=R.useTheme(),[T,w]=p.useState(!0),m=p.useRef(null),u=p.useRef(null),U=!e||e.some(f=>f.lat===void 0||f.lng===void 0);return p.useEffect(()=>{if(u.current||!m.current||t||!q())return;m.current.innerHTML!==""&&(m.current.innerHTML="");const f=ie({center:n,mapContainer:m,mapStyle:s,markers:e,zoomFlyFrom:l});u.current=new E.Map(f)},[n,t,s,e,l]),p.useEffect(()=>{if(!u.current||U)return;const f=()=>{re({map:u,markers:e,palette:h,setLoadingMapBox:w})};u.current.loaded()?f():u.current.once("load",f)},[e,U,h]),p.useEffect(()=>{if(!u.current||!e)return;const f=u.current._popups;if(f.length&&f.forEach(a=>a.remove()),b){const a=e.find(_=>_.id===b),L=[Number(a==null?void 0:a.lng)||0,Number(a==null?void 0:a.lat)||0];G({coordinates:L,map:u,tooltip:a==null?void 0:a.Tooltip})}const v=a=>{$({event:a,map:u,markers:e})};return u.current.on("click",v),()=>{var a;(a=u.current)==null||a.off("click",v)}},[u,e,b]),p.useEffect(()=>{if(!u.current||!n)return;const f=Array.isArray(n)&&I(n[1],n[0])?z(n):{lat:S,lng:P};f&&u.current.setCenter(f)},[n]),p.useEffect(()=>{if(!u.current||!x)return;const f=v=>x(v.lngLat.lng,v.lngLat.lat);return u.current.on("click",f),()=>{var v;(v=u.current)==null||v.off("click",f)}},[x]),p.useEffect(()=>{if(!u.current||(i||u.current.flyTo({duration:o,zoom:g}),!d||!(e!=null&&e.length)||(e==null?void 0:e.length)<2))return;const f=new E.LngLatBounds,v=e.filter(a=>{const L=Number(a.lng),_=Number(a.lat);return I(_,L)});if(!(v.length<2)){for(let a=0;a<v.length;a+=1){const L=Number(v[a].lng),_=Number(v[a].lat);f.extend([L,_])}u.current.fitBounds(f,{duration:r,padding:c})}},[e,d,c,o,g,r,i]),p.useEffect(()=>()=>{u.current&&(u.current.remove(),u.current=null)},[]),{loading:T||t,map:u,mapContainer:m,markers:e}},se=({containerStyle:e,square:t,theme:n,height:o=300,width:r="100%",...d})=>{const{loading:i,mapContainer:c}=ce(d);return C.jsxs(C.Fragment,{children:[C.jsx(R.GlobalStyles,{styles:{".mapboxgl-popup-content":{backgroundColor:"transparent!important",borderRadius:"0px !important",boxShadow:"none!important",padding:"0px 0px!important",width:"fit-content!important"}}}),C.jsx(Q,{ref:c,loading:i,height:o,width:r,containerStyle:e,square:t})]})},J=p.createContext({licenceMapbox:"",licenseMuiX:""}),ue=({children:e,licenseMuiX:t,licenceMapbox:n})=>{p.useEffect(()=>{t&&H.LicenseInfo.setLicenseKey(t)},[t]);const o=p.useMemo(()=>({licenceMapbox:n,licenseMuiX:t}),[t,n]);return n&&(E.accessToken=n),C.jsx(J.Provider,{value:o,children:e})};y.MapProvider=ue,y.MapProviderContext=J,y.MarkerMap=se,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
@@ -1,15 +1,56 @@
1
1
  import { default as React, ReactNode } from 'react';
2
2
  export interface MarkerProps {
3
+ /**
4
+ * Optional unique identifier for the marker.
5
+ */
3
6
  id?: number | string;
7
+ /**
8
+ * Longitude coordinate of the marker.
9
+ * Should be a number; using 'unknown' allows flexibility but requires validation.
10
+ */
4
11
  lng: number | unknown;
12
+ /**
13
+ * Latitude coordinate of the marker.
14
+ * Should be a number; using 'unknown' allows flexibility but requires validation.
15
+ */
5
16
  lat: number | unknown;
17
+ /**
18
+ * Optional tooltip element displayed when hovering or clicking on the marker.
19
+ * Can be a React component or any ReactNode.
20
+ */
6
21
  Tooltip?: ReactNode;
22
+ /**
23
+ * URL or name of the icon image to display for the marker.
24
+ * Only used if no IconComponent is provided.
25
+ */
7
26
  iconImage?: string;
27
+ /**
28
+ * Optional size (scale) of the marker icon.
29
+ */
8
30
  size?: number;
31
+ /**
32
+ * Z-index to control layering of the marker relative to others.
33
+ */
9
34
  zIndex?: number;
35
+ /**
36
+ * Function to call when the marker is clicked.
37
+ */
10
38
  onClick?: () => void;
39
+ /**
40
+ * Optional type/category of the marker (e.g., 'restaurant', 'user', etc.).
41
+ */
11
42
  type?: string;
43
+ /**
44
+ * Optional display name for the marker.
45
+ */
12
46
  name?: string;
47
+ /**
48
+ * Optional custom React component to use as the marker icon.
49
+ * Overrides iconImage if provided.
50
+ */
13
51
  IconComponent?: React.ComponentType<any>;
52
+ /**
53
+ * Optional props to pass to the IconComponent.
54
+ */
14
55
  iconProps?: Record<string, any>;
15
56
  }
@@ -6,10 +6,38 @@ interface AddPopupProps {
6
6
  map: MutableRefObject<Map | null>;
7
7
  }
8
8
  /**
9
- * Add a popup on the map at the provided coordinates with the provided tooltip (ReactNode)
10
- * @param map
11
- * @param tooltip
12
- * @param coordinates
9
+ * Adds a React-based popup to a Mapbox map
10
+ *
11
+ * This function creates and displays a popup on a Mapbox map with custom content rendered
12
+ * using React. The popup includes a styled close button and properly handles React component
13
+ * lifecycle to prevent memory leaks.
14
+ *
15
+ * @param {Object} options - The configuration options
16
+ * @param {MutableRefObject<Map | null>} options.map - Reference to the Mapbox map instance
17
+ * @param {ReactNode} [options.tooltip] - React node to render inside the popup
18
+ * @param {[number, number]} [options.coordinates] - [longitude, latitude] where the popup should appear
19
+ * @returns {void}
20
+ *
21
+ * @example
22
+ * // Basic usage
23
+ * addPopup({
24
+ * map: mapRef,
25
+ * coordinates: [-73.985, 40.748],
26
+ * tooltip: <div>Empire State Building</div>
27
+ * });
28
+ *
29
+ * @example
30
+ * // With complex React content
31
+ * addPopup({
32
+ * map: mapRef,
33
+ * coordinates: marker.position,
34
+ * tooltip: (
35
+ * <InfoWindow title={marker.title}>
36
+ * <p>{marker.description}</p>
37
+ * <button onClick={handleAction}>More Info</button>
38
+ * </InfoWindow>
39
+ * )
40
+ * });
13
41
  */
14
42
  declare const addPopup: ({ map, tooltip, coordinates }: AddPopupProps) => void;
15
43
  export default addPopup;
@@ -1,7 +1,16 @@
1
1
  import { LngLatLike } from 'mapbox-gl';
2
2
  /**
3
- * Cast the center to LngLatLike if it's an array (in right Coordinates system [lng, lat])
4
- * @param center
3
+ * Converts coordinates to a format compatible with Mapbox's LngLatLike type
4
+ *
5
+ * This utility function ensures coordinates are properly formatted for Mapbox operations.
6
+ * It handles different input formats and converts them to the expected LngLatLike format,
7
+ * which requires longitude and latitude values in the form [lng, lat].
8
+ *
9
+ * @param {LngLatLike | number[] | undefined} center - Coordinates to convert, which can be:
10
+ * - LngLatLike object (already in Mapbox format)
11
+ * - number array in [longitude, latitude] format
12
+ * - undefined (no coordinates provided)
13
+ * @returns {LngLatLike | undefined} - Properly formatted coordinates or undefined if invalid
5
14
  */
6
15
  declare const coordinateConverter: (center: LngLatLike | number[] | undefined) => LngLatLike | undefined;
7
16
  export default coordinateConverter;
@@ -7,9 +7,20 @@ export interface HandleMapClickProps {
7
7
  event: MapMouseEvent;
8
8
  }
9
9
  /**
10
- * Handle the map click event to display a popup on the clicked marker
11
- * @param map
12
- * @param markers
13
- * @param event
10
+ * Handles map click events to display popups on clicked markers
11
+ *
12
+ * This function:
13
+ * 1. Identifies if a marker was clicked within the map
14
+ * 2. Extracts the coordinates and properties of the clicked marker
15
+ * 3. Finds the corresponding marker in the provided markers array
16
+ * 4. Displays a popup at the marker's location with its tooltip content
17
+ *
18
+ * The function only processes clicks on layers whose IDs start with "marker-".
19
+ *
20
+ * @param {Object} options - The click handler configuration
21
+ * @param {MutableRefObject<Map | null>} options.map - Reference to the Mapbox map instance
22
+ * @param {MarkerProps[]} options.markers - Array of marker objects with tooltips and properties
23
+ * @param {MapMouseEvent} options.event - The Mapbox mouse event triggered by clicking
24
+ * @returns {void}
14
25
  */
15
26
  export declare const handleMapClick: ({ map, markers, event }: HandleMapClickProps) => void;
@@ -13,10 +13,28 @@ interface LoadMarkersProps {
13
13
  markers: MarkerProps[];
14
14
  }
15
15
  /**
16
- * Assign the markers style based on provided palette and type
17
- * @param palette - The color palette to use
18
- * @param type - The marker type (e.g., "dropOff")
19
- * @returns Style object for the marker
16
+ * Generates visual styles for map markers based on theme palette and marker type
17
+ *
18
+ * Creates consistent styling for different marker types with:
19
+ * - Dynamic color theming (light/dark mode support)
20
+ * - Type-specific visual differentiation
21
+ * - Responsive sizing
22
+ *
23
+ * @param {Object} params - Configuration parameters
24
+ * @param {Palette} params.palette - Design system color palette
25
+ * @param {string} [params.type] - Optional marker type identifier (e.g. "dropOff")
26
+ *
27
+ * @returns {Object} Mapbox GL paint properties object containing:
28
+ * - circle-color: Center fill color
29
+ * - circle-radius: Size of marker
30
+ * - circle-stroke-color: Border color
31
+ * - circle-stroke-width: Border thickness
32
+ *
33
+ * @example
34
+ * const markerStyle = generateMarkers({
35
+ * palette: theme.palette,
36
+ * type: "dropOff"
37
+ * });
20
38
  */
21
39
  export declare const generateMarkers: ({ palette, type }: GenerateMarkersProps) => {
22
40
  "circle-color": string;
@@ -25,11 +43,19 @@ export declare const generateMarkers: ({ palette, type }: GenerateMarkersProps)
25
43
  "circle-stroke-width": number;
26
44
  };
27
45
  /**
28
- * Load GeoJSON markers on the map with the provided style
29
- * @param map - MapBox instance
30
- * @param setLoadingMapBox - Function to set loading state
31
- * @param palette - Color palette
32
- * @param markers - Array of marker objects
46
+ * Main entry point for loading markers onto a Mapbox GL map
47
+ *
48
+ * Orchestrates:
49
+ * - Data conversion to GeoJSON
50
+ * - Marker type classification
51
+ * - Parallel loading of different marker types
52
+ * - Loading state management
53
+ *
54
+ * @param {Object} params - Configuration parameters
55
+ * @param {MutableRefObject<Map|null>} params.map - React ref to Mapbox GL instance
56
+ * @param {function} params.setLoadingMapBox - Loading state callback
57
+ * @param {Palette} params.palette - Design system color palette
58
+ * @param {MarkerProps[]} params.markers - Array of marker definitions
33
59
  */
34
60
  export declare const loadMarkers: ({ map, setLoadingMapBox, palette, markers }: LoadMarkersProps) => void;
35
61
  export {};
@@ -9,12 +9,37 @@ interface MapOptionsProps {
9
9
  zoomFlyFrom?: number;
10
10
  }
11
11
  /**
12
- * MapBox options to initialize the map
13
- * @param mapStyle
14
- * @param mapContainer
15
- * @param zoomFlyFrom
16
- * @param markers
17
- * @param center
12
+ * Generates configuration options for initializing a Mapbox map
13
+ *
14
+ * This utility function creates a standardized configuration object for Mapbox GL JS
15
+ * by processing various input parameters. It handles:
16
+ * - Center point calculation (with fallback to marker positions or default)
17
+ * - Container element reference validation
18
+ * - Style application
19
+ * - Initial zoom level
20
+ *
21
+ * @param {Object} params - Configuration parameters
22
+ * @param {string} params.mapStyle - Mapbox style URL or specification
23
+ * @param {React.RefObject} [params.mapContainer] - Reference to the DOM container element
24
+ * @param {number} [params.zoomFlyFrom] - Initial zoom level for fly-to animation
25
+ * @param {MarkerProps[]} [params.markers] - Array of marker definitions
26
+ * @param {LngLatLike|number[]} [params.center] - Optional center coordinates (either as LngLat object or [lng, lat] array)
27
+ *
28
+ * @returns {Object} Mapbox-compatible configuration object with:
29
+ * - center: Calculated center coordinates
30
+ * - container: Validated container reference
31
+ * - cooperativeGestures: Enabled by default
32
+ * - failIfMajorPerformanceCaveat: Disabled by default
33
+ * - style: The provided map style
34
+ * - zoom: Initial zoom level
35
+ *
36
+ * @example
37
+ * const options = mapOptions({
38
+ * mapStyle: 'mapbox://styles/mapbox/streets-v11',
39
+ * mapContainer: mapRef,
40
+ * markers: [{ lat: 48.8584, lng: 2.2945 }],
41
+ * zoomFlyFrom: 12
42
+ * });
18
43
  */
19
44
  declare const mapOptions: ({ mapStyle, mapContainer, zoomFlyFrom, markers, center }: MapOptionsProps) => {
20
45
  center: {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@tracktor/map",
3
3
  "description": "A react library to easily display map with multiple tools",
4
4
  "private": false,
5
- "version": "0.1.0",
5
+ "version": "0.1.2",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "env:load": "./bin/load-env.sh",
@@ -18,8 +18,15 @@
18
18
  "module": "dist/main.js",
19
19
  "exports": {
20
20
  ".": {
21
- "import": "./dist/main.js",
22
- "require": "./dist/main.umd.cjs"
21
+ "types": "./dist/main.d.ts",
22
+ "import": {
23
+ "types": "./dist/main.d.ts",
24
+ "default": "./dist/main.es.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist/main.d.ts",
28
+ "default": "./dist/main.umd.cjs"
29
+ }
23
30
  }
24
31
  },
25
32
  "dependencies": {