@defra/interactive-map 0.0.48-alpha → 0.0.48-fmp-2
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/esm/im-core.js +1 -1
- package/dist/umd/im-core.js +1 -1
- package/package.json +1 -1
- package/plugins/datasets/dist/esm/esriLayerAdapter.js +1 -1
- package/plugins/datasets/dist/esm/im-datasets-plugin.js +1 -1
- package/plugins/datasets/dist/umd/im-datasets-esri-adapter.js +1 -1
- package/plugins/datasets/dist/umd/im-datasets-plugin.js +1 -1
- package/plugins/datasets/src/adapters/esri/esriLayerAdapter.js +42 -9
- package/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js +42 -4
- package/plugins/datasets/src/registry/datasetRegistry.js +6 -6
- package/plugins/map-key/dist/esm/im-map-key-plugin.js +1 -1
- package/plugins/map-key/dist/umd/im-map-key-plugin.js +1 -1
- package/plugins/map-key/dist/umd/index.js +1 -1
- package/plugins/map-key/src/api/addSymbol.js +3 -0
- package/plugins/map-key/src/api/addSymbol.test.js +14 -0
- package/plugins/map-key/src/api/index.js +7 -0
- package/plugins/map-key/src/api/index.test.js +13 -0
- package/plugins/map-key/src/api/removeSymbol.js +3 -0
- package/plugins/map-key/src/api/removeSymbol.test.js +14 -0
- package/plugins/map-key/src/components/Key/MapKey.jsx +11 -3
- package/plugins/map-key/src/initialise/MapKeyInit.jsx +18 -3
- package/plugins/map-key/src/initialise/MapKeyInit.test.jsx +44 -8
- package/plugins/map-key/src/manifest.js +5 -1
- package/plugins/map-key/src/reducers/mergeKeyGroupItems.js +68 -0
- package/plugins/map-key/src/reducers/mergeKeyGroupItems.test.js +91 -0
- package/plugins/map-key/src/reducers/pluginState.js +68 -0
- package/plugins/map-key/src/reducers/pluginState.test.js +82 -0
- package/src/App/hooks/useLayoutMeasurements.js +10 -5
- package/src/App/hooks/useLayoutMeasurements.test.js +28 -9
- package/plugins/map-key/src/utils/mergeKeyGroupItems.js +0 -12
- package/plugins/map-key/src/utils/mergeKeyGroupItems.test.js +0 -53
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@arcgis/core/layers/VectorTileLayer.js";import
|
|
1
|
+
import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@arcgis/core/layers/VectorTileLayer.js";import i from"@arcgis/core/layers/FeatureLayer.js";import t from"@arcgis/core/layers/GroupLayer.js";import{g as a,L as s}from"./im-datasets-ml-adapter.js";import{D as l,d as y,l as o}from"./im-datasets-plugin.js";import"@babel/runtime/helpers/defineProperty";import"preact/compat";import"preact/jsx-runtime";class n extends l{applyLayerPaintProperties(e){var{mapStyle:r}=y;return this.hasStroke&&(e["line-color"]=a(this.style.stroke,r.id)),this.hasFill&&(e["fill-color"]=a(this.style.fill,r.id)),e}get esriGroupId(){var e;return void 0===this._datasetDefinition.esriGroupId?null===(e=this.parent)||void 0===e?void 0:e.esriGroupId:this._datasetDefinition.esriGroupId}get useServerStyle(){return Boolean(this._datasetDefinition.esriUseServerStyle)}get renderer(){var e,r,i,t;if("FeatureService"===this.type){var s=(null===(e=this._datasetDefinition.style)||void 0===e?void 0:e.renderer)||(null===(r=this.parent)||void 0===r?void 0:r.renderer);if(s){var{mapStyle:l}=y,o=structuredClone(s);return null!==(i=o.symbol)&&void 0!==i&&i.color&&(o.symbol.color=a(o.symbol.color,l.id)),null!==(t=o.symbol)&&void 0!==t&&null!==(t=t.outline)&&void 0!==t&&t.color&&(o.symbol.outline.color=a(o.symbol.outline.color,l.id)),o}}}}var p=e=>{var r;if("baseLayer"===e.id)return-1/0;if(e.id.includes("ketchLayer"))return 1/0;var i="group"===e.type?null===(r=e.layers)||void 0===r||null===(r=r.items)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.id:e.id;return y._orderedDatasets.indexOf(i)};class d extends s{constructor(e){super(),this.ready=new Promise(e=>{this.resolveReady=e}),this._mapProvider=e,this._map=e.map,this._mapVisibilityLayers={},this._mapOpacityLayers={},this._groupLayers={}}createDataset(e){return new n(e)}init(){var r=this;return e(function*(){var i=y.topLevelDatasets(),t=function(){var i=e(function*(e){return r._addLayers(e).then(()=>{var i,t=r._mapVisibilityLayers[e.id];null===(i=e.sublayers)||void 0===i||i.forEach(e=>{"visible"===e.visibility&&r._applyStyleLayerPaintProperties(e,t)}),r.applyDatasetVisibility(e.id)})});return function(e){return i.apply(this,arguments)}}();for(var a of i)"visible"===a.visibility&&(yield t(a));for(var s of i)"visible"!==s.visibility&&(yield t(s));yield r.onMapStyleChange(),yield r.applyGlobalOpacity(),yield Promise.all(i.map(e=>r.applyDatasetVisibility(e.id))),r._reorderLayers(),r.resolveReady()})()}_reorderLayers(){var e,r=null===(e=this._map)||void 0===e||null===(e=e.allLayers)||void 0===e?void 0:e.items;null!=r&&r.length&&[...r.filter(e=>{var r;return"group"!==(null===(r=e.parent)||void 0===r?void 0:r.type)})].sort((e,r)=>p(e)-p(r)).forEach((e,r)=>this._map.reorder(e,r))}_addGroupLayer(e){if(!this._groupLayers[e]){var r=new t({id:e,opacity:1,visible:!0});this._groupLayers[e]=r,this._map.add(r)}return this._groupLayers[e]}_addFeatureLayers(r){var t=this;return e(function*(){var e=new i({id:r.id,url:r.tiles,renderer:r.renderer,opacity:1,visible:!1});t._mapVisibilityLayers[r.id]=e,t._mapOpacityLayers[r.id]=e;try{return t._map.add(e),e.when()}catch(e){o.error("Error adding FeatureLayer for dataset ".concat(r.id,":"),e)}return null})()}_addLayers(i){var t=this;return e(function*(){var{type:e,esriGroupId:a,tiles:s}=i;if(!s)return null;if("FeatureService"===e)return t._addFeatureLayers(i);var l=a?t._addGroupLayer(a):t._map,y=new r({id:i.id,url:i.tiles,opacity:1,visible:!1});return t._mapVisibilityLayers[i.id]=y,t._mapOpacityLayers[i.id]=a?l:y,l.add(y),y.when()})()}addDataset(r){var i=this;return e(function*(){var e=y.getDataset(r);if(e){yield i._addLayers(e);var{parentId:t}=e,a=i._mapVisibilityLayers[t||r];i._reorderLayers(),i.applyDatasetOpacity(r),i._applyStyleLayerPaintProperties(e,a),i.applyDatasetVisibility(r)}else o.warn("addDataset called, but Dataset with id ".concat(r," not found in registry"))})()}removeDataset(r){var i=this;return e(function*(){var e=y.getDataset(r);if(e){var{esriGroupId:t}=e,a=i._mapVisibilityLayers[r],s=t?i._groupLayers[t]:null,l=s||i._map;a&&(l.remove(a),delete i._mapVisibilityLayers[r],delete i._mapOpacityLayers[r]),0===(null==s?void 0:s.layers.length)&&(i._map.remove(s),delete i._groupLayers[t])}})()}_applyRegistryDatasetVisibility(e){var{id:r,isSublayer:i,parentId:t}=e,a="visible"===e.visibility,s=this._mapVisibilityLayers[i?t:r];s&&(i?this._applyStyleLayerVisibility(e,s):(a&&e.sublayers.forEach(e=>this._applyStyleLayerVisibility(e,s)),s.visible=a))}applyDatasetVisibility(r){var i=this;return e(function*(){var e=y.getDataset(r);e&&i._applyRegistryDatasetVisibility(e)})()}applyGlobalVisibility(){var r=this;return e(function*(){y.forEachDataset(e=>r._applyRegistryDatasetVisibility(e))})()}applyDatasetOpacity(r){var i=this;return e(function*(){var e=i._mapOpacityLayers[r],t=y.getDataset(r);e&&t&&(e.opacity=t.opacity)})()}applyGlobalOpacity(){var r=this;return e(function*(){Object.entries(r._mapOpacityLayers).forEach(e=>{var[r,i]=e,t=y.getDataset(r);t&&(i.opacity=t.opacity)})})()}_applyStyleLayerVisibility(e,r){var{esriStyleLayerId:i}=e;i&&r&&this.ready.then(()=>{r.setStyleLayerVisibility(i,e.visibility)})}_applyStyleLayerPaintProperties(e,r){var{esriStyleLayerId:i,useServerStyle:t}=e;if(!t&&i&&r){var a=r.getPaintProperties(i);a&&r.setPaintProperties(i,e.applyLayerPaintProperties(a))}}onMapStyleChange(){var r=this;return e(function*(){y.forEach(e=>{var{id:i,isSublayer:t,parent:a}=e,s=r._mapVisibilityLayers[t?a.id:i];"FeatureService"===e.type?s.renderer=e.renderer:(r._applyStyleLayerVisibility(e,s),r._applyStyleLayerPaintProperties(e,s))})})()}onMapSizeChange(){return e(function*(){})()}applyFeatureFilter(){var r=arguments;return e(function*(){for(var e=r.length,i=new Array(e),t=0;t<e;t++)i[t]=r[t];console.log("TODO: applyFeatureFilter",i)})()}setData(){var r=arguments;return e(function*(){for(var e=r.length,i=new Array(e),t=0;t<e;t++)i[t]=r[t];console.log("TODO: setData",i)})()}applyStyle(){var r=arguments;return e(function*(){for(var e=r.length,i=new Array(e),t=0;t<e;t++)i[t]=r[t];console.log("TODO: applyStyle",i)})()}}export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useEffect as e,useRef as t}from"preact/compat";import{jsx as a,jsxs as r,Fragment as i}from"preact/jsx-runtime";import s from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/asyncToGenerator";function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var d=e=>{var{datasets:t=[]}=e,a=[],r=t.filter(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))}),i=new Map;return r.forEach(e=>{var t;if(null!==(t=e.sublayers)&&void 0!==t&&t.length){var r=e.sublayers.filter(t=>e.showInMenu?!1!==t.showInMenu:t.showInMenu);if(!1===e.showInMenu&&!r.length)return;var s={id:e.id,groupLabel:e.label,visibleWhen:!0,type:"checkbox",items:r.map(t=>({id:"".concat(e.id,"-").concat(t.id),label:t.label}))};0===s.items.length&&(delete s.groupLabel,s.items.push({id:e.id,label:e.label})),a.push(s)}else if(e.groupLabel){var n=i.has(e.groupLabel)?i.get(e.groupLabel):{id:e.groupLabel,groupLabel:e.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};i.has(e.groupLabel)||(i.set(e.groupLabel,n),a.push(n)),n.items.push({id:e.id,label:e.label})}else a.push({visibleWhen:!0,type:"checkbox",id:e.id,items:[{id:e.id,label:e.label}]})}),a},p=(e,t)=>e.reduce((e,a)=>{var r=a.items.filter(e=>!t.includes(e.id));return r.length&&e.push(l(l({},a),{},{items:r})),e},[]);function u(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function c(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?u(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):u(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var y={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},h=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],v=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],b=e=>v.some(t=>t in e);function m(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function f(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?m(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):m(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var g=(e,t)=>{var a,{id:r}=t,i=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=c(c(c({},y),e),{},{style:c(c({},y.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&b(a)&&delete t.style.symbolDescription,h.forEach(e=>delete t[e]),t})(t);t.parentId&&("showInKey"in t||delete i.showInKey,"showInMenu"in t||delete i.showInMenu),e[r]=i;var{orderedDatasets:s}=e;s.push(r);var n=null===(a=t.sublayers)||void 0===a?void 0:a.map(e=>((e,t)=>{var a="".concat(e,"-").concat(t.id),r=t.id;return"hidden"!==t.visibility&&(t.visibility="visible"),f(f({},t),{},{id:a,parentId:e,sublayerId:r})})(r,e));if(null!=n&&n.length){var o=null==n?void 0:n.map(e=>e.id),l=null==n?void 0:n.reduce(g,{orderedDatasets:s});return e[r].sublayerIds=o,delete e[r].sublayers,f(f(f({},e),l),{},{orderedDatasets:s})}return f(f({},e),{},{orderedDatasets:s})},D=e=>{var t=(e.datasets||[]).reduce(g,{orderedDatasets:[]}),{orderedDatasets:a}=t;return delete t.orderedDatasets,f(f({},e),{},{mappedDatasets:t,orderedDatasets:a})},S="[interactive-map]",_={warn:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.warn(S,...t)},error:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.error(S,...t)}};function O(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function P(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?O(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):O(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var A=function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"not found";return!!e.mappedDatasets[t]||(_.error("".concat(a,": Dataset with id '").concat(t,"' ").concat(r)),!1)},E=0,I=(e,t,a)=>(E=a.actionsArray.length?E+1:0,P(P({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:E}]})),M={SET_DATASETS:(e,t)=>{var{mappedDatasets:a,orderedDatasets:r}=t;return P(P({},e),{},{mappedDatasets:a,orderedDatasets:r})},ADD_DATASET:(e,t)=>{var{dataset:a,mapStyle:r}=t;if(e.mappedDatasets[a.id])return _.error("addDataset: Dataset with id '".concat(a.id,"' already exists")),e;var{mappedDatasets:i,orderedDatasets:s}=D({datasets:[a]}),n=((e,t)=>{var a=[...e.menu],r=d({datasets:[t]}),i=a.find(e=>e.groupLabel===r[0].groupLabel);return i?i.items.push(...r[0].items):a.push(...r),a})(e,a);return I("addDataset",[a.id,r],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),i),orderedDatasets:[...e.orderedDatasets,...s],menu:n}))},REMOVE_DATASET:(e,t)=>{var a,{id:r}=t;if(!A(e,r,"removeDataset"))return e;var i=P({},e.mappedDatasets),s=[r,...(null===(a=i[r])||void 0===a?void 0:a.sublayerIds)||[]];s.forEach(e=>delete i[e]);var n=e.orderedDatasets.filter(e=>!s.includes(e));return P(P({},e),{},{mappedDatasets:i,orderedDatasets:n,menu:p(e.menu,s)})},SET_DATASET_VISIBILITY:(e,t)=>{var{datasetId:a,visible:r}=t;return A(e,a,"setDatasetVisibility")?e.mappedDatasets[a].visible===r?e:I("applyDatasetVisibility",[a,r],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:P(P({},e.mappedDatasets[a]),{},{visible:r})})})):e},SET_GLOBAL_VISIBILITY:(e,t)=>{var{visible:a}=t;return I("applyGlobalVisibility",[a],P(P({},e),{},{globals:P(P({},e.globals),{},{visible:a})}))},SET_DATASET_STYLE:(e,t)=>{var{datasetId:a,styleChanges:r,mapStyle:i}=t;if(!A(e,a,"setDatasetStyle"))return e;var s=P(P({},e.mappedDatasets[a].style),r),n=P(P(P({},e.mappedDatasets[a]),r),{},{style:s});return I("applyStyle",[a,i],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:n})}))},SET_OPACITY:(e,t)=>{var{datasetId:a,opacity:r}=t;if(!A(e,a,"setOpacity"))return e;var i=P(P({},e.mappedDatasets[a].style),{},{opacity:r}),s=P(P({},e.mappedDatasets[a]),{},{style:i});return I("applyDatasetOpacity",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:s})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return I("applyGlobalOpacity",[],P(P({},e),{},{globals:P(P({},e.globals),{},{opacity:a})}))},HIDE_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - hideFeatures"))return e;var i=P({},e.mappedDatasets[a]),s=i.hiddenFeatures||[],n=Array.from(new Set([...s,...r]));return i.hiddenFeatures=n,I("applyFeatureFilter",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:i})}))},SHOW_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - showFeatures"))return e;var i=P({},e.mappedDatasets[a]),s=(i.hiddenFeatures||[]).filter(e=>!r.includes(e));return i.hiddenFeatures=s.length?s:[-1],I("applyFeatureFilter",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:i})}))},REMOVE_ADAPTER_ACTIONS:(e,t)=>null!=t&&t.length?P(P({},e),{},{actionsArray:e.actionsArray.filter(e=>!t.includes(e))}):e,SET_GLOBAL_STATE:(e,t)=>I("applyGlobalOpacity",[],P(P({},e),{},{globals:P(P({},e.globals),t)})),SET_MENU:(e,t)=>{var{menu:a}=t;return P(P({},e),{},{menu:a})}},T={APP_ADD_MARKER:"app:addmarker",APP_UPDATE_MARKER:"app:updatemarker",APP_REMOVE_MARKER:"app:removemarker",APP_SET_MODE:"app:setmode",APP_REVERT_MODE:"app:revertmode",APP_ADD_BUTTON:"app:addbutton",APP_TOGGLE_BUTTON_STATE:"app:togglebuttonstate",APP_ADD_PANEL:"app:addpanel",APP_REMOVE_PANEL:"app:removepanel",APP_SHOW_PANEL:"app:showpanel",APP_HIDE_PANEL:"app:hidepanel",APP_ADD_CONTROL:"app:addcontrol",APP_SHOW_HINT:"app:showhint",APP_DISMISS_HINT:"app:dismisshint",APP_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",APP_FULLSCREEN_CHANGE:"app:fullscreenchange",APP_PANEL_OPENED:"app:panelopened",APP_PANEL_CLOSED:"app:panelclosed",MAP_SET_STYLE:"map:setstyle",MAP_SET_SIZE:"map:setsize",MAP_SET_SPATIAL_LIST:"map:setspatiallist",MAP_SET_SPATIAL_LIST_SUPPRESSED:"map:setspatiallistsuppressed",MAP_SET_ACTIVE_ITEM:"map:setactiveitem",MAP_SELECT_ITEM:"map:selectitem",MAP_SET_PIXEL_RATIO:"map:setpixelratio",MAP_FIT_TO_BOUNDS:"map:fittobounds",MAP_SET_VIEW:"map:setview",MAP_INIT_MAP_STYLES:"map:initmapstyles",MAP_STYLE_CHANGE:"map:stylechange",MAP_LOADED:"map:loaded",MAP_READY:"map:ready",MAP_SIZE_CHANGE:"map:sizechange",MAP_FIRST_IDLE:"map:firstidle",MAP_MOVE_START:"map:movestart",MAP_MOVE:"map:move",MAP_MOVE_END:"map:moveend",MAP_STATE_UPDATED:"map:stateupdated",MAP_DATA_CHANGE:"map:datachange",MAP_RENDER:"map:render",MAP_CLICK:"map:click",MAP_DESTROY:"map:destroy"},w=function(){var e=n(function*(e,t,a,r){var i=a(e,t),s="string"==typeof i?{url:i}:i,{url:n,headers:o={}}=s,l=yield fetch(n,{headers:o,signal:r});if(!l.ok)throw new Error("Failed to fetch GeoJSON: ".concat(l.status," ").concat(l.statusText));var d=yield l.json();if("FeatureCollection"===d.type)return d;if("Feature"===d.type)return{type:"FeatureCollection",features:[d]};if(Array.isArray(d))return{type:"FeatureCollection",features:d};throw new Error("Invalid GeoJSON response")});return function(t,a,r,i){return e.apply(this,arguments)}}(),C=(e,t)=>!(!e||!t)&&!(e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),L=e=>{var t=1/0,a=1/0,r=-1/0,i=-1/0,s=(e,n)=>{var o;0===n?(o=e,t=Math.min(t,o[0]),a=Math.min(a,o[1]),r=Math.max(r,o[0]),i=Math.max(i,o[1])):e.forEach(e=>s(e,n-1))};switch(e.type){case"Point":s(e.coordinates,0);break;case"LineString":case"MultiPoint":s(e.coordinates,1);break;case"Polygon":case"MultiLineString":s(e.coordinates,2);break;case"MultiPolygon":s(e.coordinates,3);break;case"GeometryCollection":e.geometries.forEach(e=>{var s=L(e);t=Math.min(t,s[0]),a=Math.min(a,s[1]),r=Math.max(r,s[2]),i=Math.max(i,s[3])});break;default:throw new Error("Unsupported geometry type: ".concat(e.type))}return[t,a,r,i]},j=e=>({type:"FeatureCollection",features:Array.from(e.values()).map(e=>e.feature)}),k=function(){var e=n(function*(e,t){var{map:a,dynamicGeoJSON:r,onUpdate:i}=t,{url:s,idProperty:n,transformRequest:o,maxFeatures:l,minZoom:d=0}=r,p=a.getZoom();if(!(p<d)){var u=(e=>{var t=e.getBounds();return[t.getWest(),t.getSouth(),t.getEast(),t.getNorth()]})(a);if(!(e.fetchedBbox&&(c=e.fetchedBbox,y=u,c&&y&&y[0]>=c[0]&&y[1]>=c[1]&&y[2]<=c[2]&&y[3]<=c[3]))){var c,y,h,v;e.currentController&&e.currentController.abort(),e.currentController=new AbortController;try{var b={bbox:u,zoom:p},m=yield w(s,b,o,e.currentController.signal);((e,t,a)=>{var r=Date.now();t.features.forEach(t=>{var i=((e,t)=>{var a,r;return t&&null!==(a=null===(r=e.properties)||void 0===r?void 0:r[t])&&void 0!==a?a:e.id})(t,a);null!=i?e.set(i,{feature:t,bbox:L(t.geometry),lastSeenAt:r}):console.warn("Feature missing ID, skipping:",t)})})(e.features,m,n),e.fetchedBbox=(h=e.fetchedBbox,v=u,h?[Math.min(h[0],v[0]),Math.min(h[1],v[1]),Math.max(h[2],v[2]),Math.max(h[3],v[3])]:[...v]);var f=e.features.size;((e,t,a)=>{if(a&&!(e.size<=1.2*a)){var r=a,i=[],s=[];for(var[n,o]of e)C(o.bbox,t)?i.push(n):s.push({id:n,lastSeenAt:o.lastSeenAt});s.sort((e,t)=>e.lastSeenAt-t.lastSeenAt);for(var l=e.size-r,d=0;d<l&&d<s.length;d++)e.delete(s[d].id);if(e.size>r)for(var p=e.size-r,u=i.map(t=>({id:t,lastSeenAt:e.get(t).lastSeenAt})).sort((e,t)=>e.lastSeenAt-t.lastSeenAt),c=0;c<p&&c<u.length;c++)e.delete(u[c].id)}})(e.features,u,l),e.features.size<f&&(e.fetchedBbox=u),i(r.id,j(e.features))}catch(e){if("AbortError"===e.name)return;console.error("Failed to fetch dynamic GeoJSON for ".concat(r.id,":"),e)}}}});return function(t,a){return e.apply(this,arguments)}}(),N=e=>{var t,a,r,i,{dynamicGeoJSON:s,map:n,onUpdate:o}=e,l={features:new Map,fetchedBbox:null,currentController:null},d=()=>k(l,{map:n,dynamicGeoJSON:s,onUpdate:o}),p=(t=d,a=200,(i=function(){for(var e=arguments.length,i=new Array(e),s=0;s<e;s++)i[s]=arguments[s];clearTimeout(r),r=setTimeout(()=>t(...i),a)}).cancel=()=>{clearTimeout(r),r=null},i),u=()=>{p()};return n.on("moveend",u),d(),{destroy(){n.off("moveend",u),p.cancel(),l.currentController&&l.currentController.abort()},clear(){l.features.clear(),l.fetchedBbox=null,o(s.id,{type:"FeatureCollection",features:[]})},refresh(){l.features.clear(),l.fetchedBbox=null,d()},getFeatureCount:()=>l.features.size,reapply(){l.features.size>0&&o(s.id,j(l.features))}}},F={},G=e=>{F=e},x=e=>{var t,a=(null===(t=F)||void 0===t||null===(t=t.current)||void 0===t?void 0:t.menuState)||{};for(var[r,i]of Object.entries(e)){var s=a[r];if(!i.includes(s))return!1}return!0},B=e=>(Array.isArray(e)?e:[e]).includes(R()),R=()=>$.mapStyle.id,V=e=>{var t=0;for(var a of e)t=Math.trunc((t<<5)-t+a.codePointAt(0));return Math.abs(t).toString(36)};function K(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}class W{constructor(e){this.id=e.id,this.url=e.url,this.transformRequest=e.transformRequest,this.maxFeatures=e.maxFeatures,this.minZoom=e.minZoom,this.idProperty=e.idProperty,this.hiddenFeaturesIdExpression=["to-string",["get",this.idProperty]],this.sourceId="geojson-dynamic-".concat(this.id),this.source=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?K(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):K(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({type:"geojson",data:{type:"FeatureCollection",features:[]}},this.idProperty?{promoteId:this.idProperty}:{generateId:!0})}}var H={},U=(e,t)=>{switch(H.opacityMode){case"global":return H.opacity;case"multiply":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Math.round(100*(e*t*H.opacity+Number.EPSILON))/100}(e,t);default:return((e,t)=>void 0===e?void 0===t?H.opacity:t:e)(e,t)}},Z=()=>H.visible;function z(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function Y(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?z(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):z(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}class J{constructor(e){this._datasetDefinition=e}get id(){return this._datasetDefinition.id}get label(){return this._datasetDefinition.label}get hasSymbol(){var e;return!this.hasSublayers&&Boolean(null===(e=this.style)||void 0===e?void 0:e.symbol)}get hasPattern(){return!(this.hasSublayers||this.hasSymbol||(e=this.style,!e.fillPattern&&!e.fillPatternSvgContent));var e}get hasFill(){var e,t;return!this.hasSublayers&&!this.hasSymbol&&(this.hasPattern||(null===(e=this.style)||void 0===e?void 0:e.fill)&&"transparent"!==(null===(t=this.style)||void 0===t?void 0:t.fill))}get hasStroke(){var e;return!this.hasSublayers&&!this.hasSymbol&&Boolean(null===(e=this.style)||void 0===e?void 0:e.stroke)}get tiles(){return this._datasetDefinition.tiles}get geojson(){return this._datasetDefinition.geojson}get idProperty(){return this._datasetDefinition.idProperty}get generateIds(){return this._datasetDefinition.generateIds}get parentId(){return this._datasetDefinition.parentId}get minZoom(){var e;return this._datasetDefinition.minZoom||(null===(e=this.parent)||void 0===e?void 0:e.minZoom)}get maxZoom(){var e;return this._datasetDefinition.maxZoom||(null===(e=this.parent)||void 0===e?void 0:e.maxZoom)}get type(){var e;return this._datasetDefinition.type||(null===(e=this.parent)||void 0===e?void 0:e.type)}get showInKey(){var e,t,a=this._datasetDefinition.showInKey;return void 0!==a?a:null!==(e=null===(t=this.parent)||void 0===t?void 0:t.showInKey)&&void 0!==e&&e}get visibleWhen(){var e;return void 0===this._datasetDefinition.visibleWhen?null===(e=this.parent)||void 0===e?void 0:e.visibleWhen:this._datasetDefinition.visibleWhen}get groupLabel(){var e,t;return this._datasetDefinition.groupLabel||(null===(e=this.parent)||void 0===e?void 0:e.groupLabel)||(null===(t=this.parent)||void 0===t?void 0:t.label)}get groupId(){var e,t=this._datasetDefinition.groupId||(null===(e=this.parent)||void 0===e?void 0:e.groupId);return t||(this.groupLabel?this.groupLabel.toLowerCase().replace(/\s+/g,"-"):null)}get opacity(){var e,t,a=null===(e=this.style)||void 0===e?void 0:e.opacity,r=null===(t=this.parent)||void 0===t||null===(t=t.style)||void 0===t?void 0:t.opacity;return U(a,r)}get hasDynamicGeoJSON(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}get dynamicGeoJSON(){return new W(Y(Y({},this._datasetDefinition.dynamicGeoJSON),{},{id:this.id,minZoom:this.minZoom}))}get hiddenFeatures(){return this._datasetDefinition.hiddenFeatures}get hasHiddenFeatures(){var e,t;return Boolean((null===(e=this.hiddenFeatures)||void 0===e?void 0:e.length)>0||(null===(t=this.parent)||void 0===t?void 0:t.hasHiddenFeatures))}get filter(){return null}get isHiddenByInheritance(){var e;return this.isSublayer?!(null!==(e=this.parent)&&void 0!==e&&e.visible):!Z()}get isLocallyVisible(){return!!this.isVisible||this._datasetDefinition.visible}get visible(){var e;return this.isSublayer?this._datasetDefinition.visible&&(null===(e=this.parent)||void 0===e?void 0:e.visible):this._datasetDefinition.visible&&Z()}get esriStyleLayerId(){return this._datasetDefinition.esriStyleLayerId}get visibility(){var{visible:e,visibleWhen:t}=this;return e&&t?(e=>{if(null==e)return!0;if("boolean"==typeof e)return e;if("object"==typeof e){for(var[t,a]of Object.entries(e)){if("mapStyleId"===t&&!B(a))return!1;if("menu"===t&&!x(a))return!1}return!0}return!0})(t)?"visible":"none":e?"visible":"none"}get keyVisibility(){return this.showInKey&&"visible"===this.visibility}get symbolAnchor(){var e,t;return null!==(e=this.style)&&void 0!==e&&e.symbolAnchor?this.style.symbolAnchor:null===(t=this.parent)||void 0===t?void 0:t.symbolAnchor}get sourceLayer(){return this.isSublayer?this.parent.sourceLayer:this.tiles?this._datasetDefinition.sourceLayer:void 0}get isSublayer(){return Boolean(this._datasetDefinition.parentId)}get hasSublayers(){var e;return(null===(e=this._datasetDefinition.sublayerIds)||void 0===e?void 0:e.length)>0}get sublayerIds(){return this._datasetDefinition.sublayerIds}get sublayers(){var{sublayerIds:e}=this;return e?e.map(e=>$.getDataset(e)):[]}get parent(){if(this._datasetDefinition.parentId)return $.getDataset(this._datasetDefinition.parentId)}get style(){var e,t=null===(e=this.parent)||void 0===e?void 0:e.style;return t?Y(Y(Y({},t),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}get hasCustomVisualStyle(){return b(this._datasetDefinition.style||{})}get symbolDescription(){var e,t;return null!==(e=this._datasetDefinition.style)&&void 0!==e&&e.symbolDescription?this._datasetDefinition.style.symbolDescription:this.hasCustomVisualStyle||null===(t=this.parent)||void 0===t?void 0:t.symbolDescription}get patternConfigs(){var e=this.hasPattern?[this.style]:[];return this.hasSublayers?[...e,...this.sublayers.flatMap(e=>e.patternConfigs)]:e}get symbolConfigs(){var e=this.hasSymbol?[this.style]:[];return this.hasSublayers?[...e,...this.sublayers.flatMap(e=>e.symbolConfigs)]:e}get keyDefinition(){return{id:this.id,type:"dataset",label:this.label,hasSymbol:this.hasSymbol,hasPattern:this.hasPattern,style:this.style,symbolDescription:this.symbolDescription}}}class q{constructor(){this.idToDefinitionMap=new Map,this.definitionToInstanceMap=new Map}add(e){this.idToDefinitionMap.set(e.id,e._datasetDefinition),this.definitionToInstanceMap.set(e._datasetDefinition,e)}invalidateDataset(e){var t=this.idToDefinitionMap.get(e.id);[t.id,...(null==t?void 0:t.sublayerIds)||[]].forEach(e=>{var t=this.idToDefinitionMap.get(e);this.definitionToInstanceMap.delete(t),this.idToDefinitionMap.delete(e)})}invalidateChangedDatasets(e){e.forEach(e=>{var t=this.idToDefinitionMap.get(e.id);if(t&&t!==e){var a=this.definitionToInstanceMap.get(t);this.invalidateDataset(a.isSublayer&&a.parent?a.parent:a)}})}getByDefinition(e){return this.definitionToInstanceMap.get(e)}}function X(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function Q(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?X(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):X(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var $={attach(e,t,a){this._datasets=e,this._orderedDatasets=t,this.attachMapStyle(a),this._invalidateChangedDatasets()},_definitionCache:new q,_invalidateCache(){this._definitionCache=new q},_invalidateChangedDatasets(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset(e){this._createDataset=e},_createDataset:e=>(e=>new J(e))(e),attachMapStyle(e){e&&(this._mapStyle=e)},get mapStyle(){return this._mapStyle},getDataset(e){var t=this.datasets[e];if(t){var a=this._definitionCache.getByDefinition(t);if(a)return a;var r=this._createDataset(t);return this._definitionCache.add(r),r.isSublayer&&this.getDataset(r.parentId),r}},forEach(e){this._orderedDatasets.forEach(t=>e(this.getDataset(t)))},forEachDataset(e){Object.values(this.datasets).filter(e=>!e.parentId).forEach(t=>e(this.getDataset(t.id)))},topLevelDatasets(){return Object.values(this.datasets).filter(e=>!e.parentId).map(e=>this.getDataset(e.id))},getPatternAndSymbolConfigs(){return this.topLevelDatasets().reduce((e,t)=>Q(Q({},e),{},{patternConfigs:[...e.patternConfigs,...t.patternConfigs],symbolConfigs:[...e.symbolConfigs,...t.symbolConfigs]}),{patternConfigs:[],symbolConfigs:[]})},_lastMenuState:{},invalidateKeyItemsOnMenuStateChange(e){e!==this._lastMenuState&&(this._lastMenuState=e,this._lastKeyItemsDatasets=null)},_lastKeyItems:{},keyItems(){if(this.datasets===this._lastKeyItemsDatasets)return this._lastKeyItems;this._lastKeyItemsDatasets=this.datasets;var e=[],t=new Map;this.forEach(a=>{if(a.keyVisibility)if(a.hasSublayers||a.groupLabel){var r=a.groupId,i=((a,r)=>{if(t.has(a))return t.get(a);var i={type:"group",id:r,groupLabel:a,keyDefinitions:[]};return t.set(a,i),e.push(i),i})(a.groupLabel||a.label,r);a.hasSublayers||i.keyDefinitions.push(a.keyDefinition)}else e.push({type:"flat",id:a.id,keyDefinition:a.keyDefinition})});var a=e.filter(e=>{var t;return"flat"===e.type||Boolean(null===(t=e.keyDefinitions)||void 0===t?void 0:t.length)}),r=a.some(e=>"group"===e.type);return this._lastKeyItems={items:a,hasGroups:r},this._lastKeyItems}};Object.defineProperty($,"datasets",{get:()=>$._datasets});var ee,te=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:i,events:s,dispatch:n,eventBus:o}=e,{datasets:l}=a,p=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var u=l.map(e=>((e,t)=>{var a=e.style||{},r=c(c({},t.style),a);!("symbolDescription"in a)&&b(a)&&delete r.symbolDescription;var i=c({},e);delete i.style,h.forEach(e=>delete i[e]);var s=c({},t);return delete s.style,c(c(c({},s),i),r)})(e,y)),{mappedDatasets:v,orderedDatasets:m}=D({datasets:l});t.createDataset&&$.attachCreateDataset(t.createDataset),$.attach(v,m,r);var f=d({datasets:u});o.requestOnce("menu:state",G),n({type:"SET_MENU",payload:{menu:f}}),n({type:"SET_DATASETS",payload:{mappedDatasets:v,orderedDatasets:m}}),t.init().then(()=>{$.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=N({dynamicGeoJSON:a,map:i.map,onUpdate:(e,a)=>t.setData(e,a)});p.set(e.id,r)}}),t.attachDynamicSources(p),o.emit("datasets:ready")});var g=()=>{t.onMapSizeChange()};o.on(s.MAP_SIZE_CHANGE,g);var S=o.emitWhenRequested("datasets:registry",$);return o.on("menu:changed",e=>{$.invalidateKeyItemsOnMenuStateChange(e),t.applyGlobalVisibility()}),{remove(){o.off(s.MAP_SIZE_CHANGE,g),S(),p.forEach(e=>e.destroy()),p.clear(),t.destroy()},refreshDataset(e){var t;null===(t=p.get(e))||void 0===t||t.refresh()},clearDatasetCache(e){var t;null===(t=p.get(e))||void 0===t||t.clear()},getFeatureCount(e){var t,a;return null!==(t=null===(a=p.get(e))||void 0===a?void 0:a.getFeatureCount())&&void 0!==t?t:null}}},ae=function(){var e=n(function*(e){switch(e.name){case"MapLibreProvider":var{default:t}=yield import(/* webpackChunkName: "im-datasets-ml-adapter" */ "./im-datasets-ml-adapter.js").then(function(e){return e.m});return t;case"EsriProvider":var{default:a}=yield import(/* webpackChunkName: "esriLayerAdapter" */ "./esriLayerAdapter.js");return a;default:throw new Error("No layer adapter available for map provider ".concat(e.name,". Please provide a compatible layer adapter."))}});return function(t){return e.apply(this,arguments)}}(),re={},ie=function(){var e=n(function*(e,t,a){var r,i,s=yield ae(e);return ee=new s(e,t,a),re.removeDataset=ee.removeDataset.bind(ee),re.setData=ee.setData.bind(ee),re.applyStyle=ee.applyStyle.bind(ee),re.applyDatasetVisibility=ee.applyDatasetVisibility.bind(ee),re.applyGlobalVisibility=ee.applyGlobalVisibility.bind(ee),re.applyDatasetOpacity=ee.applyDatasetOpacity.bind(ee),re.applyGlobalOpacity=ee.applyGlobalOpacity.bind(ee),re.addDataset=ee.addDataset.bind(ee),re.applyFeatureFilter=ee.applyFeatureFilter.bind(ee),re.onMapStyleChange=null===(r=ee.onMapStyleChange)||void 0===r?void 0:r.bind(ee),re.onMapSizeChange=null===(i=ee.onMapSizeChange)||void 0===i?void 0:i.bind(ee),ee});return function(t,a,r){return e.apply(this,arguments)}}();var se=function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;a(n?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:n,visible:t}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:t}})},ne=e=>{var{menuGroupItem:t,onChange:i}=e,s=$.getDataset(t.id);if(!s)return null;var n=s.isSublayer?s.parentId:s.id,o=s.isSublayer?s.id:void 0,l="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(s.visible?"":" im-c-datasets-layers__item--checked");return a("div",{className:l,"data-module":"govuk-checkboxes",children:r("div",{className:"govuk-checkboxes__item",children:[a("input",{className:"govuk-checkboxes__input",id:s.id,"data-dataset-id":n,"data-sublayer-id":o,name:"layers",type:"checkbox",value:s.id,checked:s.isLocallyVisible,onChange:i}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:s.id,children:s.label})]})},s.id)},oe=e=>{var{menuGroup:t,children:s}=e;if(!t.groupLabel)return a(i,{children:s});return a("div",{className:"govuk-form-group im-c-datasets-layers-group",children:r("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[a("legend",{className:"im-c-datasets-layers-group__legend",children:a("h3",{children:t.groupLabel})}),s]})},t.id)},le={InitComponent:function(a){var{pluginConfig:r,pluginState:i,appState:s,mapState:o,mapProvider:l,services:d}=a,{dispatch:p}=i,{eventBus:u,symbolRegistry:c,patternRegistry:y}=d,h=Boolean(null==l?void 0:l.isBaseMapReady());e(()=>{var e=!1!==r.hasMenu&&(e=>e.datasets.some(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))}))(r);e||(u.emitWhenReady(T.APP_REMOVE_PANEL,"datasetsLayers"),u.emitWhenReady(T.APP_TOGGLE_BUTTON_STATE,{id:"datasetsLayers",prop:"hidden",value:!0}))},[r.hasMenu]),t(i).current=i;var v=t(null);return e(()=>{var e,t,a,i,d=null===(e=null===(t=r.includeModes)||void 0===t?void 0:t.includes(s.mode))||void 0===e||e,b=null!==(a=null===(i=r.excludeModes)||void 0===i?void 0:i.includes(s.mode))&&void 0!==a&&a;if(h&&d&&!b&&!v.current){var m=function(){var e=n(function*(){var e=yield ie(l,c,y);v.current=te({adapter:e,pluginConfig:r,mapStyle:o.mapStyle,mapProvider:l,events:T,dispatch:p,eventBus:u})});return function(){return e.apply(this,arguments)}}();m()}},[h,s.mode]),e(()=>{$.attach(i.mappedDatasets,i.orderedDatasets),u.emit("datasets:changed")},[i.mappedDatasets,i.orderedDatasets]),e(()=>{$.attachMapStyle(o.mapStyle),null!=re&&re.onMapStyleChange&&re.onMapStyleChange()},[o.mapStyle]),e(()=>{return e=i.globals,void(H=e);var e},[i.globals]),e(()=>{var{actionsArray:e}=i;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return re[t](...a)}),p({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[i.actionsArray]),e(()=>()=>{v.current&&(v.current.remove(),v.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[]},actions:M},panels:[{id:"datasetsLayers",label:"Layers",mobile:{slot:"drawer",modal:!0,dismissible:!0},tablet:{slot:"left-top",dismissible:!0,exclusive:!0,width:"260px"},desktop:{slot:"left-top",modal:!1,dismissible:!0,exclusive:!0,width:"280px"},render:e=>{var{pluginState:t}=e,{menu:i=[]}=t,s=e=>{var{value:a,checked:r}=e.target;se({pluginState:t},r,{datasetId:a})},n=i.some(e=>e.groupLabel),o="im-c-datasets-layers".concat(n?" im-c-datasets-layers--has-groups":"");return a("div",{className:o,children:i.map(e=>r(oe,{menuGroup:e,children:[" ",e.items.map(e=>a(ne,{menuGroupItem:e,onChange:s},e.id))]},e.id))})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{id:"layers",svgContent:'<path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path>'},{id:"key",svgContent:'<path d="M3 5h.01"/><path d="M3 12h.01"/><path d="M3 19h.01"/><path d="M8 5h13"/><path d="M8 12h13"/><path d="M8 19h13"/>'}],api:{addDataset:(e,t)=>{var{pluginState:{dispatch:a},mapState:r}=e;a({type:"ADD_DATASET",payload:{dataset:t,mapStyle:r.mapStyle}})},removeDataset:(e,t)=>{var{pluginState:{dispatch:a}}=e;re.removeDataset(t),a({type:"REMOVE_DATASET",payload:{id:t}})},setDatasetVisibility:se,setFeatureVisibility:function(e,t,a){var{pluginState:{dispatch:r}}=e,{datasetId:i=null}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(i){var s=$.getDataset(i);!s||s.idProperty||s.generateIds||_.warn('setFeatureVisibility: Dataset "'.concat(i,'" has no idProperty or generateIds configured. Features may not be matched correctly. Add idProperty to match by a feature property, or add generateIds: true to use auto-generated IDs.'))}r({type:t?"SHOW_FEATURES":"HIDE_FEATURES",payload:{datasetId:i,featureIds:a}})},setStyle:function(e,t){var{pluginState:{dispatch:a},mapState:r}=e,{datasetId:i,sublayerId:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a({type:"SET_DATASET_STYLE",payload:{datasetId:i=s?"".concat(i,"-").concat(s):i,styleChanges:t,mapStyle:r.mapStyle}})},getStyle:function(e){var{_pluginState:t}=e,{datasetId:a,sublayerId:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a=r?"".concat(a,"-").concat(r):a;var i=$.getDataset(a);return i?i.style:(_.warn("getStyle: Dataset with id ".concat(a," not found")),null)},setOpacity:function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;a(n?{type:"SET_OPACITY",payload:{datasetId:n,opacity:t}}:{type:"SET_GLOBAL_OPACITY",payload:{opacity:t}})},getOpacity:function(e){var t,{pluginState:{globals:a}}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;if(n){var o,l=$.getDataset(n);return l?null!==(o=l.opacity)&&void 0!==o?o:null:(_.warn("getOpacity: Dataset with id ".concat(n," not found")),null)}return null!==(t=a.opacity)&&void 0!==t?t:null},setData:(e,t,a)=>{var{_pluginState:r}=e,{datasetId:i}=a,s=$.getDataset(i);s?null!=s&&s.tiles?_.warn('setData called on vector tile dataset "'.concat(i,'" — has no effect')):re.setData(i,t):_.warn("setData: Dataset with id ".concat(i," not found"))},setGlobals:(e,t)=>{var{pluginState:{dispatch:a}}=e,{opacityMode:r}=t,i={},s=!1;r&&(["dataset","global","multiply"].includes(r)?(s=!0,i.opacityMode=r):_.warn("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),s?a({type:"SET_GLOBAL_STATE",payload:i}):_.warn("setGlobals: requires a valid value for opacityMode to be set")}}},de=Object.freeze({__proto__:null,manifest:le});export{J as D,$ as d,V as h,_ as l,de as m};
|
|
1
|
+
import{useEffect as e,useRef as t}from"preact/compat";import{jsx as a,jsxs as r,Fragment as i}from"preact/jsx-runtime";import s from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/asyncToGenerator";function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var d=e=>{var{datasets:t=[]}=e,a=[],r=t.filter(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))}),i=new Map;return r.forEach(e=>{var t;if(null!==(t=e.sublayers)&&void 0!==t&&t.length){var r=e.sublayers.filter(t=>e.showInMenu?!1!==t.showInMenu:t.showInMenu);if(!1===e.showInMenu&&!r.length)return;var s={id:e.id,groupLabel:e.label,visibleWhen:!0,type:"checkbox",items:r.map(t=>({id:"".concat(e.id,"-").concat(t.id),label:t.label}))};0===s.items.length&&(delete s.groupLabel,s.items.push({id:e.id,label:e.label})),a.push(s)}else if(e.groupLabel){var n=i.has(e.groupLabel)?i.get(e.groupLabel):{id:e.groupLabel,groupLabel:e.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};i.has(e.groupLabel)||(i.set(e.groupLabel,n),a.push(n)),n.items.push({id:e.id,label:e.label})}else a.push({visibleWhen:!0,type:"checkbox",id:e.id,items:[{id:e.id,label:e.label}]})}),a},p=(e,t)=>e.reduce((e,a)=>{var r=a.items.filter(e=>!t.includes(e.id));return r.length&&e.push(l(l({},a),{},{items:r})),e},[]);function u(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function c(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?u(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):u(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var y={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},h=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],v=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],b=e=>v.some(t=>t in e);function m(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function f(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?m(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):m(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var g=(e,t)=>{var a,{id:r}=t,i=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=c(c(c({},y),e),{},{style:c(c({},y.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&b(a)&&delete t.style.symbolDescription,h.forEach(e=>delete t[e]),t})(t);t.parentId&&("showInKey"in t||delete i.showInKey,"showInMenu"in t||delete i.showInMenu),e[r]=i;var{orderedDatasets:s}=e;s.push(r);var n=null===(a=t.sublayers)||void 0===a?void 0:a.map(e=>((e,t)=>{var a="".concat(e,"-").concat(t.id),r=t.id;return"hidden"!==t.visibility&&(t.visibility="visible"),f(f({},t),{},{id:a,parentId:e,sublayerId:r})})(r,e));if(null!=n&&n.length){var o=null==n?void 0:n.map(e=>e.id),l=null==n?void 0:n.reduce(g,{orderedDatasets:s});return e[r].sublayerIds=o,delete e[r].sublayers,f(f(f({},e),l),{},{orderedDatasets:s})}return f(f({},e),{},{orderedDatasets:s})},D=e=>{var t=(e.datasets||[]).reduce(g,{orderedDatasets:[]}),{orderedDatasets:a}=t;return delete t.orderedDatasets,f(f({},e),{},{mappedDatasets:t,orderedDatasets:a})},S="[interactive-map]",_={warn:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.warn(S,...t)},error:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.error(S,...t)}};function O(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function P(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?O(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):O(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var A=function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"not found";return!!e.mappedDatasets[t]||(_.error("".concat(a,": Dataset with id '").concat(t,"' ").concat(r)),!1)},E=0,I=(e,t,a)=>(E=a.actionsArray.length?E+1:0,P(P({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:E}]})),M={SET_DATASETS:(e,t)=>{var{mappedDatasets:a,orderedDatasets:r}=t;return P(P({},e),{},{mappedDatasets:a,orderedDatasets:r})},ADD_DATASET:(e,t)=>{var{dataset:a,mapStyle:r}=t;if(e.mappedDatasets[a.id])return _.error("addDataset: Dataset with id '".concat(a.id,"' already exists")),e;var{mappedDatasets:i,orderedDatasets:s}=D({datasets:[a]}),n=((e,t)=>{var a=[...e.menu],r=d({datasets:[t]}),i=a.find(e=>e.groupLabel===r[0].groupLabel);return i?i.items.push(...r[0].items):a.push(...r),a})(e,a);return I("addDataset",[a.id,r],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),i),orderedDatasets:[...e.orderedDatasets,...s],menu:n}))},REMOVE_DATASET:(e,t)=>{var a,{id:r}=t;if(!A(e,r,"removeDataset"))return e;var i=P({},e.mappedDatasets),s=[r,...(null===(a=i[r])||void 0===a?void 0:a.sublayerIds)||[]];s.forEach(e=>delete i[e]);var n=e.orderedDatasets.filter(e=>!s.includes(e));return P(P({},e),{},{mappedDatasets:i,orderedDatasets:n,menu:p(e.menu,s)})},SET_DATASET_VISIBILITY:(e,t)=>{var{datasetId:a,visible:r}=t;return A(e,a,"setDatasetVisibility")?e.mappedDatasets[a].visible===r?e:I("applyDatasetVisibility",[a,r],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:P(P({},e.mappedDatasets[a]),{},{visible:r})})})):e},SET_GLOBAL_VISIBILITY:(e,t)=>{var{visible:a}=t;return I("applyGlobalVisibility",[a],P(P({},e),{},{globals:P(P({},e.globals),{},{visible:a})}))},SET_DATASET_STYLE:(e,t)=>{var{datasetId:a,styleChanges:r,mapStyle:i}=t;if(!A(e,a,"setDatasetStyle"))return e;var s=P(P({},e.mappedDatasets[a].style),r),n=P(P(P({},e.mappedDatasets[a]),r),{},{style:s});return I("applyStyle",[a,i],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:n})}))},SET_OPACITY:(e,t)=>{var{datasetId:a,opacity:r}=t;if(!A(e,a,"setOpacity"))return e;var i=P(P({},e.mappedDatasets[a].style),{},{opacity:r}),s=P(P({},e.mappedDatasets[a]),{},{style:i});return I("applyDatasetOpacity",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:s})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return I("applyGlobalOpacity",[],P(P({},e),{},{globals:P(P({},e.globals),{},{opacity:a})}))},HIDE_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - hideFeatures"))return e;var i=P({},e.mappedDatasets[a]),s=i.hiddenFeatures||[],n=Array.from(new Set([...s,...r]));return i.hiddenFeatures=n,I("applyFeatureFilter",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:i})}))},SHOW_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - showFeatures"))return e;var i=P({},e.mappedDatasets[a]),s=(i.hiddenFeatures||[]).filter(e=>!r.includes(e));return i.hiddenFeatures=s.length?s:[-1],I("applyFeatureFilter",[a],P(P({},e),{},{mappedDatasets:P(P({},e.mappedDatasets),{},{[a]:i})}))},REMOVE_ADAPTER_ACTIONS:(e,t)=>null!=t&&t.length?P(P({},e),{},{actionsArray:e.actionsArray.filter(e=>!t.includes(e))}):e,SET_GLOBAL_STATE:(e,t)=>I("applyGlobalOpacity",[],P(P({},e),{},{globals:P(P({},e.globals),t)})),SET_MENU:(e,t)=>{var{menu:a}=t;return P(P({},e),{},{menu:a})}},T={APP_ADD_MARKER:"app:addmarker",APP_UPDATE_MARKER:"app:updatemarker",APP_REMOVE_MARKER:"app:removemarker",APP_SET_MODE:"app:setmode",APP_REVERT_MODE:"app:revertmode",APP_ADD_BUTTON:"app:addbutton",APP_TOGGLE_BUTTON_STATE:"app:togglebuttonstate",APP_ADD_PANEL:"app:addpanel",APP_REMOVE_PANEL:"app:removepanel",APP_SHOW_PANEL:"app:showpanel",APP_HIDE_PANEL:"app:hidepanel",APP_ADD_CONTROL:"app:addcontrol",APP_SHOW_HINT:"app:showhint",APP_DISMISS_HINT:"app:dismisshint",APP_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",APP_FULLSCREEN_CHANGE:"app:fullscreenchange",APP_PANEL_OPENED:"app:panelopened",APP_PANEL_CLOSED:"app:panelclosed",MAP_SET_STYLE:"map:setstyle",MAP_SET_SIZE:"map:setsize",MAP_SET_SPATIAL_LIST:"map:setspatiallist",MAP_SET_SPATIAL_LIST_SUPPRESSED:"map:setspatiallistsuppressed",MAP_SET_ACTIVE_ITEM:"map:setactiveitem",MAP_SELECT_ITEM:"map:selectitem",MAP_SET_PIXEL_RATIO:"map:setpixelratio",MAP_FIT_TO_BOUNDS:"map:fittobounds",MAP_SET_VIEW:"map:setview",MAP_INIT_MAP_STYLES:"map:initmapstyles",MAP_STYLE_CHANGE:"map:stylechange",MAP_LOADED:"map:loaded",MAP_READY:"map:ready",MAP_SIZE_CHANGE:"map:sizechange",MAP_FIRST_IDLE:"map:firstidle",MAP_MOVE_START:"map:movestart",MAP_MOVE:"map:move",MAP_MOVE_END:"map:moveend",MAP_STATE_UPDATED:"map:stateupdated",MAP_DATA_CHANGE:"map:datachange",MAP_RENDER:"map:render",MAP_CLICK:"map:click",MAP_DESTROY:"map:destroy"},w=function(){var e=n(function*(e,t,a,r){var i=a(e,t),s="string"==typeof i?{url:i}:i,{url:n,headers:o={}}=s,l=yield fetch(n,{headers:o,signal:r});if(!l.ok)throw new Error("Failed to fetch GeoJSON: ".concat(l.status," ").concat(l.statusText));var d=yield l.json();if("FeatureCollection"===d.type)return d;if("Feature"===d.type)return{type:"FeatureCollection",features:[d]};if(Array.isArray(d))return{type:"FeatureCollection",features:d};throw new Error("Invalid GeoJSON response")});return function(t,a,r,i){return e.apply(this,arguments)}}(),C=(e,t)=>!(!e||!t)&&!(e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),L=e=>{var t=1/0,a=1/0,r=-1/0,i=-1/0,s=(e,n)=>{var o;0===n?(o=e,t=Math.min(t,o[0]),a=Math.min(a,o[1]),r=Math.max(r,o[0]),i=Math.max(i,o[1])):e.forEach(e=>s(e,n-1))};switch(e.type){case"Point":s(e.coordinates,0);break;case"LineString":case"MultiPoint":s(e.coordinates,1);break;case"Polygon":case"MultiLineString":s(e.coordinates,2);break;case"MultiPolygon":s(e.coordinates,3);break;case"GeometryCollection":e.geometries.forEach(e=>{var s=L(e);t=Math.min(t,s[0]),a=Math.min(a,s[1]),r=Math.max(r,s[2]),i=Math.max(i,s[3])});break;default:throw new Error("Unsupported geometry type: ".concat(e.type))}return[t,a,r,i]},j=e=>({type:"FeatureCollection",features:Array.from(e.values()).map(e=>e.feature)}),k=function(){var e=n(function*(e,t){var{map:a,dynamicGeoJSON:r,onUpdate:i}=t,{url:s,idProperty:n,transformRequest:o,maxFeatures:l,minZoom:d=0}=r,p=a.getZoom();if(!(p<d)){var u=(e=>{var t=e.getBounds();return[t.getWest(),t.getSouth(),t.getEast(),t.getNorth()]})(a);if(!(e.fetchedBbox&&(c=e.fetchedBbox,y=u,c&&y&&y[0]>=c[0]&&y[1]>=c[1]&&y[2]<=c[2]&&y[3]<=c[3]))){var c,y,h,v;e.currentController&&e.currentController.abort(),e.currentController=new AbortController;try{var b={bbox:u,zoom:p},m=yield w(s,b,o,e.currentController.signal);((e,t,a)=>{var r=Date.now();t.features.forEach(t=>{var i=((e,t)=>{var a,r;return t&&null!==(a=null===(r=e.properties)||void 0===r?void 0:r[t])&&void 0!==a?a:e.id})(t,a);null!=i?e.set(i,{feature:t,bbox:L(t.geometry),lastSeenAt:r}):console.warn("Feature missing ID, skipping:",t)})})(e.features,m,n),e.fetchedBbox=(h=e.fetchedBbox,v=u,h?[Math.min(h[0],v[0]),Math.min(h[1],v[1]),Math.max(h[2],v[2]),Math.max(h[3],v[3])]:[...v]);var f=e.features.size;((e,t,a)=>{if(a&&!(e.size<=1.2*a)){var r=a,i=[],s=[];for(var[n,o]of e)C(o.bbox,t)?i.push(n):s.push({id:n,lastSeenAt:o.lastSeenAt});s.sort((e,t)=>e.lastSeenAt-t.lastSeenAt);for(var l=e.size-r,d=0;d<l&&d<s.length;d++)e.delete(s[d].id);if(e.size>r)for(var p=e.size-r,u=i.map(t=>({id:t,lastSeenAt:e.get(t).lastSeenAt})).sort((e,t)=>e.lastSeenAt-t.lastSeenAt),c=0;c<p&&c<u.length;c++)e.delete(u[c].id)}})(e.features,u,l),e.features.size<f&&(e.fetchedBbox=u),i(r.id,j(e.features))}catch(e){if("AbortError"===e.name)return;console.error("Failed to fetch dynamic GeoJSON for ".concat(r.id,":"),e)}}}});return function(t,a){return e.apply(this,arguments)}}(),N=e=>{var t,a,r,i,{dynamicGeoJSON:s,map:n,onUpdate:o}=e,l={features:new Map,fetchedBbox:null,currentController:null},d=()=>k(l,{map:n,dynamicGeoJSON:s,onUpdate:o}),p=(t=d,a=200,(i=function(){for(var e=arguments.length,i=new Array(e),s=0;s<e;s++)i[s]=arguments[s];clearTimeout(r),r=setTimeout(()=>t(...i),a)}).cancel=()=>{clearTimeout(r),r=null},i),u=()=>{p()};return n.on("moveend",u),d(),{destroy(){n.off("moveend",u),p.cancel(),l.currentController&&l.currentController.abort()},clear(){l.features.clear(),l.fetchedBbox=null,o(s.id,{type:"FeatureCollection",features:[]})},refresh(){l.features.clear(),l.fetchedBbox=null,d()},getFeatureCount:()=>l.features.size,reapply(){l.features.size>0&&o(s.id,j(l.features))}}},F={},G=e=>{F=e},x=e=>{var t,a=(null===(t=F)||void 0===t||null===(t=t.current)||void 0===t?void 0:t.menuState)||{};for(var[r,i]of Object.entries(e)){var s=a[r];if(!i.includes(s))return!1}return!0},B=e=>(Array.isArray(e)?e:[e]).includes(R()),R=()=>$.mapStyle.id,V=e=>{var t=0;for(var a of e)t=Math.trunc((t<<5)-t+a.codePointAt(0));return Math.abs(t).toString(36)};function K(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}class W{constructor(e){this.id=e.id,this.url=e.url,this.transformRequest=e.transformRequest,this.maxFeatures=e.maxFeatures,this.minZoom=e.minZoom,this.idProperty=e.idProperty,this.hiddenFeaturesIdExpression=["to-string",["get",this.idProperty]],this.sourceId="geojson-dynamic-".concat(this.id),this.source=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?K(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):K(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({type:"geojson",data:{type:"FeatureCollection",features:[]}},this.idProperty?{promoteId:this.idProperty}:{generateId:!0})}}var H={},U=(e,t)=>{switch(H.opacityMode){case"global":return H.opacity;case"multiply":return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Math.round(100*(e*t*H.opacity+Number.EPSILON))/100}(e,t);default:return((e,t)=>void 0===e?void 0===t?H.opacity:t:e)(e,t)}},Z=()=>H.visible;function z(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function Y(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?z(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):z(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}class J{constructor(e){this._datasetDefinition=e}get id(){return this._datasetDefinition.id}get label(){return this._datasetDefinition.label}get hasSymbol(){var e;return!this.hasSublayers&&Boolean(null===(e=this.style)||void 0===e?void 0:e.symbol)}get hasPattern(){return!(this.hasSublayers||this.hasSymbol||(e=this.style,!e.fillPattern&&!e.fillPatternSvgContent));var e}get hasFill(){var e,t;return!this.hasSublayers&&!this.hasSymbol&&(this.hasPattern||(null===(e=this.style)||void 0===e?void 0:e.fill)&&"transparent"!==(null===(t=this.style)||void 0===t?void 0:t.fill))}get hasStroke(){var e;return!this.hasSublayers&&!this.hasSymbol&&Boolean(null===(e=this.style)||void 0===e?void 0:e.stroke)}get tiles(){return this._datasetDefinition.tiles}get geojson(){return this._datasetDefinition.geojson}get idProperty(){return this._datasetDefinition.idProperty}get generateIds(){return this._datasetDefinition.generateIds}get parentId(){return this._datasetDefinition.parentId}get minZoom(){var e;return this._datasetDefinition.minZoom||(null===(e=this.parent)||void 0===e?void 0:e.minZoom)}get maxZoom(){var e;return this._datasetDefinition.maxZoom||(null===(e=this.parent)||void 0===e?void 0:e.maxZoom)}get type(){var e;return this._datasetDefinition.type||(null===(e=this.parent)||void 0===e?void 0:e.type)}get showInKey(){var e,t,a=this._datasetDefinition.showInKey;return void 0!==a?a:null!==(e=null===(t=this.parent)||void 0===t?void 0:t.showInKey)&&void 0!==e&&e}get visibleWhen(){var e;return void 0===this._datasetDefinition.visibleWhen?null===(e=this.parent)||void 0===e?void 0:e.visibleWhen:this._datasetDefinition.visibleWhen}get groupLabel(){var e,t;return this._datasetDefinition.groupLabel||(null===(e=this.parent)||void 0===e?void 0:e.groupLabel)||(null===(t=this.parent)||void 0===t?void 0:t.label)}get groupId(){var e,t=this._datasetDefinition.groupId||(null===(e=this.parent)||void 0===e?void 0:e.groupId);return t||(this.groupLabel?this.groupLabel.toLowerCase().replace(/\s+/g,"-"):null)}get opacity(){var e,t,a=null===(e=this.style)||void 0===e?void 0:e.opacity,r=null===(t=this.parent)||void 0===t||null===(t=t.style)||void 0===t?void 0:t.opacity;return U(a,r)}get hasDynamicGeoJSON(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}get dynamicGeoJSON(){return new W(Y(Y({},this._datasetDefinition.dynamicGeoJSON),{},{id:this.id,minZoom:this.minZoom}))}get hiddenFeatures(){return this._datasetDefinition.hiddenFeatures}get hasHiddenFeatures(){var e,t;return Boolean((null===(e=this.hiddenFeatures)||void 0===e?void 0:e.length)>0||(null===(t=this.parent)||void 0===t?void 0:t.hasHiddenFeatures))}get filter(){return null}get isHiddenByInheritance(){var e;return this.isSublayer?!(null!==(e=this.parent)&&void 0!==e&&e.visible):!Z()}get isLocallyVisible(){return!!this.isVisible||this._datasetDefinition.visible}get visible(){var e;return this.isSublayer?this._datasetDefinition.visible&&(null===(e=this.parent)||void 0===e?void 0:e.visible):this._datasetDefinition.visible&&Z()}get esriStyleLayerId(){return this._datasetDefinition.esriStyleLayerId}get visibility(){var{visible:e,visibleWhen:t}=this;return e&&t?(e=>{if(null==e)return!0;if("boolean"==typeof e)return e;if("object"==typeof e){for(var[t,a]of Object.entries(e)){if("mapStyleId"===t&&!B(a))return!1;if("menu"===t&&!x(a))return!1}return!0}return!0})(t)?"visible":"none":e?"visible":"none"}get keyVisibility(){return this.showInKey&&"visible"===this.visibility}get symbolAnchor(){var e,t;return null!==(e=this.style)&&void 0!==e&&e.symbolAnchor?this.style.symbolAnchor:null===(t=this.parent)||void 0===t?void 0:t.symbolAnchor}get sourceLayer(){return this.isSublayer?this.parent.sourceLayer:this.tiles?this._datasetDefinition.sourceLayer:void 0}get isSublayer(){return Boolean(this._datasetDefinition.parentId)}get hasSublayers(){var e;return(null===(e=this._datasetDefinition.sublayerIds)||void 0===e?void 0:e.length)>0}get sublayerIds(){return this._datasetDefinition.sublayerIds}get sublayers(){var{sublayerIds:e}=this;return e?e.map(e=>$.getDataset(e)):[]}get parent(){if(this._datasetDefinition.parentId)return $.getDataset(this._datasetDefinition.parentId)}get style(){var e,t=null===(e=this.parent)||void 0===e?void 0:e.style;return t?Y(Y(Y({},t),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}get hasCustomVisualStyle(){return b(this._datasetDefinition.style||{})}get symbolDescription(){var e,t;return null!==(e=this._datasetDefinition.style)&&void 0!==e&&e.symbolDescription?this._datasetDefinition.style.symbolDescription:this.hasCustomVisualStyle||null===(t=this.parent)||void 0===t?void 0:t.symbolDescription}get patternConfigs(){var e=this.hasPattern?[this.style]:[];return this.hasSublayers?[...e,...this.sublayers.flatMap(e=>e.patternConfigs)]:e}get symbolConfigs(){var e=this.hasSymbol?[this.style]:[];return this.hasSublayers?[...e,...this.sublayers.flatMap(e=>e.symbolConfigs)]:e}get keyDefinition(){return{id:this.id,type:"dataset",label:this.label,hasSymbol:this.hasSymbol,hasPattern:this.hasPattern,style:this.style,symbolDescription:this.symbolDescription}}}class q{constructor(){this.idToDefinitionMap=new Map,this.definitionToInstanceMap=new Map}add(e){this.idToDefinitionMap.set(e.id,e._datasetDefinition),this.definitionToInstanceMap.set(e._datasetDefinition,e)}invalidateDataset(e){var t=this.idToDefinitionMap.get(e.id);[t.id,...(null==t?void 0:t.sublayerIds)||[]].forEach(e=>{var t=this.idToDefinitionMap.get(e);this.definitionToInstanceMap.delete(t),this.idToDefinitionMap.delete(e)})}invalidateChangedDatasets(e){e.forEach(e=>{var t=this.idToDefinitionMap.get(e.id);if(t&&t!==e){var a=this.definitionToInstanceMap.get(t);this.invalidateDataset(a.isSublayer&&a.parent?a.parent:a)}})}getByDefinition(e){return this.definitionToInstanceMap.get(e)}}function X(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function Q(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?X(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):X(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var $={attach(e,t,a){this._datasets=e,this._orderedDatasets=t,this.attachMapStyle(a),this._invalidateChangedDatasets()},_definitionCache:new q,_invalidateCache(){this._definitionCache=new q},_invalidateChangedDatasets(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset(e){this._createDataset=e},_createDataset:e=>(e=>new J(e))(e),attachMapStyle(e){e&&(this._mapStyle=e)},get mapStyle(){return this._mapStyle},getDataset(e){var t=this.datasets[e];if(t){var a=this._definitionCache.getByDefinition(t);if(a)return a;var r=this._createDataset(t);return this._definitionCache.add(r),r.isSublayer&&this.getDataset(r.parentId),r}},forEach(e){this._orderedDatasets.forEach(t=>e(this.getDataset(t)))},forEachDataset(e){Object.values(this.datasets).filter(e=>!e.parentId).forEach(t=>e(this.getDataset(t.id)))},topLevelDatasets(){return Object.values(this.datasets).filter(e=>!e.parentId).map(e=>this.getDataset(e.id))},getPatternAndSymbolConfigs(){return this.topLevelDatasets().reduce((e,t)=>Q(Q({},e),{},{patternConfigs:[...e.patternConfigs,...t.patternConfigs],symbolConfigs:[...e.symbolConfigs,...t.symbolConfigs]}),{patternConfigs:[],symbolConfigs:[]})},_lastMenuState:{},invalidateKeyItemsOnMenuStateChange(e){e!==this._lastMenuState&&(this._lastMenuState=e,this._lastKeyItemsDatasets=null)},_lastKeyItems:{},keyItems(){if(this.datasets===this._lastKeyItemsDatasets)return this._lastKeyItems;this._lastKeyItemsDatasets=this.datasets;var e=[],t=new Map;this.forEach(a=>{if(a.keyVisibility)if(a.hasSublayers||a.groupId||a.groupLabel){var r=a.groupId,i=((a,r)=>{if(t.has(r))return t.get(r);var i={type:"group",id:r,groupLabel:a,keyDefinitions:[]};return t.set(r,i),e.push(i),i})(a.groupLabel||r||a.label,r);a.hasSublayers||i.keyDefinitions.push(a.keyDefinition)}else e.push({type:"flat",id:a.id,keyDefinition:a.keyDefinition})});var a=e.filter(e=>{var t;return"flat"===e.type||Boolean(null===(t=e.keyDefinitions)||void 0===t?void 0:t.length)}),r=a.some(e=>"group"===e.type);return this._lastKeyItems={items:a,hasGroups:r},this._lastKeyItems}};Object.defineProperty($,"datasets",{get:()=>$._datasets});var ee,te=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:i,events:s,dispatch:n,eventBus:o}=e,{datasets:l}=a,p=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var u=l.map(e=>((e,t)=>{var a=e.style||{},r=c(c({},t.style),a);!("symbolDescription"in a)&&b(a)&&delete r.symbolDescription;var i=c({},e);delete i.style,h.forEach(e=>delete i[e]);var s=c({},t);return delete s.style,c(c(c({},s),i),r)})(e,y)),{mappedDatasets:v,orderedDatasets:m}=D({datasets:l});t.createDataset&&$.attachCreateDataset(t.createDataset),$.attach(v,m,r);var f=d({datasets:u});o.requestOnce("menu:state",G),n({type:"SET_MENU",payload:{menu:f}}),n({type:"SET_DATASETS",payload:{mappedDatasets:v,orderedDatasets:m}}),t.init().then(()=>{$.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=N({dynamicGeoJSON:a,map:i.map,onUpdate:(e,a)=>t.setData(e,a)});p.set(e.id,r)}}),t.attachDynamicSources(p),o.emit("datasets:ready")});var g=()=>{t.onMapSizeChange()};o.on(s.MAP_SIZE_CHANGE,g);var S=o.emitWhenRequested("datasets:registry",$);return o.on("menu:changed",e=>{$.invalidateKeyItemsOnMenuStateChange(e),t.applyGlobalVisibility()}),{remove(){o.off(s.MAP_SIZE_CHANGE,g),S(),p.forEach(e=>e.destroy()),p.clear(),t.destroy()},refreshDataset(e){var t;null===(t=p.get(e))||void 0===t||t.refresh()},clearDatasetCache(e){var t;null===(t=p.get(e))||void 0===t||t.clear()},getFeatureCount(e){var t,a;return null!==(t=null===(a=p.get(e))||void 0===a?void 0:a.getFeatureCount())&&void 0!==t?t:null}}},ae=function(){var e=n(function*(e){switch(e.name){case"MapLibreProvider":var{default:t}=yield import(/* webpackChunkName: "im-datasets-ml-adapter" */ "./im-datasets-ml-adapter.js").then(function(e){return e.m});return t;case"EsriProvider":var{default:a}=yield import(/* webpackChunkName: "esriLayerAdapter" */ "./esriLayerAdapter.js");return a;default:throw new Error("No layer adapter available for map provider ".concat(e.name,". Please provide a compatible layer adapter."))}});return function(t){return e.apply(this,arguments)}}(),re={},ie=function(){var e=n(function*(e,t,a){var r,i,s=yield ae(e);return ee=new s(e,t,a),re.removeDataset=ee.removeDataset.bind(ee),re.setData=ee.setData.bind(ee),re.applyStyle=ee.applyStyle.bind(ee),re.applyDatasetVisibility=ee.applyDatasetVisibility.bind(ee),re.applyGlobalVisibility=ee.applyGlobalVisibility.bind(ee),re.applyDatasetOpacity=ee.applyDatasetOpacity.bind(ee),re.applyGlobalOpacity=ee.applyGlobalOpacity.bind(ee),re.addDataset=ee.addDataset.bind(ee),re.applyFeatureFilter=ee.applyFeatureFilter.bind(ee),re.onMapStyleChange=null===(r=ee.onMapStyleChange)||void 0===r?void 0:r.bind(ee),re.onMapSizeChange=null===(i=ee.onMapSizeChange)||void 0===i?void 0:i.bind(ee),ee});return function(t,a,r){return e.apply(this,arguments)}}();var se=function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;a(n?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:n,visible:t}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:t}})},ne=e=>{var{menuGroupItem:t,onChange:i}=e,s=$.getDataset(t.id);if(!s)return null;var n=s.isSublayer?s.parentId:s.id,o=s.isSublayer?s.id:void 0,l="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(s.visible?"":" im-c-datasets-layers__item--checked");return a("div",{className:l,"data-module":"govuk-checkboxes",children:r("div",{className:"govuk-checkboxes__item",children:[a("input",{className:"govuk-checkboxes__input",id:s.id,"data-dataset-id":n,"data-sublayer-id":o,name:"layers",type:"checkbox",value:s.id,checked:s.isLocallyVisible,onChange:i}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:s.id,children:s.label})]})},s.id)},oe=e=>{var{menuGroup:t,children:s}=e;if(!t.groupLabel)return a(i,{children:s});return a("div",{className:"govuk-form-group im-c-datasets-layers-group",children:r("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[a("legend",{className:"im-c-datasets-layers-group__legend",children:a("h3",{children:t.groupLabel})}),s]})},t.id)},le={InitComponent:function(a){var{pluginConfig:r,pluginState:i,appState:s,mapState:o,mapProvider:l,services:d}=a,{dispatch:p}=i,{eventBus:u,symbolRegistry:c,patternRegistry:y}=d,h=Boolean(null==l?void 0:l.isBaseMapReady());e(()=>{var e=!1!==r.hasMenu&&(e=>e.datasets.some(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))}))(r);e||(u.emitWhenReady(T.APP_REMOVE_PANEL,"datasetsLayers"),u.emitWhenReady(T.APP_TOGGLE_BUTTON_STATE,{id:"datasetsLayers",prop:"hidden",value:!0}))},[r.hasMenu]),t(i).current=i;var v=t(null);return e(()=>{var e,t,a,i,d=null===(e=null===(t=r.includeModes)||void 0===t?void 0:t.includes(s.mode))||void 0===e||e,b=null!==(a=null===(i=r.excludeModes)||void 0===i?void 0:i.includes(s.mode))&&void 0!==a&&a;if(h&&d&&!b&&!v.current){var m=function(){var e=n(function*(){var e=yield ie(l,c,y);v.current=te({adapter:e,pluginConfig:r,mapStyle:o.mapStyle,mapProvider:l,events:T,dispatch:p,eventBus:u})});return function(){return e.apply(this,arguments)}}();m()}},[h,s.mode]),e(()=>{$.attach(i.mappedDatasets,i.orderedDatasets),u.emit("datasets:changed")},[i.mappedDatasets,i.orderedDatasets]),e(()=>{$.attachMapStyle(o.mapStyle),null!=re&&re.onMapStyleChange&&re.onMapStyleChange()},[o.mapStyle]),e(()=>{return e=i.globals,void(H=e);var e},[i.globals]),e(()=>{var{actionsArray:e}=i;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return re[t](...a)}),p({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[i.actionsArray]),e(()=>()=>{v.current&&(v.current.remove(),v.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[]},actions:M},panels:[{id:"datasetsLayers",label:"Layers",mobile:{slot:"drawer",modal:!0,dismissible:!0},tablet:{slot:"left-top",dismissible:!0,exclusive:!0,width:"260px"},desktop:{slot:"left-top",modal:!1,dismissible:!0,exclusive:!0,width:"280px"},render:e=>{var{pluginState:t}=e,{menu:i=[]}=t,s=e=>{var{value:a,checked:r}=e.target;se({pluginState:t},r,{datasetId:a})},n=i.some(e=>e.groupLabel),o="im-c-datasets-layers".concat(n?" im-c-datasets-layers--has-groups":"");return a("div",{className:o,children:i.map(e=>r(oe,{menuGroup:e,children:[" ",e.items.map(e=>a(ne,{menuGroupItem:e,onChange:s},e.id))]},e.id))})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{id:"layers",svgContent:'<path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path>'},{id:"key",svgContent:'<path d="M3 5h.01"/><path d="M3 12h.01"/><path d="M3 19h.01"/><path d="M8 5h13"/><path d="M8 12h13"/><path d="M8 19h13"/>'}],api:{addDataset:(e,t)=>{var{pluginState:{dispatch:a},mapState:r}=e;a({type:"ADD_DATASET",payload:{dataset:t,mapStyle:r.mapStyle}})},removeDataset:(e,t)=>{var{pluginState:{dispatch:a}}=e;re.removeDataset(t),a({type:"REMOVE_DATASET",payload:{id:t}})},setDatasetVisibility:se,setFeatureVisibility:function(e,t,a){var{pluginState:{dispatch:r}}=e,{datasetId:i=null}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(i){var s=$.getDataset(i);!s||s.idProperty||s.generateIds||_.warn('setFeatureVisibility: Dataset "'.concat(i,'" has no idProperty or generateIds configured. Features may not be matched correctly. Add idProperty to match by a feature property, or add generateIds: true to use auto-generated IDs.'))}r({type:t?"SHOW_FEATURES":"HIDE_FEATURES",payload:{datasetId:i,featureIds:a}})},setStyle:function(e,t){var{pluginState:{dispatch:a},mapState:r}=e,{datasetId:i,sublayerId:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a({type:"SET_DATASET_STYLE",payload:{datasetId:i=s?"".concat(i,"-").concat(s):i,styleChanges:t,mapStyle:r.mapStyle}})},getStyle:function(e){var{_pluginState:t}=e,{datasetId:a,sublayerId:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a=r?"".concat(a,"-").concat(r):a;var i=$.getDataset(a);return i?i.style:(_.warn("getStyle: Dataset with id ".concat(a," not found")),null)},setOpacity:function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;a(n?{type:"SET_OPACITY",payload:{datasetId:n,opacity:t}}:{type:"SET_GLOBAL_OPACITY",payload:{opacity:t}})},getOpacity:function(e){var t,{pluginState:{globals:a}}=e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{datasetId:i,sublayerId:s}=r,n=s?"".concat(i,"-").concat(s):i;if(n){var o,l=$.getDataset(n);return l?null!==(o=l.opacity)&&void 0!==o?o:null:(_.warn("getOpacity: Dataset with id ".concat(n," not found")),null)}return null!==(t=a.opacity)&&void 0!==t?t:null},setData:(e,t,a)=>{var{_pluginState:r}=e,{datasetId:i}=a,s=$.getDataset(i);s?null!=s&&s.tiles?_.warn('setData called on vector tile dataset "'.concat(i,'" — has no effect')):re.setData(i,t):_.warn("setData: Dataset with id ".concat(i," not found"))},setGlobals:(e,t)=>{var{pluginState:{dispatch:a}}=e,{opacityMode:r}=t,i={},s=!1;r&&(["dataset","global","multiply"].includes(r)?(s=!0,i.opacityMode=r):_.warn("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),s?a({type:"SET_GLOBAL_STATE",payload:i}):_.warn("setGlobals: requires a valid value for opacityMode to be set")}}},de=Object.freeze({__proto__:null,manifest:le});export{J as D,$ as d,V as h,_ as l,de as m};
|