@defra/interactive-map 0.0.31-alpha → 0.0.33-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/README.md +2 -2
- package/assets/images/bright-ofm-thumb.jpg +0 -0
- package/assets/images/dark-ofm-thumb.jpg +0 -0
- package/assets/images/road-ofm-thumb.jpg +0 -0
- package/assets/templates/add-polygons.njk +143 -0
- package/assets/templates/add-symbols.njk +119 -0
- package/assets/templates/{map.njk → basic-map.njk} +9 -17
- package/assets/templates/button-map.njk +56 -0
- package/assets/templates/draw-tools.njk +161 -0
- package/assets/templates/marker-panel.njk +91 -0
- package/assets/templates/place-marker.njk +104 -0
- package/assets/templates/search-control.njk +98 -0
- package/assets/templates/select-feature.njk +101 -0
- package/assets/templates/style-switcher.njk +87 -0
- package/assets/templates/toggle-marker-label.njk +74 -0
- package/dist/css/index.css +1 -1
- package/dist/esm/im-core.js +1 -1
- package/dist/esm/im-shell.js +1 -1
- package/dist/umd/im-core.js +1 -1
- package/dist/umd/index.js +1 -1
- package/docs/api/map-style-config.md +27 -3
- package/docs/api.md +55 -0
- package/docs/assets/css/docusaurus.scss +22 -6
- package/docs/assets/images/add-polygons.jpg +0 -0
- package/docs/assets/images/add-symbols.jpg +0 -0
- package/docs/assets/images/hero.png +0 -0
- package/docs/assets/images/place-marker.jpg +0 -0
- package/docs/assets/images/screenshot.jpg +0 -0
- package/docs/examples/add-marker-with-panel.mdx +1 -1
- package/docs/examples/add-polygons.mdx +225 -0
- package/docs/examples/add-symbols.mdx +177 -0
- package/docs/examples/{draw.mdx → draw-tools.mdx} +2 -2
- package/docs/examples/index.mdx +38 -2
- package/docs/examples/place-marker.mdx +151 -0
- package/docs/plugins/datasets.md +144 -96
- package/docs/plugins/interact.md +1 -4
- package/docusaurus.config.cjs +5 -2
- package/govuk-prototype-kit.config.json +52 -2
- package/package.json +1 -1
- package/plugins/beta/datasets/dist/css/index.css +1 -2
- package/plugins/beta/datasets/dist/esm/im-datasets-ml-adapter.js +1 -1
- package/plugins/beta/datasets/dist/esm/im-datasets-plugin.js +1 -1
- package/plugins/beta/datasets/dist/umd/im-datasets-ml-adapter.js +1 -1
- package/plugins/beta/datasets/dist/umd/im-datasets-plugin.js +1 -1
- package/plugins/beta/datasets/dist/umd/index.js +1 -1
- package/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.js +27 -9
- package/plugins/beta/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js +46 -4
- package/plugins/beta/datasets/src/api/setFeatureVisibility.js +10 -1
- package/plugins/beta/datasets/src/api/setFeatureVisibility.test.js +48 -6
- package/plugins/beta/datasets/src/components/LayersMenu/Layers.module.scss +12 -12
- package/plugins/beta/datasets/src/reducers/datasetsToMenu.js +11 -6
- package/plugins/beta/datasets/src/reducers/datasetsToMenu.test.js +49 -0
- package/plugins/beta/datasets/src/reducers/mappedDatasetsReducer.js +8 -1
- package/plugins/beta/datasets/src/reducers/pluginState.js +1 -1
- package/plugins/beta/datasets/src/registry/dataset.js +7 -3
- package/plugins/beta/datasets/src/registry/dataset.test.js +14 -0
- package/plugins/beta/datasets/src/registry/dynamicGeoJson.js +1 -1
- package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +1 -1
- package/plugins/beta/draw-es/src/api/addFeature.js +12 -3
- package/plugins/beta/draw-es/src/events.js +8 -3
- package/plugins/beta/draw-es/src/events.test.js +2 -0
- package/plugins/beta/draw-es/src/graphic.js +26 -2
- package/plugins/beta/draw-ml/dist/esm/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/dist/umd/im-draw-ml-plugin.js +1 -1
- package/plugins/beta/draw-ml/src/DrawInit.jsx +19 -0
- package/plugins/beta/draw-ml/src/api/newLine.js +1 -0
- package/plugins/beta/draw-ml/src/api/newPolygon.js +1 -0
- package/plugins/beta/draw-ml/src/modes/createDrawMode.js +52 -37
- package/plugins/beta/draw-ml/src/modes/editVertex/touchHandlers.js +1 -1
- package/plugins/beta/draw-ml/src/modes/editVertex/vertexOperations.js +5 -4
- package/plugins/beta/draw-ml/src/modes/editVertexMode.js +53 -21
- package/plugins/beta/draw-ol/dist/esm/DrawMode.js +1 -1
- package/plugins/beta/draw-ol/dist/esm/EditMode.js +1 -1
- package/plugins/beta/draw-ol/dist/esm/im-draw-ol-plugin.js +1 -1
- package/plugins/beta/draw-ol/src/core/OLDrawManager.js +3 -0
- package/plugins/beta/draw-ol/src/draw/DrawMode.js +57 -49
- package/plugins/beta/draw-ol/src/draw/drawInput.js +76 -32
- package/plugins/beta/draw-ol/src/edit/EditMode.js +4 -4
- package/plugins/beta/draw-ol/src/edit/keyboardHandler.js +4 -2
- package/plugins/beta/draw-ol/src/manifest.js +5 -1
- package/plugins/beta/draw-ol/src/reducer.js +1 -1
- package/plugins/beta/draw-ol/src/snap/snapEngine.js +75 -31
- package/plugins/beta/draw-ol/src/snap/snapGeometry.js +23 -46
- package/plugins/beta/draw-ol/src/snap/snapInteraction.js +30 -29
- package/plugins/beta/draw-ol/src/snap/snapManager.js +10 -1
- package/plugins/beta/draw-ol/src/utils/geometryHelpers.js +9 -3
- package/plugins/beta/draw-ol/src/utils/olCoords.js +2 -2
- package/plugins/beta/draw-ol/src/utils/spatial.js +4 -8
- package/plugins/beta/map-styles/src/mapStyles.scss +41 -41
- package/plugins/interact/dist/esm/im-interact-plugin.js +1 -1
- package/plugins/interact/dist/umd/im-interact-plugin.js +1 -1
- package/plugins/interact/dist/umd/index.js +1 -1
- package/plugins/interact/src/InteractInit.jsx +1 -3
- package/plugins/interact/src/InteractInit.test.js +0 -2
- package/plugins/interact/src/events.test.js +1 -1
- package/plugins/interact/src/hooks/useCrossHairVisibility.js +4 -10
- package/plugins/interact/src/hooks/useCrossHairVisibility.test.js +5 -10
- package/plugins/interact/src/hooks/useHighlightSync.js +1 -10
- package/plugins/interact/src/hooks/useHighlightSync.test.js +2 -21
- package/plugins/interact/src/hooks/useInteractionHandlers.js +5 -11
- package/plugins/interact/src/hooks/useInteractionHandlers.test.js +5 -25
- package/plugins/interact/src/reducer.js +4 -22
- package/plugins/interact/src/reducer.test.js +11 -39
- package/plugins/search/dist/css/index.css +5 -2
- package/plugins/search/src/components/Form/Form.module.scss +5 -2
- package/plugins/search/src/search.scss +4 -4
- package/providers/beta/openlayers/dist/esm/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/dist/umd/im-openlayers-provider.js +1 -1
- package/providers/beta/openlayers/dist/umd/index.js +1 -1
- package/providers/beta/openlayers/src/utils/tileLayers.js +29 -2
- package/providers/beta/openlayers/src/utils/tileLayers.test.js +53 -1
- package/src/App/components/CrossHair/CrossHair.module.scss +8 -8
- package/src/App/components/MapButton/MapButton.jsx +14 -10
- package/src/App/components/MapButton/MapButton.module.scss +1 -1
- package/src/App/components/MapButton/MapButton.test.jsx +1 -1
- package/src/App/components/PopupMenu/PopupMenu.test.jsx +79 -0
- package/src/App/components/PopupMenu/usePopupMenu.js +61 -12
- package/src/App/hooks/useLayoutMeasurements.js +10 -2
- package/src/App/hooks/useResizeObserver.js +4 -2
- package/src/InteractiveMap/InteractiveMap.js +4 -4
- package/src/InteractiveMap/InteractiveMap.test.js +3 -3
- package/src/InteractiveMap/behaviourController.js +3 -1
- package/src/InteractiveMap/behaviourController.test.js +6 -3
- package/src/InteractiveMap/domStateManager.js +2 -0
- package/src/config/events.js +21 -3
- package/src/types.js +12 -3
- package/src/utils/findNextTabStop.js +3 -3
- package/src/utils/findNextTabStop.test.js +25 -1
- package/webpack.dev.mjs +1 -0
- package/docs/assets/images/screens-blue.jpg +0 -0
- package/docs/assets/images/screens-white.jpg +0 -0
|
@@ -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=>e.showInMenu),s=new Map;return r.forEach(e=>{var t;if(null!==(t=e.sublayers)&&void 0!==t&&t.length)a.push({id:e.id,groupLabel:e.label,visibleWhen:!0,type:"checkbox",items:e.sublayers.filter(e=>e.showInMenu).map(t=>({id:"".concat(e.id,"-").concat(t.id),label:t.label}))});else if(e.groupLabel){var r=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,r),a.push(r)),r.items.push({id:e.id,label:e.label})}else a.push({visibleWhen:!0,type:"checkbox",id:e.id,items:[{id:e.id,label:e.label}]})}),a},p=(e,t)=>e.reduce((e,a)=>{var r=a.items.filter(e=>!t.includes(e.id));return r.length&&e.push(l(l({},a),{},{items:r})),e},[]);function 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 u(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 y={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,fill:"transparent",symbolDescription:"red outline"}},h=["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"],m=e=>b.some(t=>t in e);function v(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?v(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):v(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var g=(e,t)=>{var a,{id:r}=t;e[r]=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=u(u(u({},y),e),{},{style:u(u({},y.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&m(a)&&delete t.style.symbolDescription,h.forEach(e=>delete t[e]),t})(t);var{orderedDatasets:s}=e;s.push(r);var i=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!=i&&i.length){var n=null==i?void 0:i.map(e=>e.id),o=null==i?void 0:i.reduce(g,{orderedDatasets:s});return e[r].sublayerIds=n,delete e[r].sublayers,f(f(f({},e),o),{},{orderedDatasets:s})}return f(f({},e),{},{orderedDatasets:s})},D=e=>{var t=(e.datasets||[]).reduce(g,{orderedDatasets:[]}),{orderedDatasets:a}=t;return delete t.orderedDatasets,f(f({},e),{},{mappedDatasets:t,orderedDatasets:a})},O="[interactive-map]",S=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.warn(O,...t)},_=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.error(O,...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]||(_("".concat(a,": Dataset with id '").concat(t,"' ").concat(r)),!1)},w=0,j=(e,t,a)=>(w=a.actionsArray.length?w+1:0,E(E({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:w}]})),I={SET_DATASETS:(e,t)=>{var{datasets:a,mappedDatasets:r,orderedDatasets:s}=t,i=t.menu||d({datasets:a});return E(E({},e),{},{mappedDatasets:r,orderedDatasets:s,menu:i})},ADD_DATASET:(e,t)=>{var{dataset:a,mapStyle:r}=t;if(e.mappedDatasets[a.id])return _("addDataset: Dataset with id '".concat(a.id,"' already exists")),e;var{mappedDatasets:s,orderedDatasets:i}=D({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 j("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")?j("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 j("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 j("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 j("applyDatasetOpacity",[a],E(E({},e),{},{mappedDatasets:E(E({},e.mappedDatasets),{},{[a]:i})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return j("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=[...new Set([...i,...r])];return s.hiddenFeatures=n,j("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],j("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)=>j("applyGlobalOpacity",[],E(E({},e),{},{globals:E(E({},e.globals),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_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",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]),L=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=L(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]},C=e=>{var t,a,r,s,{dynamicGeoJSON:i,map:o,onUpdate:l}=e,{url:d,idProperty:p,transformRequest:c,maxFeatures:u,minZoom:y=0}=i,h=new Map,b=null,m=null,v=()=>({type:"FeatureCollection",features:Array.from(h.values()).map(e=>e.feature)}),f=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 f={bbox:t,zoom:e},g=yield M(d,f,c,m.signal),D=Date.now();g.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:L(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(u&&!(h.size<=1.2*u)){var t=u,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)}}(),g=(t=f,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=()=>{g()};return o.on("moveend",D),f(),{destroy(){o.off("moveend",D),g.cancel(),m&&m.abort()},clear(){h.clear(),b=null,l(i.id,{type:"FeatureCollection",features:[]})},refresh(){h.clear(),b=null,f()},getFeatureCount:()=>h.size,reapply(){h.size>0&&l(i.id,v())}}},R=e=>{var t=0;for(var a of e)t=Math.trunc((t<<5)-t+a.codePointAt(0));return Math.abs(t).toString(36)};class N{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={type:"geojson",data:{type:"FeatureCollection",features:[]},generateId:!0}}}var x={};window.getGlobalState=()=>Object.freeze(x);var F=(e,t)=>{switch(x.opacityMode){case"global":return x.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*x.opacity+Number.EPSILON))/100}(e,t);default:return((e,t)=>void 0===e?void 0===t?x.opacity:t:e)(e,t)}},G=()=>x.visible;function B(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 V(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?B(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):B(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}class W{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 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 showInKey(){var e;return this._datasetDefinition.showInKey||(null===(e=this.parent)||void 0===e?void 0:e.showInKey)||!1}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 F(a,r)}get hasDynamicGeoJSON(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}get dynamicGeoJSON(){return new N(V(V({},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):!G()}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&&G()}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;if(e)return e.map(e=>Z.getDataset(e))}get parent(){if(this._datasetDefinition.parentId)return Z.getDataset(this._datasetDefinition.parentId)}get style(){var e,t=null===(e=this.parent)||void 0===e?void 0:e.style;return t?V(V(V({},t),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}get hasCustomVisualStyle(){return m(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 K{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 H(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?H(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):H(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Z={attach(e,t){this._datasets=e,this._orderedDatasets=t,this._invalidateChangedDatasets()},_definitionCache:new K,_invalidateCache(){this._definitionCache=new K},_invalidateChangedDatasets(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset(e){this._createDataset=e},_createDataset:e=>(e=>new W(e))(e),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)=>Y(Y({},e),{},{patternConfigs:[...e.patternConfigs,...t.patternConfigs],symbolConfigs:[...e.symbolConfigs,...t.symbolConfigs]}),{patternConfigs:[],symbolConfigs:[]})},_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.visible)if(r.hasSublayers){var s=r.sublayers.filter(e=>e.visible);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.showInKey)})}else e.push({type:"flat",dataset:r})}),this._lastKeyItems={items:e,hasGroups:a},this._lastKeyItems}};Object.defineProperty(Z,"datasets",{get:()=>Z._datasets}),window.datasetRegistry=Z;var z,U=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:s,events:i,dispatch:n,eventBus:o}=e,{datasets:l}=a,d=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var p=l.map(e=>((e,t)=>{var a=e.style||{},r=u(u({},t.style),a);!("symbolDescription"in a)&&m(a)&&delete r.symbolDescription;var s=u({},e);delete s.style,h.forEach(e=>delete s[e]);var i=u({},t);return delete i.style,u(u(u({},i),s),r)})(e,y)),{mappedDatasets:c,orderedDatasets:b}=D({datasets:l});t.createDataset&&Z.attachCreateDataset(t.createDataset),Z.attach(c),t.init(r).then(()=>{Z.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=C({dynamicGeoJSON:a,map:s.map,onUpdate:(e,a)=>t.setData(e,a)});d.set(e.id,r)}}),n({type:"SET_DATASETS",payload:{datasets:p,mappedDatasets:c,orderedDatasets:b}}),o.emit("datasets:ready")});var v=r,f=e=>{v=e,t.onMapStyleChange(e,d)},g=()=>{t.onMapSizeChange(v)};return o.on(i.MAP_SET_STYLE,f),o.on(i.MAP_SIZE_CHANGE,g),{remove(){o.off(i.MAP_SET_STYLE,f),o.off(i.MAP_SIZE_CHANGE,g),d.forEach(e=>e.destroy()),d.clear(),t.destroy()},refreshDataset(e){var t;null===(t=d.get(e))||void 0===t||t.refresh()},clearDatasetCache(e){var t;null===(t=d.get(e))||void 0===t||t.clear()},getFeatureCount(e){var t,a;return null!==(t=null===(a=d.get(e))||void 0===a?void 0:a.getFeatureCount())&&void 0!==t?t:null}}},J=function(){var e=n(function*(e){if("MapLibreProvider"===e.name){var{default:t}=yield import(/* webpackChunkName: "im-datasets-ml-adapter" */ "./im-datasets-ml-adapter.js");return t}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)}}(),q={},X=function(){var e=n(function*(e,t,a){var r=yield J(e);return z=new r(e,t,a),q.removeDataset=z.removeDataset.bind(z),q.setData=z.setData.bind(z),q.applyStyle=z.applyStyle.bind(z),q.applyDatasetVisibility=z.applyDatasetVisibility.bind(z),q.applyGlobalVisibility=z.applyGlobalVisibility.bind(z),q.applyDatasetOpacity=z.applyDatasetOpacity.bind(z),q.applyGlobalOpacity=z.applyGlobalOpacity.bind(z),q.addDataset=z.addDataset.bind(z),q.applyFeatureFilter=z.applyFeatureFilter.bind(z),z});return function(t,a,r){return e.apply(this,arguments)}}();var Q=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}})},$=e=>{var{menuGroupItem:t,onChange:s}=e,i=Z.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)},ee=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:t.groupLabel}),i]})},t.id)},te=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})})},ae=(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 re(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 se(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?re(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):re(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var ie=20,ne={xmlns:"http://www.w3.org/2000/svg",width:ie,height:ie,viewBox:"0 0 ".concat(ie," ").concat(ie),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},oe=se(se({},ne),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function le(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 de(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?le(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):le(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var pe=e=>{var{patternRegistry:t,registryDataset:s,mapStyle:i}=e,{style:n}=s,o=t.getKeyPatternPaths(n,i.id);return r("svg",de(de({},ne),{},{children:[a("g",{dangerouslySetInnerHTML:{__html:o.border}}),a("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]}))},ce=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),ue=(e,t)=>{var a;return e.symbolAnchor?e.symbolAnchor:null!==(a=null==t?void 0:t.anchor)&&void 0!==a?a:[.5,.5]};function ye(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 he(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ye(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var be=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=he(he({},i),{},{mapColorScheme:l}),p=r.resolve(n,(e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return ce.forEach(a=>{if(null!=e[a]){var r=a.charAt(6).toLowerCase()+a.slice(7);t[r]=e[a]}}),t})(o),d),c=((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",he(he({},oe),{},{viewBox:c,children:a("g",{dangerouslySetInnerHTML:{__html:p}})}))};function me(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 ve(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?me(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):me(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var fe=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",ve(ve({},ne),{},{children:a("line",{x1:s.strokeWidth/2,y1:10,x2:ie-s.strokeWidth/2,y2:10,stroke:ae(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinecap:"round"})}))};function ge(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 De(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ge(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ge(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Oe=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",De(De({},ne),{},{children:a("rect",{x:s.strokeWidth/2,y:s.strokeWidth/2,width:ie-s.strokeWidth,height:ie-s.strokeWidth,rx:s.strokeWidth,ry:s.strokeWidth,fill:ae(s.fill,t.id),stroke:ae(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinejoin:"round"})}))},Se=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(be,{mapStyle:s,registryDataset:r,symbolRegistry:t,symbolDef:d}):o?a(pe,{mapStyle:s,registryDataset:r,patternRegistry:i}):"line"===l.keySymbolShape?a(fe,{mapStyle:s,registryDataset:r}):a(Oe,{mapStyle:s,registryDataset:r})},_e=e=>{var{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n}=e;return r("dl",{className:"im-c-datasets-key__item",children:[a("dt",{className:"im-c-datasets-key__item-symbol",children:a(Se,{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:["(",ae(t.symbolDescription,n.id),")"]})]})]})},Pe=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(_e,{registryDataset:e,symbolRegistry:n,patternRegistry:o,mapStyle:l},"".concat(e.id)))]})},Ee={InitComponent:function(a){var r,{pluginConfig:s,pluginState:i,appState:o,mapState:l,mapProvider:d,services:p}=a,{dispatch:c}=i,{eventBus:u,symbolRegistry:y,patternRegistry:h}=p,b=!(null===(r=d.map)||void 0===r||!r.getStyle());e(i).current=i;var m=e(null);return t(()=>{var e,t,a,r,i=null===(e=null===(t=s.includeModes)||void 0===t?void 0:t.includes(o.mode))||void 0===e||e,p=null!==(a=null===(r=s.excludeModes)||void 0===r?void 0:r.includes(o.mode))&&void 0!==a&&a;if(b&&i&&!p&&!m.current){var v=function(){var e=n(function*(){var e=yield X(d,y,h);m.current=U({adapter:e,pluginConfig:s,mapStyle:l.mapStyle,mapProvider:d,events:T,dispatch:c,eventBus:u})});return function(){return e.apply(this,arguments)}}();v()}},[b,o.mode]),t(()=>Z.attach(i.mappedDatasets,i.orderedDatasets),[i.mappedDatasets,i.orderedDatasets]),t(()=>{return e=i.globals,void(x=e);var e},[i.globals]),t(()=>{var{actionsArray:e}=i;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return q[t](...a)}),c({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[i.actionsArray]),t(()=>()=>{m.current&&(m.current.remove(),m.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},actionsArray:[]},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:e=>{var{pluginState:t}=e,{menu:r=[]}=t,s=e=>{var{value:a,checked:r}=e.target;Q({pluginState:t},r,{datasetId:a})},i=r.some(e=>e.groupLabel),n="im-c-datasets-layers".concat(i?" im-c-datasets-layers--has-groups":"");return a("div",{className:n,children:r.map(e=>a(ee,{menuGroup:e,children:e.items.map(e=>a($,{menuGroupItem:e,onChange:s},e.id))},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},pluginState:{mappedDatasets:s},services:{symbolRegistry:i,patternRegistry:n}}=e,{items:o,hasGroups:l}=Z.keyItems();if(null==o||!o.length)return a(te,{text:t});var d="im-c-datasets-key".concat(l?" im-c-datasets-key--has-groups":"");return a("div",{className:d,children:o.map(e=>{var t="group"===e.type?e.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):e.dataset.id;if("sublayers"===e.type||"group"===e.type){var s="sublayers"===e.type?e.sublayers:e.datasets,o="sublayers"===e.type?e.dataset.label:e.groupLabel;return a(Pe,{headingId:"key-heading-".concat(t),label:o,datasets:s,symbolRegistry:i,patternRegistry:n,mapStyle:r},t)}return a(_e,{registryDataset:e.dataset,symbolRegistry:i,patternRegistry:n,mapStyle:r},t)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:e=>{var{pluginConfig:t}=e;return!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;q.removeDataset(t),a({type:"REMOVE_DATASET",payload:{id:t}})},setDatasetVisibility:Q,setFeatureVisibility:function(e,t,a){var{pluginState:{dispatch:r}}=e,{datasetId:s}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};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=Z.getDataset(a);return s?s.style:(S("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=Z.getDataset(n);return l?null!==(o=l.opacity)&&void 0!==o?o:null:(S("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=Z.getDataset(s);i?null!=i&&i.tiles?S('setData called on vector tile dataset "'.concat(s,'" — has no effect')):q.setData(s,t):S("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):S("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),i?a({type:"SET_GLOBAL_STATE",payload:s}):S("setGlobals: requires a valid value for opacityMode to be set")}}},Ae=Object.freeze({__proto__:null,manifest:Ee});export{W as D,ae as a,Z as d,ue as g,R as h,Ae 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(!r.length)return;a.push({id:e.id,groupLabel:e.label,visibleWhen:!0,type:"checkbox",items:r.map(t=>({id:"".concat(e.id,"-").concat(t.id),label:t.label}))})}else if(e.groupLabel){var i=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,i),a.push(i)),i.items.push({id:e.id,label:e.label})}else a.push({visibleWhen:!0,type:"checkbox",id:e.id,items:[{id:e.id,label:e.label}]})}),a},p=(e,t)=>e.reduce((e,a)=>{var r=a.items.filter(e=>!t.includes(e.id));return r.length&&e.push(l(l({},a),{},{items:r})),e},[]);function 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 u(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 y={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visible:!0,style:{stroke:"#d4351c",strokeWidth:2,fill:"transparent",symbolDescription:"red outline"}},h=["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"],m=e=>b.some(t=>t in e);function f(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 v(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?f(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):f(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var g=(e,t)=>{var a,{id:r}=t,s=(e=>{!0!==e.visible&&!1!==e.visible&&(e.visible="hidden"!==e.visibility);var t=u(u(u({},y),e),{},{style:u(u({},y.style),e.style)}),a=e.style||{};return!("symbolDescription"in a)&&m(a)&&delete t.style.symbolDescription,h.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"),v(v({},t),{},{id:a,parentId:e,sublayerId:r})})(r,e));if(null!=n&&n.length){var o=null==n?void 0:n.map(e=>e.id),l=null==n?void 0:n.reduce(g,{orderedDatasets:i});return e[r].sublayerIds=o,delete e[r].sublayers,v(v(v({},e),l),{},{orderedDatasets:i})}return v(v({},e),{},{orderedDatasets:i})},D=e=>{var t=(e.datasets||[]).reduce(g,{orderedDatasets:[]}),{orderedDatasets:a}=t;return delete t.orderedDatasets,v(v({},e),{},{mappedDatasets:t,orderedDatasets:a})},O="[interactive-map]",S={warn:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.warn(O,...t)},error:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return console.error(O,...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){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 E=function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"not found";return!!e.mappedDatasets[t]||(S.error("".concat(a,": Dataset with id '").concat(t,"' ").concat(r)),!1)},w=0,A=(e,t,a)=>(w=a.actionsArray.length?w+1:0,_(_({},a),{},{actionsArray:[...a.actionsArray,{method:e,parameters:t,actionId:w}]})),j={SET_DATASETS:(e,t)=>{var{datasets:a,mappedDatasets:r,orderedDatasets:s}=t,i=t.menu||d({datasets:a});return _(_({},e),{},{mappedDatasets:r,orderedDatasets:s,menu:i})},ADD_DATASET:(e,t)=>{var{dataset:a,mapStyle:r}=t;if(e.mappedDatasets[a.id])return S.error("addDataset: Dataset with id '".concat(a.id,"' already exists")),e;var{mappedDatasets:s,orderedDatasets:i}=D({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 A("addDataset",[a.id,r],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),s),orderedDatasets:[...e.orderedDatasets,...i],menu:n}))},REMOVE_DATASET:(e,t)=>{var a,{id:r}=t;if(!E(e,r,"removeDataset"))return e;var s=_({},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),{},{mappedDatasets:s,orderedDatasets:n,menu:p(e.menu,i)})},SET_DATASET_VISIBILITY:(e,t)=>{var{datasetId:a,visible:r}=t;return E(e,a,"setDatasetVisibility")?A("applyDatasetVisibility",[a,r],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),{},{[a]:_(_({},e.mappedDatasets[a]),{},{visible:r})})})):e},SET_GLOBAL_VISIBILITY:(e,t)=>{var{visible:a}=t;return A("applyGlobalVisibility",[a],_(_({},e),{},{globals:_(_({},e.globals),{},{visible:a})}))},SET_DATASET_STYLE:(e,t)=>{var{datasetId:a,styleChanges:r,mapStyle:s}=t;if(!E(e,a,"setDatasetStyle"))return e;var i=_(_({},e.mappedDatasets[a].style),r),n=_(_(_({},e.mappedDatasets[a]),r),{},{style:i});return A("applyStyle",[a,s],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),{},{[a]:n})}))},SET_OPACITY:(e,t)=>{var{datasetId:a,opacity:r}=t;if(!E(e,a,"setOpacity"))return e;var s=_(_({},e.mappedDatasets[a].style),{},{opacity:r}),i=_(_({},e.mappedDatasets[a]),{},{style:s});return A("applyDatasetOpacity",[a],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),{},{[a]:i})}))},SET_GLOBAL_OPACITY:(e,t)=>{var{opacity:a}=t;return A("applyGlobalOpacity",[],_(_({},e),{},{globals:_(_({},e.globals),{},{opacity:a})}))},HIDE_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!E(e,a,"setFeatureVisibility - hideFeatures"))return e;var s=_({},e.mappedDatasets[a]),i=s.hiddenFeatures||[],n=Array.from(new Set([...i,...r]));return s.hiddenFeatures=n,A("applyFeatureFilter",[a],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),{},{[a]:s})}))},SHOW_FEATURES:(e,t)=>{var{datasetId:a,featureIds:r}=t;if(!E(e,a,"setFeatureVisibility - showFeatures"))return e;var s=_({},e.mappedDatasets[a]),i=(s.hiddenFeatures||[]).filter(e=>!r.includes(e));return s.hiddenFeatures=i.length?i:[-1],A("applyFeatureFilter",[a],_(_({},e),{},{mappedDatasets:_(_({},e.mappedDatasets),{},{[a]:s})}))},REMOVE_ADAPTER_ACTIONS:(e,t)=>null!=t&&t.length?_(_({},e),{},{actionsArray:e.actionsArray.filter(e=>!t.includes(e))}):e,SET_GLOBAL_STATE:(e,t)=>A("applyGlobalOpacity",[],_(_({},e),{},{globals:_(_({},e.globals),t)}))},I={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_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"},T=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)}}(),M=(e,t)=>!(!e||!t)&&!(e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),k=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=k(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:c,maxFeatures:u,minZoom:y=0}=i,h=new Map,b=null,m=null,f=()=>({type:"FeatureCollection",features:Array.from(h.values()).map(e=>e.feature)}),v=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 v={bbox:t,zoom:e},g=yield T(d,v,c,m.signal),D=Date.now();g.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:k(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(u&&!(h.size<=1.2*u)){var t=u,a=[],r=[];for(var[s,i]of h)M(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,f())}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)}}(),g=(t=v,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=()=>{g()};return o.on("moveend",D),v(),{destroy(){o.off("moveend",D),g.cancel(),m&&m.abort()},clear(){h.clear(),b=null,l(i.id,{type:"FeatureCollection",features:[]})},refresh(){h.clear(),b=null,v()},getFeatureCount:()=>h.size,reapply(){h.size>0&&l(i.id,f())}}},C=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 R(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 N{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?R(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):R(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 F={};window.getGlobalState=()=>Object.freeze(F);var x=(e,t)=>{switch(F.opacityMode){case"global":return F.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*F.opacity+Number.EPSILON))/100}(e,t);default:return((e,t)=>void 0===e?void 0===t?F.opacity:t:e)(e,t)}},G=()=>F.visible;function V(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 B(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?V(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):V(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}class K{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 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 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 x(a,r)}get hasDynamicGeoJSON(){return Boolean(this._datasetDefinition.dynamicGeoJSON)}get dynamicGeoJSON(){return new N(B(B({},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):!G()}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&&G()}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;if(e)return e.map(e=>Z.getDataset(e))}get parent(){if(this._datasetDefinition.parentId)return Z.getDataset(this._datasetDefinition.parentId)}get style(){var e,t=null===(e=this.parent)||void 0===e?void 0:e.style;return t?B(B(B({},t),{},{opacity:void 0},this._datasetDefinition.style),{},{symbolDescription:this.symbolDescription}):this._datasetDefinition.style||{}}get hasCustomVisualStyle(){return m(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 W{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 H(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?H(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):H(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Z={attach(e,t){this._datasets=e,this._orderedDatasets=t,this._invalidateChangedDatasets()},_definitionCache:new W,_invalidateCache(){this._definitionCache=new W},_invalidateChangedDatasets(){this._datasets?this._definitionCache.invalidateChangedDatasets(Object.values(this._datasets)):this._invalidateCache()},attachCreateDataset(e){this._createDataset=e},_createDataset:e=>(e=>new K(e))(e),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)=>Y(Y({},e),{},{patternConfigs:[...e.patternConfigs,...t.patternConfigs],symbolConfigs:[...e.symbolConfigs,...t.symbolConfigs]}),{patternConfigs:[],symbolConfigs:[]})},_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.visible)if(r.hasSublayers){var s=r.sublayers.filter(e=>e.visible);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.showInKey)})}else e.push({type:"flat",dataset:r})}),this._lastKeyItems={items:e,hasGroups:a},this._lastKeyItems}};Object.defineProperty(Z,"datasets",{get:()=>Z._datasets}),window.datasetRegistry=Z;var U,z=e=>{var{adapter:t,pluginConfig:a,mapStyle:r,mapProvider:s,events:i,dispatch:n,eventBus:o}=e,{datasets:l}=a,d=new Map;a.globals&&n({type:"SET_GLOBAL_STATE",payload:a.globals});var p=l.map(e=>((e,t)=>{var a=e.style||{},r=u(u({},t.style),a);!("symbolDescription"in a)&&m(a)&&delete r.symbolDescription;var s=u({},e);delete s.style,h.forEach(e=>delete s[e]);var i=u({},t);return delete i.style,u(u(u({},i),s),r)})(e,y)),{mappedDatasets:c,orderedDatasets:b}=D({datasets:l});t.createDataset&&Z.attachCreateDataset(t.createDataset),Z.attach(c),t.init(r).then(()=>{Z.forEachDataset(e=>{if(e.hasDynamicGeoJSON){var{dynamicGeoJSON:a}=e,r=L({dynamicGeoJSON:a,map:s.map,onUpdate:(e,a)=>t.setData(e,a)});d.set(e.id,r)}}),n({type:"SET_DATASETS",payload:{datasets:p,mappedDatasets:c,orderedDatasets:b}}),o.emit("datasets:ready")});var f=r,v=e=>{f=e,t.onMapStyleChange(e,d)},g=()=>{t.onMapSizeChange(f)};return o.on(i.MAP_SET_STYLE,v),o.on(i.MAP_SIZE_CHANGE,g),{remove(){o.off(i.MAP_SET_STYLE,v),o.off(i.MAP_SIZE_CHANGE,g),d.forEach(e=>e.destroy()),d.clear(),t.destroy()},refreshDataset(e){var t;null===(t=d.get(e))||void 0===t||t.refresh()},clearDatasetCache(e){var t;null===(t=d.get(e))||void 0===t||t.clear()},getFeatureCount(e){var t,a;return null!==(t=null===(a=d.get(e))||void 0===a?void 0:a.getFeatureCount())&&void 0!==t?t:null}}},J=function(){var e=n(function*(e){if("MapLibreProvider"===e.name){var{default:t}=yield import(/* webpackChunkName: "im-datasets-ml-adapter" */ "./im-datasets-ml-adapter.js");return t}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)}}(),q={},X=function(){var e=n(function*(e,t,a){var r=yield J(e);return U=new r(e,t,a),q.removeDataset=U.removeDataset.bind(U),q.setData=U.setData.bind(U),q.applyStyle=U.applyStyle.bind(U),q.applyDatasetVisibility=U.applyDatasetVisibility.bind(U),q.applyGlobalVisibility=U.applyGlobalVisibility.bind(U),q.applyDatasetOpacity=U.applyDatasetOpacity.bind(U),q.applyGlobalOpacity=U.applyGlobalOpacity.bind(U),q.addDataset=U.addDataset.bind(U),q.applyFeatureFilter=U.applyFeatureFilter.bind(U),U});return function(t,a,r){return e.apply(this,arguments)}}();var Q=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}})},$=e=>{var{menuGroupItem:t,onChange:s}=e,i=Z.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)},ee=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:t.groupLabel}),i]})},t.id)},te=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})})},ae=(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 re(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 se(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?re(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):re(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var ie=20,ne={xmlns:"http://www.w3.org/2000/svg",width:ie,height:ie,viewBox:"0 0 ".concat(ie," ").concat(ie),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},oe=se(se({},ne),{},{width:44,height:44,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function le(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 de(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?le(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):le(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var pe=e=>{var{patternRegistry:t,registryDataset:s,mapStyle:i}=e,{style:n}=s,o=t.getKeyPatternPaths(n,i.id);return r("svg",de(de({},ne),{},{children:[a("g",{dangerouslySetInnerHTML:{__html:o.border}}),a("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]}))},ce=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),ue=(e,t)=>{var a;return e.symbolAnchor?e.symbolAnchor:null!==(a=null==t?void 0:t.anchor)&&void 0!==a?a:[.5,.5]};function ye(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 he(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ye(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var be=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=he(he({},i),{},{mapColorScheme:l}),p=r.resolve(n,(e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return ce.forEach(a=>{if(null!=e[a]){var r=a.charAt(6).toLowerCase()+a.slice(7);t[r]=e[a]}}),t})(o),d),c=((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",he(he({},oe),{},{viewBox:c,children:a("g",{dangerouslySetInnerHTML:{__html:p}})}))};function me(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 fe(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?me(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):me(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var ve=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",fe(fe({},ne),{},{children:a("line",{x1:s.strokeWidth/2,y1:10,x2:ie-s.strokeWidth/2,y2:10,stroke:ae(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinecap:"round"})}))};function ge(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 De(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ge(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ge(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var Oe=e=>{var{mapStyle:t,registryDataset:r}=e,{style:s}=r;return a("svg",De(De({},ne),{},{children:a("rect",{x:s.strokeWidth/2,y:s.strokeWidth/2,width:ie-s.strokeWidth,height:ie-s.strokeWidth,rx:s.strokeWidth,ry:s.strokeWidth,fill:ae(s.fill,t.id),stroke:ae(s.stroke,t.id),strokeWidth:s.strokeWidth,strokeLinejoin:"round"})}))},Se=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(be,{mapStyle:s,registryDataset:r,symbolRegistry:t,symbolDef:d}):o?a(pe,{mapStyle:s,registryDataset:r,patternRegistry:i}):"line"===l.keySymbolShape?a(ve,{mapStyle:s,registryDataset:r}):a(Oe,{mapStyle:s,registryDataset:r})},Pe=e=>{var{registryDataset:t,symbolRegistry:s,patternRegistry:i,mapStyle:n}=e;return r("dl",{className:"im-c-datasets-key__item",children:[a("dt",{className:"im-c-datasets-key__item-symbol",children:a(Se,{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:["(",ae(t.symbolDescription,n.id),")"]})]})]})},_e=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(Pe,{registryDataset:e,symbolRegistry:n,patternRegistry:o,mapStyle:l},"".concat(e.id)))]})},Ee={InitComponent:function(a){var r,{pluginConfig:s,pluginState:i,appState:o,mapState:l,mapProvider:d,services:p}=a,{dispatch:c}=i,{eventBus:u,symbolRegistry:y,patternRegistry:h}=p,b=!(null===(r=d.map)||void 0===r||!r.getStyle());e(i).current=i;var m=e(null);return t(()=>{var e,t,a,r,i=null===(e=null===(t=s.includeModes)||void 0===t?void 0:t.includes(o.mode))||void 0===e||e,p=null!==(a=null===(r=s.excludeModes)||void 0===r?void 0:r.includes(o.mode))&&void 0!==a&&a;if(b&&i&&!p&&!m.current){var f=function(){var e=n(function*(){var e=yield X(d,y,h);m.current=z({adapter:e,pluginConfig:s,mapStyle:l.mapStyle,mapProvider:d,events:I,dispatch:c,eventBus:u})});return function(){return e.apply(this,arguments)}}();f()}},[b,o.mode]),t(()=>Z.attach(i.mappedDatasets,i.orderedDatasets),[i.mappedDatasets,i.orderedDatasets]),t(()=>{return e=i.globals,void(F=e);var e},[i.globals]),t(()=>{var{actionsArray:e}=i;e.length&&(e.forEach(e=>{var{method:t,parameters:a}=e;return q[t](...a)}),c({type:"REMOVE_ADAPTER_ACTIONS",payload:e}))},[i.actionsArray]),t(()=>()=>{m.current&&(m.current.remove(),m.current=null)},[]),null},reducer:{initialState:{globals:{visible:!0,opacity:1,opacityMode:"dataset"},key:{items:[],hasGroups:!1},actionsArray:[]},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:r=[]}=t,s=e=>{var{value:a,checked:r}=e.target;Q({pluginState:t},r,{datasetId:a})},i=r.some(e=>e.groupLabel),n="im-c-datasets-layers".concat(i?" im-c-datasets-layers--has-groups":"");return a("div",{className:n,children:r.map(e=>a(ee,{menuGroup:e,children:e.items.map(e=>a($,{menuGroupItem:e,onChange:s},e.id))},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},pluginState:{mappedDatasets:s},services:{symbolRegistry:i,patternRegistry:n}}=e,{items:o,hasGroups:l}=Z.keyItems();if(null==o||!o.length)return a(te,{text:t});var d="im-c-datasets-key".concat(l?" im-c-datasets-key--has-groups":"");return a("div",{className:d,children:o.map(e=>{var t="group"===e.type?e.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"):e.dataset.id;if("sublayers"===e.type||"group"===e.type){var s="sublayers"===e.type?e.sublayers:e.datasets,o="sublayers"===e.type?e.dataset.label:e.groupLabel;return a(_e,{headingId:"key-heading-".concat(t),label:o,datasets:s,symbolRegistry:i,patternRegistry:n,mapStyle:r},t)}return a(Pe,{registryDataset:e.dataset,symbolRegistry:i,patternRegistry:n,mapStyle:r},t)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:e=>{var{pluginConfig:t}=e;return!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;q.removeDataset(t),a({type:"REMOVE_DATASET",payload:{id:t}})},setDatasetVisibility:Q,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=Z.getDataset(s);!i||i.idProperty||i.generateIds||S.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=Z.getDataset(a);return s?s.style:(S.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=Z.getDataset(n);return l?null!==(o=l.opacity)&&void 0!==o?o:null:(S.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=Z.getDataset(s);i?null!=i&&i.tiles?S.warn('setData called on vector tile dataset "'.concat(s,'" — has no effect')):q.setData(s,t):S.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):S.warn("Ignoring invalid opacityMode: ".concat(r,". Must be one of 'dataset', 'global' or 'multiply'."))),i?a({type:"SET_GLOBAL_STATE",payload:s}):S.warn("setGlobals: requires a valid value for opacityMode to be set")}}},we=Object.freeze({__proto__:null,manifest:Ee});export{K as D,ae as a,Z as d,ue as g,C as h,S as l,we as m};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see im-datasets-ml-adapter.js.LICENSE.txt */
|
|
2
|
-
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[563],{391(t,e,r){r.r(e),r.d(e,{default:()=>M});var n=r(247),i=r(121);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){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 s(t,e,r){return(e=function(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+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var u=function(t,e,r,o,l,c){var y,f=e.sourceId,p=e.source;p&&!t.getSource(f)&&t.addSource(f,p);var h=r.id;return function(t,e,r,n,o){var a=e.hasSymbol,s=e.symbolLayerId;if(a&&n&&s&&!t.getLayer(s)){var u=n.getSymbolDef(e.style);if(u){var l=n.getSymbolImageId(e.style,r,!1,o);if(l){var c=(0,i.Op)(e.style,u);t.addLayer(e.getSymbolSource(l,c,u))}}}}(t,e,r,o,c),function(t,e,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=e.hasFill,s=e.fillLayerId;if(a&&s&&!t.getLayer(s)){var u=i.getPatternImageId(e.style,r,o),l=u?{"fill-pattern":u,"fill-opacity":e.opacity}:{"fill-color":(0,n.o)(e.style.fill,r),"fill-opacity":e.opacity};t.addLayer(e.getFillSource(l))}}(t,e,h,l,c),function(t,e,r){var i=e.hasStroke,o=e.strokeLayerId;if(i&&!t.getLayer(o)){var u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach(function(e){s(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({"line-color":(0,n.o)(e.style.stroke,r),"line-width":e.style.strokeWidth||1,"line-opacity":e.opacity},e.style.strokeDashArray?{"line-dasharray":e.style.strokeDashArray}:{}),l=e.getStrokeSource(u);t.addLayer(l)}}(t,e,h),null!==(y=e.sublayers)&&void 0!==y&&y.length?(e.sublayers.forEach(function(e){u(t,e,r,o,l,c)}),f):e.isSublayer?void 0:f},l=r(564),c=r(449);function y(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,i,o,a,s=[],u=!0,l=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(t,e)||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,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 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 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 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 d(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){m(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 m(t,e,r){return(e=v(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b(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,v(n.key),n)}}function v(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+""}function g(t,e,r){return e=_(e),function(t,e){if(e&&("object"==p(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,S()?Reflect.construct(e,r||[],_(t).constructor):e.apply(t,r))}function S(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(S=function(){return!!t})()}function _(t){return _=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_(t)}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}var L=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),g(this,e,arguments)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&O(t,e)}(e,t),r=e,n=[{key:"visibility",get:function(){return this.visible?"visible":"none"}},{key:"fillLayerId",get:function(){return this.hasSublayers||this.hasSymbol?null:this.hasFill?this.id:null}},{key:"strokeLayerId",get:function(){return this.hasSublayers||this.hasSymbol?null:this.hasStroke?this.hasFill?"".concat(this.id,"-stroke"):this.id:null}},{key:"symbolLayerId",get:function(){return this.hasSublayers?null:this.hasSymbol?this.id:null}},{key:"layerIds",get:function(){return this.hasSublayers?this.sublayers.flatMap(function(t){return t.layerIds}).filter(Boolean):[this.symbolLayerId,this.fillLayerId,this.strokeLayerId].filter(Boolean)}},{key:"getLayersWithValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(!1===e||this[e]){var n=[this.symbolLayerId,this.fillLayerId,this.strokeLayerId].filter(Boolean);if(n.length){var i=this[t];r.push(m({layerIds:n},t,i))}}return this.hasSublayers&&this.sublayers.forEach(function(n){(!1===e||n[e])&&r.push(n.getLayersWithValue(t)[0])}),r}},{key:"getLayersWithVisibility",value:function(){return this.getLayersWithValue("visibility")}},{key:"getLayersWithOpacity",value:function(){return this.getLayersWithValue("opacity")}},{key:"getLayersWithFilters",value:function(){return this.getLayersWithValue("filter","hasHiddenFeatures")}},{key:"sourceId",get:function(){if(this.isSublayer)return this.parent.sourceId;if(this.hasDynamicGeoJSON)return this.dynamicGeoJSON.sourceId;if(this.tiles){var t=Array.isArray(this.tiles)?this.tiles.join(","):this.tiles;return"tiles-".concat((0,c.YZ)(t))}return this.geojson?"string"==typeof this.geojson?"geojson-".concat((0,c.YZ)(this.geojson)):"geojson-".concat(this.id):"source-".concat(this.id)}},{key:"source",get:function(){return this.hasDynamicGeoJSON?this.dynamicGeoJSON.source:this.tiles?{type:"vector",tiles:this.tiles,minzoom:this.minZoom||0,maxzoom:this.maxZoom||22}:this.geojson?{type:"geojson",data:this.geojson,generateId:!0}:null}},{key:"getSymbolSource",value:function(t,e,r){return d({id:this.symbolLayerId,type:"symbol",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility,"icon-image":t,"icon-anchor":(n=e||(null==r?void 0:r.anchor)||[.5,.5],i=y(n,2),o=i[0],a=i[1],s=function(t){return t<=.25?"left":t>=.75?"right":""}(o),u=function(t){return t<=.25?"top":t>=.75?"bottom":""}(a),u+(s&&u?"-":"")+s||"center"),"icon-allow-overlap":!0}},this.filter?{filter:this.filter}:{});var n,i,o,a,s,u}},{key:"getFillSource",value:function(t){return d({id:this.fillLayerId,type:"fill",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility},paint:t},this.filter?{filter:this.filter}:{})}},{key:"getStrokeSource",value:function(t){return d({id:this.strokeLayerId,type:"line",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility},paint:t},this.filter?{filter:this.filter}:{})}},{key:"_hiddenFeaturesIdExpression",get:function(){return this.hasDynamicGeoJSON?this.dynamicGeoJSON.hiddenFeaturesIdExpression:["to-string",["id"]]}},{key:"_hiddenFeaturesFilter",get:function(){var t,e=null===(t=this.hiddenFeatures)||void 0===t?void 0:t.filter(function(t){return-1!==t});return null!=e&&e.length?["!",["in",this._hiddenFeaturesIdExpression,["literal",e.map(String)]]]:null}},{key:"filter",get:function(){var t,e=["all"];null!==(t=this.parent)&&void 0!==t&&t.filter&&e.push(this.parent.filter),this._datasetDefinition.filter&&e.push(this._datasetDefinition.filter);var r=this._hiddenFeaturesFilter;return r&&e.push(r),1===e.length?null:e.length>2?e:e[1]}}],n&&b(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(l.j),w=r(360);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 k(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,o){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return j(l,"_invoke",function(r,n,i){var o,s,u,l=0,c=i||[],y=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return o=e,s=0,u=t,f.n=r,a}};function p(r,n){for(s=r,u=n,e=0;!y&&l&&!i&&e<c.length;e++){var i,o=c[e],p=f.p,h=o[2];r>3?(i=h===n)&&(u=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=r<2&&p<o[1])?(s=0,f.v=n,f.n=o[1]):p<h&&(i=r<3||o[0]>n||n>h)&&(o[4]=r,o[5]=n,f.n=h,s=0))}if(i||r>1)return a;throw y=!0,n}return function(i,c,h){if(l>1)throw TypeError("Generator is already running");for(y&&1===c&&p(c,h),s=c,u=h;(e=s<2?t:u)||!y;){o||(s?s<3?(s>1&&(f.n=-1),p(s,u)):f.n=u:f.v=u);try{if(l=2,o){if(s||(i="next"),e=o[i]){if(!(e=e.call(o,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=o.return)&&e.call(o),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);o=t}else if((e=(y=f.n<0)?u:r.call(n,f))!==a)break}catch(e){o=t,s=1,u=e}finally{l=1}}return{value:e,done:y}}}(r,i,o),!0),l}var a={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(j(e={},n,function(){return this}),e),y=l.prototype=s.prototype=Object.create(c);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,j(t,i,"GeneratorFunction")),t.prototype=Object.create(y),t}return u.prototype=l,j(y,"constructor",l),j(l,"constructor",u),u.displayName="GeneratorFunction",j(l,i,"GeneratorFunction"),j(y),j(y,i,"Generator"),j(y,n,function(){return this}),j(y,"toString",function(){return"[object Generator]"}),(k=function(){return{w:o,m:f}})()}function j(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}j=function(t,e,r,n){function o(e,r){j(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(o("next",0),o("throw",1),o("return",2))},j(t,e,r,n)}function I(t,e,r,n,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function D(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function a(t){I(o,n,i,a,s,"next",t)}function s(t){I(o,n,i,a,s,"throw",t)}a(void 0)})}}function E(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,F(n.key),n)}}function F(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+""}var M=function(){return t=function t(e,r,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._mapProvider=e,this._map=e.map,this._symbolRegistry=r,this._patternRegistry=n,this._datasetSourceMap=new Map,window._datasetSourceMap=this._datasetSourceMap,this._symbolLayerIds=new Set},e=[{key:"createDataset",value:function(t){return new L(t)}},{key:"init",value:(s=D(k().m(function t(e){var r,n,i,o=this;return k().w(function(t){for(;;)switch(t.n){case 0:return r=w.Q.getPatternAndSymbolConfigs(),n=r.patternConfigs,i=r.symbolConfigs,t.n=1,this.addPatternsAndSymbolsToMap(n,i,e);case 1:return this._symbolLayerIds.clear(),w.Q.forEachDataset(function(t){return o._addLayers(t,e)}),t.n=2,new Promise(function(t){return o._map.once("idle",t)});case 2:return t.a(2)}},t,this)})),function(t){return s.apply(this,arguments)})},{key:"removeLayer",value:function(t){this._map.getLayer(t)&&this._map.removeLayer(t),this._symbolLayerIds.delete(t)}},{key:"addPatternsAndSymbolsToMap",value:(a=D(k().m(function t(e,r,n){var i;return k().w(function(t){for(;;)if(0===t.n)return i=n.id,t.a(2,Promise.all([this._mapProvider.addPatternsToMap(e,i,this._patternRegistry),this._mapProvider.addSymbolsToMap(r,n,this._symbolRegistry)]))},t,this)})),function(t,e,r){return a.apply(this,arguments)})},{key:"destroy",value:function(){var t=this,e=new Set;w.Q.forEachDataset(function(r){var n=r.sourceId;t._getLayersUsingSource(n).forEach(function(e){return t.removeLayer(e)}),!e.has(n)&&t._map.getSource(n)&&(t._map.removeSource(n),e.add(n))}),this._datasetSourceMap.clear()}},{key:"onMapStyleChange",value:(o=D(k().m(function t(e,r){var n,i,o,a=this;return k().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,new Promise(function(t){return a._map.once("idle",t)});case 1:return n=w.Q.getPatternAndSymbolConfigs(),i=n.patternConfigs,o=n.symbolConfigs,t.n=2,this.addPatternsAndSymbolsToMap(i,o,e);case 2:this._symbolLayerIds.clear(),w.Q.forEachDataset(function(t){a._addLayers(t,e),a._applyFeatureFilter(t)}),r.forEach(function(t){return t.reapply()});case 3:return t.a(2)}},t,this)})),function(t,e){return o.apply(this,arguments)})},{key:"onMapSizeChange",value:(i=D(k().m(function t(e){var r,n,i,o=this;return k().w(function(t){for(;;)switch(t.n){case 0:return r=w.Q.getPatternAndSymbolConfigs(),n=r.patternConfigs,i=r.symbolConfigs,t.n=1,this.addPatternsAndSymbolsToMap(n,i,e);case 1:w.Q.forEach(function(t){var r=t.fillLayerId,n=t.symbolLayerId;if(n&&o._symbolLayerIds.has(n)&&o._map.getLayer(n)){var i=o._symbolRegistry.getSymbolImageId(t.style,e,!1,o._pixelRatio);i&&o._map.setLayoutProperty(n,"icon-image",i)}else if(r&&o._map.getLayer(r)){var a=o._patternRegistry.getPatternImageId(t.style,e.id,o._pixelRatio);a&&o._map.setPaintProperty(r,"fill-pattern",a)}});case 2:return t.a(2)}},t,this)})),function(t){return i.apply(this,arguments)})},{key:"addDataset",value:(n=D(k().m(function t(e,r){var n;return k().w(function(t){for(;;)switch(t.n){case 0:return n=w.Q.getDataset(e),t.n=1,this.addPatternsAndSymbolsToMap(n.patternConfigs,n.symbolConfigs,r);case 1:this._addLayers(n,r);case 2:return t.a(2)}},t,this)})),function(t,e){return n.apply(this,arguments)})},{key:"removeDataset",value:function(t){var e=this,r=w.Q.getDataset(t);if(r){var n=r.sourceId;r.layerIds.forEach(function(t){return e.removeLayer(t)});var i=w.Q.topLevelDatasets().filter(function(e){return e.id!==t&&e.sourceId===n}).length>0;!i&&this._map.getSource(n)&&this._map.removeSource(n),this._datasetSourceMap.delete(t)}}},{key:"applyFeatureFilter",value:function(t){var e=w.Q.getDataset(t);e&&this._applyFeatureFilter(e)}},{key:"applyStyle",value:(r=D(k().m(function t(e,r){var n,i=this;return k().w(function(t){for(;;)switch(t.n){case 0:return(n=w.Q.getDataset(e)).layerIds.forEach(function(t){return i.removeLayer(t)}),t.n=1,this.addPatternsAndSymbolsToMap(n.patternConfigs,n.symbolConfigs,r);case 1:this._addLayers(n,r);case 2:return t.a(2)}},t,this)})),function(t,e){return r.apply(this,arguments)})},{key:"applyDatasetOpacity",value:function(t){var e=w.Q.getDataset(t);e&&this._applyRegistryDatasetOpacity(e)}},{key:"_applyRegistryDatasetOpacity",value:function(t){var e=this;t.getLayersWithOpacity().forEach(function(t){var r=t.layerIds,n=t.opacity;r.forEach(function(t){return e._setPaintOpacity(t,n)})})}},{key:"applyGlobalOpacity",value:function(){var t=this;w.Q.forEachDataset(function(e){return t._applyRegistryDatasetOpacity(e)})}},{key:"setData",value:function(t,e){var r=this._datasetSourceMap.get(t);if(r){var n=this._map.getSource(r);n&&"function"==typeof n.setData&&n.setData(e)}}},{key:"_pixelRatio",get:function(){return this._mapProvider.map.getPixelRatio()}},{key:"_addLayers",value:function(t,e){var r=u(this._map,t,e,this._symbolRegistry,this._patternRegistry,this._pixelRatio);this._datasetSourceMap.set(t.id,r),this._maintainSymbolOrdering(t)}},{key:"_getFirstSymbolLayerId",value:function(){var t,e=this,r=this._map.getStyle();if(null==r||!r.layers)return null;var n=r.layers.find(function(t){return e._symbolLayerIds.has(t.id)});return null!==(t=null==n?void 0:n.id)&&void 0!==t?t:null}},{key:"_maintainSymbolOrdering",value:function(t){var e=this,r=(t=t.isSublayer?t.parent:t).layerIds.filter(function(t){return t&&e._map.getLayer(t)});r.forEach(function(t){var r;"symbol"===(null===(r=e._map.getLayer(t))||void 0===r?void 0:r.type)?e._symbolLayerIds.add(t):e._symbolLayerIds.delete(t)});var n=this._getFirstSymbolLayerId();n&&r.forEach(function(t){e._symbolLayerIds.has(t)||e._map.moveLayer(t,n)})}},{key:"applyDatasetVisibility",value:function(t){var e=w.Q.getDataset(t);e&&this._applyRegistryDatasetVisibility(e)}},{key:"_applyRegistryDatasetVisibility",value:function(t){var e=this;t.getLayersWithVisibility().forEach(function(t){var r=t.layerIds,n=t.visibility;r.forEach(function(t){e._map.getLayer(t)&&e._map.setLayoutProperty(t,"visibility",n)})})}},{key:"applyGlobalVisibility",value:function(){var t=this;w.Q.forEachDataset(function(e){return t._applyRegistryDatasetVisibility(e)})}},{key:"_applyFeatureFilter",value:function(t){var e=this;t.getLayersWithFilters().forEach(function(t){var r=t.layerIds,n=t.filter;r.forEach(function(t){e._map.getLayer(t)&&e._map.setFilter(t,n)})})}},{key:"_setPaintOpacity",value:function(t,e){var r=this._map.getLayer(t);if(r){var n={line:"line-opacity",symbol:"icon-opacity"}[r.type]||"fill-opacity";this._map.setPaintProperty(t,n,e)}}},{key:"_getLayersUsingSource",value:function(t){var e=this._map.getStyle();return null!=e&&e.layers?e.layers.filter(function(e){return e.source===t}).map(function(t){return t.id}):[]}}],e&&E(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,n,i,o,a,s}()}}]);
|
|
2
|
+
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[563],{391(t,e,r){r.r(e),r.d(e,{default:()=>R});var n=r(247),i=r(121);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){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 s(t,e,r){return(e=function(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+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var u=function(t,e,r,o,l,c){var y,f=e.sourceId,p=e.source;p&&!t.getSource(f)&&t.addSource(f,p);var h=r.id;return function(t,e,r,n,o){var a=e.hasSymbol,s=e.symbolLayerId;if(a&&n&&s&&!t.getLayer(s)){var u=n.getSymbolDef(e.style);if(u){var l=n.getSymbolImageId(e.style,r,!1,o);if(l){var c=(0,i.Op)(e.style,u);t.addLayer(e.getSymbolSource(l,c,u))}}}}(t,e,r,o,c),function(t,e,r,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=e.hasFill,s=e.fillLayerId;if(a&&s&&!t.getLayer(s)){var u=i.getPatternImageId(e.style,r,o),l=u?{"fill-pattern":u,"fill-opacity":e.opacity}:{"fill-color":(0,n.o)(e.style.fill,r),"fill-opacity":e.opacity};t.addLayer(e.getFillSource(l))}}(t,e,h,l,c),function(t,e,r){var i=e.hasStroke,o=e.strokeLayerId;if(i&&!t.getLayer(o)){var u=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?a(Object(r),!0).forEach(function(e){s(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({"line-color":(0,n.o)(e.style.stroke,r),"line-width":e.style.strokeWidth||1,"line-opacity":e.opacity},e.style.strokeDashArray?{"line-dasharray":e.style.strokeDashArray}:{}),l=e.getStrokeSource(u);t.addLayer(l)}}(t,e,h),null!==(y=e.sublayers)&&void 0!==y&&y.length?(e.sublayers.forEach(function(e){u(t,e,r,o,l,c)}),f):e.isSublayer?void 0:f},l=r(564),c=r(449);function y(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,i,o,a,s=[],u=!0,l=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){l=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(t,e)||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,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 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}var p=r(619);function h(t){return h="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},h(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 m(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){v(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 v(t,e,r){return(e=g(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b(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,g(n.key),n)}}function g(t){var e=function(t){if("object"!=h(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==h(e)?e:e+""}function S(t,e,r){return e=O(e),function(t,e){if(e&&("object"==h(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,_()?Reflect.construct(e,r||[],O(t).constructor):e.apply(t,r))}function _(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(_=function(){return!!t})()}function O(t){return O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},O(t)}function L(t,e){return L=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},L(t,e)}var P=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),S(this,e,arguments)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&L(t,e)}(e,t),r=e,n=[{key:"visibility",get:function(){return this.visible?"visible":"none"}},{key:"fillLayerId",get:function(){return this.hasSublayers||this.hasSymbol?null:this.hasFill?this.id:null}},{key:"strokeLayerId",get:function(){return this.hasSublayers||this.hasSymbol?null:this.hasStroke?this.hasFill?"".concat(this.id,"-stroke"):this.id:null}},{key:"symbolLayerId",get:function(){return this.hasSublayers?null:this.hasSymbol?this.id:null}},{key:"layerIds",get:function(){return this.hasSublayers?this.sublayers.flatMap(function(t){return t.layerIds}).filter(Boolean):[this.symbolLayerId,this.fillLayerId,this.strokeLayerId].filter(Boolean)}},{key:"getLayersWithValue",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(!1===e||this[e]){var n=[this.symbolLayerId,this.fillLayerId,this.strokeLayerId].filter(Boolean);if(n.length){var i=this[t];r.push(v({layerIds:n},t,i))}}return this.hasSublayers&&this.sublayers.forEach(function(n){(!1===e||n[e])&&r.push(n.getLayersWithValue(t)[0])}),r}},{key:"getLayersWithVisibility",value:function(){return this.getLayersWithValue("visibility")}},{key:"getLayersWithOpacity",value:function(){return this.getLayersWithValue("opacity")}},{key:"getLayersWithFilters",value:function(){return this.getLayersWithValue("filter","hasHiddenFeatures")}},{key:"sourceId",get:function(){if(this.isSublayer)return this.parent.sourceId;if(this.hasDynamicGeoJSON)return this.dynamicGeoJSON.sourceId;if(this.tiles){var t=Array.isArray(this.tiles)?this.tiles.join(","):this.tiles;return"tiles-".concat((0,c.YZ)(t))}return this.geojson?"string"==typeof this.geojson?"geojson-".concat((0,c.YZ)(this.geojson)):"geojson-".concat(this.id):"source-".concat(this.id)}},{key:"_geojsonIdStrategy",value:function(){var t;return this.idProperty?{promoteId:this.idProperty}:this.generateIds?{generateId:!0}:(null!==(t=this.geojson)&&void 0!==t&&null!==(t=t.features)&&void 0!==t&&t.some(function(t){return"string"==typeof t.id})&&p.v.warn('Dataset "'.concat(this.id,'" has GeoJSON features with string native IDs. MapLibre only surfaces integer native feature IDs through queryRenderedFeatures. Use idProperty to promote a string property instead.')),{})}},{key:"source",get:function(){if(this.hasDynamicGeoJSON)return this.dynamicGeoJSON.source;if(this.tiles){var t={type:"vector",tiles:this.tiles,minzoom:this.minZoom||0,maxzoom:this.maxZoom||22};return this.idProperty&&this.sourceLayer&&(t.promoteId=v({},this.sourceLayer,this.idProperty)),t}return this.geojson?m({type:"geojson",data:this.geojson},this._geojsonIdStrategy()):null}},{key:"getSymbolSource",value:function(t,e,r){return m({id:this.symbolLayerId,type:"symbol",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility,"icon-image":t,"icon-anchor":(n=e||(null==r?void 0:r.anchor)||[.5,.5],i=y(n,2),o=i[0],a=i[1],s=function(t){return t<=.25?"left":t>=.75?"right":""}(o),u=function(t){return t<=.25?"top":t>=.75?"bottom":""}(a),u+(s&&u?"-":"")+s||"center"),"icon-allow-overlap":!0}},this.filter?{filter:this.filter}:{});var n,i,o,a,s,u}},{key:"getFillSource",value:function(t){return m({id:this.fillLayerId,type:"fill",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility},paint:t},this.filter?{filter:this.filter}:{})}},{key:"getStrokeSource",value:function(t){return m({id:this.strokeLayerId,type:"line",source:this.sourceId,"source-layer":this.sourceLayer,minzoom:this.minZoom,maxzoom:this.maxZoom,layout:{visibility:this.visibility},paint:t},this.filter?{filter:this.filter}:{})}},{key:"_hiddenFeaturesIdExpression",get:function(){return this.hasDynamicGeoJSON?this.dynamicGeoJSON.hiddenFeaturesIdExpression:this.idProperty?["to-string",["get",this.idProperty]]:["to-string",["id"]]}},{key:"_hiddenFeaturesFilter",get:function(){var t,e=null===(t=this.hiddenFeatures)||void 0===t?void 0:t.filter(function(t){return-1!==t});return null!=e&&e.length?["!",["in",this._hiddenFeaturesIdExpression,["literal",e.map(String)]]]:null}},{key:"filter",get:function(){var t,e=["all"];null!==(t=this.parent)&&void 0!==t&&t.filter&&e.push(this.parent.filter),this._datasetDefinition.filter&&e.push(this._datasetDefinition.filter);var r=this._hiddenFeaturesFilter;return r&&e.push(r),1===e.length?null:e.length>2?e:e[1]}}],n&&b(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(l.j),w=r(360);function j(t){return j="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},j(t)}function I(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,o){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return k(l,"_invoke",function(r,n,i){var o,s,u,l=0,c=i||[],y=!1,f={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,r){return o=e,s=0,u=t,f.n=r,a}};function p(r,n){for(s=r,u=n,e=0;!y&&l&&!i&&e<c.length;e++){var i,o=c[e],p=f.p,h=o[2];r>3?(i=h===n)&&(u=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=r<2&&p<o[1])?(s=0,f.v=n,f.n=o[1]):p<h&&(i=r<3||o[0]>n||n>h)&&(o[4]=r,o[5]=n,f.n=h,s=0))}if(i||r>1)return a;throw y=!0,n}return function(i,c,h){if(l>1)throw TypeError("Generator is already running");for(y&&1===c&&p(c,h),s=c,u=h;(e=s<2?t:u)||!y;){o||(s?s<3?(s>1&&(f.n=-1),p(s,u)):f.n=u:f.v=u);try{if(l=2,o){if(s||(i="next"),e=o[i]){if(!(e=e.call(o,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=o.return)&&e.call(o),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);o=t}else if((e=(y=f.n<0)?u:r.call(n,f))!==a)break}catch(e){o=t,s=1,u=e}finally{l=1}}return{value:e,done:y}}}(r,i,o),!0),l}var a={};function s(){}function u(){}function l(){}e=Object.getPrototypeOf;var c=[][n]?e(e([][n]())):(k(e={},n,function(){return this}),e),y=l.prototype=s.prototype=Object.create(c);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,k(t,i,"GeneratorFunction")),t.prototype=Object.create(y),t}return u.prototype=l,k(y,"constructor",l),k(l,"constructor",u),u.displayName="GeneratorFunction",k(l,i,"GeneratorFunction"),k(y),k(y,i,"Generator"),k(y,n,function(){return this}),k(y,"toString",function(){return"[object Generator]"}),(I=function(){return{w:o,m:f}})()}function k(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}k=function(t,e,r,n){function o(e,r){k(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(o("next",0),o("throw",1),o("return",2))},k(t,e,r,n)}function D(t,e,r,n,i,o,a){try{var s=t[o](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function E(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var o=t.apply(e,r);function a(t){D(o,n,i,a,s,"next",t)}function s(t){D(o,n,i,a,s,"throw",t)}a(void 0)})}}function F(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,M(n.key),n)}}function M(t){var e=function(t){if("object"!=j(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=j(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==j(e)?e:e+""}var R=function(){return t=function t(e,r,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this._mapProvider=e,this._map=e.map,this._symbolRegistry=r,this._patternRegistry=n,this._datasetSourceMap=new Map,window._datasetSourceMap=this._datasetSourceMap,this._symbolLayerIds=new Set},e=[{key:"createDataset",value:function(t){return new P(t)}},{key:"init",value:(s=E(I().m(function t(e){var r,n,i,o=this;return I().w(function(t){for(;;)switch(t.n){case 0:return r=w.Q.getPatternAndSymbolConfigs(),n=r.patternConfigs,i=r.symbolConfigs,t.n=1,this.addPatternsAndSymbolsToMap(n,i,e);case 1:return this._symbolLayerIds.clear(),w.Q.forEachDataset(function(t){return o._addLayers(t,e)}),t.n=2,new Promise(function(t){return o._map.once("idle",t)});case 2:return t.a(2)}},t,this)})),function(t){return s.apply(this,arguments)})},{key:"removeLayer",value:function(t){this._map.getLayer(t)&&this._map.removeLayer(t),this._symbolLayerIds.delete(t)}},{key:"addPatternsAndSymbolsToMap",value:(a=E(I().m(function t(e,r,n){var i;return I().w(function(t){for(;;)if(0===t.n)return i=n.id,t.a(2,Promise.all([this._mapProvider.addPatternsToMap(e,i,this._patternRegistry),this._mapProvider.addSymbolsToMap(r,n,this._symbolRegistry)]))},t,this)})),function(t,e,r){return a.apply(this,arguments)})},{key:"destroy",value:function(){var t=this,e=new Set;w.Q.forEachDataset(function(r){var n=r.sourceId;t._getLayersUsingSource(n).forEach(function(e){return t.removeLayer(e)}),!e.has(n)&&t._map.getSource(n)&&(t._map.removeSource(n),e.add(n))}),this._datasetSourceMap.clear()}},{key:"onMapStyleChange",value:(o=E(I().m(function t(e,r){var n,i,o,a=this;return I().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,new Promise(function(t){return a._map.once("idle",t)});case 1:return n=w.Q.getPatternAndSymbolConfigs(),i=n.patternConfigs,o=n.symbolConfigs,t.n=2,this.addPatternsAndSymbolsToMap(i,o,e);case 2:this._symbolLayerIds.clear(),w.Q.forEachDataset(function(t){a._addLayers(t,e),a._applyFeatureFilter(t)}),r.forEach(function(t){return t.reapply()});case 3:return t.a(2)}},t,this)})),function(t,e){return o.apply(this,arguments)})},{key:"onMapSizeChange",value:(i=E(I().m(function t(e){var r,n,i,o=this;return I().w(function(t){for(;;)switch(t.n){case 0:return r=w.Q.getPatternAndSymbolConfigs(),n=r.patternConfigs,i=r.symbolConfigs,t.n=1,this.addPatternsAndSymbolsToMap(n,i,e);case 1:w.Q.forEach(function(t){var r=t.fillLayerId,n=t.symbolLayerId;if(n&&o._symbolLayerIds.has(n)&&o._map.getLayer(n)){var i=o._symbolRegistry.getSymbolImageId(t.style,e,!1,o._pixelRatio);i&&o._map.setLayoutProperty(n,"icon-image",i)}else if(r&&o._map.getLayer(r)){var a=o._patternRegistry.getPatternImageId(t.style,e.id,o._pixelRatio);a&&o._map.setPaintProperty(r,"fill-pattern",a)}});case 2:return t.a(2)}},t,this)})),function(t){return i.apply(this,arguments)})},{key:"addDataset",value:(n=E(I().m(function t(e,r){var n;return I().w(function(t){for(;;)switch(t.n){case 0:return n=w.Q.getDataset(e),t.n=1,this.addPatternsAndSymbolsToMap(n.patternConfigs,n.symbolConfigs,r);case 1:this._addLayers(n,r);case 2:return t.a(2)}},t,this)})),function(t,e){return n.apply(this,arguments)})},{key:"removeDataset",value:function(t){var e=this,r=w.Q.getDataset(t);if(r){var n=r.sourceId;r.layerIds.forEach(function(t){return e.removeLayer(t)});var i=w.Q.topLevelDatasets().filter(function(e){return e.id!==t&&e.sourceId===n}).length>0;!i&&this._map.getSource(n)&&this._map.removeSource(n),this._datasetSourceMap.delete(t)}}},{key:"applyFeatureFilter",value:function(t){var e=w.Q.getDataset(t);e&&this._applyFeatureFilter(e)}},{key:"applyStyle",value:(r=E(I().m(function t(e,r){var n,i=this;return I().w(function(t){for(;;)switch(t.n){case 0:return(n=w.Q.getDataset(e)).layerIds.forEach(function(t){return i.removeLayer(t)}),t.n=1,this.addPatternsAndSymbolsToMap(n.patternConfigs,n.symbolConfigs,r);case 1:this._addLayers(n,r);case 2:return t.a(2)}},t,this)})),function(t,e){return r.apply(this,arguments)})},{key:"applyDatasetOpacity",value:function(t){var e=w.Q.getDataset(t);e&&this._applyRegistryDatasetOpacity(e)}},{key:"_applyRegistryDatasetOpacity",value:function(t){var e=this;t.getLayersWithOpacity().forEach(function(t){var r=t.layerIds,n=t.opacity;r.forEach(function(t){return e._setPaintOpacity(t,n)})})}},{key:"applyGlobalOpacity",value:function(){var t=this;w.Q.forEachDataset(function(e){return t._applyRegistryDatasetOpacity(e)})}},{key:"setData",value:function(t,e){var r=this._datasetSourceMap.get(t);if(r){var n=this._map.getSource(r);n&&"function"==typeof n.setData&&n.setData(e)}}},{key:"_pixelRatio",get:function(){return this._mapProvider.map.getPixelRatio()}},{key:"_addLayers",value:function(t,e){var r=u(this._map,t,e,this._symbolRegistry,this._patternRegistry,this._pixelRatio);this._datasetSourceMap.set(t.id,r),this._maintainSymbolOrdering(t)}},{key:"_getFirstSymbolLayerId",value:function(){var t,e=this,r=this._map.getStyle();if(null==r||!r.layers)return null;var n=r.layers.find(function(t){return e._symbolLayerIds.has(t.id)});return null!==(t=null==n?void 0:n.id)&&void 0!==t?t:null}},{key:"_maintainSymbolOrdering",value:function(t){var e=this,r=(t=t.isSublayer?t.parent:t).layerIds.filter(function(t){return t&&e._map.getLayer(t)});r.forEach(function(t){var r;"symbol"===(null===(r=e._map.getLayer(t))||void 0===r?void 0:r.type)?e._symbolLayerIds.add(t):e._symbolLayerIds.delete(t)});var n=this._getFirstSymbolLayerId();n&&r.forEach(function(t){e._symbolLayerIds.has(t)||e._map.moveLayer(t,n)})}},{key:"applyDatasetVisibility",value:function(t){var e=w.Q.getDataset(t);e&&this._applyRegistryDatasetVisibility(e)}},{key:"_applyRegistryDatasetVisibility",value:function(t){var e=this;t.getLayersWithVisibility().forEach(function(t){var r=t.layerIds,n=t.visibility;r.forEach(function(t){e._map.getLayer(t)&&e._map.setLayoutProperty(t,"visibility",n)})})}},{key:"applyGlobalVisibility",value:function(){var t=this;w.Q.forEachDataset(function(e){return t._applyRegistryDatasetVisibility(e)})}},{key:"_applyFeatureFilter",value:function(t){var e=this;t.getLayersWithFilters().forEach(function(t){var r=t.layerIds,n=t.filter;r.forEach(function(t){e._map.getLayer(t)&&e._map.setFilter(t,n)})})}},{key:"_setPaintOpacity",value:function(t,e){var r=this._map.getLayer(t);if(r){var n={line:"line-opacity",symbol:"icon-opacity"}[r.type]||"fill-opacity";this._map.setPaintProperty(t,n,e)}}},{key:"_getLayersUsingSource",value:function(t){var e=this._map.getStyle();return null!=e&&e.layers?e.layers.filter(function(e){return e.source===t}).map(function(t){return t.id}):[]}}],e&&F(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,n,i,o,a,s}()}}]);
|