1import{d as ce,C as pe,u as ue,r as a,a7 as me,O as de,q as R,c as ve,N as fe,i as ge,aD as O,j as ye,k as we,w,e as W,g as L,s as Me,a as Ce,b as Se,v as he,h as _e,m as Re,o as q}from"./index-DbpIxVVg.js";import{M as v,a as M}from"./MapStopAnnotation-OfEHlNiw.js";import{_ as Le}from"./VMap.vue_vue_type_script_setup_true_lang-DRnp6rZ9.js";/* empty css */import{M as ke}from"./MapTileService-Bk53V0xm.js";import{_ as Te}from"./FullscreenMapLayout.vue_vue_type_script_setup_true_lang-ZYrc38DP.js";import{S as Ae}from"./StaticMapTileCollection-CgdsMMQq.js";import{R as be}from"./RoundedBadge-zDfp8xRL.js";import{L as Ve}from"./LocationService-DZNPzQ1G.js";import{M as E}from"./MapLocationOverlay-BFX7ZxEo.js";import"./MapAnnotation-Cz1h2O1h.js";import"./GroupedMap-BnpgQXxl.js";import"./MapPolyline-DvowLwwf.js";import"./MapOverlay-B_WA1Chb.js";import"./Stop-8NKSpgr4.js";import"./SearchService-CvvzWgdB.js";import"./PointOfInterest-Buj-zZdX.js";import"./RouteGroup-C9eTeiZ3.js";import"./MapPolygon-XhBMNzCL.js";import"./ActivityIndicator-CHNVpzvm.js";import"./ContextAwareNavigationBar-DU_RtOXq.js";import"./ZoneDashboardHeader.vue_vue_type_script_setup_true_lang-DSfas_c2.js";import"./ZoneResult-BCcwIQtm.js";import"./Zone-B11tA2dI.js";import"./WFCheckIn-C1ZIiw9D.js";import"./SearchPalette.vue_vue_type_script_setup_true_lang-siwWBU2S.js";import"./SearchPaletteItem.vue_vue_type_script_setup_true_lang-4nHU3J_8.js";import"./RouteGlyph.vue_vue_type_script_setup_true_lang-CZS1VAaM.js";import"./ActivityIndicatorIcon-DNADDTWG.js";import"./entity-Dyy2H1qK.js";import"./keyboard-C910qfwt.js";import"./calculate-active-index-Bo9BYas1.js";import"./combobox-Bf1jGWS7.js";import"./form-BG81DLzL.js";import"./use-tree-walker-DlTPShXD.js";import"./ExclamationCircleIcon-JnUMOvFl.js";import"./XMarkIcon-CeSt-Lep.js";import"./ChevronDoubleUpIcon-CCjqAXUh.js";import"./ChevronDoubleDownIcon-CkEOmdRI.js";import"./LayoutNavigationBar.vue_vue_type_script_setup_true_lang-l20DbnwY.js";import"./QuickSearchField.vue_vue_type_script_setup_true_lang-j6kTxxgM.js";import"./disclosure-DbKVSJYz.js";import"./menu-Bx4NoE5v.js";import"./use-text-value-Cv76m52G.js";import"./UserCircleIcon-CrIC4GtU.js";import"./XMarkIcon-CwavvuQx.js";import"./InformationCircleIcon-DWmJ-rGS.js";import"./ArrowDownTrayIcon-B8ldtCWP.js";import"./AgencyDashboardNavigationBar-DCfm6JIP.js";import"./ClockView.vue_vue_type_script_setup_true_lang-BpcN5C2v.js";import"./DashboardCloseButton.vue_vue_type_script_setup_true_lang-CN_k8wVn.js";import"./PageHeader-D-doL8ee.js";import"./AgencyDashboard-RukStT_d.js";import"./AssistedBoardingDashboardHeader.vue_vue_type_script_setup_true_lang-Dwx4En08.js";import"./PageContent-CaO1rUex.js";import"./LayoutFooterBar.vue_vue_type_script_setup_true_lang-C9Czdi6H.js";const ze={key:0,class:"hidden absolute top-2 left-0 z-10 w-full sm:flex justify-center"},Be={class:"relative"},xt=ce({__name:"LocationMap",props:{centreCoordinate:{type:pe,required:!1},zoom:{type:Number,required:!1}},setup(j){const U=j,m=ue(),p=Re(),C=a([]),k=a([]),u=me(),Z=a(),T=a([]),S=a([]),l=a(),h=de({coordinateRegion:R.makeWithDistance(m.mapCenterCoordinate,1e3,1e3),shouldAnimateRegionChanges:!0,mapType:"mutedStandard",colorScheme:null}),A=ve(()=>{var e,t;return(t=(e=m.config)==null?void 0:e.mapkit)==null?void 0:t.accessToken}),n=a(),c=a(),i=a(),d=a(),F=new Ve,K=ke.shared();let G;fe(()=>{l.value=R.makeWithDistance(m.mapCenterCoordinate,1e3,1e3)}),ge(async()=>{O.stopSessionReplayRecording()}),ye(()=>{clearInterval(G),O.startSessionReplayRecording()});const H=async()=>{await b()},J=e=>{u.value=e},Q=async e=>{l.value=e,m.mapCenterCoordinate=e.centreCoordinate,m.mapZoomLevel=s(),n.value||await _(e),await b()};async function _(e=R.fromMKCoordinateRegion(u.value.region)){p.currentRoute.value.path.startsWith("/map")&&await p.replace({name:"MapView",hash:`#${e.centreCoordinate.toString()},${Math.round(s()*10)/10}z`})}async function X(e){await p.push({name:"Location",params:{id:e.id}})}async function Y(e){await p.push({name:"MapStopView",params:{gtfsId:e.gtfsId,regionCode:e.region.regionCode,countryCode:e.region.countryCode}})}function s(){return(u.value&&u.value._impl&&u.value._impl._mapNode&&u.value._impl.zoomLevel)??U.zoom??14}async function b(){l.value&&(V(),await ee(),await te())}async function ee(){C.value=await F.findByCoordinateRegion(l.value)}async function te(){var t;
1const e=await K.getStaticTilesCovering(l.value,s());console.log(`MapView.updateStaticTiles: got [${e.length}] tiles for rect [${l.value}] zoomLevel [${s()}]`),(t=c.value)!=null&&t.containsAll(e)||(c.value=new Ae(e),f())}function f(){V(),oe()}function V(){var t,o;const e=s()||14;k.value=((t=c.value)==null?void 0:t.getStops(e))||[],T.value=ae().concat(((o=n.value)==null?void 0:o.stops)||[])}function oe(){var x,N,P;if((x=n.value)!=null&&x.overlays){S.value=n.value.overlays;return}const e=s()||14,t=((N=c.value)==null?void 0:N.getPolylines(e))||[],o=((P=c.value)==null?void 0:P.getBoundaryPolylines(e))||[],r=(C.value||[]).map(g=>{var y,I;return(I=(y=g.boundary)==null?void 0:y.polylines)==null?void 0:I.map(se=>new E(se.coords,{},void 0,g))}).reduce((g,y)=>g.concat(y),[])||[];S.value=t.concat(o).concat(r)}function ae(){var e;if((e=n.value)!=null&&e.stops)return[];{const t=s();return k.value.map(o=>{var r;return(r=o.platformCode)!=null&&r.length&&o.platformCode.length<4?new v(o,t<16?M.platformLabel:M.platformPoint):o.parentId&&t<18||o.isBus&&t<15||o.isFerry&&t<13||t<11?new v(o,M.pointMarker):new v(o,M.icon)}).sort((o,r)=>r.type-o.type)}}const ne=async e=>{e instanceof v&&(i.value=e),e instanceof v&&await Y(e.stop),e instanceof E&&await X(e.location)};let z;const ie=e=>{clearInterval(z);const t=p.currentRoute.value.fullPath;z=window.setTimeout(async()=>{var o;t.startsWith("/map")&&p.currentRoute.value.fullPath!==t||e&&((o=i.value)==null?void 0:o.id)===e.id&&(i.value=null,n.value=null,f(),$(),await _())},50)};async function B(e,t){var o;console.log(`> MapView: setSelectedAnnotation: [${(e==null?void 0:e.id)||"null"}] coordinateRegion: [${(t==null?void 0:t.toString())||"null"}]`),((o=i.value)==null?void 0:o.id)!==(e==null?void 0:e.id)&&(i.value=e),e||(n.value=null,f(),await _())}function D(e){const t=i.value;e?(d.value||(d.value=l.value),h.coordinateRegion=e):!e&&!t&&d.value&&$()}function $(){h.coordinateRegion=d.value,d.value=null}function re(e){console.log("> MapView: setMapViewDataLayer",e),n.value=e,f()}function le(){B(null),D(null)}return(e,t)=>{const o=Me("router-view");return q(),we(Te,{loading:!A.value},{map:w(()=>{var r;return[L(_e(Le),{ref_key:"mapContainer",ref:Z,class:"h-full w-full relative","access-token":A.value,"map-state":h,annotations:T.value,"selected-annotation":i.value,overlays:S.value,tiles:n.value?[]:(r=c.value)==null?void 0:r.tiles,onMap:J,onMapLoaded:H,onMapRegionChangeEnd:Q,onMapAnnotationSelect:ne,onMapAnnotationDeselect:ie},{default:w(()=>[i.value?Se("",!0):(q(),Ce("div",ze,[L(be,{class:"cursor-default backdrop-blur-md py-1 px-4 text-sm text-gray-600-d font-normal border border-black/10 bg-white/20 dark:bg-black/20"},{default:w(()=>t[0]||(t[0]=[W("template",null,[he("Select a location")],-1)])),_:1,__:[0]})]))]),_:1},8,["access-token","map-state","annotations","selected-annotation","overlays","tiles"])]}),panel:w(()=>[W("div",Be,[L(o,{tiles:c.value,"map-coordinate-region":l.value,"zoom-level":s(),"selected-annotation":i.value,locations:C.value,onSetSelectedAnnotation:B,onSetMapRegion:D,onSetMapViewDataLayer:re,onClose:le},null,8,["tiles","map-coordinate-region","zoom-level","selected-annotation","locations"])])]),_:1},8,["loading"])}}});export{xt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.