@geops/rvf-mobility-web-component 0.1.89 → 0.1.90
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/CHANGELOG.md +7 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/src/RvfMapLayout/RvfMapLayout.tsx +41 -40
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.1.90](https://github.com/geops/rvf-mobility-web-component/compare/v0.1.89...v0.1.90) (2025-11-20)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* hide overlay when it is not open ([3f9e8f2](https://github.com/geops/rvf-mobility-web-component/commit/3f9e8f2e3f7b9632152b924d860f4c5387fb51ee))
|
|
11
|
+
|
|
5
12
|
### [0.1.89](https://github.com/geops/rvf-mobility-web-component/compare/v0.1.88...v0.1.89) (2025-11-20)
|
|
6
13
|
|
|
7
14
|
|
package/index.js
CHANGED
|
@@ -1547,7 +1547,7 @@ ${String(r)}`)}catch(t){return t}},jX=r=>{if(typeof r!="object"||r===null)throw
|
|
|
1547
1547
|
left: unset;
|
|
1548
1548
|
bottom: unset;
|
|
1549
1549
|
background:unset;
|
|
1550
|
-
}`;function rC1({options:r,...t}){let{map:e}=Ct(),[i,o]=pt(),n=It(()=>i?new gN({target:i,...r}):null,[r,i]);return G2(()=>{if(!(!e||!n))return e.addControl(n),()=>{e&&n&&e.removeControl(n)}},[e,n]),j("div",{ref:l=>{o(l)},...t,children:j("style",{children:MY})})}var SP=rC1;function iC1({...r}){let{isSearchOpen:t,setIsSearchOpen:e}=Ct(),{t:i}=er(),o=or(()=>{e(!t)},[t,e]);return j(p0,{title:i("search_menu_title"),...r,onClick:o,selected:t,children:j(Jc,{})})}var EP=et(iC1);function nC1({...r}){return j("svg",{fill:"none",height:24,stroke:"currentColor",strokeWidth:1.5,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z",strokeLinecap:"round",strokeLinejoin:"round"})})}var TP=nC1;function oC1({...r}){let{isShareMenuOpen:t,setIsShareMenuOpen:e}=Ct(),{t:i}=er(),o=or(()=>{e(!t)},[t,e]);return j(p0,{title:i("share_menu_title"),...r,onClick:o,selected:t,children:j(TP,{})})}var IP=et(oC1);function aC1(r){let{baseLayer:t,map:e,setStationsLayer:i}=Ct(),o=It(()=>t?new O0({layersFilter:({metadata:n})=>n?.["tralis.variable"]==="station"||n?.["general.filter"]==="stations"||n?.["geops.filter"]==="netzplan_stops",maplibreLayer:t,name:Zg,...r||{}}):null,[t,r]);return G2(()=>{if(!(!e||!o))return e.addLayer(o),i(o),()=>{e.removeLayer(o)}},[e,i,o]),null}var BY=et(aC1);var sC1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations",minZoom:10});function lC1(r){return j(BY,{...sC1,...r})}var PA=et(lC1);function cC1(r){return j("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z"})})}var FP=cC1;function uC1(r){return j("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z"})})}var PP=uC1;function hC1(){let{map:r}=Ct(),[t,e]=pt(!1),[i,o]=pt(!1),{t:n}=er(),l=or(()=>{if(!r?.getView())return;let d=r.getView(),p=d.getZoom();d.setZoom(p+1)},[r]),h=or(()=>{if(!r?.getView())return;let d=r.getView(),p=d.getZoom();d.setZoom(p-1)},[r]);return G2(()=>{let d=r?.on("moveend",()=>{let p=r.getView(),C=p.getZoom(),M=p.getMaxZoom(),S=p.getMinZoom();M&&C===Number(M)?e(!0):e(!1),S&&C===Number(S)?o(!0):o(!1)});return()=>{tr(d)}},[r]),j(Xe,{children:[j(p0,{disabled:t,onClick:l,title:n("zoomin"),children:j(PP,{})}),j(p0,{disabled:i,onClick:h,title:n("zoomout"),children:j(FP,{})})]})}var RP=et(hC1);var SY={style:{width:"calc(100% - 60px)"}},AC1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations"});function dC1({className:r,...t}){let{hasDetails:e,hasGeolocation:i,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:h,hasShare:d,hasToolbar:p,isEmbed:C,isOverlayOpen:M,isSearchOpen:S,mainlink:y}=Ct();return j("div",{className:oe("relative flex size-full flex-col text-base @lg/main:flex-row-reverse",r),...t,children:[j(yP,{}),j(PA,{minZoom:10,...AC1}),j(BP,{}),j(_P,{}),j(vP,{}),j(MP,{}),j(XB,{className:"relative flex-1 overflow-visible",children:[C&&j(VB,{}),y&&j(gP,{className:"absolute inset-x-2 bottom-8 z-10"}),j("div",{className:"pointer-events-none absolute inset-x-2 bottom-2 z-10 flex items-end justify-between gap-2 text-[10px]",children:[j(SP,{className:"bg-slate-50/70"}),j(Kg,{className:"pointer-events-auto bg-slate-50/70"})]}),j("div",{className:"absolute top-2 right-2 z-10 flex",children:i&&j(Wg,{title:"Geolokalisierung"})}),j("div",{className:"absolute right-2 bottom-10 z-10 flex flex-col justify-between gap-2",children:j(RP,{})}),!p&&h&&j("div",{className:oe("absolute top-2 right-2 left-2 z-10 max-w-96",M&&"@lg:left-68"),children:j(tu,{})})]}),j("div",{className:"pointer-events-none absolute top-2 bottom-2 left-2 z-10 flex flex-col gap-2",children:[p&&j("div",{className:"pointer-events-none relative z-10 w-fit rounded-2xl bg-black/10 p-0 backdrop-blur-sm *:pointer-events-auto",children:[h&&j("div",{className:oe("absolute top-12 left-0 w-0 p-0 opacity-0 transition-all @sm:top-0 @sm:left-[calc(100%-43px)] @md:left-[calc(100%-47px)]",S?"w-64 opacity-100":""),children:j(tu,{className:"border-grey @container m-0 h-[40px] rounded-2xl border p-2 px-4 text-base @sm/main:h-[44px] @sm/main:rounded-l-none @sm/main:rounded-r-2xl @md/main:h-[48px]",inputClassName:"h-6 text-base",inputContainerClassName:"border-none",resultClassName:"text-base **:hover:cursor-pointer hover:text-red-500 p-2",resultsContainerClassName:"@container rounded-b-2xl max-h-[200px] overflow-y-auto border border-grey border-t-0 ",withResultsClassName:"text-base !rounded-b-none"})}),j("div",{className:oe("border-grey relative flex gap-[1px] overflow-hidden rounded-2xl border @sm/main:h-[44px] @md/main:h-[48px]","*:size-[38px] *:rounded-none *:border-none *:@sm/main:size-[42px] *:@md/main:!size-[46px]","*:first:!rounded-l-2xl","*:last:!rounded-r-2xl",S?"@sm:rounded-r-none @sm:border-r-0 @sm:*:last:!rounded-r-none @sm:*:last:border-r-0":""),children:[o&&j($B,{}),n&&j(jB,{}),d&&j(IP,{}),h&&j(EP,{})]})]}),j("div",{className:oe("pointer-events-none flex w-0 flex-1 flex-col overflow-hidden rounded-2xl",M?"@lg:min-w-[320px]":"p-0"),style:{containerType:"normal"},children:j(Xg,{className:"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex",ScrollableHandlerProps:SY,children:j(i_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:!1,hasShare:d})})})]}),j(Xg,{className:M?"absolute bottom-0 z-20 flex max-h-[70%] min-h-[75px] w-full flex-col border-t bg-white @lg:hidden":"@lg:hidden",ScrollableHandlerProps:SY,children:j(i_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:!1,hasShare:d})})]})}var l_=et(dC1);var fC1=(r,t)=>{let e=t?.getView()?.getZoom(),i=r.get("minZoom"),o=r.get("maxZoom");return i>e||e>o};function pC1(r){let{apikey:t,baseLayer:e,map:i,mapsetplanid:o,mapsettags:n,mapsettenants:l,mapsettimestamp:h,mapseturl:d,setMapsetLayer:p}=Ct(),C=It(()=>!e||!i?null:new aB({apiKey:t,name:Ug,planId:o??void 0,tags:n?.split(",").map(M=>M.trim()),tenants:l?.split(",").map(M=>M.trim()),timestamp:h,url:d,...r||{}}),[e,i,t,d,o,n,l,h,r]);return G2(()=>{p?.(C)},[C,p,i]),G2(()=>{if(!(!i||!C))return i.addLayer(C),()=>{i.removeLayer(C)}},[i,C]),G2(()=>{let M=null;return C&&(M=C.on("updatefeatures",()=>{let S=C.getSource()?.getFeatures();S?.length&&S.forEach(y=>{let O=y.getStyleFunction();O&&y.setStyle((Q,H)=>fC1(Q,C.getMapInternal())?null:O(y,H))})})),()=>{tr(M)}},[C]),null}var zP=et(pC1);function LC1(r){let{apikey:t,baseLayer:e,linesNetworkPlanLayer:i,map:o,notificationat:n,notificationtenant:l,notificationurl:h,previewNotifications:d,setNotificationsLayer:p}=Ct(),[C,M]=pt(!!i?.getVisible()),S=It(()=>{if(!e)return null;let y=new uB({apiKey:t,apiParameters:{contentMedium:!0,isEdited:!0,publicNow:!0},maplibreLayer:e,name:Ng,publicAt:n?new Date(n):void 0,situations:d,tenant:l,url:h,...r||{},loadAll:!d});return d&&!y.getVisible()&&y.setVisible(!0),y},[e,t,n,d,l,h,r]);return G2(()=>{p?.(S)},[S,p]),G2(()=>{if(!(!o||!S))return o.addLayer(S),()=>{o.removeLayer(S)}},[o,S]),G2(()=>{let y=i?.on("change:visible",()=>{let O=i.getVisible();M(O)});return M(i?.getVisible()||!1),()=>{tr(y)}},[i]),G2(()=>{if(!S)return;let y=S.getVisible();return y&&S.setVisible(!1),C?S.layersFilter=O=>O.metadata?.["general.filter"]==="moco.lnp":S.layersFilter=O=>O.metadata?.["general.filter"]==="moco",S.setVisible(y),()=>{S.applyLayoutVisibility()}},[C,S,i]),null}var DP=et(LC1);var TY=d3(W4(),1);var CC1=(r,t=new URLSearchParams)=>{let e=r.getView().getZoom(),[i,o]=r.getView().getCenter()||[],n=P4(r.getLayers().getArray()).filter(l=>l.get("name")&&l.getVisible()).map(l=>l.get("name"));return t.set("layers",n.join(",")),i>=0&&t.set("x",i.toFixed(2)),o>=0&&t.set("y",o.toFixed(2)),e>=0&&t.set("z",e.toFixed(1)),t},EY=CC1;var gC1=({replaceState:r=!1})=>{let{map:t,setPermalinkUrlSearchParams:e}=Ct(),i=FA(),o=or(n=>{if(t.get(Yo))return;let l=new URLSearchParams(window.location.search),h=EY(n,l);e(h)},[t,e]);return G2(()=>{r&&i&&i!==window.location.href&&!i.includes(encodeURIComponent("{{"))&&window.history.replaceState(null,null,i)},[t,i,r]),G2(()=>{let n,l,h,d=(0,TY.default)(o,1e3);return t&&(d(t),n=t?.on("moveend",p=>{d(p.map)}),l=t.once("loadend",p=>{d(p.map),h=P4(p.map.getLayers().getArray()).map(C=>C.on("change:visible",()=>{d(p.map)}))})),()=>{tr(n),tr(l),tr(h)}},[t,o]),null},kP=et(gC1);var mC1=async(r,t,e=0,i=!0)=>{if(!r)return Promise.reject(new Error("No vehicle provided"));let{geometry:o,properties:{coordinate:n}}=r,l=t.getView(),h=e||l.getZoom(),d=h>0?l.getResolutionForZoom(h):void 0,p=n?[...n]:null;if(!p&&o){let{coord:M}=Xd(Date.now(),r,!0);p=M?[...M]:null}return p?(i&&(p[0]-=320/2*d),l.cancelAnimations(),new Promise(M=>{l.animate({center:p,duration:1e3,easing:qC,resolution:d},S=>{M(S)})})):Promise.reject(new Error("No center found"))},OP=mC1;var vC1=(r,t,e,i,o)=>i?o?"#dc2626":"#a0a0a0":e===null?"transparent":cL(e,o),IY=vC1;var yC1=(r,t,e,i=!1)=>{if(i)return String.fromCodePoint(215);let o=uL(e);return o==="0"?"":`+${o}`},FY=yC1;var PY=16,_C1=!0,xC1=new f0;function wC1(r){let{apikey:t,baseLayer:e,isFollowing:i,isTracking:o,linesNetworkPlanLayer:n,map:l,mots:h,realtimebboxparameters:d,realtimeurl:p,setIsFollowing:C,setIsTracking:M,setRealtimeLayer:S,tenant:y,trainId:O}=Ct(),[Q,H]=pt([]),[G,t1]=pt(!1),e1=It(()=>!t||!p?null:new gB({apiKey:t,bboxParameters:d?.split(" ").reduce((g1,b1)=>{if(!b1)return g1;let[T1,x1]=b1.split("=");return g1[T1]=x1,g1},{}),getMotsByZoom:h?()=>h.split(","):void 0,isQueryable:!0,minZoom:5,name:Og,tenant:y,url:p,zIndex:1,...r,styleOptions:{getColor:_A,getDelayColor:IY,getDelayText:FY,getText:Ty,getTextColor:Sy,getTextFont:Ey,...r?.styleOptions||{}}}),[t,p,d,h,y,r]);return G2(()=>{if(!(!l||!e1))return l.getView()?.getCenter()?l.addLayer(e1):l.once("moveend",()=>{l.addLayer(e1)}),S(e1),()=>{l.removeLayer(e1),S(null)}},[l,S,e1]),G2(()=>{O||C(!1)},[O,C]),G2(()=>{let J=[];return o&&C(!1),()=>{tr(J)}},[o,C]),G2(()=>{if(!l)return;let J=null;return J=l.getView().on("change:center",g1=>{g1.target.getInteracting()&&(C(!1),M(!1))}),()=>{tr(J)}},[l,C,M]),G2(()=>{let J=null;return e1&&(e1.engine.useThrottle=!i,e1.engine.isUpdateBboxOnMoveEnd=!i,e1.allowRenderWhenAnimating=!!i),!i||!O||!l||!e1?void 0:(M(!1),(async b1=>{let T1=b1&&e1?.trajectories?.[b1];if(!T1){T1=(await e1.api.getTrajectory(O,e1.mode))?.content;let D1=await e1.api.getFullTrajectory(O,e1.mode,void 0);if(D1?.content)try{let a1=xC1.readFeatures(D1.content),w1=new V4({features:a1}).getExtent();e1.api.bbox=[...w1,...e1.api.bbox.slice(4)]}catch(a1){console.warn("Error parsing full trajectory feature:",a1,D1?.content)}}await OP(T1,l,PY)===!0&&(J=setInterval(()=>{OP(e1?.trajectories?.[O],l,PY)},1e3))})(O),()=>{clearInterval(J)})},[i,l,e1,O,M]),G2(()=>{if(!(!O||!e1?.api))return e1.selectedVehicleId=O,e1.highlightTrajectory(O).catch(J=>{console.error("Error highlighting trajectory:",J)}),()=>{e1?.selectedVehicleId&&(e1.api?.unsubscribeFullTrajectory(e1.selectedVehicleId),e1.selectedVehicleId=null,e1.vectorLayer.getSource().clear())}},[O,e1,e1?.api]),G2(()=>{if(!l||!e)return;let J=l.once("rendercomplete",()=>{let g1=e.mapLibreMap?.getStyle()?.metadata,b1=[];for(let T1=0;T1<26;T1++)b1.push(Bh(T1,g1?.graphs));H(b1)});return()=>{tr(J)}},[l,e,e1]),G2(()=>{let J=n?.on("change:visible",()=>{let g1=n.getVisible();t1(g1)});return t1(n?.getVisible()||!1),()=>{tr(J)}},[n]),G2(()=>{!e1||!Q?.length||(_C1&&G?e1.engine.graphByZoom=Q:e1.engine.graphByZoom=[],e1.engine.setBbox())},[G,e1,Q,n]),null}var RY=et(wC1);var bC1=new q3({image:new o7({fill:new k6({color:"#000000"}),radius:5}),stroke:new wi({color:"#000000",width:6}),zIndex:2}),MC1=r=>{let t="#ffffff",e=r.get("type"),i=r.get("stroke");return i&&i[0]!=="#"&&(i=`#${i}`),t=i||yA(e,{name:r.get("line_name")}),t=/#ffffff/i.test(t)?"#ff0000":t,[bC1,new q3({image:new o7({fill:new k6({color:t}),radius:4}),stroke:new wi({color:t,width:4}),zIndex:3})]},zY=MC1;var BC1={0:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],1:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],2:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15],3:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],4:[0,0,0,0,0,2,2,2,2,2,2,3,3,6,7,12,15],5:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],6:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],7:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],8:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],9:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15]},SC1=BC1,DY=(r=0,t=0,e=!1)=>{let i=Math.min(Math.floor(t||1),16);try{let o=O7.getTypeIndex(r);return SC1[o][i]*(e?2:1)}catch{return 1}};var kY='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 42 42" width="42" height="42">%0A <path id="Pfad_1" data-name="Pfad 1" d="M40,20A20,20,0,1,1,20,0,20,20,0,0,1,40,20Z" transform="translate(0 0)" fill="%23353535"/>%0A <path id="Pfad_2" data-name="Pfad 2" d="M25.481,11.843a9.993,9.993,0,0,0-10,9.992c0,7.773,10,14.8,10,14.8s9.992-7.5,9.992-14.8a9.991,9.991,0,0,0-9.992-9.992m0,14.662a4.924,4.924,0,1,1,4.924-4.924A4.93,4.93,0,0,1,25.482,26.5" transform="translate(-5.477 -4.19)" fill="%23fff"/>%0A <path id="Pfad_3" data-name="Pfad 3" d="M12.015,8.124,38.081,34.031,35.4,36.536,9.06,10.527Z" transform="translate(-3.206 -2.874)" fill="%23ec0016"/>%0A <path id="Pfad_4" data-name="Pfad 4" d="M20,3.231A16.769,16.769,0,1,1,3.231,20,16.788,16.788,0,0,1,20,3.231M20,0A20,20,0,1,0,40,20,20,20,0,0,0,20,0" transform="translate(0 0)" fill="%23353535"/>%0A</svg>%0A';var ZP={},OY=new Image(42,42);OY.src=kY;var TC1=(r,t)=>{let e=16;r>e&&(e=22);let i=`${e},${t}`;if(!ZP[i]){let o=C8(e*t,e*t),n=o.getContext("2d");if(!n)return null;n.drawImage(OY,0,0,e*t,e*t),ZP[i]=o}return ZP[i]},NP={},IC1=(r,t,e)=>{let i=`${r}, ${t}, ${e}`;if(!NP[i]){let o=C8(r*2,r*2);if(o){let n=o.getContext("2d");if(!n)return null;n.beginPath(),n.arc(r,r,t,0,2*Math.PI,!1),n.fillStyle=e,n.filter="blur(1px)",n.fill(),NP[i]=o}}return NP[i]},UP={},FC1=(r,t,e,i,o="#000",n=1)=>{let l=`${r}, ${e}, ${i}, ${o}, ${n}`;if(!UP[l]){let h=C8(Math.ceil(r.length*t),Math.ceil(t+8*n));if(h){let d=h.getContext("2d");if(!d)return null;d.font=e,d.textAlign="left",d.textBaseline="middle",d.font=e,d.fillStyle=i,d.strokeStyle=o,d.lineWidth=1.5*n,d.strokeText(r,0,t),d.fillText(r,0,t),UP[l]=h}}return UP[l]},QP={},PC1=(r,t,e,i,o,n)=>{let l=`${r}, ${t}, ${e}, ${i}, ${o}, ${n}`;if(!QP[l]){let h=C8(r*2,r*2);if(h){let d=h.getContext("2d");if(!d)return null;d.fillStyle=e,i&&(d.lineWidth=1*n,d.strokeStyle="#000000"),d.beginPath(),d.arc(r,r,t,0,2*Math.PI,!1),d.fill(),o&&d.setLineDash([5,3]),i&&d.stroke(),QP[l]=h}}return QP[l]},HP={},RC1=(r,t,e,i,o,n,l,h,d,p)=>{let C=`${e}, ${i}, ${o}, ${n},${l}, ${h}, ${d}`;if(!HP[C]){let M=C8(i*2,i*2);if(M){let S=M.getContext("2d");if(!S)return null;h&&(S.save(),S.textBaseline="middle",S.textAlign="center",S.font=p(r,t,o+2,e),S.strokeStyle=l,S.strokeText(e,i,i),S.restore()),S.textBaseline="middle",S.textAlign="center",S.fillStyle=n,S.font=p(r,t,o,e),S.strokeStyle=l,S.strokeText(e,i,i),S.fillText(e,i,i),HP[C]=M}}return HP[C]},VP={},zC1=(r,t,e)=>{let{delayDisplay:i=3e5,delayOutlineColor:o="#000",getColor:n=()=>"#000",getDelayColor:l=()=>"#000",getDelayFont:h=(T2,A1,P1)=>`bold ${P1}px arial, sans-serif`,getDelayText:d=()=>null,getMaxRadiusForStrokeAndDelay:p=()=>7,getMaxRadiusForText:C=()=>10,getRadius:M=()=>0,getText:S=T2=>T2?.properties?.line?.name||"I",getTextColor:y=()=>"#000",getTextFont:O=(T2,A1,P1)=>`bold ${P1}px arial, sans-serif`,getTextSize:Q=()=>14,hoverVehicleId:H,selectedVehicleId:G,useDelayStyle:t1}=e,{pixelRatio:e1=1}=t,{type:J}=r.properties,{delay:g1,has_realtime_journey:b1,line:T1,operator_provides_realtime_journey:x1,state:C1,train_id:D1}=r.properties,{color:a1,name:w1,text_color:Q1}=T1||{};w1=S(r,t);let j1=C1==="JOURNEY_CANCELLED";w1||(w1="I"),Q1=y(r,t),a1=n(r,t),a1&&!a1.startsWith("#")&&(a1=`#${a1}`),Q1.startsWith("#")||(Q1=`#${Q1}`);let c2=!!(H&&H===D1),C2=!!(G&&G===D1),Y1=M(r,t)*e1,H1=Y1>=p()*e1;(c2||C2)&&(Y1=H1?Y1+5*e1:14*e1);let y2=Y1>C()*e1,Q2=`${Y1}${c2||C2}${b1}`;if(t1?Q2+=`${x1}${g1}${j1}`:(Q2+=`${a1||J}`,H1&&(Q2+=`${j1}${g1}`)),y2&&(Q2+=`${w1}${Q1}`),!VP[Q2]){if(Y1===0)return null;let T2=1*e1,A1=Y1+2*e1,P1=Y1*2,F1=A1*2+T2*2,n2=F1/2,f2=null;H1&&g1!==null&&(f2=IC1(n2,A1,l(r,t,g1,j1)));let a2=null,k2=0;if(H1&&(c2||(g1||0)>=i||j1)){k2=Math.max(j1?19:14,Math.min(j1?19:17,Y1*1.2))*e1;let wt=d(r,t,g1,j1);wt&&(a2=FC1(wt,k2,h(r,t,c2||t.zoom>=13?k2:0,wt),l(r,t,g1,j1,!0),o,e1))}let Z2=null,R2;t1?R2=l(r,t,g1,j1):R2=a1||n(r,t);let H2=H1||c2||C2,nt=!!H1&&!!t1&&g1===null&&x1==="yes",it=!!H2&&y2&&!b1&&!j1;it&&(Z2=TC1(Y1,e1));let P2=PC1(n2,Y1,R2,H2,nt,e1),q1=a2?.width||it&&Z2.width/2||0,he=it&&Z2.height/2||0,se=F1+q1*2,Yt=F1+he*2,st=C8(se,Yt);if(st){let wt=st.getContext("2d");if(!wt)return null;let ft=q1,Pt=he;f2&&wt.drawImage(f2,ft,Pt),P2&&wt.drawImage(P2,ft,Pt);let zt=null;if(y2){let Ot=Math.max(Y1,10),ie=Q(r,t,wt,P1,w1,Ot,O(r,t,Ot,w1)),Jt=t1?"#000000":Q1||y(r,t);zt=RC1(r,t,w1,n2,ie,Jt,R2,!!t1&&g1===null&&x1==="yes",e1,O)}zt&&wt.drawImage(zt,ft,Pt),a2&&wt.drawImage(a2,ft+Math.ceil(n2+A1)+T2,Pt+Math.ceil(n2-k2)),it&&wt.drawImage(Z2,ft-Z2.width/4,Pt-Z2.height/4),VP[Q2]=st}}return VP[Q2]},ZY=zC1;var NY={bus:25,coach:15,train:30,tram:20},DC1={fullTrajectoryStyle:zY,getMotsByZoom:r=>r<9?["rail"]:null,sort:({properties:{delay:r,type:t}},{properties:{delay:e,type:i}})=>t!==i?NY[t]<NY[i]?-1:1:r===e?0:r<e?-1:1,style:ZY,styleOptions:{getColor:r=>yA(r?.properties?.type,r?.properties?.line),getMaxRadiusForStrokeAndDelay:()=>4,getMaxRadiusForText:()=>8,getRadius:(r,t)=>DY(r?.properties?.type,t?.zoom),getTextColor:r=>By(r?.properties?.type)}};function kC1(r){return j(RY,{...DC1,...r})}var c_=et(kC1);var UY=d3(W4(),1);function OC1({debounceOptions:r,debounceTimeout:t=150,hover:e=!0}){let{map:i,mots:o,queryablelayers:n,setFeaturesInfos:l,setFeaturesInfosHovered:h,setLinesIds:d,setNotificationId:p,setStationId:C,setTrainId:M,stationsLayer:S,tenant:y}=Ct(),O=or(async G=>{let t1=G.map.getAllLayers().filter(J=>n.split(",").includes(J.get("name"))),e1=await mB(G.coordinate,t1,5,!0);if(S){let J=e1?.find(T1=>T1.layer===S),g1=J?.features||[],[b1]=g1.filter(T1=>{let x1=!1;return o?.split(",")?.length>0&&(x1=!!o.split(",").find(C1=>{if(T1.get(C1.trim().toLowerCase())===1)return!0})),!T1.get("uid")&&T1.get("external_id")&&T1.set("uid",T1.get("external_id")),x1?!!T1.get("tralis_network")?.includes(y):T1.get("network")?T1.get("network").toLowerCase().includes(y):x1});J&&(J.features=b1?[b1]:[])}return e1},[o,n,S,y]),Q=or(async G=>{let t1=await O(G);h(t1);let e1=t1.flatMap(J=>J.features);G.map.getTargetElement().style.cursor=e1?.length?"pointer":"default"},[O,h]),H=or(async G=>{let t1=await O(G);l(t1),t1?.flatMap(e1=>e1.features).length===0&&(M(null),C(null),p(null),d(null))},[O,l,d,p,C,M]);return G2(()=>{let G=i?.on("singleclick",H);return()=>{tr(G)}},[i,H]),G2(()=>{let G;if(e){let t1=Q;t&&(t1=(0,UY.default)(Q,t,r)),G=i?.on("pointermove",t1)}return()=>{tr(G)}},[r,t,e,i,Q]),null}var GP=OC1;var QY=(r,t)=>{if(!!t.get("name")&&r!=null){let o=r?.split(",")||[],n=t.get("name"),l=o.includes(n);t.getVisible()!==l&&(t.setVisible(l),t.getLayers&&t.getLayers().getArray().forEach(h=>{h.setVisible(l)}))}t.getLayers&&t.getLayers().getArray().forEach(o=>{QY(r,o)})},jP=QY;var ZC1=(r,t,e)=>{let i=k0(!1),o=k0($g(e)?.layers);return G2(()=>{if(!r)return;let n=t;o.current!==null&&o.current!==void 0&&!i.current&&(n=o.current,i.current=!0),P4(r.getLayers().getArray()).forEach(h=>{jP(n,h)});let l=r.getLayers().on("add",h=>{jP(n,h.element)});return()=>{tr(l)}},[r,t]),null},HY=ZC1;var VY=["mwc:permalink","mwc:selectedfeature","mwc:singleclick","mwc:attribute"];function NC1({eventNode:r}){let{setPreviewNotifications:t}=Ct();return G2(()=>{let e=i=>{i.data.situations&&t(i.data.situations)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t]),G2(()=>{if(!r)return;let e=i=>{i.type==="mwc:attribute"&&delete i.data.children,i.type==="mwc:selectedfeature"&&i.data?.properties?.olGeometry&&delete i.data.properties.olGeometry,window.parent?.postMessage({data:i.data,type:i.type},"*")};return VY.forEach(i=>{r.addEventListener(i,e)}),window.parent?.postMessage({data:!0,type:"mwc:messageready"},"*"),()=>{VY.forEach(i=>{r.removeEventListener(i,e)})}},[r]),null}var qP=et(NC1);var UC1='<a href="https://developer.geops.io/">geOps API key</a>',GY='<a href="https://developer.geops.io/apis/maps">geOps Maps API</a>',QC1='<a href="https://developer.geops.io/apis/stops">geOps Stops API</a>',KP='<a href="https://geops.com/en/solution/disruption-information">geOps MOCO API</a>',u_='<a href="https://geops.com/en/solution/mapset">geOps Mapset API</a>',h_='<a href="https://developer.geops.io/apis/realtime">geOps Realtime API</a>',HC1={apikey:{defaultValue:"5cc87b12d7c5370001c1d655820abcc37dfd4d968d7bab5b2a74a935",description:`Your ${UC1}`,public:!1},baselayer:{defaultValue:"de.rvf_moco",description:`The style's name from the ${GY}. <br/>Ex: base_dark_v2, base_bright_v2, ...`,public:!1},center:{description:"The center of the map in EPSG:3857 coordinates.<br/>Parameter required if extent is not set.",public:!0},details:{defaultValue:"true",description:"When a feature of a queryable layer is clicked, it displays informations about it.",public:!0,type:"boolean"},embed:{defaultValue:"false",description:"Toggle the embedded navigation mode.<br/>In this mode zooming with mouse wheel is deactivated and, on touch device, you can only navigate with two finger, a warning message is displayed to warn the user.",public:!0,type:"boolean"},extent:{defaultValue:Of.join(","),description:"The map's extent in EPSG:3857 coordinates.<br/>Ex: 831634,5933959,940649,6173660 .<br/>Parameter required if center and zoom are not set.",public:!0},geolocation:{defaultValue:"true",description:"Toggle the display of the geolocation button or not.",public:!0,type:"boolean"},lang:{defaultValue:"de",description:"The language to use for the map. Supported languages are : de, en, fr, it.",public:!1},layers:{defaultValue:null,description:`A comma separated list of layers's name to make visible on load, others are hidden. If empty, all layers will be hidden except the baselayer.<br/>Layers available are ${Object.values(Ft).join(", ")}.`,public:!0},layersconfig:{description:`A JSON string to configure the layers and other components associated to it.<br/>
|
|
1550
|
+
}`;function rC1({options:r,...t}){let{map:e}=Ct(),[i,o]=pt(),n=It(()=>i?new gN({target:i,...r}):null,[r,i]);return G2(()=>{if(!(!e||!n))return e.addControl(n),()=>{e&&n&&e.removeControl(n)}},[e,n]),j("div",{ref:l=>{o(l)},...t,children:j("style",{children:MY})})}var SP=rC1;function iC1({...r}){let{isSearchOpen:t,setIsSearchOpen:e}=Ct(),{t:i}=er(),o=or(()=>{e(!t)},[t,e]);return j(p0,{title:i("search_menu_title"),...r,onClick:o,selected:t,children:j(Jc,{})})}var EP=et(iC1);function nC1({...r}){return j("svg",{fill:"none",height:24,stroke:"currentColor",strokeWidth:1.5,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z",strokeLinecap:"round",strokeLinejoin:"round"})})}var TP=nC1;function oC1({...r}){let{isShareMenuOpen:t,setIsShareMenuOpen:e}=Ct(),{t:i}=er(),o=or(()=>{e(!t)},[t,e]);return j(p0,{title:i("share_menu_title"),...r,onClick:o,selected:t,children:j(TP,{})})}var IP=et(oC1);function aC1(r){let{baseLayer:t,map:e,setStationsLayer:i}=Ct(),o=It(()=>t?new O0({layersFilter:({metadata:n})=>n?.["tralis.variable"]==="station"||n?.["general.filter"]==="stations"||n?.["geops.filter"]==="netzplan_stops",maplibreLayer:t,name:Zg,...r||{}}):null,[t,r]);return G2(()=>{if(!(!e||!o))return e.addLayer(o),i(o),()=>{e.removeLayer(o)}},[e,i,o]),null}var BY=et(aC1);var sC1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations",minZoom:10});function lC1(r){return j(BY,{...sC1,...r})}var PA=et(lC1);function cC1(r){return j("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z"})})}var FP=cC1;function uC1(r){return j("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:j("path",{d:"M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z"})})}var PP=uC1;function hC1(){let{map:r}=Ct(),[t,e]=pt(!1),[i,o]=pt(!1),{t:n}=er(),l=or(()=>{if(!r?.getView())return;let d=r.getView(),p=d.getZoom();d.setZoom(p+1)},[r]),h=or(()=>{if(!r?.getView())return;let d=r.getView(),p=d.getZoom();d.setZoom(p-1)},[r]);return G2(()=>{let d=r?.on("moveend",()=>{let p=r.getView(),C=p.getZoom(),M=p.getMaxZoom(),S=p.getMinZoom();M&&C===Number(M)?e(!0):e(!1),S&&C===Number(S)?o(!0):o(!1)});return()=>{tr(d)}},[r]),j(Xe,{children:[j(p0,{disabled:t,onClick:l,title:n("zoomin"),children:j(PP,{})}),j(p0,{disabled:i,onClick:h,title:n("zoomout"),children:j(FP,{})})]})}var RP=et(hC1);var SY={style:{width:"calc(100% - 60px)"}},AC1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations"});function dC1({className:r,...t}){let{hasDetails:e,hasGeolocation:i,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:h,hasShare:d,hasToolbar:p,isEmbed:C,isOverlayOpen:M,isSearchOpen:S,mainlink:y}=Ct();return j("div",{className:oe("relative flex size-full flex-col text-base @lg/main:flex-row-reverse",r),...t,children:[j(yP,{}),j(PA,{minZoom:10,...AC1}),j(BP,{}),j(_P,{}),j(vP,{}),j(MP,{}),j(XB,{className:"relative flex-1 overflow-visible",children:[C&&j(VB,{}),y&&j(gP,{className:"absolute inset-x-2 bottom-8 z-10"}),j("div",{className:"pointer-events-none absolute inset-x-2 bottom-2 z-10 flex items-end justify-between gap-2 text-[10px]",children:[j(SP,{className:"bg-slate-50/70"}),j(Kg,{className:"pointer-events-auto bg-slate-50/70"})]}),j("div",{className:"absolute top-2 right-2 z-10 flex",children:i&&j(Wg,{title:"Geolokalisierung"})}),j("div",{className:"absolute right-2 bottom-10 z-10 flex flex-col justify-between gap-2",children:j(RP,{})}),!p&&h&&j("div",{className:oe("absolute top-2 right-2 left-2 z-10 max-w-96",M&&"@lg:left-68"),children:j(tu,{})})]}),j("div",{className:"pointer-events-none absolute top-2 bottom-2 left-2 z-10 flex flex-col gap-2",children:[p&&j("div",{className:"pointer-events-none relative z-10 w-fit rounded-2xl bg-black/10 p-0 backdrop-blur-sm *:pointer-events-auto",children:[h&&j("div",{className:oe("absolute top-12 left-0 w-0 p-0 opacity-0 transition-all @sm:top-0 @sm:left-[calc(100%-43px)] @md:left-[calc(100%-47px)]",S?"w-64 opacity-100":""),children:j(tu,{className:"border-grey @container m-0 h-[40px] rounded-2xl border p-2 px-4 text-base @sm/main:h-[44px] @sm/main:rounded-l-none @sm/main:rounded-r-2xl @md/main:h-[48px]",inputClassName:"h-6 text-base",inputContainerClassName:"border-none",resultClassName:"text-base **:hover:cursor-pointer hover:text-red-500 p-2",resultsContainerClassName:"@container rounded-b-2xl max-h-[200px] overflow-y-auto border border-grey border-t-0 ",withResultsClassName:"text-base !rounded-b-none"})}),j("div",{className:oe("border-grey relative flex gap-[1px] overflow-hidden rounded-2xl border @sm/main:h-[44px] @md/main:h-[48px]","*:size-[38px] *:rounded-none *:border-none *:@sm/main:size-[42px] *:@md/main:!size-[46px]","*:first:!rounded-l-2xl","*:last:!rounded-r-2xl",S?"@sm:rounded-r-none @sm:border-r-0 @sm:*:last:!rounded-r-none @sm:*:last:border-r-0":""),children:[o&&j($B,{}),n&&j(jB,{}),d&&j(IP,{}),h&&j(EP,{})]})]}),M&&j("div",{className:oe("pointer-events-none flex w-0 flex-1 flex-col overflow-hidden rounded-2xl @lg:min-w-[320px]"),style:{containerType:"normal"},children:j(Xg,{className:"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex",ScrollableHandlerProps:SY,children:j(i_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:!1,hasShare:d})})})]}),M&&j(Xg,{className:"absolute bottom-0 z-20 flex max-h-[70%] min-h-[75px] w-full flex-col border-t bg-white @lg:hidden",ScrollableHandlerProps:SY,children:j(i_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:l,hasSearch:!1,hasShare:d})})]})}var l_=et(dC1);var fC1=(r,t)=>{let e=t?.getView()?.getZoom(),i=r.get("minZoom"),o=r.get("maxZoom");return i>e||e>o};function pC1(r){let{apikey:t,baseLayer:e,map:i,mapsetplanid:o,mapsettags:n,mapsettenants:l,mapsettimestamp:h,mapseturl:d,setMapsetLayer:p}=Ct(),C=It(()=>!e||!i?null:new aB({apiKey:t,name:Ug,planId:o??void 0,tags:n?.split(",").map(M=>M.trim()),tenants:l?.split(",").map(M=>M.trim()),timestamp:h,url:d,...r||{}}),[e,i,t,d,o,n,l,h,r]);return G2(()=>{p?.(C)},[C,p,i]),G2(()=>{if(!(!i||!C))return i.addLayer(C),()=>{i.removeLayer(C)}},[i,C]),G2(()=>{let M=null;return C&&(M=C.on("updatefeatures",()=>{let S=C.getSource()?.getFeatures();S?.length&&S.forEach(y=>{let O=y.getStyleFunction();O&&y.setStyle((Q,H)=>fC1(Q,C.getMapInternal())?null:O(y,H))})})),()=>{tr(M)}},[C]),null}var zP=et(pC1);function LC1(r){let{apikey:t,baseLayer:e,linesNetworkPlanLayer:i,map:o,notificationat:n,notificationtenant:l,notificationurl:h,previewNotifications:d,setNotificationsLayer:p}=Ct(),[C,M]=pt(!!i?.getVisible()),S=It(()=>{if(!e)return null;let y=new uB({apiKey:t,apiParameters:{contentMedium:!0,isEdited:!0,publicNow:!0},maplibreLayer:e,name:Ng,publicAt:n?new Date(n):void 0,situations:d,tenant:l,url:h,...r||{},loadAll:!d});return d&&!y.getVisible()&&y.setVisible(!0),y},[e,t,n,d,l,h,r]);return G2(()=>{p?.(S)},[S,p]),G2(()=>{if(!(!o||!S))return o.addLayer(S),()=>{o.removeLayer(S)}},[o,S]),G2(()=>{let y=i?.on("change:visible",()=>{let O=i.getVisible();M(O)});return M(i?.getVisible()||!1),()=>{tr(y)}},[i]),G2(()=>{if(!S)return;let y=S.getVisible();return y&&S.setVisible(!1),C?S.layersFilter=O=>O.metadata?.["general.filter"]==="moco.lnp":S.layersFilter=O=>O.metadata?.["general.filter"]==="moco",S.setVisible(y),()=>{S.applyLayoutVisibility()}},[C,S,i]),null}var DP=et(LC1);var TY=d3(W4(),1);var CC1=(r,t=new URLSearchParams)=>{let e=r.getView().getZoom(),[i,o]=r.getView().getCenter()||[],n=P4(r.getLayers().getArray()).filter(l=>l.get("name")&&l.getVisible()).map(l=>l.get("name"));return t.set("layers",n.join(",")),i>=0&&t.set("x",i.toFixed(2)),o>=0&&t.set("y",o.toFixed(2)),e>=0&&t.set("z",e.toFixed(1)),t},EY=CC1;var gC1=({replaceState:r=!1})=>{let{map:t,setPermalinkUrlSearchParams:e}=Ct(),i=FA(),o=or(n=>{if(t.get(Yo))return;let l=new URLSearchParams(window.location.search),h=EY(n,l);e(h)},[t,e]);return G2(()=>{r&&i&&i!==window.location.href&&!i.includes(encodeURIComponent("{{"))&&window.history.replaceState(null,null,i)},[t,i,r]),G2(()=>{let n,l,h,d=(0,TY.default)(o,1e3);return t&&(d(t),n=t?.on("moveend",p=>{d(p.map)}),l=t.once("loadend",p=>{d(p.map),h=P4(p.map.getLayers().getArray()).map(C=>C.on("change:visible",()=>{d(p.map)}))})),()=>{tr(n),tr(l),tr(h)}},[t,o]),null},kP=et(gC1);var mC1=async(r,t,e=0,i=!0)=>{if(!r)return Promise.reject(new Error("No vehicle provided"));let{geometry:o,properties:{coordinate:n}}=r,l=t.getView(),h=e||l.getZoom(),d=h>0?l.getResolutionForZoom(h):void 0,p=n?[...n]:null;if(!p&&o){let{coord:M}=Xd(Date.now(),r,!0);p=M?[...M]:null}return p?(i&&(p[0]-=320/2*d),l.cancelAnimations(),new Promise(M=>{l.animate({center:p,duration:1e3,easing:qC,resolution:d},S=>{M(S)})})):Promise.reject(new Error("No center found"))},OP=mC1;var vC1=(r,t,e,i,o)=>i?o?"#dc2626":"#a0a0a0":e===null?"transparent":cL(e,o),IY=vC1;var yC1=(r,t,e,i=!1)=>{if(i)return String.fromCodePoint(215);let o=uL(e);return o==="0"?"":`+${o}`},FY=yC1;var PY=16,_C1=!0,xC1=new f0;function wC1(r){let{apikey:t,baseLayer:e,isFollowing:i,isTracking:o,linesNetworkPlanLayer:n,map:l,mots:h,realtimebboxparameters:d,realtimeurl:p,setIsFollowing:C,setIsTracking:M,setRealtimeLayer:S,tenant:y,trainId:O}=Ct(),[Q,H]=pt([]),[G,t1]=pt(!1),e1=It(()=>!t||!p?null:new gB({apiKey:t,bboxParameters:d?.split(" ").reduce((g1,b1)=>{if(!b1)return g1;let[T1,x1]=b1.split("=");return g1[T1]=x1,g1},{}),getMotsByZoom:h?()=>h.split(","):void 0,isQueryable:!0,minZoom:5,name:Og,tenant:y,url:p,zIndex:1,...r,styleOptions:{getColor:_A,getDelayColor:IY,getDelayText:FY,getText:Ty,getTextColor:Sy,getTextFont:Ey,...r?.styleOptions||{}}}),[t,p,d,h,y,r]);return G2(()=>{if(!(!l||!e1))return l.getView()?.getCenter()?l.addLayer(e1):l.once("moveend",()=>{l.addLayer(e1)}),S(e1),()=>{l.removeLayer(e1),S(null)}},[l,S,e1]),G2(()=>{O||C(!1)},[O,C]),G2(()=>{let J=[];return o&&C(!1),()=>{tr(J)}},[o,C]),G2(()=>{if(!l)return;let J=null;return J=l.getView().on("change:center",g1=>{g1.target.getInteracting()&&(C(!1),M(!1))}),()=>{tr(J)}},[l,C,M]),G2(()=>{let J=null;return e1&&(e1.engine.useThrottle=!i,e1.engine.isUpdateBboxOnMoveEnd=!i,e1.allowRenderWhenAnimating=!!i),!i||!O||!l||!e1?void 0:(M(!1),(async b1=>{let T1=b1&&e1?.trajectories?.[b1];if(!T1){T1=(await e1.api.getTrajectory(O,e1.mode))?.content;let D1=await e1.api.getFullTrajectory(O,e1.mode,void 0);if(D1?.content)try{let a1=xC1.readFeatures(D1.content),w1=new V4({features:a1}).getExtent();e1.api.bbox=[...w1,...e1.api.bbox.slice(4)]}catch(a1){console.warn("Error parsing full trajectory feature:",a1,D1?.content)}}await OP(T1,l,PY)===!0&&(J=setInterval(()=>{OP(e1?.trajectories?.[O],l,PY)},1e3))})(O),()=>{clearInterval(J)})},[i,l,e1,O,M]),G2(()=>{if(!(!O||!e1?.api))return e1.selectedVehicleId=O,e1.highlightTrajectory(O).catch(J=>{console.error("Error highlighting trajectory:",J)}),()=>{e1?.selectedVehicleId&&(e1.api?.unsubscribeFullTrajectory(e1.selectedVehicleId),e1.selectedVehicleId=null,e1.vectorLayer.getSource().clear())}},[O,e1,e1?.api]),G2(()=>{if(!l||!e)return;let J=l.once("rendercomplete",()=>{let g1=e.mapLibreMap?.getStyle()?.metadata,b1=[];for(let T1=0;T1<26;T1++)b1.push(Bh(T1,g1?.graphs));H(b1)});return()=>{tr(J)}},[l,e,e1]),G2(()=>{let J=n?.on("change:visible",()=>{let g1=n.getVisible();t1(g1)});return t1(n?.getVisible()||!1),()=>{tr(J)}},[n]),G2(()=>{!e1||!Q?.length||(_C1&&G?e1.engine.graphByZoom=Q:e1.engine.graphByZoom=[],e1.engine.setBbox())},[G,e1,Q,n]),null}var RY=et(wC1);var bC1=new q3({image:new o7({fill:new k6({color:"#000000"}),radius:5}),stroke:new wi({color:"#000000",width:6}),zIndex:2}),MC1=r=>{let t="#ffffff",e=r.get("type"),i=r.get("stroke");return i&&i[0]!=="#"&&(i=`#${i}`),t=i||yA(e,{name:r.get("line_name")}),t=/#ffffff/i.test(t)?"#ff0000":t,[bC1,new q3({image:new o7({fill:new k6({color:t}),radius:4}),stroke:new wi({color:t,width:4}),zIndex:3})]},zY=MC1;var BC1={0:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],1:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],2:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15],3:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],4:[0,0,0,0,0,2,2,2,2,2,2,3,3,6,7,12,15],5:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],6:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],7:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],8:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],9:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15]},SC1=BC1,DY=(r=0,t=0,e=!1)=>{let i=Math.min(Math.floor(t||1),16);try{let o=O7.getTypeIndex(r);return SC1[o][i]*(e?2:1)}catch{return 1}};var kY='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 42 42" width="42" height="42">%0A <path id="Pfad_1" data-name="Pfad 1" d="M40,20A20,20,0,1,1,20,0,20,20,0,0,1,40,20Z" transform="translate(0 0)" fill="%23353535"/>%0A <path id="Pfad_2" data-name="Pfad 2" d="M25.481,11.843a9.993,9.993,0,0,0-10,9.992c0,7.773,10,14.8,10,14.8s9.992-7.5,9.992-14.8a9.991,9.991,0,0,0-9.992-9.992m0,14.662a4.924,4.924,0,1,1,4.924-4.924A4.93,4.93,0,0,1,25.482,26.5" transform="translate(-5.477 -4.19)" fill="%23fff"/>%0A <path id="Pfad_3" data-name="Pfad 3" d="M12.015,8.124,38.081,34.031,35.4,36.536,9.06,10.527Z" transform="translate(-3.206 -2.874)" fill="%23ec0016"/>%0A <path id="Pfad_4" data-name="Pfad 4" d="M20,3.231A16.769,16.769,0,1,1,3.231,20,16.788,16.788,0,0,1,20,3.231M20,0A20,20,0,1,0,40,20,20,20,0,0,0,20,0" transform="translate(0 0)" fill="%23353535"/>%0A</svg>%0A';var ZP={},OY=new Image(42,42);OY.src=kY;var TC1=(r,t)=>{let e=16;r>e&&(e=22);let i=`${e},${t}`;if(!ZP[i]){let o=C8(e*t,e*t),n=o.getContext("2d");if(!n)return null;n.drawImage(OY,0,0,e*t,e*t),ZP[i]=o}return ZP[i]},NP={},IC1=(r,t,e)=>{let i=`${r}, ${t}, ${e}`;if(!NP[i]){let o=C8(r*2,r*2);if(o){let n=o.getContext("2d");if(!n)return null;n.beginPath(),n.arc(r,r,t,0,2*Math.PI,!1),n.fillStyle=e,n.filter="blur(1px)",n.fill(),NP[i]=o}}return NP[i]},UP={},FC1=(r,t,e,i,o="#000",n=1)=>{let l=`${r}, ${e}, ${i}, ${o}, ${n}`;if(!UP[l]){let h=C8(Math.ceil(r.length*t),Math.ceil(t+8*n));if(h){let d=h.getContext("2d");if(!d)return null;d.font=e,d.textAlign="left",d.textBaseline="middle",d.font=e,d.fillStyle=i,d.strokeStyle=o,d.lineWidth=1.5*n,d.strokeText(r,0,t),d.fillText(r,0,t),UP[l]=h}}return UP[l]},QP={},PC1=(r,t,e,i,o,n)=>{let l=`${r}, ${t}, ${e}, ${i}, ${o}, ${n}`;if(!QP[l]){let h=C8(r*2,r*2);if(h){let d=h.getContext("2d");if(!d)return null;d.fillStyle=e,i&&(d.lineWidth=1*n,d.strokeStyle="#000000"),d.beginPath(),d.arc(r,r,t,0,2*Math.PI,!1),d.fill(),o&&d.setLineDash([5,3]),i&&d.stroke(),QP[l]=h}}return QP[l]},HP={},RC1=(r,t,e,i,o,n,l,h,d,p)=>{let C=`${e}, ${i}, ${o}, ${n},${l}, ${h}, ${d}`;if(!HP[C]){let M=C8(i*2,i*2);if(M){let S=M.getContext("2d");if(!S)return null;h&&(S.save(),S.textBaseline="middle",S.textAlign="center",S.font=p(r,t,o+2,e),S.strokeStyle=l,S.strokeText(e,i,i),S.restore()),S.textBaseline="middle",S.textAlign="center",S.fillStyle=n,S.font=p(r,t,o,e),S.strokeStyle=l,S.strokeText(e,i,i),S.fillText(e,i,i),HP[C]=M}}return HP[C]},VP={},zC1=(r,t,e)=>{let{delayDisplay:i=3e5,delayOutlineColor:o="#000",getColor:n=()=>"#000",getDelayColor:l=()=>"#000",getDelayFont:h=(T2,A1,P1)=>`bold ${P1}px arial, sans-serif`,getDelayText:d=()=>null,getMaxRadiusForStrokeAndDelay:p=()=>7,getMaxRadiusForText:C=()=>10,getRadius:M=()=>0,getText:S=T2=>T2?.properties?.line?.name||"I",getTextColor:y=()=>"#000",getTextFont:O=(T2,A1,P1)=>`bold ${P1}px arial, sans-serif`,getTextSize:Q=()=>14,hoverVehicleId:H,selectedVehicleId:G,useDelayStyle:t1}=e,{pixelRatio:e1=1}=t,{type:J}=r.properties,{delay:g1,has_realtime_journey:b1,line:T1,operator_provides_realtime_journey:x1,state:C1,train_id:D1}=r.properties,{color:a1,name:w1,text_color:Q1}=T1||{};w1=S(r,t);let j1=C1==="JOURNEY_CANCELLED";w1||(w1="I"),Q1=y(r,t),a1=n(r,t),a1&&!a1.startsWith("#")&&(a1=`#${a1}`),Q1.startsWith("#")||(Q1=`#${Q1}`);let c2=!!(H&&H===D1),C2=!!(G&&G===D1),Y1=M(r,t)*e1,H1=Y1>=p()*e1;(c2||C2)&&(Y1=H1?Y1+5*e1:14*e1);let y2=Y1>C()*e1,Q2=`${Y1}${c2||C2}${b1}`;if(t1?Q2+=`${x1}${g1}${j1}`:(Q2+=`${a1||J}`,H1&&(Q2+=`${j1}${g1}`)),y2&&(Q2+=`${w1}${Q1}`),!VP[Q2]){if(Y1===0)return null;let T2=1*e1,A1=Y1+2*e1,P1=Y1*2,F1=A1*2+T2*2,n2=F1/2,f2=null;H1&&g1!==null&&(f2=IC1(n2,A1,l(r,t,g1,j1)));let a2=null,k2=0;if(H1&&(c2||(g1||0)>=i||j1)){k2=Math.max(j1?19:14,Math.min(j1?19:17,Y1*1.2))*e1;let wt=d(r,t,g1,j1);wt&&(a2=FC1(wt,k2,h(r,t,c2||t.zoom>=13?k2:0,wt),l(r,t,g1,j1,!0),o,e1))}let Z2=null,R2;t1?R2=l(r,t,g1,j1):R2=a1||n(r,t);let H2=H1||c2||C2,nt=!!H1&&!!t1&&g1===null&&x1==="yes",it=!!H2&&y2&&!b1&&!j1;it&&(Z2=TC1(Y1,e1));let P2=PC1(n2,Y1,R2,H2,nt,e1),q1=a2?.width||it&&Z2.width/2||0,he=it&&Z2.height/2||0,se=F1+q1*2,Yt=F1+he*2,st=C8(se,Yt);if(st){let wt=st.getContext("2d");if(!wt)return null;let ft=q1,Pt=he;f2&&wt.drawImage(f2,ft,Pt),P2&&wt.drawImage(P2,ft,Pt);let zt=null;if(y2){let Ot=Math.max(Y1,10),ie=Q(r,t,wt,P1,w1,Ot,O(r,t,Ot,w1)),Jt=t1?"#000000":Q1||y(r,t);zt=RC1(r,t,w1,n2,ie,Jt,R2,!!t1&&g1===null&&x1==="yes",e1,O)}zt&&wt.drawImage(zt,ft,Pt),a2&&wt.drawImage(a2,ft+Math.ceil(n2+A1)+T2,Pt+Math.ceil(n2-k2)),it&&wt.drawImage(Z2,ft-Z2.width/4,Pt-Z2.height/4),VP[Q2]=st}}return VP[Q2]},ZY=zC1;var NY={bus:25,coach:15,train:30,tram:20},DC1={fullTrajectoryStyle:zY,getMotsByZoom:r=>r<9?["rail"]:null,sort:({properties:{delay:r,type:t}},{properties:{delay:e,type:i}})=>t!==i?NY[t]<NY[i]?-1:1:r===e?0:r<e?-1:1,style:ZY,styleOptions:{getColor:r=>yA(r?.properties?.type,r?.properties?.line),getMaxRadiusForStrokeAndDelay:()=>4,getMaxRadiusForText:()=>8,getRadius:(r,t)=>DY(r?.properties?.type,t?.zoom),getTextColor:r=>By(r?.properties?.type)}};function kC1(r){return j(RY,{...DC1,...r})}var c_=et(kC1);var UY=d3(W4(),1);function OC1({debounceOptions:r,debounceTimeout:t=150,hover:e=!0}){let{map:i,mots:o,queryablelayers:n,setFeaturesInfos:l,setFeaturesInfosHovered:h,setLinesIds:d,setNotificationId:p,setStationId:C,setTrainId:M,stationsLayer:S,tenant:y}=Ct(),O=or(async G=>{let t1=G.map.getAllLayers().filter(J=>n.split(",").includes(J.get("name"))),e1=await mB(G.coordinate,t1,5,!0);if(S){let J=e1?.find(T1=>T1.layer===S),g1=J?.features||[],[b1]=g1.filter(T1=>{let x1=!1;return o?.split(",")?.length>0&&(x1=!!o.split(",").find(C1=>{if(T1.get(C1.trim().toLowerCase())===1)return!0})),!T1.get("uid")&&T1.get("external_id")&&T1.set("uid",T1.get("external_id")),x1?!!T1.get("tralis_network")?.includes(y):T1.get("network")?T1.get("network").toLowerCase().includes(y):x1});J&&(J.features=b1?[b1]:[])}return e1},[o,n,S,y]),Q=or(async G=>{let t1=await O(G);h(t1);let e1=t1.flatMap(J=>J.features);G.map.getTargetElement().style.cursor=e1?.length?"pointer":"default"},[O,h]),H=or(async G=>{let t1=await O(G);l(t1),t1?.flatMap(e1=>e1.features).length===0&&(M(null),C(null),p(null),d(null))},[O,l,d,p,C,M]);return G2(()=>{let G=i?.on("singleclick",H);return()=>{tr(G)}},[i,H]),G2(()=>{let G;if(e){let t1=Q;t&&(t1=(0,UY.default)(Q,t,r)),G=i?.on("pointermove",t1)}return()=>{tr(G)}},[r,t,e,i,Q]),null}var GP=OC1;var QY=(r,t)=>{if(!!t.get("name")&&r!=null){let o=r?.split(",")||[],n=t.get("name"),l=o.includes(n);t.getVisible()!==l&&(t.setVisible(l),t.getLayers&&t.getLayers().getArray().forEach(h=>{h.setVisible(l)}))}t.getLayers&&t.getLayers().getArray().forEach(o=>{QY(r,o)})},jP=QY;var ZC1=(r,t,e)=>{let i=k0(!1),o=k0($g(e)?.layers);return G2(()=>{if(!r)return;let n=t;o.current!==null&&o.current!==void 0&&!i.current&&(n=o.current,i.current=!0),P4(r.getLayers().getArray()).forEach(h=>{jP(n,h)});let l=r.getLayers().on("add",h=>{jP(n,h.element)});return()=>{tr(l)}},[r,t]),null},HY=ZC1;var VY=["mwc:permalink","mwc:selectedfeature","mwc:singleclick","mwc:attribute"];function NC1({eventNode:r}){let{setPreviewNotifications:t}=Ct();return G2(()=>{let e=i=>{i.data.situations&&t(i.data.situations)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t]),G2(()=>{if(!r)return;let e=i=>{i.type==="mwc:attribute"&&delete i.data.children,i.type==="mwc:selectedfeature"&&i.data?.properties?.olGeometry&&delete i.data.properties.olGeometry,window.parent?.postMessage({data:i.data,type:i.type},"*")};return VY.forEach(i=>{r.addEventListener(i,e)}),window.parent?.postMessage({data:!0,type:"mwc:messageready"},"*"),()=>{VY.forEach(i=>{r.removeEventListener(i,e)})}},[r]),null}var qP=et(NC1);var UC1='<a href="https://developer.geops.io/">geOps API key</a>',GY='<a href="https://developer.geops.io/apis/maps">geOps Maps API</a>',QC1='<a href="https://developer.geops.io/apis/stops">geOps Stops API</a>',KP='<a href="https://geops.com/en/solution/disruption-information">geOps MOCO API</a>',u_='<a href="https://geops.com/en/solution/mapset">geOps Mapset API</a>',h_='<a href="https://developer.geops.io/apis/realtime">geOps Realtime API</a>',HC1={apikey:{defaultValue:"5cc87b12d7c5370001c1d655820abcc37dfd4d968d7bab5b2a74a935",description:`Your ${UC1}`,public:!1},baselayer:{defaultValue:"de.rvf_moco",description:`The style's name from the ${GY}. <br/>Ex: base_dark_v2, base_bright_v2, ...`,public:!1},center:{description:"The center of the map in EPSG:3857 coordinates.<br/>Parameter required if extent is not set.",public:!0},details:{defaultValue:"true",description:"When a feature of a queryable layer is clicked, it displays informations about it.",public:!0,type:"boolean"},embed:{defaultValue:"false",description:"Toggle the embedded navigation mode.<br/>In this mode zooming with mouse wheel is deactivated and, on touch device, you can only navigate with two finger, a warning message is displayed to warn the user.",public:!0,type:"boolean"},extent:{defaultValue:Of.join(","),description:"The map's extent in EPSG:3857 coordinates.<br/>Ex: 831634,5933959,940649,6173660 .<br/>Parameter required if center and zoom are not set.",public:!0},geolocation:{defaultValue:"true",description:"Toggle the display of the geolocation button or not.",public:!0,type:"boolean"},lang:{defaultValue:"de",description:"The language to use for the map. Supported languages are : de, en, fr, it.",public:!1},layers:{defaultValue:null,description:`A comma separated list of layers's name to make visible on load, others are hidden. If empty, all layers will be hidden except the baselayer.<br/>Layers available are ${Object.values(Ft).join(", ")}.`,public:!0},layersconfig:{description:`A JSON string to configure the layers and other components associated to it.<br/>
|
|
1551
1551
|
The layers available are : ${xZ.toString()}.<br/>
|
|
1552
1552
|
Definition for a layer :
|
|
1553
1553
|
<pre style="font-size: 12px; overflow: auto;">{
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@geops/rvf-mobility-web-component",
|
|
3
3
|
"license": "UNLICENSED",
|
|
4
4
|
"description": "Web components for rvf in the domains of mobility and logistics.",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.90",
|
|
6
6
|
"homepage": "https://rvf-mobility-web-component-geops.vercel.app/",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "index.js",
|
|
@@ -148,49 +148,50 @@ function RvfMapLayout({
|
|
|
148
148
|
)}
|
|
149
149
|
|
|
150
150
|
{/* Desktop (>= lg) */}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
>
|
|
158
|
-
<Overlay
|
|
159
|
-
className={
|
|
160
|
-
"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex"
|
|
161
|
-
}
|
|
162
|
-
ScrollableHandlerProps={scrollableHandlerProps}
|
|
151
|
+
{isOverlayOpen && (
|
|
152
|
+
<div
|
|
153
|
+
className={twMerge(
|
|
154
|
+
"pointer-events-none flex w-0 flex-1 flex-col overflow-hidden rounded-2xl @lg:min-w-[320px]",
|
|
155
|
+
)}
|
|
156
|
+
style={{ containerType: "normal" }}
|
|
163
157
|
>
|
|
164
|
-
<
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
158
|
+
<Overlay
|
|
159
|
+
className={
|
|
160
|
+
"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex"
|
|
161
|
+
}
|
|
162
|
+
ScrollableHandlerProps={scrollableHandlerProps}
|
|
163
|
+
>
|
|
164
|
+
<OverlayContent
|
|
165
|
+
hasDetails={hasDetails}
|
|
166
|
+
hasLayerTree={hasLayerTree}
|
|
167
|
+
hasPrint={hasPrint}
|
|
168
|
+
hasRealtime={hasRealtime}
|
|
169
|
+
hasSearch={false}
|
|
170
|
+
hasShare={hasShare}
|
|
171
|
+
/>
|
|
172
|
+
</Overlay>
|
|
173
|
+
</div>
|
|
174
|
+
)}
|
|
174
175
|
</div>
|
|
175
176
|
|
|
176
|
-
{/* Mobile */}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
177
|
+
{/* Mobile (< lg) */}
|
|
178
|
+
{isOverlayOpen && (
|
|
179
|
+
<Overlay
|
|
180
|
+
className={
|
|
181
|
+
"absolute bottom-0 z-20 flex max-h-[70%] min-h-[75px] w-full flex-col border-t bg-white @lg:hidden"
|
|
182
|
+
}
|
|
183
|
+
ScrollableHandlerProps={scrollableHandlerProps}
|
|
184
|
+
>
|
|
185
|
+
<OverlayContent
|
|
186
|
+
hasDetails={hasDetails}
|
|
187
|
+
hasLayerTree={hasLayerTree}
|
|
188
|
+
hasPrint={hasPrint}
|
|
189
|
+
hasRealtime={hasRealtime}
|
|
190
|
+
hasSearch={false} // The search could be in the overlay but we decide to put it in the toolbar for better UX
|
|
191
|
+
hasShare={hasShare}
|
|
192
|
+
/>
|
|
193
|
+
</Overlay>
|
|
194
|
+
)}
|
|
194
195
|
</div>
|
|
195
196
|
);
|
|
196
197
|
}
|