rlayers
Version:
React Components for OpenLayers
1 lines • 41.3 kB
JavaScript
"use strict";(self.webpackChunkrlayers=self.webpackChunkrlayers||[]).push([[7240],{1169:(e,t,s)=>{s.d(t,{Ay:()=>d,M2:()=>p,VX:()=>h});var r=s(6540),o=s(5338),i=s(9303),n=s(9276),l=s(2627),a=s(1443),c=s(961);const h=()=>r.useRef(void 0),p=()=>r.createRef();class u extends r.PureComponent{constructor(e){super(e),this.style=(e,t)=>{if(this.ol!==this.style)return this.ol;let s;if(this.cache){s=this.props.cacheId(e,t);const r=this.cache.get(s);if(r)return r}const i=new n.Ay({zIndex:this.props.zIndex}),a=r.createElement(l.aU.Provider,{value:{...this.context,style:i}},this.props.render(e,t)),h=(0,o.createRoot)(document.createElement("div"));return(0,c.flushSync)((()=>{h.render(a)})),this.cache&&this.cache.set(s,i),i},e.render?this.ol=this.style:this.ol=new n.Ay({zIndex:e.zIndex}),e.render&&e.cacheSize&&e.cacheId&&(this.cache=new i.q({max:e.cacheSize}))}componentDidMount(){this.refresh()}componentDidUpdate(e,t,s){this.props!==e&&((0,a.A)("willRefresh",this,e,this.props),this.refresh(e))}refresh(e){var t,s,r,o,i,l,a;if(!e||(null==e?void 0:e.render)!==this.props.render){if(null===(t=this.context)||void 0===t?void 0:t.styleArray){if(this.ol===this.style)throw new Error("An RStyleArray must contain only static RStyles");this.context.styleArray.includes(this.ol)||this.context.styleArray.push(this.ol)}else(null===(r=null===(s=this.context)||void 0===s?void 0:s.feature)||void 0===r?void 0:r.setStyle)?this.context.feature.setStyle(this.ol):(null===(i=null===(o=this.context)||void 0===o?void 0:o.vectorlayer)||void 0===i?void 0:i.setStyle)?this.context.vectorlayer.setStyle(this.ol):(null===(a=null===(l=this.context)||void 0===l?void 0:l.vectortilelayer)||void 0===a?void 0:a.setStyle)&&this.context.vectortilelayer.setStyle(this.ol);this.cache&&this.cache.clear()}this.ol instanceof n.Ay&&(!e||e.zIndex!==this.props.zIndex)&&this.ol.setZIndex(this.props.zIndex)}render(){return this.props.render?null:r.createElement("div",{className:"_rlayers_RStyle"},r.createElement(l.aU.Provider,{value:{...this.context,style:this.ol}},this.props.children))}static getStyle(e){return null==e?e:"function"==typeof e.style?(t,s)=>e.style(t,s):Object.keys(e).includes("current")?(t,s)=>e.current.style(t,s):e}static getStyleStatic(e){if(null==e)return e;let t;if("function"==typeof e.style&&(t=e),!Object.keys(e).includes("current")||(t=e.current,null!=t)){if(t){if(void 0!==t.ol&&"function"!=typeof t.ol)return t.ol;throw new TypeError("RStyle is dynamic and cannot be converted to Style")}if("function"==typeof e)throw new TypeError("StyleLike is dynamic and cannot be converted to Style");return e}}}u.contextType=l.aU;const d=u},1443:(e,t,s)=>{s.d(t,{A:()=>r});const r=()=>{}},1895:(e,t,s)=>{s.d(t,{A:()=>h,Y:()=>c});var r=s(6540),o=s(2627),i=s(5553),n=s(4114),l=s(1169),a=s(7248);const c="_rlayers_feature_handlers";class h extends i.A{constructor(e){super(e),this.eventSources=this.createSource(e),super.refresh()}createSource(e){throw new Error("RLayerBaseVector is an abstract class")}refresh(e){super.refresh(e),(null==e?void 0:e.style)!==this.props.style&&this.ol.setStyle(l.Ay.getStyle(this.props.style))}incrementHandlers(e){var t;const s=a.o.getOLObject(c,this.ol);s[e]=(null!==(t=s[e])&&void 0!==t?t:0)+1}decrementHandlers(e){a.o.getOLObject(c,this.ol)[e]--}render(){return super.render(),n.Ay.initEventRelay(this.context.map),r.createElement("div",{className:"_rlayers_RLayerVector"},r.createElement(o.aU.Provider,{value:{...this.context,layer:this.ol,source:this.source,vectorlayer:this.ol,vectorsource:this.source,rLayer:this,rLayerVector:this}},this.props.children))}}},2627:(e,t,s)=>{s.d(t,{Xo:()=>i,aU:()=>o});var r=s(6540);const o=r.createContext({});function i(){const e=r.useContext(o);return{map:e.map,layer:e.layer,source:e.source,vectorlayer:e.vectorlayer,vectorsource:e.vectorsource,vectortilelayer:e.vectortilelayer,feature:e.feature,location:e.location,style:e.style,styleArray:e.styleArray}}},2662:(e,t,s)=>{s.d(t,{A:()=>o});var r=s(5553);class o extends r.A{}},4114:(e,t,s)=>{s.d(t,{Ay:()=>v});var r=s(6540),o=s(277),i=s(6717),n=s(915),l=s(2627),a=s(7248),c=s(1895),h=s(1169),p=s(1443);class u extends o.A{}class d extends a.o{constructor(e){var t;super(e),e.feature?this.ol=e.feature:this.ol=new i.A({...null!==(t=e.properties)&&void 0!==t?t:{},geometry:e.geometry,style:h.Ay.getStyle(e.style)}),this.onchange=()=>this.forceUpdate()}static initEventRelay(e){for(const t of d.pointerEvents)e.on(t,d.eventRelay)}incrementHandlers(e){var t;const s=a.o.getOLObject(c.Y,this.context.vectorlayer);s[e]=(null!==(t=s[e])&&void 0!==t?t:0)+1}decrementHandlers(e){a.o.getOLObject(c.Y,this.context.vectorlayer)[e]--}static dispatchEvent(e,t){var s;if(!e.feature)return!0;if(e.feature.dispatchEvent&&!1===e.feature.dispatchEvent(t))return!1;t.target||(t.target=e.feature);const r=null===(s=e.layer)||void 0===s?void 0:s.get(a.E)[t.type];return!r||r.call(null,t)}static eventRelay(e){const t=[];if(e.map.forEachFeatureAtPixel(e.pixel,((e,s)=>t.push({feature:e,layer:s})&&!1),{hitTolerance:d.hitTolerance,layerFilter:t=>{var s,r,o,i,n;const l=a.o.getOLObject(c.Y,t);switch(e.type){case"click":return l.click>0;case"dblclick":return l.dblclick>0;case"singleclick":return l.singleclick>0;case"pointermove":return(null!==(s=l.pointermove)&&void 0!==s?s:0)+(null!==(r=l.pointerenter)&&void 0!==r?r:0)+(null!==(o=l.pointerleave)&&void 0!==o?o:0)>0;case"pointerdrag":return(null!==(i=l.pointerdrag)&&void 0!==i?i:0)+(null!==(n=l.pointerdragend)&&void 0!==n?n:0)>0}return Object.keys(l).reduce(((e,t)=>e+l[t]),0)>0}}),e.dragging){d.lastFeaturesDragged.length||(d.lastFeaturesDragged=[...t]);for(const e of d.lastFeaturesDragged)t.find((t=>t.feature===e.feature))||t.push(e)}else{for(const t of d.lastFeaturesDragged)if(!1===d.dispatchEvent(t,new u("pointerdragend",e.map,e.originalEvent)))return d.lastFeaturesDragged=[],!1;d.lastFeaturesDragged=[]}if("pointermove"===e.type){for(const s of d.lastFeaturesEntered)if(!t.find((e=>e.feature===s.feature))){const t=d.dispatchEvent(s,new u("pointerleave",e.map,e.originalEvent));if(s.feature=null,s.layer=null,!1===t)return d.lastFeaturesEntered=d.lastFeaturesEntered.filter((e=>e.feature)),!1}d.lastFeaturesEntered=d.lastFeaturesEntered.filter((e=>e.feature));for(const s of t)if(!d.lastFeaturesEntered.find((e=>e.feature===s.feature))){const t=d.dispatchEvent(s,new u("pointerenter",e.map,e.originalEvent));if(d.lastFeaturesEntered.push(s),!1===t)return!1}}for(const s of t)if(!1===d.dispatchEvent(s,new u(e.type,e.map,e.originalEvent)))return!1;return!0}refresh(e){super.refresh(e),void 0!==this.props.feature&&this.props.feature!==this.ol&&((0,p.A)("replacing bound feature",this.ol),this.componentWillUnmount(),this.ol=this.props.feature,this.componentDidMount()),this.props.properties!==(null==e?void 0:e.properties)&&this.ol.setProperties(this.props.properties),this.props.geometry!==(null==e?void 0:e.geometry)&&this.ol.setGeometry(this.props.geometry),this.props.style!==(null==e?void 0:e.style)&&this.ol.setStyle(h.Ay.getStyle(this.props.style))}componentDidMount(){(0,p.A)("didMount",this.ol),super.componentDidMount(),this.ol.on("change",this.onchange),this.context.vectorsource.addFeature(this.ol)}componentWillUnmount(){super.componentWillUnmount(),this.ol.un("change",this.onchange),this.context.vectorsource.removeFeature(this.ol)}render(){var e,t,s;if(!(null===(e=null==this?void 0:this.context)||void 0===e?void 0:e.vectorlayer))throw new Error("An RFeature must be part of a vector layer");d.initEventRelay(this.context.map);const o=null===(s=null===(t=this.ol)||void 0===t?void 0:t.getGeometry())||void 0===s?void 0:s.getExtent(),i=o&&(0,n.q1)(o);return r.createElement("div",{className:"_rlayers_RFeature"},r.createElement(l.aU.Provider,{value:{...this.context,feature:this.ol,rFeature:this,location:i}},this.props.children))}}d.pointerEvents=["click","pointerdrag","pointermove","singleclick","dblclick"],d.lastFeaturesEntered=[],d.lastFeaturesDragged=[],d.hitTolerance=3;const v=d},5111:(e,t,s)=>{s.r(t),s.d(t,{RBackground:()=>C,RBaseStyle:()=>a,RBaseStyleProps:()=>r.RBaseStyleProps,RCircle:()=>b,RFill:()=>y,RIcon:()=>z,RRegularShape:()=>R,RStroke:()=>v,RStyle:()=>c.Ay,RStyleArray:()=>p,RStyleLike:()=>c.RStyleLike,RStyleRef:()=>c.RStyleRef,RText:()=>j,createRStyle:()=>c.M2,useRStyle:()=>c.VX});var r={};s.r(r),s.d(r,{A:()=>a});var o=s(6540),i=s(2627),n=s(1443);class l extends o.PureComponent{constructor(e){super(e),this.ol=null}create(e){throw new Error("RBaseStyle is an abstract class")}refresh(e){if((0,n.A)("refreshStyle",this),e)for(const t of this.classProps){const s=t.charAt(0).toUpperCase()+t.substring(1);(e&&e[t])!==this.props[t]&&(this.ol["set"+s]?this.ol["set"+s](this.props[t]):console.error(`Underlying OpenLayers object does not support updating of ${t} after object creation. If you are using an anonymous constant array or object, consider assigning its value to a constant and then passing the constant or use React.useMemo() to avoid this warning and improve performance.`))}}set(e){}componentDidMount(){this.set(this.ol)}componentDidUpdate(e,t,s){e!==this.props&&this.refresh(e)}componentWillUnmount(){this.set(null)}render(){if(!this.context)throw new Error("A style property must be part of a style");return null===this.ol&&(this.ol=this.create(this.props)),null}}l.contextType=i.aU,l.classProps=[];const a=l;var c=s(1169),h=s(5338);class p extends c.Ay{constructor(e){super(e),this.style=(e,t)=>{if(this.props.render){const s=this.props.render(e,t);o.Children.map(s.props.children,(e=>{if(o.isValidElement(e)&&e.type!==c.Ay)throw new TypeError("An RStyleArray should contain only RStyle elements")}));const r=[],n=o.createElement(i.aU.Provider,{value:{...this.context,styleArray:r}},s.props.children);return(0,h.createRoot)(document.createElement("div")).render(n),r}return this.ol},this.childRefs=[],e.render?this.ol=this.style:this.ol=[]}refresh(e){super.refresh(e)}render(){return o.Children.map(this.props.children,(e=>{if(o.isValidElement(e)&&e.type!==c.Ay)throw new TypeError("An RStyleArray should contain only RStyle elements")})),this.props.render?o.createElement(o.Fragment,null):o.createElement("div",{className:"_rlayers_RStyleArray"},o.createElement(i.aU.Provider,{value:{...this.context,styleArray:this.ol}},this.props.children))}}var u=s(953);class d extends a{create(e){return this.classProps=d.classProps,new u.A(e)}set(e){if(this.context.style.setStroke)return this.context.style.setStroke(e);throw new Error("Parent element does not support a stroke")}}d.classProps=["color","width","lineCap","lineJoin","lineDash"];const v=d;var f=s(3628);class m extends a{create(e){return this.classProps=m.classProps,new f.A(e)}set(e){if(this.context.style.setFill)return this.context.style.setFill(e);throw new Error("Parent element does not support a fill")}}m.classProps=["color"];const y=m;var g=s(7733);class x extends a{create(e){throw new Error("RImage is an abstract class")}set(e){if(!this.context.style.setImage)throw new Error("Parent element does not support an image");this.context.style.setImage(e)}}x.classProps=["opacity","rotateWithView","rotation","scale","displacement"];const w=x;class P extends w{create(e){throw new Error("RImage is an abstract class")}setStroke(e){this.stroke=e,this.ol=this.create(this.props),super.set(this.ol)}setFill(e){this.fill=e,this.ol=this.create(this.props),super.set(this.ol)}render(){return super.render(),o.createElement("div",{className:"_rlayers_RStyle"},o.createElement(i.aU.Provider,{value:{...this.context,style:this}},this.props.children))}}P.classProps=w.classProps.concat(["radius"]);const A=P;class S extends A{create(e){return this.classProps=S.classProps,new g.A({...e,stroke:this.stroke,fill:this.fill})}}S.classProps=A.classProps.concat(["radius"]);const b=S;var E=s(6936);class O extends A{create(e){return this.classProps=O.classProps,new E.A({...e,stroke:this.stroke,fill:this.fill})}}O.classProps=A.classProps.concat(["radius1","radius2","points","angle"]);const R=O;var L=s(1426);class k extends a{create(e){return this.classProps=k.classProps,new L.A(e)}set(e){if(!this.context.style.setText)throw new Error("Parent element does not support a text");this.context.style.setText(e)}render(){return super.render(),o.createElement("div",{className:"_rlayers_RStyle_RText"},o.createElement(i.aU.Provider,{value:{...this.context,style:this.ol}},this.props.children))}}k.classProps=["text","font","offsetY","offsetX","overflow","scale","rotation","textAlign","padding","placement","textBaseline"];const j=k;class U extends a{create(e){this.classProps=U.classProps;const t=this.context.style;if(!t.setBackgroundFill||!t.setBackgroundStroke)throw new Error("Parent element does not support a background");return{setFill:t.setBackgroundFill.bind(t),setStroke:t.setBackgroundStroke.bind(t)}}render(){return super.render(),o.createElement("div",{className:"_rlayers_RStyle_RBackground"},o.createElement(i.aU.Provider,{value:{...this.context,style:this.ol}},this.props.children))}}U.classProps=[];const C=U;var F=s(9700);class D extends w{create(e){return this.classProps=D.classProps,new F.A(e)}}D.classProps=w.classProps.concat(["anchor","anchorXUnits","anchorYUnits","color","crossOrigin","img","offset","offsetOrigin","size","imgSize","src"]);const z=D},5553:(e,t,s)=>{s.d(t,{A:()=>l});var r=s(6540),o=s(2627),i=s(7248),n=s(1443);class l extends i.o{constructor(e){super(e)}refresh(e){var t;super.refresh(e);for(const s of["visible","opacity","zIndex","minResolution","maxResolution","minZoom","maxZoom"]){const r=s.charAt(0).toUpperCase()+s.substring(1);(null===(t=this.props)||void 0===t?void 0:t[s])!==(null==e?void 0:e[s])&&((0,n.A)("Setting",this,r,this.props[s]),this.ol["set"+r](this.props[s]))}this.source&&this.props.attributions!==(null==e?void 0:e.attributions)&&((0,n.A)("Setting attributions",this),this.source.setAttributions(this.props.attributions)),this.props.properties&&this.ol.setProperties(this.props.properties)}componentDidMount(){super.componentDidMount(),this.context.map.addLayer(this.ol)}componentWillUnmount(){super.componentWillUnmount(),this.context.map.removeLayer(this.ol)}render(){var e,t;if(!(null===(t=null===(e=this.context)||void 0===e?void 0:e.map)||void 0===t?void 0:t.addLayer))throw new Error("A layer must be part of a map");return r.createElement("div",{className:"_rlayers_RLayer"},r.createElement(o.aU.Provider,{value:{...this.context,layer:this.ol,source:this.source,rLayer:this}},this.props.children))}}},7240:(e,t,s)=>{s.d(t,{E6:()=>r,Dp:()=>B.Ay,NI:()=>Qe,vk:()=>o,Am:()=>u.A,od:()=>W,y1:()=>D,KL:()=>N,Xy:()=>U,HS:()=>m,QN:()=>M,Ff:()=>I,dx:()=>J,j9:()=>P,Ji:()=>G,Tw:()=>k,Fd:()=>O,f9:()=>p,ej:()=>S,$g:()=>$,Rv:()=>Je,bz:()=>$e,cq:()=>F,Xo:()=>n.Xo});var r={};s.r(r),s.d(r,{ON:()=>se,Es:()=>ae,yO:()=>de,bc:()=>ce,Ip:()=>pe,H4:()=>ee,WP:()=>oe,ni:()=>ne});var o={};s.r(o),s.d(o,{M5:()=>we,Hm:()=>Oe,Nl:()=>ke,dI:()=>Se});var i=s(7248),n=s(2627),l=s(6540),a=s(6679),c=s(3568),h=s(1443);class p extends i.o{constructor(e){super(e),this.updateView=e=>{var t;const s=this.ol.getView();"function"==typeof(null===(t=this.props)||void 0===t?void 0:t.view[1])&&this.props.view[1]({center:s.getCenter(),zoom:s.getZoom(),resolution:s.getResolution()})},this.target=l.createRef(),this.ol=new a.A({controls:e.noDefaultControls?[]:void 0,interactions:e.noDefaultInteractions?[]:void 0,view:new c.Ay({projection:e.projection,center:e.initial.center,zoom:void 0===e.initial.resolution?e.initial.zoom:void 0,resolution:e.initial.resolution,extent:e.extent,minResolution:e.minResolution,maxResolution:e.maxResolution,constrainResolution:e.constrainResolution,minZoom:e.minZoom,maxZoom:e.maxZoom,enableRotation:e.enableRotation,constrainRotation:e.constrainRotation})}),this.props.view&&this.ol.on("moveend",this.updateView)}componentDidMount(){super.componentDidMount(),this.ol.getTarget()!==this.target.current&&((0,h.A)("Setting target",this,this.target.current),this.ol.setTarget(this.target.current))}refresh(e){var t;super.refresh(e);const s=this.ol.getView();for(const r of["minZoom","maxZoom","constrainResolution"]){const o=r.charAt(0).toUpperCase()+r.substring(1);(null===(t=this.props)||void 0===t?void 0:t[r])!==(null==e?void 0:e[r])&&((0,h.A)("Setting",this,o,this.props[r]),s["set"+o](this.props[r]))}this.props.view&&((0,h.A)("Setting view",this,this.props.view),s.setCenter(this.props.view[0].center),void 0===this.props.view[0].resolution?s.setZoom(this.props.view[0].zoom):s.setResolution(this.props.view[0].resolution)),this.props.properties&&this.ol.setProperties(this.props.properties),this.props.view?this.ol.on("moveend",this.updateView):this.ol.un("moveend",this.updateView)}render(){return l.createElement("div",{className:this.props.className,style:{width:this.props.width,height:this.props.height},ref:this.target},l.createElement(n.aU.Provider,{value:{map:this.ol,rMap:this}},this.props.children))}}var u=s(5553),d=s(945),v=s(702),f=s(2662);class m extends f.A{constructor(e){super(e),this.createSource(),this.ol=new d.A({source:this.source}),this.eventSources=[this.ol,this.source]}createSource(){this.source=new v.A({url:this.props.url,interpolate:!this.props.noIterpolation,projection:this.props.projection,tileGrid:this.props.tileGrid,crossOrigin:this.props.crossOrigin,attributions:this.props.attributions}),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),(null==e?void 0:e.tileGrid)===this.props.tileGrid&&(null==e?void 0:e.url)===this.props.url||((0,h.A)("replacing source",this),this.createSource(),this.ol.setSource(this.source),this.attachOldEventHandlers(this.source))}}var y=s(1895),g=s(2757),x=s(4602),w=s(1169);class P extends y.A{createSource(e){return this.source=new x.A({features:this.props.features,url:this.props.url,format:this.props.format,loader:this.props.loader,wrapX:this.props.wrapX,strategy:this.props.strategy,attributions:this.props.attributions}),this.ol=new g.A({...e,style:w.Ay.getStyle(this.props.style),source:this.source}),[this.ol,this.source]}refresh(e){super.refresh(e),(null==e?void 0:e.url)!==this.props.url&&(this.source.setUrl(this.props.url),this.source.refresh())}}var A=s(7896);class S extends f.A{constructor(e){super(e),this.source=new A.A,this.ol=new d.A({source:this.source}),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.ol.setProperties({label:"OpenStreetMap"})}}var b=s(2794),E=s(6067);class O extends f.A{constructor(e){super(e),this.ol=new d.A({source:this.source}),this.parser=new E.A}createSource(){return(0,h.A)("createSource",this),fetch(this.props.url).then((e=>e.text())).then((e=>{const t=this.parser.read(e);return this.options=(0,b.t)(t,{layer:this.props.layer}),this.props.attributions&&(this.options.attributions=this.props.attributions),this.options.crossOrigin="",this.props.projection&&(this.options.projection=this.props.projection),this.options.wrapX=!1,this.source=new b.A(this.options),this.ol.setSource(this.source),this.eventSources=[this.ol,this.source],this.props.onCapabilities&&this.props.onCapabilities.call(this,this.options),this.source})).catch((e=>(console.error("failed loading WMTS",this.props.url,this.props.layer,e),this.source=void 0,null)))}refresh(e){super.refresh(),(null==e?void 0:e.url)!==this.props.url||(null==e?void 0:e.layer)!==this.props.layer?this.createSource().then((()=>{this.ol.setSource(this.source),this.attachOldEventHandlers(this.source)})):this.props.onCapabilities&&this.props.onCapabilities.call(this,this.options)}}var R=s(8044),L=s(1011);class k extends f.A{constructor(e){super(e),this.createSource(),this.ol=new R.A({source:this.source}),this.eventSources=[this.ol,this.source]}createSource(){const{params:e,url:t,crossOrigin:s,attributions:r}=this.props,o={params:e,url:t,crossOrigin:s,attributions:r};this.source=new L.A(o),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.createSource(),this.ol.setSource(this.source),this.attachOldEventHandlers(this.source)}}var j=s(8270);class U extends u.A{constructor(e){super(e),this.createSource(),this.ol=new R.A({source:this.source}),this.eventSources=[this.ol,this.source]}createSource(){const e={url:this.props.url,projection:this.props.projection,imageExtent:this.props.extent,imageSize:this.props.size,attributions:this.props.attributions};this.source=new j.A(e),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.props.url&&(null==e?void 0:e.url)!==this.props.url&&(this.createSource(),this.ol.setSource(this.source),this.eventSources=[this.ol,this.source],this.attachOldEventHandlers(this.source))}}var C=s(517),F=s(5111);class D extends u.A{constructor(e){super(e),this.createSource()}createSource(){var e,t,s,r,o,i;const n=null===(t=null===(e=F.RStyle.getStyleStatic(this.props.strokeStyle))||void 0===e?void 0:e.getStroke)||void 0===t?void 0:t.call(e),l=null===(r=null===(s=F.RStyle.getStyleStatic(this.props.lonLabelStyle))||void 0===s?void 0:s.getText)||void 0===r?void 0:r.call(s),a=null===(i=null===(o=F.RStyle.getStyleStatic(this.props.latLabelStyle))||void 0===o?void 0:o.getText)||void 0===i?void 0:i.call(o);this.ol=new C.A({...this.props,strokeStyle:n,lonLabelStyle:l,latLabelStyle:a}),this.eventSources=[this.ol]}refresh(e){super.refresh(e);const t=this.context.map.removeLayer(this.ol);this.createSource(),this.attachOldEventHandlers(this.ol),t&&this.context.map.addLayer(this.ol)}}var z=s(4218);class M extends f.A{constructor(e){super(e),this.source=new z.A({url:this.props.url,tileSize:this.props.tileSize}),this.ol=new d.A({source:this.source}),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.props.url&&(null==e?void 0:e.url)!==this.props.url&&(this.source.setUrl(this.props.url),this.source.refresh())}}var T=s(2728);class I extends f.A{constructor(e){super(e),this.createSource(),this.ol=new d.A({source:this.source}),this.eventSources=[this.ol,this.source]}createSource(){const{params:e,url:t,projection:s,attributions:r}=this.props,o={params:e,url:t,projection:s,attributions:r};this.source=new T.A(o),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.createSource(),this.ol.setSource(this.source),this.attachOldEventHandlers(this.source)}}var _=s(1905);class N extends y.A{createSource(e){return this.source=new x.A({features:this.props.features,url:this.props.url,format:this.props.format,loader:this.props.loader,wrapX:this.props.wrapX,strategy:this.props.strategy,attributions:this.props.attributions}),this.ol=new _.A({...e,source:this.source}),[this.ol,this.source]}refresh(e){super.refresh(e),(null==e?void 0:e.blur)!==this.props.blur&&this.ol.setBlur(this.props.blur),(null==e?void 0:e.radius)!==this.props.radius&&this.ol.setRadius(this.props.radius)}}var H=s(6203);class W extends y.A{createSource(e){return this.cluster=new x.A({features:this.props.features,url:this.props.url,format:this.props.format,loader:this.props.loader,wrapX:this.props.wrapX,strategy:this.props.strategy,attributions:this.props.attributions}),this.source=new H.A({source:this.cluster,distance:this.props.distance}),this.ol=new g.A({...e,source:this.source,style:w.Ay.getStyle(e.style)}),[this.ol,this.source,this.cluster]}refresh(e){super.refresh(e),(null==e?void 0:e.distance)!==this.props.distance&&this.source.setDistance(this.props.distance),(null==e?void 0:e.url)!==this.props.url&&(this.cluster.setUrl(this.props.url),this.cluster.refresh())}render(){return l.createElement("div",{className:"_rlayers_RLayerCluster"},l.createElement(n.aU.Provider,{value:{...this.context,layer:this.ol,source:this.cluster,vectorlayer:this.ol,vectorsource:this.cluster,rLayer:this,rLayerVector:this}},this.props.children))}}var V=s(8063),X=s(5923),B=s(4114);class G extends u.A{constructor(e){super(e),this.source=new X.A({url:this.props.url,format:this.props.format,projection:this.props.projection,cacheSize:this.props.cacheSize,extent:this.props.extent,overlaps:this.props.overlaps,state:this.props.state,tileClass:this.props.tileClass,tileSize:this.props.tileSize,tileGrid:this.props.tileGrid,tileLoadFunction:this.props.tileLoadFunction,tileUrlFunction:this.props.tileUrlFunction,transition:this.props.transition,wrapX:this.props.wrapX,zDirection:this.props.zDirection}),this.ol=new V.A({style:w.Ay.getStyle(this.props.style),source:this.source,renderBuffer:this.props.renderBuffer}),this.eventSources=[this.ol,this.source]}incrementHandlers(e){var t;const s=i.o.getOLObject(y.Y,this.ol);s[e]=(null!==(t=s[e])&&void 0!==t?t:0)+1}decrementHandlers(e){i.o.getOLObject(y.Y,this.ol)[e]--}refresh(e){super.refresh(e);const t=Object.keys(this.props).filter((e=>e.startsWith("on"))).reduce(((e,t)=>({...e,["_"+t.toLowerCase()]:this.props[t]})),{});this.ol.setProperties(t),(null==e?void 0:e.style)!==this.props.style&&this.ol.setStyle(w.Ay.getStyle(this.props.style)),(null==e?void 0:e.url)!==this.props.url&&(this.source.setUrl(this.props.url),this.source.refresh())}render(){return super.render(),B.Ay.initEventRelay(this.context.map),l.createElement("div",{className:"_rlayers_RLayerVectorTile"},l.createElement(n.aU.Provider,{value:{...this.context,layer:this.ol,vectortilelayer:this.ol,rLayer:this,rLayerVectorTile:this}},this.props.children))}}var Z=s(114),Y=s(3080);class q extends f.A{}class J extends q{constructor(e){super(e),this.createSource(),this.ol=new Z.A({opacity:.9,source:this.source,cacheSize:e.cacheSize}),this.eventSources=[this.ol,this.source]}createSource(){this.source=new Y.A({url:this.props.url,interpolate:!this.props.noIterpolation,projection:this.props.projection,tileGrid:this.props.tileGrid,crossOrigin:"anonymous",attributions:this.props.attributions}),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),(null==e?void 0:e.tileGrid)===this.props.tileGrid&&(null==e?void 0:e.url)===this.props.url||(this.createSource(),this.ol.setSource(this.source),this.attachOldEventHandlers(this.source))}}class $ extends q{constructor(e){super(e),this.source=new A.A,this.ol=new Z.A({source:this.source,cacheSize:e.cacheSize}),this.eventSources=[this.ol,this.source]}refresh(e){super.refresh(e),this.ol.setProperties({label:"OpenStreetMap"})}}var K=s(3965);class Q extends i.o{constructor(e){super(e)}toOLProps(e){var t;return{className:e.className,target:null===(t=e.target)||void 0===t?void 0:t.current}}refresh(e){super.refresh(e),this.ol.setProperties(this.toOLProps(this.props))}componentDidMount(){super.componentDidMount(),this.context.map.addControl(this.ol)}componentWillUnmount(){super.componentWillUnmount(),this.context.map.removeControl(this.ol)}render(){var e;if(!(null===(e=this.context)||void 0===e?void 0:e.map))throw new Error("A control must be part of a map");return super.render()}}class ee extends Q{constructor(e){super(e),this.ol=new K.A(this.toOLProps(e))}toOLProps(e){var t;return{...super.toOLProps(e),minWidth:e.minWidth,bar:e.bar,text:e.text,units:null!==(t=e.units)&&void 0!==t?t:"metric"}}}var te=s(7456);class se extends Q{constructor(e){super(e),this.ol=new te.A(this.toOLProps(e))}refresh(e){super.refresh(e),(null==e?void 0:e.collapsed)!==this.props.collapsed&&this.ol.setCollapsed(this.props.collapsed)}toOLProps(e){var t;return{...super.toOLProps(e),collapsible:null===(t=e.collapsible)||void 0===t||t,collapsed:e.collapsed}}}var re=s(9186);class oe extends Q{constructor(e){super(e),this.ol=new re.A(this.toOLProps(e))}toOLProps(e){return{...super.toOLProps(e),duration:e.duration,zoomInLabel:e.zoomInLabel,zoomOutLabel:e.zoomOutLabel,zoomInTipLabel:e.zoomInTipLabel,zoomOutTipLabel:e.zoomOutTipLabel,delta:e.delta}}}var ie=s(9439);class ne extends Q{constructor(e){super(e),this.ol=new ie.A(this.toOLProps(e))}toOLProps(e){return{...super.toOLProps(e),duration:e.duration}}}s(2898);var le=s(972);class ae extends Q{constructor(e){super(e),this.targetRef=l.createRef()}componentDidMount(){this.ol=new le.A(this.toOLProps(this.props)),super.componentDidMount()}toOLProps(e){var t;return{...super.toOLProps(e),element:null===(t=this.targetRef)||void 0===t?void 0:t.current}}render(){return l.createElement("div",{className:"_rlayers_RCustomControl"},l.createElement("div",{className:["ol-control",this.props.className].join(" "),ref:this.targetRef},this.props.children))}}class ce extends Q{constructor(e){super(e),this.onchange=()=>this.forceUpdate(),this.clickCollapse=()=>{this.setState({collapsed:!this.state.collapsed})},this.targetRef=l.createRef(),this.state={collapsed:!0,visible:[!0]}}componentDidMount(){this.ol=new le.A(this.toOLProps(this.props)),super.componentDidMount(),this.context.map.on("change",this.onchange),this.forceUpdate()}componentWillUnmount(){super.componentWillUnmount(),this.context.map.un("change",this.onchange)}toOLProps(e){var t;return{...super.toOLProps(e),element:null===(t=this.targetRef)||void 0===t?void 0:t.current}}render(){var e,t;const s=l.Children.map(this.props.children,((e,t)=>{var s;if(l.isValidElement(e))return null!==(s=this.state.visible[t])&&void 0!==s&&s})),r=l.Children.map(this.props.children,(e=>{var t,s;if(l.isValidElement(e))return null!==(s=null===(t=e.props.properties)||void 0===t?void 0:t.label)&&void 0!==s?s:"no label"}));return l.createElement(l.Fragment,null,l.createElement("div",{className:["ol-control",null!==(e=this.props.className)&&void 0!==e?e:"ol-layers-control"].join(" "),ref:this.targetRef},l.createElement("span",{onClick:this.clickCollapse},null!==(t=this.props.element)&&void 0!==t?t:l.createElement("button",null,"=")),this.state.collapsed?null:l.createElement("div",null,r.map(((e,t)=>l.createElement("div",{key:t},l.createElement("input",{type:"radio",id:t.toString(),name:e,value:t.toString(),checked:s[t],onChange:()=>{for(const e in s)s[e]=!1;s[t]=!0,this.setState({visible:[...s],collapsed:!0})}}),l.createElement("label",{htmlFor:t.toString()},e)))))),l.Children.map(this.props.children,((e,t)=>l.isValidElement(e)?l.cloneElement(e,{visible:s[t]}):e)))}}var he=s(6950);class pe extends Q{constructor(e){super(e),this.ol=new he.A(this.toOLProps(e))}toOLProps(e){return{...super.toOLProps(e),collapsible:e.collapsible,collapsed:e.collapsed,label:e.label,collapseLabel:e.collapseLabel}}refresh(e){super.refresh(e),(null==e?void 0:e.collapsed)!==this.props.collapsed&&this.ol.setCollapsed(this.props.collapsed)}render(){return l.createElement("div",{className:this.props.className,style:{width:this.props.width,height:this.props.height}},l.createElement(n.aU.Provider,{value:{map:this.ol.getOverviewMap()}},this.props.children))}}var ue=s(7364);class de extends Q{constructor(e){super(e),this.ol=new ue.A(this.toOLProps(e))}toOLProps(e){return{...super.toOLProps(e),source:e.source,label:e.label,labelActive:e.labelActive,tipLabel:e.tipLabel}}}s(2977),s(1727);class ve extends i.o{constructor(e){super(e),this.ol=null}createOL(e){throw new Error("RBaseInteraction should not be directly instantiated")}refresh(e){for(const t of this.classProps)if(e&&e[t]!==this.props[t]){(0,h.A)("Replacing interaction",this,e),this.componentWillUnmount(),this.ol=this.createOL(this.props),this.componentDidMount();break}super.refresh(e)}componentDidMount(){super.componentDidMount(),this.context.map.addInteraction(this.ol)}componentWillUnmount(){super.componentWillUnmount(),this.context.map.removeInteraction(this.ol)}render(){var e,t;if(!(null===(t=null===(e=this.context)||void 0===e?void 0:e.map)||void 0===t?void 0:t.addInteraction))throw new Error("An interaction must be part of a map");return null===this.ol&&(this.ol=this.createOL(this.props)),super.render()}}ve.classProps=[];const fe=ve;class me extends fe{}me.classProps=["handleDownEvent","handleDragEvent","handleMoveEvent","handleUpEvent"];const ye=me;var ge=s(422);class xe extends ye{createOL(e){return this.classProps=xe.classProps,new ge.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}xe.classProps=["className","condition","minArea","boxEndCondition"];const we=xe;var Pe=s(4458);class Ae extends ye{createOL(e){return this.classProps=Ae.classProps,new Pe.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Ae.classProps=["features","layers","filter","hitTolerance"];const Se=Ae;var be=s(9964);class Ee extends ye{createOL(e){var t;if(!(null===(t=null==this?void 0:this.context)||void 0===t?void 0:t.vectorsource))throw new Error("A Draw interaction must be part of a vector layer");return this.classProps=Ee.classProps,new be.Ay({type:e.type,source:this.context.vectorsource,...Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{})})}}Ee.classProps=["condition","finishCondition","freehandCondition","style","stopClick","maxPoints","minPoints","snapTolerance"];const Oe=Ee;var Re=s(9132);class Le extends ye{createOL(e){var t;if(!(null===(t=null==this?void 0:this.context)||void 0===t?void 0:t.vectorsource))throw new Error("A Modify interaction must be part of a vector layer");return this.classProps=Le.classProps,new Re.A({source:this.context.vectorsource,...Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{})})}}Le.classProps=["condition","deleteCondition","insertVertexCondition","style","pixelTolerance","hitDetection"];const ke=Le;var je=s(6068);class Ue extends fe{createOL(e){return this.classProps=Ue.classProps,new je.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Ue.classProps=["duration","delta"];var Ce=s(4473);class Fe extends fe{createOL(e){return this.classProps=Fe.classProps,new Ce.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Fe.classProps=["condition","kinetic"];var De=s(4051);class ze extends fe{createOL(e){return this.classProps=ze.classProps,new De.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}ze.classProps=["condition","duration"];var Me=s(4423);class Te extends fe{createOL(e){return this.classProps=Te.classProps,new Me.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Te.classProps=["className","condition","duration","out","minArea"];var Ie=s(8751);class _e extends fe{createOL(e){return this.classProps=_e.classProps,new Ie.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}_e.classProps=["condition","maxDelta","duration","useAnchor","constrainResolution"];var Ne=s(3711);class He extends fe{createOL(e){return this.classProps=He.classProps,new Ne.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}He.classProps=["threshold","duration"];var We=s(5243);class Ve extends fe{createOL(e){return this.classProps=Ve.classProps,new We.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Ve.classProps=["duration"];var Xe=s(9888);class Be extends fe{createOL(e){return this.classProps=Be.classProps,new Xe.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Be.classProps=["condition","duration","pixelDelta"];var Ge=s(6856);class Ze extends fe{createOL(e){return this.classProps=Ze.classProps,new Ge.A(Object.keys(e).filter((e=>this.classProps.includes(e))).reduce(((t,s)=>({...t,[s]:e[s]})),{}))}}Ze.classProps=["condition","duration","delta"];var Ye=s(1795);class qe extends i.o{constructor(e){super(e),this.ol=new Ye.A({autoPan:e.autoPan,offset:e.offset,positioning:e.positioning}),this.containerRef=l.createRef()}setPosition(){var e;if(this.ol.setPosition(this.context.location),this.props.autoPosition&&(null===(e=this.containerRef)||void 0===e?void 0:e.current)){this.containerRef.current.style.position="absolute";const e=this.context.map.getPixelFromCoordinate(this.context.location),t=this.context.map.getSize();e[0]>t[0]/2?(this.containerRef.current.style.left=null,this.containerRef.current.style.right="0px"):(this.containerRef.current.style.left="0px",this.containerRef.current.style.right=null),e[1]>t[1]/2?(this.containerRef.current.style.top=null,this.containerRef.current.style.bottom="0px"):(this.containerRef.current.style.top="0px",this.containerRef.current.style.bottom=null)}}refresh(e){super.refresh(e),this.ol.setElement(this.containerRef.current),this.setPosition(),this.props.offset!==(null==e?void 0:e.offset)&&this.ol.setOffset(this.props.offset),this.props.positioning!==(null==e?void 0:e.positioning)&&this.ol.setPositioning(this.props.positioning)}componentDidMount(){super.componentDidMount(),this.context.map.addOverlay(this.ol)}componentWillUnmount(){super.componentWillUnmount(),this.context.map.removeOverlay(this.ol)}render(){var e;if(!(null===(e=this.context)||void 0===e?void 0:e.location))throw new Error("An overlay must be part of a location provider (ie RFeature)");return this.setPosition(),l.createElement("div",{className:"_rlayers_ROverlay"},l.createElement("div",{ref:this.containerRef,className:this.props.className,onClick:this.props.onClick},this.props.children))}}class Je extends qe{}class $e extends qe{constructor(e){super(e),this.toggle=()=>{this.visible=!this.visible,this.setPosition()},this.show=()=>{var e,t;this.showing||(this.hiding&&window.clearTimeout(this.hiding),this.showing=window.setTimeout((()=>{this.visible=!0,this.setPosition(),this.hiding=this.showing=void 0}),null!==(t=null===(e=this.props.delay)||void 0===e?void 0:e.show)&&void 0!==t?t:250))},this.hide=()=>{var e,t;this.hiding||(this.showing&&window.clearTimeout(this.showing),this.hiding=window.setTimeout((()=>{this.visible=!1,this.setPosition(),this.hiding=this.showing=void 0}),null!==(t=null===(e=this.props.delay)||void 0===e?void 0:e.hide)&&void 0!==t?t:50))},this.visible=!1}componentWillUnmount(){super.componentWillUnmount(),this.unregister()}setPosition(){this.ol.setPosition(this.visible?this.context.location:void 0)}unregister(e){if(e)switch(e.trigger){default:case"click":this.context.rFeature.un("click",this.toggle);break;case"hover":this.context.rFeature.un("pointerenter",this.show),this.context.rFeature.un("pointerhide",this.hide)}}refresh(e){if(this.ol.setElement(this.containerRef.current),(null==e?void 0:e.trigger)!==this.props.trigger)switch(this.unregister(e),this.props.trigger){default:case"click":"hover"===(null==e?void 0:e.trigger)&&(this.context.rFeature.un("pointerenter",this.show),this.context.rFeature.un("pointerhide",this.hide)),this.context.rFeature.on("click",this.toggle);break;case"hover":"click"===(null==e?void 0:e.trigger)&&this.context.rFeature.un("click",this.toggle),this.context.rFeature.on("pointerenter",this.show),this.context.rFeature.on("pointerleave",this.hide)}this.setPosition()}}var Ke=s(5213);class Qe extends i.o{constructor(e){super(e),this.ol=null}render(){var e,t;if(!(null===(e=null==this?void 0:this.context)||void 0===e?void 0:e.map))throw new Error("A Geolocation must be part of a map");if(null===this.ol){const e=null!==(t=this.props.projection)&&void 0!==t?t:this.context.map.getView().getProjection();this.ol=new Ke.A({...this.props,projection:e})}return super.render()}}},7248:(e,t,s)=>{s.d(t,{E:()=>n,o:()=>l});var r=s(6540),o=s(2627),i=s(1443);const n="_rlayers_handlers";class l extends r.PureComponent{static getOLObject(e,t){let s=t.get(e);return void 0===s&&(s={},t.set(e,s)),s}get handlers(){return l.getOLObject(n,this.ol)}getCurrentEvents(){return Object.keys(this.props).filter((e=>e.startsWith("on"))).map((e=>({event:e.toLowerCase().slice(2),prop:e}))).reduce(((e,t)=>({...e,[t.event]:this.props[t.prop]})),{})}getHandlerProp(e){for(const t of Object.keys(this.props))if(t.toLowerCase()==="on"+e)return t}incrementHandlers(e){}decrementHandlers(e){}attachEventHandlers(){var e;const t=this.handlers,s=Object.keys(null!=t?t:{}),r=null!==(e=this.eventSources)&&void 0!==e?e:[this.ol],o=this.getCurrentEvents(),n=Object.keys(o),l=n.concat(s.filter((e=>!n.includes(e))));for(const e of l){if(void 0!==t[e]&&void 0===o[e]){(0,i.A)("removing previously installed handler",this,e,t[e]);for(const s of r)s.un(e,t[e]);t[e]=void 0,this.decrementHandlers(e)}if(void 0===t[e]&&void 0!==o[e]){(0,i.A)("installing handler",this,e,o[e]);const s=this.getHandlerProp(e);if(!s)throw new Error("Internal error");t[e]=e=>((0,i.A)("handling event",e,this,this.props[s]),this.props[s].call(this,e));for(const s of r)s.on(e,t[e]);this.incrementHandlers(e)}}}attachOldEventHandlers(e){const t=this.handlers,s=this.getCurrentEvents();for(const r of Object.keys(s))s[r]&&((0,i.A)("reinstalling existing handler",this,r,s[r]),e.on(r,t[r]))}refresh(e){this.attachEventHandlers()}on(e,t){this.ol.on(e,t),this.incrementHandlers(e)}un(e,t){this.decrementHandlers(e),this.ol.un(e,t)}componentDidMount(){(0,i.A)("didMount",this),this.refresh()}propsDiff(e){if(null===this.props||null===e)return this.props!==e&&((0,i.A)("null props differ",this.props,e),!0);for(const t of Object.keys(this.props))if(this.props[t]!==e[t])return(0,i.A)("because of",t,this.props[t],e[t]),!0;return!1}componentDidUpdate(e,t,s){this.props!==e&&((0,i.A)("willRefresh",this,e,this.props),this.refresh(e))}componentWillUnmount(){var e;const t=this.handlers;(0,i.A)("willUnmount",this,t);const s=null!==(e=this.eventSources)&&void 0!==e?e:[this.ol];for(const e of Object.keys(null!=t?t:{}))if((0,i.A)("cleaning up handler",this,e,t[e]),t[e]){for(const r of s)r.un(e,t[e]);t[e]=void 0,this.decrementHandlers(e)}}render(){return null}}l.contextType=o.aU}}]);