@geoimpact/sep-map-sdk 1.0.18 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sep-map.esm.js +1 -1
- package/dist/sep-map.esm.js.map +1 -1
- package/dist/sep-map.js +1 -1
- package/dist/sep-map.js.map +1 -1
- package/dist/sep-map.umd.js +1 -1
- package/dist/sep-map.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/sep-map.esm.js
CHANGED
|
@@ -35,7 +35,7 @@ return F.jsxs("div",{className:`sep-layer-control sep-layer-control--${t}`,child
|
|
|
35
35
|
/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-name",children:n(e.name)||e.name}),e.description&&/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-desc",children:n(e.description)||e.description})]})]},e.id))}),"overlay"===a&&/* @__PURE__ */F.jsxs("div",{className:"sep-layer-control__list",children:[p.map(e=>/* @__PURE__ */F.jsxs("label",{className:"sep-layer-control__item "+(h[e.id]?"active":""),children:[
|
|
36
36
|
/* @__PURE__ */F.jsx("input",{type:"checkbox",checked:h[e.id]??!1,onChange:()=>d(e.id)}),
|
|
37
37
|
/* @__PURE__ */F.jsxs("span",{className:"sep-layer-control__item-content",children:[
|
|
38
|
-
/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-name",children:n(e.name)||e.name}),e.description&&/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-desc",children:n(e.description)||e.description})]})]},e.id)),0===p.length&&/* @__PURE__ */F.jsx("div",{className:"sep-layer-control__empty",children:n("layers.noOverlays")})]})]})]})]})});function ci({perimeterService:e,addressService:t,onPerimeterClick:i,onAddressClick:n,onMapReady:r,enableAddressClick:o=!1,enablePerimeterClick:a=!0,paused:s=!1}){const l=k.useRef(i),c=k.useRef(n),u=k.useRef(e),h=k.useRef(t),d=k.useRef(r),p=k.useRef(s);k.useEffect(()=>{l.current=i},[i]),k.useEffect(()=>{c.current=n},[n]),k.useEffect(()=>{u.current=e},[e]),k.useEffect(()=>{h.current=t},[t]),k.useEffect(()=>{d.current=r},[r]),k.useEffect(()=>{p.current=s},[s]);const f=function(e){const t=oi();return k.useEffect(function(){return t.on(e),function(){t.off(e)}},[t,e]),t}({click:async e=>{if(p.current)return;const{lat:t,lng:i}=e.latlng;if(o&&h.current&&c.current)try{const e=await h.current.getByCoordinates(t,i);if(e)return void c.current(e)}catch(n){}if(a&&l.current)try{const e=await u.current.getClosest(t,i,.1);e&&l.current(e)}catch(n){}}});return k.useEffect(()=>{d.current?.(f)},[f]),null}const ui=/* @__PURE__ */new WeakMap;function hi(e){if(e&&"object"==typeof e)return ui.get(e)?.layerManager}function di({layers:e}){const t=oi(),{setLayerManager:i}=Tt(),n=k.useRef(!1),{initialize:r}=e;return k.useEffect(()=>{n.current||(n.current=!0,r(t))},[t,r]),k.useEffect(()=>{e.layerManager&&(i(e.layerManager),function(e,t){const i=ui.get(e)||{};ui.set(e,{...i,layerManager:t})}(t,e.layerManager))},[e.layerManager,i,t]),null}function pi(){const e=oi(),{setMap:t}=St();return k.useEffect(()=>(t(e),()=>{t(null)}),[e,t]),null}function fi({attribution:e}){const t=oi();return k.useEffect(()=>{if(!t.attributionControl)return;const i=t.attributionControl,n=i._update;i._update=function(){if(!this._map)return;const e=[];for(const i in this._attributions)this._attributions[i]&&e.push(i);const t=this.options.prefix;this._container.innerHTML=(t?t+" | ":"")+e.join(" | ")},i._update();if(e)if("string"==typeof e)t.attributionControl.setPrefix(""),t.attributionControl.setPosition("bottomleft"),t.attributionControl.addAttribution(e);else{const i=e.position||"bottomleft",n=void 0===e.prefix?"":e.prefix;t.attributionControl.setPosition(i),!1===n?t.attributionControl.setPrefix(""):t.attributionControl.setPrefix(n),t.attributionControl.addAttribution(e.text)}else t.attributionControl.setPrefix(""),t.attributionControl.setPosition("bottomleft"),t.attributionControl.addAttribution('<a href="https://www.
|
|
38
|
+
/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-name",children:n(e.name)||e.name}),e.description&&/* @__PURE__ */F.jsx("span",{className:"sep-layer-control__item-desc",children:n(e.description)||e.description})]})]},e.id)),0===p.length&&/* @__PURE__ */F.jsx("div",{className:"sep-layer-control__empty",children:n("layers.noOverlays")})]})]})]})]})});function ci({perimeterService:e,addressService:t,onPerimeterClick:i,onAddressClick:n,onMapReady:r,enableAddressClick:o=!1,enablePerimeterClick:a=!0,paused:s=!1}){const l=k.useRef(i),c=k.useRef(n),u=k.useRef(e),h=k.useRef(t),d=k.useRef(r),p=k.useRef(s);k.useEffect(()=>{l.current=i},[i]),k.useEffect(()=>{c.current=n},[n]),k.useEffect(()=>{u.current=e},[e]),k.useEffect(()=>{h.current=t},[t]),k.useEffect(()=>{d.current=r},[r]),k.useEffect(()=>{p.current=s},[s]);const f=function(e){const t=oi();return k.useEffect(function(){return t.on(e),function(){t.off(e)}},[t,e]),t}({click:async e=>{if(p.current)return;const{lat:t,lng:i}=e.latlng;if(o&&h.current&&c.current)try{const e=await h.current.getByCoordinates(t,i);if(e)return void c.current(e)}catch(n){}if(a&&l.current)try{const e=await u.current.getClosest(t,i,.1);e&&l.current(e)}catch(n){}}});return k.useEffect(()=>{d.current?.(f)},[f]),null}const ui=/* @__PURE__ */new WeakMap;function hi(e){if(e&&"object"==typeof e)return ui.get(e)?.layerManager}function di({layers:e}){const t=oi(),{setLayerManager:i}=Tt(),n=k.useRef(!1),{initialize:r}=e;return k.useEffect(()=>{n.current||(n.current=!0,r(t))},[t,r]),k.useEffect(()=>{e.layerManager&&(i(e.layerManager),function(e,t){const i=ui.get(e)||{};ui.set(e,{...i,layerManager:t})}(t,e.layerManager))},[e.layerManager,i,t]),null}function pi(){const e=oi(),{setMap:t}=St();return k.useEffect(()=>(t(e),()=>{t(null)}),[e,t]),null}function fi({attribution:e}){const t=oi();return k.useEffect(()=>{if(!t.attributionControl)return;const i=t.attributionControl,n=i._update;i._update=function(){if(!this._map)return;const e=[];for(const i in this._attributions)this._attributions[i]&&e.push(i);const t=this.options.prefix;this._container.innerHTML=(t?t+" | ":"")+e.join(" | ")},i._update();if(e)if("string"==typeof e)t.attributionControl.setPrefix(""),t.attributionControl.setPosition("bottomleft"),t.attributionControl.addAttribution(e);else{const i=e.position||"bottomleft",n=void 0===e.prefix?"":e.prefix;t.attributionControl.setPosition(i),!1===n?t.attributionControl.setPrefix(""):t.attributionControl.setPrefix(n),t.attributionControl.addAttribution(e.text)}else t.attributionControl.setPrefix(""),t.attributionControl.setPosition("bottomleft"),t.attributionControl.addAttribution('<a href="https://www.swissenergyplanning.ch/impressum" target="_blank">Impressum</a> | <a href="https://www.swissenergyplanning.ch/" target="_blank">©SEP</a> by <a href="https://geoimpact.ch/" target="_blank">geoimpact</a>');return()=>{i._update=n,i._map&&i._update()}},[t,e]),null}const mi=k.memo(function({onReady:e,onPerimeterClick:t,onAddressClick:i,layersConfig:n,showLayerControl:r=!0,layerControlPosition:o,children:a}){const{config:s,services:l,clickEventsPaused:c}=Tt(),u=o||s.ui?.layerControlPosition||"top-right",h=function(e={}){const{config:t,onLayerChange:i,theme:n="light"}=e,r=k.useRef(null),[o,a]=k.useState(null),[s,l]=k.useState(null),[c,u]=k.useState({}),h=k.useMemo(()=>(t?.availableBaseLayers||["swisstopo-satellite","swisstopo-color","swisstopo-grey","osm-standard"]).map(e=>"string"==typeof e?Kt[e]:{id:e.id,name:e.name,config:e}).filter(Boolean),[t?.availableBaseLayers]),d=k.useMemo(()=>(t?.availableOverlays||["swisstopo-cadastral","swisstopo-streets","swisstopo-addresses","swisstopo-vector"]).map(e=>"string"==typeof e?Kt[e]:{id:e.id,name:e.name,config:e}).filter(Boolean),[t?.availableOverlays]),p=k.useCallback(e=>{const i=new ei(t);i.updateTheme(n),i.initialize(e),r.current=i,a(i);const o=i.getBaseLayerId();l(o);const s={};d.forEach(e=>{s[e.id]=i.isLayerVisible(e.id)}),u(s)},[t,d,n]),f=k.useCallback(e=>{if(!r.current)return;r.current.setBaseLayer(e);const t="string"==typeof e?e:e.id;l(t),i?.(t,!0)},[i]),m=k.useCallback(e=>{if(!r.current)return;const t=!c[e];r.current.getLayerConfig(e)||r.current.addLayer(e,"overlaysPane"),r.current.setLayerVisibility(e,t),u(i=>({...i,[e]:t})),i?.(e,t)},[c,i]),g=k.useCallback((e,t)=>{r.current&&(r.current.getLayerConfig(e)||r.current.addLayer(e,"overlaysPane"),r.current.setLayerVisibility(e,t),u(i=>({...i,[e]:t})),i?.(e,t))},[i]),_=k.useCallback(e=>{r.current&&(r.current.addLayer(e),"overlay"===e.category&&u(t=>({...t,[e.id]:!1!==e.visible})))},[]),y=k.useCallback(e=>{r.current&&(r.current.removeLayer(e),u(t=>{const i={...t};return delete i[e],i}))},[]),v=k.useCallback((e,t)=>{r.current&&r.current.setLayerOpacity(e,t)},[]);return k.useEffect(()=>()=>{r.current?.destroy(),r.current=null},[]),{layerManager:o,initialize:p,baseLayerId:s,setBaseLayer:f,availableBaseLayers:h,overlayStates:c,toggleOverlay:m,setOverlayVisibility:g,availableOverlays:d,addCustomLayer:_,removeLayer:y,setOpacity:v}}({config:n,theme:s.ui?.theme||"light",onLayerChange:(e,t)=>{}}),d=s.map||{};/* @__PURE__ */
|
|
39
39
|
return F.jsxs("div",{className:"sep-map-view",children:[
|
|
40
40
|
/* @__PURE__ */F.jsxs(si,{center:d.center||[46.8,8.2],zoom:d.zoom||8,minZoom:d.minZoom||7,maxZoom:d.maxZoom||21,maxBounds:d.maxBounds||[[45.817995,5.95608],[47.808455,10.49203]],zoomControl:!1,doubleClickZoom:!1,attributionControl:!0,className:"sep-map-view__container",children:[
|
|
41
41
|
/* @__PURE__ */F.jsx(pi,{}),
|