1import{j as r,M as je,d5 as ks,H as le,d6 as Ls,d as c,B as _,d7 as xr,aD as st,d8 as Ss,cA as Is,aE as ue,c_ as dt,D as As,aV as Tt,v as Xe,x as Me,d9 as Dn,da as Es,db as Ts,dc as Ds,dd as Os,de as Yt,E as H,df as Xt,cK as Dt,bm as he,aO as me,dg as Rs,dh as On,di as lt,ax as Ye,dj as Rn,dk as yr,aA as Kt,dl as vr,d1 as ye,c as ge,aR as ke,aF as et,aT as tt,aQ as nt,y as ct,aX as rt,aU as qt,dm as wr,cF as Ms,dn as Fs,dp as Bs,ba as Jt,as as en,dq as Ps,L as Je,w as Ns,dr as jr,ds as Cr,dt as Mn,du as $s,dv as zs,ch as Fn,dw as Vs,ci as kr,dx as Ws,dy as Lr,cN as qs,G as kt,dz as Gs,aG as Us,dA as _s,t as Zs,R as B,aW as Qs,dB as Hs,dC as Ys,aq as Xs,F as Ks,u as Js,bj as Sr,dD as ei,k as ti,bl as Hn,ao as ni,cP as ri,dE as si,dF as ii,cj as oi,dG as ai,aP as un,dH as Yn,cM as Xn,dI as li,P as xt,cd as ci,ce as fn,cf as di,dJ as ui,dK as fi,dL as Bt,X as pi,h as hi}from"./app-core-CdjlP1aJ.js";import{getIsMobile as tn,getThemedLegendGraphicUrl as Ir,getLegendBackgroundColor as gi,getDpiFromLegendGraphicUrl as bi}from"./LayerSwitcherUtils-McvbIN2s.js";import{C as Gt}from"./ConfirmationDialog-PCEy6HF7.js";import{u as mi}from"./useCookieStatus-CZX3HLhZ.js";import{horizontalScrollDragManager as vt}from"./HorizontalScrollMenuDragManager-yy1EhRxG.js";const de=({children:e,id:t,...n})=>r.jsx(je,{id:t,disableTouchRipple:!0,...n,children:e}),nn=({children:e,id:t,...n})=>r.jsxs(de,{id:t,size:"small",sx:s=>({marginTop:"3px","&:hover .ls-details-icon":{color:s.palette.grey[900],...s.applyStyles("dark",{color:"#fff"})}}),...n,children:[r.jsx(ks,{className:"ls-details-icon",sx:s=>({width:"0.7em",height:"0.7em",transform:"rotate(180deg)",mt:"1px",color:s.palette.grey[500]})}),e]}),Ar=({...e})=>r.jsx(le,{disableInteractive:!0,title:"Lagret kunde inte laddas in. Kartservern svarar inte.",children:r.jsx(de,{sx:t=>({marginTop:"5px",marginRight:"2px",p:"3px",backgroundColor:t.palette.grey[200],...t.applyStyles("dark",{backgroundColor:t.palette.grey[800]})}),...e,children:r.jsx(Ls,{fontSize:"small",sx:t=>({marginTop:"-1px",color:t.palette.warning.main})})})});function xi({layer:e,globalObserver:t,clickCallback:n,layerId:s,selected:i,isFakeMapLayer:o,draggable:l}){const[a,d]=c.useState("ok");c.useEffect(()=>{const f=p=>{a!=="loaderror"&&e.get("name")===p.id&&d(p.status)},g=t.subscribe("layerswitcher.wmsLayerLoadStatus",f);return()=>t.unsubscribe("layerswitcher.wmsLayerLoadStatus",g)},[t,e,a]);const u=c.useCallback(f=>{f.stopPropagation(),t.publish("setLayerDetails",{layerId:e.get("name")})},[t,e]),h=e.get("caption");return r.jsxs(_,{className:"layer-item",style:{marginLeft:0,borderBottom:"none",display:"flex"},sx:l?{"&:hover .dragInidcatorIcon":{opacity:1}}:{"&:hover .dragInidcatorIcon":{opacity:0}},children:[l&&r.jsx(de,{disableRipple:!0,sx:{px:0,pt:"7px",opacity:0,transition:"opacity 200ms"},className:"dragInidcatorIcon",children:r.jsx(le,{placement:"left",title:"Dra för att ändra ritordning",children:r.jsx(xr,{sx:{pt:"1px"},fontSize:"small"})})}),r.jsx(st,{disableTouchRipple:!0,onClick:()=>n(s),sx:{p:0,ml:0},dense:!0,children:r.jsxs(_,{sx:f=>({display:"flex",position:"relative",width:"100%",alignItems:"center",py:tn()?.5:.25,pr:1,borderBottom:`${f.spacing(.2)} solid ${f.palette.divider}`}),children:[r.jsx(de,{disableRipple:!0,size:"small",sx:{pl:0},children:i?r.jsx(Ss,{sx:{ml:2}}):r.jsx(Is,{sx:{ml:2}})}),r.jsx(ue,{primary:h,slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis",variant:"body1",fontWeight:"inherit"}}}),r.jsxs(dt,{sx:{position:"absolute",right:"4px",top:"1px",transform:"none"},children:[a==="loaderror"&&r.jsx(Ar,{}),o!==!0&&r.jsx(nn,{onClick:f=>u(f)})]})]})})]})}const Er=c.memo(xi),yi=({display:e,layerMap:t,layers:n,globalObserver:s,renderSpecialBackgroundsAtBottom:i=!1})=>{const[o,l]=c.useState(null),a=We();c.useEffect(()=>{const f=n.find(g=>g.visible);f&&(l(f.name),d(f.name))},[n]),c.useEffect(()=>{s.subscribe("core.layerVisibilityChanged",({target:f})=>{const g=f.get("name");n.findIndex(p=>g===p.name)===-1||f.get("visible")===!1||l(f.get("name"))})},[s,n]);const d=f=>{switch(f){case"-1":document.getElementById("map").style.backgroundColor="#fff";break;case"-2":document.getElementById("map").style.backgroundColor="#000";break;default:document.getElementById("map").style.backgroundColor="#fff";break}},u=c.useCallback(f=>{l(f),s.publish("layerswitcher.backgroundLayerChanged",f),d(f),a.setBackgroun
1dLayer(f)},[s,a]);let h=n.filter(f=>{const g=As(f.name);return g||console.warn(`Backgroundlayer with id ${f.id} has a non-valid id`),g});if(i){const f=["-1","-2","-3"],g=h.filter(p=>f.includes(p.name));h=h.filter(p=>!f.includes(p.name)),h.push(...g)}return r.jsx(_,{className:"ls-backgrounds-tab-view",sx:[{position:"relative",height:"inherit",maxHeight:"inherit",overflowY:"auto"},e?{display:"block"}:{display:"none"}],children:h.map((f,g)=>r.jsx(Er,{index:g,selected:o===f.name,layer:t[f.name],globalObserver:s,clickCallback:u,layerId:f.name,isFakeMapLayer:!1},f.name))})};function Tr({url:e}){const n=Tt().palette.mode==="dark";return r.jsx("img",{alt:"Teckenförklaringsikon",src:Ir(e,n),style:{width:"18px",height:"18px",marginRight:"5px",marginTop:"8px",visibility:e?"visible":"hidden"}})}const vi=Me("div")(({theme:e})=>({display:"inline-flex",flexDirection:"column",alignItems:"start",gap:"0.25em",backgroundColor:gi(e),borderRadius:"2px",padding:"2px",maxWidth:"100%"})),wi=Me("img")(()=>({maxWidth:"100%",display:"none"})),ji=({src:e})=>{const[t,n]=c.useState(!0),[s,i]=c.useState(!1),[o,l]=c.useState(null),a=Tt(),d=h=>{const f=h.currentTarget,g=bi(e);if(g>90&&f.naturalWidth){const p=f.naturalWidth/g*96;l(p)}n(!1)},u=()=>{n(!1),i(!0)};return r.jsxs("div",{children:[r.jsxs("div",{style:{fontSize:a.typography.caption.fontSize},children:[t&&!s&&r.jsx("span",{children:"Laddar..."}),s&&r.jsx("span",{title:e,style:{color:a.palette.warning.main},children:"Kunde inte ladda teckenförklaring"})]}),r.jsx(wi,{src:e,onLoad:d,onError:u,sx:[{display:t||s?"none":"block",borderRadius:"2px"},o?{width:`${o}px`}:{width:"auto"}],alt:"Teckenförklaring"})]})};function Bn({open:e,src:t}){const s=Tt().palette.mode==="dark";if(!t)return null;const i=Array.isArray(t)?t:[t];return r.jsx(Xe,{sx:[{ml:"1px"},e?{py:1}:{py:0}],in:e,timeout:50,unmountOnExit:!0,children:r.jsx(vi,{children:i.filter(o=>o).map((o,l)=>{const a=Ir(o,s);return r.jsx(ji,{src:a},l+"-"+a)})})})}const Ci=({legendIsActive:e,onClick:t,...n})=>r.jsx(le,{placement:"left",title:e?"Dölj teckenförklaring":"Visa teckenförklaring",children:r.jsx(de,{sx:{p:.25,mt:.5,mr:"5px"},size:"small",onClick:s=>{s.stopPropagation(),t()},...n,children:r.jsx(Dn,{fontSize:"small"})})}),Pn=({toggleState:e,id:t})=>r.jsxs(de,{id:t,size:"small",sx:{},children:[r.jsx(Es,{}),r.jsx(_,{sx:[{position:"absolute",top:"calc(50%)",left:"50%",transition:"transform 200ms ease, opacity 200ms ease",lineHeight:0},e!=="unchecked"?{transform:"translate(-50%, -50%) scale(1.05)"}:{transform:"translate(-50%, -50%) scale(0.0)"},e!=="unchecked"?{opacity:1}:{opacity:0}],children:r.jsx(Ts,{sx:{semichecked:{fill:"gray"},checkedWithWarning:{fill:n=>n.palette.warning.dark}}[e]})})]}),ki=(e,t,n)=>e?n?t?"semichecked":e?"checked":"unchecked":"checkedWithWarning":"unchecked",Dr=(e,t)=>e==="group"||e==="base"||t||e==="system",Li=({legendIcon:e,layerType:t,isFakeMapLayer:n,legendIsActive:s,toggleLegend:i})=>{const o=e;return o!==void 0?r.jsx(Tr,{url:o}):t==="system"?r.jsx(Os,{sx:{display:"block",mr:"5px",mt:"6px",width:"18px",height:"18px"}}):Dr(t,n)?null:r.jsx(Ci,{legendIsActive:s,onClick:()=>i()})};function Si({layerState:e,layerConfig:t,clickCallback:n,draggable:s,toggleable:i,globalObserver:o,display:l,visibleSubLayers:a,expandableSection:d,showSublayers:u,subLayersSection:h,isGroupLayerQuickAccess:f,isLayerQuickAccess:g}){const[p,b]=c.useState("ok"),[w,y]=c.useState(!1),I=Tt(),A=ln(),{layerIsToggled:D}=e??{},{layerId:R,layerCaption:x,layerType:E,layerIsFakeMapLayer:m,layerMinZoom:C,layerMaxZoom:k,allSubLayers:j,layerInfo:F,layerLegendIcon:G}=t??{},O=F?.legendIcon||G;c.useEffect(()=>{const v=q=>{p!=="loaderror"&&R===q.id&&b(q.status)},$=o.subscribe("layerswitcher.wmsLayerLoadStatus",v);return()=>o.unsubscribe("layerswitcher.wmsLayerLoadStatus",$)},[o,R,p]);const M=We(),T=v=>{if(n){n();return}if(E==="system"){ne(v);return}E!=="system"&&M.setLayerVisibility(R,!D)},W=E==="groupLayer"&&a.length!==j.length,S=A>=C&&A<=k,X=ki(D,W,S),V=()=>p==="loaderror"&&r.jsx(Ar,{}),ne=v=>{v.stopPropagation(),o.publish("setLayerDetails",{layerId:R})},se=()=>!!s,P=v=>se()?"none":w?`${v.spacing(.2)} solid transparent`:`${v.spacing(.2)} solid ${v.palette.divider}`,Q=Array.isArray(F?.legend)&&F?.legend.map(v=>v?.url).filter((v,$,q)=>q.indexOf(v)===$);return r.jsxs("div",{className:"layer-item",style:{display:l,marginLeft:d||s?0:"31px",borderBottom:w||se()&&u?`${I.spacing(.2)} solid ${I.palette.divider}`:"none"},children:[r.jsxs(_,{sx:[{position:"relative",alignItems:"flex-start",borderBottom:v=>se()&&u?"none":se()&&!w?`${v.spacing(.2)} solid ${v.palette.divider}`:"none",display:"flex"},s?{"&:hover .dragInidcatorIcon":{opacity:1}}:{"&:hover .dragInidcatorIcon":{opacity:0}
1}],children:[s&&r.jsx(de,{disableRipple:!0,sx:{px:0,pt:"7px",opacity:0,transition:"opacity 200ms"},className:"dragInidcatorIcon",children:r.jsx(le,{placement:"left",title:"Dra för att ändra ritordning",children:r.jsx(xr,{sx:{pt:"1px"},fontSize:"small"})})}),d&&d,r.jsx(st,{disableTouchRipple:!0,onClick:i?T:null,sx:{p:0,ml:0},dense:!0,children:r.jsxs(_,{sx:{display:"flex",position:"relative",width:"100%",alignItems:"flex-start",py:tn()?.5:.25,pr:1,pl:"2px",borderBottom:v=>P(v)},children:[i&&r.jsx(Pn,{id:!g&&!f?"toggle-layer-item":void 0,toggleState:X}),r.jsx(Li,{legendIcon:O,layerType:E,isFakeMapLayer:m,legendIsActive:w,toggleLegend:()=>y(!w)}),r.jsx(ue,{primary:x,slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis",variant:"body1",fontWeight:D&&!s?"bold":"inherit"}}}),r.jsxs(dt,{sx:{position:"absolute",right:"4px",top:"1px",transform:"none"},children:[V(),!i&&!s?r.jsx(de,{size:"small",children:r.jsx(le,{title:"Bakgrundskartan ligger låst längst ner i ritordningen",children:r.jsx(Ds,{})})}):null,m!==!0&&E!=="system"&&r.jsx(nn,{id:!g&&!f?"show-layer-details":void 0,onClick:v=>ne(v)})]})]})})]}),r.jsx(_,{sx:[d?{paddingLeft:"30px"}:{paddingLeft:0},d?{".ls-draworder-tab-view &":{paddingLeft:"30px"}}:{".ls-draworder-tab-view &":{paddingLeft:"20px"}}],children:Dr(E,m)?null:r.jsx(Bn,{src:Q,open:w})}),h&&h]})}const Lt=c.memo(Si);function Ii({layerId:e,layerConfig:t,subLayer:n,toggleable:s,globalObserver:i,visible:o,toggleSubLayer:l,zoomVisible:a}){const u=t.layerInfo.layersInfo[n],h=t.allSubLayers.findIndex(y=>y===n),[f,g]=c.useState(!1),p=y=>{y.stopPropagation(),i.publish("setLayerDetails",{layerId:e,subLayerIndex:h})},b=()=>u.legendIcon?r.jsx(Tr,{url:u.legendIcon}):w(),w=()=>r.jsx(le,{placement:"left",title:f?"Dölj teckenförklaring":"Visa teckenförklaring",children:r.jsx(de,{sx:{p:.25,mr:"5px"},size:"small",onClick:y=>{y.stopPropagation(),g(!f)},children:r.jsx(Dn,{fontSize:"small"})})});return u?r.jsxs("div",{style:{marginLeft:"7px"},children:[r.jsxs(st,{disableTouchRipple:!0,onClick:()=>s?l(n,o):null,sx:y=>({pl:"calc(2px + 10px)",borderBottom:s?`${y.spacing(.2)} solid ${y.palette.divider}`:"none"}),dense:!0,children:[s&&r.jsx(Pn,{toggleState:o?a?"checked":"checkedWithWarning":"unchecked"}),b(),r.jsx(ue,{primary:u.caption,slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis",fontWeight:y=>o&&s?y.typography.fontWeightBold:"inherit"}}}),r.jsx(dt,{sx:{position:"absolute",right:"4px",top:"1px",paddingTop:"3px",transform:"none"},children:r.jsx(nn,{onClick:y=>p(y)})})]}),u.legendIcon?null:r.jsx(_,{sx:{pl:0,ml:"-1px"},children:r.jsx(Bn,{src:u.legend,open:f})})]}):null}function Ai({layerState:e,layerConfig:t,globalObserver:n,toggleable:s,draggable:i,display:o,filterHits:l,filterValue:a,isGroupLayerQuickAccess:d}){const{layerIsToggled:u,visibleSubLayers:h}=e,{layerId:f,layerMinZoom:g,layerMaxZoom:p,layerInfo:b,allSubLayers:w}=t,[y,I]=c.useState(!1),A=c.useRef(!1),D=We();c.useEffect(()=>{const S=n.subscribe("layerswitcher.quickAccessLayersLoaded",({layerIds:X})=>{X&&Array.isArray(X)&&X.includes(f)&&(A.current=!0,u&&I(!0))});return()=>{S.unsubscribe()}},[n,f,u]),c.useEffect(()=>{A.current&&u&&(I(!0),A.current=!1)},[u]);const R=S=>{D.setSubLayerVisibility(f,S,!0)},x=S=>{D.setSubLayerVisibility(f,S,!1)},E=a?.toLocaleLowerCase(),m=l&&l.has(f),C=l?w.filter(S=>b?.layersInfo[S]?.caption?.toLocaleLowerCase()?.includes(E)):w,k=l&&C.length>0,j=m&&!k?w:C,F=()=>{u?D.setLayerVisibility(f,!1):D.setLayerVisibility(f,!0)},G=(S,X)=>{X?x(S):R(S)},O=ln(),M=O>=g&&O<=p,T=b?.hideExpandArrow===!0?!1:y||k,W=b.hideExpandArrow!==!0;return r.jsx(Lt,{display:o,layerState:e,layerConfig:t,globalObserver:n,showSublayers:y,draggable:i,toggleable:s,clickCallback:F,visibleSubLayers:h,expandableSection:W&&r.jsx(_,{sx:{position:"relative",display:"flex",alignSelf:"stretch",alignItems:"flex-start"},children:r.jsx(je,{sx:[{"& .ls-arrow":{transition:"transform 300ms ease"}},i?{p:0}:{p:"3px"},i?{pr:0}:{pr:"4px"},i?{mr:"5px"}:{mr:0},i?{mt:"5px"}:{mt:"3px"},y?{"& .ls-arrow":{transform:"rotate(90deg)"}}:{"& .ls-arrow":{transform:""}},y?{"&:hover .ls-arrow":{transform:"rotate(90deg) translateX(-3px)"}}:{"&:hover .ls-arrow":{transform:"translateX(3px)"}}],size:"small",onClick:S=>I(!y),children:r.jsx(Yt,{sx:{mt:tn()?"2px":"0px"},className:"ls-arrow"})})}),isGroupLayerQuickAccess:d,subLayersSection:r.jsx(Xe,{in:T,unmountOnExit:!0,children:r.jsx(_,{sx:{marginLeft:3},children:j?.map(S=>r.jsx(Ii,{subLayer:S,layerId:t.layerId,layerConfig:t,toggleable:s,globalObserver:n,visible:h.some(X=>X===S),toggleSubLayer:G,zoomVisible:M},S))})})})}const Ut=c.memo(Ai);function Ei({expanded:e,toggleable:t,children:n,layerGroupTitle:s,toggleDetails:i,display:o,isFirstGroup:l,isFirstChild:a,disableAccordion:d}){const[u,h]=c.useState({expanded:e});return c.useEffect(()=>{h({expanded:e})},[e]),c.useEffect(()=>{const f=()=>{l&&h({expanded:!0}),a&&h({expanded:!0})};return document.addEventListener("expandFirstGroup",f),()=>document.removeEventListener("expandFirstGroup",f)},[l,a]),r.jsxs("div",{style:{display:o},children:[r.jsxs(st,{disableTouchRipple:!0,onClick:d?void 0:()=>h({expanded:!u.expanded}),sx:f=>({alignItems:"flex-start",borderBottom:`${f.spacing(.2)} solid ${f.palette.divider}`,p:0,pl:"2px","& .ls-arrow":{transform:u.expanded?"rotate(90deg)":"",transition:"transform 300ms ease"},"&:hover .ls-arrow":{transform:u.expanded?"rotate(90deg) translateX(-3px)":"translateX(3px)"}}),dense:!0,children:[!d&&r.jsx(de,{id:"layerGroup-accordion-arrow-button","data-first":l?"true":"false","data-expanded":u.expanded,size:"small",sx:{mt:"2px",pl:"3px",pr:"4px","&:hover":{backgroundColor:"transparent",boxShadow:"none"}},children:r.jsx(Yt,{className:"ls-arrow"})}),r.jsxs(_,{sx:{display:"flex",position:"relative",width:"100%",alignItems:"flex-start",py:.25,pr:1},children:[t&&i,s]})]}),d?r.jsx(_,{sx:{marginLeft:"20px"},children:n}):r.jsx(Xe,{in:u.expanded,unmountOnExit:!0,children:r.jsx(_,{sx:{marginLeft:"20px"},children:n})})]})}const Ti=({toggleable:e,toggleState:t,clickHandler:n})=>e?r.jsx("div",{onClick:s=>{s.preventDefault(),s.stopPropagation(),n()},children:r.jsx(Pn,{toggleState:t})}):null,Di=({globalObserver:e,infogroupname:t="",infogrouptitle:n="",infogrouptext:s="",infogroupurl:i="",infogroupurltext:o="",infogroupopendatalink:l="",infogroupowner:a=""})=>n||s||i||o||l||a?r.jsx(nn,{onClick:d=>{d.stopPropagation(),e.publish("setLayerDetails",{infogroupname:t,infogrouptitle:n,infogrouptext:s,infogroupurl:i,infogroupurltext:o,infogroupopendatalink:l,infogroupowner:a})}}):null,Or=e=>e?e.children?e.children.flatMap(t=>Or(t)):[e.id]:[],Rr=e=>e?e.children?[e.id,...e.children.flatMap(t=>Rr(t))]:[e.id]:[],Mr=({globalObserver:e,staticGroupTree:t,staticLayerConfig:n,layersState:s,filterHits:i,filterValue:o,isFirstGroup:l,isFirstChild:a,parentGroupHit:d,limitToggleToTree:u,overrideToggleable:h,disableAccordion:f})=>{const g=t.children,p=t.id,b=n[p],w=b?.caption,y=b?.caption,I=b?.isFiltered,A=t.defaultExpanded,D=h!==void 0?h:t.groupIsToggable,R=b?.infogrouptitle,x=b?.infogrouptext,E=b?.infogroupurl,m=b?.infogroupurltext,C=b?.infogroupopendatalink,k=b?.infogroupowner,j=We(),F=Or(t),G=Rr(t),O=i?i.has(p):!1,M=d||O;let T=!1,W=!1;if(i&&!M){const Q=new Set([...F,...G]),v=[...i].reduce(($,q)=>Q.has(q)?$+1:$,0);T=v===0,W=v>0}if(i&&!M&&T)return null;const S=F.some(Q=>s[Q]?.visible),X=F.every(Q=>s[Q]?.visible),V=X,ne=S&&!X;let se=!1;const P=V?"checked":ne?"semichecked":"unchecked";return r.jsx("div",{children:r.jsx(Ei,{isFirstGroup:l,isFirstChild:a,display:I?"none":"block",toggleable:D,expanded:f?!0:O||W||A,disableAccordion:f,toggleDetails:r.jsx(Ti,{toggleable:D,toggleState:P,clickHandler:()=>{if(u){const Q=!V;F.forEach(v=>{j.setLayerVisibility(v,Q)})}else V?j.setGroupVisibility(p,!1):j.setGroupVisibility(p,!0)}}),layerGroupTitle:r.jsxs("div",{style:{width:"100%",display:"flex",flexDirection:"row"},children:[r.jsx(ue,{style:{flex:1},primary:y,slotProps:{primary:{pb:"2px",py:D?0:tn()?"3px":"1px",pl:D?0:"3px",variant:"body1",fontWeight:V||ne?"bold":"inherit"}}}),r.jsx(Di,{globalObserver:e,infogroupname:w,infogrouptitle:R,infogrouptext:x,infogroupurl:E,infogroupurltext:m,infogroupopendatalink:C,infogroupowner:k})]}),children:r.jsx("div",{children:g?.map((Q,v)=>{const $=Q.id,q=s[$],K=v===0,z=n[$];return z?z.layerType==="group"?r.jsx(Mr,{expanded:se===$,globalObserver:e,staticLayerConfig:n,staticGroupTree:g?.find(Y=>Y?.id===$),layersState:s,filterHits:i,filterValue:o,parentGroupHit:M},$):i&&!M&&!i.has($)?null:z.layerType==="groupLayer"?r.jsx(Ut,{layerState:q,layerConfig:z,draggable:!1,toggleable:!0,globalObserver:e,filterHits:M?null:i,filterValue:M?null:o,isFirstChild:K},$):r.jsx(Lt,{layerState:q,layerConfig:z,draggable:!1,toggleable:!0,globalObserver:e,filterValue:o},$):null})})})})};function jn({layer:e,toggleable:t,globalObserver:n,draggable:s}){const[i,o]=c.useState(e.get("visible"));c.useEffect(()=>{n.subscribe("layerswitcher.backgroundLayerChanged",a=>{a!==e.get("name")?o(!1):o(!0)})},[e,n]);const l=()=>{if(t){const a=e.get("name");if(e.isFakeMapLayer)switch(a){case"-3":document.getElementById("map").style.backgroundColor="#FFF";break;case"-2":document.getElementById("map").style.backgroundColor="#000";break;case"-1":document.getElementById("map").style.backgroundColor="#FFF";break}else document.getElementById("map").style.backgroundColor="#FFF",e.setVisible(!0);n.publish("layerswitcher.backgroundLayerChanged",a)}};return r.jsx(Er,{draggable:s,layer:e,clickCallback:l,selected:i,globalObserver:n})}function Oi({globalObserver:e,map:t,filterValue:n,layersState:s,staticLayerConfig:i,staticLayerTree:o}){const[l,a]=c.useState([]),[,d]=c.useState(!1),[u,h]=c.useState({}),f=()=>d(m=>!m),g=c.useCallback((m,C)=>{for(const k of m){for(const j of k.layers)if(j.id===C)return j;if(k.groups){const j=g(k.groups,C);if(j)return j}}return null},[]),p=c.useCallback(()=>{const m=t.getAllLayers().filter(C=>C.get("quickAccess")===!0);return n===""||n===null?m:m.filter(C=>C.get("caption").toLocaleLowerCase().includes(n.toLocaleLowerCase()))},[t,n]),b=c.useCallback((m,C)=>{if(!C||!Array.isArray(C))return null;for(const k of C){if(k.children&&k.children.some(G=>G.id===m))return k;const j=b(m,k.children);if(j)return j}return null},[]),w=c.useCallback((m,C,k=[])=>{if(!C||!Array.isArray(C))return null;for(const j of C){const G=i[j.id]?.caption||j.name||j.id,O=[...k,{id:j.id,name:G}];if(j.id===m)return k;if(j.children){const M=w(m,j.children,O);if(M)return M}}return null},[i]),y=c.useCallback((m,C,k=[])=>{if(!C||!Array.isArray(C))return[];for(const j of C){const F=[...k,j.id];if(j.children&&j.children.some(M=>M.id===m))return F;const G=y(m,j.children,F);if(G.length>0)return G}return[]},[]);c.useEffect(()=>{const m=e.subscribe("core.layerQuickAccessChanged",k=>{k.target.get("quickAccess")===!0?k.target.on("change:visible",f):k.target.un("change:visible",f),a(p())}),C=e.subscribe("layerswitcher.quickAccessLayersLoaded",({layerIds:k})=>{if(!k||!Array.isArray(k)||k.length===0)return;const j=new Set;
1k.forEach(F=>{const G=s[F],O=G?.visible===!0||G?.layerIsToggled===!0,T=t.getAllLayers().find(W=>W.get("name")===F)?.get("visible")===!0;(O||T)&&y(F,o).forEach(S=>{j.add(S)})}),j.size>0&&h(F=>{const G={...F};return j.forEach(O=>{G[O]=!0}),G})});return a(p()),function(){m.unsubscribe(),C.unsubscribe()}},[e,p,y,o,s,t]);const I=c.useCallback((m,C)=>{if(!m||!m.children)return null;const k=m.children.map(j=>C.has(j.id)?j:i[j.id]?.layerType==="group"?I(j,C):null).filter(Boolean);return k.length===0?null:{...m,children:k}},[i]),A=new Set(l.map(m=>m.get("name"))),D=c.useCallback((m,C)=>{if(!C||!C.children)return!1;if(C.children.some(k=>k.id===m.id))return!0;for(const k of C.children)if(i[k.id]?.layerType==="group"&&D(m,k))return!0;return!1},[i]),R={};l.forEach(m=>{const C=m.get("name"),k=b(C,o);k?(R[k.id]||(R[k.id]={group:k,layers:[]}),R[k.id].layers.push(m)):(R.ungrouped||(R.ungrouped={group:null,layers:[]}),R.ungrouped.layers.push(m))});const x=Object.values(R).filter(m=>{if(!m.group)return!0;for(const C of Object.values(R))if(!(!C.group||C.group.id===m.group.id)&&D(m.group,C.group))return!1;return!0}),E=x.filter(m=>m.group).map(m=>m.group.id).sort().join(",");return c.useEffect(()=>{if(E){const m=E.split(",");h(C=>{const k={...C};return m.forEach(j=>{j&&k[j]===void 0&&(k[j]=!1)}),k})}},[E]),r.jsx(_,{sx:{".layer-item:last-child .MuiBox-root":{borderBottom:"none"}},children:x.map((m,C)=>{if(m.group){const k=I(m.group,A);if(!k)return null;const j=o?w(m.group.id,o):null,G=i[m.group.id]?.caption||m.group.name||m.group.id,O=j?[...j,{id:m.group.id,name:G}]:[{id:m.group.id,name:G}],M=P=>{if(!P)return!1;const Q=P.id,v=i[Q];return v?v.layerType==="group"?Array.isArray(P.children)&&P.children.some($=>M($)):s[Q]?.visible===!0:!1},T=M(k),W=C===x.length-1,S=x.some(P=>!P.group),X=!W||S,V=u[m.group.id]===!0,ne=P=>{P?.stopPropagation();const Q=m.group.id;h(v=>({...v,[Q]:!v[Q]}))},se=(P,Q=!1)=>{if(!P)return null;const v=P.id,$=i[v];if(!$)return null;if($.layerType==="group")return!P.children||P.children.length===0?null:P.children.map((K,z)=>se(K,Q&&z===0));const q=s[v];return $.layerType==="groupLayer"?r.jsx(Ut,{layerState:q,layerConfig:$,draggable:!1,toggleable:!0,globalObserver:e,filterValue:n,isFirstChild:Q},v):r.jsx(Lt,{layerState:q,layerConfig:$,draggable:!1,toggleable:!0,globalObserver:e,filterValue:n},v)};return r.jsxs(_,{sx:P=>({...X&&{borderBottom:`${P.spacing(.2)} solid ${P.palette.divider}`}}),children:[O&&O.length>0&&r.jsxs(_,{onClick:ne,sx:P=>({display:"flex",alignItems:"center",cursor:"pointer",py:.5,minWidth:0,...V&&{borderBottom:`${P.spacing(.2)} solid ${P.palette.divider}`},"&:hover":{backgroundColor:"action.hover"}}),children:[r.jsx(Yt,{sx:{transform:V?"rotate(90deg)":"rotate(0deg)",transition:"transform 300ms ease",fontSize:"1rem",mr:1}}),r.jsx(H,{variant:"button",noWrap:!0,sx:{color:T,fontSize:"0.9rem",fontWeight:T?700:400,userSelect:"none",overflow:"hidden",textOverflow:"ellipsis",display:"block",minWidth:0,flex:1},children:O.map((P,Q)=>r.jsxs(_,{component:"span",children:[P.name,Q<O.length-1&&r.jsx(_,{component:"span",sx:{margin:"0 4px"},children:">"})]},P.id))})]}),r.jsx(Xe,{in:V,unmountOnExit:!0,children:r.jsx(_,{sx:{ml:1},children:k.children?.map((P,Q)=>se(P,Q===0))})})]},`group-${m.group.id}`)}else return m.layers.map(k=>{const j=k.get("name"),F=s[j],G=i[j];return G?k.get("layerType")==="base"?r.jsx(jn,{layer:k,globalObserver:e,draggable:!1,toggleable:!0},k.isFakeMapLayer?k.get("caption"):k.ol_uid):k.get("layerType")==="groupLayer"?r.jsx(Ut,{layerState:F,layerConfig:G,globalObserver:e,toggleable:!0,draggable:!1,isGroupLayerQuickAccess:k.get("quickAccess")===!0},k.ol_uid):r.jsx(Lt,{layerState:F,layerConfig:G,draggable:!1,toggleable:!0,globalObserver:e,isLayerQuickAccess:k.get("quickAccess")===!0},k.ol_uid):null})})})}function Ri({handleAddLayersToQuickAccess:e,handleClearQuickAccessLayers:t}){const[n,s]=c.useState(null),i=!!n;c.useEffect(()=>{const a=()=>{s(null)};return document.addEventListener("closeQuickAccessMenu",a),()=>{document.removeEventListener("closeQuickAccessMenu",a)}},[]);const o=a=>{a.stopPropagation(),a.preventDefault(),s(a.currentTarget)},l=a=>{a.stopPropagation(),a.preventDefault(),s(null)};return r.jsxs(r.Fragment,{children:[r.jsx(de,{id:"quick-access-menu-button",size:"small","aria-controls":i?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":i?"true":void 0,onClick:o,children:r.jsx(le,{title:"Fler val för snabbåtkomst",children:r.jsx(Xt,{})})}),r.jsxs(Dt,{anchorEl:n,open:i,onClose:l,variant:"menu",slotProps:{paper:{id:"quick-access-menu-content"}},children:[r.jsxs(he,{onClick:a=>{a.stopPropagation(),s(null),e(a)},children:[r.jsx(me,{children:r.jsx(Rs,{fontSize:"small"})}),r.jsx(ue,{children:"Lägg till tända lager"})]}),r.jsxs(he,{onClick:a=>{a.stopPropagation(),s(null),t(a)},children:[r.jsx(me,{children:r.jsx(On,{fontSize:"small"})}),r.jsx(ue,{children:"Rensa allt"})]})]})]})}function Mi({infoCallback:e,deleteCallback:t,downloadCallback:n,editCallback:s,favorite:i}){const[o,l]=c.useState(null),a=!!o,d=b=>{b.stopPropagation(),b.preventDefault(),l(b.currentTarget)},u=b=>{b.stopPropagation(),b.preventDefault(),l(null)},h=b=>{b.stopPropagation(),l(null),n(i)},f=b=>{b.stopPropagation(),l(null),e(i)},g=b=>{b.stopPropagation(),l(null),s(i)},p=b=>{b.stopPropagation(),l(null),t(i)};return c.useEffect(()=>{const b=()=>{l(null)};return document.addEventListener("closeFavoritesListMenu",b),()=>{document.removeEventListener("closeFavoritesListMenu",b)}},[]),r.jsxs(r.Fragment,{children:[r.jsx(je,{id:"favorites-list-options-button",size:"small","aria-controls":a?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":a?"true":void 0,onClick:d,children:r.jsx(le,{title:"Hantera",children:r.jsx(Xt,{})})}),r.jsxs(Dt,{slotProps:{paper:{id:"favorites-list-options-menu"}}
1,anchorEl:o,open:a,onClose:u,variant:"menu",onClick:b=>b.stopPropagation(),children:[r.jsxs(he,{onClick:f,children:[r.jsx(me,{children:r.jsx(lt,{fontSize:"small"})}),r.jsx(ue,{children:"Info"})]}),r.jsx(Ye,{}),r.jsxs(he,{onClick:g,children:[r.jsx(me,{children:r.jsx(Rn,{fontSize:"small"})}),r.jsx(ue,{children:"Redigera"})]}),r.jsxs(he,{onClick:p,children:[r.jsx(me,{children:r.jsx(On,{fontSize:"small"})}),r.jsx(ue,{children:"Ta bort"})]}),r.jsx(Ye,{}),r.jsxs(he,{onClick:h,children:[r.jsx(me,{children:r.jsx(yr,{fontSize:"small"})}),r.jsx(ue,{children:"Exportera"})]})]})]})}function Fi({favorites:e,loadFavoriteCallback:t,map:n,removeCallback:s,editCallback:i,functionalCookiesOk:o,cookieSettingCallback:l}){const[a,d]=c.useState(null),[u,h]=c.useState(!1),[f,g]=c.useState(!1),[p,b]=c.useState(!1),[w,y]=c.useState(""),[I,A]=c.useState(""),D=T=>{d(T),b(!p)},R=T=>{d(T),A(T.metadata.title),y(T.metadata.description),g(!f)},x=()=>{s(a),h(!u)},E=()=>{i(a,I,w),g(!f)},m=T=>{d(T),h(!u)},C=T=>{j(T)},k=T=>new Date(T).toLocaleTimeString([],{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"}),j=T=>{try{new Blob}catch{console.info("JSON export not supported on current platform.");return}const W=new Blob([JSON.stringify(T,null,2)],{type:"application/json"});Ms.saveAs(W,`${T.metadata.title} - ${new Date().toLocaleString()}.json`)},F=T=>{let W="Bakgrundskarta hittades inte";return T.forEach(S=>{const X=n.getAllLayers().find(V=>V.get("name")===S.id);X&&X.get("layerType")==="base"?W=X.get("caption"):S.id<0&&(S.id==="-2"?W="Svart":W="Vit")}),W},G=()=>ke.createPortal(r.jsxs(et,{open:p,"aria-labelledby":"infoalert-dialog-title","aria-describedby":"infoalert-dialog-description",onMouseDown:T=>{T.stopPropagation()},onClick:T=>{T.stopPropagation()},children:[r.jsx(tt,{sx:{pb:0},id:"infoalert-dialog-title",children:a?a.metadata.title:""}),r.jsxs(nt,{children:[r.jsx(qt,{sx:{pb:2},children:a&&k(a.metadata.savedAt)}),r.jsx(H,{children:a?a.metadata.description:""}),r.jsx(qt,{sx:{mt:2,mb:1},children:"Bakgrund"}),r.jsxs(ye,{direction:"row",spacing:1,children:[r.jsx(wr,{fontSize:"small"}),r.jsx(H,{children:a&&F(a.layers)})]}),r.jsx(Ye,{sx:{mt:2}}),r.jsx(H,{sx:{mt:2,mb:1},children:"Vid laddning ersätts lagren i snabbåtkomst. Alla tända lager i kartan släcks och ersätts med favoritens tända lager."})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:T=>{T.stopPropagation(),b(!1)},children:"Avbryt"}),r.jsx(ge,{onClick:T=>{T.stopPropagation(),t(a,!1,!0),b(!1)},variant:"contained",children:"Ladda"})]})]}),document.getElementById("map")),O=()=>ke.createPortal(r.jsxs(et,{open:f,"aria-labelledby":"editalert-dialog-title","aria-describedby":"editalert-dialog-description",onMouseDown:T=>{T.stopPropagation()},onClick:T=>{T.stopPropagation()},children:[r.jsx(tt,{id:"editalert-dialog-title",children:"Redigera"}),r.jsxs(nt,{children:[r.jsx(ct,{fullWidth:!0,id:"edit-workspace-title",label:"Titel",variant:"standard",sx:{mb:1},value:I,onChange:T=>A(T.target.value)}),r.jsx(ct,{fullWidth:!0,id:"edit-workspace-description",label:"Beskrivning",multiline:!0,maxRows:4,variant:"standard",value:w,onChange:T=>y(T.target.value)})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:T=>{T.stopPropagation(),g(!f)},children:"Avbryt"}),r.jsx(ge,{variant:"contained",onClick:T=>{T.stopPropagation(),E()},autoFocus:!0,children:"Spara"})]})]}),document.getElementById("map")),M=()=>r.jsxs(ye,{spacing:2,sx:{p:2},children:[r.jsx(H,{variant:"body2",children:"Det ser ut som att du har valt att inte tillåta funktionella kakor. På grund av detta så kan du inte se dina sparade favoriter eller lägga till nya."}),r.jsx(H,{variant:"body2",children:"Klicka nedan för att ändra inställningarna."}),r.jsx(ge,{fullWidth:!0,variant:"contained",onClick:T=>{T.stopPropagation(),l()},children:"Cookie-inställningar"})]});return r.jsxs(r.Fragment,{children:[o?r.jsx(Kt,{id:"favorites-list-view",dense:!0,sx:{p:0},children:e.length?e.map((T,W)=>r.jsxs(st,{disableRipple:!0,dense:!0,divider:!0,onClick:S=>{S.stopPropagation(),t(T,!0,!0)},children:[r.jsx(me,{sx:{px:0,minWidth:"34px"},children:r.jsx(vr,{fontSize:"small"})}),r.jsx(ue,{primary:T.metadata.title,secondary:k(T.metadata.savedAt),slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis"},secondary:{pr:5,overflow:"hidden",textOverflow:"ellipsis"}}}),r.jsx(dt,{sx:{right:"4px"}
1,children:r.jsx(Mi,{infoCallback:D,deleteCallback:m,editCallback:R,downloadCallback:C,favorite:T})})]},`lp${T.metadata.title}-${W}`)):r.jsx(H,{sx:{p:2},children:"Inga favoriter finns sparade"})}):M(),r.jsx(Gt,{open:u,titleName:"Ta bort",contentDescription:`Du kommer att ta bort "${a?.metadata.title}, ${k(a?.metadata.savedAt)}" permanent.`,cancel:"Avbryt",confirm:"Ta bort",handleConfirm:x,handleAbort:()=>{h(!u)}}),O(),G()]})}function Bi({handleFavoritesViewToggle:e,loadFavoriteCallback:t,addFavoriteCallback:n,favorites:s,functionalCookiesOk:i}){const[o,l]=c.useState(null),a=!!o;c.useEffect(()=>{const p=()=>{l(null)};return document.addEventListener("closeFavoritesMenu",p),()=>{document.removeEventListener("closeFavoritesMenu",p)}},[]);const d=p=>{p.stopPropagation(),p.preventDefault(),l(p.currentTarget)},u=p=>{p.stopPropagation(),p.preventDefault(),l(null)},h=(p,b)=>{p.stopPropagation(),l(null),t(b,!0,!1)},f=p=>{p.stopPropagation(),l(null),n()},g=p=>{p.stopPropagation(),l(null),e({event:p})};return r.jsxs(r.Fragment,{children:[r.jsx(je,{size:"small",id:"favorites-menu-button","aria-controls":a?"favorites-menu":void 0,"aria-haspopup":"true","aria-expanded":a?"true":void 0,onClick:i?d:g,children:r.jsx(le,{title:"Mina favoriter",children:r.jsx(Fs,{})})}),r.jsxs(Dt,{anchorEl:o,"aria-labelledby":"favorites-menu-button",open:a,onClose:u,variant:"menu",onClick:p=>p.stopPropagation(),slotProps:{paper:{id:"favorites-menu"}},children:[r.jsxs(he,{onClick:f,children:[r.jsx(me,{children:r.jsx(Bs,{fontSize:"small"})}),r.jsx(ue,{children:"Spara till favoriter"})]}),r.jsxs(he,{id:"edit-favorites",onClick:g,children:[r.jsx(me,{children:r.jsx(Rn,{fontSize:"small"})}),r.jsx(ue,{children:"Redigera favoriter"})]}),s.length>0&&r.jsx(Ye,{}),s.map(p=>r.jsxs(he,{onClick:b=>h(b,p),children:[r.jsx(me,{children:r.jsx(vr,{fontSize:"small"})}),r.jsx(ue,{children:p.metadata.title})]},p.metadata.title))]})]})}function Pi({backButtonCallback:e,importFavoritesCallback:t,functionalCookiesOk:n,favoritesInfoText:s}){const{enqueueSnackbar:i}=Jt(),o=c.useRef(null),[l,a]=c.useState(!1),[d,u]=c.useState(!1),h=y=>{y.stopPropagation(),u(!1),setTimeout(()=>{e()},100)},f=y=>{y.stopPropagation(),a(!l)},g=y=>{y.stopPropagation(),o.current&&o.current.click()},p=()=>{u(!0)},b=()=>{u(!1)},w=y=>{const I=y.target.files?.[0];if(I){const A=new FileReader;A.readAsText(I),A.onload=D=>{const R=D.target?.result;try{const x=JSON.parse(R);x.layers?.length>0&&t(x)}catch(x){console.error(`Favorite could not be parsed. Error: ${x}`),i("Favoriten kunde inte laddas, kontrollera att .json filen ser korrekt ut.",{variant:"error",anchorOrigin:{vertical:"bottom",horizontal:"center"}})}}}};return r.jsxs(_,{sx:y=>({p:1,backgroundColor:y.palette.grey[100],borderBottom:`${y.spacing(.2)} solid ${y.palette.divider}`,...y.applyStyles("dark",{backgroundColor:"#373737"})}),onClick:y=>y.stopPropagation(),children:[r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(le,{open:d,onClose:b,onOpen:p,title:"Tillbaka",TransitionProps:{timeout:0},children:r.jsx(je,{id:"favorites-list-back-button",onClick:h,children:r.jsx(en,{})})}),r.jsx(_,{sx:{flexGrow:1,textAlign:"center"},children:r.jsx(H,{variant:"subtitle1",children:"Mina favoriter"})}),r.jsx("input",{ref:o,type:"file",accept:".json",style:{display:"none"},onChange:w}),r.jsx(je,{id:"import-favorites-button",disabled:!n,onClick:g,children:r.jsx(le,{title:"Importera",children:r.jsx(Ps,{})})}),r.jsx(je,{onClick:f,children:r.jsx(le,{title:l?"Dölj info":"Visa info",children:r.jsx(lt,{})})})]}),r.jsx(Xe,{in:l,timeout:"auto",unmountOnExit:!0,className:"infoCollapse",children:r.jsx(_,{sx:y=>({px:1,pt:1,borderTop:`${y.spacing(.2)} solid ${y.palette.divider}`}),children:r.jsx(H,{variant:"subtitle2",children:s})})})]})}function Ni({handleFavoritesViewToggle:e,app:t,map:n,favoriteViewDisplay:s,globalObserver:i,favoritesInfoText:o,handleQuickAccessSectionExpanded:l}){const{enqueueSnackbar:a}=Jt(),[d,u]=c.useState(!1),[h,f]=c.useState(""),[g,p]=c.useState(""),[b,w]=c.useState(!1),[y,I]=c.useState(!1),[A,D]=c.useState(null),[R,x]=c.useState([]),[E,m]=c.useState(null),[C,k]=c.useState(!1),[j,F]=c.useState(!1),{functionalCookiesOk:G}=mi(i),O=We();c.useEffect(()=>{const L=Je.get("layerswitcher");L.savedLayers?.length>0&&$(L.savedLayers),u(!0)},[]),c.useEffect(()=>{const L=Je.get("layerswitcher");Je.set("layerswitcher",{...L,savedLayers:R})},[R]);const M=()=>{ne().length>0?w(!b):F(!0)},T=(L,U,Z)=>{k(Z),D(L),U?I(!y):W(L,Z)},W=(L,U)=>{I(!1),L=L||A;const Z=P(L.layers);Z.length>0?m({missingLayers:Z,layers:L.layers,title:L.metadata.title}):S(L.layers,L.metadata.title,U)},S=(L,U,Z)=>{X(),V(),m(null);const re=n.getAllLayers(),oe=new Set;
1L.forEach(ae=>{const ce=re.find(Te=>Te.get("name")===ae.id);if(ce)if(ce.get("layerType")!=="base"&&(ce.set("quickAccess",!0),oe.add(ae.id)),ce.setZIndex(ae.drawOrder),ce.setOpacity(ae.opacity),ce.get("layerType")==="group")if(ae.visible===!0){const Te=ae.subLayers?ae.subLayers:[];O.setSubLayersVisible(ae.id,Te)}else i.publish("layerswitcher.hideLayer",ce);else ce.get("layerType")==="base"&&i.publish("layerswitcher.backgroundLayerChanged",ce.get("name")),ce.set("visible",ae.visible);else ae.id<0&&(i.publish("layerswitcher.backgroundLayerChanged",ae.id),ae.id==="-2"?document.getElementById("map").style.backgroundColor="#000":document.getElementById("map").style.backgroundColor="#FFF")});const Fe=re.filter(ae=>ae.get(He)===!0).map(ae=>ae.get("name"));Je.set(Ft,Fe),oe.size>0&&i.publish("layerswitcher.quickAccessLayersLoaded",{layerIds:Array.from(oe)}),a(`${U} har nu laddats till snabbåtkomst.`,{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}}),(Z!==void 0?Z:C)?e({setQuickAccessSectionExpanded:!0}):l()},X=()=>{ne().map(L=>L.set("quickAccess",!1))},V=()=>{n.getAllLayers().filter(L=>L.get("visible")===!0).forEach(L=>{L.get("layerType")==="group"?i.publish("layerswitcher.hideLayer",L):L.get("layerType")!=="system"&&L.set("visible",!1)})},ne=()=>n.getAllLayers().filter(L=>L.get("quickAccess")===!0),se=()=>{i.publish("core.showCookieBanner")},P=L=>(n.getAllLayers().forEach(U=>{const Z=L.find(re=>re.id===U.get("name"));Z&&(L=L.filter(re=>re.id!==Z.id))}),L.length>0&&(L=L.filter(U=>U.id>0)),L),Q=()=>{const L=ne().map(fe=>({id:fe.get("name"),visible:fe.getVisible(),subLayers:fe.get("layerType")==="group"?fe.get("subLayers"):[],opacity:fe.getOpacity(),drawOrder:fe.getZIndex()}));if(L.length===0){a("Inga lager i snabbåtkomst tillagda, därmed inget att spara.",{variant:"warning",anchorOrigin:{vertical:"bottom",horizontal:"center"}});return}const U=n.getLayers().getArray().find(fe=>fe.get("layerType")==="base"&&fe.getVisible());if(U)L.push({id:U.get("name"),visible:!0,subLayers:[],opacity:U.getOpacity(),drawOrder:U.getZIndex()});else{const fe=document.getElementById("map").style.backgroundColor;L.push({id:fe==="rgb(0, 0, 0)"?"-2":"-1",visible:!0,subLayers:[],opacity:1,drawOrder:-1})}const Z=Array.isArray(t?.config?.userSpecificMaps)&&t.config.userSpecificMaps.find(fe=>fe.mapConfigurationName===t.config.activeMap)?.mapConfigurationTitle,re={savedAt:new Date,numberOfLayers:L.length,title:g,description:h,...Z&&{mapName:Z}},oe={layers:L,metadata:re},Fe=[...R];Fe.push(oe),$(Fe),p(""),f(""),a(`${re.title} har lagts till i favoriter.`,{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}})},v=L=>{let U=[...R];U=U.filter(Z=>Z!==L),$(U),a(`${L.metadata.title} har tagits bort.`,{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}})},$=L=>{const U=L.sort((Z,re)=>{const oe=Z.metadata.title.localeCompare(re.metadata.title);return oe===0?new Date(re.metadata.savedAt)-new Date(Z.metadata.savedAt):oe});x(U)},q=(L,U,Z)=>{const re=R.findIndex(fe=>fe===L),oe=[...R],Fe={...oe[re],metadata:{...oe[re].metadata,title:U,description:Z}};oe[re]=Fe,$(oe),a("Favoriten uppdaterades utan problem",{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}})},K=()=>{m(null)},z=L=>{const U=[...R];U.push(L),$(U),a("Favoriten importerades utan problem",{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}})},Y=()=>ke.createPortal(r.jsxs(_,{sx:[{height:"inherit",maxHeight:"inherit",flexDirection:"column",overflow:"hidden"},s?{display:"flex"}:{display:"none"}],children:[r.jsx(Pi,{importFavoritesCallback:z,backButtonCallback:e,functionalCookiesOk:G,favoritesInfoText:o}),r.jsx(_,{sx:{flexGrow:1,overflowY:"auto"},children:r.jsx(Fi,{map:n,favorites:R,editCallback:q,loadFavoriteCallback:T,removeCallback:v,functionalCookiesOk:G,cookieSettingCallback:se})})]}),document.getElementById("layer-switcher-view-root")),N=()=>ke.createPortal(r.jsxs(et,{open:!!E,onClose:K,onMouseDown:L=>{L.stopPropagation()},onClick:L=>{L.stopPropagation()},children:[r.jsx(tt,{children:"Lager saknas"}
1),r.jsxs(nt,{children:[r.jsxs(H,{children:[E&&"Följande lagerid:n kan inte hittas i kartans lagerlista:",r.jsx("br",{})]}),r.jsx("ul",{children:E?.missingLayers.map(L=>r.jsx("li",{children:L.id},L.id))}),r.jsxs(H,{children:[E&&"Det kan bero på att lagret har utgått. Vänligen kontrollera och uppdatera favoriten.",r.jsx("br",{})]})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:L=>{L.stopPropagation(),K()},children:"Avbryt"}),r.jsx(ge,{onClick:L=>{L.stopPropagation(),S(E.layers,E.title)},variant:"contained",children:"Fortsätt"})]})]}),document.getElementById("map")),ie=()=>ke.createPortal(r.jsxs(et,{open:b,"aria-labelledby":"saveFavorite-dialog-title","aria-describedby":"save-favorite-dialog-description",onMouseDown:L=>{L.stopPropagation()},onClick:L=>{L.stopPropagation()},children:[r.jsx(tt,{id:"saveFavorite-dialog-title",children:"Spara till favoriter"}),r.jsxs(nt,{children:[r.jsx(H,{id:"save-favorite-dialog-description",sx:{mb:1},children:"Spara aktuell snabbåtkomst som en favorit lokalt på din enhet så att du kan använda den senare."}),r.jsx(ct,{fullWidth:!0,id:"save-favorite-title",label:"Titel",variant:"standard",sx:{mb:1},value:g,onChange:L=>p(L.target.value)}),r.jsx(ct,{fullWidth:!0,id:"save-favorite-description",label:"Beskrivning",multiline:!0,maxRows:4,variant:"standard",value:h,onChange:L=>f(L.target.value)})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:L=>{L.stopPropagation(),w(!b)},children:"Avbryt"}),r.jsx(ge,{variant:"contained",onClick:L=>{L.stopPropagation(),w(!b),Q()},autoFocus:!0,children:"Spara"})]})]}),document.getElementById("map"));return r.jsxs(r.Fragment,{children:[r.jsx(Bi,{favorites:R,handleFavoritesViewToggle:e,addFavoriteCallback:M,loadFavoriteCallback:T,functionalCookiesOk:G}),d&&Y(),r.jsx(Gt,{open:y,titleName:"Ladda favorit",contentDescription:`Vid laddning ersätts lagren i snabbåtkomst. Alla tända lager i 2 kartan släcks och ersätts med favoritens tända lager.`,cancel:"Avbryt",confirm:"Ladda",handleConfirm:W,handleAbort:()=>{I(!y)}}),r.jsx(Gt,{open:j,titleName:"Spara till favoriter",contentDescription:"Det finns inga lager i snabbåtkomst. Vänligen lägg till lager för att spara till favoriter.",cancel:"Stäng",handleAbort:()=>{F(!1)}}),ie(),N()]})}const $i=({show:e,map:t,app:n,globalObserver:s,enableQuickAccessPresets:i,enableUserQuickAccessFavorites:o,handleQuickAccessPresetsToggle:l,favoritesViewDisplay:a,handleFavoritesViewToggle:d,favoritesInfoText:u,filterValue:h,enqueueSnackbar:f,layersState:g,staticLayerConfig:p,staticLayerTree:b})=>{const w=Object.values(g).filter(j=>j.quickAccess),y=w.some(j=>j.visible),I=e||!1,[A,D]=c.useState(!1),[R,x]=c.useState(!1);c.useEffect(()=>{const j=s.subscribe("layerswitcher.expandQuickAccess",()=>{D(!0)});return()=>{j.unsubscribe()}},[s]);const E=j=>{j.stopPropagation(),x(!0)},m=We(),C=()=>{x(!1),m.clearQuickAccess()},k=j=>{j.stopPropagation(),m.addVisibleLayersToQuickAccess(),f&&f("Tända lager har nu lagts till i snabbåtkomst.",{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}}),D(!0)};return I&&r.jsxs(_,{id:"quick-access-view",sx:j=>({borderBottom:`${j.spacing(A?.2:0)} solid ${j.palette.divider}`}),children:[r.jsxs(st,{disableRipple:!0,onClick:()=>{!A&&w?.length===0||D(!A)},sx:j=>({p:0,borderBottom:`${j.spacing(.2)} solid ${j.palette.divider}`}),dense:!0,children:[r.jsx(de,{size:"small",sx:[{pr:0},w?.length>0?{visibility:"visible"}:{visibility:"hidden"}],disableRipple:!0,children:r.jsx(Yt,{style:{transform:A?"rotate(90deg)":"",transition:"transform 300ms ease"}})}),r.jsxs(_,{sx:{display:"flex",position:"relative",width:"100%",alignItems:"center",py:.5,pr:1},children:[r.jsx(de,{sx:{pl:0},disableRipple:!0,size:"small",children:r.jsx(jr,{})}),r.jsx(ue,{primary:"Snabbåtkomst",slotProps:{primary:{variant:"body1",fontWeight:y?"bold":"inherit"}}}),r.jsxs(dt,{sx:{right:"4px"},children:[i&&r.jsx(le,{title:"Teman",children:r.jsx(de,{id:"quick-access-theme-button",onClick:l,children:r.jsx(Cr,{fontSize:"small"})})}),o&&r.jsx(Ni,{favoriteViewDisplay:a,app:n,map:t,handleFavoritesViewToggle:d,globalObserver:s,favoritesInfoText:u,handleQuickAccessSectionExpanded:()=>{D(!0)}}),r.jsx(Ri,{handleAddLayersToQuickAccess:k,handleClearQuickAccessLayers:E})]})]})]}),r.jsx(Xe,{in:A,children:r.jsx(_,{sx:{marginLeft:"31px"},children:r.jsx(Oi,{filterValue:h,map:t,globalObserver:s,layersState:g,staticLayerConfig:p,staticLayerTree:b})})}),r.jsx(Gt,{open:R===!0,titleName:"Rensa allt",contentDescription:"Alla lager i snabbåtkomst kommer nu att tas bort.",cancel:"Avbryt",confirm:"Rensa",handleConfirm:C,handleAbort:()=>{x(!1)}})]})},zi=Ns($i),Vi=({scrollToTop:e,scrollToBottom:t})=>{const[n,s]=c.useState(null),[i,o]=c.useState(!1);c.useEffect(()=>{const u=()=>{s(null),o(!1)};return document.addEventListener("closeLayersMenu",u),()=>{document.removeEventListener("closeLayersMenu",u)}},[]);const l=u=>{u.stopPropagation(),u.preventDefault(),s(u.currentTarget),o(!0)},a=u=>{u.stopPropagation(),u.preventDefault(),s(null),o(!1)},d=We();return r.jsxs(r.Fragment,{children:[r.jsx(je,{id:"layerswitcher-actions-menu-button",size:"small","aria-controls":i?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":i?"true":void 0,onClick:l,sx:{my:"3px",ml:"2px"},children:r.jsx(le,{title:"Fler funktioner för Lagerhanteraren",children:r.jsx(Xt,{})})}),r.jsxs(Dt,{anchorEl:n,open:i,onClose:a,variant:"menu",slotProps:{paper:{id:"layerswitcher-actions-menu"}},children:[r.jsxs(he,{onClick:u=>{u.stopPropagation(),s(null),o(!1),d.setAllLayersInvisible()},children:[r.jsx(me,{children:r.jsx(Mn,{fontSize:"small"})}),r.jsx(ue,{children:"Dölj alla aktiva lager"})]}),r.jsxs(he,{onClick:u=>{u.stopPropagation(),s(null),o(!1),e()},children:[r.jsx(me,{children:r.jsx($s,{fontSize:"small"})}),r.jsx(ue,{children:"Scrolla till toppen"})]}),r.jsxs(he,{onClick:u=>{u.stopPropagation(),s(null),o(!1),t()},children:[r.jsx(me,{children:r.jsx(zs,{fontSize:"small"})}),r.jsx(ue,{children:"Scrolla till botten"})]})]})]})},Wi=1e3,qi=({minFilterLength:e=3,handleFilterValueChange:t,handleFilterSubmit:n,scrollToTop:s,scrollToBottom:i})=>{const o=c.useRef(null),[l,a]=c.useState(!1),d=u=>{u?.length>0&&u?.length<e?a(!0):a(!1)};return r.jsxs(r.Fragment,{children:[r.jsx(le,{title:`Skriv minst ${e} tecken eller tryck enter`,placement:"right",enterDelay:Wi,open:l,children:r.jsx(ct,{size:"small",onChange:u=>{t(u.target.value),d(u.target.value)},onFocus:u=>{u.target.value?.length>0&&d(u.target.value)},onBlur:u=>{d("")},onKeyDown:u=>{u.key==="Enter"&&n(u.target.value)},fullWidth:!0,placeholder:"Sök lager",inputRef:o,variant:"standard",sx:{pt:1.25,pb:1,pl:1.75,pr:.5},slotProps:{input:{disableUnderline:!0,endAdornment:r.jsxs(Fn,{position:"end",children:[o.current?.value.length>=e?r.jsx(le,{title:"Rensa sökning",children:r.jsx(je,{onClick:()=>{o.current&&(o.current.value="",t(""),d(""))},size:"small",children:r.jsx(Vs,{})})}):r.jsx(je,{size:"small",disabled:!0,children:r.jsx(kr,{})}),r.jsx(Vi,{scrollToTop:s,scrollToBottom:i})]})},formHelperText:{color:"red"}}})}),r.jsx(Ye,{orientation:"horizontal",flexItem:!0})]})},Gi=3,Ui=({layersState:e,staticLayerTree:t,staticLayerConfig:n,layersTabOptions:s,displayContentOverlay:i,handleQuickAccessPresetsToggle:o,handleFavoritesViewToggle:l,globalObserver:a,map:d,app:u,style:h})=>{const{showFilter:f,showQuickAccess:g,enableQuickAccessPresets:p,enableUserQuickAccessFavorites:b,userQuickAccessFavoritesInfoText:w,layerFilterMinLength:y}=s||{},I=y??Gi,[A,D]=c.useState(null),[R,x]=c.useState(t);c.useEffect(()=>{function O(T){return Array.isArray(T)?T.map((W,S)=>({...W,defaultExpanded:S===0,children:S===0&&W.children?O(W.children):W.children})):[]}const M=()=>{const T=O(t);x(T)};return document.addEventListener("expandFirstGroup",M),()=>{document.removeEventListener("expandFirstGroup",M)}},[t]);const E=c.useCallback(O=>{const M=O===""?null:O;M?.length>0?D(M):(D(null),x(t))},[t]),m=Ws(O=>{const M=O===""?null:O;O===""?(D(null),x(t)):M.length>=I&&D(M)},100);let C=null;
2const k=Object.values(n).flatMap(O=>{let M=[];return O.allSubLayers?.length>1&&(M=O.allSubLayers.map(T=>[O.layerInfo.layersInfo[T].caption,O.id])),[...M,[O.caption,O.id]]});if(A){const O=A.toLocaleLowerCase(),M=k?.filter(([T,W])=>T.toLocaleLowerCase().includes(O))?.map(([T,W])=>W);C=new Set(M)}const j=c.useRef(null),F=c.useCallback(()=>{j.current.scroll(0,Number.MAX_SAFE_INTEGER,{behavior:"smooth"}),j.current?.scrollIntoView({block:"end"})},[j]),G=c.useCallback(()=>{j.current.scroll(0,0,{behavior:"smooth"})},[j]);return r.jsxs("div",{className:"ls-layers-tab-view",style:{...h,position:"relative",overflowY:"auto",flexGrow:"1",height:"inherit",maxHeight:"inherit",flexDirection:"column"},children:[f&&r.jsx(qi,{minFilterLength:I,handleFilterSubmit:O=>E(O),handleFilterValueChange:O=>m(O),scrollToTop:G,scrollToBottom:F}),C!==null&&C.size===0&&r.jsx(ue,{sx:{py:1,px:4},primary:"Inga resultat",slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis",variant:"body1"}}}),r.jsxs("div",{id:"layerslist-container",ref:j,style:{height:"inherit",overflowY:"auto",overflowX:"hidden",flexBasis:"100%",flexGrow:"1",flexShrink:"1",transform:"translateZ(0)"},children:[C===null&&r.jsx(zi,{show:g,map:d,app:u,globalObserver:a,enableQuickAccessPresets:p,enableUserQuickAccessFavorites:b,handleQuickAccessPresetsToggle:o,favoritesViewDisplay:i==="favorites",handleFavoritesViewToggle:l,favoritesInfoText:w,filterValue:A,layersState:e,staticLayerConfig:n,staticLayerTree:t}),R.map((O,M)=>r.jsx(Mr,{staticLayerConfig:n,staticGroupTree:O,layersState:e,globalObserver:a,filterHits:C,filterValue:A,isFirstGroup:M===0},O.id))]})]})},_i=Me(Zs)(({theme:e})=>({[e.breakpoints.up("sm")]:{display:"inline-flex"},marginRight:e.spacing(.5),border:`${e.spacing(.1)} solid ${e.palette.divider}`})),Zi=Me(kt)(({theme:e})=>({padding:e.spacing(1),justifyContent:"space-between",alignItems:"center",userSelect:"none"})),Qi=Me(kt)(({theme:e})=>({paddingLeft:e.spacing(.5)})),Hi=Me("div")(({theme:e})=>({padding:e.spacing(.5)}));class Kn extends c.Component{constructor(t){super(t),this.state={hidden:t.layer.getOpacity()===0,anchorEl:null,popoverOpen:!1},this.chapters=this.findChapters(this.props.layer.get("name"),this.props.chapters)}setHidden=t=>{var n=t.target.getOpacity();this.setState({hidden:n===0})};componentDidMount(){this.props.layer.on("change:opacity",this.setHidden)}componentWillUnmount(){this.props.layer.un("change:opacity",this.setHidden)}setLayerOpacity=t=>n=>{this.setState({hidden:!this.state.hidden},()=>{t.setOpacity(this.state.hidden?0:1)})};setLayerVisibility=t=>n=>{t.get("visible")&&(t.setOpacity(1),this.props.app.globalObserver.publish("layerswitcher.hideLayer",t)),t.set("visible",!t.get("visible"))};isOverflow(t){if(!t)return!1;let n=t.scrollLeft++;return t.scrollLeft-- >n}findChapters(t,n){return n?n.reduce((s,i)=>(Array.isArray(i.layers)&&(i.layers.some(o=>o===t)&&(s=[...s,i]),i.chapters.length>0&&(s=[...s,...this.findChapters(t,i.chapters)])),s),[]):[]}renderChapterLinks(){return this.chapters&&this.chapters.length>0&&this.chapters.length>0?r.jsx(Hi,{children:this.chapters.map((t,n)=>r.jsx("div",{children:r.jsxs(ge,{size:"small",onClick:()=>{this.setState({popoverOpen:!1}),this.openInformative(t)},children:[t.header,r.jsx(Lr,{})]})},n))}):null}openInformative=t=>{this.props.app.windows.find(s=>s.type==="informative").props.custom.open(t)};handleClose=()=>{this.setState({anchorEl:null,popoverOpen:!1})};renderChaptersPopover(t){this.setState({anchorEl:t,popoverOpen:!0})}renderInformativeIcon(){return this.props.chapters&&this.chapters&&this.chapters.length>0?r.jsx(je,{size:"small",onClick:t=>{this.chapters.length===1?this.openInformative(this.chapters[0]):this.renderChaptersPopover(t.target)},children:r.jsx(qs,{})}):null}render(){const{layer:t,title:n,type:s}=this.props,{hidden:i}=this.state;return r.jsxs(_i,{square:s==="flat",elevation:0,children:[r.jsxs(Zi,{container:!0,wrap:"nowrap","data-type":"bread-crumb",children:[r.jsx(kt,{children:r.jsx(je,{size:"small",onClick:vt.dragging?void 0:this.setLayerOpacity(t),"aria-label":"Visa/dölj lagret tillfälligt",children:i?r.jsx(Mn,{}):r.jsx(Gs,{})})}),this.renderInformativeIcon(),r.jsx(Qi,{children:r.jsx(H,{variant:"body2",noWrap:!0,sx:[i?{fontWeight:"normal"}:{fontWeight:"bold"}],children:n})}),r.jsx(kt,{children:r.jsx(je,{size:"small",onClick:vt.dragging?void 0:this.setLayerVisibility(t),"aria-label":"Ta bort lagret från kartan",children:r.jsx(Us,{})})})]}),r.jsx(_s,{id:"simple-popper",open:this.state.popoverOpen,anchorEl:this.state.anchorEl,onClose:this.handleClose,anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},children:this.renderChapterLinks()})]})}}const Ke="react-horizontal-scrolling-menu",Yi=`${Ke}--item`,Xi=`${Ke}--scroll-container`,Ki=`${Ke}--wrapper`,Ji=`${Ke}--inner-wrapper`,eo=`${Ke}--header`,to=`${Ke}--arrow-left`,no=`${Ke}--arrow-right`,ro=`${Ke}--footer`,so="itemId",Fr="data-key",Br="data-index",Pe={first:"first",last:"last",onInit:"onInit",onUpdate:"onUpdate"},Re="",io={current:null};
2class oo{constructor(){this.subscribe=(t,n)=>{this.observers.set(t,(this.observers.get(t)||[]).concat(n))},this.unsubscribe=(t,n)=>{const s=(this.observers.get(t)||[]).filter((i=>i!==n));s.length?this.observers.set(t,s):this.observers.delete(t)},this.emitUpdates=(t,n)=>{const s=this.observers.get(t)||[];s?.forEach((i=>i(n)))},this.updateBatch=(t,n=!0)=>{t.length&&(t.forEach((([s,i])=>this.emitUpdates(s,i))),n&&this.emitUpdates(Pe.onUpdate))},this.update=(t,n)=>{this.emitUpdates(t,n),this.emitUpdates(Pe.onUpdate)},this.observers=new Map}}class ao extends Map{constructor(){super(),this.subscribe=(t,n)=>this.observer.subscribe(t,n),this.unsubscribe=(t,n)=>this.observer.unsubscribe(t,n),this.isEdgeItem=({key:t,value:n,first:s=this.first(),last:i=this.last()})=>{const o=[];return t===s?.key?o.push([Pe.first,n]):t===i?.key&&o.push([Pe.last,n]),o},this.edgeItemsCheck=t=>{const n=this.first(),s=this.last(),i=t.find((([a])=>a===n?.key)),o=[];i&&o.push([Pe.first,i[1]]);const l=t.find((([a])=>a===s?.key));return l&&o.push([Pe.last,l[1]]),o},this.toArr=()=>this.sort([...this]),this.toItems=()=>this.toArr().map((([t])=>t)),this.sort=t=>t.sort((([,n],[,s])=>+n.index-+s.index)),this.set=(t,n)=>{const s=String(t),i=[[s,n]];return super.set(s,n),i.push(...this.isEdgeItem({key:s,value:n,first:this.first(),last:this.last()})),this.observer.updateBatch(i),this},this.setBatch=t=>{this.firstRun&&this.observer.update(Pe.onInit);const n=[...t];return this.sort(n).forEach((([s,i])=>{super.set(String(s),i)})),n.push(...this.edgeItemsCheck(n)),this.observer.updateBatch(n,!this.firstRun),this.firstRun=!1,this},this.first=()=>{var t;return(t=this.toArr()[0])===null||t===void 0?void 0:t[1]},this.last=()=>{var t,n;return(n=(t=this.toArr().slice(-1))===null||t===void 0?void 0:t[0])===null||n===void 0?void 0:n[1]},this.filter=t=>this.toArr().filter(t),this.find=t=>this.toArr().find(t),this.findIndex=t=>this.toArr().findIndex(t),this.getCurrentPos=t=>{const n=this.toArr(),s=n.findIndex((([i,o])=>i===t||o===t));return[n,s]},this.prev=t=>{var n;const[s,i]=this.getCurrentPos(t);return i!==-1?(n=s[i-1])===null||n===void 0?void 0:n[1]:void 0},this.next=t=>{var n;const[s,i]=this.getCurrentPos(t);return i!==-1?(n=s[i+1])===null||n===void 0?void 0:n[1]:void 0},this.getVisible=()=>this.filter((t=>t[1].visible)),this.observer=new oo,this.firstRun=!0}}const Jn=e=>typeof e=="object"&&e!=null&&e.nodeType===1,er=(e,t)=>(!t||e!=="hidden")&&e!=="visible"&&e!=="clip",pn=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){const n=getComputedStyle(e,null);return er(n.overflowY,t)||er(n.overflowX,t)||(s=>{const i=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(s);return!!i&&(i.clientHeight<s.scrollHeight||i.clientWidth<s.scrollWidth)})(e)}return!1},Pt=(e,t,n,s,i,o,l,a)=>o<e&&l>t||o>e&&l<t?0:o<=e&&a<=n||l>=t&&a>=n?o-e-s:l>t&&a<n||o<e&&a>n?l-t+i:0,lo=e=>{const t=e.parentElement;return t??(e.getRootNode().host||null)},tr=(e,t)=>{var n,s,i,o;if(typeof document>"u")return[];const{scrollMode:l,block:a,inline:d,boundary:u,skipOverflowHiddenElements:h}=t,f=typeof u=="function"?u:W=>W!==u;if(!Jn(e))throw new TypeError("Invalid target");const g=document.scrollingElement||document.documentElement,p=[];let b=e;for(;Jn(b)&&f(b);){if(b=lo(b),b===g){p.push(b);break}b!=null&&b===document.body&&pn(b)&&!pn(document.documentElement)||b!=null&&pn(b,h)&&p.push(b)}const w=(s=(n=window.visualViewport)==null?void 0:n.width)!=null?s:innerWidth,y=(o=(i=window.visualViewport)==null?void 0:i.height)!=null?o:innerHeight,{scrollX:I,scrollY:A}=window,{height:D,width:R,top:x,right:E,bottom:m,left:C}=e.getBoundingClientRect(),{top:k,right:j,bottom:F,left:G}=(W=>{const S=window.getComputedStyle(W);return{top:parseFloat(S.scrollMarginTop)||0,right:parseFloat(S.scrollMarginRight)||0,bottom:parseFloat(S.scrollMarginBottom)||0,left:parseFloat(S.scrollMarginLeft)||0}})(e);let O=a==="start"||a==="nearest"?x-k:a==="end"?m+F:x+D/2-k+F,M=d==="center"?C+R/2-G+j:d==="end"?E+j:C-G;const T=[];for(let W=0;W<p.length;W++){const S=p[W],{height:X,width:V,top:ne,right:se,bottom:P,left:Q}=S.getBoundingClientRect();if(l==="if-needed"&&x>=0&&C>=0&&m<=y&&E<=w&&x>=ne&&m<=P&&C>=Q&&E<=se)return T;const v=getComputedStyle(S),$=parseInt(v.borderLeftWidth,10),q=parseInt(v.borderTopWidth,10),K=parseInt(v.borderRightWidth,10),z=parseInt(v.borderBottomWidth,10);let Y=0,N=0;const ie="offsetWidth"in S?S.offsetWidth-S.clientWidth-$-K:0,L="offsetHeight"in S?S.offsetHeight-S.clientHeight-q-z:0,U="offsetWidth"in S?S.offsetWidth===0?0:V/S.offsetWidth:0,Z="offsetHeight"in S?S.offsetHeight===0?0:X/S.offsetHeight:0;if(g===S)Y=a==="start"?O:a==="end"?O-y:a==="nearest"?Pt(A,A+y,y,q,z,A+O,A+O+D,D):O-y/2,N=d==="start"?M:d==="center"?M-w/2:d==="end"?M-w:Pt(I,I+w,w,$,K,I+M,I+M+R,R),Y=Math.max(0,Y+A),N=Math.max(0,N+I);else{Y=a==="start"?O-ne-q:a==="end"?O-P+z+L:a==="nearest"?Pt(ne,P,X,q,z+L,O,O+D,D):O-(ne+X/2)+L/2,N=d==="start"?M-Q-$:d==="center"?M-(Q+V/2)+ie/2:d==="end"?M-se+K+ie:Pt(Q,se,V,$,K+ie,M,M+R,R);const{scrollLeft:re,scrollTop:oe}=S;
2Y=Z===0?0:Math.max(0,Math.min(oe+Y/Z,S.scrollHeight-X/Z+L)),N=U===0?0:Math.max(0,Math.min(re+N/U,S.scrollWidth-V/U+ie)),O+=oe-Y,M+=re-N}T.push({el:S,top:Y,left:N})}return T};function nr(e,t){if(!e.isConnected||!(i=>{let o=i;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(e))return;const n=(i=>{const o=window.getComputedStyle(i);return{top:parseFloat(o.scrollMarginTop)||0,right:parseFloat(o.scrollMarginRight)||0,bottom:parseFloat(o.scrollMarginBottom)||0,left:parseFloat(o.scrollMarginLeft)||0}})(e);if((i=>typeof i=="object"&&typeof i.behavior=="function")(t))return t.behavior(tr(e,t));const s=typeof t=="boolean"||t==null?void 0:t.behavior;for(const{el:i,top:o,left:l}of tr(e,(a=>a===!1?{block:"end",inline:"nearest"}:(d=>d===Object(d)&&Object.keys(d).length!==0)(a)?a:{block:"start",inline:"nearest"})(t))){const a=o-n.top+n.bottom,d=l-n.left+n.right;i.scroll({top:a,left:d,behavior:s})}}let hn;const Pr=()=>(hn||(hn="performance"in window?performance.now.bind(performance):Date.now),hn());function Nr(e){const t=Pr(),n=Math.min((t-e.startTime)/e.duration,1),s=e.ease(n),i=e.startX+(e.x-e.startX)*s,o=e.startY+(e.y-e.startY)*s;e.method(i,o,n,s),i!==e.x||o!==e.y?requestAnimationFrame((()=>Nr(e))):e.cb()}function co(e,t,n){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:h=>1+--h*h*h*h*h,o=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0;const a=e,d=e.scrollLeft,u=e.scrollTop;Nr({scrollable:a,method:(h,f,g,p)=>{const b=Math.ceil(h),w=Math.ceil(f);e.scrollLeft=b,e.scrollTop=w,l?.({target:e,elapsed:g,value:p,left:b,top:w})},startTime:Pr(),startX:d,startY:u,x:t,y:n,duration:s,ease:i,cb:o})}const uo=function(e,t){const n=t||{};return(s=>s&&!s.behavior||s.behavior==="smooth")(n)?nr(e,{block:n.block,inline:n.inline,scrollMode:n.scrollMode,boundary:n.boundary,skipOverflowHiddenElements:n.skipOverflowHiddenElements,behavior:s=>Promise.all(s.reduce(((i,o)=>{let{el:l,left:a,top:d}=o;const u=l.scrollLeft,h=l.scrollTop;return u===a&&h===d?i:[...i,new Promise((f=>co(l,a,d,n.duration,n.ease,(()=>f({el:l,left:[u,a],top:[h,d]})),n.onScrollChange)))]}),[]))}):Promise.resolve(nr(e,t))},fo=e=>Object.values(e).map((t=>t.current)).filter(Boolean);function gn(e,t,n,s,i,o){var l;const a=((l=e?.entry)===null||l===void 0?void 0:l.target)||e;if(!a)return;const d={behavior:t||"smooth",inline:n||"end",block:s||"nearest"};return o?a.scrollIntoView(d):uo(a,Object.assign(Object.assign({},i),d))}const po=e=>document.querySelector(`[${Fr}='${e}']`),ho=e=>document.querySelector(`[${Br}='${e}']`);function Nt(e){return B.isValidElement(e)&&e||typeof e=="function"&&B.createElement(e,null)||!!e&&typeof e=="object"&&B.createElement(e,null)||null}const $r=e=>{var t;return String(((t=e?.props)===null||t===void 0?void 0:t[so])||(e?.key||Re).replace(/^\.\$/,Re))};function Cn(e){return!!e&&Object.prototype.hasOwnProperty.call(e,"current")}var go=B.memo((function({children:e,className:t,id:n,index:s,refs:i}){const o=B.useRef(null);return i[String(s)]=o,B.createElement("div",{className:t,[Fr]:n,[Br]:s,ref:o},e)}));function bo({children:e,itemClassName:t=Re,refs:n}){const s=B.Children.toArray(e).filter(Boolean),i=B.useMemo((()=>`${Yi} ${t}`),[t]);return s.map(((o,l)=>{const a=$r(o);return B.createElement(go,{className:i,id:a,key:a,refs:n,index:l},o)}))}function mo({className:e=Re,children:t,onScroll:n=(()=>{}),scrollRef:s,containerRef:i}){const o=B.useMemo((()=>`${Xi} ${e}`),[e]),l=B.useCallback((a=>{Cn(s)?s.current=a:s(a),Cn(i)?i.current=a:i(a)}),[s,i]);return B.createElement("div",{className:o,onScroll:n,ref:l},t)}const xo=B.createContext({}),zr=typeof window<"u"?B.useLayoutEffect:B.useEffect;function yo({items:e,itemsChanged:t,refs:n,options:s}){const i=B.useRef(),o=B.useCallback((l=>{e.setBatch((function(a,d){return[...a].map((u=>{var h,f,g,p;const b=u.target,w=String((f=(h=b?.dataset)===null||h===void 0?void 0:h.key)!==null&&f!==void 0?f:Re);return[w,{index:String((p=(g=b?.dataset)===null||g===void 0?void 0:g.index)!==null&&p!==void 0?p:Re),key:w,entry:u,visible:u.intersectionRatio>=d.ratio}]}))}
2)(l,s))}),[e,s]);zr((()=>{const l=fo(n),a=i.current||new IntersectionObserver(o,s);return i.current=a,l.forEach((d=>a.observe(d))),()=>{a.disconnect(),i.current=void 0}}),[o,t,s,n])}const vo=e=>B.Children.toArray(e).map($r).filter(Boolean),rr={ratio:.9,rootMargin:"5px",threshold:[.05,.5,.75,.95]},wo={current:{}},$t=()=>{};function jo({LeftArrow:e,RightArrow:t,children:n,Header:s,Footer:i,transitionDuration:o=500,transitionBehavior:l,onInit:a=$t,onUpdate:d=$t,onMouseDown:u,onMouseLeave:h,onMouseUp:f,onMouseMove:g,onScroll:p=$t,onTouchMove:b,onTouchStart:w,onTouchEnd:y,onWheel:I=$t,options:A=rr,scrollContainerClassName:D=Re,containerRef:R=io,itemClassName:x=Re,wrapperClassName:E=Re,apiRef:m=wo,RTL:C,noPolyfill:k=!0}){const j=Nt(e),F=Nt(t),G=Nt(s),O=Nt(i),M=B.useRef(null),[T]=B.useState({}),W=B.useMemo((()=>Object.assign(Object.assign(Object.assign({},rr),A),{root:M.current})),[A]),S=B.useRef(new ao).current,X=(function(z,Y){const[N,ie]=B.useState(Re),L=B.useMemo((()=>vo(z)),[z]);return B.useEffect((()=>{const U=L.filter(Boolean).join(Re);Y.toItems().filter((Z=>!L.includes(Z))).forEach((Z=>{Y.delete(Z)})),ie(U)}),[L,Y]),N})(n,S),V=((z,Y)=>{const N=B.useRef(!0),ie=B.useMemo((()=>[Y-.05,Y-.01,Y,Y+.01,Y+.05]),[Y]),L=B.useCallback((U=>{var Z;N.current=((Z=U?.[0])===null||Z===void 0?void 0:Z.intersectionRatio)>=Y}),[Y]);return zr((()=>{const U=new IntersectionObserver(L,{threshold:ie,rootMargin:"0px"});return z.current&&U.observe(z.current),()=>U.disconnect()}),[N,z,L,ie]),N})(M,W.ratio+.05<1?W.ratio+.05:.95);yo(B.useMemo((()=>({items:S,itemsChanged:X,options:W,refs:T})),[S,X,T,W]));const ne=B.useMemo((()=>(function(z,Y,N,ie){var L,U,Z;const re=(J,te=!1)=>{const[pe,Be]=B.useState(te),Se=B.useCallback((ve=>{Be(!!ve?.visible)}),[]);return B.useEffect((()=>(z.subscribe(J,Se),()=>{z.unsubscribe(J,Se)})),[J,Se]),pe},oe=!!(!((L=z.first())===null||L===void 0)&&L.visible),Fe=!!(!((U=z.last())===null||U===void 0)&&U.visible),fe=J=>{var te;return(te=z.find((pe=>pe[1].key===String(J))))===null||te===void 0?void 0:te[1]},ae=()=>{var J,te;const pe=(te=(J=z.getVisible())===null||J===void 0?void 0:J[0])===null||te===void 0?void 0:te[1];return pe?z.prev(pe):void 0},ce=()=>{var J;const te=(J=z.getVisible().findLast((()=>!0)))===null||J===void 0?void 0:J[1];return te?z.next(te):void 0},Te=(Z=N?.boundary)===null||Z===void 0?void 0:Z.current;return{getItemById:fe,getItemElementById:po,getItemByIndex:J=>{var te;return(te=z.find((pe=>String(pe[1].index)===String(J))))===null||te===void 0?void 0:te[1]},getItemElementByIndex:ho,getNextElement:ce,getPrevElement:ae,isFirstItemVisible:oe,isItemVisible:J=>z.getVisible().map((te=>te[0])).includes(String(J)),isLastItem:J=>z.last()===fe(J),isLastItemVisible:Fe,scrollNext:(J,te,pe,{duration:Be,boundary:Se=Te}={})=>{const ve=J??N?.behavior;return gn(ce(),ve,te||"start",pe||"nearest",{boundary:Se,duration:Be??N?.duration},ie)},scrollPrev:(J,te,pe,{duration:Be,boundary:Se=Te}={})=>{const ve=J??N?.behavior;return gn(ae(),ve,te||"end",pe||"nearest",{boundary:Se,duration:Be??N?.duration},ie)},useIsVisible:re,useLeftArrowVisible:()=>{const J=re("first",!0),[te,pe]=B.useState(J);return B.useEffect((()=>{Y.current&&pe(J)}),[J]),te},useRightArrowVisible:()=>{const J=re("last",!1),[te,pe]=B.useState(J);return B.useEffect((()=>{Y.current&&pe(J)}),[J]),te},scrollToItem:(J,te,pe,Be,Se)=>{var ve;return gn(J,te??N?.behavior,pe,Be,Object.assign(Object.assign({boundary:Te},Se),{duration:(ve=Se?.duration)!==null&&ve!==void 0?ve:N?.duration}),ie)}}})(S,V,{duration:o,behavior:l,boundary:M},k)),[S,o,l,k,V]),se=B.useCallback((()=>Object.assign(Object.assign({},ne),{items:S,scrollContainer:M,menuVisible:V})),[ne,S,M,V]),[P,Q]=B.useState((()=>se()));(({context:z,onInit:Y,onUpdate:N})=>{const ie=B.useCallback((()=>Y(z)),[Y,z]),L=B.useCallback((()=>N(z)),[N,z]),{items:U}=z;B.useEffect((()=>(U.subscribe(Pe.onInit,ie),U.subscribe(Pe.onUpdate,L),()=>{U.unsubscribe(Pe.onInit,ie),U.unsubscribe(Pe.onUpdate,L)})),[U,ie,L])})({context:P,onInit:a,onUpdate:d}),B.useEffect((()=>Q(se())),[se]),B.useEffect((()=>{Cn(m)?m.current=P:m(P)}),[P,m]);const v=B.useCallback((z=>p(P,z)),[p,P]),$=B.useCallback((z=>I(P,z)),[I,P]),q=B.useMemo((()=>`${Ki} ${E}`),[E]),K=B.useMemo((()=>`${D}${C?" rtl":Re}`),[C,D]);return B.createElement("div",{className:q,onWheel:$,onMouseDown:u?.(P),onMouseLeave:h?.(P),onMouseUp:f?.(P),onMouseMove:g?.(P),onTouchStart:w?.(P),onTouchMove:b?.(P),onTouchEnd:y?.(P)},B.createElement(xo.Provider,{value:P},B.createElement("div",{className:eo},G),B.createElement("div",{className:Ji},B.createElement("div",{className:to},j),B.createElement(mo,{className:K,onScroll:v,scrollRef:M,containerRef:R},B.createElement(bo,{refs:T,itemClassName:x},n)),B.createElement("div",{className:no},F)),B.createElement("div",{className:ro},O)))}const Co=()=>e=>t=>{const n=Tt(),s=Qs(n.breakpoints.down("sm"));return r.jsx(e,{...t,isMobile:s})},ko=Me("div")(({theme:e})=>({background:e.palette.background.paper,boxShadow:e.shadows[24],left:0,bottom:0,right:0,width:"auto",zIndex:2})),Lo=Me("div")(({theme:e})=>({padding:`6px ${e.spacing(2)}`,display:"flex",alignItems:"center",justifyContent:"space-between"})),So=Me("div")(({theme:e})=>({maxHeight:"300px",overflow:"auto",[e.breakpoints.down("sm")]:{maxHeight:"110px"}})),Io=Me("div")(()=>({"& .react-horizontal-scrolling-menu--scroll-container::-webkit-scrollbar":{display:"none"}
2,"& .react-horizontal-scrolling-menu--scroll-container":{scrollbarWidth:"none",msOverflowStyle:"none"},position:"absolute",left:0,right:0,bottom:0,zIndex:2})),Ao=Me("div")(({theme:e})=>({width:"100%",paddingLeft:e.spacing(.5),paddingBottom:e.spacing(.5)}));class Eo extends c.Component{constructor(t){super(t),this.state={chapters:null,visibleLayers:[],open:!1},this.timer=null,t.app.globalObserver.subscribe("informativeLoaded",n=>{this.setState({chapters:n})})}#e=()=>{this.addedLayerBuffer=[],this.removedLayerBuffer=[]};bindLayerEvents=t=>n=>{n.get("visible")&&t.push(n),this.setState({visibleLayers:t}),this.addedLayerBuffer=[],this.removedLayerBuffer=[],n.on("change:visible",s=>{const i=s.target;clearTimeout(this.timer),this.timer=setTimeout(()=>{const l=[...this.state.visibleLayers,...this.addedLayerBuffer].filter(a=>!this.removedLayerBuffer.some(d=>a===d));this.setState({visibleLayers:l}),this.#e()},0),i.get("visible")?this.addedLayerBuffer.push(i):this.removedLayerBuffer.push(i)})};getVisibleLayers(){return this.props.map.getLayers().getArray().filter(t=>t.getVisible())}clear=()=>{this.props.app.clear()};componentDidMount(){var t=[];this.props.map&&this.props.map.getLayers().getArray().forEach(this.bindLayerEvents(t))}getBreadCrumbCompatibleLayers=()=>this.state.visibleLayers.filter(t=>["layer","group"].includes(t.get("layerType")));toggle=()=>{this.setState({open:!this.state.open})};renderMobile(t){const{open:n}=this.state;return r.jsxs(ko,{children:[r.jsxs(Lo,{children:[r.jsx(H,{children:"Innehåll i kartan"}),r.jsx(je,{onClick:this.toggle,size:"small",children:n?r.jsx(Hs,{}):r.jsx(Ys,{})})]}),n&&r.jsx(Ye,{}),n?r.jsxs(So,{children:[t.length>0?r.jsx(kt,{container:!0,justifyContent:"center",sx:{marginTop:1,marginBottom:1},size:12,children:r.jsxs(ge,{variant:"contained",onClick:this.clear,children:["Ta bort allt innehåll",r.jsx(Mn,{sx:{marginLeft:2}})]})}):r.jsx(H,{children:"Använd sökfunktionen eller innehållsmenyn för att visa information i kartan."}),t.map((s,i)=>r.jsx(Ao,{children:r.jsx(Kn,{title:s.get("caption"),layer:s,chapters:this.state.chapters,app:this.props.app})},`${s.get("caption")}-${i}`))]}):null]})}renderDesktop(t){const n=t.map((s,i)=>r.jsx(Kn,{title:s.get("caption"),layer:s,chapters:this.state.chapters,app:this.props.app},`${s.get("caption")}-${i}`));return r.jsx(Io,{children:r.jsx(jo,{alignCenter:!1,onMouseDown:()=>s=>vt.dragStart(s),onMouseUp:()=>()=>vt.dragStop(),onMouseMove:s=>i=>vt.dragMove(i,o=>{s.scrollContainer&&s.scrollContainer.current&&(s.scrollContainer.current.scrollLeft+=o)}),children:n})})}render(){const t=this.getBreadCrumbCompatibleLayers();return this.props.isMobile?t.length>0?this.renderMobile(t):null:this.renderDesktop(t)}}const To=Co()(Eo);function Do(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c.useMemo(()=>s=>{t.forEach(i=>i(s))},t)}const rn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ut(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function Nn(e){return"nodeType"in e}function Le(e){var t,n;return e?ut(e)?e:Nn(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function $n(e){const{Document:t}=Le(e);return e instanceof t}function Ot(e){return ut(e)?!1:e instanceof Le(e).HTMLElement}function Vr(e){return e instanceof Le(e).SVGElement}function ft(e){return e?ut(e)?e.document:Nn(e)?$n(e)?e:Ot(e)||Vr(e)?e.ownerDocument:document:document:document}const Ve=rn?c.useLayoutEffect:c.useEffect;function zn(e){const t=c.useRef(e);return Ve(()=>{t.current=e}),c.useCallback(function(){for(var n=arguments.length,s=new Array(n),i=0;i<n;i++)s[i]=arguments[i];return t.current==null?void 0:t.current(...s)},[])}function Oo(){const e=c.useRef(null),t=c.useCallback((s,i)=>{e.current=setInterval(s,i)},[]),n=c.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function St(e,t){t===void 0&&(t=[e]);const n=c.useRef(e);return Ve(()=>{n.current!==e&&(n.current=e)},t),n}function Rt(e,t){const n=c.useRef();return c.useMemo(()=>{const s=e(n.current);return n.current=s,s},[...t])}function _t(e){const t=zn(e),n=c.useRef(null),s=c.useCallback(i=>{i!==n.current&&t?.(i,n.current),n.current=i},[]);return[n,s]}function kn(e){const t=c.useRef();return c.useEffect(()=>{t.current=e},[e]),t.current}let bn={};function Mt(e,t){return c.useMemo(()=>
2{if(t)return t;const n=bn[e]==null?0:bn[e]+1;return bn[e]=n,e+"-"+n},[e,t])}function Wr(e){return function(t){for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;i<n;i++)s[i-1]=arguments[i];return s.reduce((o,l)=>{const a=Object.entries(l);for(const[d,u]of a){const h=o[d];h!=null&&(o[d]=h+e*u)}return o},{...t})}}const at=Wr(1),It=Wr(-1);function Ro(e){return"clientX"in e&&"clientY"in e}function Vn(e){if(!e)return!1;const{KeyboardEvent:t}=Le(e.target);return t&&e instanceof t}function Mo(e){if(!e)return!1;const{TouchEvent:t}=Le(e.target);return t&&e instanceof t}function Ln(e){if(Mo(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return Ro(e)?{x:e.clientX,y:e.clientY}:null}const At=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[At.Translate.toString(e),At.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:s}=e;return t+" "+n+"ms "+s}}}),sr="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function Fo(e){return e.matches(sr)?e:e.querySelector(sr)}const Bo={display:"none"};function Po(e){let{id:t,value:n}=e;return B.createElement("div",{id:t,style:Bo},n)}function No(e){let{id:t,announcement:n,ariaLiveType:s="assertive"}=e;const i={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return B.createElement("div",{id:t,style:i,role:"status","aria-live":s,"aria-atomic":!0},n)}function $o(){const[e,t]=c.useState("");return{announce:c.useCallback(s=>{s!=null&&t(s)},[]),announcement:e}}const qr=c.createContext(null);function zo(e){const t=c.useContext(qr);c.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function Vo(){const[e]=c.useState(()=>new Set),t=c.useCallback(s=>(e.add(s),()=>e.delete(s)),[e]);return[c.useCallback(s=>{let{type:i,event:o}=s;e.forEach(l=>{var a;return(a=l[i])==null?void 0:a.call(l,o)})},[e]),t]}const Wo={draggable:` 3 To pick up a draggable item, press the space bar. 4 While dragging, use the arrow keys to move the item. 5 Press space again to drop the item in its new position, or press escape to cancel. 6 `},qo={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Go(e){let{announcements:t=qo,container:n,hiddenTextDescribedById:s,screenReaderInstructions:i=Wo}=e;const{announce:o,announcement:l}=$o(),a=Mt("DndLiveRegion"),[d,u]=c.useState(!1);if(c.useEffect(()=>{u(!0)},[]),zo(c.useMemo(()=>({onDragStart(f){let{active:g}=f;o(t.onDragStart({active:g}))},onDragMove(f){let{active:g,over:p}=f;t.onDragMove&&o(t.onDragMove({active:g,over:p}))},onDragOver(f){let{active:g,over:p}=f;o(t.onDragOver({active:g,over:p}))},onDragEnd(f){let{active:g,over:p}=f;o(t.onDragEnd({active:g,over:p}))},onDragCancel(f){let{active:g,over:p}=f;o(t.onDragCancel({active:g,over:p}))}}),[o,t])),!d)return null;const h=B.createElement(B.Fragment,null,B.createElement(Po,{id:s,value:i.draggable}),B.createElement(No,{id:a,announcement:l}));return n?ke.createPortal(h,n):h}var be;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(be||(be={}));function Zt(){}function mn(e,t){return c.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function Uo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return c.useMemo(()=>[...t].filter(s=>s!=null),[...t])}const Ne=Object.freeze({x:0,y:0});function Gr(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Ur(e,t){let{data:{value:n}}=e,{data:{value:s}}=t;return n-s}function _o(e,t){let{data:{value:n}}=e,{data:{value:s}}=t;return s-n}function ir(e){let{left:t,top:n,height:s,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+s},{x:t+i,y:n+s}]}function _r(e,t){if(!e||e.length===0)return null;const[n]=e;return n[t]}function or(e,t,n){return t===void 0&&(t=e.left),n===void 0&&(n=e.top),{x:t+e.width*.5,y:n+e.height*.5}}const Zo=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:s}=e;const i=or(t,t.left,t.top),o=[];for(const l of s){const{id:a}=l,d=n.get(a);if(d){const u=Gr(or(d),i);o.push({id:a,data:{droppableContainer:l,value:u}})}}return o.sort(Ur)},Qo=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:s}=e;
6const i=ir(t),o=[];for(const l of s){const{id:a}=l,d=n.get(a);if(d){const u=ir(d),h=i.reduce((g,p,b)=>g+Gr(u[b],p),0),f=Number((h/4).toFixed(4));o.push({id:a,data:{droppableContainer:l,value:f}})}}return o.sort(Ur)};function Ho(e,t){const n=Math.max(t.top,e.top),s=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),l=i-s,a=o-n;if(s<i&&n<o){const d=t.width*t.height,u=e.width*e.height,h=l*a,f=h/(d+u-h);return Number(f.toFixed(4))}return 0}const Yo=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:s}=e;const i=[];for(const o of s){const{id:l}=o,a=n.get(l);if(a){const d=Ho(a,t);d>0&&i.push({id:l,data:{droppableContainer:o,value:d}})}}return i.sort(_o)};function Xo(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Zr(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ne}function Ko(e){return function(n){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;o<s;o++)i[o-1]=arguments[o];return i.reduce((l,a)=>({...l,top:l.top+e*a.y,bottom:l.bottom+e*a.y,left:l.left+e*a.x,right:l.right+e*a.x}),{...n})}}const Jo=Ko(1);function ea(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function ta(e,t,n){const s=ea(t);if(!s)return e;const{scaleX:i,scaleY:o,x:l,y:a}=s,d=e.left-l-(1-i)*parseFloat(n),u=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),h=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:h,height:f,top:u,right:d+h,bottom:u+f,left:d}}const na={ignoreTransform:!1};function pt(e,t){t===void 0&&(t=na);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:u,transformOrigin:h}=Le(e).getComputedStyle(e);u&&(n=ta(n,u,h))}const{top:s,left:i,width:o,height:l,bottom:a,right:d}=n;return{top:s,left:i,width:o,height:l,bottom:a,right:d}}function ar(e){return pt(e,{ignoreTransform:!0})}function ra(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function sa(e,t){return t===void 0&&(t=Le(e).getComputedStyle(e)),t.position==="fixed"}function ia(e,t){t===void 0&&(t=Le(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function sn(e,t){const n=[];function s(i){if(t!=null&&n.length>=t||!i)return n;if($n(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Ot(i)||Vr(i)||n.includes(i))return n;const o=Le(e).getComputedStyle(i);return i!==e&&ia(i,o)&&n.push(i),sa(i,o)?n:s(i.parentNode)}return e?s(e):n}function Qr(e){const[t]=sn(e,1);return t??null}function xn(e){return!rn||!e?null:ut(e)?e:Nn(e)?$n(e)||e===ft(e).scrollingElement?window:Ot(e)?e:null:null}function Hr(e){return ut(e)?e.scrollX:e.scrollLeft}function Yr(e){return ut(e)?e.scrollY:e.scrollTop}function Sn(e){return{x:Hr(e),y:Yr(e)}}var xe;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(xe||(xe={}));function Xr(e){return!rn||!e?!1:e===document.scrollingElement}function Kr(e){const t={x:0,y:0},n=Xr(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},s={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,l=e.scrollTop>=s.y,a=e.scrollLeft>=s.x;return{isTop:i,isLeft:o,isBottom:l,isRight:a,maxScroll:s,minScroll:t}}const oa={x:.2,y:.2};function aa(e,t,n,s,i){let{top:o,left:l,right:a,bottom:d}=n;s===void 0&&(s=10),i===void 0&&(i=oa);const{isTop:u,isBottom:h,isLeft:f,isRight:g}=Kr(e),p={x:0,y:0},b={x:0,y:0},w={height:t.height*i.y,width:t.width*i.x};return!u&&o<=t.top+w.height?(p.y=xe.Backward,b.y=s*Math.abs((t.top+w.height-o)/w.height)):!h&&d>=t.bottom-w.height&&(p.y=xe.Forward,b.y=s*Math.abs((t.bottom-w.height-d)/w.height)),!g&&a>=t.right-w.width?(p.x=xe.Forward,b.x=s*Math.abs((t.right-w.width-a)/w.width)):!f&&l<=t.left+w.width&&(p.x=xe.Backward,b.x=s*Math.abs((t.left+w.width-l)/w.width)),{direction:p,speed:b}}function la(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:l}=window;return{top:0,left:0,right:o,bottom:l,width:o,height:l}}const{top:t,left:n,right:s,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:s,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Jr(e){return e.reduce((t,n)=>at(t,Sn(n)),Ne)}function ca(e){return e.reduce((t,n)=>t+Hr(n),0)}function da(e){return e.reduce((t,n)=>t+Yr(n),0)}function ua(e,t){if(t===void 0&&(t=pt),!e)return;const{top:n,left:s,bottom:i,right:o}=t(e);Qr(e)&&(i<=0||o<=0||n>=window.innerHeight||s>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const fa=[["x",["left","right"],ca],["y",["top","bottom"],da]];class Wn{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const s=sn(n),i=Jr(s);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,l,a]of fa)for(const d of l)Object.defineProperty(this,d,{get:()=>{const u=a(s),h=i[o]-u;return this.rect[d]+h},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class wt{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>
6{this.listeners.forEach(n=>{var s;return(s=this.target)==null?void 0:s.removeEventListener(...n)})},this.target=t}add(t,n,s){var i;(i=this.target)==null||i.addEventListener(t,n,s),this.listeners.push([t,n,s])}}function pa(e){const{EventTarget:t}=Le(e);return e instanceof t?e:ft(e)}function yn(e,t){const n=Math.abs(e.x),s=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+s**2)>t:"x"in t&&"y"in t?n>t.x&&s>t.y:"x"in t?n>t.x:"y"in t?s>t.y:!1}var Oe;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(Oe||(Oe={}));function lr(e){e.preventDefault()}function ha(e){e.stopPropagation()}var ee;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter",e.Tab="Tab"})(ee||(ee={}));const es={start:[ee.Space,ee.Enter],cancel:[ee.Esc],end:[ee.Space,ee.Enter,ee.Tab]},ga=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case ee.Right:return{...n,x:n.x+25};case ee.Left:return{...n,x:n.x-25};case ee.Down:return{...n,y:n.y+25};case ee.Up:return{...n,y:n.y-25}}};class qn{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new wt(ft(n)),this.windowListeners=new wt(Le(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Oe.Resize,this.handleCancel),this.windowListeners.add(Oe.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Oe.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,s=t.node.current;s&&ua(s),n(Ne)}handleKeyDown(t){if(Vn(t)){const{active:n,context:s,options:i}=this.props,{keyboardCodes:o=es,coordinateGetter:l=ga,scrollBehavior:a="smooth"}=i,{code:d}=t;if(o.end.includes(d)){this.handleEnd(t);return}if(o.cancel.includes(d)){this.handleCancel(t);return}const{collisionRect:u}=s.current,h=u?{x:u.left,y:u.top}:Ne;this.referenceCoordinates||(this.referenceCoordinates=h);const f=l(t,{active:n,context:s.current,currentCoordinates:h});if(f){const g=It(f,h),p={x:0,y:0},{scrollableAncestors:b}=s.current;for(const w of b){const y=t.code,{isTop:I,isRight:A,isLeft:D,isBottom:R,maxScroll:x,minScroll:E}=Kr(w),m=la(w),C={x:Math.min(y===ee.Right?m.right-m.width/2:m.right,Math.max(y===ee.Right?m.left:m.left+m.width/2,f.x)),y:Math.min(y===ee.Down?m.bottom-m.height/2:m.bottom,Math.max(y===ee.Down?m.top:m.top+m.height/2,f.y))},k=y===ee.Right&&!A||y===ee.Left&&!D,j=y===ee.Down&&!R||y===ee.Up&&!I;if(k&&C.x!==f.x){const F=w.scrollLeft+g.x,G=y===ee.Right&&F<=x.x||y===ee.Left&&F>=E.x;if(G&&!g.y){w.scrollTo({left:F,behavior:a});return}G?p.x=w.scrollLeft-F:p.x=y===ee.Right?w.scrollLeft-x.x:w.scrollLeft-E.x,p.x&&w.scrollBy({left:-p.x,behavior:a});break}else if(j&&C.y!==f.y){const F=w.scrollTop+g.y,G=y===ee.Down&&F<=x.y||y===ee.Up&&F>=E.y;if(G&&!g.x){w.scrollTo({top:F,behavior:a});return}G?p.y=w.scrollTop-F:p.y=y===ee.Down?w.scrollTop-x.y:w.scrollTop-E.y,p.y&&w.scrollBy({top:-p.y,behavior:a});break}}this.handleMove(t,at(It(f,this.referenceCoordinates),p))}}}handleMove(t,n){const{onMove:s}=this.props;t.preventDefault(),s(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}qn.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:s=es,onActivation:i}=t,{active:o}=n;const{code:l}=e.nativeEvent;if(s.start.includes(l)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function cr(e){return!!(e&&"distance"in e)}function dr(e){return!!(e&&"delay"in e)}class Gn{constructor(t,n,s){var i;s===void 0&&(s=pa(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:l}=o;this.props=t,this.events=n,this.document=ft(l),this.documentListeners=new wt(this.document),this.listeners=new wt(s),this.windowListeners=new wt(Le(l)),this.initialCoordinates=(i=Ln(o))!=null?i:Ne,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:s}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),t.cancel&&this.listeners.add(t.cancel.name,this.handleCancel),this.windowListeners.add(Oe.Resize,this.handleCancel),this.windowListeners.add(Oe.DragStart,lr),this.windowListeners.add(Oe.VisibilityChange,this.handleCancel),this.windowListeners.add(Oe.ContextMenu,lr),this.documentListeners.add(Oe.Keydown,this.handleKeydown),n){if(s!=null&&s({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(dr(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(cr(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(t,n){const{active:s,onPending:i}=this.props;i(s,t,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(Oe.Click,ha,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Oe.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:s,initialCoordinates:i,props:o}=this,{onMove:l,options:{activationConstraint:a}}=o;if(!i)return;const d=(n=Ln(t))!=null?n:Ne,u=It(i,d);if(!s&&a){if(cr(a)){if(a.tolerance!=null&&yn(u,a.tolerance))return this.handleCancel();if(yn(u,a.distance))return this.handleStart()}if(dr(a)&&yn(u,a.tolerance))return this.handleCancel();this.handlePending(a,u);return}t.cancelable&&t.preventDefault(),l(d)}handleEnd(){const{onAbort:t,onEnd:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleCancel(){const{onAbort:t,onCancel:n}=this.props;this.detach(),this.activated||t(this.props.active),n()}handleKeydown(t){t.code===ee.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const ba={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class ts extends Gn{constructor(t){const{event:n}=t,s=ft(n.target);super(t,ba,s)}}ts.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:s}=t;return!n.isPrimary||n.button!==0?!1:(s?.({event:n}),!0)}}];const ma={move:{name:"mousemove"},end:{name:"mouseup"}};var In;(function(e){e[e.RightClick=2]="RightClick"})(In||(In={}));
6class ns extends Gn{constructor(t){super(t,ma,ft(t.event.target))}}ns.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:s}=t;return n.button===In.RightClick?!1:(s?.({event:n}),!0)}}];const vn={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class rs extends Gn{constructor(t){super(t,vn)}static setup(){return window.addEventListener(vn.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(vn.move.name,t)};function t(){}}}rs.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:s}=t;const{touches:i}=n;return i.length>1?!1:(s?.({event:n}),!0)}}];var jt;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(jt||(jt={}));var Qt;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(Qt||(Qt={}));function xa(e){let{acceleration:t,activator:n=jt.Pointer,canScroll:s,draggingRect:i,enabled:o,interval:l=5,order:a=Qt.TreeOrder,pointerCoordinates:d,scrollableAncestors:u,scrollableAncestorRects:h,delta:f,threshold:g}=e;const p=va({delta:f,disabled:!o}),[b,w]=Oo(),y=c.useRef({x:0,y:0}),I=c.useRef({x:0,y:0}),A=c.useMemo(()=>{switch(n){case jt.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case jt.DraggableRect:return i}},[n,i,d]),D=c.useRef(null),R=c.useCallback(()=>{const E=D.current;if(!E)return;const m=y.current.x*I.current.x,C=y.current.y*I.current.y;E.scrollBy(m,C)},[]),x=c.useMemo(()=>a===Qt.TreeOrder?[...u].reverse():u,[a,u]);c.useEffect(()=>{if(!o||!u.length||!A){w();return}for(const E of x){if(s?.(E)===!1)continue;const m=u.indexOf(E),C=h[m];if(!C)continue;const{direction:k,speed:j}=aa(E,C,A,t,g);for(const F of["x","y"])p[F][k[F]]||(j[F]=0,k[F]=0);if(j.x>0||j.y>0){w(),D.current=E,b(R,l),y.current=j,I.current=k;return}}y.current={x:0,y:0},I.current={x:0,y:0},w()},[t,R,s,w,o,l,JSON.stringify(A),JSON.stringify(p),b,u,x,h,JSON.stringify(g)])}const ya={x:{[xe.Backward]:!1,[xe.Forward]:!1},y:{[xe.Backward]:!1,[xe.Forward]:!1}};function va(e){let{delta:t,disabled:n}=e;const s=kn(t);return Rt(i=>{if(n||!s||!i)return ya;const o={x:Math.sign(t.x-s.x),y:Math.sign(t.y-s.y)};return{x:{[xe.Backward]:i.x[xe.Backward]||o.x===-1,[xe.Forward]:i.x[xe.Forward]||o.x===1},y:{[xe.Backward]:i.y[xe.Backward]||o.y===-1,[xe.Forward]:i.y[xe.Forward]||o.y===1}}},[n,t,s])}function wa(e,t){const n=t!=null?e.get(t):void 0,s=n?n.node.current:null;return Rt(i=>{var o;return t==null?null:(o=s??i)!=null?o:null},[s,t])}function ja(e,t){return c.useMemo(()=>e.reduce((n,s)=>{const{sensor:i}=s,o=i.activators.map(l=>({eventName:l.eventName,handler:t(l.handler,s)}));return[...n,...o]},[]),[e,t])}var Et;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(Et||(Et={}));var An;(function(e){e.Optimized="optimized"})(An||(An={}));const ur=new Map;function Ca(e,t){let{dragging:n,dependencies:s,config:i}=t;const[o,l]=c.useState(null),{frequency:a,measure:d,strategy:u}=i,h=c.useRef(e),f=y(),g=St(f),p=c.useCallback(function(I){I===void 0&&(I=[]),!g.current&&l(A=>A===null?I:A.concat(I.filter(D=>!A.includes(D))))},[g]),b=c.useRef(null),w=Rt(I=>{if(f&&!n)return ur;if(!I||I===ur||h.current!==e||o!=null){const A=new Map;for(let D of e){if(!D)continue;if(o&&o.length>0&&!o.includes(D.id)&&D.rect.current){A.set(D.id,D.rect.current);continue}const R=D.node.current,x=R?new Wn(d(R),R):null;D.rect.current=x,x&&A.set(D.id,x)}return A}return I},[e,o,n,f,d]);return c.useEffect(()=>{h.current=e},[e]),c.useEffect(()=>{f||p()},[n,f]),c.useEffect(()=>{o&&o.length>0&&l(null)},[JSON.stringify(o)]),c.useEffect(()=>{f||typeof a!="number"||b.current!==null||(b.current=setTimeout(()=>{p(),b.current=null},a))},[a,f,p,...s]),{droppableRects:w,measureDroppableContainers:p,measuringScheduled:o!=null};function y(){switch(u){case Et.Always:return!1;case Et.BeforeDragging:return n;default:return!n}}}function ss(e,t){return Rt(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function ka(e,t){return ss(e,t)}function La(e){let{callback:t,disabled:n}=e;const s=zn(t),i=c.useMemo(()=>
6{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(s)},[s,n]);return c.useEffect(()=>()=>i?.disconnect(),[i]),i}function on(e){let{callback:t,disabled:n}=e;const s=zn(t),i=c.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(s)},[n]);return c.useEffect(()=>()=>i?.disconnect(),[i]),i}function Sa(e){return new Wn(pt(e),e)}function fr(e,t,n){t===void 0&&(t=Sa);const[s,i]=c.useState(null);function o(){i(d=>{if(!e)return null;if(e.isConnected===!1){var u;return(u=d??n)!=null?u:null}const h=t(e);return JSON.stringify(d)===JSON.stringify(h)?d:h})}const l=La({callback(d){if(e)for(const u of d){const{type:h,target:f}=u;if(h==="childList"&&f instanceof HTMLElement&&f.contains(e)){o();break}}}}),a=on({callback:o});return Ve(()=>{o(),e?(a?.observe(e),l?.observe(document.body,{childList:!0,subtree:!0})):(a?.disconnect(),l?.disconnect())},[e]),s}function Ia(e){const t=ss(e);return Zr(e,t)}const pr=[];function Aa(e){const t=c.useRef(e),n=Rt(s=>e?s&&s!==pr&&e&&t.current&&e.parentNode===t.current.parentNode?s:sn(e):pr,[e]);return c.useEffect(()=>{t.current=e},[e]),n}function Ea(e){const[t,n]=c.useState(null),s=c.useRef(e),i=c.useCallback(o=>{const l=xn(o.target);l&&n(a=>a?(a.set(l,Sn(l)),new Map(a)):null)},[]);return c.useEffect(()=>{const o=s.current;if(e!==o){l(o);const a=e.map(d=>{const u=xn(d);return u?(u.addEventListener("scroll",i,{passive:!0}),[u,Sn(u)]):null}).filter(d=>d!=null);n(a.length?new Map(a):null),s.current=e}return()=>{l(e),l(o)};function l(a){a.forEach(d=>{const u=xn(d);u?.removeEventListener("scroll",i)})}},[i,e]),c.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,l)=>at(o,l),Ne):Jr(e):Ne,[e,t])}function hr(e,t){t===void 0&&(t=[]);const n=c.useRef(null);return c.useEffect(()=>{n.current=null},t),c.useEffect(()=>{const s=e!==Ne;s&&!n.current&&(n.current=e),!s&&n.current&&(n.current=null)},[e]),n.current?It(e,n.current):Ne}function Ta(e){c.useEffect(()=>{if(!rn)return;const t=e.map(n=>{let{sensor:s}=n;return s.setup==null?void 0:s.setup()});return()=>{for(const n of t)n?.()}},e.map(t=>{let{sensor:n}=t;return n}))}function Da(e,t){return c.useMemo(()=>e.reduce((n,s)=>{let{eventName:i,handler:o}=s;return n[i]=l=>{o(l,t)},n},{}),[e,t])}function is(e){return c.useMemo(()=>e?ra(e):null,[e])}const gr=[];function Oa(e,t){t===void 0&&(t=pt);const[n]=e,s=is(n?Le(n):null),[i,o]=c.useState(gr);function l(){o(()=>e.length?e.map(d=>Xr(d)?s:new Wn(t(d),d)):gr)}const a=on({callback:l});return Ve(()=>{a?.disconnect(),l(),e.forEach(d=>a?.observe(d))},[e]),i}function Ra(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return Ot(t)?t:e}function Ma(e){let{measure:t}=e;const[n,s]=c.useState(null),i=c.useCallback(u=>{for(const{target:h}of u)if(Ot(h)){s(f=>{const g=t(h);return f?{...f,width:g.width,height:g.height}:g});break}},[t]),o=on({callback:i}),l=c.useCallback(u=>{const h=Ra(u);o?.disconnect(),h&&o?.observe(h),s(h?t(h):null)},[t,o]),[a,d]=_t(l);return c.useMemo(()=>({nodeRef:a,rect:n,setRef:d}),[n,a,d])}const Fa=[{sensor:ts,options:{}},{sensor:qn,options:{}}],Ba={current:{}},Wt={draggable:{measure:ar},droppable:{measure:ar,strategy:Et.WhileDragging,frequency:An.Optimized},dragOverlay:{measure:pt}};class Ct extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,s;return(n=(s=this.get(t))==null?void 0:s.node.current)!=null?n:void 0}}const Pa={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ct,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Zt},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:Wt,measureDroppableContainers:Zt,windowRect:null,measuringScheduled:!1},Na={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:Zt,draggableNodes:new Map,over:null,measureDroppableContainers:Zt},an=c.createContext(Na),os=c.createContext(Pa);function $a(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ct}}}function za(e,t){switch(t.type){case be.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case be.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case be.DragEnd:case be.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case be.RegisterDroppable:{const{element:n}=t,{id:s}
6=n,i=new Ct(e.droppable.containers);return i.set(s,n),{...e,droppable:{...e.droppable,containers:i}}}case be.SetDroppableDisabled:{const{id:n,key:s,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||s!==o.key)return e;const l=new Ct(e.droppable.containers);return l.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:l}}}case be.UnregisterDroppable:{const{id:n,key:s}=t,i=e.droppable.containers.get(n);if(!i||s!==i.key)return e;const o=new Ct(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Va(e){let{disabled:t}=e;const{active:n,activatorEvent:s,draggableNodes:i}=c.useContext(an),o=kn(s),l=kn(n?.id);return c.useEffect(()=>{if(!t&&!s&&o&&l!=null){if(!Vn(o)||document.activeElement===o.target)return;const a=i.get(l);if(!a)return;const{activatorNode:d,node:u}=a;if(!d.current&&!u.current)return;requestAnimationFrame(()=>{for(const h of[d.current,u.current]){if(!h)continue;const f=Fo(h);if(f){f.focus();break}}})}},[s,t,i,l,o]),null}function Wa(e,t){let{transform:n,...s}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...s}),n):n}function qa(e){return c.useMemo(()=>({draggable:{...Wt.draggable,...e?.draggable},droppable:{...Wt.droppable,...e?.droppable},dragOverlay:{...Wt.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function Ga(e){let{activeNode:t,measure:n,initialRect:s,config:i=!0}=e;const o=c.useRef(!1),{x:l,y:a}=typeof i=="boolean"?{x:i,y:i}:i;Ve(()=>{if(!l&&!a||!t){o.current=!1;return}if(o.current||!s)return;const u=t?.node.current;if(!u||u.isConnected===!1)return;const h=n(u),f=Zr(h,s);if(l||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const g=Qr(u);g&&g.scrollBy({top:f.y,left:f.x})}},[t,l,a,s,n])}const as=c.createContext({...Ne,scaleX:1,scaleY:1});var Qe;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(Qe||(Qe={}));const Ua=c.memo(function(t){var n,s,i,o;let{id:l,accessibility:a,autoScroll:d=!0,children:u,sensors:h=Fa,collisionDetection:f=Yo,measuring:g,modifiers:p,...b}=t;const w=c.useReducer(za,void 0,$a),[y,I]=w,[A,D]=Vo(),[R,x]=c.useState(Qe.Uninitialized),E=R===Qe.Initialized,{draggable:{active:m,nodes:C,translate:k},droppable:{containers:j}}=y,F=m!=null?C.get(m):null,G=c.useRef({initial:null,translated:null}),O=c.useMemo(()=>{var Ce;return m!=null?{id:m,data:(Ce=F?.data)!=null?Ce:Ba,rect:G}:null},[m,F]),M=c.useRef(null),[T,W]=c.useState(null),[S,X]=c.useState(null),V=St(b,Object.values(b)),ne=Mt("DndDescribedBy",l),se=c.useMemo(()=>j.getEnabled(),[j]),P=qa(g),{droppableRects:Q,measureDroppableContainers:v,measuringScheduled:$}=Ca(se,{dragging:E,dependencies:[k.x,k.y],config:P.droppable}),q=wa(C,m),K=c.useMemo(()=>S?Ln(S):null,[S]),z=Cs(),Y=ka(q,P.draggable.measure);Ga({activeNode:m!=null?C.get(m):null,config:z.layoutShiftCompensation,initialRect:Y,measure:P.draggable.measure});const N=fr(q,P.draggable.measure,Y),ie=fr(q?q.parentElement:null),L=c.useRef({activatorEvent:null,active:null,activeNode:q,collisionRect:null,collisions:null,droppableRects:Q,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:j,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),U=j.getNodeFor((n=L.current.over)==null?void 0:n.id),Z=Ma({measure:P.dragOverlay.measure}),re=(s=Z.nodeRef.current)!=null?s:q,oe=E?(i=Z.rect)!=null?i:N:null,Fe=!!(Z.nodeRef.current&&Z.rect),fe=Ia(Fe?null:N),ae=is(re?Le(re):null),ce=Aa(E?U??q:null),Te=Oa(ce),J=Wa(p,{transform:{x:k.x-fe.x,y:k.y-fe.y,scaleX:1,scaleY:1},activatorEvent:S,active:O,activeNodeRect:N,containerNodeRect:ie,draggingNodeRect:oe,over:L.current.over,overlayNodeRect:Z.rect,scrollableAncestors:ce,scrollableAncestorRects:Te,windowRect:ae}),te=K?at(K,k):null,pe=Ea(ce),Be=hr(pe),Se=hr(pe,[N]),ve=at(J,Be),it=oe?Jo(oe,J):null,ht=O&&it?f({active:O,collisionRect:it,droppableRects:Q,droppableContainers:se,pointerCoordinates:te}):null,Un=_r(ht,"id"),[Ge,_n]=c.useState(null),xs=Fe?J:at(J,Se),ys=Xo(xs,(o=Ge?.rect)!=null?o:null,N),cn=c.useRef(null),Zn=c.useCallback((Ce,Ie)=>{let{sensor:Ae,options:Ue}=Ie;if(M.current==null)return;const De=C.get(M.current);if(!De)return;
6const Ee=Ce.nativeEvent,$e=new Ae({active:M.current,activeNode:De,event:Ee,options:Ue,context:L,onAbort(we){if(!C.get(we))return;const{onDragAbort:ze}=V.current,qe={id:we};ze?.(qe),A({type:"onDragAbort",event:qe})},onPending(we,_e,ze,qe){if(!C.get(we))return;const{onDragPending:bt}=V.current,Ze={id:we,constraint:_e,initialCoordinates:ze,offset:qe};bt?.(Ze),A({type:"onDragPending",event:Ze})},onStart(we){const _e=M.current;if(_e==null)return;const ze=C.get(_e);if(!ze)return;const{onDragStart:qe}=V.current,gt={activatorEvent:Ee,active:{id:_e,data:ze.data,rect:G}};ke.unstable_batchedUpdates(()=>{qe?.(gt),x(Qe.Initializing),I({type:be.DragStart,initialCoordinates:we,active:_e}),A({type:"onDragStart",event:gt}),W(cn.current),X(Ee)})},onMove(we){I({type:be.DragMove,coordinates:we})},onEnd:ot(be.DragEnd),onCancel:ot(be.DragCancel)});cn.current=$e;function ot(we){return async function(){const{active:ze,collisions:qe,over:gt,scrollAdjustedTranslate:bt}=L.current;let Ze=null;if(ze&&bt){const{cancelDrop:mt}=V.current;Ze={activatorEvent:Ee,active:ze,collisions:qe,delta:bt,over:gt},we===be.DragEnd&&typeof mt=="function"&&await Promise.resolve(mt(Ze))&&(we=be.DragCancel)}M.current=null,ke.unstable_batchedUpdates(()=>{I({type:we}),x(Qe.Uninitialized),_n(null),W(null),X(null),cn.current=null;const mt=we===be.DragEnd?"onDragEnd":"onDragCancel";if(Ze){const dn=V.current[mt];dn?.(Ze),A({type:mt,event:Ze})}})}}},[C]),vs=c.useCallback((Ce,Ie)=>(Ae,Ue)=>{const De=Ae.nativeEvent,Ee=C.get(Ue);if(M.current!==null||!Ee||De.dndKit||De.defaultPrevented)return;const $e={active:Ee};Ce(Ae,Ie.options,$e)===!0&&(De.dndKit={capturedBy:Ie.sensor},M.current=Ue,Zn(Ae,Ie))},[C,Zn]),Qn=ja(h,vs);Ta(h),Ve(()=>{N&&R===Qe.Initializing&&x(Qe.Initialized)},[N,R]),c.useEffect(()=>{const{onDragMove:Ce}=V.current,{active:Ie,activatorEvent:Ae,collisions:Ue,over:De}=L.current;if(!Ie||!Ae)return;const Ee={active:Ie,activatorEvent:Ae,collisions:Ue,delta:{x:ve.x,y:ve.y},over:De};ke.unstable_batchedUpdates(()=>{Ce?.(Ee),A({type:"onDragMove",event:Ee})})},[ve.x,ve.y]),c.useEffect(()=>{const{active:Ce,activatorEvent:Ie,collisions:Ae,droppableContainers:Ue,scrollAdjustedTranslate:De}=L.current;if(!Ce||M.current==null||!Ie||!De)return;const{onDragOver:Ee}=V.current,$e=Ue.get(Un),ot=$e&&$e.rect.current?{id:$e.id,rect:$e.rect.current,data:$e.data,disabled:$e.disabled}:null,we={active:Ce,activatorEvent:Ie,collisions:Ae,delta:{x:De.x,y:De.y},over:ot};ke.unstable_batchedUpdates(()=>{_n(ot),Ee?.(we),A({type:"onDragOver",event:we})})},[Un]),Ve(()=>{L.current={activatorEvent:S,active:O,activeNode:q,collisionRect:it,collisions:ht,droppableRects:Q,draggableNodes:C,draggingNode:re,draggingNodeRect:oe,droppableContainers:j,over:Ge,scrollableAncestors:ce,scrollAdjustedTranslate:ve},G.current={initial:oe,translated:it}},[O,q,ht,it,C,re,oe,Q,j,Ge,ce,ve]),xa({...z,delta:k,draggingRect:it,pointerCoordinates:te,scrollableAncestors:ce,scrollableAncestorRects:Te});const ws=c.useMemo(()=>({active:O,activeNode:q,activeNodeRect:N,activatorEvent:S,collisions:ht,containerNodeRect:ie,dragOverlay:Z,draggableNodes:C,droppableContainers:j,droppableRects:Q,over:Ge,measureDroppableContainers:v,scrollableAncestors:ce,scrollableAncestorRects:Te,measuringConfiguration:P,measuringScheduled:$,windowRect:ae}),[O,q,N,S,ht,ie,Z,C,j,Q,Ge,v,ce,Te,P,$,ae]),js=c.useMemo(()=>({activatorEvent:S,activators:Qn,active:O,activeNodeRect:N,ariaDescribedById:{draggable:ne},dispatch:I,draggableNodes:C,over:Ge,measureDroppableContainers:v}),[S,Qn,O,N,I,ne,C,Ge,v]);return B.createElement(qr.Provider,{value:D},B.createElement(an.Provider,{value:js},B.createElement(os.Provider,{value:ws},B.createElement(as.Provider,{value:ys},u)),B.createElement(Va,{disabled:a?.restoreFocus===!1})),B.createElement(Go,{...a,hiddenTextDescribedById:ne}));function Cs(){const Ce=T?.autoScrollEnabled===!1,Ie=typeof d=="object"?d.enabled===!1:d===!1,Ae=E&&!Ce&&!Ie;return typeof d=="object"?{...d,enabled:Ae}:{enabled:Ae}}}),_a=c.createContext(null),br="button",Za="Draggable";function Qa(e){let{id:t,data:n,disabled:s=!1,attributes:i}=e;const o=Mt(Za),{activators:l,activatorEvent:a,active:d,activeNodeRect:u,ariaDescribedById:h,draggableNodes:f,over:g}=c.useContext(an),{role:p=br,roleDescription:b="draggable",tabIndex:w=0}=i??{},y=d?.id===t,I=c.useContext(y?as:_a),[A,D]=_t(),[R,x]=_t(),E=Da(l,t),m=St(n);Ve(()=>(f.set(t,{id:t,key:o,node:A,activatorNode:R,data:m}),()=>{const k=f.get(t);k&&k.key===o&&f.delete(t)}),[f,t]);const C=c.useMemo(()=>({role:p,tabIndex:w,"aria-disabled":s,"aria-pressed":y&&p===br?!0:void 0,"aria-roledescription":b,"aria-describedby":h.draggable}),[s,p,w,y,b,h.draggable]);return{active:d,activatorEvent:a,activeNodeRect:u,attributes:C,isDragging:y,listeners:s?void 0:E,node:A,over:g,setNodeRef:D,setActivatorNodeRef:x,transform:I}}function Ha(){return c.useContext(os)}const Ya="Droppable",Xa={timeout:25};function Ka(e){let{data:t,disabled:n=!1,id:s,resizeObserverConfig:i}=e;const o=Mt(Ya),{active:l,dispatch:a,over:d,measureDroppableContainers:u}=c.useContext(an),h=c.useRef({disabled:n}),f=c.useRef(!1),g=c.useRef(null),p=c.useRef(null),{disabled:b,updateMeasurementsFor:w,timeout:y}={...Xa,...i},I=St(w??s),A=c.useCallback(()=>
6{if(!f.current){f.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{u(Array.isArray(I.current)?I.current:[I.current]),p.current=null},y)},[y]),D=on({callback:A,disabled:b||!l}),R=c.useCallback((C,k)=>{D&&(k&&(D.unobserve(k),f.current=!1),C&&D.observe(C))},[D]),[x,E]=_t(R),m=St(t);return c.useEffect(()=>{!D||!x.current||(D.disconnect(),f.current=!1,D.observe(x.current))},[x,D]),c.useEffect(()=>(a({type:be.RegisterDroppable,element:{id:s,key:o,disabled:n,node:x,rect:g,data:m}}),()=>a({type:be.UnregisterDroppable,key:o,id:s})),[s]),c.useEffect(()=>{n!==h.current.disabled&&(a({type:be.SetDroppableDisabled,id:s,key:o,disabled:n}),h.current.disabled=n)},[s,o,n,a]),{active:l,rect:g,isOver:d?.id===s,node:x,over:d,setNodeRef:E}}function ls(e,t,n){const s=e.slice();return s.splice(n<0?s.length+n:n,0,s.splice(t,1)[0]),s}function Ja(e,t){return e.reduce((n,s,i)=>{const o=t.get(s);return o&&(n[i]=o),n},Array(e.length))}function zt(e){return e!==null&&e>=0}function el(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function tl(e){return typeof e=="boolean"?{draggable:e,droppable:e}:e}const cs=e=>{let{rects:t,activeIndex:n,overIndex:s,index:i}=e;const o=ls(t,s,n),l=t[i],a=o[i];return!a||!l?null:{x:a.left-l.left,y:a.top-l.top,scaleX:a.width/l.width,scaleY:a.height/l.height}},Vt={scaleX:1,scaleY:1},nl=e=>{var t;let{activeIndex:n,activeNodeRect:s,index:i,rects:o,overIndex:l}=e;const a=(t=o[n])!=null?t:s;if(!a)return null;if(i===n){const u=o[l];return u?{x:0,y:n<l?u.top+u.height-(a.top+a.height):u.top-a.top,...Vt}:null}const d=rl(o,i,n);return i>n&&i<=l?{x:0,y:-a.height-d,...Vt}:i<n&&i>=l?{x:0,y:a.height+d,...Vt}:{x:0,y:0,...Vt}};function rl(e,t,n){const s=e[t],i=e[t-1],o=e[t+1];return s?n<t?i?s.top-(i.top+i.height):o?o.top-(s.top+s.height):0:o?o.top-(s.top+s.height):i?s.top-(i.top+i.height):0:0}const ds="Sortable",us=B.createContext({activeIndex:-1,containerId:ds,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:cs,disabled:{draggable:!1,droppable:!1}});function sl(e){let{children:t,id:n,items:s,strategy:i=cs,disabled:o=!1}=e;const{active:l,dragOverlay:a,droppableRects:d,over:u,measureDroppableContainers:h}=Ha(),f=Mt(ds,n),g=a.rect!==null,p=c.useMemo(()=>s.map(E=>typeof E=="object"&&"id"in E?E.id:E),[s]),b=l!=null,w=l?p.indexOf(l.id):-1,y=u?p.indexOf(u.id):-1,I=c.useRef(p),A=!el(p,I.current),D=y!==-1&&w===-1||A,R=tl(o);Ve(()=>{A&&b&&h(p)},[A,p,b,h]),c.useEffect(()=>{I.current=p},[p]);const x=c.useMemo(()=>({activeIndex:w,containerId:f,disabled:R,disableTransforms:D,items:p,overIndex:y,useDragOverlay:g,sortedRects:Ja(p,d),strategy:i}),[w,f,R.draggable,R.droppable,D,p,y,d,g,i]);return B.createElement(us.Provider,{value:x},t)}const il=e=>{let{id:t,items:n,activeIndex:s,overIndex:i}=e;return ls(n,s,i).indexOf(t)},ol=e=>{let{containerId:t,isSorting:n,wasDragging:s,index:i,items:o,newIndex:l,previousItems:a,previousContainerId:d,transition:u}=e;return!u||!s||a!==o&&i===l?!1:n?!0:l!==i&&t===d},al={duration:200,easing:"ease"},fs="transform",ll=At.Transition.toString({property:fs,duration:0,easing:"linear"}),cl={roleDescription:"sortable"};function dl(e){let{disabled:t,index:n,node:s,rect:i}=e;const[o,l]=c.useState(null),a=c.useRef(n);return Ve(()=>{if(!t&&n!==a.current&&s.current){const d=i.current;if(d){const u=pt(s.current,{ignoreTransform:!0}),h={x:d.left-u.left,y:d.top-u.top,scaleX:d.width/u.width,scaleY:d.height/u.height};(h.x||h.y)&&l(h)}}n!==a.current&&(a.current=n)},[t,n,s,i]),c.useEffect(()=>{o&&l(null)},[o]),o}function ul(e){let{animateLayoutChanges:t=ol,attributes:n,disabled:s,data:i,getNewIndex:o=il,id:l,strategy:a,resizeObserverConfig:d,transition:u=al}=e;const{items:h,containerId:f,activeIndex:g,disabled:p,disableTransforms:b,sortedRects:w,overIndex:y,useDragOverlay:I,strategy:A}=c.useContext(us),D=fl(s,p),R=h.indexOf(l),x=c.useMemo(()=>({sortable:{containerId:f,index:R,items:h},...i}),[f,i,R,h]),E=c.useMemo(()=>h.slice(h.indexOf(l)),[h,l]),{rect:m,node:C,isOver:k,setNodeRef:j}=Ka({id:l,data:x,disabled:D.droppable,resizeObserverConfig:{updateMeasurementsFor:E,...d}}),{active:F,activatorEvent:G,activeNodeRect:O,attributes:M,setNodeRef:T,listeners:W,isDragging:S,over:X,setActivatorNodeRef:V,transform:ne}=Qa({id:l,data:x,attributes:{...cl,...n},disabled:D.draggable}),se=Do(j,T),P=!!F,Q=P&&!b&&zt(g)&&zt(y),v=!I&&S,$=v&&Q?ne:null,K=Q?$??(a??A)({rects:w,activeNodeRect:O,activeIndex:g,overIndex:y,index:R}):null,z=zt(g)&&zt(y)?o({id:l,items:h,activeIndex:g,overIndex:y}):R,Y=F?.id,N=c.useRef({activeId:Y,items:h,newIndex:z,containerId:f}),ie=h!==N.current.items,L=t({active:F,containerId:f,isDragging:S,isSorting:P,id:l,index:R,items:h,newIndex:N.current.newIndex,previousItems:N.current.items,previousContainerId:N.current.containerId,transition:u,wasDragging:N.current.activeId!=null}),U=dl({disabled:!L,index:R,node:C,rect:m});return c.useEffect(()=>
6{P&&N.current.newIndex!==z&&(N.current.newIndex=z),f!==N.current.containerId&&(N.current.containerId=f),h!==N.current.items&&(N.current.items=h)},[P,z,f,h]),c.useEffect(()=>{if(Y===N.current.activeId)return;if(Y!=null&&N.current.activeId==null){N.current.activeId=Y;return}const re=setTimeout(()=>{N.current.activeId=Y},50);return()=>clearTimeout(re)},[Y]),{active:F,activeIndex:g,attributes:M,data:x,rect:m,index:R,newIndex:z,items:h,isOver:k,isSorting:P,isDragging:S,listeners:W,node:C,overIndex:y,over:X,setNodeRef:se,setActivatorNodeRef:V,setDroppableNodeRef:j,setDraggableNodeRef:T,transform:U??K,transition:Z()};function Z(){if(U||ie&&N.current.newIndex===R)return ll;if(!(v&&!Vn(G)||!u)&&(P||L))return At.Transition.toString({...u,property:fs})}}function fl(e,t){var n,s;return typeof e=="boolean"?{draggable:e,droppable:!1}:{draggable:(n=e?.draggable)!=null?n:t.draggable,droppable:(s=e?.droppable)!=null?s:t.droppable}}function Ht(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&typeof t.sortable=="object"&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const pl=[ee.Down,ee.Right,ee.Up,ee.Left],hl=(e,t)=>{let{context:{active:n,collisionRect:s,droppableRects:i,droppableContainers:o,over:l,scrollableAncestors:a}}=t;if(pl.includes(e.code)){if(e.preventDefault(),!n||!s)return;const d=[];o.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const g=i.get(f.id);if(g)switch(e.code){case ee.Down:s.top<g.top&&d.push(f);break;case ee.Up:s.top>g.top&&d.push(f);break;case ee.Left:s.left>g.left&&d.push(f);break;case ee.Right:s.left<g.left&&d.push(f);break}});const u=Qo({collisionRect:s,droppableRects:i,droppableContainers:d});let h=_r(u,"id");if(h===l?.id&&u.length>1&&(h=u[1].id),h!=null){const f=o.get(n.id),g=o.get(h),p=g?i.get(g.id):null,b=g?.node.current;if(b&&p&&f&&g){const y=sn(b).some((E,m)=>a[m]!==E),I=ps(f,g),A=gl(f,g),D=y||!I?{x:0,y:0}:{x:A?s.width-p.width:0,y:A?s.height-p.height:0},R={x:p.left,y:p.top};return D.x&&D.y?R:It(R,D)}}}};function ps(e,t){return!Ht(e)||!Ht(t)?!1:e.data.current.sortable.containerId===t.data.current.sortable.containerId}function gl(e,t){return!Ht(e)||!Ht(t)||!ps(e,t)?!1:e.data.current.sortable.index<t.data.current.sortable.index}const bl=e=>{let{transform:t}=e;return{...t,x:0}},ml=e=>{const{attributes:t,listeners:n,setNodeRef:s,transform:i,transition:o}=ul({id:e.id});return r.jsx("div",{ref:s,...t,...n,style:{transform:At.Translate.toString(i),transition:o,touchAction:"none"},children:e.children})},xl=(e,t,n)=>{const s=Array.from(e),[i]=s.splice(t,1);return s.splice(n,0,i),s};function yl({display:e,app:t,map:n,localObserver:s,options:i}){const o=Uo(mn(ns,{activationConstraint:{delay:150,tolerance:5}}),mn(qn,{coordinateGetter:hl,activationConstraint:{delay:150,tolerance:5}}),mn(rs,{activationConstraint:{delay:150,tolerance:5}})),[l,a]=c.useState(["layer","group","base"]),[d,u]=c.useState([]),[h,f]=c.useState(!1),[g,p]=c.useState(!1),b=c.useCallback(()=>n.getAllLayers().filter(E=>(E.getZIndex()===void 0&&E.setZIndex(-2),E.get("visible")===!0&&l.includes(E.get("layerType")))).sort((E,m)=>m.getZIndex()-E.getZIndex()),[l,n]),w=c.useCallback(()=>n.getAllLayers().filter(x=>(x.getZIndex()===void 0&&x.setZIndex(-2),l.includes(x.get("layerType")))).sort((x,E)=>E.getZIndex()-x.getZIndex()),[l,n]);c.useEffect(()=>{let x;return e&&(x=t.globalObserver.subscribe("core.layerVisibilityChanged",E=>{u(b())}),u(b())),function(){x&&x.unsubscribe()}},[e,b,t.globalObserver]),c.useEffect(()=>{u(b())},[l,t.globalObserver,b]);const y=x=>{if(!x.over)return;const E=d.map(C=>C.get("name")).indexOf(x.active.id.toString()),m=d.map(C=>C.get("name")).indexOf(x.over.id.toString());if(x.active.id!==x.over.id){const C=xl(d,E,m);u(C);const k=d[E],j=E,F=m,G=k.getZIndex()||0;let O=null;const M=j-F;if(M===0)return;if(M>0){O=w().filter(S=>S.getZIndex()>=G&&k!==S);const W=b()[F].getZIndex()||0;O=O.filter(S=>S.getZIndex()<=W),O.forEach(S=>S.setZIndex(S.getZIndex()-1)),k.setZIndex(W)}else{O=w().filter(S=>S.getZIndex()<=G&&k!==S);const W=b()[F].getZIndex()||0;O=O.filter(S=>S.getZIndex()>=W),O.forEach(S=>S.setZIndex(S.getZIndex()+1)),k.setZIndex(W)}}},I=()=>{f(!h)},A=()=>{if(l.includes("system")){const x=l.filter(E=>E!=="system");a(x)}else a(x=>[...x,"system"]);p(!g)},D=()=>
6{if(!i.lockDrawOrderBaselayer)return null;const x=d.find(E=>E.get("layerType")==="base");return x?r.jsx(jn,{layer:x,app:t,globalObserver:t.globalObserver,draggable:!i.lockDrawOrderBaselayer,toggleable:!1},x.isFakeMapLayer?x.get("caption"):x.ol_uid):null},R=x=>{const E={layerIsToggled:x.get("visible"),visibleSubLayers:x.get("subLayers")},m={layerId:x.get("name"),layerCaption:x.get("caption"),layerType:x.get("layerType"),layerIsFakeMapLayer:!1,allSubLayers:x.get("allSubLayers"),layerMinZoom:x.get("minZoom"),layerMaxZoom:x.get("maxZoom"),numberOfSubLayers:x.subLayers?.length,layerInfo:x.get("layerInfo"),layerLegendIcon:x.get("legendIcon")};return x.get("layerType")==="base"?r.jsx(jn,{layer:x,app:t,globalObserver:t.globalObserver,draggable:!0,toggleable:!1},x.isFakeMapLayer?x.get("caption"):x.ol_uid):x.get("layerType")==="group"?r.jsx(Ut,{layerState:E,layerConfig:m,globalObserver:t.globalObserver,toggleable:!1,draggable:!0},x.ol_uid):r.jsx(Lt,{layerState:E,layerConfig:m,draggable:!0,toggleable:!1,globalObserver:t.globalObserver},x.ol_uid)};return r.jsxs(_,{className:"ls-draworder-tab-view",id:"draw-order-list",sx:[{height:"inherit",maxHeight:"inherit",overflowY:"auto"},e?{display:"block"}:{display:"none"}],children:[r.jsxs(_,{sx:x=>({pr:2,pl:2,py:1,backgroundColor:x.palette.grey[100],borderBottom:`${x.spacing(.2)} solid ${x.palette.divider}`,...x.applyStyles("dark",{backgroundColor:"#373737"})}),children:[r.jsxs(ye,{direction:"row",alignItems:"center",children:[i.enableSystemLayersSwitch&&r.jsx(Xs,{id:"draw-order-switch",children:r.jsx(Ks,{control:r.jsx(Js,{checked:g,onChange:A}),label:"Systemlager"})}),r.jsx(_,{sx:{flexGrow:1}}),r.jsx(je,{onClick:I,children:r.jsx(le,{title:h?"Dölj info":"Visa info",children:r.jsx(lt,{})})})]}),r.jsx(Xe,{in:h,timeout:"auto",unmountOnExit:!0,className:"infoCollapse",children:r.jsxs(_,{sx:{p:1,pt:0},children:[r.jsx("hr",{}),r.jsx(H,{variant:"subtitle2",children:i.drawOrderViewInfoText})]})})]}),r.jsx(Ua,{onDragEnd:y,sensors:o,modifiers:[bl],collisionDetection:Zo,autoScroll:{threshold:{x:0,y:.2}},children:r.jsx(sl,{items:d.map(x=>x.get("name")),strategy:nl,children:d.map(x=>x.get("layerType")!=="base"||x.get("layerType")==="base"&&i.lockDrawOrderBaselayer===!1?r.jsx(ml,{id:x.get("name"),children:R(x)},x.get("name")):null)})}),D()]})}function vl({display:e,backButtonCallback:t,quickAccessPresets:n,map:s,globalObserver:i,quickAccessPresetsInfoText:o}){const{enqueueSnackbar:l}=Jt(),[a,d]=c.useState(!1),[u,h]=c.useState(null),[f,g]=c.useState(null),[p,b]=c.useState(null),[w,y]=c.useState(!1),I=We(),A=n||[],[D,R]=c.useState({query:"",list:A}),x=v=>{y(!1),setTimeout(()=>{v?t({setQuickAccessSectionExpanded:!0}):t()},100)},E=()=>{d(!a)},m=v=>{g(v)},C=v=>{const $=A.filter(q=>v===""?q:q.title.toLowerCase().includes(v.toLowerCase())||q.author.toLowerCase().includes(v.toLowerCase())||q.keywords?.some(K=>K.toLowerCase().includes(v.toLowerCase())));R({query:v,list:$})},k=v=>{h(v)},j=v=>{let $=v?{...f}:{...u};h(null),g(null);const q=G($.layers);q.length>0?b({missingLayers:q,layers:$.layers,title:$.title}):F($.layers,$.title)},F=(v,$)=>{O(),M(),b(null);const q=s.getAllLayers();v.forEach(K=>{const z=q.find(N=>N.get("name")===K.id),Y=q.filter(N=>N.get(He)===!0).map(N=>N.get("name"));Je.set(Ft,Y),z?(z.get("layerType")!=="base"&&z.set("quickAccess",!0),z.setZIndex(K.drawOrder),z.setOpacity(K.opacity),z.get("layerType")==="group"?K.visible===!0&&I.setSubLayersVisible(K.id,K.subLayers):(z.get("layerType")==="base"&&i.publish("layerswitcher.backgroundLayerChanged",z.get("name")),z.set("visible",K.visible))):K.id<0&&(i.publish("layerswitcher.backgroundLayerChanged",K.id),K.id==="-2"?document.getElementById("map").style.backgroundColor="#000":document.getElementById("map").style.backgroundColor="#FFF")}),l(`${$} har nu laddats till snabbåtkomst.`,{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}}),i.publish("layerswitcher.expandQuickAccess"),x(!0)},G=v=>(s.getAllLayers().forEach($=>{const q=v.find(K=>K.id===$.get("name"));q&&(v=v.filter(K=>K.id!==q.id))}),v.length>0&&(v=v.filter($=>$.id>0)),v),O=()=>{s.getAllLayers().filter(v=>v.get("quickAccess")===!0).map(v=>v.set("quickAccess",!1))},M=()=>{s.getAllLayers().filter(v=>
6v.get("visible")===!0).forEach(v=>{v.get("layerType")==="group"?i.publish("layerswitcher.hideLayer",v):v.get("layerType")!=="system"&&v.set("visible",!1)})},T=()=>{h(null),g(null)},W=()=>{b(null)},S=()=>{y(!1)},X=()=>{y(!0)},V=v=>{let $="Bakgrundskarta hittades inte";return v.forEach(q=>{const K=s.getAllLayers().find(z=>z.get("name")===q.id);K&&K.get("layerType")==="base"?$=K.get("caption"):q.id<0&&(q.id==="-2"?$="Svart":$="Vit")}),$},ne=v=>{if(Array.isArray(v)&&v.length>0){const $=v.filter(q=>q.trim()!=="");return $.length>0?r.jsx(ye,{sx:{mt:2},direction:"row",spacing:1,children:$.map(q=>r.jsx(Sr,{label:q,size:"small",variant:"outlined"},`chip-${q}`))}):null}else return null},se=()=>ke.createPortal(r.jsxs(et,{open:!!f,onClose:T,onMouseDown:v=>{v.stopPropagation()},children:[r.jsx(tt,{sx:{pb:0},children:f?f.title:""}),r.jsxs(nt,{children:[r.jsx(qt,{sx:{pb:2},children:f?f.author:""}),r.jsx(H,{children:f?f.description:""}),f?ne(f.keywords):null,r.jsx(qt,{sx:{mt:2,mb:1},children:"Bakgrund"}),r.jsxs(ye,{direction:"row",spacing:1,children:[r.jsx(wr,{fontSize:"small"}),r.jsx(H,{children:f&&V(f.layers)})]}),r.jsx(Ye,{sx:{mt:2}}),r.jsx(H,{sx:{mt:2,mb:1},children:"Vid laddning kommer aktuella lager i snabbåtkomst att ersättas med temat. Alla tända lager i kartan släcks och ersätts med temats tända lager."})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:T,children:"Avbryt"}),r.jsx(ge,{onClick:()=>j(!0),variant:"contained",children:"Ladda"})]})]}),document.getElementById("map")),P=()=>ke.createPortal(r.jsxs(et,{open:!!u,onClose:T,closeAfterTransition:!1,onMouseDown:v=>{v.stopPropagation()},children:[r.jsx(tt,{children:"Ladda tema"}),r.jsx(nt,{children:r.jsxs(H,{children:[u?`Aktuella lager i snabbåtkomst kommer nu att ersättas med tema "${u.title}". Alla tända lager i kartan släcks och ersätts med temats tända lager.`:"",r.jsx("br",{})]})}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:T,children:"Avbryt"}),r.jsx(ge,{onClick:()=>j(!1),variant:"contained",children:"Ladda"})]})]}),document.getElementById("map")),Q=()=>ke.createPortal(r.jsxs(et,{open:!!p,onClose:W,closeAfterTransition:!1,onMouseDown:v=>{v.stopPropagation()},children:[r.jsx(tt,{children:"Lager saknas"}),r.jsxs(nt,{children:[r.jsxs(H,{children:[p&&"Följande lagerid:n kan inte hittas i kartans lagerlista:",r.jsx("br",{})]}),r.jsx("ul",{children:p?.missingLayers.map(v=>r.jsx("li",{children:v.id},v.id))}),r.jsxs(H,{children:[p&&"Det kan bero på att lagret har utgått. Vänligen kontrollera och uppdatera lagerpaketet eller kontakta administratören av kartan.",r.jsx("br",{})]})]}),r.jsxs(rt,{children:[r.jsx(ge,{onClick:W,children:"Avbryt"}),r.jsx(ge,{onClick:()=>F(p.layers,p.title),variant:"contained",children:"Fortsätt"})]})]}),document.getElementById("map"));return r.jsxs(r.Fragment,{children:[r.jsxs(_,{id:"quick-access-presets-view",sx:[v=>({position:"relative",overflow:"hidden",flexGrow:1,backgroundColor:"#fff",...v.applyStyles("dark",{backgroundColor:"rgb(18,18,18)"})}),e?{display:"flex",flexDirection:"column"}:{display:"none"}],children:[r.jsxs(_,{sx:v=>({p:1,backgroundColor:v.palette.grey[100],borderBottom:`${v.spacing(.2)} solid ${v.palette.divider}`,...v.applyStyles("dark",{backgroundColor:"#373737"})}),children:[r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(le,{open:w,onClose:S,onOpen:X,title:"Tillbaka",TransitionProps:{timeout:0},children:r.jsx(de,{id:"quick-access-back-button",onClick:x,children:r.jsx(en,{})})}),r.jsx(_,{sx:{flexGrow:1,textAlign:"center"},children:r.jsx(H,{variant:"subtitle1",children:"Teman"})}),r.jsx(de,{onClick:E,children:r.jsx(le,{title:a?"Dölj info":"Visa info",children:r.jsx(lt,{})})})]}),r.jsx(Xe,{in:a,timeout:"auto",unmountOnExit:!0,className:"infoCollapse",children:r.jsx(_,{sx:v=>({px:1,pt:1,borderTop:`${v.spacing(.2)} solid ${v.palette.divider}`}),children:r.jsx(H,{variant:"subtitle2",children:o})})}),r.jsx(_,{sx:{p:1},children:r.jsx(ct,{size:"small",value:D.query,onChange:v=>C(v.target.value),fullWidth:!0,placeholder:"Filtrera",variant:"outlined",sx:v=>({background:"#fff",...v.applyStyles("dark",{background:"inherit"})}),slotProps:{input:{startAdornment:r.jsx(Fn,{position:"start",children:r.jsx(kr,{})})}}})})]}),r.jsx(_,{sx:{flexGrow:1,overflowY:"auto"},children:r.jsx(Kt,{dense:!0,sx:{p:0},children:D.list.length?D.list.map((v,$)=>r.jsxs(st,{dense:!0,divider:!0,onClick:()=>k(v),children:[r.jsx(me,{sx:{px:0,minWidth:"34px"},children:r.jsx(Cr,{fontSize:"small"})}),r.jsx(ue,{primary:v.title,secondary:v.author,slotProps:{primary:{pr:5,overflow:"hidden",textOverflow:"ellipsis"},secondary:{overflow:"hidden",textOverflow:"ellipsis"}}}),r.jsx(dt,{sx:{right:"4px"},children:r.jsx(le,{title:"Information om "+v.title,children:r.jsx(de,{onClick:q=>{q.preventDefault(),q.stopPropagation(),m(v)},children:r.jsx(lt,{fontSize:"small"})})})})]},v.metadata?.savedAt||$)):r.jsx(H,{sx:{p:2},children:A.length===0?r.jsx("span",{children:"Inga lagerpaket är konfigurerade"}):r.jsx("span",{children:"Din filtrering gav inga resultat"})})})})]}),P(),se(),Q()]})}function wl({layer:e,app:t,enqueueSnackbar:n,subLayerIndex:s}){const[i,o]=c.useState(null),l=!!i,a=e?.get("layerInfo"),d=p=>{p.stopPropagation(),p.preventDefault(),o(p.currentTarget)},u=p=>{p.stopPropagation(),p.preventDefault(),o(null)},h=()=>t.config.mapConfig.map.enableDownloadLink&&Array.isArray(e.subLayers),f=p=>{p.stopPropagation(),o(null),s||(s=0);const b=Array.isArray(e.subLayers)?encodeURI(e.subLayers[s]):null,y=`${e.get("url")}/kml?layers=${b}&mode=download`;document.location=y},g=async p=>{p.stopPropagation(),o(null);try{const b=e.getSource().get("url").replace("wms","wfs"),{LAYERS:w}=e.getSource().getParams(),y=b.includes("?")?"&":"?",I=`${b}${y}service=WFS&version=1.0.0&request=GetFeature&typeName=${w}&maxFeatures=5000&outputFormat=application%2Fjson`,A=`${b}${y}service=WFS&version=1.0.0&request=DescribeFeatureType&typeName=${w}&outputFormat=application%2Fjson`,R=await(await fetch(I)).json(),m=(await(await fetch(A)).json()).featureTypes.find(j=>j.typeName===w).properties.filter(j=>!j.type.toLowerCase().includes("gml")).map(j=>({field:j.name,headerName:j.name,type:j.localType==="int"?"number":j.localType,flex:1})),C=R.features.map((j,F)=>({...j.properties,id:F}
6)),k=e.get("caption");t.globalObserver.publish("core.showAttributeTable",{title:`${k} (${w})`,content:{columns:m,rows:C}})}catch(b){console.error(b),console.error(this);const w=e.get("caption");n(`Serverfel: attributtabellen för lagret "${w}" kunde inte visas`,{variant:"error",anchorOrigin:{vertical:"bottom",horizontal:"center"}})}};return!a?.showAttributeTableButton&&!h()?null:r.jsxs(r.Fragment,{children:[r.jsx(je,{size:"small","aria-controls":l?"basic-menu":void 0,"aria-haspopup":"true","aria-expanded":l?"true":void 0,onClick:d,children:r.jsx(le,{title:"Val för lager",children:r.jsx(Xt,{})})}),r.jsxs(Dt,{anchorEl:i,open:l,onClose:u,variant:"menu",children:[a.showAttributeTableButton&&r.jsxs(he,{onClick:g,children:[r.jsx(me,{children:r.jsx(ei,{fontSize:"small"})}),r.jsx(ue,{children:"Visa attributtabell"})]}),h()&&r.jsxs(he,{onClick:f,children:[r.jsx(me,{children:r.jsx(yr,{fontSize:"small"})}),r.jsx(ue,{children:"Ladda ner"})]})]})]})}function jl({layer:e}){const[t,n]=c.useState(""),[s,i]=c.useState(""),[o,l]=c.useState(""),[a,d]=c.useState(""),[u,h]=c.useState([]),f=c.useCallback(()=>{const{url:I,featureType:A}=e.getProperties(),D=I.includes("?")?"&":"?";ti(I+`${D}service=WFS&request=describeFeatureType&outputFormat=application/json&typename=${A}`).then(R=>{R.json().then(x=>{const E=x.featureTypes.find(m=>m.typeName===A);if(E&&Array.isArray(E.properties)){const m=E.properties.filter(C=>C.type!=="gml:Geometry").map(C=>C.name);h(m)}})})},[e,h]);c.useEffect(()=>{n(e.get("filterAttribute")||""),i(e.get("filterValue")||""),l(e.get("filterComparer")||""),e.get("filterAttribute")&&e.get("filterComparer")&&e.get("filterValue")?d(`${e.get("filterAttribute")} ${g(e.get("filterComparer"))} ${e.get("filterValue")}`):d(""),f()},[e,f]);const g=I=>{switch(I){case"gt":return">";case"lt":return"<";case"eq":return"=";case"not":return"â ";default:return I}},p=(I,A)=>{switch(A){case"attribute":n(I.target.value);break;case"comparer":l(I.target.value);break;case"value":i(I.target.value);break}},b=()=>{e.set("filterAttribute",t),e.set("filterComparer",o),e.set("filterValue",s),d(`${t} ${g(o)} ${s}`),e.getSource().refresh()},w=()=>{d(""),n(""),l(""),i(""),e.set("filterAttribute",""),e.set("filterComparer",""),e.set("filterValue",""),e.getSource().refresh()},y=()=>t!==""&&o!=="";return r.jsx(r.Fragment,{children:a?r.jsx(Sr,{label:a,variant:"outlined",size:"large",sx:{width:"100%",justifyContent:"space-between"},onDelete:()=>d(""),deleteIcon:r.jsx(Rn,{})}):r.jsxs(r.Fragment,{children:[r.jsxs(ye,{direction:"row",spacing:2,alignItems:"center",children:[r.jsx(H,{sx:{flexGrow:1,flexBasis:"25%"},variant:"subtitle2",children:"Attribut"}),r.jsxs(Hn,{value:t,onChange:I=>p(I,"attribute"),placeholder:"Välj attribut",size:"small",displayEmpty:!0,fullWidth:!0,inputProps:{name:"filterAttribute",placeholder:"Välj attributet",id:"attribute"},children:[r.jsx(he,{value:"",children:"Välj attribut"},-1),u.map((I,A)=>r.jsx(he,{value:I,children:I},A))]})]}),r.jsxs(ye,{direction:"row",spacing:2,alignItems:"center",sx:{pt:1},children:[r.jsx(H,{sx:{flexGrow:1,flexBasis:"25%"},variant:"subtitle2",children:"Operator"}),r.jsxs(Hn,{value:o,onChange:I=>p(I,"comparer"),displayEmpty:!0,size:"small",fullWidth:!0,inputProps:{name:"filterComparer",id:"comparer"},children:[r.jsx(he,{value:"",children:"Välj operator"}),r.jsx(he,{value:"gt",children:"Större än"}),r.jsx(he,{value:"lt",children:"Mindre än"}),r.jsx(he,{value:"eq",children:"Lika med"}),r.jsx(he,{value:"not",children:"Skilt frÃ¥n"})]})]}),r.jsxs(ye,{direction:"row",spacing:2,alignItems:"center",sx:{pt:1},children:[r.jsx(H,{sx:{flexGrow:1,flexBasis:"25%"},variant:"subtitle2",children:"Värde"}),r.jsx(ni,{value:s,onChange:I=>p(I,"value"),placeholder:"Filtervärde",fullWidth:!0,size:"small",inputProps:{name:"filterValue","aria-label":"Värde"}})]}),r.jsxs(ye,{direction:"row",spacing:2,justifyContent:"end",sx:{pt:2},children:[r.jsx(ge,{onClick:w,children:"Ã
terställ"}),r.jsx(ge,{variant:"contained",color:"primary",onClick:b,disabled:!y(),children:"Aktivera"})]})]})})}const Cl=({layer:e})=>{const[t,n]=c.useState("");c.useEffect(()=>{const i=e?.getSource(),o=typeof i?.getParams=="function"&&i?.getParams()?.CQL_FILTER||"";n(o)},[e]);const s=()=>{let i=t.trim();i.length===0&&(i=void 0),e?.getSource().updateParams({CQL_FILTER:i}
6)};return r.jsxs(ye,{direction:"row",spacing:2,alignItems:"center",children:[r.jsx(H,{sx:{flexGrow:1,flexBasis:"25%"},variant:"subtitle2",children:"CQL-filter"}),r.jsx(ri,{id:"cqlfilter",type:"text",size:"small",multiline:!0,fullWidth:!0,placeholder:"foo='bar' AND fii='baz'",value:t,onChange:i=>n(i.target.value),endAdornment:r.jsx(Fn,{position:"end",children:r.jsx(le,{disableInteractive:!0,title:"Tryck för att ladda om lagret med angivet filter",children:r.jsx(je,{edge:"end",onClick:s,size:"small",children:r.jsx(si,{})})})})})]})};function kl({layer:e,app:t,chapters:n}){const s=e?.get("layerInfo")||{},i=()=>{const d=o(e?.get("name"),n);return s?.infoCaption||""||s?.infoUrl||""||s?.infoOwner||""||s?.infoText||""||d.length>0},o=(d,u)=>{let h=[];return Array.isArray(u)&&(h=u.reduce((f,g)=>(Array.isArray(g.layers)&&(g.layers.some(p=>p===d)&&(f=[...f,g]),g.chapters.length>0&&(f=[...f,...o(d,g.chapters)])),f),[])),h},l=d=>{t.windows.find(h=>h.type==="informative").props.custom.open(d)},a=()=>{if(n&&n.length>0){let d=o(this.name,n);return d.length>0?r.jsxs(r.Fragment,{children:[r.jsx(H,{children:"Innehåll från denna kategori finns benämnt i följande kapitel i översiktsplanen:"}),r.jsx(Kt,{children:d.map((u,h)=>r.jsx("li",{children:r.jsxs(ge,{size:"small",variant:"outlined",onClick:l(u),children:[u.header,r.jsx(Lr,{sx:{marginLeft:1,fontSize:"16px"}})]})},h))})]}):null}else return null};return r.jsx(r.Fragment,{children:i()?r.jsxs(_,{id:"layer-item-details-info",children:[s.infoText&&r.jsxs(r.Fragment,{children:[r.jsx(H,{variant:"subtitle2",children:s.infoTitle}),r.jsx(H,{variant:"body2",dangerouslySetInnerHTML:{__html:s.infoText}})]}),s.infoUrl&&r.jsx(H,{variant:"body2",children:r.jsx("a",{href:s.infoUrl||null,target:"_blank",rel:"noopener noreferrer",children:s.infoUrlText||s.infoUrl})}),s.infoOwner&&r.jsx(H,{variant:"body2",dangerouslySetInnerHTML:{__html:s.infoOwner}}),a()]}):r.jsx(H,{id:"layer-item-details-info",children:"Ingen information tillgänglig"})})}function Ll({display:e,layerItemDetails:t,chapters:n,app:s,showOpacitySlider:i,showQuickAccess:o}){const{enqueueSnackbar:l}=Jt(),[a,d]=c.useState(!1),[u,h]=c.useState(0),[f,g]=c.useState(!1),[p,b]=c.useState(!1),w=We(),I=s.config.mapConfig.tools.find(V=>V.type==="layerswitcher")?.options.cqlFilterVisible||!1,A=t?.subLayerIndex===void 0?null:t?.subLayerIndex,D=A===null,R=t?.layer?.get("layerInfo"),x=t?.layer?.get("layerType"),E=R?.legend,m=x&&A===null?E?.map(V=>V?.url):Array.isArray(E)&&E[A]?.url,C=(V,ne)=>{t.layer.set("opacity",ne)},k=V=>{h(V.target.get("opacity"))};c.useEffect(()=>(t?.layer&&(t?.layer?.isFakeMapLayer||(h(t?.layer?.get("opacity")),g(t?.layer?.get("quickAccess")),t?.layer?.on("change:opacity",k))),function(){t?.layer?.un("change:opacity",k)}),[t]);const j=V=>`${Math.trunc(V*100)} %`,F=()=>{b(!1),d(!1),setTimeout(()=>{s.globalObserver.publish("setLayerDetails",null)},100)},G=()=>{b(!1)},O=()=>{b(!0)},M=()=>t?.layer?.get("layerType")!=="system"&&t?.layer?.isFakeMapLayer!==!0,T=()=>t?.layer?.get("layerType")!=="base"&&t?.layer?.get("layerType")!=="system"&&A===null&&o,W=()=>I&&t?.layer?.get("layerType")!=="system"&&t?.layer?.get("layerType")!=="base",S=()=>{let V="";f?V=`${X()} har nu tagits bort från snabbåtkomst.`:V=`${X()} har nu lagts till i snabbåtkomst.`,l(V,{variant:"success",anchorOrigin:{vertical:"bottom",horizontal:"center"}}),g(!f);const ne=t?.layer?.get("name");w.setLayerQuickAccess(ne,!f)},X=()=>A!==null?t.layer.layersInfo[t.layer.subLayers[A]].caption:t?.layer?.get("caption");return r.jsx(r.Fragment,{children:t&&e&&r.jsxs(_,{sx:V=>({top:0,left:0,right:0,bottom:0,backgroundColor:"#fff",position:"relative",overflowY:"auto",height:"inherit",minHeight:"15em",maxHeight:"inherit",...V.applyStyles("dark",{backgroundColor:"rgb(18,18,18)"})}),children:[r.jsx(_,{sx:V=>({p:1,backgroundColor:V.palette.grey[100],borderBottom:`${V.spacing(.2)} solid ${V.palette.divider}`,...V.applyStyles("dark",{backgroundColor:"#373737"})}),children:r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(le,{open:p,onClose:G,onOpen:O,title:"Tillbaka",TransitionProps:{timeout:0},children:r.jsx(de,{id:"layer-item-details-back-button",onClick:F,children:r.jsx(en,{})})}),r.jsx(_,{sx:{flexGrow:1,textAlign:"center"},children:r.jsx(H,{variant:"subtitle1",children:X()})}),M()&&r.jsx(wl,{layer:t.layer,app:s,subLayerIndex:A,enqueueSnackbar:l})]})}),r.jsxs(_,{sx:{p:1},children:[r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(de,{sx:{cursor:"default"},disableFocusRipple:!0,disableRipple:!0,children:r.jsx(lt,{})}),r.jsx(_,{sx:{flexGrow:1},children:r.jsx(H,{variant:"subtitle1",children:"Info"})}),x&&r.jsx(le,{title:a?"Dölj teckenförklaring":"Visa teckenförklaring",children:r.jsx(de,{id:"toggle-legend-icon",onClick:()=>d(!a),children:r.jsx(Dn,{fontSize:"small"})})})]}),r.jsxs(_,{sx:V=>({py:1,px:2,borderBottom:`${V.spacing(.2)} solid ${V.palette.divider}`}),children:[r.jsx(kl,{chapters:n,app:s,layer:t.layer}),r.jsx(Bn,{src:m,open:a})]}),r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(de,{sx:{cursor:"default"},disableFocusRipple:!0,disableRipple:!0,children:r.jsx(ii,{})}),r.jsx(_,{sx:{flexGrow:1},children:r.jsx(H,{variant:"subtitle1",children:"Inställningar"})})]}),i!==!1&&D?r.jsx(_,{id:"layer-details-opacity-slider",sx:{px:2,pr:3,pb:2},children:r.jsxs(ye,{direction:"row",spacing:2,alignItems:"center",children:[r.jsx(H,{variant:"subtitle2",sx:{flexGrow:1,flexBasis:"25%"},children:"Opacitet"}),r.jsx(oi,{"aria-label":"Layer opacity",value:u,onChange:C,getAriaValueText:j,valueLabelFormat:j,min:0,max:1,step:.
601,valueLabelDisplay:"auto"})]})}):null,W()&&r.jsx(_,{sx:{px:2,pr:2,pb:2},children:r.jsx(Cl,{layer:t.layer})}),t?.layer?.getProperties().filterable&&r.jsxs(r.Fragment,{children:[r.jsx(Ye,{}),r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(de,{sx:{cursor:"default"},disableFocusRipple:!0,disableRipple:!0,children:r.jsx(ai,{})}),r.jsx(_,{sx:{flexGrow:1},children:r.jsx(H,{variant:"subtitle1",children:"Filter"})})]}),r.jsx(_,{sx:{px:2,pr:2,pb:2},children:r.jsx(jl,{layer:t.layer})})]}),T()&&r.jsx(_,{sx:V=>({borderTop:`${V.spacing(.2)} solid ${V.palette.divider}`,p:2}),children:r.jsx(ge,{id:"layer-details-quick-access-button",fullWidth:!0,variant:"outlined",onClick:S,children:f?r.jsxs(r.Fragment,{children:[r.jsx(On,{sx:{marginRight:1}}),"Ta bort frÃ¥n snabbÃ¥tkomst"]}):r.jsxs(r.Fragment,{children:[r.jsx(jr,{sx:{marginRight:1}}),"Lägg till i snabbÃ¥tkomst"]})})})]})]})})}function Sl({display:e,groupDetails:t,app:n}){const[s,i]=c.useState(!1),o=()=>{i(!1),setTimeout(()=>{n.globalObserver.publish("setLayerDetails",null)},100)},l=()=>{i(!1)},a=()=>{i(!0)};return r.jsx(r.Fragment,{children:t&&e&&r.jsxs(_,{sx:d=>({top:0,left:0,right:0,bottom:0,backgroundColor:"#fff",position:"relative",overflowY:"auto",height:"inherit",minHeight:"15em",maxHeight:"inherit",...d.applyStyles("dark",{backgroundColor:"rgb(18,18,18)"})}),children:[r.jsx(_,{sx:d=>({p:1,backgroundColor:d.palette.grey[100],borderBottom:`${d.spacing(.2)} solid ${d.palette.divider}`,...d.applyStyles("dark",{backgroundColor:"#373737"})}),children:r.jsxs(ye,{direction:"row",alignItems:"center",children:[r.jsx(le,{open:s,onClose:l,onOpen:a,title:"Tillbaka",TransitionProps:{timeout:0},children:r.jsx(de,{onClick:o,children:r.jsx(en,{})})}),r.jsx(_,{sx:{flexGrow:1,textAlign:"center"},children:r.jsx(H,{variant:"subtitle1",children:t.infogroupname})})]})}),r.jsxs(_,{sx:{p:2},children:[r.jsx(H,{sx:{mb:1,pl:3},children:t.infogrouptitle}),r.jsx(H,{variant:"body2",dangerouslySetInnerHTML:{__html:t.infogrouptext}}),r.jsxs(Kt,{children:[t.infogroupurl&&r.jsxs(un,{children:[r.jsx(me,{children:r.jsx(Yn,{})}),r.jsx(Xn,{href:t.infogroupurl,variant:"body2",children:t.infogroupurltext})]}),t.infogroupopendatalink&&r.jsxs(un,{children:[r.jsx(me,{children:r.jsx(Yn,{})}),r.jsx(Xn,{href:t.infogroupopendatalink,variant:"body2",children:"Ãppna data"})]}),t.infogroupowner&&r.jsxs(un,{children:[r.jsx(me,{children:r.jsx(li,{})}),r.jsx(ue,{children:r.jsx(H,{variant:"body2",children:t.infogroupowner})})]})]})]})]})})}const Il=Me(di)(()=>({zIndex:"1"})),Al=({map:e,app:t})=>ke.createPortal(r.jsx("div",{onMouseDown:n=>n.stopPropagation(),children:r.jsx(To,{map:e,app:t})}),document.getElementById("breadcrumbs-container"));class hs extends B.PureComponent{static propTypes={app:xt.object.isRequired,map:xt.object.isRequired,localObserver:xt.object.isRequired,globalObserver:xt.object.isRequired,options:xt.object.isRequired};constructor(t){super(t),this.options=t.options,this.olLayerMap=t.map.getLayers().getArray().reduce((n,s)=>(n[s.get("name")]=s,n),{}),this.baseLayers=t.map.getLayers().getArray().filter(n=>n.get("layerType")==="base").map(n=>n.getProperties()),this.state={chapters:[],activeTab:0,displayContentOverlay:null,layerItemDetails:null,groupDetails:null,scrollPositions:{tab0:0,tab1:0,tab2:0}},this.localObserver=this.props.localObserver,this.globalObserver=this.props.globalObserver,this.staticLayerConfig=this.props.staticLayerConfig,this.staticLayerTree=this.props.staticLayerTree,this.backgroundLayerMap=this.baseLayers.map(n=>({id:n.name,name:n.caption,visible:n.visible,zIndex:n.zIndex})),this.handleFavoritesBackTransition=()=>{this.toggleFavoritesQuickAccessBackButton()},document.addEventListener("favoritesBackTransition",this.handleFavoritesBackTransition),this.handleFavoritesShowTransition=()=>{this.toggleShowFavoritesView()},document.addEventListener("favoritesShowTransition",this.handleFavoritesShowTransition),t.app.globalObserver.subscribe("informativeLoaded",n=>{Array.isArray(n)&&this.setState({chapters:n})}),t.app.globalObserver.subscribe("setLayerDetails",n=>{if(n){const s=this.getScrollPosition(),i=n.layerId;if(i){const l={layer:this.olLayerMap[i],subLayerIndex:n.subLayerIndex};this.setState(a=>
6({layerItemDetails:l,groupDetails:null,displayContentOverlay:"layerItemDetails",scrollPositions:{...a.scrollPositions,[`tab${a.activeTab}`]:s}}))}else if(n.infogroupname||n.infogrouptitle||n.infogrouptext||n.infogroupurl||n.infogroupurltext||n.infogroupopendatalink||n.infogroupowner)this.setState(o=>({layerItemDetails:null,groupDetails:n,displayContentOverlay:"groupDetails",scrollPositions:{...o.scrollPositions,[`tab${o.activeTab}`]:s}}));else return}else this.setState({displayContentOverlay:null})}),this.scrollContainerRef=B.createRef()}handleQuickAccessPresetsToggle=t=>{t?.event?.stopPropagation();const n=this.getScrollPosition();this.setState(s=>({displayContentOverlay:this.state.displayContentOverlay==="quickAccessPresets"?null:"quickAccessPresets",scrollPositions:{...s.scrollPositions,[`tab${s.activeTab}`]:n}}))};handleFavoritesViewToggle=t=>{t?.event?.stopPropagation();const n=this.getScrollPosition();this.setState(s=>({displayContentOverlay:this.state.displayContentOverlay==="favorites"?null:"favorites",scrollPositions:{...s.scrollPositions,[`tab${s.activeTab}`]:n}}))};toggleFavoritesQuickAccessBackButton=()=>{(this.state.displayContentOverlay==="favorites"||this.state.displayContentOverlay==="quickAccessPresets")&&this.setState({displayContentOverlay:null})};toggleShowFavoritesView=()=>{this.state.displayContentOverlay===null&&this.setState({displayContentOverlay:"favorites"})};handleChangeTabs=(t,n)=>{const s=this.getScrollPosition();this.setState(i=>({activeTab:n,displayContentOverlay:null,scrollPositions:{...i.scrollPositions,[`tab${i.activeTab}`]:s}}))};componentDidUpdate(t,n){if(n.activeTab!==this.state.activeTab||n.displayContentOverlay!==this.state.displayContentOverlay){const{scrollPositions:s}=this.state;s[`tab${this.state.activeTab}`]}}getScrollPosition=()=>{};handleTabsMounted=t=>{setTimeout(()=>{t!==null&&t.updateIndicator()},1)};componentWillUnmount(){document.removeEventListener("favoritesBackTransition",this.handleFavoritesBackTransition),document.removeEventListener("favoritesShowTransition",this.handleFavoritesShowTransition)}render(){const{windowVisible:t,layersState:n}=this.props;return r.jsxs("div",{id:"layer-switcher-view-root",style:{display:t?"flex":"none",flexDirection:"column",height:"100%",maxHeight:"inherit",flex:1},children:[r.jsx(Il,{id:"layer-switcher-tab-panel",position:"relative",color:"default",children:r.jsxs(ci,{action:this.handleTabsMounted,onChange:this.handleChangeTabs,value:t?this.state.activeTab:!1,variant:"fullWidth",textColor:"inherit",sx:{"& .MuiBadge-badge":{right:-16,top:8}},children:[r.jsx(fn,{label:"Kartlager"}),r.jsx(fn,{label:"Bakgrund"}),this.options.showDrawOrderView===!0&&r.jsx(fn,{id:"draw-order-tab",label:"Ritordning"})]})}),r.jsx(Ui,{style:{flexGrow:"1",display:this.state.activeTab===0&&this.state.displayContentOverlay===null?"flex":"none"},layersState:n,staticLayerConfig:this.staticLayerConfig,staticLayerTree:this.staticLayerTree,displayContentOverlay:this.state.displayContentOverlay,layersTabOptions:{showFilter:this.options.showFilter,showQuickAccess:this.options.showQuickAccess,enableQuickAccessPresets:this.options.enableQuickAccessPresets,enableUserQuickAccessFavorites:this.options.enableUserQuickAccessFavorites,userQuickAccessFavoritesInfoText:this.options.userQuickAccessFavoritesInfoText,layerFilterMinLength:this.options.layerFilterMinLength},handleQuickAccessPresetsToggle:s=>this.handleQuickAccessPresetsToggle({event:s}),handleFavoritesViewToggle:this.handleFavoritesViewToggle,globalObserver:this.globalObserver,map:this.props.map,app:this.props.app,scrollContainerRef:this.scrollContainerRef}),this.props.options.enableQuickAccessPresets&&r.jsx(vl,{quickAccessPresets:this.options.quickAccessPresets,display:this.state.displayContentOverlay==="quickAccessPresets",backButtonCallback:this.handleQuickAccessPresetsToggle,map:this.props.map,globalObserver:this.globalObserver,quickAccessPresetsInfoText:this.options.quickAccessPresetsInfoText??this.options.quickAccessTopicsInfoText}),r.jsx(Ll,{display:this.state.displayContentOverlay==="layerItemDetails",layerItemDetails:this.state.layerItemDetails,app:this.props.app,chapters:this.state.chapters,showOpacitySlider:this.props.options.enableTransparencySlider,showQuickAccess:this.props.options.showQuickAccess}),r.jsx(Sl,{display:this.state.displayContentOverlay==="groupDetail
6s",groupDetails:this.state.groupDetails,app:this.props.app}),r.jsx(yi,{display:this.state.activeTab===1&&this.state.displayContentOverlay===null,layers:this.baseLayers,layerMap:this.olLayerMap,enableOSM:this.options.enableOSM,renderSpecialBackgroundsAtBottom:this.options.renderSpecialBackgroundsAtBottom,map:this.props.map,globalObserver:this.props.globalObserver}),this.options.showDrawOrderView===!0&&r.jsx(yl,{localObserver:this.localObserver,display:this.state.activeTab===2&&this.state.displayContentOverlay===null,map:this.props.map,app:this.props.app,options:this.props.options}),this.options.showBreadcrumbs&&r.jsx(Al,{map:this.props.map,app:this.props.app})]})}}const Vl=Object.freeze(Object.defineProperty({__proto__:null,default:hs},Symbol.toStringTag,{value:"Module"})),El=(e,t)=>{const n=e??0,s=t??0;return s>0&&s<1/0||n>0&&n<1/0},gs=(e,t,n,s,i,o)=>{const l=ln(),a=l>=e&&l<=t,{addToSnackbar:d,removeFromSnackbar:u}=ui(),[h,f]=c.useState(a),[g,p]=c.useState(n);c.useEffect(()=>{El(e,t)&&(n!==g&&(n&&!a?d(i,o):n||u(i,o),p(n)),a!==h&&(a||!n?u(i,o):n&&!s&&d(i,o),f(a)))},[d,u,i,o,e,t,a,h,n,g,s])},Wl=Object.freeze(Object.defineProperty({__proto__:null,useLayerZoomWarningSnackbar:gs},Symbol.toStringTag,{value:"Module"})),He="quickAccess",Ft="quickAccessLayers",mr=e=>({opacity:e.get("opacity"),id:e.get("name"),layerId:e.get("name"),layerCaption:e.get("caption"),caption:e.get("caption"),layerIsToggled:e.get("visible"),visible:e.get("visible"),quickAccess:e.get("quickAccess"),visibleSubLayers:e.get("visible")?e.get("subLayers"):[],wmsLoadError:e.get("wmsLoadStatus")??void 0,zIndex:e.get("zIndex")}),bs=c.createContext(null),ln=()=>c.useContext(bs),Tl=({map:e,children:t})=>{const[n,s]=c.useState(e.getView().getZoom());return c.useEffect(()=>{const i=o=>{const l=e.getView().getZoom();n!==l&&s(l)};return e.on("moveend",i),()=>{e.un("moveend",i)}},[e,n]),r.jsx(bs.Provider,{value:n,children:t})},Dl=({layer:e})=>{const t=e.get("minZoom"),n=e.get("maxZoom"),s=e.get("visible"),i=e.get("minMaxZoomAlertOnToggleOnly"),o=e.get("name"),l=e.get("caption");return gs(t,n,s,i,o,l),r.jsx(r.Fragment,{})},Ol=({children:e,layers:t})=>r.jsxs(r.Fragment,{children:[t.map(n=>{const s=n.get("name");return s===void 0?(console.warn("Possibly misconfigured layer: 'name' property is missing",n),null):s?.includes("plugin")?null:r.jsx(Dl,{layer:n},s)}),e]}),yt=(e,t)=>{if(!e)return null;if(Array.isArray(e)){const n=e.find(s=>yt(s,t));if(n)return yt(n,t)}if(e.id===t)return e;if(e.children){const n=e.children.find(s=>yt(s,t));if(n)return yt(n,t)}else return null},wn=e=>{if(hi()){const t=e.getAllLayers().filter(n=>n.get(He)===!0).map(n=>n.get("name"));Je.set(Ft,t)}},Rl=(e,t,n)=>{const s=e.getLayers().getArray().filter(i=>i.get("layerType")==="base");return{setLayerVisibility(i,o){const l=e.getAllLayers().find(a=>a.get("name")===i);if(l.setVisible(o),!(l instanceof pi))if(o){const a=t[i]?.allSubLayers;a&&(l.set("subLayers",a),Bt(l,a))}else l.set("subLayers",[]),Bt(l,[])},setSubLayerVisibility(i,o,l){const a=e.getAllLayers().find(g=>g.get("name")===i);let d;a.get("visible")?d=new Set(a.get("subLayers")):d=new Set,l?d.add(o):d.delete(o);const u=new Set(d),f=(t[i]?.allSubLayers).filter(g=>u.has(g));a.set("subLayers",f),Bt(a,f)},setSubLayersVisible(i,o){const l=e.getAllLayers().find(u=>u.get("name")===i),a=l.get("allSublayers"),d=Array.isArray(o)?o:a;Bt(l,d)},setGroupVisibility(i,o){const l=yt(n,i);fi(l).forEach(d=>{e.getAllLayers().find(h=>h.get("name")===d).setVisible(o)})},setAllLayersInvisible(){e.getAllLayers().forEach(i=>{const o=i.get("layerType");o!=="base"&&o!=="system"&&i.setVisible(!1)})},setBackgroundLayer(i){s.forEach(l=>l?.setVisible(!1)),e.getAllLayers().find(l=>l.get("name")===i)?.setVisible(!0)},setLayerOpacity(i,o){e.getAllLayers().find(a=>a.get("name")===i).setVisible(o)},setLayerQuickAccess(i,o){e.getAllLayers().find(a=>a.get("name")===i).set(He,o),wn(e)},addVisibleLayersToQuickAccess(){e.getAllLayers().filter(o=>o.get("visible")===!0&&o.get("layerType")!=="base"&&o.get("layerType")!=="system").forEach(o=>o.set(He,!0)),wn(e)},clearQuickAccess(){e.getAllLayers().filter(i=>i.get("layerType")!=="base"&&i.get("layerType")!=="system").map(i=>i.set(He,!1)),wn(e)}}},En=(e,t)=>e?.flatMap(n=>{if(!n)return;const s=En(n.layers,t),i=En(n.groups,t),o=[...s??[],...i??[]],l=!!(n.groups||n.layers),a=t[n.id];if(!l&&a===void 0)return[];const d=a?.get("layerType")==="group";let u=n.layerType;return d&&(u="groupLayer"),l&&(u="group"),[{id:n.id,layerId:n.id,caption:a?.get("caption")??n.name,layerCaption:a?.get("caption")??n.name,allSubLayers:a?.get("allSubLayers"),initiallyExpanded:n.expanded,initiallyToggled:n.toggled,initialDrawOrder:n.drawOrder,infobox:n.infobox,isGroup:l,layerType:u,visibleAtStart:n.visibleAtStart,visibleForGroups:n.visibleForGroups,layerMinZoom:a?.get("minZoom"),layerMaxZoom:a?.get("maxZoom"),layerInfo:a?.get("layerInfo"),layerLegendIcon:a?.get("legendIcon"),numberOfSubLayers:n.subLayers?.length,layerIsFakeMapLayer:!1,infogroupvisible:n.infogroupvisible,infogrouptitle:n.infogrouptitle,infogrouptext:n.infogrouptext,infogroupurl:n.infogroupurl,infogroupurltext:n.infogroupurltext,infogroupopendatalink:n.infogroupopendatalink,infogroupowner:n.infogroupowner},...o?.length===0?[]:o]}),Ml=(e,t)=>En(e,t)?.reduce((s,i)=>(s[i.id]=i,s),{}),ms=c.createContext(null),We=()=>c.useContext(ms),Tn=(e,t)=>e?.map(n=>{if(!n)return;const s=Tn(n.layers,t),i=Tn(n.groups,t),o=[...s??[],...i??[]];return{id:n.id,name:t[n.id]?.get("caption")??n.name,subLayers:t[n.id]?.get("subLayers"),children:o?.length===0?void 0:o,groupIsToggable:n.toggled,defaultExpanded:n.expanded,parent:n.parent}}),Fl=({app:e,map:t,localObserver:n,globalObserver:s,options:i,windowVisible:o})=>{const l=c.useRef(t.getLayers().getArray().reduce((g,p)=>(g[p.get("name")]=p,g),{})),a=c.useMemo(()=>Tn(i.groups,l.current),[i]),d=c.useMemo(()=>Ml(i.groups,l.current),[i]),[u,h]=c.useState(t.getLayers().getArray().reduce((g,p)=>(g[p.get("name")]=mr(p),g),{}));c.useEffect(()=>{const g=b=>w=>{const I=mr(b);h(A=>({...A,[I.id]:I}))},p=t.getAllLayers().map(b=>{const w=g(b);return b.on("propertychange",w),w});return()=>
6{t.getAllLayers().forEach((b,w)=>{const y=p[w];y&&b.un("propertychange",y)})}},[t]),c.useEffect(()=>{const g=Je.get(Ft);if(!(typeof g=="object"&&g!==null))return;const p=new Set(Object.values(g));t.getLayers().getArray().forEach(b=>{p.has(b.get("name"))&&b.set(He,!0)})},[t]);const f=c.useRef(Rl(t,d,a));return r.jsx(ms.Provider,{value:f.current,children:r.jsx(Tl,{map:t,children:r.jsx(Ol,{layerState:u,options:i,layers:t.getAllLayers(),children:r.jsx(hs,{app:e,map:t,localObserver:n,globalObserver:s,options:i,windowVisible:o,layersState:u,staticLayerTree:a,staticLayerConfig:d})})})})},ql=Object.freeze(Object.defineProperty({__proto__:null,QUICK_ACCESS_KEY:He,QUICK_ACCESS_LS_KEY:Ft,default:Fl,useLayerSwitcherDispatch:We,useMapZoom:ln},Symbol.toStringTag,{value:"Module"}));export{Fl as L,Vl as a,ql as b,Wl as u};
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.