1import{j as d,d as ot,e as it,u as ct,c as Ve}from"./react-dom-CNxR51U1.js";import{u as Oe,e as lt,ae as ut,r as ft,p as dt,n as De,a2 as Mt,af as F,ag as gt,A as pt,ah as mt,ai as kt,o as Ue,G as ht,aj as bt,q as yt,ak as St,s as He,al as wt,am as Ge,an as xt,ao as Et,R as he,B as Lt}from"./assets/index-H5VUQj1Y.js";import{p as K,a6 as be,z as _,S as V,a7 as ye,a8 as v,X as O,a9 as Ct,o as z,aa as Rt,ab as Ze,g as ee,ac as It,y as jt,ad as H,ae as Wt,af as vt,m as Se,ag as At,ah as Pt,Y as we,c as Be,a5 as Tt,ai as Nt,aj as _t,L as xe}from"./swiper-CE4E_dHf.js";import{a as s}from"./posthog-js-CH4xgAFf.js";import{b as Vt,g as Ot}from"./index-DD1EC9O3.js";import{h as Ee,i as Le,U as Dt,l as Fe,c as x,m as Ke,L as I,S as W,j as Ut,M as Ht,B as te,e as Gt,u as Zt,b as Ce,a as Re,d as Bt,f as Ft,k as Kt,g as zt,n as Ie,o as je,p as $t}from"./map-factory-view-filled-mobile-BIi15pgH.js";import{g as We,b as ve,a as Ae}from"./star-DHiCVQzG.js";import{i as qt}from"./slot-C8VTw04f.js";import{a as Pe}from"./index-CA6m1t-o.js";import Yt from"./image-tile-DTAcoEa0.js";import{a as Te,U as Xt,I as ze,M as Qt}from"./leaflet.TileLayer.NoGap-CYwGNUBf.js";import{M as Jt,a as en,S as tn}from"./module-marker-mobile-embedded-C0p2MMws.js";import{u as nn}from"./utils-marker-bounds-B9Hln1KJ.js";const an=e=>K(e)&&!isNaN(e)?e:0,sn=e=>K(e)&&!isNaN(e)?e:1/0,rn=(e,t)=>{const a=t.find(l=>l>e),n=[...t].reverse().find(l=>l<=e),r=an(n),o=sn(a);return[r,o]},on=(e,t)=>{if(t=="trafficDots"&&e>=Te+1)return"trafficPins";if(t==="trafficPins"&&e<Te)return"trafficDots"};function cn({trafficCams:e,markers:t,zoomThemes:a}){const[n,r]=s.useState("trafficDots"),o=s.useRef(n);s.useEffect(()=>{o.current=n},[n]);const[l,f]=s.useState(Ee({markerTuple:Le({markers:t,zoomThemes:a}),sort:"asc"})),M=s.useRef(l),[i,c]=s.useState([0,1/0]),u=s.useRef(i);s.useEffect(()=>{M.current=l},[l]),s.useEffect(()=>{u.current=i},[i]);const g=s.useCallback(w=>{const k=Le({markers:w,zoomThemes:a}),h=Ee({markerTuple:k,sort:"asc"});f(y=>be(y,h)?y:h)},[a]),[p,S]=s.useState(!1),b=s.useCallback(w=>{let k=!1;const h=rn(w,M.current);be(u.current,h)||(k=!0,c(h));const y=on(w,o.current);e&&y&&r(y),k&&S(m=>!m)},[e]);return{zoomUpdate:p,setZoom:b,updateMarkerZoomLevels:g}}const ln=({modulePath:e,config:t})=>t.compact?d.jsx(Vt,{modulePath:e,config:{...t,isMap:!0}}):d.jsx(Yt,{modulePath:e,config:t});function un(e){const t=_(s.useContext(V)),a=Oe(),n=lt(u=>u.APP.overlayOpen),{hash:r}=ot(),[o]=Dt(),l=ut(),f=s.useRef(!1),[M,i]=s.useState(!1),c=s.useCallback((u,{resetHash:g=!0}={})=>{u?(a(ft()),e&&r&&o({replace:!0})):e&&n&&(a(dt()),g&&o({replace:!0})),i(u)},[a,r,n,e,o]);return s.useEffect(()=>{!f.current&&!t&&n&&l.includes("traffic-cameras")&&(f.current=!0,c(!0))},[l,n,t,c]),s.useEffect(()=>{n||i(!1)},[n]),s.useEffect(()=>{M&&t&&c(!1)},[t,c,M]),{showMobileMap:M,setShowMobileMap:c}}const fn=({destroyMap:e,drawMap:t})=>{const[a,n]=s.useState(ye.map);s.useEffect(()=>{a===ye.list?e(!0):t()},[a,e,t]);const r=s.useCallback(o=>{n(o)},[]);return[a,r]};function dn(e){const t=s.useContext(De),a=s.useRef(t),n=s.useRef();s.useEffect(()=>{a.current=t},[t]);const[r,o]=s.useState(),l=s.useRef(r);s.useEffect(()=>{l.current=r},[r]);const f=s.useCallback(async M=>{o(M)},[]);return s.useEffect(()=>{var c,u;const M=n.current;M&&M.clearLayers();const i=Fe.layerGroup();n.current=i,(u=(c=a.current)==null?void 0:c.getMap())==null||u.addLayer(i),Array.isArray(r)?r==null||r.forEach(g=>{var p,S;if(g){const b=g.addTo(i);(p=b.getElement())==null||p.setAttribute("data-type",x.CLUSTER),(S=b.getElement())==null||S.setAttribute("data-region",e)}}):r==null||r.addTo(n.current)},[r,e]),[f,r]}const ne=e=>{var t,a,n;if(v(e)){const r=O(e.subject);return r?{markerType:"".concat(r.type),markerRegion:r.key}:{markerType:"",markerRegion:""}}return(t=e.warnings)!=null&&t.type?{markerType:e.warnings.type,markerRegion:(n=(a=e.warnings.region)!=null?a:e.key)!=null?n:""}:{markerType:"",markerRegion:""}},$e=e=>{const t=e.reduce((r,o)=>{const l="".concat(o.url).concat(o.type).concat(o.key).concat(o.name);return r[l]=o,r},{}),a=Object.values(t);return Ct({arr:a,fn:r=>r.warnLevel})},Mn=({warnings:e,marker:t})=>{var n,r,o;const{markerRegion:a}=(n=ne(t))!=null?n:{};if(a){const l=(o=(r=Mt({key:a,type:F.HighSeas},e))==null?void 0:r.warnings)!=null?o:[],f=$e(l);if(v(t)){const M=O(t.subject);if(M){const i={...M,type:F.HighSeas,value:{highSeasWarnings:f}};return{...t,subject:[i]}}}else return{...t,generatedWarningsList:f}}return t},gn=({warnings:e,highSeasMarkers:t})=>t.map(n=>Mn({warnings:e,marker:n})),pn=({warnings:e,markers:t})=>t.map(n=>{var f,M;const{markerRegion:r}=(f=ne(n))!=null?f:{};let o=[];for(const i of Object.values(e)){const c=(M=i.warnings)!=null?M:[],u=gt(c,r);o=o.concat(u)}const l=$e(o);if(l.length){if(v(n)){const i=O(n.subject);if(i){const c={...i.value,warning:l},u={...i,value:c};return{...n,subject:[u]}}return n}else if(l.length)return{...n,generatedWarningsList:l}}return n});function mn({markers:e}){const t=Oe(),a=pt(o=>o.WEATHER_WARNINGS.warnings,mt),[n,r]=s.useState([]);return s.useEffect(()=>{const o=Date.now(),l=e.map(u=>{var b;const{markerType:g,markerRegion:p}=ne(u);
1if(v(u)?g===F.HighSeas:(b=u.warnings)==null?void 0:b.fetchMarkerWarnings)return t(kt({warningProps:{type:g,key:p},timestamp:o})),u}).filter(z),f=gn({warnings:a,highSeasMarkers:l}),M=l!=null&&l.length?e.filter(u=>!l.find(({label:g})=>g===u.label)):e,c=pn({warnings:a,markers:M}).concat(f);r(c)},[e,a,t]),[n]}const Ne="location",kn=({markersRef:e,setSelectedItemKey:t,setShowMobileMap:a,markersLength:n})=>{const r=_(s.useContext(V)),[o,l]=it(),{setMapSlot:f}=s.useContext(Ue),M=s.useCallback(()=>{o.delete(Ne),l(o),t(void 0)},[o,l,t]);return s.useEffect(()=>{const i=o.get(Ne);if(i){const c=Rt(i),u=e.current.find(c);if(r||a(!0),u){t(Ze(u));const g=Ke({marker:u,onModuleClose:M});f(g)}}},[n,o,r,t,a,f,M,l,e]),{clearSelected:M}},hn=({warningClick:e,onModuleClose:t,warnings:a})=>{const{warning:n,latlng:r}=e,o=a.filter(f=>n&&f&&ee([f])===ee([n])?!0:It(f).find(c=>jt(r,c)));return[{name:ht.WARNINGS_PANEL,key:ee(o),warnings:o,onModuleClose:t,showCloseText:!1,isCodeGenerated:"cg-msc"}]},bn=({warnings:e,selectedMarkerProps:t,onModuleClose:a})=>{if((t==null?void 0:t.type)===W.Marker)return Ke({marker:t.marker,onModuleClose:a});if((t==null?void 0:t.type)===W.Warning)return{mapSlotModules:hn({warningClick:t,onModuleClose:a,warnings:e})}},yn=({setSelectedItemKey:e,clearSelected:t,warningsRef:a})=>{const n=_(s.useContext(V)),r=ct(),{setMapSlot:o}=s.useContext(Ue),l=s.useCallback((c,u)=>{var p;e(c?H(c):void 0);const g=(c==null?void 0:c.type)==="marker"?(p=c.marker)==null?void 0:p.action:void 0;if(!u&&Wt(g))return r(g)},[r,e]),f=s.useCallback(c=>{if(n){const u=bn({warnings:a.current,selectedMarkerProps:c,onModuleClose:()=>{t(),f()}});u?o(u):o()}},[t,o,a,n]),M=s.useCallback((c,u)=>{switch(u.type){case I.Marker:{const g={type:W.Marker,marker:u.marker};f(g),l({type:"marker",marker:u.marker})}break;case I.OverlayMapMarker:{const g={type:W.Marker,marker:u.marker};f(g),l({type:"marker",marker:u.marker},!0)}break;case I.Warning:{const g={type:W.Warning,latlng:u.latlng,warning:u.warning};f(g),l({type:"warning",warning:u.warning})}break;case I.Map:case I.Polygon:{const g={type:W.Map};f(g),l(void 0)}break;case I.Polyline:{const g={type:W.Marker,marker:u.marker};f(g),l({type:"marker",marker:u.marker})}break;default:bt(u)}},[f,l]),i=s.useCallback(c=>{(c==null?void 0:c.type)===W.Marker&&(e(Ze(c.marker)),f())},[e,f]);return{updateClickEvent:M,updateMapSlot:f,updateSelectedAndMapSlot:i}},Sn=({markers:e,warnings:t,setShowMobileMap:a})=>{const[n,r]=s.useState(),o=s.useRef(e);s.useEffect(()=>{o.current=e.concat(e)},[e]);const l=s.useRef(t);s.useEffect(()=>{l.current=t},[t]);const f=s.useCallback(p=>{const S=o.current.map(k=>({type:"marker",marker:k})),b=l.current.map(k=>({type:"warning",warning:k})),w=S.concat(b).find(k=>H(k)===p);r(w)},[]),{clearSelected:M}=kn({markersRef:o,setSelectedItemKey:f,setShowMobileMap:a,markersLength:e.length+t.length}),{updateMapSlot:i,updateSelectedAndMapSlot:c,updateClickEvent:u}=yn({setSelectedItemKey:f,clearSelected:M,warningsRef:l});s.useEffect(()=>{const p=o.current.map(b=>({type:"marker",marker:b})),S=l.current.map(b=>({type:"warning",warning:b}));n&&p.concat(S).findIndex(b=>{if(n){const w=H(b),k=H(n);return w===k}return!1})===-1&&M()},[n,e,t,M]);const g=s.useCallback(()=>{M(),i()},[M,i]);return{selectedItem:n,updateClickEvent:u,updateSelectedAndMapSlot:c,clearAll:g}},wn="warning-type-",xn=(e,t,a)=>{const[n,r]=s.useState([]);return s.useEffect(()=>{if(e.length){const o=Ut(e),l=[F.HighSeas],f=o.concat(l);if(e.every(M=>M.selected))if(a==="warnings"){const M=t.map(i=>{var c,u;if(!v(i)){const g=((c=i==null?void 0:i.generatedWarningsList)!=null?c:[]).concat((u=i==null?void 0:i.filteredWarningsList)!=null?u:[]);return{...i,generatedWarningsList:g,filteredWarningsList:[]}}return i});r(M)}else r(t);else{const M=t.map(i=>{var u,g;const c=vt(i);if(a==="warnings"){if(v(i))return i;const p=((u=i==null?void 0:i.generatedWarningsList)!=null?u:[]).concat((g=i==null?void 0:i.filteredWarningsList)!=null?g:[]),S=[],b=p.map(k=>{const h="".concat(wn).concat(k.eventType);if(f.some(m=>h.indexOf(m)!==-1))return k;S.push(k)}).filter(z);return{...i,filteredWarningList:S,generatedWarningsList:b}}else return c.some(S=>f.indexOf(S)!==-1)?i:void 0}).filter(z);r(M)}}else r(t)},[e,t,a]),n},ae=({title:e,imageTile:t,keys:a,radioFilters:n,radioFilterLabel:r,radioFilterOrder:o,checkBoxFilterLabel:l,checkboxFilters:f,checkBoxFilterType:M,config:i,mapTopoLayer:c=Bt.DEFAULT,markers:u,polylines:g,overrideOptions:p,setShowMobileMap:S,markerTags:b,polyTags:w,zoomTags:k,urlCoordsOff:h})=>{var ge,pe;const y=_(s.useContext(V)),m=s.useContext(De),se=nn({markers:u,mapViewBounds:i.imageBounds,maxZoom:i==null?void 0:i.maxZoom,deprecatedMapView:i==null?void 0:i.deprecatedMapView}
1),{setRef:Xe,mapMounted:$,drawMap:Qe,destroyMap:Je}=Ht({mapTopoLayer:c,config:i,polylines:g,gestureHandling:!0,showGridLines:i.showGridLines,mapProjection:se,urlCoordsOff:h}),{set:re}=te(x.REGIONS_MAP,"main-region",m==null?void 0:m.getMap()),{set:oe,addSelected:ie,clearSelected:q}=te(x.MARKERS_MAP,"main-markers",m==null?void 0:m.getMap()),{set:ce}=te(x.POLYLINES_MAP,"main-polyline",m==null?void 0:m.getMap()),[le]=dn("main-cluster"),[Y]=mn({markers:u}),[X,ue]=Gt({checkboxFilterProps:f,localStorageOff:h}),E=xn(X,Y,M),A=Xt(i.overlayWarningsOnMap);s.useEffect(()=>{Se.trace("Markers to display ".concat(E.length),["markers",u],["checkboxFilteredMarkers",Y],["finalMarkers",E])},[E,u,Y]);const[et,tt]=fn({destroyMap:Je,drawMap:Qe}),{selectedItem:C,updateClickEvent:G,updateSelectedAndMapSlot:nt,clearAll:T}=Sn({markers:E,warnings:A,setShowMobileMap:S}),[N,fe]=Zt({localStorageOff:h,radioFilterOrder:o,radioFilters:n,cb:T}),{zoomUpdate:de,setZoom:Q,updateMarkerZoomLevels:Me}=cn({markers:E,trafficCams:(ge=p==null?void 0:p.isTrafficCams)!=null?ge:!1,zoomThemes:k});s.useEffect(()=>{if($){const L=m==null?void 0:m.getMap();if(L){Q(L.getZoom()),L.on("zoomend",()=>{Q(L.getZoom())}),L.on("click",j=>{G(j,{type:I.Map})});const R=m==null?void 0:m.getLib();R&&i.showGridLines&&R.showGraticule(!0)}else Se.info("[MH] Unable to find mounted map")}},[$,G,i.showGridLines,m,T,Q]),s.useEffect(()=>{Me(E)},[E,Me]),s.useEffect(()=>{var D;const L=m==null?void 0:m.getMap(),R=G,j=m==null?void 0:m.getLib();if(L&&j){const Z={map:L,markers:E,warnings:A,isLarge:y,radioActiveFilter:N,selected:void 0,onClick:R,leafletLib:j,markerTags:b,polyTags:w,zoomTags:k},U=((D=p==null?void 0:p.buildMarkersOverride)!=null?D:Ce)(Z),B=Re({warnings:A,leafletLib:j,onClick:R}),P={...U,[x.REGIONS_MAP]:U[x.REGIONS_MAP].concat(B)};if(oe(P[x.MARKERS_MAP]),re(P[x.REGIONS_MAP]),ce(P[x.POLYLINES_MAP]),x.CLUSTER in P){const J=P.lMarkerClusterGroup;le(J)}}},[y,de,i,E,A,u,N,oe,se,m,$,p==null?void 0:p.buildMarkersOverride,le,ce,re,G,b,w,k,T]),s.useEffect(()=>{var j,D;const L=m==null?void 0:m.getMap(),R=m==null?void 0:m.getLib();if(L&&R){const Z=C?H(C):"";if(Z&&C){const U=T,B=C.type==="marker"?[C.marker]:[],P=C.type==="warning"?[C.warning]:[],J={map:L,markers:B,warnings:P,isLarge:y,radioActiveFilter:N,selected:B[0],onClick:U,leafletLib:R,markerTags:b,polyTags:w,zoomTags:k},me=((j=p==null?void 0:p.buildMarkersOverride)!=null?j:Ce)(J),st=Re({warnings:A,leafletLib:R,onClick:U}),rt={...me,[x.REGIONS_MAP]:me[x.REGIONS_MAP].concat(st)},ke=(D=O(rt[x.MARKERS_MAP]))==null?void 0:D.leafletItem;if(ke){q(),ie({key:Z,leafletItem:ke});return}}q()}},[de,C,E,A,ie,q,y,N,p==null?void 0:p.buildMarkersOverride,m,T,b,k,w]);const at=s.useMemo(()=>({keys:a,checkboxFilters:X,checkboxFilterOnClick:ue,checkBoxFilterLabel:l,radioActiveFilter:N,radioFilters:n,radioFilterLabel:r,radioFilterOnClick:fe,isRight:!0}),[a,X,ue,l,N,n,r,fe]);return{selectedItem:C,filteredMarkers:E,warnings:A,mobileView:et,setMobileView:tt,updateSelectedAndMapSlot:nt,clearAll:T,title:(pe=e!=null?e:t==null?void 0:t.title)!=null?pe
1:ze.title,setRef:Xe,legendProps:at}},En=({selectedItems:e=[],deselectMarker:t,setIsMarkerPanelVisible:a,isMarkerPanelVisibleRef:n,mapViewPortRef:r})=>{const o=O(e);return(o==null?void 0:o.type)==="warning"||(o==null?void 0:o.type)==="marker"&&At(o.marker.action)?d.jsx(Ln,{item:o,deselectMarker:t,setIsMarkerPanelVisible:a,isMarkerPanelVisibleRef:n,mapViewPortRef:r}):null},Ln=s.memo(Jt),_e={width:"100%",height:Qt},Cn=({setRef:e,deselectMarker:t,selectedItems:a,legendProps:n})=>{const o=!!(n.keys||n.checkboxFilters),l=s.useRef(null),[f,M]=s.useState(!1),i=s.useRef(f);return s.useEffect(()=>{M(a.length>0)},[a]),s.useEffect(()=>{i.current=f},[f]),d.jsxs("div",{"data-comp":"map-main-embedded-c",style:{position:"relative"},className:"map-embedded",ref:l,children:[d.jsx(En,{selectedItems:a,deselectMarker:t,setIsMarkerPanelVisible:M,isMarkerPanelVisibleRef:i,mapViewPortRef:l}),d.jsx("div",{className:"u-mT-xs u-posAbs",style:_e,children:d.jsx("div",{className:"map-controls ZoomControl--AbsolutePosition ZoomControl--right",children:d.jsx(yt,{hasReset:!0,children:o&&d.jsx(St,{...n})})})}),d.jsx("figure",{className:"ImageScrubber-figure",style:_e,children:d.jsx("div",{className:"ImageScrubber-figure-overlay",children:d.jsxs("div",{className:"Map",children:[!1,d.jsx("div",{id:"map_canvas","data-chromatic":"ignore",ref:e})]})})})]})},Rn=e=>{const{setRef:t,selectedItem:a,legendProps:n,clearAll:r}=ae(e);return s.useMemo(()=>d.jsx(en,{children:d.jsx(Cn,{setRef:t,selectedItems:a?[a]:[],legendProps:n,deselectMarker:r})}),[t,a,n,r])},In=e=>{const{setRef:t,legendProps:a}=ae(e);return d.jsx(Ft,{setRef:t,legendProps:a})},jn=e=>{const{setRef:t,legendProps:a,selectedItem:n,filteredMarkers:r,warnings:o,mobileView:l,title:f,setMobileView:M,clearAll:i,updateSelectedAndMapSlot:c}=ae(e);return s.useMemo(()=>{var g;return d.jsxs(tn,{value:{isExpandedMap:e.showTilePreview,onSamePageHashLink:()=>e.setShowMobileMap(!1,{resetHash:!1})},children:[d.jsx(Pt,{selectedItem:n,markers:r,warnings:o,showMobileMap:!0,mobileView:l,deselectMarker:i,setMobileMarkerDesc:(g=e.injectMobileMarkerDesc)!=null?g:Kt,classes:"u-posFixed"}),d.jsx(zt,{title:f,onClose:()=>e.setShowMobileMap(!1),setSelectedMarker:c,selected:l,setMobileViewCB:M,markers:r,fullScreen:e.showTilePreview,setRef:t,legendProps:a})]})},[n,r,o,l,i,e,c,M,t,a,f])},qe=e=>d.jsx("div",{className:"".concat(He.MAIN," h-full"),children:d.jsx(vn,{...e})}),Wn=!1,vn=e=>{var a,n,r;return _(s.useContext(V))?d.jsx(In,{...e,setShowMobileMap:we}):(a=e.config)!=null&&a.embedMobileMap||(r=(n=e.config)==null?void 0:n.mobile)!=null&&r.embedMobileMap||Wn?d.jsx(Rn,{...e,setShowMobileMap:we}):d.jsx(An,{...e})},An=e=>{const{showMobileMap:t,setShowMobileMap:a}=un(e.showTilePreview),n=s.useMemo(()=>d.jsx(jn,{...e,setShowMobileMap:a}),[e,a]);return t?n:d.jsx(ln,{config:{name:"image-tile",...ze,...e.imageTile,action:()=>{a(!0)}},modulePath:Be.MAP_SLOT_DYNAMIC})},Pn=({icon:e})=>d.jsxs(d.Fragment,{children:[e&&d.jsx("div",{"data-comp":"mc-c",className:"Map-pin-content-icon",children:e&&d.jsx(Tt,{icon:e})}),d.jsx("div",{className:"Map-pin-content-shape",children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 42 54",children:d.jsx("path",{className:"Map-pin-content-shape-fill",d:wt,fill:"#909AB5",fillRule:"nonzero",stroke:"#FFF",strokeWidth:"2"})})})]}),Tn=e=>{var t;if(e.type===Ge.Incident){const n=e.value.severity.impact.toLowerCase();return(t=xt[n])==null?void 0:t.className}},Nn=({subject:e,selected:t,dots:a})=>{const n=!a&&e.type===Ge.Incident?"warning-general-tri":void 0,r=Tn(e),o=Ve("Map-pin",r,{"Map-pin--dots":a},{"is-selected":t});return d.jsx("div",{"data-module":"map-pin-in",className:o,children:d.jsx("button",{className:"Map-pin-content button","data-popover":Fe.tooltip,children:d.jsx(Pn,{icon:n})})})},_n=e=>({map:t,markers:a,selected:n,onClick:r,leafletLib:o,markerTags:l,zoomTags:f})=>{const M=a.map((c,u)=>{const g=Nt(c,n);if(v(c)){const{point:p,subject:S}=c,b=O(S),w=We({leafletLib:o,html:d.jsx(Nn,{subject:b,selected:g})}),k=Ie({marker:c,fallback:"traffic-marker"}),h=ve({zOffset:je({marker:c}),selected:g}),y=Ae({leafletLib:o,latLng:p,icon:w,onClick:m=>{r(m,{type:I.OverlayMapMarker,marker:c}),c.point&&t.setView(c.point,t.getZoom()),e(u),m.originalEvent.stopPropagation()},zIndexOffset:h});if(y)return{key:k,leafletItem:y}}else{const p=$t({zoom:t.getZoom(),marker:c,zoomTags:f});if(p){const b=We({leafletLib:o,html:d.jsx(Et,{marker:c,markerDisplaySize:p,selected:g,markerThemes:l})}),w=Ie({marker:c,fallback:"traffic-marker"}),k=ve({zOffset:je({marker:c}),selected:g}),h=Ae({leafletLib:o,latLng:c.position.point,icon:b,onClick:y=>{r(y,{type:I.OverlayMapMarker,marker:c}),e(g?void 0:u),y.originalEvent.stopPropagation()},title:_t.viewport({isLarge:!0,marker:c}),zIndexOffset:k});if(h)return{key:w,leafletItem:h}}}}).filter(z);return{[x.MARKERS_MAP]:M,[x.POLYLINES_MAP]:[],[x.REGIONS_MAP]:[]}},Vn=({value:e,link:t,key:a,attribution:n,handleExpand:r,expandImage:o})=>{const{description:l,image:f,cantExpand:M}=e;return r&&!M?d.jsxs(qt,{dataModule:"traffic-camera-overlay-slot",config:{name:"slot"},modulePath:Be.MAP_SLOT_DYNAMIC,classes:"Tile-body--noPadding",children:[d.jsx(Pe,{title:l,image:f,action:r,icon:o?"collapse":"expand",ratio:"16:9"}),d.jsx(he,{attribution:n}
1),t&&d.jsx(xe,{href:t.url,className:"CameraLink u-pB-xs u-flexJustifyCenter u-linkClean",children:t.label})]},a):d.jsxs("div",{className:"Tile",children:[d.jsx(Pe,{title:l,image:f,ratio:"16:9"}),d.jsx(he,{attribution:n}),t&&d.jsx(xe,{href:t.url,className:"CameraLink",children:t.label})]})},Ye=({marker:e,handleExpand:t,expandImage:a})=>{var n;return!v(e)&&typeof e.action!="string"?s.createElement(Vn,{...(n=e.action)==null?void 0:n.modules[0],key:"traffic-camera-overlay-slot",handleExpand:t,expandImage:a}):null},On=({item:e})=>{if(e.type==="marker")return d.jsx("div",{className:"Slot","data-comp":"traffic-slot",children:d.jsx(Ye,{marker:e.marker})})},Dn=({config:e})=>{const{markers:t,settings:a,markerTags:n,zoomTags:r}=e,o=_(s.useContext(V)),[l,f]=s.useState(),[M,i]=s.useState(!1),[c,u]=s.useState(),g=s.useCallback(()=>{i(h=>!h)},[]),p=s.useCallback(({mapSlotModules:h}={})=>{h!=null&&h.length||f(void 0)},[]),S=s.useMemo(()=>{const h={buildMarkersOverride:_n(f),isTrafficCams:!0};return{setMapSlot:p,showTilePreview:!1,overrideOptions:h,slidesPerView:1}},[p]),b=s.useCallback(h=>{f(y=>K(y)?(h.stopPropagation(),h.preventDefault(),Ot({key:h.key,currentIndex:y,totalImages:t.length})):y)},[t.length]);s.useEffect(()=>{u({config:{...e,...a},keys:[],checkboxFilters:[],markers:t,markerTags:n,zoomTags:r})},[t,e,a,n,r]);const k=K(l)?t[l]:void 0;return c?d.jsx("div",{className:Ve("TrafficCamera",{"has-expanded-image":M}),onKeyDown:b,children:d.jsxs("div",{className:"TrafficCamera-map ".concat(He.MAIN_TRAFFIC),children:[k&&o&&d.jsx("div",{className:"TrafficCamera-details",children:d.jsx(Ye,{marker:k,handleExpand:g,expandImage:M})}),d.jsx(qe,{...c,...S,injectMobileMarkerDesc:On})]})}):null},Un=e=>d.jsx(Lt,{children:d.jsx(Dn,{...e})}),ea=Object.freeze(Object.defineProperty({__proto__:null,default:Un},Symbol.toStringTag,{value:"Module"})),ta=Object.freeze(Object.defineProperty({__proto__:null,default:qe},Symbol.toStringTag,{value:"Module"}));export{ta as m,ea as t}; 2//# sourceMappingURL=map-main-CLMPeMVi.js.map
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.