diff --git a/openlayers-base-packages/assets/44d4d8f07e1b.js b/openlayers-base-packages/assets/662c8a6b4d1f.js similarity index 99% rename from openlayers-base-packages/assets/44d4d8f07e1b.js rename to openlayers-base-packages/assets/662c8a6b4d1f.js index ecc197cff..7017754b6 100644 --- a/openlayers-base-packages/assets/44d4d8f07e1b.js +++ b/openlayers-base-packages/assets/662c8a6b4d1f.js @@ -1,2 +1,2 @@ var Ie=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var f=(r,e,t)=>(Ie(r,e,"read from private field"),t?t.call(r):e.get(r)),S=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},x=(r,e,t,s)=>(Ie(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t);var re=(r,e,t)=>(Ie(r,e,"access private method"),t);import{f as Wt,j as u,c as Ut,r as b,a as Vt,u as fe,B as ot,F as Bt,b as $t}from"./49b2c148dcb3.js";import{L as qt,C as Ht,g as at,f as He,V as Ke,i as lt,I as C,a as Kt,c as Yt,b as Q,d as J,e as Ye,m as Xt,t as Zt,h as ct,j as ge,k as ht,l as dt,n as ut,T as Qt,r as Jt,o as gt,E as Ge,u as pt,p as es,S as ts,q as ss,s as Xe,v as is,w as oe,x as mt,B as ft,y as _t,z as yt,A as Ze,D as ns,F as Qe,G as rs,H as os,J as Oe,K as X,M as A,N as bt,O as as,P as ls,Q as cs,R as hs,U as ds,W as us,X as gs,Y as ps,Z as ms,_ as Je,$ as fs,a0 as _s,a1 as et,a2 as ys,a3 as bs,a4 as k,a5 as ws,a6 as vs,a7 as wt,a8 as Te,a9 as tt,aa as _e,ab as xs,ac as vt,ad as Ss,ae as Cs,af as Es,ag as st,ah as ze,ai as ye,aj as Is,ak as Ts,al as Ps,am as ks,an as Ls,ao as Ms,ap as Rs,aq as Ds,ar as Fs,as as Os,at as As,au as Ns,av as js,aw as it}from"./c0d2fbcdd7fa.js";import{a as xt,W as Gs,b as zs}from"./d9e8a3de521c.js";import{E as Ws,F as ae}from"./adc90c48e771.js";import{B as D,T as Pe,S as ke}from"./fa35e3e86a4c.js";import{V as be,G as St,a as we,F as K,L as G,M as Us,b as Ct,c as Et,d as Vs,e as Bs,t as $s,S as pe,f as Z,g as Ae,C as qs,T as Hs,I as Ks,Z as Ys,h as Xs}from"./cccb52663858.js";import{T as We,F as Zs}from"./5091d4253a81.js";import{S as Qs,F as Js}from"./5697241972e7.js";import{S as ei}from"./dda37e0a503c.js";import{G as It}from"./37c62c6c4df6.js";import"./7033ed36aa8c.js";import"./f3ffe551a463.js";var Tt=Wt((r,e)=>u.jsx(Qs,{align:"center",...r,direction:"row",ref:e}));Tt.displayName="HStack";function Pt(r,e){const t=(""+r).split("."),s=(""+e).split(".");for(let i=0;io)return 1;if(o>n)return-1}return 0}class ti extends qt{constructor(e){e=e||{},super(e)}}const si=ti;class ii extends Ht{constructor(e){super(e),this.image_=null}getImage(){return this.image_?this.image_.getImage():null}prepareFrame(e){const t=e.layerStatesArray[e.layerIndex],s=e.pixelRatio,i=e.viewState,n=i.resolution,o=this.getLayer().getSource(),a=e.viewHints;let l=e.extent;if(t.extent!==void 0&&(l=at(l,He(t.extent,i.projection))),!a[Ke.ANIMATING]&&!a[Ke.INTERACTING]&&!lt(l))if(o){const h=i.projection,c=o.getImage(l,n,s,h);c&&(this.loadImage(c)?this.image_=c:c.getState()===C.EMPTY&&(this.image_=null))}else this.image_=null;return!!this.image_}getData(e){const t=this.frameState;if(!t)return null;const s=this.getLayer(),i=Kt(t.pixelToCoordinateTransform,e.slice()),n=s.getExtent();if(n&&!Yt(n,i))return null;const o=this.image_.getExtent(),a=this.image_.getImage(),l=Q(o),h=Math.floor(a.width*((i[0]-o[0])/l));if(h<0||h>=a.width)return null;const c=J(o),d=Math.floor(a.height*((o[3]-i[1])/c));return d<0||d>=a.height?null:this.getImageData(a,h,d)}renderFrame(e,t){const s=this.image_,i=s.getExtent(),n=s.getResolution(),[o,a]=Array.isArray(n)?n:[n,n],l=s.getPixelRatio(),h=e.layerStatesArray[e.layerIndex],c=e.pixelRatio,d=e.viewState,p=d.center,g=d.resolution,m=c*o/(g*l),_=c*a/(g*l),y=e.extent,P=d.resolution,I=d.rotation,v=Math.round(Q(y)/P*c),$=Math.round(J(y)/P*c);Ye(this.pixelTransform,e.size[0]/2,e.size[1]/2,1/c,1/c,I,-v/2,-$/2),Xt(this.inversePixelTransform,this.pixelTransform);const xe=Zt(this.pixelTransform);this.useContainer(t,xe,this.getBackground(e));const E=this.context,O=E.canvas;O.width!=v||O.height!=$?(O.width=v,O.height=$):this.containerReused||E.clearRect(0,0,v,$);let Se=!1,Ce=!0;if(h.extent){const H=He(h.extent,d.projection);Ce=ct(H,e.extent),Se=Ce&&!ge(H,e.extent),Se&&this.clipUnrotated(E,e,H)}const q=s.getImage(),ne=Ye(this.tempTransform,v/2,$/2,m,_,0,l*(i[0]-p[0])/o,l*(p[1]-i[3])/a);this.renderedResolution=a*c/l;const Be=q.width*ne[0],$e=q.height*ne[3];if(this.getLayer().getSource().getInterpolate()||(E.imageSmoothingEnabled=!1),this.preRender(E,e),Ce&&Be>=.5&&$e>=.5){const H=ne[4],zt=ne[5],Ee=h.opacity;let qe;Ee!==1&&(qe=E.globalAlpha,E.globalAlpha=Ee),E.drawImage(q,0,0,+q.width,+q.height,H,zt,Be,$e),Ee!==1&&(E.globalAlpha=qe)}return this.postRender(E,e),Se&&E.restore(),E.imageSmoothingEnabled=!0,xe!==O.style.transform&&(O.style.transform=xe),this.container}}const ni=ii;class ri extends si{constructor(e){super(e)}createRenderer(){return new ni(this)}getData(e){return super.getData(e)}}const oi=ri;function Ne(r){return Array.isArray(r)?Math.min(...r):r}class ai extends ht{constructor(e,t,s,i,n,o,a){let l=e.getExtent();l&&e.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);let h=t.getExtent();h&&t.canWrapX()&&(h=h.slice(),h[0]=-1/0,h[2]=1/0);const c=h?at(s,h):s,d=dt(c),p=ut(e,t,d,i),g=es,m=new Qt(e,t,c,l,p*g,i),_=m.calculateSourceExtent(),y=lt(_)?null:o(_,p,n),P=y?C.IDLE:C.EMPTY,I=y?y.getPixelRatio():1;super(s,i,I,P),this.targetProj_=t,this.maxSourceExtent_=l,this.triangulation_=m,this.targetResolution_=i,this.targetExtent_=s,this.sourceImage_=y,this.sourcePixelRatio_=I,this.interpolate_=a,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){this.state==C.LOADING&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const e=this.sourceImage_.getState();if(e==C.LOADED){const t=Q(this.targetExtent_)/this.targetResolution_,s=J(this.targetExtent_)/this.targetResolution_;this.canvas_=Jt(t,s,this.sourcePixelRatio_,Ne(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_)}this.state=e,this.changed()}load(){if(this.state==C.IDLE){this.state=C.LOADING,this.changed();const e=this.sourceImage_.getState();e==C.LOADED||e==C.ERROR?this.reproject_():(this.sourceListenerKey_=gt(this.sourceImage_,Ge.CHANGE,function(t){const s=this.sourceImage_.getState();(s==C.LOADED||s==C.ERROR)&&(this.unlistenSource_(),this.reproject_())},this),this.sourceImage_.load())}}unlistenSource_(){pt(this.sourceListenerKey_),this.sourceListenerKey_=null}}const li=ai,R=4,Le={IMAGELOADSTART:"imageloadstart",IMAGELOADEND:"imageloadend",IMAGELOADERROR:"imageloaderror"};class ci extends ft{constructor(e,t){super(e),this.image=t}}class hi extends ts{constructor(e){super({attributions:e.attributions,projection:e.projection,state:e.state,interpolate:e.interpolate!==void 0?e.interpolate:!0}),this.on,this.once,this.un,this.loader=e.loader||null,this.resolutions_=e.resolutions!==void 0?e.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=e.loader?e.loader.length===0:!1}getResolutions(){return this.resolutions_}setResolutions(e){this.resolutions_=e}findNearestResolution(e){const t=this.getResolutions();if(t){const s=ss(t,e,0);e=t[s]}return e}getImage(e,t,s,i){const n=this.getProjection();if(!n||!i||Xe(n,i))return n&&(i=n),this.getImageInternal(e,t,s,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&Xe(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==t&&is(this.reprojectedImage_.getExtent(),e))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new li(n,i,e,t,s,(o,a,l)=>this.getImageInternal(o,a,l,n),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(e,t,s,i){if(this.loader){const n=kt(e,t,s,1),o=this.findNearestResolution(t);if(this.image&&(this.static_||(this.wantedExtent_&&ge(this.wantedExtent_,n)||ge(this.image.getExtent(),n))&&(this.wantedResolution_&&Ne(this.wantedResolution_)===o||Ne(this.image.getResolution())===o)))return this.image;this.wantedExtent_=n,this.wantedResolution_=o,this.image=new ht(n,o,s,this.loader),this.image.addEventListener(Ge.CHANGE,this.handleImageChange.bind(this))}return this.image}handleImageChange(e){const t=e.target;let s;switch(t.getState()){case C.LOADING:this.loading=!0,s=Le.IMAGELOADSTART;break;case C.LOADED:this.loading=!1,s=Le.IMAGELOADEND;break;case C.ERROR:this.loading=!1,s=Le.IMAGELOADERROR;break;default:return}this.hasListener(s)&&this.dispatchEvent(new ci(s,t))}}function di(r,e){r.getImage().src=e}function kt(r,e,t,s){const i=e/t,n=dt(r),o=oe(Q(r)/i,R),a=oe(J(r)/i,R),l=oe((s-1)*o/2,R),h=o+2*l,c=oe((s-1)*a/2,R),d=a+2*c;return mt(n,i,0,[h,d])}const ui=hi,Lt="1.3.0";function Mt(r,e,t,s,i){i.WIDTH=t[0],i.HEIGHT=t[1];const n=s.getAxisOrientation();let o;const a=Pt(i.VERSION,"1.3")>=0;return i[a?"CRS":"SRS"]=s.getCode(),a&&n.substr(0,2)=="ne"?o=[e[1],e[0],e[3],e[2]]:o=e,i.BBOX=o.join(","),xt(r,i)}function gi(r,e,t,s,i,n,o){n=Object.assign({REQUEST:"GetMap"},n);const a=e/t,l=[Ze(Q(r)/a,R),Ze(J(r)/a,R)];if(t!=1)switch(o){case"geoserver":const c=90*t+.5|0;"FORMAT_OPTIONS"in n?n.FORMAT_OPTIONS+=";dpi:"+c:n.FORMAT_OPTIONS="dpi:"+c;break;case"mapserver":n.MAP_RESOLUTION=90*t;break;case"carmentaserver":case"qgis":n.DPI=90*t;break;default:throw new Error("Unknown `serverType` configured")}return Mt(i,r,l,s,n)}function Rt(r,e){return Object.assign({REQUEST:e,SERVICE:"WMS",VERSION:Lt,FORMAT:"image/png",STYLES:"",TRANSPARENT:!0},r)}function pi(r){const e=r.hidpi===void 0?!0:r.hidpi,t=_t(r.projection||"EPSG:3857"),s=r.ratio||1.5,i=r.load||yt;return(n,o,a)=>{n=kt(n,o,a,s),a!=1&&(!e||r.serverType===void 0)&&(a=1);const l=gi(n,o,a,t,r.url,Rt(r.params,"GetMap"),r.serverType),h=new Image;return r.crossOrigin!==null&&(h.crossOrigin=r.crossOrigin),i(h,l).then(c=>({image:c,extent:n,pixelRatio:a}))}}const nt=[101,101];class mi extends ui{constructor(e){e=e||{},super({attributions:e.attributions,interpolate:e.interpolate,projection:e.projection,resolutions:e.resolutions}),this.crossOrigin_=e.crossOrigin!==void 0?e.crossOrigin:null,this.url_=e.url,this.imageLoadFunction_=e.imageLoadFunction!==void 0?e.imageLoadFunction:di,this.params_=e.params,this.serverType_=e.serverType,this.hidpi_=e.hidpi!==void 0?e.hidpi:!0,this.renderedRevision_=0,this.ratio_=e.ratio!==void 0?e.ratio:1.5}getFeatureInfoUrl(e,t,s,i){if(this.url_===void 0)return;const n=_t(s),o=this.getProjection();o&&o!==n&&(t=ut(o,n,e,t),e=ns(e,n,o));const a=mt(e,t,0,nt),l={QUERY_LAYERS:this.params_.LAYERS};Object.assign(l,Rt(this.params_,"GetFeatureInfo"),i);const h=Qe((e[0]-a[0])/t,R),c=Qe((a[3]-e[1])/t,R),d=Pt(l.VERSION,"1.3")>=0;return l[d?"I":"X"]=h,l[d?"J":"Y"]=c,Mt(this.url_,a,nt,o||n,l)}getLegendUrl(e,t){if(this.url_===void 0)return;const s={SERVICE:"WMS",VERSION:Lt,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(t===void 0||t.LAYER===void 0){const i=this.params_.LAYERS;if(!(!Array.isArray(i)||i.length===1))return;s.LAYER=i}if(e!==void 0){const i=this.getProjection()?this.getProjection().getMetersPerUnit():1,n=28e-5;s.SCALE=e*i/n}return Object.assign(s,t),xt(this.url_,s)}getParams(){return this.params_}getImageInternal(e,t,s,i){return this.url_===void 0?null:(this.loader||(this.loader=pi({crossOrigin:this.crossOrigin_,params:this.params_,projection:i,serverType:this.serverType_,hidpi:this.hidpi_,url:this.url_,ratio:this.ratio_,load:(n,o)=>(this.image.setImage(n),this.imageLoadFunction_(this.image,o),yt(n))})),super.getImageInternal(e,t,s,i))}getImageLoadFunction(){return this.imageLoadFunction_}getUrl(){return this.url_}setImageLoadFunction(e){this.imageLoadFunction_=e,this.changed()}setUrl(e){e!=this.url_&&(this.url_=e,this.loader=null,this.changed())}updateParams(e){Object.assign(this.params_,e),this.changed()}changed(){this.image=null,super.changed()}}const fi=mi;function _i(r){let e=!1,t=setTimeout(()=>{e=!0,t=void 0,r()});return{reschedule(){return!e},cancel(){t&&clearTimeout(t)}}}var L;class Dt extends Ws{constructor(t){super();S(this,L,void 0);x(this,L,t)}destroy(){for(const t of f(this,L))t.destroy();x(this,L,[])}getSublayers(t){return f(this,L).slice()}__getRawSublayers(){return f(this,L)}}L=new WeakMap;const yi=Ut("map:WMSLayer");var ee,z,W,U,V,te,je,me,Ft;class bi extends rs{constructor(t){const s=new oi;super({...t,olLayer:s});S(this,te);S(this,me);S(this,ee,void 0);S(this,z,void 0);S(this,W,void 0);S(this,U,void 0);S(this,V,void 0);const i=new fi({...t.sourceOptions,url:t.url,params:{...t.sourceOptions?.params}});x(this,ee,t.url),x(this,V,i),x(this,U,s),x(this,z,new Dt(Ot(t.sublayers))),re(this,te,je).call(this)}get url(){return f(this,ee)}get sublayers(){return f(this,z)}__attach(t){super.__attach(t);for(const s of f(this,z).getSublayers())s.__attach(t,this,this)}__updateSublayerVisibility(){f(this,W)?.reschedule()||x(this,W,_i(()=>{try{re(this,te,je).call(this),x(this,W,void 0)}catch(t){yi.error(`Failed to update sublayer visibility on WMS layer '${this.id}'.`,t)}}))}}ee=new WeakMap,z=new WeakMap,W=new WeakMap,U=new WeakMap,V=new WeakMap,te=new WeakSet,je=function(){const t=re(this,me,Ft).call(this);f(this,V).updateParams({LAYERS:t});const s=t.length===0?null:f(this,V);f(this,U).getSource()!==s&&f(this,U).setSource(s)},me=new WeakSet,Ft=function(){const t=[],s=i=>{if(!i.visible)return;const n=i.sublayers.__getRawSublayers();if(n.length)for(const o of n)s(o);else t.push(i.name)};for(const i of this.sublayers.__getRawSublayers())s(i);return t};var F,M,se,ie,B;class wi extends os{constructor(t){super(t);S(this,F,void 0);S(this,M,void 0);S(this,se,void 0);S(this,ie,void 0);S(this,B,void 0);x(this,se,t.name),x(this,B,t.visible??!0),x(this,ie,new Dt(Ot(t.sublayers)))}get name(){return f(this,se)}get sublayers(){return f(this,ie)}get parent(){const t=f(this,F);if(!t)throw new Error(`WMS sublayer ${this.id} has not been attached to its parent yet.`);return t}get parentLayer(){const t=f(this,M);if(!t)throw new Error(`WMS sublayer ${this.id} has not been attached to its parent yet.`);return t}__attach(t,s,i){if(super.__attachToMap(t),f(this,F))throw new Error(`WMS sublayer '${this.id}' has already been attached to parent '${f(this,F).id}'`);if(x(this,F,i),f(this,M))throw new Error(`WMS sublayer '${this.id}' has already been attached to parent layer '${f(this,M).id}'`);x(this,M,s);for(const n of this.sublayers.__getRawSublayers())n.__attach(t,s,this)}get visible(){return f(this,B)}setVisible(t){this.visible!==t&&(x(this,B,t),f(this,M)?.__updateSublayerVisibility(),this.__emitChangeEvent("changed:visible"))}}F=new WeakMap,M=new WeakMap,se=new WeakMap,ie=new WeakMap,B=new WeakMap;function Ot(r=[]){const e=[];try{for(const t of r)e.push(new wi(t));return e}catch(t){for(;e.length;)e.pop()?.destroy();throw new Error("Failed to construct sublayers.",{cause:t})}}const At=bi,vi=25.4/.28,xi=39.37;function Ue(r){return Ve(r,Si,Ci)}function Si(r){return r.getView()}function Ci(r,e){return r.on("change:view",e)}function Nt(r){return Ue(r)?.getProjection()}function Ei(r){const e=Ue(r);return Ve(e,Ii,Ti)}function Ii(r){return r.getResolution()}function Ti(r,e){return r.on("change:resolution",e)}function Pi(r){const e=Ue(r);return Ve(e,ki,Li)}function ki(r){return r.getCenter()}function Li(r,e){return r.on("change:center",e)}function Mi(r){const e=Pi(r),t=Ei(r),s=Nt(r);return b.useMemo(()=>{if(s==null||t==null||e==null)return;const n=Oe(s,t,e);return Math.round(n*xi*vi)},[s,t,e])}function Ve(r,e,t){const s=b.useCallback(()=>r?e(r):void 0,[r,e]),i=b.useCallback(n=>{if(!r)return()=>{};const o=t(r,n);return()=>X(o)},[r,t]);return b.useSyncExternalStore(i,s)}const T="main";class Ri{mapId=T;async getMapConfig(){return{initialView:{kind:"position",center:{x:404747,y:5757920},zoom:14},projection:"EPSG:25832",layers:[new A({id:"topplus_open",title:"TopPlus Open",isBaseLayer:!0,visible:!0,olLayer:Me("web")}),new A({id:"topplus_open_grau",title:"TopPlus Open (Grau)",isBaseLayer:!0,visible:!1,olLayer:Me("web_grau")}),new A({id:"topplus_open_light",title:"TopPlus Open (Light)",isBaseLayer:!0,visible:!1,olLayer:Me("web_light")}),new A({title:"OSM",visible:!1,isBaseLayer:!0,olLayer:new bt({source:new as})}),new A({title:"Haltestellen Stadt Rostock",visible:!0,description:"Haltestellen des öffentlichen Personenverkehrs in der Hanse- und Universitätsstadt Rostock.",olLayer:Di()}),new A({title:"Kindertagesstätten",visible:!0,olLayer:Fi()}),Oi(),Ai()]}}}function Me(r){const e=[-380316598427299e-8,880590808284866e-8],t=[4891.96981025128,2445.98490512564,1222.99245256282,611.49622628141,305.748113140705,152.874056570353,76.4370282851763,38.2185141425881,19.1092570712941,9.55462853564703,4.77731426782352,2.38865713391176,1.19432856695588,.59716428347794],s=new Array(t.length);for(let n=0;nDatenquellen`});return new bt({source:i})}function Di(){const r=new be({url:"https://geo.sv.rostock.de/download/opendata/haltestellen/haltestellen.json",format:new St,attributions:"Haltestellen Stadt Rostock, Creative Commons CC Zero License (cc-zero)"});return new we({source:r})}function Fi(){const r=new be({url:"https://ogc-api.nrw.de/inspire-us-kindergarten/v1/collections/governmentalservice/items?f=json&limit=10000",format:new St,attributions:'© Bundesamt für Kartographie und Geodäsie 2017, Datenquellen'});return new we({source:r})}function Oi(){return new At({title:"Schulstandorte",description:"Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.Der vorliegende Datenbestand / Dienst zu den Schulstandorten in NRW stammt aus der Schuldatenbank. Die Informationen werden von den Schulträgern bzw. Schulen selbst eingetragen und aktuell gehalten. Die Daten werden tagesaktuell bereitgestellt und enthalten alle grundlegenden Informationen zu Schulen wie Schulnummer, Schulbezeichnung und Adresse.",visible:!0,url:"https://www.wms.nrw.de/wms/wms_nw_inspire-schulen",sublayers:[{name:"US.education",title:"INSPIRE - WMS Schulstandorte NRW"}],sourceOptions:{ratio:1}})}function Ai(){return new At({title:"Straßennetz Landesbetrieb Straßenbau NRW",url:"https://www.wms.nrw.de/wms/strassen_nrw_wms",sublayers:[{name:"1",title:"Verwaltungen"},{name:"4",title:"Abschnitte und Äste"},{name:"6",title:"Unfälle"}]})}class ve extends ls{constructor(e,t,s){super(),s!==void 0&&t===void 0?this.setFlatCoordinates(s,e):(t=t||0,this.setCenterAndRadius(e,t,s))}clone(){const e=new ve(this.flatCoordinates.slice(),void 0,this.layout);return e.applyProperties(this),e}closestPointXY(e,t,s,i){const n=this.flatCoordinates,o=e-n[0],a=t-n[1],l=o*o+a*a;if(l=s[0]||e[1]<=s[1]&&e[3]>=s[1]?!0:hs(e,this.intersectsCoordinate.bind(this))}return!1}setCenter(e){const t=this.stride,s=this.flatCoordinates[t]-this.flatCoordinates[0],i=e.slice();i[t]=i[0]+s;for(let n=1;n=t?r[e-t]:r[e]}function de(r,e,t){let s,i;eo){const l=j(r,s),h=j(r,i);return he(l,h)}let a=0;if(sp.startIndex?_p.startIndex&&(_-=g.length)),l=_,a=d)}const h=e.targets[a];let c=h.ring;if(e.targetIndex===a&&c){const d=j(h.coordinates,l),p=t.getPixelFromCoordinate(d);wt(p,e.startPx)>s&&(c=!1)}if(c){const d=h.coordinates,p=d.length,g=h.startIndex,m=l;if(g=t?s-=t:s<0&&(s+=t);let n=s+1;n>=t&&(n-=t);const o=r[s],a=o[0],l=o[1],h=r[n],c=h[0]-a,d=h[1]-l;return[a+c*i,l+d*i]}class zi extends gs{constructor(e){const t=e;t.stopDown||(t.stopDown=ps),super(t),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=e.source?e.source:null,this.features_=e.features?e.features:null,this.snapTolerance_=e.snapTolerance?e.snapTolerance:12,this.type_=e.type,this.mode_=Ui(this.type_),this.stopClick_=!!e.stopClick,this.minPoints_=e.minPoints?e.minPoints:this.mode_==="Polygon"?3:2,this.maxPoints_=this.mode_==="Circle"?2:e.maxPoints?e.maxPoints:1/0,this.finishCondition_=e.finishCondition?e.finishCondition:ms,this.geometryLayout_=e.geometryLayout?e.geometryLayout:"XY";let s=e.geometryFunction;if(!s){const i=this.mode_;if(i==="Circle")s=function(n,o,a){const l=o||new Ni([NaN,NaN]),h=Je(n[0]),c=fs(h,Je(n[n.length-1]));return l.setCenterAndRadius(h,Math.sqrt(c),this.geometryLayout_),l};else{let n;i==="Point"?n=Te:i==="LineString"?n=G:i==="Polygon"&&(n=_e),s=function(o,a,l){return a?i==="Polygon"?o[0].length?a.setCoordinates([o[0].concat([o[0][0]])],this.geometryLayout_):a.setCoordinates([],this.geometryLayout_):a.setCoordinates(o,this.geometryLayout_):a=new n(o,this.geometryLayout_),a}}}this.geometryFunction_=s,this.dragVertexDelay_=e.dragVertexDelay!==void 0?e.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,this.overlay_=new we({source:new be({useSpatialIndex:!1,wrapX:e.wrapX?e.wrapX:!1}),style:e.style?e.style:Wi(),updateWhileInteracting:!0}),this.geometryName_=e.geometryName,this.condition_=e.condition?e.condition:_s,this.freehandCondition_,e.freehand?this.freehandCondition_=et:this.freehandCondition_=e.freehandCondition?e.freehandCondition:ys,this.traceCondition_,this.setTrace(e.trace||!1),this.traceState_={active:!1},this.traceSource_=e.traceSource||e.source||null,this.addChangeListener(bs.ACTIVE,this.updateState_)}setTrace(e){let t;e?e===!0?t=et:t=e:t=Ss,this.traceCondition_=t}setMap(e){super.setMap(e),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(e){e.originalEvent.type===Ge.CONTEXTMENU&&e.originalEvent.preventDefault(),this.freehand_=this.mode_!=="Point"&&this.freehandCondition_(e);let t=e.type===k.POINTERMOVE,s=!0;return!this.freehand_&&this.lastDragTime_&&e.type===k.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,t=!0):this.lastDragTime_=void 0,this.shouldHandle_&&this.downTimeout_!==void 0&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)),this.freehand_&&e.type===k.POINTERDRAG&&this.sketchFeature_!==null?(this.addToDrawing_(e.coordinate),s=!1):this.freehand_&&e.type===k.POINTERDOWN?s=!1:t&&this.getPointerCount()<2?(s=e.type===k.POINTERMOVE,s&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):(e.originalEvent.pointerType==="mouse"||e.type===k.POINTERDRAG&&this.downTimeout_===void 0)&&this.handlePointerMove_(e)):e.type===k.DBLCLICK&&(s=!1),super.handleEvent(e)&&s}handleDownEvent(e){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=e.pixel,this.finishCoordinate_||this.startDrawing_(e.coordinate),!0):this.condition_(e)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(()=>{this.handlePointerMove_(new ws(k.POINTERMOVE,e.map,e.originalEvent,!1,e.frameState))},this.dragVertexDelay_),this.downPx_=e.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(e){if(!this.traceSource_||!this.traceCondition_(e))return;if(this.traceState_.active){this.deactivateTrace_();return}const t=this.getMap(),s=t.getCoordinateFromPixel([e.pixel[0]-this.snapTolerance_,e.pixel[1]+this.snapTolerance_]),i=t.getCoordinateFromPixel([e.pixel[0]+this.snapTolerance_,e.pixel[1]-this.snapTolerance_]),n=vs([s,i]),o=this.traceSource_.getFeaturesInExtent(n);if(o.length===0)return;const a=ji(e.coordinate,o);a.length&&(this.traceState_={active:!0,startPx:e.pixel.slice(),targets:a,targetIndex:-1})}addOrRemoveTracedCoordinates_(e,t){const s=e.startIndex<=e.endIndex,i=e.startIndex<=t;s===i?s&&t>e.endIndex||!s&&te.endIndex)&&this.removeTracedCoordinates_(t,e.endIndex):(this.removeTracedCoordinates_(e.startIndex,e.endIndex),this.addTracedCoordinates_(e,e.startIndex,t))}removeTracedCoordinates_(e,t){if(e===t)return;let s=0;if(e0&&this.removeLastPoints_(s)}addTracedCoordinates_(e,t,s){if(t===s)return;const i=[];if(t=o;--a)i.push(N(e.coordinates,a))}i.length&&this.appendCoordinates(i)}updateTrace_(e){const t=this.traceState_;if(!t.active||t.targetIndex===-1&&wt(t.startPx,e.pixel)this.squaredClickTolerance_:o<=this.squaredClickTolerance_,!this.shouldHandle_)return}if(!this.finishCoordinate_){this.createOrUpdateSketchPoint_(e.coordinate.slice());return}this.updateTrace_(e),this.modifyDrawing_(e.coordinate)}atFinish_(e,t){let s=!1;if(this.sketchFeature_){let i=!1,n=[this.finishCoordinate_];const o=this.mode_;if(o==="Point")s=!0;else if(o==="Circle")s=this.sketchCoords_.length===2;else if(o==="LineString")i=!t&&this.sketchCoords_.length>this.minPoints_;else if(o==="Polygon"){const a=this.sketchCoords_;i=a[0].length>this.minPoints_,n=[a[0][0],a[0][a[0].length-2]],t?n=[a[0][0]]:n=[a[0][0],a[0][a[0].length-2]]}if(i){const a=this.getMap();for(let l=0,h=n.length;l=this.maxPoints_&&(this.freehand_?n.pop():i=!0),n.push(e.slice()),this.geometryFunction_(n,t,s)):o==="Polygon"&&(n=this.sketchCoords_[0],n.length>=this.maxPoints_&&(this.freehand_?n.pop():i=!0),n.push(e.slice()),i&&(this.finishCoordinate_=n[0]),this.geometryFunction_(this.sketchCoords_,t,s)),this.createOrUpdateSketchPoint_(e.slice()),this.updateSketchFeatures_(),i&&this.finishDrawing()}removeLastPoints_(e){if(!this.sketchFeature_)return;const t=this.sketchFeature_.getGeometry(),s=this.getMap().getView().getProjection(),i=this.mode_;for(let n=0;n=2){this.finishCoordinate_=o[o.length-2].slice();const a=this.finishCoordinate_.slice();o[o.length-1]=a,this.createOrUpdateSketchPoint_(a)}this.geometryFunction_(o,t,s),t.getType()==="Polygon"&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(t)}else if(i==="Polygon"){o=this.sketchCoords_[0],o.splice(-2,1);const a=this.sketchLine_.getGeometry();if(o.length>=2){const l=o[o.length-2].slice();o[o.length-1]=l,this.createOrUpdateSketchPoint_(l)}a.setCoordinates(o),this.geometryFunction_(this.sketchCoords_,t,s)}if(o.length===1){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const e=this.abortDrawing_();if(!e)return;let t=this.sketchCoords_;const s=e.getGeometry(),i=this.getMap().getView().getProjection();this.mode_==="LineString"?(t.pop(),this.geometryFunction_(t,s,i)):this.mode_==="Polygon"&&(t[0].pop(),this.geometryFunction_(t,s,i),t=s.getCoordinates()),this.type_==="MultiPoint"?e.setGeometry(new Us([t])):this.type_==="MultiLineString"?e.setGeometry(new Ct([t])):this.type_==="MultiPolygon"&&e.setGeometry(new Et([t])),this.dispatchEvent(new ce(le.DRAWEND,e)),this.features_&&this.features_.push(e),this.source_&&this.source_.addFeature(e)}abortDrawing_(){this.finishCoordinate_=null;const e=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),e}abortDrawing(){const e=this.abortDrawing_();e&&this.dispatchEvent(new ce(le.DRAWABORT,e))}appendCoordinates(e){const t=this.mode_,s=!this.sketchFeature_;s&&this.startDrawing_(e[0]);let i;if(t==="LineString"||t==="Circle")i=this.sketchCoords_;else if(t==="Polygon")i=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[];else return;s&&i.shift(),i.pop();for(let o=0;oimport("./e02eed165bd0.js"),[],import.meta.url).then(e=>e.default);case"de":return st(()=>import("./493dc123a2d2.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const Yi=Vt(qi),Xi=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Ki,locales:Hi,packages:$i,styles:Yi},Symbol.toStringTag,{value:"Module"})),Zi="@open-pioneer/coordinate-viewer",Qi=fe.bind(void 0,Zi),Ji=4,en=r=>{const{mapId:e,precision:t}=r,{containerProps:s}=ze("coordinate-viewer",r),{map:i}=ye(e),n=i?.olMap,{coordinates:o}=sn(n),a=tn(o,t),l=Nt(n)?.getCode()??"",h=a?a+" "+l:"";return u.jsx(D,{...s,children:u.jsx(We,{className:"coordinate-viewer-text",children:h})})};function tn(r,e){const t=Qi();return r?nn(r,e,t):""}function sn(r){const[e,t]=b.useState();return b.useEffect(()=>{if(!r)return;const s=r.on("pointermove",i=>{t(i.coordinate)});return()=>X(s)},[r]),{coordinates:e}}function nn(r,e,t){if(r[0]==null||r[1]==null)return"";const s=e??Ji,[i,n]=r,o=t.formatNumber(i,{maximumFractionDigits:s,minimumFractionDigits:s}),a=t.formatNumber(n,{maximumFractionDigits:s,minimumFractionDigits:s});return o+" "+a}const rn="@open-pioneer/measurement",on=fe.bind(void 0,rn),w={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class an extends Is{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=e.insertFirst!==void 0?e.insertFirst:!0,this.stopEvent=e.stopEvent!==void 0?e.stopEvent:!0,this.element=document.createElement("div"),this.element.className=e.className!==void 0?e.className:"ol-overlay-container "+Ts,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=e.autoPan===!0?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(w.ELEMENT,this.handleElementChanged),this.addChangeListener(w.MAP,this.handleMapChanged),this.addChangeListener(w.OFFSET,this.handleOffsetChanged),this.addChangeListener(w.POSITION,this.handlePositionChanged),this.addChangeListener(w.POSITIONING,this.handlePositioningChanged),e.element!==void 0&&this.setElement(e.element),this.setOffset(e.offset!==void 0?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),e.position!==void 0&&this.setPosition(e.position)}getElement(){return this.get(w.ELEMENT)}getId(){return this.id}getMap(){return this.get(w.MAP)||null}getOffset(){return this.get(w.OFFSET)}getPosition(){return this.get(w.POSITION)}getPositioning(){return this.get(w.POSITIONING)}handleElementChanged(){Ps(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(ks(this.element),pt(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=gt(e,Ls.POSTRENDER,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(w.ELEMENT,e)}setMap(e){this.set(w.MAP,e)}setOffset(e){this.set(w.OFFSET,e)}setPosition(e){this.set(w.POSITION,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(w.POSITION))return;const s=this.getRect(t.getTargetElement(),t.getSize()),i=this.getElement(),n=this.getRect(i,[Ms(i),Rs(i)]);e=e||{};const o=e.margin===void 0?20:e.margin;if(!ge(s,n)){const a=n[0]-s[0],l=s[2]-n[2],h=n[1]-s[1],c=s[3]-n[3],d=[0,0];if(a<0?d[0]=a-o:l<0&&(d[0]=Math.abs(l)+o),h<0?d[1]=h-o:c<0&&(d[1]=Math.abs(c)+o),d[0]!==0||d[1]!==0){const p=t.getView().getCenterInternal(),g=t.getPixelFromCoordinateInternal(p);if(!g)return;const m=[g[0]+d[0],g[1]+d[1]],_=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(m),duration:_.duration,easing:_.easing})}}}getRect(e,t){const s=e.getBoundingClientRect(),i=s.left+window.pageXOffset,n=s.top+window.pageYOffset;return[i,n,i+t[0],n+t[1]]}setPositioning(e){this.set(w.POSITIONING,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t){this.setVisible(!1);return}const s=e.getPixelFromCoordinate(t),i=e.getSize();this.updateRenderedPosition(s,i)}updateRenderedPosition(e,t){const s=this.element.style,i=this.getOffset(),n=this.getPositioning();this.setVisible(!0);const o=Math.round(e[0]+i[0])+"px",a=Math.round(e[1]+i[1])+"px";let l="0%",h="0%";n=="bottom-right"||n=="center-right"||n=="top-right"?l="-100%":(n=="bottom-center"||n=="center-center"||n=="top-center")&&(l="-50%"),n=="bottom-left"||n=="bottom-center"||n=="bottom-right"?h="-100%":(n=="center-left"||n=="center-center"||n=="center-right")&&(h="-50%");const c=`translate(${l}, ${h}) translate(${o}, ${a})`;this.rendered.transform_!=c&&(this.rendered.transform_=c,s.transform=c)}getOptions(){return this.options}}const rt=an;class ln{olMap;messages;activeFeatureStyle;layer;source;draw=void 0;sketch=void 0;helpTooltip;measureTooltip;overlayTooltips=[];resources=[];constructor(e,t){this.olMap=e,this.messages=t;const s=this.source=new be;this.layer=new we({source:s}),e.addLayer(this.layer);const i=e.on("pointermove",this.handlePointerMove.bind(this));this.resources.push({destroy(){X(i)}});const n=()=>{this.helpTooltip.element.classList.add("hidden")};e.getViewport().addEventListener("mouseout",n),this.resources.push({destroy(){e.getViewport().removeEventListener("mouseout",n)}}),this.helpTooltip=this.createHelpTooltip()}destroy(){this.stopMeasurement();for(const e of this.resources)e.destroy();this.resources=[],this.helpTooltip.destroy(),this.measureTooltip?.destroy();for(const e of this.overlayTooltips)e.destroy();this.overlayTooltips=[],this.olMap.removeLayer(this.layer),this.layer.dispose(),this.source.dispose()}getVectorLayer(){return this.layer}setFinishedFeatureStyle(e){this.layer.setStyle(e)}setActiveFeatureStyle(e){const t=$s(e);this.activeFeatureStyle=(s,...i)=>{const n=s?.getGeometry()?.getType();if(n==="Polygon"||n==="LineString"||n==="Point")return t(s,...i)},this.draw?.getOverlay().setStyle(this.activeFeatureStyle)}clearMeasurements(){this.source.clear();for(const e of this.overlayTooltips)e.destroy();this.overlayTooltips=[]}startMeasurement(e){if(this.draw)throw new Error("Internal error: another measurement interaction is still active.");const t=e==="area"?"Polygon":"LineString",s=this.draw=new Vi({source:this.source,type:t,style:this.activeFeatureStyle});this.olMap.addInteraction(s);let i,n;s.on("drawstart",o=>{i=this.measureTooltip=this.createMeasureTooltip();const a=this.sketch=o.feature;if(!a)return;let l;n=a.getGeometry()?.on("change",h=>{const c=h.target,d=this.olMap.getView().getProjection();let p="";c instanceof _e?(p=hn(c,d,this.messages),l=c.getInteriorPoint().getCoordinates()||null):c instanceof G&&(p=dn(c,d,this.messages),l=c.getLastCoordinate()||null),i&&(i.element.innerHTML=p,l&&i?.overlay.setPosition(l))})}),s.on("drawend",()=>{if(i){const o=i.element.classList;o.remove("measurement-active-tooltip"),o.add("measurement-finished-tooltip"),i.overlay.setOffset([0,-7]),this.overlayTooltips.push(i),this.measureTooltip=i=void 0}this.sketch=void 0,n&&X(n)}),s.on("drawabort",()=>{i&&(i.destroy(),this.measureTooltip=i=void 0),this.sketch=void 0,n&&X(n)})}stopMeasurement(){this.draw&&(this.olMap.removeInteraction(this.draw),this.draw.abortDrawing(),this.draw.dispose(),this.draw=void 0),this.sketch=void 0,this.measureTooltip?.destroy(),this.measureTooltip=void 0}createMeasureTooltip(){const e=document.createElement("div");e.className="measurement-tooltip measurement-active-tooltip";const t=new rt({element:e,offset:[0,-15],positioning:"bottom-center",stopEvent:!1,insertFirst:!1}),s=this.olMap;return s.addOverlay(t),{overlay:t,element:e,destroy(){s.removeOverlay(t)}}}createHelpTooltip(){const e=document.createElement("div");e.className="measurement-tooltip hidden";const t=new rt({element:e,offset:[15,0],positioning:"center-left"}),s=this.olMap;return s.addOverlay(t),{overlay:t,element:e,destroy(){s.removeOverlay(t)}}}handlePointerMove(e){if(e.dragging)return;const t=this.helpTooltip,s=cn(this.messages,this.sketch);t.element.textContent=s,t.overlay.setPosition(e.coordinate),t.element.classList.remove("hidden")}}function cn(r,e){if(e){const t=e.getGeometry();if(t instanceof _e||t instanceof G)return r.getContinueMessage()}return r.getHelpMessage()}function hn(r,e,t){const s=Ds(r,{projection:e});let i;return s>=1e6?i=`${t.formatNumber(s/1e6)} km2`:i=`${t.formatNumber(s)} m2`,i}function dn(r,e,t){const s=Fs(r,{projection:e});let i;return s>=1e3?i=`${t.formatNumber(s/1e3)} km`:i=`${t.formatNumber(s)} m`,i}const un=r=>{const e=on(),{mapId:t,activeFeatureStyle:s,finishedFeatureStyle:i}=r,{containerProps:n}=ze("measurement",r),[o,a]=b.useState("distance"),l=g=>e.formatMessage({id:g}),h=ye(t),c=gn(h.map,e);b.useEffect(()=>{c?.setActiveFeatureStyle(s??pn())},[c,s]),b.useEffect(()=>{c?.setFinishedFeatureStyle(i??mn())},[c,i]),b.useEffect(()=>{if(c)return c.startMeasurement(o),()=>{c.stopMeasurement()}},[c,o]);function d(g){if(g==="distance"||g==="area")a(g);else throw new Error(`Unexpected measurement type: '${g}'.`)}function p(){c?.clearMeasurements()}return u.jsxs(D,{...n,children:[u.jsx(We,{width:"340px",mb:3,children:e.formatMessage({id:"measurementInfoText"})}),u.jsx(Zs,{mb:4,alignItems:"center",children:u.jsxs(Tt,{mb:2,children:[u.jsx(Js,{mb:1,children:l("measurementLabel")}),u.jsxs(ei,{value:o,onChange:g=>d(g.target.value),className:"measurement-select",children:[u.jsx("option",{value:"distance",children:l("distance")}),u.jsx("option",{value:"area",children:l("area")})]})]})}),u.jsx(ot,{padding:2,className:"measurement-delete-button",onClick:p,width:"100%",children:l("deleteMeasurementLabel")})]})};function gn(r,e){const[t,s]=b.useState(void 0);return b.useEffect(()=>{if(!r)return;const i=new ln(r.olMap,{getContinueMessage(){return e.formatMessage({id:"tooltips.continue"})},getHelpMessage(){return e.formatMessage({id:"tooltips.help"})},formatNumber(n){return e.formatNumber(n,{maximumFractionDigits:2})}});return s(i),()=>{i.destroy(),s(void 0)}},[r,e]),t}function pn(){return[new pe({stroke:new Z({color:"#fff",lineDash:[10,10],width:5})}),new pe({fill:new Ae({color:"rgba(0,0,0,0.15)"}),stroke:new Z({color:"rgba(0, 0, 0, 0.7)",lineDash:[10,10],width:3}),image:new qs({radius:5,stroke:new Z({color:"rgba(0, 0, 0, 0.7)",width:2}),fill:new Ae({color:"rgba(255, 255, 255, 0.2)"})})})]}function mn(){return[new pe({stroke:new Z({color:"#fff",width:5})}),new pe({stroke:new Z({color:"#0b96fc",width:3}),fill:new Ae({color:"rgba(11,150,252,0.15)"})})]}const fn="@open-pioneer/scale-viewer",_n=fe.bind(void 0,fn),yn=r=>{const{mapId:e}=r,{containerProps:t}=ze("scale-viewer",r),{map:s}=ye(e),i=_n(),n=Mi(s?.olMap),o=n?i.formatNumber(n):void 0;return u.jsx(D,{...t,children:o&&u.jsxs(We,{children:["1:",o]})})},Fe="units",bn=[1,2,5],Y=25.4/.28;class wn extends Os{constructor(e){e=e||{};const t=document.createElement("div");t.style.pointerEvents="none",super({element:t,render:e.render,target:e.target}),this.on,this.once,this.un;const s=e.className!==void 0?e.className:e.bar?"ol-scale-bar":"ol-scale-line";this.innerElement_=document.createElement("div"),this.innerElement_.className=s+"-inner",this.element.className=s+" "+As,this.element.appendChild(this.innerElement_),this.viewState_=null,this.minWidth_=e.minWidth!==void 0?e.minWidth:64,this.maxWidth_=e.maxWidth,this.renderedVisible_=!1,this.renderedWidth_=void 0,this.renderedHTML_="",this.addChangeListener(Fe,this.handleUnitsChanged_),this.setUnits(e.units||"metric"),this.scaleBar_=e.bar||!1,this.scaleBarSteps_=e.steps||4,this.scaleBarText_=e.text||!1,this.dpi_=e.dpi||void 0}getUnits(){return this.get(Fe)}handleUnitsChanged_(){this.updateElement_()}setUnits(e){this.set(Fe,e)}setDpi(e){this.dpi_=e}updateElement_(){const e=this.viewState_;if(!e){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}const t=e.center,s=e.projection,i=this.getUnits(),n=i=="degrees"?"degrees":"m";let o=Oe(s,e.resolution,t,n);const a=this.minWidth_*(this.dpi_||Y)/Y,l=this.maxWidth_!==void 0?this.maxWidth_*(this.dpi_||Y)/Y:void 0;let h=a*o,c="";if(i=="degrees"){const v=Ns.degrees;h*=v,h=l){p=_,g=y,m=P;break}else if(g>=a)break;_=p,y=g,P=m,++d}const I=this.scaleBar_?this.createScaleBar(g,p,c):p.toFixed(m<0?-m:0)+" "+c;this.renderedHTML_!=I&&(this.innerElement_.innerHTML=I,this.renderedHTML_=I),this.renderedWidth_!=g&&(this.innerElement_.style.width=g+"px",this.renderedWidth_=g),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}createScaleBar(e,t,s){const i=this.getScaleForResolution(),n=i<1?Math.round(1/i).toLocaleString()+" : 1":"1 : "+Math.round(i).toLocaleString(),o=this.scaleBarSteps_,a=e/o,l=[this.createMarker("absolute")];for(let c=0;c
`+this.createMarker("relative")+(c%2===0||o===2?this.createStepText(c,e,!1,t,s):"")+"")}return l.push(this.createStepText(o,e,!0,t,s)),(this.scaleBarText_?`
`+n+"
":"")+l.join("")}createMarker(e){return`
`}createStepText(e,t,s,i,n){const a=(e===0?0:Math.round(i/this.scaleBarSteps_*e*100)/100)+(e===0?"":" "+n),l=e===0?-3:t/this.scaleBarSteps_*-1,h=e===0?0:t/this.scaleBarSteps_*2;return`
`+a+"
"}getScaleForResolution(){const e=Oe(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,"m"),t=this.dpi_||Y,s=1e3/25.4;return e*s*t}render(e){const t=e.frameState;t?this.viewState_=t.viewState:this.viewState_=null,this.updateElement_()}}const vn=wn;function xn(r){const{mapId:e,...t}=r,s=b.useRef(null),{map:i}=ye(e);return b.useEffect(()=>{if(s.current&&i){const n=i.olMap,o=new vn({units:"metric",target:s.current});return n.addControl(o),()=>{n.removeControl(o)}}},[i]),u.jsx("div",{className:"scale-wrapper",ref:s,...t})}const Sn="ol-map",Cn=fe.bind(void 0,Sn);function En(r){return It({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M235.32,96,96,235.31a16,16,0,0,1-22.63,0L20.68,182.63a16,16,0,0,1,0-22.63l29.17-29.17a4,4,0,0,1,5.66,0l34.83,34.83a8,8,0,0,0,11.71-.43,8.18,8.18,0,0,0-.6-11.09L66.82,119.51a4,4,0,0,1,0-5.65l15-15a4,4,0,0,1,5.66,0l34.83,34.83a8,8,0,0,0,11.71-.43,8.18,8.18,0,0,0-.6-11.09L98.83,87.51a4,4,0,0,1,0-5.65l15-15a4,4,0,0,1,5.65,0l34.83,34.83a8,8,0,0,0,11.72-.43,8.18,8.18,0,0,0-.61-11.09L130.83,55.51a4,4,0,0,1,0-5.65L160,20.69a16,16,0,0,1,22.63,0l52.69,52.68A16,16,0,0,1,235.32,96Z"}}]})(r)}function In(r){return It({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M233.91,74.79,181.22,22.1a14,14,0,0,0-19.8,0L22.09,161.41a14,14,0,0,0,0,19.8L74.78,233.9a14,14,0,0,0,19.8,0L233.91,94.59A14,14,0,0,0,233.91,74.79ZM225.42,86.1,86.1,225.41h0a2,2,0,0,1-2.83,0L30.58,172.73a2,2,0,0,1,0-2.83L64,136.48l27.76,27.76a6,6,0,1,0,8.48-8.48L72.48,128,96,104.48l27.76,27.76a6,6,0,0,0,8.48-8.48L104.48,96,128,72.49l27.76,27.75a6,6,0,0,0,8.48-8.48L136.49,64,169.9,30.59a2,2,0,0,1,2.83,0l52.69,52.68A2,2,0,0,1,225.42,86.1Z"}}]})(r)}function Tn(){const r=Cn(),e=b.useId(),t=b.useId(),[s,i]=b.useState(!1);function n(){i(!s)}return u.jsx(ae,{height:"100%",direction:"column",overflow:"hidden",children:u.jsxs(Pe,{title:u.jsx(D,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:u.jsx(ke,{size:"md",children:"OpenLayers Base Packages - Default Sample"})}),children:[u.jsx(ae,{flex:"1",direction:"column",position:"relative",children:u.jsxs(js,{mapId:T,role:"main","aria-label":r.formatMessage({id:"ariaLabel.map"}),children:[u.jsx(it,{position:"top-left",horizontalGap:20,verticalGap:20,children:u.jsxs(D,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:[u.jsx(D,{role:"dialog","aria-labelledby":e,children:u.jsx(Pe,{title:u.jsx(ke,{id:e,size:"md",mb:2,children:r.formatMessage({id:"tocTitle"})}),children:u.jsx(Hs,{mapId:T,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})}),s&&u.jsx(D,{role:"dialog","aria-labelledby":t,mt:5,children:u.jsx(Pe,{title:u.jsx(ke,{id:t,size:"md",mb:2,children:r.formatMessage({id:"measurementTitle"})}),children:u.jsx(un,{mapId:T})})})]})}),u.jsx(it,{position:"bottom-right",horizontalGap:10,verticalGap:30,children:u.jsxs(ae,{role:"toolbar","aria-label":r.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:[u.jsx(Bt,{label:r.formatMessage({id:"measurementTitle"}),placement:"auto",openDelay:500,children:u.jsx(ot,{"aria-label":r.formatMessage({id:"measurementTitle"}),leftIcon:s?u.jsx(En,{}):u.jsx(In,{}),onClick:n,iconSpacing:0,padding:0})}),u.jsx(Ks,{mapId:T}),u.jsx(Ys,{mapId:T}),u.jsx(Xs,{mapId:T})]})})]})}),u.jsxs(ae,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.footer"}),gap:3,alignItems:"center",justifyContent:"center",children:[u.jsx(en,{mapId:T,precision:2}),u.jsx(xn,{mapId:T}),u.jsx(yn,{mapId:T})]})]})})}const Pn=$t({component:Tn,appMetadata:Xi,async resolveConfig(r){const e=r.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("ol-map-app",Pn);const kn=document.getElementsByTagName("body")[0];Ln();function Ln(){const r=window.location.search,t=new URLSearchParams(r).get("lang"),s=document.createElement("ol-map-app");s.classList.add("full-height"),s.classList.add("app"),s.setAttribute("id","test"),t&&s.setAttribute("forced-locale",t),kn.appendChild(s)} +`,Hi=["en","de"];function Ki(r){switch(r){case"en":return st(()=>import("./e02eed165bd0.js"),[],import.meta.url).then(e=>e.default);case"de":return st(()=>import("./493dc123a2d2.js"),[],import.meta.url).then(e=>e.default)}throw new Error(`Unsupported locale: '${r}'`)}const Yi=Vt(qi),Xi=Object.freeze(Object.defineProperty({__proto__:null,loadMessages:Ki,locales:Hi,packages:$i,styles:Yi},Symbol.toStringTag,{value:"Module"})),Zi="@open-pioneer/coordinate-viewer",Qi=fe.bind(void 0,Zi),Ji=4,en=r=>{const{mapId:e,precision:t}=r,{containerProps:s}=ze("coordinate-viewer",r),{map:i}=ye(e),n=i?.olMap,{coordinates:o}=sn(n),a=tn(o,t),l=Nt(n)?.getCode()??"",h=a?a+" "+l:"";return u.jsx(D,{...s,children:u.jsx(We,{className:"coordinate-viewer-text",children:h})})};function tn(r,e){const t=Qi();return r?nn(r,e,t):""}function sn(r){const[e,t]=b.useState();return b.useEffect(()=>{if(!r)return;const s=r.on("pointermove",i=>{t(i.coordinate)});return()=>X(s)},[r]),{coordinates:e}}function nn(r,e,t){if(r[0]==null||r[1]==null)return"";const s=e??Ji,[i,n]=r,o=t.formatNumber(i,{maximumFractionDigits:s,minimumFractionDigits:s}),a=t.formatNumber(n,{maximumFractionDigits:s,minimumFractionDigits:s});return o+" "+a}const rn="@open-pioneer/measurement",on=fe.bind(void 0,rn),w={ELEMENT:"element",MAP:"map",OFFSET:"offset",POSITION:"position",POSITIONING:"positioning"};class an extends Is{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=e.insertFirst!==void 0?e.insertFirst:!0,this.stopEvent=e.stopEvent!==void 0?e.stopEvent:!0,this.element=document.createElement("div"),this.element.className=e.className!==void 0?e.className:"ol-overlay-container "+Ts,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=e.autoPan===!0?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(w.ELEMENT,this.handleElementChanged),this.addChangeListener(w.MAP,this.handleMapChanged),this.addChangeListener(w.OFFSET,this.handleOffsetChanged),this.addChangeListener(w.POSITION,this.handlePositionChanged),this.addChangeListener(w.POSITIONING,this.handlePositioningChanged),e.element!==void 0&&this.setElement(e.element),this.setOffset(e.offset!==void 0?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),e.position!==void 0&&this.setPosition(e.position)}getElement(){return this.get(w.ELEMENT)}getId(){return this.id}getMap(){return this.get(w.MAP)||null}getOffset(){return this.get(w.OFFSET)}getPosition(){return this.get(w.POSITION)}getPositioning(){return this.get(w.POSITIONING)}handleElementChanged(){Ps(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(ks(this.element),pt(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=gt(e,Ls.POSTRENDER,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(w.ELEMENT,e)}setMap(e){this.set(w.MAP,e)}setOffset(e){this.set(w.OFFSET,e)}setPosition(e){this.set(w.POSITION,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(w.POSITION))return;const s=this.getRect(t.getTargetElement(),t.getSize()),i=this.getElement(),n=this.getRect(i,[Ms(i),Rs(i)]);e=e||{};const o=e.margin===void 0?20:e.margin;if(!ge(s,n)){const a=n[0]-s[0],l=s[2]-n[2],h=n[1]-s[1],c=s[3]-n[3],d=[0,0];if(a<0?d[0]=a-o:l<0&&(d[0]=Math.abs(l)+o),h<0?d[1]=h-o:c<0&&(d[1]=Math.abs(c)+o),d[0]!==0||d[1]!==0){const p=t.getView().getCenterInternal(),g=t.getPixelFromCoordinateInternal(p);if(!g)return;const m=[g[0]+d[0],g[1]+d[1]],_=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(m),duration:_.duration,easing:_.easing})}}}getRect(e,t){const s=e.getBoundingClientRect(),i=s.left+window.pageXOffset,n=s.top+window.pageYOffset;return[i,n,i+t[0],n+t[1]]}setPositioning(e){this.set(w.POSITIONING,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t){this.setVisible(!1);return}const s=e.getPixelFromCoordinate(t),i=e.getSize();this.updateRenderedPosition(s,i)}updateRenderedPosition(e,t){const s=this.element.style,i=this.getOffset(),n=this.getPositioning();this.setVisible(!0);const o=Math.round(e[0]+i[0])+"px",a=Math.round(e[1]+i[1])+"px";let l="0%",h="0%";n=="bottom-right"||n=="center-right"||n=="top-right"?l="-100%":(n=="bottom-center"||n=="center-center"||n=="top-center")&&(l="-50%"),n=="bottom-left"||n=="bottom-center"||n=="bottom-right"?h="-100%":(n=="center-left"||n=="center-center"||n=="center-right")&&(h="-50%");const c=`translate(${l}, ${h}) translate(${o}, ${a})`;this.rendered.transform_!=c&&(this.rendered.transform_=c,s.transform=c)}getOptions(){return this.options}}const rt=an;class ln{olMap;messages;activeFeatureStyle;layer;source;draw=void 0;sketch=void 0;helpTooltip;measureTooltip;overlayTooltips=[];resources=[];constructor(e,t){this.olMap=e,this.messages=t;const s=this.source=new be;this.layer=new we({source:s}),e.addLayer(this.layer);const i=e.on("pointermove",this.handlePointerMove.bind(this));this.resources.push({destroy(){X(i)}});const n=()=>{this.helpTooltip.element.classList.add("hidden")};e.getViewport().addEventListener("mouseout",n),this.resources.push({destroy(){e.getViewport().removeEventListener("mouseout",n)}}),this.helpTooltip=this.createHelpTooltip()}destroy(){this.stopMeasurement();for(const e of this.resources)e.destroy();this.resources=[],this.helpTooltip.destroy(),this.measureTooltip?.destroy();for(const e of this.overlayTooltips)e.destroy();this.overlayTooltips=[],this.olMap.removeLayer(this.layer),this.layer.dispose(),this.source.dispose()}getVectorLayer(){return this.layer}setFinishedFeatureStyle(e){this.layer.setStyle(e)}setActiveFeatureStyle(e){const t=$s(e);this.activeFeatureStyle=(s,...i)=>{const n=s?.getGeometry()?.getType();if(n==="Polygon"||n==="LineString"||n==="Point")return t(s,...i)},this.draw?.getOverlay().setStyle(this.activeFeatureStyle)}clearMeasurements(){this.source.clear();for(const e of this.overlayTooltips)e.destroy();this.overlayTooltips=[]}startMeasurement(e){if(this.draw)throw new Error("Internal error: another measurement interaction is still active.");const t=e==="area"?"Polygon":"LineString",s=this.draw=new Vi({source:this.source,type:t,style:this.activeFeatureStyle});this.olMap.addInteraction(s);let i,n;s.on("drawstart",o=>{i=this.measureTooltip=this.createMeasureTooltip();const a=this.sketch=o.feature;if(!a)return;let l;n=a.getGeometry()?.on("change",h=>{const c=h.target,d=this.olMap.getView().getProjection();let p="";c instanceof _e?(p=hn(c,d,this.messages),l=c.getInteriorPoint().getCoordinates()||null):c instanceof G&&(p=dn(c,d,this.messages),l=c.getLastCoordinate()||null),i&&(i.element.innerHTML=p,l&&i?.overlay.setPosition(l))})}),s.on("drawend",()=>{if(i){const o=i.element.classList;o.remove("measurement-active-tooltip"),o.add("measurement-finished-tooltip"),i.overlay.setOffset([0,-7]),this.overlayTooltips.push(i),this.measureTooltip=i=void 0}this.sketch=void 0,n&&X(n)}),s.on("drawabort",()=>{i&&(i.destroy(),this.measureTooltip=i=void 0),this.sketch=void 0,n&&X(n)})}stopMeasurement(){this.draw&&(this.olMap.removeInteraction(this.draw),this.draw.abortDrawing(),this.draw.dispose(),this.draw=void 0),this.sketch=void 0,this.measureTooltip?.destroy(),this.measureTooltip=void 0}createMeasureTooltip(){const e=document.createElement("div");e.className="measurement-tooltip measurement-active-tooltip";const t=new rt({element:e,offset:[0,-15],positioning:"bottom-center",stopEvent:!1,insertFirst:!1}),s=this.olMap;return s.addOverlay(t),{overlay:t,element:e,destroy(){s.removeOverlay(t)}}}createHelpTooltip(){const e=document.createElement("div");e.className="measurement-tooltip hidden";const t=new rt({element:e,offset:[15,0],positioning:"center-left"}),s=this.olMap;return s.addOverlay(t),{overlay:t,element:e,destroy(){s.removeOverlay(t)}}}handlePointerMove(e){if(e.dragging)return;const t=this.helpTooltip,s=cn(this.messages,this.sketch);t.element.textContent=s,t.overlay.setPosition(e.coordinate),t.element.classList.remove("hidden")}}function cn(r,e){if(e){const t=e.getGeometry();if(t instanceof _e||t instanceof G)return r.getContinueMessage()}return r.getHelpMessage()}function hn(r,e,t){const s=Ds(r,{projection:e});let i;return s>=1e6?i=`${t.formatNumber(s/1e6)} km2`:i=`${t.formatNumber(s)} m2`,i}function dn(r,e,t){const s=Fs(r,{projection:e});let i;return s>=1e3?i=`${t.formatNumber(s/1e3)} km`:i=`${t.formatNumber(s)} m`,i}const un=r=>{const e=on(),{mapId:t,activeFeatureStyle:s,finishedFeatureStyle:i}=r,{containerProps:n}=ze("measurement",r),[o,a]=b.useState("distance"),l=g=>e.formatMessage({id:g}),h=ye(t),c=gn(h.map,e);b.useEffect(()=>{c?.setActiveFeatureStyle(s??pn())},[c,s]),b.useEffect(()=>{c?.setFinishedFeatureStyle(i??mn())},[c,i]),b.useEffect(()=>{if(c)return c.startMeasurement(o),()=>{c.stopMeasurement()}},[c,o]);function d(g){if(g==="distance"||g==="area")a(g);else throw new Error(`Unexpected measurement type: '${g}'.`)}function p(){c?.clearMeasurements()}return u.jsxs(D,{...n,children:[u.jsx(We,{width:"340px",mb:3,children:e.formatMessage({id:"measurementInfoText"})}),u.jsx(Zs,{mb:4,alignItems:"center",children:u.jsxs(Tt,{mb:2,children:[u.jsx(Js,{mb:1,children:l("measurementLabel")}),u.jsxs(ei,{value:o,onChange:g=>d(g.target.value),className:"measurement-select",children:[u.jsx("option",{value:"distance",children:l("distance")}),u.jsx("option",{value:"area",children:l("area")})]})]})}),u.jsx(ot,{padding:2,className:"measurement-delete-button",onClick:p,width:"100%",children:l("deleteMeasurementLabel")})]})};function gn(r,e){const[t,s]=b.useState(void 0);return b.useEffect(()=>{if(!r)return;const i=new ln(r.olMap,{getContinueMessage(){return e.formatMessage({id:"tooltips.continue"})},getHelpMessage(){return e.formatMessage({id:"tooltips.help"})},formatNumber(n){return e.formatNumber(n,{maximumFractionDigits:2})}});return s(i),()=>{i.destroy(),s(void 0)}},[r,e]),t}function pn(){return[new pe({stroke:new Z({color:"#fff",lineDash:[10,10],width:5})}),new pe({fill:new Ae({color:"rgba(0,0,0,0.15)"}),stroke:new Z({color:"rgba(0, 0, 0, 0.7)",lineDash:[10,10],width:3}),image:new qs({radius:5,stroke:new Z({color:"rgba(0, 0, 0, 0.7)",width:2}),fill:new Ae({color:"rgba(255, 255, 255, 0.2)"})})})]}function mn(){return[new pe({stroke:new Z({color:"#fff",width:5})}),new pe({stroke:new Z({color:"#0b96fc",width:3}),fill:new Ae({color:"rgba(11,150,252,0.15)"})})]}const fn="@open-pioneer/scale-viewer",_n=fe.bind(void 0,fn),yn=r=>{const{mapId:e}=r,{containerProps:t}=ze("scale-viewer",r),{map:s}=ye(e),i=_n(),n=Mi(s?.olMap),o=n?i.formatNumber(n):void 0;return u.jsx(D,{...t,children:o&&u.jsxs(We,{children:["1:",o]})})},Fe="units",bn=[1,2,5],Y=25.4/.28;class wn extends Os{constructor(e){e=e||{};const t=document.createElement("div");t.style.pointerEvents="none",super({element:t,render:e.render,target:e.target}),this.on,this.once,this.un;const s=e.className!==void 0?e.className:e.bar?"ol-scale-bar":"ol-scale-line";this.innerElement_=document.createElement("div"),this.innerElement_.className=s+"-inner",this.element.className=s+" "+As,this.element.appendChild(this.innerElement_),this.viewState_=null,this.minWidth_=e.minWidth!==void 0?e.minWidth:64,this.maxWidth_=e.maxWidth,this.renderedVisible_=!1,this.renderedWidth_=void 0,this.renderedHTML_="",this.addChangeListener(Fe,this.handleUnitsChanged_),this.setUnits(e.units||"metric"),this.scaleBar_=e.bar||!1,this.scaleBarSteps_=e.steps||4,this.scaleBarText_=e.text||!1,this.dpi_=e.dpi||void 0}getUnits(){return this.get(Fe)}handleUnitsChanged_(){this.updateElement_()}setUnits(e){this.set(Fe,e)}setDpi(e){this.dpi_=e}updateElement_(){const e=this.viewState_;if(!e){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}const t=e.center,s=e.projection,i=this.getUnits(),n=i=="degrees"?"degrees":"m";let o=Oe(s,e.resolution,t,n);const a=this.minWidth_*(this.dpi_||Y)/Y,l=this.maxWidth_!==void 0?this.maxWidth_*(this.dpi_||Y)/Y:void 0;let h=a*o,c="";if(i=="degrees"){const v=Ns.degrees;h*=v,h=l){p=_,g=y,m=P;break}else if(g>=a)break;_=p,y=g,P=m,++d}const I=this.scaleBar_?this.createScaleBar(g,p,c):p.toFixed(m<0?-m:0)+" "+c;this.renderedHTML_!=I&&(this.innerElement_.innerHTML=I,this.renderedHTML_=I),this.renderedWidth_!=g&&(this.innerElement_.style.width=g+"px",this.renderedWidth_=g),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}createScaleBar(e,t,s){const i=this.getScaleForResolution(),n=i<1?Math.round(1/i).toLocaleString()+" : 1":"1 : "+Math.round(i).toLocaleString(),o=this.scaleBarSteps_,a=e/o,l=[this.createMarker("absolute")];for(let c=0;c
`+this.createMarker("relative")+(c%2===0||o===2?this.createStepText(c,e,!1,t,s):"")+"")}return l.push(this.createStepText(o,e,!0,t,s)),(this.scaleBarText_?`
`+n+"
":"")+l.join("")}createMarker(e){return`
`}createStepText(e,t,s,i,n){const a=(e===0?0:Math.round(i/this.scaleBarSteps_*e*100)/100)+(e===0?"":" "+n),l=e===0?-3:t/this.scaleBarSteps_*-1,h=e===0?0:t/this.scaleBarSteps_*2;return`
`+a+"
"}getScaleForResolution(){const e=Oe(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,"m"),t=this.dpi_||Y,s=1e3/25.4;return e*s*t}render(e){const t=e.frameState;t?this.viewState_=t.viewState:this.viewState_=null,this.updateElement_()}}const vn=wn;function xn(r){const{mapId:e,...t}=r,s=b.useRef(null),{map:i}=ye(e);return b.useEffect(()=>{if(s.current&&i){const n=i.olMap,o=new vn({units:"metric",target:s.current});return n.addControl(o),()=>{n.removeControl(o)}}},[i]),u.jsx("div",{className:"scale-wrapper",ref:s,...t})}const Sn="ol-map",Cn=fe.bind(void 0,Sn);function En(r){return It({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M235.32,96,96,235.31a16,16,0,0,1-22.63,0L20.68,182.63a16,16,0,0,1,0-22.63l29.17-29.17a4,4,0,0,1,5.66,0l34.83,34.83a8,8,0,0,0,11.71-.43,8.18,8.18,0,0,0-.6-11.09L66.82,119.51a4,4,0,0,1,0-5.65l15-15a4,4,0,0,1,5.66,0l34.83,34.83a8,8,0,0,0,11.71-.43,8.18,8.18,0,0,0-.6-11.09L98.83,87.51a4,4,0,0,1,0-5.65l15-15a4,4,0,0,1,5.65,0l34.83,34.83a8,8,0,0,0,11.72-.43,8.18,8.18,0,0,0-.61-11.09L130.83,55.51a4,4,0,0,1,0-5.65L160,20.69a16,16,0,0,1,22.63,0l52.69,52.68A16,16,0,0,1,235.32,96Z"}}]})(r)}function In(r){return It({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M233.91,74.79,181.22,22.1a14,14,0,0,0-19.8,0L22.09,161.41a14,14,0,0,0,0,19.8L74.78,233.9a14,14,0,0,0,19.8,0L233.91,94.59A14,14,0,0,0,233.91,74.79ZM225.42,86.1,86.1,225.41h0a2,2,0,0,1-2.83,0L30.58,172.73a2,2,0,0,1,0-2.83L64,136.48l27.76,27.76a6,6,0,1,0,8.48-8.48L72.48,128,96,104.48l27.76,27.76a6,6,0,0,0,8.48-8.48L104.48,96,128,72.49l27.76,27.75a6,6,0,0,0,8.48-8.48L136.49,64,169.9,30.59a2,2,0,0,1,2.83,0l52.69,52.68A2,2,0,0,1,225.42,86.1Z"}}]})(r)}function Tn(){const r=Cn(),e=b.useId(),t=b.useId(),[s,i]=b.useState(!1);function n(){i(!s)}return u.jsx(ae,{height:"100%",direction:"column",overflow:"hidden",children:u.jsxs(Pe,{title:u.jsx(D,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.header"}),textAlign:"center",py:1,children:u.jsx(ke,{size:"md",children:"OpenLayers Base Packages - Default Sample"})}),children:[u.jsx(ae,{flex:"1",direction:"column",position:"relative",children:u.jsxs(js,{mapId:T,role:"main","aria-label":r.formatMessage({id:"ariaLabel.map"}),children:[u.jsx(it,{position:"top-left",horizontalGap:20,verticalGap:20,children:u.jsxs(D,{backgroundColor:"white",borderWidth:"1px",borderRadius:"lg",padding:2,boxShadow:"lg",children:[u.jsx(D,{role:"dialog","aria-labelledby":e,children:u.jsx(Pe,{title:u.jsx(ke,{id:e,size:"md",mb:2,children:r.formatMessage({id:"tocTitle"})}),children:u.jsx(Hs,{mapId:T,basemapSwitcherProps:{allowSelectingEmptyBasemap:!0}})})}),s&&u.jsx(D,{role:"dialog","aria-labelledby":t,mt:5,children:u.jsx(Pe,{title:u.jsx(ke,{id:t,size:"md",mb:2,children:r.formatMessage({id:"measurementTitle"})}),children:u.jsx(un,{mapId:T})})})]})}),u.jsx(it,{position:"bottom-right",horizontalGap:10,verticalGap:30,children:u.jsxs(ae,{role:"toolbar","aria-label":r.formatMessage({id:"ariaLabel.toolbar"}),direction:"column",gap:1,padding:1,children:[u.jsx(Bt,{label:r.formatMessage({id:"measurementTitle"}),placement:"auto",openDelay:500,children:u.jsx(ot,{"aria-label":r.formatMessage({id:"measurementTitle"}),leftIcon:s?u.jsx(En,{}):u.jsx(In,{}),onClick:n,iconSpacing:0,padding:0})}),u.jsx(Ks,{mapId:T}),u.jsx(Ys,{mapId:T}),u.jsx(Xs,{mapId:T})]})})]})}),u.jsxs(ae,{role:"region","aria-label":r.formatMessage({id:"ariaLabel.footer"}),gap:3,alignItems:"center",justifyContent:"center",children:[u.jsx(en,{mapId:T,precision:2}),u.jsx(xn,{mapId:T}),u.jsx(yn,{mapId:T})]})]})})}const Pn=$t({component:Tn,appMetadata:Xi,openShadowRoot:!0,async resolveConfig(r){const e=r.getAttribute("forced-locale");if(e)return{locale:e}}});customElements.define("ol-map-app",Pn);const kn=document.getElementsByTagName("body")[0];Ln();function Ln(){const r=window.location.search,t=new URLSearchParams(r).get("lang"),s=document.createElement("ol-map-app");s.classList.add("full-height"),s.classList.add("app"),s.setAttribute("id","test"),t&&s.setAttribute("forced-locale",t),kn.appendChild(s)} diff --git a/openlayers-base-packages/docs/functions/_open_pioneer_authentication.useAuthState.html b/openlayers-base-packages/docs/functions/_open_pioneer_authentication.useAuthState.html index b685a6058..7572c394c 100644 --- a/openlayers-base-packages/docs/functions/_open_pioneer_authentication.useAuthState.html +++ b/openlayers-base-packages/docs/functions/_open_pioneer_authentication.useAuthState.html @@ -30,7 +30,7 @@
authService: Returns AuthState
+
  • Defined in src/packages/authentication/useAuthState.ts:9
  • +
  • Defined in Sidebar.tsx:63
  • +
  • Defined in map/ui/MapAnchor.tsx:57
  • +
  • Defined in src/packages/react-utils/TitledSection.tsx:168
  • +
  • Defined in src/packages/authentication/api.ts:11
  • +
  • Defined in src/packages/authentication/ForceAuth.tsx:48
  • +
  • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
  • mapId: string
    @@ -96,7 +96,7 @@
    +
  • Defined in src/packages/basemap-switcher/BasemapSwitcher.tsx:36
  • +
  • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
  • mapId: string
    @@ -67,7 +67,7 @@
    +
  • Defined in src/packages/coordinate-viewer/CoordinateViewer.tsx:23
  • precision?: number
    @@ -75,7 +75,7 @@
    +
  • Defined in src/packages/coordinate-viewer/CoordinateViewer.tsx:28
  • +
  • Defined in Sidebar.tsx:26
  • id: string
    @@ -59,7 +59,7 @@
    +
  • Defined in Sidebar.tsx:22
  • label: string
    @@ -67,7 +67,7 @@
    +
  • Defined in Sidebar.tsx:30
  • +
  • Defined in Sidebar.tsx:52
  • +
  • Defined in map/api/layers/base.ts:79
  • id: string
    @@ -94,7 +94,7 @@
    +
  • Defined in map/api/layers/base.ts:73
  • isBaseLayer: boolean
    @@ -103,7 +103,7 @@
    +
  • Defined in map/api/layers/base.ts:166
  • loadState: LayerLoadState
    @@ -111,7 +111,7 @@
    +
  • Defined in map/api/layers/base.ts:154
  • @@ -120,7 +120,7 @@
    +
  • Defined in map/api/layers/base.ts:65
  • olLayer: BaseLayer
    @@ -128,7 +128,7 @@
    +
  • Defined in map/api/layers/base.ts:159
  • sublayers: undefined | SublayersCollection
    @@ -138,7 +138,7 @@
    +
  • Defined in map/api/layers/base.ts:94
  • title: string
    @@ -147,7 +147,7 @@
    +
  • Defined in map/api/layers/base.ts:76
  • visible: boolean
    @@ -158,7 +158,7 @@
    +
  • Defined in map/api/layers/base.ts:87
  • Methods

    @@ -177,7 +177,7 @@

    Returns void

    +
  • Defined in map/api/layers/base.ts:128
    • @@ -194,7 +194,7 @@

      Returns void

    +
  • Defined in map/api/layers/base.ts:109
    • @@ -211,7 +211,7 @@

      Returns void

    +
  • Defined in map/api/layers/base.ts:104
    • @@ -230,7 +230,7 @@

      Returns void

    +
  • Defined in map/api/layers/base.ts:117
    • @@ -248,7 +248,7 @@

      Returns void

    +
  • Defined in map/api/layers/base.ts:123
  • +
  • Defined in map/api/layers/base.ts:47
  • +
  • Defined in map/api/layers/base.ts:41
  • id?: string
    @@ -76,7 +76,7 @@
    +
  • Defined in map/api/layers/base.ts:30
  • isBaseLayer?: boolean
    @@ -86,7 +86,7 @@
    +
  • Defined in map/api/layers/base.ts:141
  • title: string
    @@ -95,7 +95,7 @@
    +
  • Defined in map/api/layers/base.ts:35
  • visible?: boolean
    @@ -105,7 +105,7 @@
    +
  • Defined in map/api/layers/base.ts:47
  • +
  • Defined in react-utils/useCommonComponentProps.ts:18
  • horizontalGap?: number
    @@ -83,7 +83,7 @@

    Default

    0
     
    +
  • Defined in map/ui/MapAnchor.tsx:30
  • @@ -94,7 +94,7 @@

    Default

    "top-righ
     
    +
  • Defined in map/ui/MapAnchor.tsx:19
  • stopEvents?: boolean
    @@ -107,7 +107,7 @@
    +
  • Defined in map/ui/MapAnchor.tsx:52
  • verticalGap?: number
    @@ -122,7 +122,7 @@

    0 (If position bottom-*, default verticalGap == 30)

    +
  • Defined in map/ui/MapAnchor.tsx:41
  • +
  • Defined in react-utils/useCommonComponentProps.ts:18
  • mapId: string
    @@ -97,7 +97,7 @@
    +
  • Defined in map/ui/MapContainer.tsx:27
  • role?: string
    @@ -106,7 +106,7 @@
    +
  • Defined in map/ui/MapContainer.tsx:54
  • viewPadding?: MapPadding
    @@ -115,7 +115,7 @@
    +
  • Defined in map/ui/MapContainer.tsx:34
  • viewPaddingChangeBehavior?: "none" | "preserve-center" | "preserve-extent"
    @@ -131,7 +131,7 @@

    Default

    "preserve
     
    +
  • Defined in map/ui/MapContainer.tsx:45
  • +
  • Defined in map/api/MapConfig.ts:65
  • +
  • Defined in map/api/layers/base.ts:41
  • id?: string
    @@ -75,7 +75,7 @@
    +
  • Defined in map/api/layers/base.ts:30
  • isBaseLayer?: boolean
    @@ -86,7 +86,7 @@
    +
  • Defined in map/api/layers/base.ts:141
  • olLayer: BaseLayer
    @@ -94,7 +94,7 @@
    +
  • Defined in map/api/layers/SimpleLayer.ts:16
  • title: string
    @@ -103,7 +103,7 @@
    +
  • Defined in map/api/layers/base.ts:35
  • visible?: boolean
    @@ -113,7 +113,7 @@
    +
  • Defined in map/api/layers/base.ts:47
  • +
  • Defined in map/api/layers/base.ts:79
  • id: string
    @@ -83,7 +83,7 @@
    +
  • Defined in map/api/layers/base.ts:73
  • @@ -92,7 +92,7 @@
    +
  • Defined in map/api/layers/base.ts:65
  • parent: Layer<{}> | Sublayer
    @@ -101,7 +101,7 @@
    +
  • Defined in map/api/layers/base.ts:177
  • parentLayer: Layer<{}>
    @@ -112,7 +112,7 @@

    Type declaration

      +
    • Defined in map/api/layers/base.ts:182
    • sublayers: undefined | SublayersCollection
      @@ -122,7 +122,7 @@
      +
    • Defined in map/api/layers/base.ts:94
    • title: string
      @@ -131,7 +131,7 @@
      +
    • Defined in map/api/layers/base.ts:76
    • visible: boolean
      @@ -142,7 +142,7 @@
      +
    • Defined in map/api/layers/base.ts:87
    • Methods

      @@ -161,7 +161,7 @@

      Returns void

      +
    • Defined in map/api/layers/base.ts:128
      • @@ -178,7 +178,7 @@

        Returns void

      +
    • Defined in map/api/layers/base.ts:109
      • @@ -195,7 +195,7 @@

        Returns void

      +
    • Defined in map/api/layers/base.ts:104
      • @@ -214,7 +214,7 @@

        Returns void

      +
    • Defined in map/api/layers/base.ts:117
      • @@ -232,7 +232,7 @@

        Returns void

      +
    • Defined in map/api/layers/base.ts:123
    • +
    • Defined in map/api/layers/base.ts:79
    • id: string
      @@ -86,7 +86,7 @@
      +
    • Defined in map/api/layers/base.ts:73
    • isBaseLayer: boolean
      @@ -96,7 +96,7 @@
      +
    • Defined in map/api/layers/base.ts:166
    • loadState: LayerLoadState
      @@ -105,7 +105,7 @@
      +
    • Defined in map/api/layers/base.ts:154
    • @@ -114,7 +114,7 @@
      +
    • Defined in map/api/layers/base.ts:65
    • olLayer: BaseLayer
      @@ -123,7 +123,7 @@
      +
    • Defined in map/api/layers/base.ts:159
    • @@ -133,7 +133,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:39
    • title: string
      @@ -142,7 +142,7 @@
      +
    • Defined in map/api/layers/base.ts:76
    • url: string
      @@ -150,7 +150,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:42
    • visible: boolean
      @@ -161,7 +161,7 @@
      +
    • Defined in map/api/layers/base.ts:87
    • Methods

      @@ -180,7 +180,7 @@

      Returns void

      +
    • Defined in map/api/layers/base.ts:128
    • +
    • Defined in map/api/layers/base.ts:109
    • +
    • Defined in map/api/layers/base.ts:104
    • +
    • Defined in map/api/layers/base.ts:117
    • +
    • Defined in map/api/layers/base.ts:123
    • +
    • Defined in map/api/layers/base.ts:41
    • id?: string
      @@ -75,7 +75,7 @@
      +
    • Defined in map/api/layers/base.ts:30
    • sourceOptions?: Partial<Options>
      @@ -85,7 +85,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:23
    • sublayers?: WMSSublayerConfig[]
      @@ -93,7 +93,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:15
    • title: string
      @@ -102,7 +102,7 @@
      +
    • Defined in map/api/layers/base.ts:35
    • url: string
      @@ -110,7 +110,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:12
    • visible?: boolean
      @@ -120,7 +120,7 @@
      +
    • Defined in map/api/layers/base.ts:47
    • +
    • Defined in map/api/layers/base.ts:41
    • id?: string
      @@ -74,7 +74,7 @@
      +
    • Defined in map/api/layers/base.ts:30
    • name: string
      @@ -82,7 +82,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:31
    • sublayers?: WMSSublayerConfig[]
      @@ -90,7 +90,7 @@
      +
    • Defined in map/api/layers/WMSLayer.ts:34
    • title: string
      @@ -99,7 +99,7 @@
      +
    • Defined in map/api/layers/base.ts:35
    • visible?: boolean
      @@ -109,7 +109,7 @@
      +
    • Defined in map/api/layers/base.ts:47
    • +
    • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
    • mapId: string
      @@ -67,7 +67,7 @@
      +
    • Defined in src/packages/map-navigation/InitialExtent.tsx:15
    • +
    • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
    • mapId: string
      @@ -68,7 +68,7 @@
      +
    • Defined in src/packages/map-navigation/Zoom.tsx:38
    • zoomDirection: "in" | "out"
      @@ -77,7 +77,7 @@
      +
    • Defined in src/packages/map-navigation/Zoom.tsx:45
    • +
    • Defined in index.ts:22
    • +
    • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
    • finishedFeatureStyle?: StyleLike
      @@ -76,7 +76,7 @@
      +
    • Defined in src/packages/measurement/Measurement.tsx:38
    • mapId: string
      @@ -84,7 +84,7 @@
      +
    • Defined in src/packages/measurement/Measurement.tsx:28
    • +
    • Defined in api.ts:13
    • +
    • Defined in Notifier.tsx:17
    • +
    • Defined in OgcFeatureSourceFactory.ts:27
    • limit?: number
      @@ -90,7 +90,7 @@
      +
    • Defined in OgcFeatureSourceFactory.ts:38
    • maxConcurrentRequests?: number
      @@ -98,7 +98,7 @@
      +
    • Defined in OgcFeatureSourceFactory.ts:41
    • +
    • Defined in src/packages/react-utils/TitledSection.tsx:89
    • +
    • Defined in src/packages/react-utils/useCommonComponentProps.ts:18
    • mapId: string
      @@ -66,7 +66,7 @@
      +
    • Defined in src/packages/scale-viewer/ScaleViewer.tsx:16
    • +
    • Defined in src/packages/authentication/api.ts:134
    • +
    • Defined in src/packages/authentication/api.ts:40
    • +
    • Defined in src/packages/authentication/api.ts:70
    • +
    • Defined in map/api/MapConfig.ts:51
    • +
    • Defined in map/api/layers/base.ts:20
    • +
    • Defined in map/ui/MapAnchor.tsx:10
    • +
    • Defined in map/projections.ts:6
    • +
    • Defined in map/api/layers/SimpleLayer.ts:30
    • +
    • Defined in map/api/layers/SimpleLayer.ts:31
    • +
    • Defined in map/ui/useMapModel.ts:9
    • +
    • Defined in src/packages/map-navigation/Zoom.tsx:12
    • +
    • Defined in src/packages/map-navigation/Zoom.tsx:23
    • +
    • Defined in api.ts:6
    • +
    • Defined in src/packages/react-utils/TitledSection.tsx:161
    • +
    • Defined in map/api/layers/SimpleLayer.ts:30
    • +
    • Defined in map/api/layers/SimpleLayer.ts:31
    • +
    • Defined in map/api/layers/WMSLayer.ts:38
    • +
    • Defined in map/api/layers/WMSLayer.ts:55