@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/components/MarkerMap/MarkerMap.d.ts +55 -0
- package/dist/components/MarkerMap/useMarkerMap.d.ts +12 -0
- package/dist/{main.js → main.es.js} +227 -847
- package/dist/main.umd.cjs +2 -23
- package/dist/types/Markers.d.ts +41 -0
- package/dist/utils/addPopup.d.ts +32 -4
- package/dist/utils/coordinateConverter.d.ts +11 -2
- package/dist/utils/handleMapClick.d.ts +15 -4
- package/dist/utils/loadMarkers.d.ts +35 -9
- package/dist/utils/mapOptions.d.ts +31 -6
- package/package.json +10 -3
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(
|
|
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
|
|
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"})});
|
package/dist/types/Markers.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/utils/addPopup.d.ts
CHANGED
|
@@ -6,10 +6,38 @@ interface AddPopupProps {
|
|
|
6
6
|
map: MutableRefObject<Map | null>;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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
|
-
*
|
|
4
|
-
*
|
|
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
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
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
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
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
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
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
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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.
|
|
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
|
-
"
|
|
22
|
-
"
|
|
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": {
|