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