@defra/interactive-map 0.0.38-alpha → 0.0.39-alpha

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defra/interactive-map",
3
- "version": "0.0.38-alpha",
3
+ "version": "0.0.39-alpha",
4
4
  "description": "An accessible map component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +1 @@
1
- import{useRef as e,useEffect as t}from"preact/compat";import{jsx as a,jsxs as r,Fragment as s}from"preact/jsx-runtime";import i 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){i(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))}),s=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 i={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===i.items.length&&(delete i.groupLabel,i.items.push({id:e.id,label:e.label})),a.push(i)}else if(e.groupLabel){var n=s.has(e.groupLabel)?s.get(e.groupLabel):{id:e.groupLabel,groupLabel:e.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};s.has(e.groupLabel)||(s.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},[]),u=e=>{var t={};return e.forEach(e=>{var a;"radio"===e.type&&(t[e.id]=e.value||(null===(a=e.items)||void 0===a?void 0:a[0].value))}),t};function c(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?c(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):c(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var h={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},b=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],m=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],v=e=>m.some(t=>t in e);function g(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?g(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):g(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var D=(e,t)=>{var a,{id:r}=t,s=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=y(y(y({},h),e),{},{style:y(y({},h.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&v(a)&&delete t.style.symbolDescription,b.forEach(e=>delete t[e]),t})(t);t.parentId&&("showInKey"in t||delete s.showInKey,"showInMenu"in t||delete s.showInMenu),e[r]=s;var{orderedDatasets:i}=e;i.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(D,{orderedDatasets:i});return e[r].sublayerIds=o,delete e[r].sublayers,f(f(f({},e),l),{},{orderedDatasets:i})}return f(f({},e),{},{orderedDatasets:i})},O=e=>{var t=(e.datasets||[]).reduce(D,{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 P(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 E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?P(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):P(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)},w=0,I=(e,t,a)=>(w=a.actionsArray.length?w+1:0,E(E({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:w}]})),j={SET_DATASETS:(e,t)=>{var{mappedDatasets:a,orderedDatasets:r}=t;return E(E({},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:s,orderedDatasets:i}=O({datasets:[a]}),n=((e,t)=>{var a=[...e.menu],r=d({datasets:[t]}),s=a.find(e=>e.groupLabel===r[0].groupLabel);return s?s.items.push(...r[0].items):a.push(...r),a})(e,a);return I("addDataset",[a.id,r],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),s),orderedDatasets:[...e.orderedDatasets,...i],menu:n}))},REMOVE_DATASET:(e,t)=>{var a,{id:r}=t;if(!A(e,r,"removeDataset"))return e;var s=E({},e.mappedDatasets),i=[r,...(null===(a=s[r])||void 0===a?void 0:a.sublayerIds)||[]];i.forEach(e=>delete s[e]);var n=e.orderedDatasets.filter(e=>!i.includes(e));return E(E({},e),{},{mappedDatasets:s,orderedDatasets:n,menu:p(e.menu,i)})},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],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:E(E({},e.mappedDatasets[a]),{},{visible:r})})})):e},SET_GLOBAL_VISIBILITY:(e,t)=>{var{visible:a}=t;return I("applyGlobalVisibility",[a],E(E({},e),{},{globals:E(E({},e.globals),{},{visible:a})}))},SET_DATASET_STYLE:(e,t)=>{var{datasetId:a,styleChanges:r,mapStyle:s}=t;if(!A(e,a,"setDatasetStyle"))return e;var i=E(E({},e.mappedDatasets[a].style),r),n=E(E(E({},e.mappedDatasets[a]),r),{},{style:i});return I("applyStyle",[a,s],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:n})}))},SET_OPACITY:(e,t)=>{var{datasetId:a,opacity:r}=t;if(!A(e,a,"setOpacity"))return e;var s=E(E({},e.mappedDatasets[a].style),{},{opacity:r}),i=E(E({},e.mappedDatasets[a]),{},{style:s});return I("applyDatasetOpacity",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:i})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return I("applyGlobalOpacity",[],E(E({},e),{},{globals:E(E({},e.globals),{},{opacity:a})}))},HIDE_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - hideFeatures"))return e;var s=E({},e.mappedDatasets[a]),i=s.hiddenFeatures||[],n=Array.from(new Set([...i,...r]));return s.hiddenFeatures=n,I("applyFeatureFilter",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:s})}))},SHOW_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - showFeatures"))return e;var s=E({},e.mappedDatasets[a]),i=(s.hiddenFeatures||[]).filter(e=>!r.includes(e));return s.hiddenFeatures=i.length?i:[-1],I("applyFeatureFilter",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:s})}))},REMOVE_ADAPTER_ACTIONS:(e,t)=>null!=t&&t.length?E(E({},e),{},{actionsArray:e.actionsArray.filter(e=>!t.includes(e))}):e,SET_GLOBAL_STATE:(e,t)=>I("applyGlobalOpacity",[],E(E({},e),{},{globals:E(E({},e.globals),t)})),SET_MENU:(e,t)=>{var{menu:a}=t,r=u(a);return E(E({},e),{},{menu:a,menuState:r})},UPDATE_MENU_STATE:(e,t)=>I("applyGlobalVisibility",[],E(E({},e),{},{menuState:E(E({},e.menuState),t)}))},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_FEATURES:"map:setfeatures",MAP_SET_ACTIVE_FEATURE:"map:setactivefeature",MAP_SELECT_FEATURE:"map:selectfeature",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"},M=function(){var e=n(function*(e,t,a,r){var s=a(e,t),i="string"==typeof s?{url:s}:s,{url:n,headers:o={}}=i,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,s){return e.apply(this,arguments)}}(),k=(e,t)=>!(!e||!t)&&!(e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),C=e=>{var t=1/0,a=1/0,r=-1/0,s=-1/0,i=(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]),s=Math.max(s,o[1])):e.forEach(e=>i(e,n-1))};switch(e.type){case"Point":i(e.coordinates,0);break;case"LineString":case"MultiPoint":i(e.coordinates,1);break;case"Polygon":case"MultiLineString":i(e.coordinates,2);break;case"MultiPolygon":i(e.coordinates,3);break;case"GeometryCollection":e.geometries.forEach(e=>{var i=C(e);t=Math.min(t,i[0]),a=Math.min(a,i[1]),r=Math.max(r,i[2]),s=Math.max(s,i[3])});break;default:throw new Error("Unsupported geometry type: ".concat(e.type))}return[t,a,r,s]},L=e=>{var t,a,r,s,{dynamicGeoJSON:i,map:o,onUpdate:l}=e,{url:d,idProperty:p,transformRequest:u,maxFeatures:c,minZoom:y=0}=i,h=new Map,b=null,m=null,v=()=>({type:"FeatureCollection",features:Array.from(h.values()).map(e=>e.feature)}),g=function(){var e=n(function*(){var e=o.getZoom();if(!(e<y)){var t=(e=>{var t=e.getBounds();return[t.getWest(),t.getSouth(),t.getEast(),t.getNorth()]})(o);if(!(b&&(a=b,r=t,a&&r&&r[0]>=a[0]&&r[1]>=a[1]&&r[2]<=a[2]&&r[3]<=a[3]))){var a,r,s,n;m&&m.abort(),m=new AbortController;try{var g={bbox:t,zoom:e},f=yield M(d,g,u,m.signal),D=Date.now();f.features.forEach(e=>{var t=(e=>{var t,a;return p&&null!==(t=null===(a=e.properties)||void 0===a?void 0:a[p])&&void 0!==t?t:e.id})(e);null!=t?h.set(t,{feature:e,bbox:C(e.geometry),lastSeenAt:D}):console.warn("Feature missing ID, skipping:",e)}),n=t,b=(s=b)?[Math.min(s[0],n[0]),Math.min(s[1],n[1]),Math.max(s[2],n[2]),Math.max(s[3],n[3])]:[...n];var O=h.size;(e=>{if(c&&!(h.size<=1.2*c)){var t=c,a=[],r=[];for(var[s,i]of h)k(i.bbox,e)?a.push(s):r.push({id:s,lastSeenAt:i.lastSeenAt});r.sort((e,t)=>e.lastSeenAt-t.lastSeenAt);for(var n=h.size-t,o=0;o<n&&o<r.length;o++)h.delete(r[o].id);if(h.size>t)for(var l=h.size-t,d=a.map(e=>({id:e,lastSeenAt:h.get(e).lastSeenAt})).sort((e,t)=>e.lastSeenAt-t.lastSeenAt),p=0;p<l&&p<d.length;p++)h.delete(d[p].id)}})(t),h.size<O&&(b=t),l(i.id,v())}catch(e){if("AbortError"===e.name)return;console.error("Failed to fetch dynamic GeoJSON for ".concat(i.id,":"),e)}}}});return function(){return e.apply(this,arguments)}}(),f=(t=g,a=200,(s=function(){for(var e=arguments.length,s=new Array(e),i=0;i<e;i++)s[i]=arguments[i];clearTimeout(r),r=setTimeout(()=>t(...s),a)}).cancel=()=>{clearTimeout(r),r=null},s),D=()=>{f()};return o.on("moveend",D),g(),{destroy(){o.off("moveend",D),f.cancel(),m&&m.abort()},clear(){h.clear(),b=null,l(i.id,{type:"FeatureCollection",features:[]})},refresh(){h.clear(),b=null,g()},getFeatureCount:()=>h.size,reapply(){h.size>0&&l(i.id,v())}}},N={},R=e=>{N=e},F=e=>{for(var[t,a]of Object.entries(e)){var r=N[t];if(!a.includes(r))return!1}return!0},x=e=>(Array.isArray(e)?e:[e]).includes(G()),G=()=>$.mapStyle.id,V=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&&!x(a))return!1;if("menu"===t&&!F(a))return!1}return!0}return!0},B=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 W(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 K{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?W(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):W(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={};window.getGlobalState=()=>Object.freeze(H);var 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){i(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(){return this._datasetDefinition.groupLabel}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 K(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?V(t)?"visible":"none":e?"visible":"none"}get keyVisibility(){return"visible"===this.visibility&&this.showInKey}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 v(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}}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){i(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:[]})},invalidateKeyItems(){this._lastKeyItemsDatasets=null},_lastKeyItems:{},keyItems(){if(this.datasets===this._lastKeyItemsDatasets)return this._lastKeyItems;this._lastKeyItemsDatasets=this.datasets;var e=[],t=new Set,a=!1;return this.forEachDataset(r=>{if(r.showInKey&&r.keyVisibility)if(r.hasSublayers){var s=r.sublayers.filter(e=>e.keyVisibility);s.length&&(a=!0,e.push({type:"sublayers",dataset:r,sublayers:s}))}else if(r.groupLabel){if(t.has(r.groupLabel))return;t.add(r.groupLabel),a=!0,e.push({type:"group",groupLabel:r.groupLabel,datasets:this.topLevelDatasets().filter(e=>e.groupLabel===r.groupLabel&&!e.hasSublayers&&e.keyVisibility)})}else e.push({type:"flat",dataset:r})}),this._lastKeyItems={items:e,hasGroups:a},this._lastKeyItems}};Object.defineProperty($,"datasets",{get:()=>$._datasets}),window.datasetRegistry=$;var ee,te=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:s,events:i,dispatch:n,eventBus:o}=e,{datasets:l}=a,p=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var c=l.map(e=>((e,t)=>{var a=e.style||{},r=y(y({},t.style),a);!("symbolDescription"in a)&&v(a)&&delete r.symbolDescription;var s=y({},e);delete s.style,b.forEach(e=>delete s[e]);var i=y({},t);return delete i.style,y(y(y({},i),s),r)})(e,h)),{mappedDatasets:m,orderedDatasets:g}=O({datasets:l});t.createDataset&&$.attachCreateDataset(t.createDataset),$.attach(m,g,r);var f=a.menu||d({datasets:c});R(u(f)),n({type:"SET_MENU",payload:{menu:f}}),n({type:"SET_DATASETS",payload:{mappedDatasets:m,orderedDatasets:g}}),t.init().then(()=>{$.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=L({dynamicGeoJSON:a,map:s.map,onUpdate:(e,a)=>t.setData(e,a)});p.set(e.id,r)}}),t.attachDynamicSources(p),o.emit("datasets:ready")});var D=()=>{t.onMapSizeChange()};return o.on(i.MAP_SIZE_CHANGE,D),{remove(){o.off(i.MAP_SIZE_CHANGE,D),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={},se=function(){var e=n(function*(e,t,a){var r,s,i=yield ae(e);return ee=new i(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===(s=ee.onMapSizeChange)||void 0===s?void 0:s.bind(ee),ee});return function(t,a,r){return e.apply(this,arguments)}}();var ie=function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;a(n?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:n,visible:t}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:t}})},ne=e=>{var{menuGroupItem:t,onChange:s}=e,i=$.getDataset(t.id);if(!i)return null;var n=i.isSublayer?i.parentId:i.id,o=i.isSublayer?i.id:void 0,l="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(i.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:i.id,"data-dataset-id":n,"data-sublayer-id":o,name:"layers",type:"checkbox",value:i.id,checked:i.isLocallyVisible,onChange:s}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:i.id,children:i.label})]})},i.id)},oe=e=>{var{menuGroupItem:t,name:s,checked:i,onChange:n}=e,{visibleWhen:o}=t;return!o||V(o)?a("div",{className:'im-c-datasets-layers__item govuk-radios govuk-radios--small"',"data-module":"govuk-radios",children:r("div",{className:"govuk-radios__item",children:[a("input",{id:t.id,className:"govuk-radios__input",type:"radio",name:s,value:t.id,checked:i,onChange:n}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-radios__label",htmlFor:t.id,children:t.label})]})}):null},le=e=>{var{pluginState:t,menuGroup:s}=e,{id:i,items:n,visibleWhen:o}=s;if(!(!o||V(o)))return null;var{menuState:l,dispatch:d}=t,p=l[i],u=e=>{d({type:"UPDATE_MENU_STATE",payload:{[i]:e.target.value}})};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:s.label})}),a("div",{className:"govuk-radios govuk-radios--small","data-module":"govuk-radios",children:n.map(e=>a(oe,{menuGroupItem:e,name:i,checked:e.id===p,onChange:u},e.id))})]})},s.id)},de=e=>{var{menuGroup:t,children:i}=e;if(!t.groupLabel)return a(s,{children:i});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})}),i]})},t.id)},pe=e=>{var{text:t}=e;return a("div",{className:"im-c-datasets-key",children:a("p",{className:"im-c-datasets-key__empty-message",children:t})})},ue=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var a=Object.values(e)[0];return null!=a?a:null}return null};function ce(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 ye(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ce(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var he=20,be={xmlns:"http://www.w3.org/2000/svg",width:he,height:he,viewBox:"0 0 ".concat(he," ").concat(he),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},me=ye(ye({},be),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function ve(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 ge(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ve(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ve(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var fe=e=>{var{patternRegistry:t,registryDataset:s,mapStyle:i}=e,{style:n}=s,o=t.getKeyPatternPaths(n,i.id);return r("svg",ge(ge({},be),{},{children:[a("g",{dangerouslySetInnerHTML:{__html:o.border}}),a("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]}))},De=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),Oe=(e,t)=>{var a;return e.symbolAnchor?e.symbolAnchor:null!==(a=null==t?void 0:t.anchor)&&void 0!==a?a:[.5,.5]};function Se(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 _e(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Se(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Se(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Pe=e=>{var t,{symbolRegistry:r,registryDataset:s,mapStyle:i,symbolDef:n}=e,{style:o}=s,l=null!==(t=null==i?void 0:i.appColorScheme)&&void 0!==t?t:"light",d=_e(_e({},i),{},{mapColorScheme:l}),p=r.resolve(n,(e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return De.forEach(a=>{if(null!=e[a]){var r=a.charAt(6).toLowerCase()+a.slice(7);t[r]=e[a]}}),t})(o),d),u=((e,t)=>{var a;return e.symbolViewBox?e.symbolViewBox:null!==(a=null==t?void 0:t.viewBox)&&void 0!==a?a:"0 0 38 38"})(o,n);return a("svg",_e(_e({},me),{},{viewBox:u,children:a("g",{dangerouslySetInnerHTML:{__html:p}})}))};function Ee(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 Ae(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ee(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var we=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",Ae(Ae({},be),{},{children:a("line",{x1:s.strokeWidth/2,y1:10,x2:he-s.strokeWidth/2,y2:10,stroke:ue(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinecap:"round"})}))};function Ie(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 je(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ie(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Te=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",je(je({},be),{},{children:a("rect",{x:s.strokeWidth/2,y:s.strokeWidth/2,width:he-s.strokeWidth,height:he-s.strokeWidth,rx:s.strokeWidth,ry:s.strokeWidth,fill:ue(s.fill,t.id),stroke:ue(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinejoin:"round"})}))},Me=e=>{var{symbolRegistry:t,registryDataset:r,mapStyle:s,patternRegistry:i}=e,{hasSymbol:n,hasPattern:o,style:l}=r,d=n&&t.getSymbolDef(l);return d?a(Pe,{mapStyle:s,registryDataset:r,symbolRegistry:t,symbolDef:d}):o?a(fe,{mapStyle:s,registryDataset:r,patternRegistry:i}):"line"===l.keySymbolShape?a(we,{mapStyle:s,registryDataset:r}):a(Te,{mapStyle:s,registryDataset:r})},ke=e=>{var{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n}=e;return t.showInKey?r("dl",{className:"im-c-datasets-key__item",children:[a("dt",{className:"im-c-datasets-key__item-symbol",children:a(Me,{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n})}),r("dd",{className:"im-c-datasets-key__item-label",children:[t.label,t.symbolDescription&&r("span",{className:"govuk-visually-hidden",children:["(",ue(t.symbolDescription,n.id),")"]})]})]}):null},Ce=e=>{var{headingId:t,label:s,datasets:i,symbolRegistry:n,patternRegistry:o,mapStyle:l}=e;return r("section",{className:"im-c-datasets-key__group","aria-labelledby":t,children:[a("h3",{id:t,className:"im-c-datasets-key__group-heading",children:s}),i.map(e=>a(ke,{registryDataset:e,symbolRegistry:n,patternRegistry:o,mapStyle:l},"".concat(e.id)))]})},Le={InitComponent:function(a){var{pluginConfig:r,pluginState:s,appState:i,mapState:o,mapProvider:l,services:d}=a,{dispatch:p}=s,{eventBus:u,symbolRegistry:c,patternRegistry:y}=d,h=Boolean(null==l?void 0:l.isBaseMapReady());e(s).current=s;var b=e(null);return t(()=>{var e,t,a,s,d=null===(e=null===(t=r.includeModes)||void 0===t?void 0:t.includes(i.mode))||void 0===e||e,m=null!==(a=null===(s=r.excludeModes)||void 0===s?void 0:s.includes(i.mode))&&void 0!==a&&a;if(h&&d&&!m&&!b.current){var v=function(){var e=n(function*(){var e=yield se(l,c,y);b.current=te({adapter:e,pluginConfig:r,mapStyle:o.mapStyle,mapProvider:l,events:T,dispatch:p,eventBus:u})});return function(){return e.apply(this,arguments)}}();v()}},[h,i.mode]),t(()=>{R(s.menuState),$.invalidateKeyItems()},[s.menuState]),t(()=>$.attach(s.mappedDatasets,s.orderedDatasets),[s.mappedDatasets,s.orderedDatasets]),t(()=>{$.attachMapStyle(o.mapStyle),null!=re&&re.onMapStyleChange&&re.onMapStyleChange()},[o.mapStyle]),t(()=>{return e=s.globals,void(H=e);var e},[s.globals]),t(()=>{var{actionsArray:e}=s;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return re[t](...a)}),p({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[s.actionsArray]),t(()=>()=>{b.current&&(b.current.remove(),b.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[],menuState:{}},actions:j},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:s=[]}=t,i=e=>{var{value:a,checked:r}=e.target;ie({pluginState:t},r,{datasetId:a})},n=s.some(e=>e.groupLabel),o="im-c-datasets-layers".concat(n?" im-c-datasets-layers--has-groups":"");return a("div",{className:o,children:s.map(e=>{var{type:s}=e;return"checkbox"===s?r(de,{menuGroup:e,children:[" ",e.items.map(e=>a(ne,{menuGroupItem:e,onChange:i},e.id))]},e.id):a(le,{menuGroup:e,pluginState:t},e.id)})})}},{id:"datasetsKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:e=>{var{pluginConfig:{noKeyItemText:t},mapState:{mapStyle:r},services:{symbolRegistry:s,patternRegistry:i}}=e,{items:n,hasGroups:o}=$.keyItems();if(null==n||!n.length)return a(pe,{text:t});var l="im-c-datasets-key".concat(o?" im-c-datasets-key--has-groups":"");return a("div",{className:l,children:n.map(e=>{var t="group"===e.type?e.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):e.dataset.id;if("sublayers"===e.type||"group"===e.type){var n="sublayers"===e.type?e.sublayers:e.datasets,o="sublayers"===e.type?e.dataset.label:e.groupLabel;return a(Ce,{headingId:"key-heading-".concat(t),label:o,datasets:n,symbolRegistry:s,patternRegistry:i,mapStyle:r},t)}return a(ke,{registryDataset:e.dataset,symbolRegistry:s,patternRegistry:i,mapStyle:r},t)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.menu&&!t.datasets.some(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))})},mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}},{id:"datasetsKey",label:"Key",panelId:"datasetsKey",iconId:"key",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.datasets.some(e=>e.showInKey)},mobile:{slot:"top-left",showLabel:!1},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:ie,setFeatureVisibility:function(e,t,a){var{pluginState:{dispatch:r}}=e,{datasetId:s=null}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(s){var i=$.getDataset(s);!i||i.idProperty||i.generateIds||_.warn('setFeatureVisibility: Dataset "'.concat(s,'" 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:s,featureIds:a}})},setStyle:function(e,t){var{pluginState:{dispatch:a},mapState:r}=e,{datasetId:s,sublayerId:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a({type:"SET_DATASET_STYLE",payload:{datasetId:s=i?"".concat(s,"-").concat(i):s,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 s=$.getDataset(a);return s?s.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:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;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:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;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:s}=a,i=$.getDataset(s);i?null!=i&&i.tiles?_.warn('setData called on vector tile dataset "'.concat(s,'" — has no effect')):re.setData(s,t):_.warn("setData: Dataset with id ".concat(s," not found"))},setGlobals:(e,t)=>{var{pluginState:{dispatch:a}}=e,{opacityMode:r}=t,s={},i=!1;r&&(["dataset","global","multiply"].includes(r)?(i=!0,s.opacityMode=r):_.warn("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),i?a({type:"SET_GLOBAL_STATE",payload:s}):_.warn("setGlobals: requires a valid value for opacityMode to be set")}}},Ne=Object.freeze({__proto__:null,manifest:Le});export{J as D,ue as a,$ as d,Oe as g,B as h,_ as l,Ne as m};
1
+ import{useRef as e,useEffect as t}from"preact/compat";import{jsx as a,jsxs as r,Fragment as s}from"preact/jsx-runtime";import i 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){i(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))}),s=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 i={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===i.items.length&&(delete i.groupLabel,i.items.push({id:e.id,label:e.label})),a.push(i)}else if(e.groupLabel){var n=s.has(e.groupLabel)?s.get(e.groupLabel):{id:e.groupLabel,groupLabel:e.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};s.has(e.groupLabel)||(s.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},[]),u=e=>{var t={};return e.forEach(e=>{var a;"radio"===e.type&&(t[e.id]=e.value||(null===(a=e.items)||void 0===a?void 0:a[0].value))}),t};function c(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?c(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):c(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var h={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},m=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],b=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],v=e=>b.some(t=>t in e);function g(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?g(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):g(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var D=(e,t)=>{var a,{id:r}=t,s=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=y(y(y({},h),e),{},{style:y(y({},h.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&v(a)&&delete t.style.symbolDescription,m.forEach(e=>delete t[e]),t})(t);t.parentId&&("showInKey"in t||delete s.showInKey,"showInMenu"in t||delete s.showInMenu),e[r]=s;var{orderedDatasets:i}=e;i.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(D,{orderedDatasets:i});return e[r].sublayerIds=o,delete e[r].sublayers,f(f(f({},e),l),{},{orderedDatasets:i})}return f(f({},e),{},{orderedDatasets:i})},O=e=>{var t=(e.datasets||[]).reduce(D,{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 P(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 E(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?P(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):P(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)},w=0,I=(e,t,a)=>(w=a.actionsArray.length?w+1:0,E(E({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:w}]})),j={SET_DATASETS:(e,t)=>{var{mappedDatasets:a,orderedDatasets:r}=t;return E(E({},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:s,orderedDatasets:i}=O({datasets:[a]}),n=((e,t)=>{var a=[...e.menu],r=d({datasets:[t]}),s=a.find(e=>e.groupLabel===r[0].groupLabel);return s?s.items.push(...r[0].items):a.push(...r),a})(e,a);return I("addDataset",[a.id,r],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),s),orderedDatasets:[...e.orderedDatasets,...i],menu:n}))},REMOVE_DATASET:(e,t)=>{var a,{id:r}=t;if(!A(e,r,"removeDataset"))return e;var s=E({},e.mappedDatasets),i=[r,...(null===(a=s[r])||void 0===a?void 0:a.sublayerIds)||[]];i.forEach(e=>delete s[e]);var n=e.orderedDatasets.filter(e=>!i.includes(e));return E(E({},e),{},{mappedDatasets:s,orderedDatasets:n,menu:p(e.menu,i)})},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],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:E(E({},e.mappedDatasets[a]),{},{visible:r})})})):e},SET_GLOBAL_VISIBILITY:(e,t)=>{var{visible:a}=t;return I("applyGlobalVisibility",[a],E(E({},e),{},{globals:E(E({},e.globals),{},{visible:a})}))},SET_DATASET_STYLE:(e,t)=>{var{datasetId:a,styleChanges:r,mapStyle:s}=t;if(!A(e,a,"setDatasetStyle"))return e;var i=E(E({},e.mappedDatasets[a].style),r),n=E(E(E({},e.mappedDatasets[a]),r),{},{style:i});return I("applyStyle",[a,s],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:n})}))},SET_OPACITY:(e,t)=>{var{datasetId:a,opacity:r}=t;if(!A(e,a,"setOpacity"))return e;var s=E(E({},e.mappedDatasets[a].style),{},{opacity:r}),i=E(E({},e.mappedDatasets[a]),{},{style:s});return I("applyDatasetOpacity",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:i})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return I("applyGlobalOpacity",[],E(E({},e),{},{globals:E(E({},e.globals),{},{opacity:a})}))},HIDE_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - hideFeatures"))return e;var s=E({},e.mappedDatasets[a]),i=s.hiddenFeatures||[],n=Array.from(new Set([...i,...r]));return s.hiddenFeatures=n,I("applyFeatureFilter",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:s})}))},SHOW_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!A(e,a,"setFeatureVisibility - showFeatures"))return e;var s=E({},e.mappedDatasets[a]),i=(s.hiddenFeatures||[]).filter(e=>!r.includes(e));return s.hiddenFeatures=i.length?i:[-1],I("applyFeatureFilter",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:s})}))},REMOVE_ADAPTER_ACTIONS:(e,t)=>null!=t&&t.length?E(E({},e),{},{actionsArray:e.actionsArray.filter(e=>!t.includes(e))}):e,SET_GLOBAL_STATE:(e,t)=>I("applyGlobalOpacity",[],E(E({},e),{},{globals:E(E({},e.globals),t)})),SET_MENU:(e,t)=>{var{menu:a}=t,r=u(a);return E(E({},e),{},{menu:a,menuState:r})},UPDATE_MENU_STATE:(e,t)=>I("applyGlobalVisibility",[],E(E({},e),{},{menuState:E(E({},e.menuState),t)}))},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_FEATURES:"map:setfeatures",MAP_SET_ACTIVE_FEATURE:"map:setactivefeature",MAP_SELECT_FEATURE:"map:selectfeature",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"},M=function(){var e=n(function*(e,t,a,r){var s=a(e,t),i="string"==typeof s?{url:s}:s,{url:n,headers:o={}}=i,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,s){return e.apply(this,arguments)}}(),k=(e,t)=>!(!e||!t)&&!(e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),C=e=>{var t=1/0,a=1/0,r=-1/0,s=-1/0,i=(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]),s=Math.max(s,o[1])):e.forEach(e=>i(e,n-1))};switch(e.type){case"Point":i(e.coordinates,0);break;case"LineString":case"MultiPoint":i(e.coordinates,1);break;case"Polygon":case"MultiLineString":i(e.coordinates,2);break;case"MultiPolygon":i(e.coordinates,3);break;case"GeometryCollection":e.geometries.forEach(e=>{var i=C(e);t=Math.min(t,i[0]),a=Math.min(a,i[1]),r=Math.max(r,i[2]),s=Math.max(s,i[3])});break;default:throw new Error("Unsupported geometry type: ".concat(e.type))}return[t,a,r,s]},L=e=>{var t,a,r,s,{dynamicGeoJSON:i,map:o,onUpdate:l}=e,{url:d,idProperty:p,transformRequest:u,maxFeatures:c,minZoom:y=0}=i,h=new Map,m=null,b=null,v=()=>({type:"FeatureCollection",features:Array.from(h.values()).map(e=>e.feature)}),g=function(){var e=n(function*(){var e=o.getZoom();if(!(e<y)){var t=(e=>{var t=e.getBounds();return[t.getWest(),t.getSouth(),t.getEast(),t.getNorth()]})(o);if(!(m&&(a=m,r=t,a&&r&&r[0]>=a[0]&&r[1]>=a[1]&&r[2]<=a[2]&&r[3]<=a[3]))){var a,r,s,n;b&&b.abort(),b=new AbortController;try{var g={bbox:t,zoom:e},f=yield M(d,g,u,b.signal),D=Date.now();f.features.forEach(e=>{var t=(e=>{var t,a;return p&&null!==(t=null===(a=e.properties)||void 0===a?void 0:a[p])&&void 0!==t?t:e.id})(e);null!=t?h.set(t,{feature:e,bbox:C(e.geometry),lastSeenAt:D}):console.warn("Feature missing ID, skipping:",e)}),n=t,m=(s=m)?[Math.min(s[0],n[0]),Math.min(s[1],n[1]),Math.max(s[2],n[2]),Math.max(s[3],n[3])]:[...n];var O=h.size;(e=>{if(c&&!(h.size<=1.2*c)){var t=c,a=[],r=[];for(var[s,i]of h)k(i.bbox,e)?a.push(s):r.push({id:s,lastSeenAt:i.lastSeenAt});r.sort((e,t)=>e.lastSeenAt-t.lastSeenAt);for(var n=h.size-t,o=0;o<n&&o<r.length;o++)h.delete(r[o].id);if(h.size>t)for(var l=h.size-t,d=a.map(e=>({id:e,lastSeenAt:h.get(e).lastSeenAt})).sort((e,t)=>e.lastSeenAt-t.lastSeenAt),p=0;p<l&&p<d.length;p++)h.delete(d[p].id)}})(t),h.size<O&&(m=t),l(i.id,v())}catch(e){if("AbortError"===e.name)return;console.error("Failed to fetch dynamic GeoJSON for ".concat(i.id,":"),e)}}}});return function(){return e.apply(this,arguments)}}(),f=(t=g,a=200,(s=function(){for(var e=arguments.length,s=new Array(e),i=0;i<e;i++)s[i]=arguments[i];clearTimeout(r),r=setTimeout(()=>t(...s),a)}).cancel=()=>{clearTimeout(r),r=null},s),D=()=>{f()};return o.on("moveend",D),g(),{destroy(){o.off("moveend",D),f.cancel(),b&&b.abort()},clear(){h.clear(),m=null,l(i.id,{type:"FeatureCollection",features:[]})},refresh(){h.clear(),m=null,g()},getFeatureCount:()=>h.size,reapply(){h.size>0&&l(i.id,v())}}},N={},R=e=>{N=e},F=e=>{for(var[t,a]of Object.entries(e)){var r=N[t];if(!a.includes(r))return!1}return!0},x=e=>(Array.isArray(e)?e:[e]).includes(G()),G=()=>$.mapStyle.id,V=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&&!x(a))return!1;if("menu"===t&&!F(a))return!1}return!0}return!0},B=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 W(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 K{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?W(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):W(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={};window.getGlobalState=()=>Object.freeze(H);var 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){i(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 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 K(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?V(t)?"visible":"none":e?"visible":"none"}get keyVisibility(){return"visible"===this.visibility&&this.showInKey}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 v(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}}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){i(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:[]})},invalidateKeyItems(){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.showInKey&&a.keyVisibility)if(a.hasSublayers||a.groupLabel){var r=(a=>{if(t.has(a))return t.get(a);var r={type:"group",groupLabel:a,datasets:[]};return t.set(a,r),e.push(r),r})(a.groupLabel||a.label);a.hasSublayers||r.datasets.push(a)}else e.push({type:"flat",dataset:a})});var a=e.filter(e=>{var t;return"flat"===e.type||Boolean(null===(t=e.datasets)||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}),window.datasetRegistry=$;var ee,te=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:s,events:i,dispatch:n,eventBus:o}=e,{datasets:l}=a,p=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var c=l.map(e=>((e,t)=>{var a=e.style||{},r=y(y({},t.style),a);!("symbolDescription"in a)&&v(a)&&delete r.symbolDescription;var s=y({},e);delete s.style,m.forEach(e=>delete s[e]);var i=y({},t);return delete i.style,y(y(y({},i),s),r)})(e,h)),{mappedDatasets:b,orderedDatasets:g}=O({datasets:l});t.createDataset&&$.attachCreateDataset(t.createDataset),$.attach(b,g,r);var f=a.menu||d({datasets:c});R(u(f)),n({type:"SET_MENU",payload:{menu:f}}),n({type:"SET_DATASETS",payload:{mappedDatasets:b,orderedDatasets:g}}),t.init().then(()=>{$.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=L({dynamicGeoJSON:a,map:s.map,onUpdate:(e,a)=>t.setData(e,a)});p.set(e.id,r)}}),t.attachDynamicSources(p),o.emit("datasets:ready")});var D=()=>{t.onMapSizeChange()};return o.on(i.MAP_SIZE_CHANGE,D),{remove(){o.off(i.MAP_SIZE_CHANGE,D),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={},se=function(){var e=n(function*(e,t,a){var r,s,i=yield ae(e);return ee=new i(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===(s=ee.onMapSizeChange)||void 0===s?void 0:s.bind(ee),ee});return function(t,a,r){return e.apply(this,arguments)}}();var ie=function(e,t){var{pluginState:{dispatch:a}}=e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;a(n?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:n,visible:t}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:t}})},ne=e=>{var{menuGroupItem:t,onChange:s}=e,i=$.getDataset(t.id);if(!i)return null;var n=i.isSublayer?i.parentId:i.id,o=i.isSublayer?i.id:void 0,l="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(i.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:i.id,"data-dataset-id":n,"data-sublayer-id":o,name:"layers",type:"checkbox",value:i.id,checked:i.isLocallyVisible,onChange:s}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:i.id,children:i.label})]})},i.id)},oe=e=>{var{menuGroupItem:t,name:s,checked:i,onChange:n}=e,{visibleWhen:o}=t;return!o||V(o)?a("div",{className:'im-c-datasets-layers__item govuk-radios govuk-radios--small"',"data-module":"govuk-radios",children:r("div",{className:"govuk-radios__item",children:[a("input",{id:t.id,className:"govuk-radios__input",type:"radio",name:s,value:t.id,checked:i,onChange:n}),a("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-radios__label",htmlFor:t.id,children:t.label})]})}):null},le=e=>{var{pluginState:t,menuGroup:s}=e,{id:i,items:n,visibleWhen:o}=s;if(!(!o||V(o)))return null;var{menuState:l,dispatch:d}=t,p=l[i],u=e=>{d({type:"UPDATE_MENU_STATE",payload:{[i]:e.target.value}})};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:s.label})}),a("div",{className:"govuk-radios govuk-radios--small","data-module":"govuk-radios",children:n.map(e=>a(oe,{menuGroupItem:e,name:i,checked:e.id===p,onChange:u},e.id))})]})},s.id)},de=e=>{var{menuGroup:t,children:i}=e;if(!t.groupLabel)return a(s,{children:i});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})}),i]})},t.id)},pe=e=>{var{text:t}=e;return a("div",{className:"im-c-datasets-key",children:a("p",{className:"im-c-datasets-key__empty-message",children:t})})},ue=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var a=Object.values(e)[0];return null!=a?a:null}return null};function ce(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 ye(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ce(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var he=20,me={xmlns:"http://www.w3.org/2000/svg",width:he,height:he,viewBox:"0 0 ".concat(he," ").concat(he),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},be=ye(ye({},me),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function ve(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 ge(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ve(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ve(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var fe=e=>{var{patternRegistry:t,registryDataset:s,mapStyle:i}=e,{style:n}=s,o=t.getKeyPatternPaths(n,i.id);return r("svg",ge(ge({},me),{},{children:[a("g",{dangerouslySetInnerHTML:{__html:o.border}}),a("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]}))},De=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),Oe=(e,t)=>{var a;return e.symbolAnchor?e.symbolAnchor:null!==(a=null==t?void 0:t.anchor)&&void 0!==a?a:[.5,.5]};function Se(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 _e(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Se(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Se(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Pe=e=>{var t,{symbolRegistry:r,registryDataset:s,mapStyle:i,symbolDef:n}=e,{style:o}=s,l=null!==(t=null==i?void 0:i.appColorScheme)&&void 0!==t?t:"light",d=_e(_e({},i),{},{mapColorScheme:l}),p=r.resolve(n,(e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return De.forEach(a=>{if(null!=e[a]){var r=a.charAt(6).toLowerCase()+a.slice(7);t[r]=e[a]}}),t})(o),d),u=((e,t)=>{var a;return e.symbolViewBox?e.symbolViewBox:null!==(a=null==t?void 0:t.viewBox)&&void 0!==a?a:"0 0 38 38"})(o,n);return a("svg",_e(_e({},be),{},{viewBox:u,children:a("g",{dangerouslySetInnerHTML:{__html:p}})}))};function Ee(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 Ae(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ee(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ee(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var we=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",Ae(Ae({},me),{},{children:a("line",{x1:s.strokeWidth/2,y1:10,x2:he-s.strokeWidth/2,y2:10,stroke:ue(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinecap:"round"})}))};function Ie(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 je(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ie(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Te=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",je(je({},me),{},{children:a("rect",{x:s.strokeWidth/2,y:s.strokeWidth/2,width:he-s.strokeWidth,height:he-s.strokeWidth,rx:s.strokeWidth,ry:s.strokeWidth,fill:ue(s.fill,t.id),stroke:ue(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinejoin:"round"})}))},Me=e=>{var{symbolRegistry:t,registryDataset:r,mapStyle:s,patternRegistry:i}=e,{hasSymbol:n,hasPattern:o,style:l}=r,d=n&&t.getSymbolDef(l);return d?a(Pe,{mapStyle:s,registryDataset:r,symbolRegistry:t,symbolDef:d}):o?a(fe,{mapStyle:s,registryDataset:r,patternRegistry:i}):"line"===l.keySymbolShape?a(we,{mapStyle:s,registryDataset:r}):a(Te,{mapStyle:s,registryDataset:r})},ke=e=>{var{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n}=e;return t.showInKey?r("dl",{className:"im-c-datasets-key__item",children:[a("dt",{className:"im-c-datasets-key__item-symbol",children:a(Me,{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n})}),r("dd",{className:"im-c-datasets-key__item-label",children:[t.label,t.symbolDescription&&r("span",{className:"govuk-visually-hidden",children:["(",ue(t.symbolDescription,n.id),")"]})]})]}):null},Ce=e=>{var{headingId:t,label:s,datasets:i,symbolRegistry:n,patternRegistry:o,mapStyle:l}=e;return r("section",{className:"im-c-datasets-key__group","aria-labelledby":t,children:[a("h3",{id:t,className:"im-c-datasets-key__group-heading",children:s}),i.map(e=>a(ke,{registryDataset:e,symbolRegistry:n,patternRegistry:o,mapStyle:l},"".concat(e.id)))]})},Le={InitComponent:function(a){var{pluginConfig:r,pluginState:s,appState:i,mapState:o,mapProvider:l,services:d}=a,{dispatch:p}=s,{eventBus:u,symbolRegistry:c,patternRegistry:y}=d,h=Boolean(null==l?void 0:l.isBaseMapReady());e(s).current=s;var m=e(null);return t(()=>{var e,t,a,s,d=null===(e=null===(t=r.includeModes)||void 0===t?void 0:t.includes(i.mode))||void 0===e||e,b=null!==(a=null===(s=r.excludeModes)||void 0===s?void 0:s.includes(i.mode))&&void 0!==a&&a;if(h&&d&&!b&&!m.current){var v=function(){var e=n(function*(){var e=yield se(l,c,y);m.current=te({adapter:e,pluginConfig:r,mapStyle:o.mapStyle,mapProvider:l,events:T,dispatch:p,eventBus:u})});return function(){return e.apply(this,arguments)}}();v()}},[h,i.mode]),t(()=>{R(s.menuState),$.invalidateKeyItems()},[s.menuState]),t(()=>$.attach(s.mappedDatasets,s.orderedDatasets),[s.mappedDatasets,s.orderedDatasets]),t(()=>{$.attachMapStyle(o.mapStyle),null!=re&&re.onMapStyleChange&&re.onMapStyleChange()},[o.mapStyle]),t(()=>{return e=s.globals,void(H=e);var e},[s.globals]),t(()=>{var{actionsArray:e}=s;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return re[t](...a)}),p({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[s.actionsArray]),t(()=>()=>{m.current&&(m.current.remove(),m.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[],menuState:{}},actions:j},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:s=[]}=t,i=e=>{var{value:a,checked:r}=e.target;ie({pluginState:t},r,{datasetId:a})},n=s.some(e=>e.groupLabel),o="im-c-datasets-layers".concat(n?" im-c-datasets-layers--has-groups":"");return a("div",{className:o,children:s.map(e=>{var{type:s}=e;return"checkbox"===s?r(de,{menuGroup:e,children:[" ",e.items.map(e=>a(ne,{menuGroupItem:e,onChange:i},e.id))]},e.id):a(le,{menuGroup:e,pluginState:t},e.id)})})}},{id:"datasetsKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:e=>{var{pluginConfig:{noKeyItemText:t},mapState:{mapStyle:r},services:{symbolRegistry:s,patternRegistry:i}}=e,{items:n,hasGroups:o}=$.keyItems();if(null==n||!n.length)return a(pe,{text:t});var l="im-c-datasets-key".concat(o?" im-c-datasets-key--has-groups":"");return a("div",{className:l,children:n.map(e=>{var t="group"===e.type?e.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):e.dataset.id;if("sublayers"===e.type||"group"===e.type){var n="sublayers"===e.type?e.sublayers:e.datasets,o="sublayers"===e.type?e.dataset.label:e.groupLabel;return a(Ce,{headingId:"key-heading-".concat(t),label:o,datasets:n,symbolRegistry:s,patternRegistry:i,mapStyle:r},t)}return a(ke,{registryDataset:e.dataset,symbolRegistry:s,patternRegistry:i,mapStyle:r},t)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.menu&&!t.datasets.some(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))})},mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}},{id:"datasetsKey",label:"Key",panelId:"datasetsKey",iconId:"key",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.datasets.some(e=>e.showInKey)},mobile:{slot:"top-left",showLabel:!1},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:ie,setFeatureVisibility:function(e,t,a){var{pluginState:{dispatch:r}}=e,{datasetId:s=null}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(s){var i=$.getDataset(s);!i||i.idProperty||i.generateIds||_.warn('setFeatureVisibility: Dataset "'.concat(s,'" 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:s,featureIds:a}})},setStyle:function(e,t){var{pluginState:{dispatch:a},mapState:r}=e,{datasetId:s,sublayerId:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};a({type:"SET_DATASET_STYLE",payload:{datasetId:s=i?"".concat(s,"-").concat(i):s,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 s=$.getDataset(a);return s?s.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:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;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:s,sublayerId:i}=r,n=i?"".concat(s,"-").concat(i):s;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:s}=a,i=$.getDataset(s);i?null!=i&&i.tiles?_.warn('setData called on vector tile dataset "'.concat(s,'" — has no effect')):re.setData(s,t):_.warn("setData: Dataset with id ".concat(s," not found"))},setGlobals:(e,t)=>{var{pluginState:{dispatch:a}}=e,{opacityMode:r}=t,s={},i=!1;r&&(["dataset","global","multiply"].includes(r)?(i=!0,s.opacityMode=r):_.warn("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),i?a({type:"SET_GLOBAL_STATE",payload:s}):_.warn("setGlobals: requires a valid value for opacityMode to be set")}}},Ne=Object.freeze({__proto__:null,manifest:Le});export{J as D,ue as a,$ as d,Oe as g,B as h,_ as l,Ne as m};
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see im-datasets-plugin.js.LICENSE.txt */
2
- "use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[2447],{65767(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return(e=function(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{V:()=>s,jE:()=>y,ns:()=>f,p_:()=>c});var s={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},u=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],l=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],c=function(t){return l.some(function(e){return e in t})},f=function(t,e){var r=t.style||{},n=a(a({},e.style),r);!("symbolDescription"in r)&&c(r)&&delete n.symbolDescription;var o=a({},t);delete o.style,u.forEach(function(t){return delete o[t]});var i=a({},e);return delete i.style,a(a(a({},i),o),n)},y=function(t){!0!==t.visible&&!1!==t.visible&&(t.visible="hidden"!==t.visibility);var e=a(a(a({},s),t),{},{style:a(a({},s.style),t.style)}),r=t.style||{};return!("symbolDescription"in r)&&c(r)&&delete e.style.symbolDescription,u.forEach(function(t){return delete e[t]}),e}},95032(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return(e=function(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return u(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}r.r(e),r.d(e,{manifest:()=>Jt});var l=function(t){var e=t.datasets,r=[],n=(void 0===e?[]:e).filter(function(t){var e;return t.showInMenu||(null===(e=t.sublayers)||void 0===e?void 0:e.some(function(t){return t.showInMenu}))}),o=new Map;return n.forEach(function(t){var e;if(null!==(e=t.sublayers)&&void 0!==e&&e.length){var n=t.sublayers.filter(function(e){return t.showInMenu?!1!==e.showInMenu:e.showInMenu});if(!1===t.showInMenu&&!n.length)return;var a={id:t.id,groupLabel:t.label,visibleWhen:!0,type:"checkbox",items:n.map(function(e){return{id:"".concat(t.id,"-").concat(e.id),label:e.label}})};0===a.items.length&&(delete a.groupLabel,a.items.push({id:t.id,label:t.label})),r.push(a)}else if(t.groupLabel){var i=o.has(t.groupLabel)?o.get(t.groupLabel):{id:t.groupLabel,groupLabel:t.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};o.has(t.groupLabel)||(o.set(t.groupLabel,i),r.push(i)),i.items.push({id:t.id,label:t.label})}else r.push({visibleWhen:!0,type:"checkbox",id:t.id,items:[{id:t.id,label:t.label}]})}),r},c=function(t,e){return t.reduce(function(t,r){var n=r.items.filter(function(t){return!e.includes(t.id)});return n.length&&t.push(a(a({},r),{},{items:n})),t},[])},f=function(t){var e={};return t.forEach(function(t){var r;"radio"===t.type&&(e[t.id]=t.value||(null===(r=t.items)||void 0===r?void 0:r[0].value))}),e},y=r(65767);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function b(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?d(Object(r),!0).forEach(function(e){m(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function m(t,e,r){return(e=function(t){var e=function(t){if("object"!=p(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==p(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var v=function(t,e){var r,n=e.id,o=(0,y.jE)(e);e.parentId&&("showInKey"in e||delete o.showInKey,"showInMenu"in e||delete o.showInMenu),t[n]=o;var a=t.orderedDatasets;a.push(n);var i=null===(r=e.sublayers)||void 0===r?void 0:r.map(function(t){return function(t,e){var r="".concat(t,"-").concat(e.id),n=e.id;return"hidden"!==e.visibility&&(e.visibility="visible"),b(b({},e),{},{id:r,parentId:t,sublayerId:n})}(n,t)});if(null!=i&&i.length){var s=null==i?void 0:i.map(function(t){return t.id}),u=null==i?void 0:i.reduce(v,{orderedDatasets:a});return t[n].sublayerIds=s,delete t[n].sublayers,b(b(b({},t),u),{},{orderedDatasets:a})}return b(b({},t),{},{orderedDatasets:a})},h=function(t){var e=(t.datasets||[]).reduce(v,{orderedDatasets:[]}),r=e.orderedDatasets;return delete e.orderedDatasets,b(b({},t),{},{mappedDatasets:e,orderedDatasets:r})},g=r(97619);function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function O(t){return function(t){if(Array.isArray(t))return j(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return j(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function w(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?D(Object(r),!0).forEach(function(e){P(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function P(t,e,r){return(e=function(t){var e=function(t){if("object"!=S(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==S(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var _=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"not found";return!!t.mappedDatasets[e]||(g.v.error("".concat(r,": Dataset with id '").concat(e,"' ").concat(n)),!1)},A=0,E=function(t,e,r){return A=r.actionsArray.length?A+1:0,w(w({},r),{},{actionsArray:[].concat(O(r.actionsArray),[{method:t,parameters:e,actionId:A}])})},k={SET_DATASETS:function(t,e){var r=e.mappedDatasets,n=e.orderedDatasets;return w(w({},t),{},{mappedDatasets:r,orderedDatasets:n})},ADD_DATASET:function(t,e){var r=e.dataset,n=e.mapStyle;if(t.mappedDatasets[r.id])return g.v.error("addDataset: Dataset with id '".concat(r.id,"' already exists")),t;var o=h({datasets:[r]}),a=o.mappedDatasets,i=o.orderedDatasets,u=function(t,e){var r,n=s(t.menu),o=l({datasets:[e]}),a=n.find(function(t){return t.groupLabel===o[0].groupLabel});return a?(r=a.items).push.apply(r,s(o[0].items)):n.push.apply(n,s(o)),n}(t,r);return E("addDataset",[r.id,n],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),a),orderedDatasets:[].concat(O(t.orderedDatasets),O(i)),menu:u}))},REMOVE_DATASET:function(t,e){var r,n=e.id;if(!_(t,n,"removeDataset"))return t;var o=w({},t.mappedDatasets),a=[n].concat(O((null===(r=o[n])||void 0===r?void 0:r.sublayerIds)||[]));a.forEach(function(t){return delete o[t]});var i=t.orderedDatasets.filter(function(t){return!a.includes(t)});return w(w({},t),{},{mappedDatasets:o,orderedDatasets:i,menu:c(t.menu,a)})},SET_DATASET_VISIBILITY:function(t,e){var r=e.datasetId,n=e.visible;return _(t,r,"setDatasetVisibility")?t.mappedDatasets[r].visible===n?t:E("applyDatasetVisibility",[r,n],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,w(w({},t.mappedDatasets[r]),{},{visible:n})))})):t},SET_GLOBAL_VISIBILITY:function(t,e){var r=e.visible;return E("applyGlobalVisibility",[r],w(w({},t),{},{globals:w(w({},t.globals),{},{visible:r})}))},SET_DATASET_STYLE:function(t,e){var r=e.datasetId,n=e.styleChanges,o=e.mapStyle;if(!_(t,r,"setDatasetStyle"))return t;var a=w(w({},t.mappedDatasets[r].style),n),i=w(w(w({},t.mappedDatasets[r]),n),{},{style:a});return E("applyStyle",[r,o],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,i))}))},SET_OPACITY:function(t,e){var r=e.datasetId,n=e.opacity;if(!_(t,r,"setOpacity"))return t;var o=w(w({},t.mappedDatasets[r].style),{},{opacity:n}),a=w(w({},t.mappedDatasets[r]),{},{style:o});return E("applyDatasetOpacity",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,a))}))},SET_GLOBAL_OPACITY:function(t,e){var r=e.opacity;return E("applyGlobalOpacity",[],w(w({},t),{},{globals:w(w({},t.globals),{},{opacity:r})}))},HIDE_FEATURES:function(t,e){var r=e.datasetId,n=e.featureIds;if(!_(t,r,"setFeatureVisibility - hideFeatures"))return t;var o=w({},t.mappedDatasets[r]),a=o.hiddenFeatures||[],i=Array.from(new Set([].concat(O(a),O(n))));return o.hiddenFeatures=i,E("applyFeatureFilter",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,o))}))},SHOW_FEATURES:function(t,e){var r=e.datasetId,n=e.featureIds;if(!_(t,r,"setFeatureVisibility - showFeatures"))return t;var o=w({},t.mappedDatasets[r]),a=(o.hiddenFeatures||[]).filter(function(t){return!n.includes(t)});return o.hiddenFeatures=a.length?a:[-1],E("applyFeatureFilter",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,o))}))},REMOVE_ADAPTER_ACTIONS:function(t,e){return null!=e&&e.length?w(w({},t),{},{actionsArray:t.actionsArray.filter(function(t){return!e.includes(t)})}):t},SET_GLOBAL_STATE:function(t,e){return E("applyGlobalOpacity",[],w(w({},t),{},{globals:w(w({},t.globals),e)}))},SET_MENU:function(t,e){var r=e.menu,n=f(r);return w(w({},t),{},{menu:r,menuState:n})},UPDATE_MENU_STATE:function(t,e){return E("applyGlobalVisibility",[],w(w({},t),{},{menuState:w(w({},t.menuState),e)}))}},I=r(51738),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_FEATURES:"map:setfeatures",MAP_SET_ACTIVE_FEATURE:"map:setactivefeature",MAP_SELECT_FEATURE:"map:selectfeature",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"};function M(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return x(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(x(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,x(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,x(f,"constructor",l),x(l,"constructor",u),u.displayName="GeneratorFunction",x(l,o,"GeneratorFunction"),x(f),x(f,o,"Generator"),x(f,n,function(){return this}),x(f,"toString",function(){return"[object Generator]"}),(M=function(){return{w:a,m:y}})()}function x(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}x=function(t,e,r,n){function a(e,r){x(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},x(t,e,r,n)}function C(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}var L=function(){var t,e=(t=M().m(function t(e,r,n,o){var a,i,s,u,l,c,f;return M().w(function(t){for(;;)switch(t.n){case 0:return a=n(e,r),s=(i="string"==typeof a?{url:a}:a).url,u=i.headers,l=void 0===u?{}:u,t.n=1,fetch(s,{headers:l,signal:o});case 1:if((c=t.v).ok){t.n=2;break}throw new Error("Failed to fetch GeoJSON: ".concat(c.status," ").concat(c.statusText));case 2:return t.n=3,c.json();case 3:if("FeatureCollection"!==(f=t.v).type){t.n=4;break}return t.a(2,f);case 4:if("Feature"!==f.type){t.n=5;break}return t.a(2,{type:"FeatureCollection",features:[f]});case 5:if(!Array.isArray(f)){t.n=6;break}return t.a(2,{type:"FeatureCollection",features:f});case 6:throw new Error("Invalid GeoJSON response");case 7:return t.a(2)}},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){C(a,n,o,i,s,"next",t)}function s(t){C(a,n,o,i,s,"throw",t)}i(void 0)})});return function(t,r,n,o){return e.apply(this,arguments)}}();function N(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var G=function(t){var e=t.getBounds();return[e.getWest(),e.getSouth(),e.getEast(),e.getNorth()]},F=function(t,e){return!(!t||!e)&&e[0]>=t[0]&&e[1]>=t[1]&&e[2]<=t[2]&&e[3]<=t[3]},R=function(t,e){return t?[Math.min(t[0],e[0]),Math.min(t[1],e[1]),Math.max(t[2],e[2]),Math.max(t[3],e[3])]:function(t){if(Array.isArray(t))return N(t)}(r=e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return N(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?N(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var r},V=function(t,e){return!(!t||!e||t[2]<e[0]||t[0]>e[2]||t[3]<e[1]||t[1]>e[3])},B=function(t){var e=1/0,r=1/0,n=-1/0,o=-1/0,a=function(t,i){var s;0===i?(s=t,e=Math.min(e,s[0]),r=Math.min(r,s[1]),n=Math.max(n,s[0]),o=Math.max(o,s[1])):t.forEach(function(t){return a(t,i-1)})};switch(t.type){case"Point":a(t.coordinates,0);break;case"LineString":case"MultiPoint":a(t.coordinates,1);break;case"Polygon":case"MultiLineString":a(t.coordinates,2);break;case"MultiPolygon":a(t.coordinates,3);break;case"GeometryCollection":t.geometries.forEach(function(t){var a=B(t);e=Math.min(e,a[0]),r=Math.min(r,a[1]),n=Math.max(n,a[2]),o=Math.max(o,a[3])});break;default:throw new Error("Unsupported geometry type: ".concat(t.type))}return[e,r,n,o]};function W(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return U(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(U(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,U(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,U(f,"constructor",l),U(l,"constructor",u),u.displayName="GeneratorFunction",U(l,o,"GeneratorFunction"),U(f),U(f,o,"Generator"),U(f,n,function(){return this}),U(f,"toString",function(){return"[object Generator]"}),(W=function(){return{w:a,m:y}})()}function U(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}U=function(t,e,r,n){function a(e,r){U(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},U(t,e,r,n)}function K(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(t,e)||Y(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(t,e){if(t){if("string"==typeof t)return Z(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Z(t,e):void 0}}function Z(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var z=r(83262),Q=r(63447),J=function(t){var e=t.adapter,r=t.pluginConfig,n=t.mapStyle,o=t.mapProvider,a=t.events,i=t.dispatch,s=t.eventBus,u=r.datasets,c=new Map;r.globals&&i({type:"SET_GLOBAL_STATE",payload:r.globals});var p=u.map(function(t){return(0,y.ns)(t,y.V)}),d=h({datasets:u}),b=d.mappedDatasets,m=d.orderedDatasets;e.createDataset&&z.Q.attachCreateDataset(e.createDataset),z.Q.attach(b,m,n);var v=r.menu||l({datasets:p});(0,Q.Pl)(f(v)),i({type:"SET_MENU",payload:{menu:v}}),i({type:"SET_DATASETS",payload:{mappedDatasets:b,orderedDatasets:m}}),e.init().then(function(){z.Q.forEachDataset(function(t){if(t.hasDynamicGeoJSON){var r=function(t){var e,r,n,o=t.dynamicGeoJSON,a=t.map,i=t.onUpdate,s=o.url,u=o.idProperty,l=o.transformRequest,c=o.maxFeatures,f=o.minZoom,y=void 0===f?0:f,p=new Map,d=null,b=null,m=function(){return{type:"FeatureCollection",features:Array.from(p.values()).map(function(t){return t.feature})}},v=function(t){var e,r;return u&&null!==(e=null===(r=t.properties)||void 0===r?void 0:r[u])&&void 0!==e?e:t.id},h=function(t){if(c&&!(p.size<=1.2*c)){var e,r=c,n=[],o=[],a=function(t){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Y(t))){e&&(t=e);var r=0,n=function(){};return{s:n,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,i=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==e.return||e.return()}finally{if(i)throw o}}}}(p);try{for(a.s();!(e=a.n()).done;){var i=H(e.value,2),s=i[0],u=i[1];V(u.bbox,t)?n.push(s):o.push({id:s,lastSeenAt:u.lastSeenAt})}}catch(t){a.e(t)}finally{a.f()}o.sort(function(t,e){return t.lastSeenAt-e.lastSeenAt});for(var l=p.size-r,f=0;f<l&&f<o.length;f++)p.delete(o[f].id);if(p.size>r)for(var y=p.size-r,d=n.map(function(t){return{id:t,lastSeenAt:p.get(t).lastSeenAt}}).sort(function(t,e){return t.lastSeenAt-e.lastSeenAt}),b=0;b<y&&b<d.length;b++)p.delete(d[b].id)}},g=function(){var t,e=(t=W().m(function t(){var e,r,n,u,c,f,g;return W().w(function(t){for(;;)switch(t.p=t.n){case 0:if(!((e=a.getZoom())<y)){t.n=1;break}return t.a(2);case 1:if(r=G(a),!d||!F(d,r)){t.n=2;break}return t.a(2);case 2:return b&&b.abort(),b=new AbortController,t.p=3,n={bbox:r,zoom:e},t.n=4,L(s,n,l,b.signal);case 4:u=t.v,c=Date.now(),u.features.forEach(function(t){var e=v(t);null!=e?p.set(e,{feature:t,bbox:B(t.geometry),lastSeenAt:c}):console.warn("Feature missing ID, skipping:",t)}),d=R(d,r),f=p.size,h(r),p.size<f&&(d=r),i(o.id,m()),t.n=7;break;case 5:if(t.p=5,"AbortError"!==(g=t.v).name){t.n=6;break}return t.a(2);case 6:console.error("Failed to fetch dynamic GeoJSON for ".concat(o.id,":"),g);case 7:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){K(a,n,o,i,s,"next",t)}function s(t){K(a,n,o,i,s,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}(),S=(e=g,n=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];clearTimeout(r),r=setTimeout(function(){return e.apply(void 0,n)},200)},n.cancel=function(){clearTimeout(r),r=null},n),O=function(){S()};return a.on("moveend",O),g(),{destroy:function(){a.off("moveend",O),S.cancel(),b&&b.abort()},clear:function(){p.clear(),d=null,i(o.id,{type:"FeatureCollection",features:[]})},refresh:function(){p.clear(),d=null,g()},getFeatureCount:function(){return p.size},reapply:function(){p.size>0&&i(o.id,m())}}}({dynamicGeoJSON:t.dynamicGeoJSON,map:o.map,onUpdate:function(t,r){return e.setData(t,r)}});c.set(t.id,r)}}),e.attachDynamicSources(c),s.emit("datasets:ready")});var g=function(){e.onMapSizeChange()};return s.on(a.MAP_SIZE_CHANGE,g),{remove:function(){s.off(a.MAP_SIZE_CHANGE,g),c.forEach(function(t){return t.destroy()}),c.clear(),e.destroy()},refreshDataset:function(t){var e;null===(e=c.get(t))||void 0===e||e.refresh()},clearDatasetCache:function(t){var e;null===(e=c.get(t))||void 0===e||e.clear()},getFeatureCount:function(t){var e,r;return null!==(e=null===(r=c.get(t))||void 0===r?void 0:r.getFeatureCount())&&void 0!==e?e:null}}},$=r(7400);function q(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return X(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(X(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,X(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,X(f,"constructor",l),X(l,"constructor",u),u.displayName="GeneratorFunction",X(l,o,"GeneratorFunction"),X(f),X(f,o,"Generator"),X(f,n,function(){return this}),X(f,"toString",function(){return"[object Generator]"}),(q=function(){return{w:a,m:y}})()}function X(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}X=function(t,e,r,n){function a(e,r){X(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},X(t,e,r,n)}function tt(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}function et(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){tt(a,n,o,i,s,"next",t)}function s(t){tt(a,n,o,i,s,"throw",t)}i(void 0)})}}var rt,nt=function(){var t=et(q().m(function t(e){var n,o,a,i,s;return q().w(function(t){for(;;)switch(t.n){case 0:s=e.name,t.n="MapLibreProvider"===s?1:"EsriProvider"===s?3:5;break;case 1:return t.n=2,r.e(6563).then(r.bind(r,3496));case 2:return n=t.v,o=n.default,t.a(2,o);case 3:return t.n=4,r.e(7067).then(r.bind(r,91566));case 4:return a=t.v,i=a.default,t.a(2,i);case 5:throw new Error("No layer adapter available for map provider ".concat(e.name,". Please provide a compatible layer adapter."));case 6:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),ot={},at=function(){var t=et(q().m(function t(e,r,n){var o,a,i;return q().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,nt(e);case 1:return i=t.v,rt=new i(e,r,n),ot.removeDataset=rt.removeDataset.bind(rt),ot.setData=rt.setData.bind(rt),ot.applyStyle=rt.applyStyle.bind(rt),ot.applyDatasetVisibility=rt.applyDatasetVisibility.bind(rt),ot.applyGlobalVisibility=rt.applyGlobalVisibility.bind(rt),ot.applyDatasetOpacity=rt.applyDatasetOpacity.bind(rt),ot.applyGlobalOpacity=rt.applyGlobalOpacity.bind(rt),ot.addDataset=rt.addDataset.bind(rt),ot.applyFeatureFilter=rt.applyFeatureFilter.bind(rt),ot.onMapStyleChange=null===(o=rt.onMapStyleChange)||void 0===o?void 0:o.bind(rt),ot.onMapSizeChange=null===(a=rt.onMapSizeChange)||void 0===a?void 0:a.bind(rt),t.a(2,rt)}},t)}));return function(e,r,n){return t.apply(this,arguments)}}();function it(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function st(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return ut(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(ut(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,ut(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,ut(f,"constructor",l),ut(l,"constructor",u),u.displayName="GeneratorFunction",ut(l,o,"GeneratorFunction"),ut(f),ut(f,o,"Generator"),ut(f,n,function(){return this}),ut(f,"toString",function(){return"[object Generator]"}),(st=function(){return{w:a,m:y}})()}function ut(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ut=function(t,e,r,n){function a(e,r){ut(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},ut(t,e,r,n)}function lt(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}var ct=function(t,e){var r=t.pluginState.dispatch,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;r(i?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:i,visible:e}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:e}})},ft=r(19287),yt=function(t){var e=t.menuGroupItem,r=t.onChange,n=z.Q.getDataset(e.id);if(!n)return null;var o=n.isSublayer?n.parentId:n.id,a=n.isSublayer?n.id:void 0,i="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(n.visible?"":" im-c-datasets-layers__item--checked");return(0,ft.jsx)("div",{className:i,"data-module":"govuk-checkboxes",children:(0,ft.jsxs)("div",{className:"govuk-checkboxes__item",children:[(0,ft.jsx)("input",{className:"govuk-checkboxes__input",id:n.id,"data-dataset-id":o,"data-sublayer-id":a,name:"layers",type:"checkbox",value:n.id,checked:n.isLocallyVisible,onChange:r}),(0,ft.jsx)("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:n.id,children:n.label})]})},n.id)},pt=function(t){var e=t.menuGroupItem,r=t.name,n=t.checked,o=t.onChange,a=e.visibleWhen;return!a||(0,Q.DV)(a)?(0,ft.jsx)("div",{className:'im-c-datasets-layers__item govuk-radios govuk-radios--small"',"data-module":"govuk-radios",children:(0,ft.jsxs)("div",{className:"govuk-radios__item",children:[(0,ft.jsx)("input",{id:e.id,className:"govuk-radios__input",type:"radio",name:r,value:e.id,checked:n,onChange:o}),(0,ft.jsx)("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-radios__label",htmlFor:e.id,children:e.label})]})}):null};function dt(t){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dt(t)}var bt=function(t){var e=t.pluginState,r=t.menuGroup,n=r.id,o=r.items,a=r.visibleWhen;if(a&&!(0,Q.DV)(a))return null;var i=e.menuState,s=e.dispatch,u=i[n],l=function(t){var e,r,o;s({type:"UPDATE_MENU_STATE",payload:(e={},r=n,o=t.target.value,(r=function(t){var e=function(t){if("object"!=dt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==dt(e)?e:e+""}(r))in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o,e)})};return(0,ft.jsx)("div",{className:"govuk-form-group im-c-datasets-layers-group",children:(0,ft.jsxs)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,ft.jsx)("legend",{className:"im-c-datasets-layers-group__legend",children:(0,ft.jsx)("h3",{children:r.label})}),(0,ft.jsx)("div",{className:"govuk-radios govuk-radios--small","data-module":"govuk-radios",children:o.map(function(t){return(0,ft.jsx)(pt,{menuGroupItem:t,name:n,checked:t.id===u,onChange:l},t.id)})})]})},r.id)},mt=function(t){var e=t.menuGroup,r=t.children;return e.groupLabel?(0,ft.jsx)("div",{className:"govuk-form-group im-c-datasets-layers-group",children:(0,ft.jsxs)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,ft.jsx)("legend",{className:"im-c-datasets-layers-group__legend",children:(0,ft.jsx)("h3",{children:e.groupLabel})}),r]})},e.id):(0,ft.jsx)(ft.Fragment,{children:r})},vt=function(t){var e=t.text;return(0,ft.jsx)("div",{className:"im-c-datasets-key",children:(0,ft.jsx)("p",{className:"im-c-datasets-key__empty-message",children:e})})},ht=r(43247);function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function St(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ot(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?St(Object(r),!0).forEach(function(e){jt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):St(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function jt(t,e,r){return(e=function(t){var e=function(t){if("object"!=gt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==gt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Dt=20,wt={xmlns:"http://www.w3.org/2000/svg",width:Dt,height:Dt,viewBox:"0 0 ".concat(Dt," ").concat(Dt),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},Pt=Ot(Ot({},wt),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function At(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Et(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?At(Object(r),!0).forEach(function(e){kt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):At(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function kt(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var It=function(t){var e=t.patternRegistry,r=t.registryDataset,n=t.mapStyle,o=r.style,a=e.getKeyPatternPaths(o,n.id);return(0,ft.jsxs)("svg",Et(Et({},wt),{},{children:[(0,ft.jsx)("g",{dangerouslySetInnerHTML:{__html:a.border}}),(0,ft.jsx)("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:a.content}})]}))},Tt=r(93121);function Mt(t){return Mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mt(t)}function xt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ct(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?xt(Object(r),!0).forEach(function(e){Lt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xt(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Lt(t,e,r){return(e=function(t){var e=function(t){if("object"!=Mt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Mt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Nt=function(t){var e,r=t.symbolRegistry,n=t.registryDataset,o=t.mapStyle,a=t.symbolDef,i=n.style,s=null!==(e=null==o?void 0:o.appColorScheme)&&void 0!==e?e:"light",u=Ct(Ct({},o),{},{mapColorScheme:s}),l=r.resolve(a,(0,Tt.sR)(i),u),c=(0,Tt.n8)(i,a);return(0,ft.jsx)("svg",Ct(Ct({},Pt),{},{viewBox:c,children:(0,ft.jsx)("g",{dangerouslySetInnerHTML:{__html:l}})}))};function Gt(t){return Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gt(t)}function Ft(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Rt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ft(Object(r),!0).forEach(function(e){Vt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ft(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Vt(t,e,r){return(e=function(t){var e=function(t){if("object"!=Gt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Gt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Bt=function(t){var e=t.mapStyle,r=t.registryDataset.style;return(0,ft.jsx)("svg",Rt(Rt({},wt),{},{children:(0,ft.jsx)("line",{x1:r.strokeWidth/2,y1:10,x2:Dt-r.strokeWidth/2,y2:10,stroke:(0,ht.o)(r.stroke,e.id),strokeWidth:r.strokeWidth,strokeLinecap:"round"})}))};function Wt(t){return Wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wt(t)}function Ut(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ut(Object(r),!0).forEach(function(e){Ht(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Ht(t,e,r){return(e=function(t){var e=function(t){if("object"!=Wt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Wt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Wt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Yt=function(t){var e=t.mapStyle,r=t.registryDataset.style;return(0,ft.jsx)("svg",Kt(Kt({},wt),{},{children:(0,ft.jsx)("rect",{x:r.strokeWidth/2,y:r.strokeWidth/2,width:Dt-r.strokeWidth,height:Dt-r.strokeWidth,rx:r.strokeWidth,ry:r.strokeWidth,fill:(0,ht.o)(r.fill,e.id),stroke:(0,ht.o)(r.stroke,e.id),strokeWidth:r.strokeWidth,strokeLinejoin:"round"})}))},Zt=function(t){var e=t.symbolRegistry,r=t.registryDataset,n=t.mapStyle,o=t.patternRegistry,a=r.hasSymbol,i=r.hasPattern,s=r.style,u=a&&e.getSymbolDef(s);return u?(0,ft.jsx)(Nt,{mapStyle:n,registryDataset:r,symbolRegistry:e,symbolDef:u}):i?(0,ft.jsx)(It,{mapStyle:n,registryDataset:r,patternRegistry:o}):"line"===s.keySymbolShape?(0,ft.jsx)(Bt,{mapStyle:n,registryDataset:r}):(0,ft.jsx)(Yt,{mapStyle:n,registryDataset:r})},zt=function(t){var e=t.registryDataset,r=t.symbolRegistry,n=t.patternRegistry,o=t.mapStyle;return e.showInKey?(0,ft.jsxs)("dl",{className:"im-c-datasets-key__item",children:[(0,ft.jsx)("dt",{className:"im-c-datasets-key__item-symbol",children:(0,ft.jsx)(Zt,{registryDataset:e,symbolRegistry:r,patternRegistry:n,mapStyle:o})}),(0,ft.jsxs)("dd",{className:"im-c-datasets-key__item-label",children:[e.label,e.symbolDescription&&(0,ft.jsxs)("span",{className:"govuk-visually-hidden",children:["(",(0,ht.o)(e.symbolDescription,o.id),")"]})]})]}):null},Qt=function(t){var e=t.headingId,r=t.label,n=t.datasets,o=t.symbolRegistry,a=t.patternRegistry,i=t.mapStyle;return(0,ft.jsxs)("section",{className:"im-c-datasets-key__group","aria-labelledby":e,children:[(0,ft.jsx)("h3",{id:e,className:"im-c-datasets-key__group-heading",children:r}),n.map(function(t){return(0,ft.jsx)(zt,{registryDataset:t,symbolRegistry:o,patternRegistry:a,mapStyle:i},"".concat(t.id))})]})},Jt={InitComponent:function(t){var e=t.pluginConfig,r=t.pluginState,n=t.appState,o=t.mapState,a=t.mapProvider,i=t.services,s=r.dispatch,u=i.eventBus,l=i.symbolRegistry,c=i.patternRegistry,f=Boolean(null==a?void 0:a.isBaseMapReady()),y=(0,I.useRef)(r);y.current=r;var p=(0,I.useRef)(null);return(0,I.useEffect)(function(){var t,r,i,d,b=null===(t=null===(r=e.includeModes)||void 0===r?void 0:r.includes(n.mode))||void 0===t||t,m=null!==(i=null===(d=e.excludeModes)||void 0===d?void 0:d.includes(n.mode))&&void 0!==i&&i;if(f&&b&&!m&&!p.current){var v=function(){var t,r=(t=st().m(function t(){var r;return st().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,at(a,l,c);case 1:r=t.v,p.current=J({adapter:r,pluginConfig:e,pluginStateRef:y,mapStyle:o.mapStyle,mapProvider:a,events:T,dispatch:s,eventBus:u});case 2:return t.a(2)}},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){lt(a,n,o,i,s,"next",t)}function s(t){lt(a,n,o,i,s,"throw",t)}i(void 0)})});return function(){return r.apply(this,arguments)}}();v()}},[f,n.mode]),(0,I.useEffect)(function(){(0,Q.Pl)(r.menuState),z.Q.invalidateKeyItems()},[r.menuState]),(0,I.useEffect)(function(){return z.Q.attach(r.mappedDatasets,r.orderedDatasets)},[r.mappedDatasets,r.orderedDatasets]),(0,I.useEffect)(function(){z.Q.attachMapStyle(o.mapStyle),null!=ot&&ot.onMapStyleChange&&ot.onMapStyleChange()},[o.mapStyle]),(0,I.useEffect)(function(){return(0,$.A3)(r.globals)},[r.globals]),(0,I.useEffect)(function(){var t=r.actionsArray;t.length&&(t.forEach(function(t){var e,r=t.method,n=t.parameters;return ot[r].apply(ot,function(t){if(Array.isArray(t))return it(t)}(e=n)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||function(t,e){if(t){if("string"==typeof t)return it(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?it(t,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}),s({type:"REMOVE_ADAPTER_ACTIONS",payload:t}))},[r.actionsArray]),(0,I.useEffect)(function(){return function(){p.current&&(p.current.remove(),p.current=null)}},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[],menuState:{}},actions:k},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:function(t){var e=t.pluginState,r=e.menu,n=void 0===r?[]:r,o=function(t){var r=t.target,n=r.value,o=r.checked;ct({pluginState:e},o,{datasetId:n})},a=n.some(function(t){return t.groupLabel}),i="im-c-datasets-layers".concat(a?" im-c-datasets-layers--has-groups":"");return(0,ft.jsx)("div",{className:i,children:n.map(function(t){return"checkbox"===t.type?(0,ft.jsxs)(mt,{menuGroup:t,children:[" ",t.items.map(function(t){return(0,ft.jsx)(yt,{menuGroupItem:t,onChange:o},t.id)})]},t.id):(0,ft.jsx)(bt,{menuGroup:t,pluginState:e},t.id)})})}},{id:"datasetsKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(t){var e=t.pluginConfig.noKeyItemText,r=t.mapState.mapStyle,n=t.services,o=n.symbolRegistry,a=n.patternRegistry,i=z.Q.keyItems(),s=i.items,u=i.hasGroups;if(null==s||!s.length)return(0,ft.jsx)(vt,{text:e});var l="im-c-datasets-key".concat(u?" im-c-datasets-key--has-groups":"");return(0,ft.jsx)("div",{className:l,children:s.map(function(t){var e="group"===t.type?t.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):t.dataset.id;if("sublayers"===t.type||"group"===t.type){var n="sublayers"===t.type?t.sublayers:t.datasets,i="sublayers"===t.type?t.dataset.label:t.groupLabel;return(0,ft.jsx)(Qt,{headingId:"key-heading-".concat(e),label:i,datasets:n,symbolRegistry:o,patternRegistry:a,mapStyle:r},e)}return(0,ft.jsx)(zt,{registryDataset:t.dataset,symbolRegistry:o,patternRegistry:a,mapStyle:r},e)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:function(t){var e=t.pluginConfig;return!e.menu&&!e.datasets.some(function(t){var e;return t.showInMenu||(null===(e=t.sublayers)||void 0===e?void 0:e.some(function(t){return t.showInMenu}))})},mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}},{id:"datasetsKey",label:"Key",panelId:"datasetsKey",iconId:"key",excludeWhen:function(t){return!t.pluginConfig.datasets.some(function(t){return t.showInKey})},mobile:{slot:"top-left",showLabel:!1},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:function(t,e){(0,t.pluginState.dispatch)({type:"ADD_DATASET",payload:{dataset:e,mapStyle:t.mapState.mapStyle}})},removeDataset:function(t,e){var r=t.pluginState.dispatch;ot.removeDataset(e),r({type:"REMOVE_DATASET",payload:{id:e}})},setDatasetVisibility:ct,setFeatureVisibility:function(t,e,r){var n=t.pluginState.dispatch,o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).datasetId,a=void 0===o?null:o;if(a){var i=z.Q.getDataset(a);!i||i.idProperty||i.generateIds||g.v.warn('setFeatureVisibility: Dataset "'.concat(a,'" 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.'))}n({type:e?"SHOW_FEATURES":"HIDE_FEATURES",payload:{datasetId:a,featureIds:r}})},setStyle:function(t,e){var r=t.pluginState.dispatch,n=t.mapState,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=o.datasetId,i=o.sublayerId;r({type:"SET_DATASET_STYLE",payload:{datasetId:a=i?"".concat(a,"-").concat(i):a,styleChanges:e,mapStyle:n.mapStyle}})},getStyle:function(t){t._pluginState;var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.datasetId,n=e.sublayerId;r=n?"".concat(r,"-").concat(n):r;var o=z.Q.getDataset(r);return o?o.style:(g.v.warn("getStyle: Dataset with id ".concat(r," not found")),null)},setOpacity:function(t,e){var r=t.pluginState.dispatch,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;r(i?{type:"SET_OPACITY",payload:{datasetId:i,opacity:e}}:{type:"SET_GLOBAL_OPACITY",payload:{opacity:e}})},getOpacity:function(t){var e,r=t.pluginState.globals,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;if(i){var s,u=z.Q.getDataset(i);return u?null!==(s=u.opacity)&&void 0!==s?s:null:(g.v.warn("getOpacity: Dataset with id ".concat(i," not found")),null)}return null!==(e=r.opacity)&&void 0!==e?e:null},setData:function(t,e,r){t._pluginState;var n=r.datasetId,o=z.Q.getDataset(n);o?null!=o&&o.tiles?g.v.warn('setData called on vector tile dataset "'.concat(n,'" — has no effect')):ot.setData(n,e):g.v.warn("setData: Dataset with id ".concat(n," not found"))},setGlobals:function(t,e){var r=t.pluginState.dispatch,n=e.opacityMode,o={},a=!1;n&&(["dataset","global","multiply"].includes(n)?(a=!0,o.opacityMode=n):g.v.warn("Ignoring invalid opacityMode: ".concat(n,". Must be one of 'dataset', 'global' or 'multiply'."))),a?r({type:"SET_GLOBAL_STATE",payload:o}):g.v.warn("setGlobals: requires a valid value for opacityMode to be set")}}}},91954(t,e,r){r.d(e,{j:()=>D});var n=r(83262),o=r(63447),a=r(65767),i=r(41449);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function l(t,e,r){return(e=y(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,y(n.key),n)}}function f(t,e,r){return e&&c(t.prototype,e),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function y(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}var p=f(function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),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(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?u(Object(r),!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({type:"geojson",data:{type:"FeatureCollection",features:[]}},this.idProperty?{promoteId:this.idProperty}:{generateId:!0})}),d=r(7400);function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function m(t){return function(t){if(Array.isArray(t))return v(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return v(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function h(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?h(Object(r),!0).forEach(function(e){S(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function S(t,e,r){return(e=j(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function O(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,j(n.key),n)}}function j(t){var e=function(t){if("object"!=b(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=b(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==b(e)?e:e+""}var D=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._datasetDefinition=e},(e=[{key:"id",get:function(){return this._datasetDefinition.id}},{key:"label",get:function(){return this._datasetDefinition.label}},{key:"hasSymbol",get:function(){var t;return!this.hasSublayers&&Boolean(null===(t=this.style)||void 0===t?void 0:t.symbol)}},{key:"hasPattern",get:function(){return!this.hasSublayers&&!this.hasSymbol&&(0,i.vY)(this.style)}},{key:"hasFill",get:function(){var t,e;return!this.hasSublayers&&!this.hasSymbol&&(this.hasPattern||(null===(t=this.style)||void 0===t?void 0:t.fill)&&"transparent"!==(null===(e=this.style)||void 0===e?void 0:e.fill))}},{key:"hasStroke",get:function(){var t;return!this.hasSublayers&&!this.hasSymbol&&Boolean(null===(t=this.style)||void 0===t?void 0:t.stroke)}},{key:"tiles",get:function(){return this._datasetDefinition.tiles}},{key:"geojson",get:function(){return this._datasetDefinition.geojson}},{key:"idProperty",get:function(){return this._datasetDefinition.idProperty}},{key:"generateIds",get:function(){return this._datasetDefinition.generateIds}},{key:"parentId",get:function(){return this._datasetDefinition.parentId}},{key:"minZoom",get:function(){var t;return this._datasetDefinition.minZoom||(null===(t=this.parent)||void 0===t?void 0:t.minZoom)}},{key:"maxZoom",get:function(){var t;return this._datasetDefinition.maxZoom||(null===(t=this.parent)||void 0===t?void 0:t.maxZoom)}},{key:"type",get:function(){var t;return this._datasetDefinition.type||(null===(t=this.parent)||void 0===t?void 0:t.type)}},{key:"showInKey",get:function(){var t,e,r=this._datasetDefinition.showInKey;return void 0!==r?r:null!==(t=null===(e=this.parent)||void 0===e?void 0:e.showInKey)&&void 0!==t&&t}},{key:"visibleWhen",get:function(){var t;return void 0===this._datasetDefinition.visibleWhen?null===(t=this.parent)||void 0===t?void 0:t.visibleWhen:this._datasetDefinition.visibleWhen}},{key:"groupLabel",get:function(){return this._datasetDefinition.groupLabel}},{key:"opacity",get:function(){var t,e,r=null===(t=this.style)||void 0===t?void 0:t.opacity,n=null===(e=this.parent)||void 0===e||null===(e=e.style)||void 0===e?void 0:e.opacity;return(0,d.ob)(r,n)}},{key:"hasDynamicGeoJSON",get:function(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}},{key:"dynamicGeoJSON",get:function(){return new p(g(g({},this._datasetDefinition.dynamicGeoJSON),{},{id:this.id,minZoom:this.minZoom}))}},{key:"hiddenFeatures",get:function(){return this._datasetDefinition.hiddenFeatures}},{key:"hasHiddenFeatures",get:function(){var t,e;return Boolean((null===(t=this.hiddenFeatures)||void 0===t?void 0:t.length)>0||(null===(e=this.parent)||void 0===e?void 0:e.hasHiddenFeatures))}},{key:"filter",get:function(){return null}},{key:"isHiddenByInheritance",get:function(){var t;return this.isSublayer?!(null!==(t=this.parent)&&void 0!==t&&t.visible):!(0,d.uA)()}},{key:"isLocallyVisible",get:function(){return!!this.isVisible||this._datasetDefinition.visible}},{key:"visible",get:function(){var t;return this.isSublayer?this._datasetDefinition.visible&&(null===(t=this.parent)||void 0===t?void 0:t.visible):this._datasetDefinition.visible&&(0,d.uA)()}},{key:"esriStyleLayerId",get:function(){return this._datasetDefinition.esriStyleLayerId}},{key:"visibility",get:function(){var t=this.visible,e=this.visibleWhen;return t&&e?(0,o.DV)(e)?"visible":"none":t?"visible":"none"}},{key:"keyVisibility",get:function(){return"visible"===this.visibility&&this.showInKey}},{key:"symbolAnchor",get:function(){var t,e;return null!==(t=this.style)&&void 0!==t&&t.symbolAnchor?this.style.symbolAnchor:null===(e=this.parent)||void 0===e?void 0:e.symbolAnchor}},{key:"sourceLayer",get:function(){return this.isSublayer?this.parent.sourceLayer:this.tiles?this._datasetDefinition.sourceLayer:void 0}},{key:"isSublayer",get:function(){return Boolean(this._datasetDefinition.parentId)}},{key:"hasSublayers",get:function(){var t;return(null===(t=this._datasetDefinition.sublayerIds)||void 0===t?void 0:t.length)>0}},{key:"sublayerIds",get:function(){return this._datasetDefinition.sublayerIds}},{key:"sublayers",get:function(){var t=this.sublayerIds;return t?t.map(function(t){return n.Q.getDataset(t)}):[]}},{key:"parent",get:function(){if(this._datasetDefinition.parentId)return n.Q.getDataset(this._datasetDefinition.parentId)}},{key:"style",get:function(){var t,e=null===(t=this.parent)||void 0===t?void 0:t.style;return e?g(g(g({},e),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}},{key:"hasCustomVisualStyle",get:function(){return(0,a.p_)(this._datasetDefinition.style||{})}},{key:"symbolDescription",get:function(){var t,e;return null!==(t=this._datasetDefinition.style)&&void 0!==t&&t.symbolDescription?this._datasetDefinition.style.symbolDescription:this.hasCustomVisualStyle||null===(e=this.parent)||void 0===e?void 0:e.symbolDescription}},{key:"patternConfigs",get:function(){var t=this.hasPattern?[this.style]:[];return this.hasSublayers?[].concat(t,m(this.sublayers.flatMap(function(t){return t.patternConfigs}))):t}},{key:"symbolConfigs",get:function(){var t=this.hasSymbol?[this.style]:[];return this.hasSublayers?[].concat(t,m(this.sublayers.flatMap(function(t){return t.symbolConfigs}))):t}}])&&O(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},83262(t,e,r){r.d(e,{Q:()=>b});var n=r(91954);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,s(n.key),n)}}function s(t){var e=function(t){if("object"!=o(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}var u=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.idToDefinitionMap=new Map,this.definitionToInstanceMap=new Map},(e=[{key:"add",value:function(t){this.idToDefinitionMap.set(t.id,t._datasetDefinition),this.definitionToInstanceMap.set(t._datasetDefinition,t)}},{key:"invalidateDataset",value:function(t){var e=this,r=this.idToDefinitionMap.get(t.id);[r.id].concat(function(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((null==r?void 0:r.sublayerIds)||[])).forEach(function(t){var r=e.idToDefinitionMap.get(t);e.definitionToInstanceMap.delete(r),e.idToDefinitionMap.delete(t)})}},{key:"invalidateChangedDatasets",value:function(t){var e=this;t.forEach(function(t){var r=e.idToDefinitionMap.get(t.id);if(r&&r!==t){var n=e.definitionToInstanceMap.get(r);e.invalidateDataset(n.isSublayer&&n.parent?n.parent:n)}})}},{key:"getByDefinition",value:function(t){return this.definitionToInstanceMap.get(t)}}])&&i(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}();function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function c(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?y(Object(r),!0).forEach(function(e){d(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function d(t,e,r){return(e=function(t){var e=function(t){if("object"!=l(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==l(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var b={attach:function(t,e,r){this._datasets=t,this._orderedDatasets=e,this.attachMapStyle(r),this._invalidateChangedDatasets()},_definitionCache:new u,_invalidateCache:function(){this._definitionCache=new u},_invalidateChangedDatasets:function(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset:function(t){this._createDataset=t},_createDataset:function(t){return function(t){return new n.j(t)}(t)},attachMapStyle:function(t){t&&(this._mapStyle=t)},get mapStyle(){return this._mapStyle},getDataset:function(t){var e=this.datasets[t];if(e){var r=this._definitionCache.getByDefinition(e);if(r)return r;var n=this._createDataset(e);return this._definitionCache.add(n),n.isSublayer&&this.getDataset(n.parentId),n}},forEach:function(t){var e=this;this._orderedDatasets.forEach(function(r){return t(e.getDataset(r))})},forEachDataset:function(t){var e=this;Object.values(this.datasets).filter(function(t){return!t.parentId}).forEach(function(r){return t(e.getDataset(r.id))})},topLevelDatasets:function(){var t=this;return Object.values(this.datasets).filter(function(t){return!t.parentId}).map(function(e){return t.getDataset(e.id)})},getPatternAndSymbolConfigs:function(){return this.topLevelDatasets().reduce(function(t,e){return p(p({},t),{},{patternConfigs:[].concat(c(t.patternConfigs),c(e.patternConfigs)),symbolConfigs:[].concat(c(t.symbolConfigs),c(e.symbolConfigs))})},{patternConfigs:[],symbolConfigs:[]})},invalidateKeyItems:function(){this._lastKeyItemsDatasets=null},_lastKeyItems:{},keyItems:function(){var t=this;if(this.datasets===this._lastKeyItemsDatasets)return this._lastKeyItems;this._lastKeyItemsDatasets=this.datasets;var e=[],r=new Set,n=!1;return this.forEachDataset(function(o){if(o.showInKey&&o.keyVisibility)if(o.hasSublayers){var a=o.sublayers.filter(function(t){return t.keyVisibility});a.length&&(n=!0,e.push({type:"sublayers",dataset:o,sublayers:a}))}else if(o.groupLabel){if(r.has(o.groupLabel))return;r.add(o.groupLabel),n=!0,e.push({type:"group",groupLabel:o.groupLabel,datasets:t.topLevelDatasets().filter(function(t){return t.groupLabel===o.groupLabel&&!t.hasSublayers&&t.keyVisibility})})}else e.push({type:"flat",dataset:o})}),this._lastKeyItems={items:e,hasGroups:n},this._lastKeyItems}};Object.defineProperty(b,"datasets",{get:function(){return b._datasets}}),window.datasetRegistry=b},7400(t,e,r){r.d(e,{A3:()=>o,ob:()=>a,uA:()=>i});var n={},o=function(t){n=t};window.getGlobalState=function(){return Object.freeze(n)};var a=function(t,e){switch(n.opacityMode){case"global":return n.opacity;case"multiply":return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Math.round(100*(t*e*n.opacity+Number.EPSILON))/100}(t,e);default:return function(t,e){return void 0===t?void 0===e?n.opacity:e:t}(t,e)}},i=function(){return n.visible}},63447(t,e,r){r.d(e,{DV:()=>y,Pl:()=>u});var n=r(83262);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var s={},u=function(t){s=t},l=function(t){for(var e=0,r=Object.entries(t);e<r.length;e++){var n=a(r[e],2),o=n[0],i=n[1],u=s[o];if(!i.includes(u))return!1}return!0},c=function(t){return(Array.isArray(t)?t:[t]).includes(f())},f=function(){return n.Q.mapStyle.id},y=function(t){if(null==t)return!0;if("boolean"==typeof t)return t;if("object"===o(t)){for(var e=0,r=Object.entries(t);e<r.length;e++){var n=a(r[e],2),i=n[0],s=n[1];if("mapStyleId"===i&&!c(s))return!1;if("menu"===i&&!l(s))return!1}return!0}return!0}},97619(t,e,r){r.d(e,{v:()=>o});var n="[interactive-map]",o={warn:function(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=console).warn.apply(t,[n].concat(r))},error:function(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=console).error.apply(t,[n].concat(r))}}},43247(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{o:()=>o});var o=function(t,e){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===n(t)){if(e&&t[e])return t[e];var r=Object.values(t)[0];return null!=r?r:null}return null}},41449(t,e,r){function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}r.d(e,{YZ:()=>o,vY:()=>a});var o=function(t){var e,r=0,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,i=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw i}}}}(t);try{for(o.s();!(e=o.n()).done;){var a=e.value;r=Math.trunc((r<<5)-r+a.codePointAt(0))}}catch(t){o.e(t)}finally{o.f()}return Math.abs(r).toString(36)},a=function(t){return!(!t.fillPattern&&!t.fillPatternSvgContent)}},93121(t,e,r){r.d(e,{Op:()=>i,n8:()=>a,sR:()=>o});var n=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),o=function(t){if(!function(t){return!(!t.symbol&&!t.symbolSvgContent)}(t))return{};var e={};return n.forEach(function(r){if(null!=t[r]){var n=r.charAt(6).toLowerCase()+r.slice(7);e[n]=t[r]}}),e},a=function(t,e){var r;return t.symbolViewBox?t.symbolViewBox:null!==(r=null==e?void 0:e.viewBox)&&void 0!==r?r:"0 0 38 38"},i=function(t,e){var r;return t.symbolAnchor?t.symbolAnchor:null!==(r=null==e?void 0:e.anchor)&&void 0!==r?r:[.5,.5]}}}]);
2
+ "use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[2447],{65767(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return(e=function(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{V:()=>s,jE:()=>y,ns:()=>f,p_:()=>c});var s={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,symbolDescription:"red outline"}},u=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],l=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],c=function(t){return l.some(function(e){return e in t})},f=function(t,e){var r=t.style||{},n=a(a({},e.style),r);!("symbolDescription"in r)&&c(r)&&delete n.symbolDescription;var o=a({},t);delete o.style,u.forEach(function(t){return delete o[t]});var i=a({},e);return delete i.style,a(a(a({},i),o),n)},y=function(t){!0!==t.visible&&!1!==t.visible&&(t.visible="hidden"!==t.visibility);var e=a(a(a({},s),t),{},{style:a(a({},s.style),t.style)}),r=t.style||{};return!("symbolDescription"in r)&&c(r)&&delete e.style.symbolDescription,u.forEach(function(t){return delete e[t]}),e}},95032(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function a(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){i(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function i(t,e,r){return(e=function(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return u(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}r.r(e),r.d(e,{manifest:()=>Jt});var l=function(t){var e=t.datasets,r=[],n=(void 0===e?[]:e).filter(function(t){var e;return t.showInMenu||(null===(e=t.sublayers)||void 0===e?void 0:e.some(function(t){return t.showInMenu}))}),o=new Map;return n.forEach(function(t){var e;if(null!==(e=t.sublayers)&&void 0!==e&&e.length){var n=t.sublayers.filter(function(e){return t.showInMenu?!1!==e.showInMenu:e.showInMenu});if(!1===t.showInMenu&&!n.length)return;var a={id:t.id,groupLabel:t.label,visibleWhen:!0,type:"checkbox",items:n.map(function(e){return{id:"".concat(t.id,"-").concat(e.id),label:e.label}})};0===a.items.length&&(delete a.groupLabel,a.items.push({id:t.id,label:t.label})),r.push(a)}else if(t.groupLabel){var i=o.has(t.groupLabel)?o.get(t.groupLabel):{id:t.groupLabel,groupLabel:t.groupLabel,visibleWhen:!0,type:"checkbox",items:[]};o.has(t.groupLabel)||(o.set(t.groupLabel,i),r.push(i)),i.items.push({id:t.id,label:t.label})}else r.push({visibleWhen:!0,type:"checkbox",id:t.id,items:[{id:t.id,label:t.label}]})}),r},c=function(t,e){return t.reduce(function(t,r){var n=r.items.filter(function(t){return!e.includes(t.id)});return n.length&&t.push(a(a({},r),{},{items:n})),t},[])},f=function(t){var e={};return t.forEach(function(t){var r;"radio"===t.type&&(e[t.id]=t.value||(null===(r=t.items)||void 0===r?void 0:r[0].value))}),e},y=r(65767);function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function b(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?d(Object(r),!0).forEach(function(e){m(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function m(t,e,r){return(e=function(t){var e=function(t){if("object"!=p(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==p(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var v=function(t,e){var r,n=e.id,o=(0,y.jE)(e);e.parentId&&("showInKey"in e||delete o.showInKey,"showInMenu"in e||delete o.showInMenu),t[n]=o;var a=t.orderedDatasets;a.push(n);var i=null===(r=e.sublayers)||void 0===r?void 0:r.map(function(t){return function(t,e){var r="".concat(t,"-").concat(e.id),n=e.id;return"hidden"!==e.visibility&&(e.visibility="visible"),b(b({},e),{},{id:r,parentId:t,sublayerId:n})}(n,t)});if(null!=i&&i.length){var s=null==i?void 0:i.map(function(t){return t.id}),u=null==i?void 0:i.reduce(v,{orderedDatasets:a});return t[n].sublayerIds=s,delete t[n].sublayers,b(b(b({},t),u),{},{orderedDatasets:a})}return b(b({},t),{},{orderedDatasets:a})},h=function(t){var e=(t.datasets||[]).reduce(v,{orderedDatasets:[]}),r=e.orderedDatasets;return delete e.orderedDatasets,b(b({},t),{},{mappedDatasets:e,orderedDatasets:r})},g=r(97619);function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function O(t){return function(t){if(Array.isArray(t))return j(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return j(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function D(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function w(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?D(Object(r),!0).forEach(function(e){P(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function P(t,e,r){return(e=function(t){var e=function(t){if("object"!=S(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==S(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var _=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"not found";return!!t.mappedDatasets[e]||(g.v.error("".concat(r,": Dataset with id '").concat(e,"' ").concat(n)),!1)},A=0,E=function(t,e,r){return A=r.actionsArray.length?A+1:0,w(w({},r),{},{actionsArray:[].concat(O(r.actionsArray),[{method:t,parameters:e,actionId:A}])})},I={SET_DATASETS:function(t,e){var r=e.mappedDatasets,n=e.orderedDatasets;return w(w({},t),{},{mappedDatasets:r,orderedDatasets:n})},ADD_DATASET:function(t,e){var r=e.dataset,n=e.mapStyle;if(t.mappedDatasets[r.id])return g.v.error("addDataset: Dataset with id '".concat(r.id,"' already exists")),t;var o=h({datasets:[r]}),a=o.mappedDatasets,i=o.orderedDatasets,u=function(t,e){var r,n=s(t.menu),o=l({datasets:[e]}),a=n.find(function(t){return t.groupLabel===o[0].groupLabel});return a?(r=a.items).push.apply(r,s(o[0].items)):n.push.apply(n,s(o)),n}(t,r);return E("addDataset",[r.id,n],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),a),orderedDatasets:[].concat(O(t.orderedDatasets),O(i)),menu:u}))},REMOVE_DATASET:function(t,e){var r,n=e.id;if(!_(t,n,"removeDataset"))return t;var o=w({},t.mappedDatasets),a=[n].concat(O((null===(r=o[n])||void 0===r?void 0:r.sublayerIds)||[]));a.forEach(function(t){return delete o[t]});var i=t.orderedDatasets.filter(function(t){return!a.includes(t)});return w(w({},t),{},{mappedDatasets:o,orderedDatasets:i,menu:c(t.menu,a)})},SET_DATASET_VISIBILITY:function(t,e){var r=e.datasetId,n=e.visible;return _(t,r,"setDatasetVisibility")?t.mappedDatasets[r].visible===n?t:E("applyDatasetVisibility",[r,n],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,w(w({},t.mappedDatasets[r]),{},{visible:n})))})):t},SET_GLOBAL_VISIBILITY:function(t,e){var r=e.visible;return E("applyGlobalVisibility",[r],w(w({},t),{},{globals:w(w({},t.globals),{},{visible:r})}))},SET_DATASET_STYLE:function(t,e){var r=e.datasetId,n=e.styleChanges,o=e.mapStyle;if(!_(t,r,"setDatasetStyle"))return t;var a=w(w({},t.mappedDatasets[r].style),n),i=w(w(w({},t.mappedDatasets[r]),n),{},{style:a});return E("applyStyle",[r,o],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,i))}))},SET_OPACITY:function(t,e){var r=e.datasetId,n=e.opacity;if(!_(t,r,"setOpacity"))return t;var o=w(w({},t.mappedDatasets[r].style),{},{opacity:n}),a=w(w({},t.mappedDatasets[r]),{},{style:o});return E("applyDatasetOpacity",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,a))}))},SET_GLOBAL_OPACITY:function(t,e){var r=e.opacity;return E("applyGlobalOpacity",[],w(w({},t),{},{globals:w(w({},t.globals),{},{opacity:r})}))},HIDE_FEATURES:function(t,e){var r=e.datasetId,n=e.featureIds;if(!_(t,r,"setFeatureVisibility - hideFeatures"))return t;var o=w({},t.mappedDatasets[r]),a=o.hiddenFeatures||[],i=Array.from(new Set([].concat(O(a),O(n))));return o.hiddenFeatures=i,E("applyFeatureFilter",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,o))}))},SHOW_FEATURES:function(t,e){var r=e.datasetId,n=e.featureIds;if(!_(t,r,"setFeatureVisibility - showFeatures"))return t;var o=w({},t.mappedDatasets[r]),a=(o.hiddenFeatures||[]).filter(function(t){return!n.includes(t)});return o.hiddenFeatures=a.length?a:[-1],E("applyFeatureFilter",[r],w(w({},t),{},{mappedDatasets:w(w({},t.mappedDatasets),{},P({},r,o))}))},REMOVE_ADAPTER_ACTIONS:function(t,e){return null!=e&&e.length?w(w({},t),{},{actionsArray:t.actionsArray.filter(function(t){return!e.includes(t)})}):t},SET_GLOBAL_STATE:function(t,e){return E("applyGlobalOpacity",[],w(w({},t),{},{globals:w(w({},t.globals),e)}))},SET_MENU:function(t,e){var r=e.menu,n=f(r);return w(w({},t),{},{menu:r,menuState:n})},UPDATE_MENU_STATE:function(t,e){return E("applyGlobalVisibility",[],w(w({},t),{},{menuState:w(w({},t.menuState),e)}))}},k=r(51738),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_FEATURES:"map:setfeatures",MAP_SET_ACTIVE_FEATURE:"map:setactivefeature",MAP_SELECT_FEATURE:"map:selectfeature",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"};function M(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return x(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(x(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,x(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,x(f,"constructor",l),x(l,"constructor",u),u.displayName="GeneratorFunction",x(l,o,"GeneratorFunction"),x(f),x(f,o,"Generator"),x(f,n,function(){return this}),x(f,"toString",function(){return"[object Generator]"}),(M=function(){return{w:a,m:y}})()}function x(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}x=function(t,e,r,n){function a(e,r){x(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},x(t,e,r,n)}function C(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}var L=function(){var t,e=(t=M().m(function t(e,r,n,o){var a,i,s,u,l,c,f;return M().w(function(t){for(;;)switch(t.n){case 0:return a=n(e,r),s=(i="string"==typeof a?{url:a}:a).url,u=i.headers,l=void 0===u?{}:u,t.n=1,fetch(s,{headers:l,signal:o});case 1:if((c=t.v).ok){t.n=2;break}throw new Error("Failed to fetch GeoJSON: ".concat(c.status," ").concat(c.statusText));case 2:return t.n=3,c.json();case 3:if("FeatureCollection"!==(f=t.v).type){t.n=4;break}return t.a(2,f);case 4:if("Feature"!==f.type){t.n=5;break}return t.a(2,{type:"FeatureCollection",features:[f]});case 5:if(!Array.isArray(f)){t.n=6;break}return t.a(2,{type:"FeatureCollection",features:f});case 6:throw new Error("Invalid GeoJSON response");case 7:return t.a(2)}},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){C(a,n,o,i,s,"next",t)}function s(t){C(a,n,o,i,s,"throw",t)}i(void 0)})});return function(t,r,n,o){return e.apply(this,arguments)}}();function N(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var G=function(t){var e=t.getBounds();return[e.getWest(),e.getSouth(),e.getEast(),e.getNorth()]},F=function(t,e){return!(!t||!e)&&e[0]>=t[0]&&e[1]>=t[1]&&e[2]<=t[2]&&e[3]<=t[3]},R=function(t,e){return t?[Math.min(t[0],e[0]),Math.min(t[1],e[1]),Math.max(t[2],e[2]),Math.max(t[3],e[3])]:function(t){if(Array.isArray(t))return N(t)}(r=e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return N(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?N(t,e):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var r},V=function(t,e){return!(!t||!e||t[2]<e[0]||t[0]>e[2]||t[3]<e[1]||t[1]>e[3])},B=function(t){var e=1/0,r=1/0,n=-1/0,o=-1/0,a=function(t,i){var s;0===i?(s=t,e=Math.min(e,s[0]),r=Math.min(r,s[1]),n=Math.max(n,s[0]),o=Math.max(o,s[1])):t.forEach(function(t){return a(t,i-1)})};switch(t.type){case"Point":a(t.coordinates,0);break;case"LineString":case"MultiPoint":a(t.coordinates,1);break;case"Polygon":case"MultiLineString":a(t.coordinates,2);break;case"MultiPolygon":a(t.coordinates,3);break;case"GeometryCollection":t.geometries.forEach(function(t){var a=B(t);e=Math.min(e,a[0]),r=Math.min(r,a[1]),n=Math.max(n,a[2]),o=Math.max(o,a[3])});break;default:throw new Error("Unsupported geometry type: ".concat(t.type))}return[e,r,n,o]};function W(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return U(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(U(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,U(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,U(f,"constructor",l),U(l,"constructor",u),u.displayName="GeneratorFunction",U(l,o,"GeneratorFunction"),U(f),U(f,o,"Generator"),U(f,n,function(){return this}),U(f,"toString",function(){return"[object Generator]"}),(W=function(){return{w:a,m:y}})()}function U(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}U=function(t,e,r,n){function a(e,r){U(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},U(t,e,r,n)}function K(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(t,e)||Y(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(t,e){if(t){if("string"==typeof t)return Z(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Z(t,e):void 0}}function Z(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var z=r(83262),Q=r(63447),J=function(t){var e=t.adapter,r=t.pluginConfig,n=t.mapStyle,o=t.mapProvider,a=t.events,i=t.dispatch,s=t.eventBus,u=r.datasets,c=new Map;r.globals&&i({type:"SET_GLOBAL_STATE",payload:r.globals});var p=u.map(function(t){return(0,y.ns)(t,y.V)}),d=h({datasets:u}),b=d.mappedDatasets,m=d.orderedDatasets;e.createDataset&&z.Q.attachCreateDataset(e.createDataset),z.Q.attach(b,m,n);var v=r.menu||l({datasets:p});(0,Q.Pl)(f(v)),i({type:"SET_MENU",payload:{menu:v}}),i({type:"SET_DATASETS",payload:{mappedDatasets:b,orderedDatasets:m}}),e.init().then(function(){z.Q.forEachDataset(function(t){if(t.hasDynamicGeoJSON){var r=function(t){var e,r,n,o=t.dynamicGeoJSON,a=t.map,i=t.onUpdate,s=o.url,u=o.idProperty,l=o.transformRequest,c=o.maxFeatures,f=o.minZoom,y=void 0===f?0:f,p=new Map,d=null,b=null,m=function(){return{type:"FeatureCollection",features:Array.from(p.values()).map(function(t){return t.feature})}},v=function(t){var e,r;return u&&null!==(e=null===(r=t.properties)||void 0===r?void 0:r[u])&&void 0!==e?e:t.id},h=function(t){if(c&&!(p.size<=1.2*c)){var e,r=c,n=[],o=[],a=function(t){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Y(t))){e&&(t=e);var r=0,n=function(){};return{s:n,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,i=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==e.return||e.return()}finally{if(i)throw o}}}}(p);try{for(a.s();!(e=a.n()).done;){var i=H(e.value,2),s=i[0],u=i[1];V(u.bbox,t)?n.push(s):o.push({id:s,lastSeenAt:u.lastSeenAt})}}catch(t){a.e(t)}finally{a.f()}o.sort(function(t,e){return t.lastSeenAt-e.lastSeenAt});for(var l=p.size-r,f=0;f<l&&f<o.length;f++)p.delete(o[f].id);if(p.size>r)for(var y=p.size-r,d=n.map(function(t){return{id:t,lastSeenAt:p.get(t).lastSeenAt}}).sort(function(t,e){return t.lastSeenAt-e.lastSeenAt}),b=0;b<y&&b<d.length;b++)p.delete(d[b].id)}},g=function(){var t,e=(t=W().m(function t(){var e,r,n,u,c,f,g;return W().w(function(t){for(;;)switch(t.p=t.n){case 0:if(!((e=a.getZoom())<y)){t.n=1;break}return t.a(2);case 1:if(r=G(a),!d||!F(d,r)){t.n=2;break}return t.a(2);case 2:return b&&b.abort(),b=new AbortController,t.p=3,n={bbox:r,zoom:e},t.n=4,L(s,n,l,b.signal);case 4:u=t.v,c=Date.now(),u.features.forEach(function(t){var e=v(t);null!=e?p.set(e,{feature:t,bbox:B(t.geometry),lastSeenAt:c}):console.warn("Feature missing ID, skipping:",t)}),d=R(d,r),f=p.size,h(r),p.size<f&&(d=r),i(o.id,m()),t.n=7;break;case 5:if(t.p=5,"AbortError"!==(g=t.v).name){t.n=6;break}return t.a(2);case 6:console.error("Failed to fetch dynamic GeoJSON for ".concat(o.id,":"),g);case 7:return t.a(2)}},t,null,[[3,5]])}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){K(a,n,o,i,s,"next",t)}function s(t){K(a,n,o,i,s,"throw",t)}i(void 0)})});return function(){return e.apply(this,arguments)}}(),S=(e=g,n=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];clearTimeout(r),r=setTimeout(function(){return e.apply(void 0,n)},200)},n.cancel=function(){clearTimeout(r),r=null},n),O=function(){S()};return a.on("moveend",O),g(),{destroy:function(){a.off("moveend",O),S.cancel(),b&&b.abort()},clear:function(){p.clear(),d=null,i(o.id,{type:"FeatureCollection",features:[]})},refresh:function(){p.clear(),d=null,g()},getFeatureCount:function(){return p.size},reapply:function(){p.size>0&&i(o.id,m())}}}({dynamicGeoJSON:t.dynamicGeoJSON,map:o.map,onUpdate:function(t,r){return e.setData(t,r)}});c.set(t.id,r)}}),e.attachDynamicSources(c),s.emit("datasets:ready")});var g=function(){e.onMapSizeChange()};return s.on(a.MAP_SIZE_CHANGE,g),{remove:function(){s.off(a.MAP_SIZE_CHANGE,g),c.forEach(function(t){return t.destroy()}),c.clear(),e.destroy()},refreshDataset:function(t){var e;null===(e=c.get(t))||void 0===e||e.refresh()},clearDatasetCache:function(t){var e;null===(e=c.get(t))||void 0===e||e.clear()},getFeatureCount:function(t){var e,r;return null!==(e=null===(r=c.get(t))||void 0===r?void 0:r.getFeatureCount())&&void 0!==e?e:null}}},$=r(7400);function q(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return X(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(X(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,X(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,X(f,"constructor",l),X(l,"constructor",u),u.displayName="GeneratorFunction",X(l,o,"GeneratorFunction"),X(f),X(f,o,"Generator"),X(f,n,function(){return this}),X(f,"toString",function(){return"[object Generator]"}),(q=function(){return{w:a,m:y}})()}function X(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}X=function(t,e,r,n){function a(e,r){X(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},X(t,e,r,n)}function tt(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}function et(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){tt(a,n,o,i,s,"next",t)}function s(t){tt(a,n,o,i,s,"throw",t)}i(void 0)})}}var rt,nt=function(){var t=et(q().m(function t(e){var n,o,a,i,s;return q().w(function(t){for(;;)switch(t.n){case 0:s=e.name,t.n="MapLibreProvider"===s?1:"EsriProvider"===s?3:5;break;case 1:return t.n=2,r.e(6563).then(r.bind(r,3496));case 2:return n=t.v,o=n.default,t.a(2,o);case 3:return t.n=4,r.e(7067).then(r.bind(r,91566));case 4:return a=t.v,i=a.default,t.a(2,i);case 5:throw new Error("No layer adapter available for map provider ".concat(e.name,". Please provide a compatible layer adapter."));case 6:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}(),ot={},at=function(){var t=et(q().m(function t(e,r,n){var o,a,i;return q().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,nt(e);case 1:return i=t.v,rt=new i(e,r,n),ot.removeDataset=rt.removeDataset.bind(rt),ot.setData=rt.setData.bind(rt),ot.applyStyle=rt.applyStyle.bind(rt),ot.applyDatasetVisibility=rt.applyDatasetVisibility.bind(rt),ot.applyGlobalVisibility=rt.applyGlobalVisibility.bind(rt),ot.applyDatasetOpacity=rt.applyDatasetOpacity.bind(rt),ot.applyGlobalOpacity=rt.applyGlobalOpacity.bind(rt),ot.addDataset=rt.addDataset.bind(rt),ot.applyFeatureFilter=rt.applyFeatureFilter.bind(rt),ot.onMapStyleChange=null===(o=rt.onMapStyleChange)||void 0===o?void 0:o.bind(rt),ot.onMapSizeChange=null===(a=rt.onMapSizeChange)||void 0===a?void 0:a.bind(rt),t.a(2,rt)}},t)}));return function(e,r,n){return t.apply(this,arguments)}}();function it(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function st(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function a(r,n,o,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return ut(l,"_invoke",function(r,n,o){var a,s,u,l=0,c=o||[],f=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return a=e,s=0,u=t,y.n=r,i}};function p(r,n){for(s=r,u=n,e=0;!f&&l&&!o&&e<c.length;e++){var o,a=c[e],p=y.p,d=a[2];r>3?(o=d===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=p&&((o=r<2&&p<a[1])?(s=0,y.v=n,y.n=a[1]):p<d&&(o=r<3||a[0]>n||n>d)&&(a[4]=r,a[5]=n,y.n=d,s=0))}if(o||r>1)return i;throw f=!0,n}return function(o,c,d){if(l>1)throw TypeError("Generator is already running");for(f&&1===c&&p(c,d),s=c,u=d;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(y.n=-1),p(s,u)):y.n=u:y.v=u);try{if(l=2,a){if(s||(o="next"),e=a[o]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),s=1);a=t}else if((e=(f=y.n<0)?u:r.call(n,y))!==i)break}catch(e){a=t,s=1,u=e}finally{l=1}}return{value:e,done:f}}}(r,o,a),!0),l}var i={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(ut(e={},n,function(){return this}),e),f=l.prototype=s.prototype=Object.create(c);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,ut(t,o,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=l,ut(f,"constructor",l),ut(l,"constructor",u),u.displayName="GeneratorFunction",ut(l,o,"GeneratorFunction"),ut(f),ut(f,o,"Generator"),ut(f,n,function(){return this}),ut(f,"toString",function(){return"[object Generator]"}),(st=function(){return{w:a,m:y}})()}function ut(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}ut=function(t,e,r,n){function a(e,r){ut(t,e,function(t){return this._invoke(e,r,t)})}e?o?o(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},ut(t,e,r,n)}function lt(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}var ct=function(t,e){var r=t.pluginState.dispatch,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;r(i?{type:"SET_DATASET_VISIBILITY",payload:{datasetId:i,visible:e}}:{type:"SET_GLOBAL_VISIBILITY",payload:{visible:e}})},ft=r(19287),yt=function(t){var e=t.menuGroupItem,r=t.onChange,n=z.Q.getDataset(e.id);if(!n)return null;var o=n.isSublayer?n.parentId:n.id,a=n.isSublayer?n.id:void 0,i="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(n.visible?"":" im-c-datasets-layers__item--checked");return(0,ft.jsx)("div",{className:i,"data-module":"govuk-checkboxes",children:(0,ft.jsxs)("div",{className:"govuk-checkboxes__item",children:[(0,ft.jsx)("input",{className:"govuk-checkboxes__input",id:n.id,"data-dataset-id":o,"data-sublayer-id":a,name:"layers",type:"checkbox",value:n.id,checked:n.isLocallyVisible,onChange:r}),(0,ft.jsx)("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",htmlFor:n.id,children:n.label})]})},n.id)},pt=function(t){var e=t.menuGroupItem,r=t.name,n=t.checked,o=t.onChange,a=e.visibleWhen;return!a||(0,Q.DV)(a)?(0,ft.jsx)("div",{className:'im-c-datasets-layers__item govuk-radios govuk-radios--small"',"data-module":"govuk-radios",children:(0,ft.jsxs)("div",{className:"govuk-radios__item",children:[(0,ft.jsx)("input",{id:e.id,className:"govuk-radios__input",type:"radio",name:r,value:e.id,checked:n,onChange:o}),(0,ft.jsx)("label",{className:"im-c-datasets-layers__item-label govuk-label govuk-radios__label",htmlFor:e.id,children:e.label})]})}):null};function dt(t){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dt(t)}var bt=function(t){var e=t.pluginState,r=t.menuGroup,n=r.id,o=r.items,a=r.visibleWhen;if(a&&!(0,Q.DV)(a))return null;var i=e.menuState,s=e.dispatch,u=i[n],l=function(t){var e,r,o;s({type:"UPDATE_MENU_STATE",payload:(e={},r=n,o=t.target.value,(r=function(t){var e=function(t){if("object"!=dt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==dt(e)?e:e+""}(r))in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o,e)})};return(0,ft.jsx)("div",{className:"govuk-form-group im-c-datasets-layers-group",children:(0,ft.jsxs)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,ft.jsx)("legend",{className:"im-c-datasets-layers-group__legend",children:(0,ft.jsx)("h3",{children:r.label})}),(0,ft.jsx)("div",{className:"govuk-radios govuk-radios--small","data-module":"govuk-radios",children:o.map(function(t){return(0,ft.jsx)(pt,{menuGroupItem:t,name:n,checked:t.id===u,onChange:l},t.id)})})]})},r.id)},mt=function(t){var e=t.menuGroup,r=t.children;return e.groupLabel?(0,ft.jsx)("div",{className:"govuk-form-group im-c-datasets-layers-group",children:(0,ft.jsxs)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,ft.jsx)("legend",{className:"im-c-datasets-layers-group__legend",children:(0,ft.jsx)("h3",{children:e.groupLabel})}),r]})},e.id):(0,ft.jsx)(ft.Fragment,{children:r})},vt=function(t){var e=t.text;return(0,ft.jsx)("div",{className:"im-c-datasets-key",children:(0,ft.jsx)("p",{className:"im-c-datasets-key__empty-message",children:e})})},ht=r(43247);function gt(t){return gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gt(t)}function St(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ot(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?St(Object(r),!0).forEach(function(e){jt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):St(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function jt(t,e,r){return(e=function(t){var e=function(t){if("object"!=gt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==gt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Dt=20,wt={xmlns:"http://www.w3.org/2000/svg",width:Dt,height:Dt,viewBox:"0 0 ".concat(Dt," ").concat(Dt),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},Pt=Ot(Ot({},wt),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function _t(t){return _t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_t(t)}function At(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Et(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?At(Object(r),!0).forEach(function(e){It(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):At(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function It(t,e,r){return(e=function(t){var e=function(t){if("object"!=_t(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=_t(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_t(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var kt=function(t){var e=t.patternRegistry,r=t.registryDataset,n=t.mapStyle,o=r.style,a=e.getKeyPatternPaths(o,n.id);return(0,ft.jsxs)("svg",Et(Et({},wt),{},{children:[(0,ft.jsx)("g",{dangerouslySetInnerHTML:{__html:a.border}}),(0,ft.jsx)("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:a.content}})]}))},Tt=r(93121);function Mt(t){return Mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mt(t)}function xt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Ct(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?xt(Object(r),!0).forEach(function(e){Lt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):xt(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Lt(t,e,r){return(e=function(t){var e=function(t){if("object"!=Mt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Mt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Nt=function(t){var e,r=t.symbolRegistry,n=t.registryDataset,o=t.mapStyle,a=t.symbolDef,i=n.style,s=null!==(e=null==o?void 0:o.appColorScheme)&&void 0!==e?e:"light",u=Ct(Ct({},o),{},{mapColorScheme:s}),l=r.resolve(a,(0,Tt.sR)(i),u),c=(0,Tt.n8)(i,a);return(0,ft.jsx)("svg",Ct(Ct({},Pt),{},{viewBox:c,children:(0,ft.jsx)("g",{dangerouslySetInnerHTML:{__html:l}})}))};function Gt(t){return Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gt(t)}function Ft(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Rt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ft(Object(r),!0).forEach(function(e){Vt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ft(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Vt(t,e,r){return(e=function(t){var e=function(t){if("object"!=Gt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Gt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Gt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Bt=function(t){var e=t.mapStyle,r=t.registryDataset.style;return(0,ft.jsx)("svg",Rt(Rt({},wt),{},{children:(0,ft.jsx)("line",{x1:r.strokeWidth/2,y1:10,x2:Dt-r.strokeWidth/2,y2:10,stroke:(0,ht.o)(r.stroke,e.id),strokeWidth:r.strokeWidth,strokeLinecap:"round"})}))};function Wt(t){return Wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wt(t)}function Ut(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function Kt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ut(Object(r),!0).forEach(function(e){Ht(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Ht(t,e,r){return(e=function(t){var e=function(t){if("object"!=Wt(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=Wt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Wt(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Yt=function(t){var e=t.mapStyle,r=t.registryDataset.style;return(0,ft.jsx)("svg",Kt(Kt({},wt),{},{children:(0,ft.jsx)("rect",{x:r.strokeWidth/2,y:r.strokeWidth/2,width:Dt-r.strokeWidth,height:Dt-r.strokeWidth,rx:r.strokeWidth,ry:r.strokeWidth,fill:(0,ht.o)(r.fill,e.id),stroke:(0,ht.o)(r.stroke,e.id),strokeWidth:r.strokeWidth,strokeLinejoin:"round"})}))},Zt=function(t){var e=t.symbolRegistry,r=t.registryDataset,n=t.mapStyle,o=t.patternRegistry,a=r.hasSymbol,i=r.hasPattern,s=r.style,u=a&&e.getSymbolDef(s);return u?(0,ft.jsx)(Nt,{mapStyle:n,registryDataset:r,symbolRegistry:e,symbolDef:u}):i?(0,ft.jsx)(kt,{mapStyle:n,registryDataset:r,patternRegistry:o}):"line"===s.keySymbolShape?(0,ft.jsx)(Bt,{mapStyle:n,registryDataset:r}):(0,ft.jsx)(Yt,{mapStyle:n,registryDataset:r})},zt=function(t){var e=t.registryDataset,r=t.symbolRegistry,n=t.patternRegistry,o=t.mapStyle;return e.showInKey?(0,ft.jsxs)("dl",{className:"im-c-datasets-key__item",children:[(0,ft.jsx)("dt",{className:"im-c-datasets-key__item-symbol",children:(0,ft.jsx)(Zt,{registryDataset:e,symbolRegistry:r,patternRegistry:n,mapStyle:o})}),(0,ft.jsxs)("dd",{className:"im-c-datasets-key__item-label",children:[e.label,e.symbolDescription&&(0,ft.jsxs)("span",{className:"govuk-visually-hidden",children:["(",(0,ht.o)(e.symbolDescription,o.id),")"]})]})]}):null},Qt=function(t){var e=t.headingId,r=t.label,n=t.datasets,o=t.symbolRegistry,a=t.patternRegistry,i=t.mapStyle;return(0,ft.jsxs)("section",{className:"im-c-datasets-key__group","aria-labelledby":e,children:[(0,ft.jsx)("h3",{id:e,className:"im-c-datasets-key__group-heading",children:r}),n.map(function(t){return(0,ft.jsx)(zt,{registryDataset:t,symbolRegistry:o,patternRegistry:a,mapStyle:i},"".concat(t.id))})]})},Jt={InitComponent:function(t){var e=t.pluginConfig,r=t.pluginState,n=t.appState,o=t.mapState,a=t.mapProvider,i=t.services,s=r.dispatch,u=i.eventBus,l=i.symbolRegistry,c=i.patternRegistry,f=Boolean(null==a?void 0:a.isBaseMapReady()),y=(0,k.useRef)(r);y.current=r;var p=(0,k.useRef)(null);return(0,k.useEffect)(function(){var t,r,i,d,b=null===(t=null===(r=e.includeModes)||void 0===r?void 0:r.includes(n.mode))||void 0===t||t,m=null!==(i=null===(d=e.excludeModes)||void 0===d?void 0:d.includes(n.mode))&&void 0!==i&&i;if(f&&b&&!m&&!p.current){var v=function(){var t,r=(t=st().m(function t(){var r;return st().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,at(a,l,c);case 1:r=t.v,p.current=J({adapter:r,pluginConfig:e,pluginStateRef:y,mapStyle:o.mapStyle,mapProvider:a,events:T,dispatch:s,eventBus:u});case 2:return t.a(2)}},t)}),function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function i(t){lt(a,n,o,i,s,"next",t)}function s(t){lt(a,n,o,i,s,"throw",t)}i(void 0)})});return function(){return r.apply(this,arguments)}}();v()}},[f,n.mode]),(0,k.useEffect)(function(){(0,Q.Pl)(r.menuState),z.Q.invalidateKeyItems()},[r.menuState]),(0,k.useEffect)(function(){return z.Q.attach(r.mappedDatasets,r.orderedDatasets)},[r.mappedDatasets,r.orderedDatasets]),(0,k.useEffect)(function(){z.Q.attachMapStyle(o.mapStyle),null!=ot&&ot.onMapStyleChange&&ot.onMapStyleChange()},[o.mapStyle]),(0,k.useEffect)(function(){return(0,$.A3)(r.globals)},[r.globals]),(0,k.useEffect)(function(){var t=r.actionsArray;t.length&&(t.forEach(function(t){var e,r=t.method,n=t.parameters;return ot[r].apply(ot,function(t){if(Array.isArray(t))return it(t)}(e=n)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||function(t,e){if(t){if("string"==typeof t)return it(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?it(t,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}),s({type:"REMOVE_ADAPTER_ACTIONS",payload:t}))},[r.actionsArray]),(0,k.useEffect)(function(){return function(){p.current&&(p.current.remove(),p.current=null)}},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},mappedDatasets:{},orderedDatasets:[],actionsArray:[],menu:[],menuState:{}},actions:I},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:function(t){var e=t.pluginState,r=e.menu,n=void 0===r?[]:r,o=function(t){var r=t.target,n=r.value,o=r.checked;ct({pluginState:e},o,{datasetId:n})},a=n.some(function(t){return t.groupLabel}),i="im-c-datasets-layers".concat(a?" im-c-datasets-layers--has-groups":"");return(0,ft.jsx)("div",{className:i,children:n.map(function(t){return"checkbox"===t.type?(0,ft.jsxs)(mt,{menuGroup:t,children:[" ",t.items.map(function(t){return(0,ft.jsx)(yt,{menuGroupItem:t,onChange:o},t.id)})]},t.id):(0,ft.jsx)(bt,{menuGroup:t,pluginState:e},t.id)})})}},{id:"datasetsKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(t){var e=t.pluginConfig.noKeyItemText,r=t.mapState.mapStyle,n=t.services,o=n.symbolRegistry,a=n.patternRegistry,i=z.Q.keyItems(),s=i.items,u=i.hasGroups;if(null==s||!s.length)return(0,ft.jsx)(vt,{text:e});var l="im-c-datasets-key".concat(u?" im-c-datasets-key--has-groups":"");return(0,ft.jsx)("div",{className:l,children:s.map(function(t){var e="group"===t.type?t.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):t.dataset.id;if("sublayers"===t.type||"group"===t.type){var n="sublayers"===t.type?t.sublayers:t.datasets,i="sublayers"===t.type?t.dataset.label:t.groupLabel;return(0,ft.jsx)(Qt,{headingId:"key-heading-".concat(e),label:i,datasets:n,symbolRegistry:o,patternRegistry:a,mapStyle:r},e)}return(0,ft.jsx)(zt,{registryDataset:t.dataset,symbolRegistry:o,patternRegistry:a,mapStyle:r},e)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:function(t){var e=t.pluginConfig;return!e.menu&&!e.datasets.some(function(t){var e;return t.showInMenu||(null===(e=t.sublayers)||void 0===e?void 0:e.some(function(t){return t.showInMenu}))})},mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}},{id:"datasetsKey",label:"Key",panelId:"datasetsKey",iconId:"key",excludeWhen:function(t){return!t.pluginConfig.datasets.some(function(t){return t.showInKey})},mobile:{slot:"top-left",showLabel:!1},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:function(t,e){(0,t.pluginState.dispatch)({type:"ADD_DATASET",payload:{dataset:e,mapStyle:t.mapState.mapStyle}})},removeDataset:function(t,e){var r=t.pluginState.dispatch;ot.removeDataset(e),r({type:"REMOVE_DATASET",payload:{id:e}})},setDatasetVisibility:ct,setFeatureVisibility:function(t,e,r){var n=t.pluginState.dispatch,o=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).datasetId,a=void 0===o?null:o;if(a){var i=z.Q.getDataset(a);!i||i.idProperty||i.generateIds||g.v.warn('setFeatureVisibility: Dataset "'.concat(a,'" 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.'))}n({type:e?"SHOW_FEATURES":"HIDE_FEATURES",payload:{datasetId:a,featureIds:r}})},setStyle:function(t,e){var r=t.pluginState.dispatch,n=t.mapState,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=o.datasetId,i=o.sublayerId;r({type:"SET_DATASET_STYLE",payload:{datasetId:a=i?"".concat(a,"-").concat(i):a,styleChanges:e,mapStyle:n.mapStyle}})},getStyle:function(t){t._pluginState;var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=e.datasetId,n=e.sublayerId;r=n?"".concat(r,"-").concat(n):r;var o=z.Q.getDataset(r);return o?o.style:(g.v.warn("getStyle: Dataset with id ".concat(r," not found")),null)},setOpacity:function(t,e){var r=t.pluginState.dispatch,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;r(i?{type:"SET_OPACITY",payload:{datasetId:i,opacity:e}}:{type:"SET_GLOBAL_OPACITY",payload:{opacity:e}})},getOpacity:function(t){var e,r=t.pluginState.globals,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.datasetId,a=n.sublayerId,i=a?"".concat(o,"-").concat(a):o;if(i){var s,u=z.Q.getDataset(i);return u?null!==(s=u.opacity)&&void 0!==s?s:null:(g.v.warn("getOpacity: Dataset with id ".concat(i," not found")),null)}return null!==(e=r.opacity)&&void 0!==e?e:null},setData:function(t,e,r){t._pluginState;var n=r.datasetId,o=z.Q.getDataset(n);o?null!=o&&o.tiles?g.v.warn('setData called on vector tile dataset "'.concat(n,'" — has no effect')):ot.setData(n,e):g.v.warn("setData: Dataset with id ".concat(n," not found"))},setGlobals:function(t,e){var r=t.pluginState.dispatch,n=e.opacityMode,o={},a=!1;n&&(["dataset","global","multiply"].includes(n)?(a=!0,o.opacityMode=n):g.v.warn("Ignoring invalid opacityMode: ".concat(n,". Must be one of 'dataset', 'global' or 'multiply'."))),a?r({type:"SET_GLOBAL_STATE",payload:o}):g.v.warn("setGlobals: requires a valid value for opacityMode to be set")}}}},91954(t,e,r){r.d(e,{j:()=>D});var n=r(83262),o=r(63447),a=r(65767),i=r(41449);function s(t){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function l(t,e,r){return(e=y(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,y(n.key),n)}}function f(t,e,r){return e&&c(t.prototype,e),r&&c(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function y(t){var e=function(t){if("object"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==s(e)?e:e+""}var p=f(function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),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(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?u(Object(r),!0).forEach(function(e){l(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({type:"geojson",data:{type:"FeatureCollection",features:[]}},this.idProperty?{promoteId:this.idProperty}:{generateId:!0})}),d=r(7400);function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function m(t){return function(t){if(Array.isArray(t))return v(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return v(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function h(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function g(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?h(Object(r),!0).forEach(function(e){S(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function S(t,e,r){return(e=j(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function O(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,j(n.key),n)}}function j(t){var e=function(t){if("object"!=b(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=b(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==b(e)?e:e+""}var D=function(){return t=function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._datasetDefinition=e},(e=[{key:"id",get:function(){return this._datasetDefinition.id}},{key:"label",get:function(){return this._datasetDefinition.label}},{key:"hasSymbol",get:function(){var t;return!this.hasSublayers&&Boolean(null===(t=this.style)||void 0===t?void 0:t.symbol)}},{key:"hasPattern",get:function(){return!this.hasSublayers&&!this.hasSymbol&&(0,i.vY)(this.style)}},{key:"hasFill",get:function(){var t,e;return!this.hasSublayers&&!this.hasSymbol&&(this.hasPattern||(null===(t=this.style)||void 0===t?void 0:t.fill)&&"transparent"!==(null===(e=this.style)||void 0===e?void 0:e.fill))}},{key:"hasStroke",get:function(){var t;return!this.hasSublayers&&!this.hasSymbol&&Boolean(null===(t=this.style)||void 0===t?void 0:t.stroke)}},{key:"tiles",get:function(){return this._datasetDefinition.tiles}},{key:"geojson",get:function(){return this._datasetDefinition.geojson}},{key:"idProperty",get:function(){return this._datasetDefinition.idProperty}},{key:"generateIds",get:function(){return this._datasetDefinition.generateIds}},{key:"parentId",get:function(){return this._datasetDefinition.parentId}},{key:"minZoom",get:function(){var t;return this._datasetDefinition.minZoom||(null===(t=this.parent)||void 0===t?void 0:t.minZoom)}},{key:"maxZoom",get:function(){var t;return this._datasetDefinition.maxZoom||(null===(t=this.parent)||void 0===t?void 0:t.maxZoom)}},{key:"type",get:function(){var t;return this._datasetDefinition.type||(null===(t=this.parent)||void 0===t?void 0:t.type)}},{key:"showInKey",get:function(){var t,e,r=this._datasetDefinition.showInKey;return void 0!==r?r:null!==(t=null===(e=this.parent)||void 0===e?void 0:e.showInKey)&&void 0!==t&&t}},{key:"visibleWhen",get:function(){var t;return void 0===this._datasetDefinition.visibleWhen?null===(t=this.parent)||void 0===t?void 0:t.visibleWhen:this._datasetDefinition.visibleWhen}},{key:"groupLabel",get:function(){var t,e;return this._datasetDefinition.groupLabel||(null===(t=this.parent)||void 0===t?void 0:t.groupLabel)||(null===(e=this.parent)||void 0===e?void 0:e.label)}},{key:"opacity",get:function(){var t,e,r=null===(t=this.style)||void 0===t?void 0:t.opacity,n=null===(e=this.parent)||void 0===e||null===(e=e.style)||void 0===e?void 0:e.opacity;return(0,d.ob)(r,n)}},{key:"hasDynamicGeoJSON",get:function(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}},{key:"dynamicGeoJSON",get:function(){return new p(g(g({},this._datasetDefinition.dynamicGeoJSON),{},{id:this.id,minZoom:this.minZoom}))}},{key:"hiddenFeatures",get:function(){return this._datasetDefinition.hiddenFeatures}},{key:"hasHiddenFeatures",get:function(){var t,e;return Boolean((null===(t=this.hiddenFeatures)||void 0===t?void 0:t.length)>0||(null===(e=this.parent)||void 0===e?void 0:e.hasHiddenFeatures))}},{key:"filter",get:function(){return null}},{key:"isHiddenByInheritance",get:function(){var t;return this.isSublayer?!(null!==(t=this.parent)&&void 0!==t&&t.visible):!(0,d.uA)()}},{key:"isLocallyVisible",get:function(){return!!this.isVisible||this._datasetDefinition.visible}},{key:"visible",get:function(){var t;return this.isSublayer?this._datasetDefinition.visible&&(null===(t=this.parent)||void 0===t?void 0:t.visible):this._datasetDefinition.visible&&(0,d.uA)()}},{key:"esriStyleLayerId",get:function(){return this._datasetDefinition.esriStyleLayerId}},{key:"visibility",get:function(){var t=this.visible,e=this.visibleWhen;return t&&e?(0,o.DV)(e)?"visible":"none":t?"visible":"none"}},{key:"keyVisibility",get:function(){return"visible"===this.visibility&&this.showInKey}},{key:"symbolAnchor",get:function(){var t,e;return null!==(t=this.style)&&void 0!==t&&t.symbolAnchor?this.style.symbolAnchor:null===(e=this.parent)||void 0===e?void 0:e.symbolAnchor}},{key:"sourceLayer",get:function(){return this.isSublayer?this.parent.sourceLayer:this.tiles?this._datasetDefinition.sourceLayer:void 0}},{key:"isSublayer",get:function(){return Boolean(this._datasetDefinition.parentId)}},{key:"hasSublayers",get:function(){var t;return(null===(t=this._datasetDefinition.sublayerIds)||void 0===t?void 0:t.length)>0}},{key:"sublayerIds",get:function(){return this._datasetDefinition.sublayerIds}},{key:"sublayers",get:function(){var t=this.sublayerIds;return t?t.map(function(t){return n.Q.getDataset(t)}):[]}},{key:"parent",get:function(){if(this._datasetDefinition.parentId)return n.Q.getDataset(this._datasetDefinition.parentId)}},{key:"style",get:function(){var t,e=null===(t=this.parent)||void 0===t?void 0:t.style;return e?g(g(g({},e),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}},{key:"hasCustomVisualStyle",get:function(){return(0,a.p_)(this._datasetDefinition.style||{})}},{key:"symbolDescription",get:function(){var t,e;return null!==(t=this._datasetDefinition.style)&&void 0!==t&&t.symbolDescription?this._datasetDefinition.style.symbolDescription:this.hasCustomVisualStyle||null===(e=this.parent)||void 0===e?void 0:e.symbolDescription}},{key:"patternConfigs",get:function(){var t=this.hasPattern?[this.style]:[];return this.hasSublayers?[].concat(t,m(this.sublayers.flatMap(function(t){return t.patternConfigs}))):t}},{key:"symbolConfigs",get:function(){var t=this.hasSymbol?[this.style]:[];return this.hasSublayers?[].concat(t,m(this.sublayers.flatMap(function(t){return t.symbolConfigs}))):t}}])&&O(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},83262(t,e,r){r.d(e,{Q:()=>b});var n=r(91954);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,s(n.key),n)}}function s(t){var e=function(t){if("object"!=o(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}var u=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.idToDefinitionMap=new Map,this.definitionToInstanceMap=new Map},(e=[{key:"add",value:function(t){this.idToDefinitionMap.set(t.id,t._datasetDefinition),this.definitionToInstanceMap.set(t._datasetDefinition,t)}},{key:"invalidateDataset",value:function(t){var e=this,r=this.idToDefinitionMap.get(t.id);[r.id].concat(function(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((null==r?void 0:r.sublayerIds)||[])).forEach(function(t){var r=e.idToDefinitionMap.get(t);e.definitionToInstanceMap.delete(r),e.idToDefinitionMap.delete(t)})}},{key:"invalidateChangedDatasets",value:function(t){var e=this;t.forEach(function(t){var r=e.idToDefinitionMap.get(t.id);if(r&&r!==t){var n=e.definitionToInstanceMap.get(r);e.invalidateDataset(n.isSublayer&&n.parent?n.parent:n)}})}},{key:"getByDefinition",value:function(t){return this.definitionToInstanceMap.get(t)}}])&&i(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}();function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function c(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?y(Object(r),!0).forEach(function(e){d(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function d(t,e,r){return(e=function(t){var e=function(t){if("object"!=l(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==l(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var b={attach:function(t,e,r){this._datasets=t,this._orderedDatasets=e,this.attachMapStyle(r),this._invalidateChangedDatasets()},_definitionCache:new u,_invalidateCache:function(){this._definitionCache=new u},_invalidateChangedDatasets:function(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset:function(t){this._createDataset=t},_createDataset:function(t){return function(t){return new n.j(t)}(t)},attachMapStyle:function(t){t&&(this._mapStyle=t)},get mapStyle(){return this._mapStyle},getDataset:function(t){var e=this.datasets[t];if(e){var r=this._definitionCache.getByDefinition(e);if(r)return r;var n=this._createDataset(e);return this._definitionCache.add(n),n.isSublayer&&this.getDataset(n.parentId),n}},forEach:function(t){var e=this;this._orderedDatasets.forEach(function(r){return t(e.getDataset(r))})},forEachDataset:function(t){var e=this;Object.values(this.datasets).filter(function(t){return!t.parentId}).forEach(function(r){return t(e.getDataset(r.id))})},topLevelDatasets:function(){var t=this;return Object.values(this.datasets).filter(function(t){return!t.parentId}).map(function(e){return t.getDataset(e.id)})},getPatternAndSymbolConfigs:function(){return this.topLevelDatasets().reduce(function(t,e){return p(p({},t),{},{patternConfigs:[].concat(c(t.patternConfigs),c(e.patternConfigs)),symbolConfigs:[].concat(c(t.symbolConfigs),c(e.symbolConfigs))})},{patternConfigs:[],symbolConfigs:[]})},invalidateKeyItems:function(){this._lastKeyItemsDatasets=null},_lastKeyItems:{},keyItems:function(){if(this.datasets===this._lastKeyItemsDatasets)return this._lastKeyItems;this._lastKeyItemsDatasets=this.datasets;var t=[],e=new Map;this.forEach(function(r){if(r.showInKey&&r.keyVisibility)if(r.hasSublayers||r.groupLabel){var n=function(r){if(e.has(r))return e.get(r);var n={type:"group",groupLabel:r,datasets:[]};return e.set(r,n),t.push(n),n}(r.groupLabel||r.label);r.hasSublayers||n.datasets.push(r)}else t.push({type:"flat",dataset:r})});var r=t.filter(function(t){var e;return"flat"===t.type||Boolean(null===(e=t.datasets)||void 0===e?void 0:e.length)}),n=r.some(function(t){return"group"===t.type});return this._lastKeyItems={items:r,hasGroups:n},this._lastKeyItems}};Object.defineProperty(b,"datasets",{get:function(){return b._datasets}}),window.datasetRegistry=b},7400(t,e,r){r.d(e,{A3:()=>o,ob:()=>a,uA:()=>i});var n={},o=function(t){n=t};window.getGlobalState=function(){return Object.freeze(n)};var a=function(t,e){switch(n.opacityMode){case"global":return n.opacity;case"multiply":return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Math.round(100*(t*e*n.opacity+Number.EPSILON))/100}(t,e);default:return function(t,e){return void 0===t?void 0===e?n.opacity:e:t}(t,e)}},i=function(){return n.visible}},63447(t,e,r){r.d(e,{DV:()=>y,Pl:()=>u});var n=r(83262);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a,i,s=[],u=!0,l=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var s={},u=function(t){s=t},l=function(t){for(var e=0,r=Object.entries(t);e<r.length;e++){var n=a(r[e],2),o=n[0],i=n[1],u=s[o];if(!i.includes(u))return!1}return!0},c=function(t){return(Array.isArray(t)?t:[t]).includes(f())},f=function(){return n.Q.mapStyle.id},y=function(t){if(null==t)return!0;if("boolean"==typeof t)return t;if("object"===o(t)){for(var e=0,r=Object.entries(t);e<r.length;e++){var n=a(r[e],2),i=n[0],s=n[1];if("mapStyleId"===i&&!c(s))return!1;if("menu"===i&&!l(s))return!1}return!0}return!0}},97619(t,e,r){r.d(e,{v:()=>o});var n="[interactive-map]",o={warn:function(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=console).warn.apply(t,[n].concat(r))},error:function(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=console).error.apply(t,[n].concat(r))}}},43247(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{o:()=>o});var o=function(t,e){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===n(t)){if(e&&t[e])return t[e];var r=Object.values(t)[0];return null!=r?r:null}return null}},41449(t,e,r){function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}r.d(e,{YZ:()=>o,vY:()=>a});var o=function(t){var e,r=0,o=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){u=!0,i=t},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw i}}}}(t);try{for(o.s();!(e=o.n()).done;){var a=e.value;r=Math.trunc((r<<5)-r+a.codePointAt(0))}}catch(t){o.e(t)}finally{o.f()}return Math.abs(r).toString(36)},a=function(t){return!(!t.fillPattern&&!t.fillPatternSvgContent)}},93121(t,e,r){r.d(e,{Op:()=>i,n8:()=>a,sR:()=>o});var n=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),o=function(t){if(!function(t){return!(!t.symbol&&!t.symbolSvgContent)}(t))return{};var e={};return n.forEach(function(r){if(null!=t[r]){var n=r.charAt(6).toLowerCase()+r.slice(7);e[n]=t[r]}}),e},a=function(t,e){var r;return t.symbolViewBox?t.symbolViewBox:null!==(r=null==e?void 0:e.viewBox)&&void 0!==r?r:"0 0 38 38"},i=function(t,e){var r;return t.symbolAnchor?t.symbolAnchor:null!==(r=null==e?void 0:e.anchor)&&void 0!==r?r:[.5,.5]}}}]);
@@ -41,7 +41,9 @@ export class Dataset {
41
41
  return this._datasetDefinition.visibleWhen
42
42
  }
43
43
 
44
- get groupLabel () { return this._datasetDefinition.groupLabel }
44
+ // A sublayer effectively has a groupLabel, even if it or its parent doesn't,
45
+ // as it will be grouped with its siblings under the parents label if it doesn't.
46
+ get groupLabel () { return this._datasetDefinition.groupLabel || this.parent?.groupLabel || this.parent?.label }
45
47
 
46
48
  get opacity () {
47
49
  const myOpacity = this.style?.opacity
@@ -92,35 +92,41 @@ const datasetRegistry = {
92
92
  return this._lastKeyItems
93
93
  }
94
94
  this._lastKeyItemsDatasets = this.datasets
95
- const items = []
96
- const seenGroups = new Set()
97
- let hasGroups = false
98
- this.forEachDataset((dataset) => {
95
+ const _items = []
96
+ const groups = new Map()
97
+
98
+ const getOrCreateGroup = (groupLabel) => {
99
+ if (groups.has(groupLabel)) {
100
+ return groups.get(groupLabel)
101
+ }
102
+ const groupObject = {
103
+ type: 'group',
104
+ groupLabel,
105
+ datasets: []
106
+ }
107
+ groups.set(groupLabel, groupObject)
108
+ _items.push(groupObject)
109
+ return groupObject
110
+ }
111
+
112
+ this.forEach((dataset) => {
99
113
  if (!(dataset.showInKey && dataset.keyVisibility)) {
100
114
  return
101
115
  }
102
- if (dataset.hasSublayers) {
103
- const sublayers = dataset.sublayers.filter(sublayer => sublayer.keyVisibility)
104
- if (sublayers.length) {
105
- hasGroups = true
106
- items.push({ type: 'sublayers', dataset, sublayers })
107
- }
108
- } else if (dataset.groupLabel) {
109
- if (seenGroups.has(dataset.groupLabel)) {
110
- return
111
- }
112
- seenGroups.add(dataset.groupLabel)
113
- hasGroups = true
114
- items.push({
115
- type: 'group',
116
- groupLabel: dataset.groupLabel,
117
- datasets: this.topLevelDatasets()
118
- .filter(groupDataset => (groupDataset.groupLabel === dataset.groupLabel && !groupDataset.hasSublayers && groupDataset.keyVisibility))
119
- })
120
- } else {
121
- items.push({ type: 'flat', dataset })
116
+ const isGroup = dataset.hasSublayers || dataset.groupLabel
117
+ if (!isGroup) {
118
+ _items.push({ type: 'flat', dataset })
119
+ return
120
+ }
121
+
122
+ const groupLabel = dataset.groupLabel || dataset.label
123
+ const groupObject = getOrCreateGroup(groupLabel)
124
+ if (!dataset.hasSublayers) {
125
+ groupObject.datasets.push(dataset)
122
126
  }
123
127
  })
128
+ const items = _items.filter((item) => item.type === 'flat' || Boolean(item.datasets?.length))
129
+ const hasGroups = items.some(item => item.type === 'group')
124
130
  this._lastKeyItems = { items, hasGroups }
125
131
  return this._lastKeyItems
126
132
  }
@@ -121,10 +121,10 @@ describe('datasetRegistry', () => {
121
121
  expect(typeof hasGroups).toBe('boolean')
122
122
  })
123
123
 
124
- it('includes a sublayers entry for each dataset that has sublayers', () => {
124
+ it('includes a group entry for each dataset that has sublayers', () => {
125
125
  const { items } = datasetRegistry.keyItems()
126
- const sublayerItems = items.filter(item => item.type === 'sublayers')
127
- expect(sublayerItems).toHaveLength(2) // land-covers and historic-monuments
126
+ const groupItems = items.filter(item => item.type === 'group')
127
+ expect(groupItems).toHaveLength(2) // land-covers and historic-monuments
128
128
  })
129
129
 
130
130
  it('includes a flat entry for datasets without sublayers and no groupLabel', () => {
@@ -139,13 +139,13 @@ describe('datasetRegistry', () => {
139
139
  })
140
140
 
141
141
  it('sets hasGroups to false when all items are flat with no groupLabel', () => {
142
- datasetRegistry.attach({ simple: { id: 'simple', showInKey: true, visible: true, style: {} } })
142
+ datasetRegistry.attach({ simple: { id: 'simple', showInKey: true, visible: true, style: {} } }, ['simple'])
143
143
  const { hasGroups } = datasetRegistry.keyItems()
144
144
  expect(hasGroups).toBe(false)
145
145
  })
146
146
 
147
147
  it('sets hasGroups to false when a dataset has only one sublayer and it is not visible', () => {
148
- const { mappedDatasets: singleHiddenSublayer } = mappedDatasetsReducer({
148
+ const { mappedDatasets: singleHiddenSublayer, orderedDatasets } = mappedDatasetsReducer({
149
149
  datasets: [{
150
150
  id: 'single-sublayer-dataset',
151
151
  showInKey: true,
@@ -154,38 +154,38 @@ describe('datasetRegistry', () => {
154
154
  sublayers: [{ id: 'sub', visible: false, style: {} }]
155
155
  }]
156
156
  })
157
- datasetRegistry.attach(singleHiddenSublayer)
157
+ datasetRegistry.attach(singleHiddenSublayer, orderedDatasets)
158
158
  const { hasGroups } = datasetRegistry.keyItems()
159
159
  expect(hasGroups).toBe(false)
160
160
  })
161
161
 
162
- it('only includes visible sublayers in sublayers items', () => {
162
+ it('only includes visible sublayers in group items', () => {
163
163
  const { items } = datasetRegistry.keyItems()
164
- const landCoversItem = items.find(item => item.type === 'sublayers' && item.dataset.id === 'land-covers')
165
- const sublayerIds = landCoversItem.sublayers.map(s => s.id)
164
+ const landCoversItem = items.find(item => item.type === 'group' && item.groupLabel === 'Land covers')
165
+ const sublayerIds = landCoversItem.datasets.map(s => s.id)
166
166
  expect(sublayerIds).not.toContain('land-covers-379') // land-covers-379 has visible: false
167
167
  })
168
168
 
169
169
  it('includes a group entry for datasets sharing a groupLabel', () => {
170
- const { mappedDatasets: grouped } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
171
- datasetRegistry.attach(grouped)
170
+ const { mappedDatasets: grouped, orderedDatasets } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
171
+ datasetRegistry.attach(grouped, orderedDatasets)
172
172
  const { items } = datasetRegistry.keyItems()
173
173
  const groupItems = items.filter(item => item.type === 'group')
174
- expect(groupItems).toHaveLength(1)
175
- expect(groupItems[0].groupLabel).toBe('Test group')
174
+ expect(groupItems).toHaveLength(3)
175
+ expect(groupItems[1].groupLabel).toBe('Test group')
176
176
  })
177
177
 
178
178
  it('only adds one group entry per unique groupLabel', () => {
179
- const { mappedDatasets: grouped } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
180
- datasetRegistry.attach(grouped)
179
+ const { mappedDatasets: grouped, orderedDatasets } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
180
+ datasetRegistry.attach(grouped, orderedDatasets)
181
181
  const { items } = datasetRegistry.keyItems()
182
182
  const groupLabels = items.filter(i => i.type === 'group').map(i => i.groupLabel)
183
183
  expect(groupLabels.length).toBe(new Set(groupLabels).size)
184
184
  })
185
185
 
186
186
  it('populates group item datasets with matching showInKey datasets', () => {
187
- const { mappedDatasets: grouped } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
188
- datasetRegistry.attach(grouped)
187
+ const { mappedDatasets: grouped, orderedDatasets } = mappedDatasetsReducer({ datasets: datasetsWithGroups })
188
+ datasetRegistry.attach(grouped, orderedDatasets)
189
189
  const { items } = datasetRegistry.keyItems()
190
190
  const groupItem = items.find(item => item.type === 'group' && item.groupLabel === 'Test group')
191
191
  const ids = groupItem.datasets.map(d => d.id)
@@ -199,9 +199,16 @@ describe('datasetRegistry', () => {
199
199
  expect(result1).toBe(result2)
200
200
  })
201
201
 
202
+ it('recalculates caches the cached result when invalidateKeyItems is called', () => {
203
+ const result1 = datasetRegistry.keyItems()
204
+ datasetRegistry.invalidateKeyItems()
205
+ const result2 = datasetRegistry.keyItems()
206
+ expect(result1).not.toBe(result2)
207
+ })
208
+
202
209
  it('recomputes when the datasets ref changes', () => {
203
210
  const result1 = datasetRegistry.keyItems()
204
- datasetRegistry.attach({ simple: { id: 'simple', showInKey: true, visible: true, style: {} } })
211
+ datasetRegistry.attach({ simple: { id: 'simple', showInKey: true, visible: true, style: {} } }, ['simple'])
205
212
  const result2 = datasetRegistry.keyItems()
206
213
  expect(result1).not.toBe(result2)
207
214
  })