@defra/interactive-map 0.0.48-fmp-1 → 0.0.49-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/dist/css/index.css +1 -1
- package/dist/esm/im-core.js +1 -1
- package/dist/umd/im-core.js +1 -1
- package/package.json +1 -1
- package/plugins/beta/draw-es/dist/esm/im-draw-es-plugin.js +1 -1
- package/plugins/beta/draw-es/src/graphic.js +1 -0
- package/plugins/datasets/dist/esm/esriLayerAdapter.js +1 -1
- package/plugins/datasets/dist/umd/im-datasets-esri-adapter.js +1 -1
- package/plugins/datasets/src/adapters/esri/esriLayerAdapter.js +60 -9
- package/plugins/datasets/src/adapters/esri/esriLayerAdapter.test.js +90 -4
- package/plugins/datasets/src/adapters/maplibre/registry/mapLibreDataset.test.js +8 -8
- package/plugins/datasets/src/reducers/__data__/demoDatasets.js +3 -3
- package/plugins/map-key/dist/esm/im-map-key-plugin.js +1 -1
- package/plugins/map-key/dist/umd/im-map-key-plugin.js +1 -1
- package/plugins/map-key/dist/umd/index.js +1 -1
- package/plugins/map-key/src/api/addSymbol.js +3 -0
- package/plugins/map-key/src/api/addSymbol.test.js +14 -0
- package/plugins/map-key/src/api/index.js +4 -4
- package/plugins/map-key/src/api/index.test.js +6 -6
- package/plugins/map-key/src/api/removeSymbol.js +3 -0
- package/plugins/map-key/src/api/removeSymbol.test.js +14 -0
- package/plugins/map-key/src/initialise/MapKeyInit.jsx +1 -0
- package/plugins/map-key/src/initialise/MapKeyInit.test.jsx +1 -1
- package/plugins/map-key/src/reducers/pluginState.js +4 -4
- package/plugins/map-key/src/reducers/pluginState.test.js +5 -5
- package/src/App/hooks/useLayoutMeasurements.js +28 -14
- package/src/App/hooks/useLayoutMeasurements.test.js +57 -10
- package/src/App/layout/layout.module.scss +10 -2
- package/plugins/map-key/src/api/addKeyItem.js +0 -3
- package/plugins/map-key/src/api/addKeyItem.test.js +0 -14
- package/plugins/map-key/src/api/removeKeyItem.js +0 -3
- package/plugins/map-key/src/api/removeKeyItem.test.js +0 -14
|
@@ -6,6 +6,17 @@ import { datasetRegistry } from '../../registry/datasetRegistry.js'
|
|
|
6
6
|
import { EsriDataset } from './registry/esriDataset.js'
|
|
7
7
|
import { logger } from '../../../../../src/services/logger.js'
|
|
8
8
|
|
|
9
|
+
const getLayerSortOrder = (layer) => {
|
|
10
|
+
if (layer.id === 'baseLayer') {
|
|
11
|
+
return -Infinity
|
|
12
|
+
}
|
|
13
|
+
if (layer.id.includes('ketchLayer')) {
|
|
14
|
+
return Infinity
|
|
15
|
+
}
|
|
16
|
+
const layerId = layer.type === 'group' ? layer.layers?.items?.[0]?.id : layer.id
|
|
17
|
+
return datasetRegistry._orderedDatasets.indexOf(layerId)
|
|
18
|
+
}
|
|
19
|
+
|
|
9
20
|
export default class EsriLayerAdapter extends LayerAdapter {
|
|
10
21
|
constructor (mapProvider) {
|
|
11
22
|
super()
|
|
@@ -36,8 +47,31 @@ export default class EsriLayerAdapter extends LayerAdapter {
|
|
|
36
47
|
async init () {
|
|
37
48
|
const topLevelDatasets = datasetRegistry.topLevelDatasets()
|
|
38
49
|
// ensure the datasets are added in order
|
|
50
|
+
const _add = async (registryDataset) => {
|
|
51
|
+
return this._addLayers(registryDataset).then(() => {
|
|
52
|
+
const mapLayer = this._mapVisibilityLayers[registryDataset.id]
|
|
53
|
+
registryDataset.sublayers?.forEach(sublayer => {
|
|
54
|
+
if (sublayer.visibility === 'visible') {
|
|
55
|
+
this._applyStyleLayerPaintProperties(sublayer, mapLayer)
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
this.applyDatasetVisibility(registryDataset.id)
|
|
59
|
+
})
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Add the visible datasets first - to speed up rendering
|
|
39
63
|
for (const registryDataset of topLevelDatasets) {
|
|
40
|
-
|
|
64
|
+
if (registryDataset.visibility === 'visible') {
|
|
65
|
+
await _add(registryDataset)
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Reorder layers after adding the initially visible datasets
|
|
69
|
+
this._reorderLayers()
|
|
70
|
+
// Add the non-visible datasets next
|
|
71
|
+
for (const registryDataset of topLevelDatasets) {
|
|
72
|
+
if (registryDataset.visibility !== 'visible') {
|
|
73
|
+
await _add(registryDataset)
|
|
74
|
+
}
|
|
41
75
|
}
|
|
42
76
|
|
|
43
77
|
// onMapStyleChange: handles showing and hiding sublayers based on the current mapStyle
|
|
@@ -54,14 +88,29 @@ export default class EsriLayerAdapter extends LayerAdapter {
|
|
|
54
88
|
}
|
|
55
89
|
|
|
56
90
|
_reorderLayers () {
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this._map.allLayers.items
|
|
62
|
-
.filter((layer) => layer.id.includes('ketchLayer'))
|
|
63
|
-
.forEach((layer) => this._map.reorder(layer, layersLength))
|
|
91
|
+
// Order: baseLayer first, then datasets by their registry order, then sketch layers last
|
|
92
|
+
const allLayers = this._map?.allLayers?.items
|
|
93
|
+
if (!allLayers?.length) {
|
|
94
|
+
return
|
|
64
95
|
}
|
|
96
|
+
|
|
97
|
+
const topLevelLayers = allLayers.filter(layer => layer.parent?.type !== 'group')
|
|
98
|
+
const orderedLayers = [...topLevelLayers].sort((a, b) => getLayerSortOrder(a) - getLayerSortOrder(b))
|
|
99
|
+
orderedLayers.forEach((layer, index) => this._map.reorder(layer, index))
|
|
100
|
+
// Finally reorder the items within the group layers
|
|
101
|
+
this._reorderGroupLayers()
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
_reorderGroupLayers () {
|
|
105
|
+
const groupLayers = Object.values(this._groupLayers)
|
|
106
|
+
groupLayers.forEach((groupLayer) => {
|
|
107
|
+
const children = groupLayer?.allLayers?.items || []
|
|
108
|
+
const orderedChildren = [...children]
|
|
109
|
+
.filter(Boolean)
|
|
110
|
+
.sort((a, b) => getLayerSortOrder(a) - getLayerSortOrder(b))
|
|
111
|
+
|
|
112
|
+
orderedChildren.forEach((layer, index) => groupLayer?.reorder?.(layer, index))
|
|
113
|
+
})
|
|
65
114
|
}
|
|
66
115
|
|
|
67
116
|
_addGroupLayer (esriGroupId) {
|
|
@@ -228,7 +277,6 @@ export default class EsriLayerAdapter extends LayerAdapter {
|
|
|
228
277
|
}
|
|
229
278
|
const layerPaintProperties = vectorTileLayer.getPaintProperties(esriStyleLayerId)
|
|
230
279
|
if (layerPaintProperties) {
|
|
231
|
-
registryDataset.applyLayerPaintProperties(layerPaintProperties)
|
|
232
280
|
vectorTileLayer.setPaintProperties(esriStyleLayerId, registryDataset.applyLayerPaintProperties(layerPaintProperties))
|
|
233
281
|
}
|
|
234
282
|
}
|
|
@@ -239,6 +287,9 @@ export default class EsriLayerAdapter extends LayerAdapter {
|
|
|
239
287
|
|
|
240
288
|
// mapLayer could be a VectorTileLayer or a FeatureLayer, depending on the dataset type
|
|
241
289
|
const mapLayer = this._mapVisibilityLayers[isSublayer ? parent.id : id]
|
|
290
|
+
if (!mapLayer) {
|
|
291
|
+
return
|
|
292
|
+
}
|
|
242
293
|
if (registryDataset.type === 'FeatureService') {
|
|
243
294
|
// FeatureLayers don't have style layers, so we don't need to apply style layer visibility or paint properties
|
|
244
295
|
mapLayer.renderer = registryDataset.renderer
|
|
@@ -21,10 +21,18 @@ jest.mock('@arcgis/core/layers/GroupLayer.js', () =>
|
|
|
21
21
|
return {
|
|
22
22
|
...opts,
|
|
23
23
|
layers,
|
|
24
|
+
allLayers: { items: layers },
|
|
24
25
|
add: jest.fn(layer => layers.push(layer)),
|
|
25
26
|
remove: jest.fn(layer => {
|
|
26
27
|
const idx = layers.indexOf(layer)
|
|
27
28
|
if (idx !== -1) layers.splice(idx, 1)
|
|
29
|
+
}),
|
|
30
|
+
reorder: jest.fn((layer, index) => {
|
|
31
|
+
const current = layers.indexOf(layer)
|
|
32
|
+
if (current !== -1) {
|
|
33
|
+
layers.splice(current, 1)
|
|
34
|
+
}
|
|
35
|
+
layers.splice(index, 0, layer)
|
|
28
36
|
})
|
|
29
37
|
}
|
|
30
38
|
})
|
|
@@ -300,16 +308,94 @@ describe('esriLayerAdapter', () => {
|
|
|
300
308
|
// ─── _reorderLayers with sketch layers ───────────────────────────────────────
|
|
301
309
|
|
|
302
310
|
describe('_reorderLayers', () => {
|
|
303
|
-
it('
|
|
311
|
+
it('does nothing when allLayers is empty', () => {
|
|
312
|
+
map.allLayers = { items: [] }
|
|
313
|
+
map.reorder = jest.fn()
|
|
314
|
+
|
|
315
|
+
adapter._reorderLayers()
|
|
316
|
+
|
|
317
|
+
expect(map.reorder).not.toHaveBeenCalled()
|
|
318
|
+
})
|
|
319
|
+
|
|
320
|
+
it('orders baseLayer first, then registry order, then sketch layers last', () => {
|
|
321
|
+
datasetRegistry._orderedDatasets = ['roads']
|
|
304
322
|
const sketchLayer = { id: 'ketchLayer-0' }
|
|
305
323
|
const normalLayer = { id: 'roads' }
|
|
306
|
-
|
|
324
|
+
const baseLayer = { id: 'baseLayer' }
|
|
325
|
+
map.allLayers = { items: [normalLayer, sketchLayer, baseLayer] }
|
|
326
|
+
map.reorder = jest.fn()
|
|
327
|
+
|
|
328
|
+
adapter._reorderLayers()
|
|
329
|
+
|
|
330
|
+
expect(map.reorder).toHaveBeenNthCalledWith(1, baseLayer, 0)
|
|
331
|
+
expect(map.reorder).toHaveBeenNthCalledWith(2, normalLayer, 1)
|
|
332
|
+
expect(map.reorder).toHaveBeenNthCalledWith(3, sketchLayer, 2)
|
|
333
|
+
})
|
|
334
|
+
|
|
335
|
+
it('excludes child layers of a group from reordering', () => {
|
|
336
|
+
const baseLayer = { id: 'baseLayer' }
|
|
337
|
+
const groupLayer = { id: 'group-1', type: 'group', layers: { items: [{ id: 'roads' }] } }
|
|
338
|
+
const childLayer = { id: 'roads', parent: { type: 'group' } }
|
|
339
|
+
map.allLayers = { items: [groupLayer, childLayer, baseLayer] }
|
|
340
|
+
map.reorder = jest.fn()
|
|
341
|
+
|
|
342
|
+
adapter._reorderLayers()
|
|
343
|
+
|
|
344
|
+
expect(map.reorder).toHaveBeenCalledTimes(2)
|
|
345
|
+
expect(map.reorder).toHaveBeenCalledWith(baseLayer, 0)
|
|
346
|
+
expect(map.reorder).toHaveBeenCalledWith(groupLayer, 1)
|
|
347
|
+
})
|
|
348
|
+
|
|
349
|
+
it('handles a group layer with no child layers without throwing', () => {
|
|
350
|
+
const baseLayer = { id: 'baseLayer' }
|
|
351
|
+
const emptyGroupLayer = { id: 'empty-group', type: 'group' }
|
|
352
|
+
map.allLayers = { items: [emptyGroupLayer, baseLayer] }
|
|
353
|
+
map.reorder = jest.fn()
|
|
354
|
+
|
|
355
|
+
adapter._reorderLayers()
|
|
356
|
+
|
|
357
|
+
expect(map.reorder).toHaveBeenCalledWith(baseLayer, 0)
|
|
358
|
+
expect(map.reorder).toHaveBeenCalledWith(emptyGroupLayer, 1)
|
|
359
|
+
})
|
|
360
|
+
|
|
361
|
+
it('reorders the child layers within a group by registry order', () => {
|
|
362
|
+
datasetRegistry._orderedDatasets = ['roads', 'schools']
|
|
363
|
+
const roads = { id: 'roads' }
|
|
364
|
+
const schools = { id: 'schools' }
|
|
365
|
+
const sketch = { id: 'ketchLayer-0' }
|
|
366
|
+
const baseLayer = { id: 'baseLayer' }
|
|
367
|
+
const groupLayer = {
|
|
368
|
+
id: 'group-1',
|
|
369
|
+
type: 'group',
|
|
370
|
+
allLayers: { items: [schools, sketch, roads] },
|
|
371
|
+
reorder: jest.fn()
|
|
372
|
+
}
|
|
373
|
+
adapter._groupLayers[groupLayer.id] = groupLayer
|
|
374
|
+
map.allLayers = { items: [groupLayer, baseLayer] }
|
|
375
|
+
map.reorder = jest.fn()
|
|
376
|
+
|
|
377
|
+
adapter._reorderLayers()
|
|
378
|
+
|
|
379
|
+
expect(groupLayer.reorder).toHaveBeenNthCalledWith(1, roads, 0)
|
|
380
|
+
expect(groupLayer.reorder).toHaveBeenNthCalledWith(2, schools, 1)
|
|
381
|
+
expect(groupLayer.reorder).toHaveBeenNthCalledWith(3, sketch, 2)
|
|
382
|
+
})
|
|
383
|
+
|
|
384
|
+
it('Copes when a groupLayer has no items', () => {
|
|
385
|
+
datasetRegistry._orderedDatasets = ['roads', 'schools']
|
|
386
|
+
const baseLayer = { id: 'baseLayer' }
|
|
387
|
+
const groupLayer = {
|
|
388
|
+
id: 'group-1',
|
|
389
|
+
type: 'group',
|
|
390
|
+
reorder: jest.fn()
|
|
391
|
+
}
|
|
392
|
+
adapter._groupLayers[groupLayer.id] = groupLayer
|
|
393
|
+
map.allLayers = { items: [groupLayer, baseLayer] }
|
|
307
394
|
map.reorder = jest.fn()
|
|
308
395
|
|
|
309
396
|
adapter._reorderLayers()
|
|
310
397
|
|
|
311
|
-
expect(
|
|
312
|
-
expect(map.reorder).not.toHaveBeenCalledWith(normalLayer, expect.anything())
|
|
398
|
+
expect(groupLayer.reorder).not.toHaveBeenCalled()
|
|
313
399
|
})
|
|
314
400
|
})
|
|
315
401
|
|
|
@@ -212,12 +212,12 @@ describe('MapLibreDataset', () => {
|
|
|
212
212
|
|
|
213
213
|
it('returns a tiles-based id for a tile dataset (array tiles)', () => {
|
|
214
214
|
const dataset = datasetRegistry.getDataset('existing-fields')
|
|
215
|
-
expect(dataset.sourceId).toBe('tiles-
|
|
215
|
+
expect(dataset.sourceId).toBe('tiles-35m5lrb')
|
|
216
216
|
})
|
|
217
217
|
|
|
218
218
|
it('returns a tiles-based id when tiles is a plain string (line 76 non-array branch)', () => {
|
|
219
219
|
const dataset = datasetRegistry.getDataset('existing-fields')
|
|
220
|
-
expect(dataset.sourceId).toBe('tiles-
|
|
220
|
+
expect(dataset.sourceId).toBe('tiles-35m5lrb')
|
|
221
221
|
})
|
|
222
222
|
|
|
223
223
|
it('returns geojson-dynamic-{id} for a dynamic geojson source', () => {
|
|
@@ -242,7 +242,7 @@ describe('MapLibreDataset', () => {
|
|
|
242
242
|
it('returns a vector source for a tile dataset', () => {
|
|
243
243
|
expect(datasetRegistry.getDataset('existing-fields').source).toEqual({
|
|
244
244
|
type: 'vector',
|
|
245
|
-
tiles: 'https://farming-tiles-702a60f45633.herokuapp.com/
|
|
245
|
+
tiles: 'https://farming-tiles-702a60f45633.herokuapp.com/field_parcels_with_hedges_wgs84/{z}/{x}/{y}',
|
|
246
246
|
minzoom: 10,
|
|
247
247
|
maxzoom: 24
|
|
248
248
|
})
|
|
@@ -395,8 +395,8 @@ describe('MapLibreDataset', () => {
|
|
|
395
395
|
expect(datasetRegistry.getDataset('existing-fields').getFillSource({})).toEqual({
|
|
396
396
|
id: 'existing-fields',
|
|
397
397
|
type: 'fill',
|
|
398
|
-
source: 'tiles-
|
|
399
|
-
'source-layer': '
|
|
398
|
+
source: 'tiles-35m5lrb',
|
|
399
|
+
'source-layer': 'field_parcels_wgs84',
|
|
400
400
|
minzoom: 10,
|
|
401
401
|
maxzoom: 24,
|
|
402
402
|
layout: { visibility: 'visible' },
|
|
@@ -413,7 +413,7 @@ describe('MapLibreDataset', () => {
|
|
|
413
413
|
.toEqual({
|
|
414
414
|
id: 'hedge-control',
|
|
415
415
|
type: 'line',
|
|
416
|
-
source: 'tiles-
|
|
416
|
+
source: 'tiles-35m5lrb',
|
|
417
417
|
'source-layer': 'hedge_control',
|
|
418
418
|
minzoom: 10,
|
|
419
419
|
maxzoom: 24,
|
|
@@ -428,8 +428,8 @@ describe('MapLibreDataset', () => {
|
|
|
428
428
|
.toEqual({
|
|
429
429
|
id: 'existing-fields-stroke',
|
|
430
430
|
type: 'line',
|
|
431
|
-
source: 'tiles-
|
|
432
|
-
'source-layer': '
|
|
431
|
+
source: 'tiles-35m5lrb',
|
|
432
|
+
'source-layer': 'field_parcels_wgs84',
|
|
433
433
|
minzoom: 10,
|
|
434
434
|
maxzoom: 24,
|
|
435
435
|
layout: { visibility: 'visible' },
|
|
@@ -101,8 +101,8 @@ export const datasets = [
|
|
|
101
101
|
id: 'existing-fields', // NOSONAR
|
|
102
102
|
label: 'Existing fields',
|
|
103
103
|
filter: ['all', ['==', ['get', 'sbi'], '106223377'], ['==', ['get', 'is_dominant_land_cover'], true]],
|
|
104
|
-
tiles: 'https://farming-tiles-702a60f45633.herokuapp.com/
|
|
105
|
-
sourceLayer: '
|
|
104
|
+
tiles: 'https://farming-tiles-702a60f45633.herokuapp.com/field_parcels_with_hedges_wgs84/{z}/{x}/{y}',
|
|
105
|
+
sourceLayer: 'field_parcels_wgs84',
|
|
106
106
|
minZoom: 10,
|
|
107
107
|
maxZoom: 24,
|
|
108
108
|
showInKey: true,
|
|
@@ -158,7 +158,7 @@ export const datasets = [
|
|
|
158
158
|
}, {
|
|
159
159
|
id: 'hedge-control', // NOSONAR
|
|
160
160
|
label: 'Hedge control',
|
|
161
|
-
tiles: ['https://farming-tiles-702a60f45633.herokuapp.com/
|
|
161
|
+
tiles: ['https://farming-tiles-702a60f45633.herokuapp.com/field_parcels_with_hedges_wgs84/{z}/{x}/{y}'],
|
|
162
162
|
sourceLayer: 'hedge_control',
|
|
163
163
|
minZoom: 10,
|
|
164
164
|
maxZoom: 24,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as e,useEffect as t,useRef as r}from"preact/compat";import{jsx as o,jsxs as n}from"preact/jsx-runtime";import i from"@babel/runtime/helpers/defineProperty";import l from"@babel/runtime/helpers/asyncToGenerator";var a=null,c=e=>a=e,s={"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'},p=(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 r=Object.values(e)[0];return null!=r?r:null}return null},u=(e,t,r)=>e.replace(/\{\{foregroundColor\}\}/g,t||"black").replace(/\{\{backgroundColor\}\}/g,r),f=new Map,y={register(e,t){f.set(e,{id:e,svgContent:t})},get:e=>f.get(e),list:()=>[...f.values()],clear(){f.clear()},initialise(){Object.entries(s).forEach(e=>{var[t,r]=e;this.register(t,r)})},getPatternInnerContent(e){return e.fillPatternSvgContent?e.fillPatternSvgContent:e.fillPattern&&null!==(t=null===(r=this.get(e.fillPattern))||void 0===r?void 0:r.svgContent)&&void 0!==t?t:null;var t,r},getKeyPatternPaths(e,t){var r=this.getPatternInnerContent(e);if(!r)return null;var o=p(e.fillPatternForegroundColor,t)||"black",n=p(e.fillPatternBackgroundColor,t)||"transparent",i=p(e.stroke,t)||o;return{border:u('<path d="M19 2.862v14.275c0 1.028-.835 1.862-1.862 1.862H2.863c-1.028 0-1.862-.835-1.862-1.862V2.862C1.001 1.834 1.836 1 2.863 1h14.275C18.166 1 19 1.835 19 2.862z" fill="{{backgroundColor}}" stroke="{{foregroundColor}}" stroke-width="2"/>',i,n),content:u(r,o,n)}},getPatternImageId(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=this.getPatternInnerContent(e);if(!o)return null;var n=p(e.fillPatternForegroundColor,t)||"black",i=p(e.fillPatternBackgroundColor,t)||"transparent",l=(e=>Math.max(2,2*e))(r);return"pattern-".concat((e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)})(o+n+i),"-").concat(l,"x")}};y.initialise();var d={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff"},g={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},h={id:"pin",viewBox:"0 0 44 44",anchor:[.5,.9],graphic:g.dot,svg:'<path d="M22 40.999c-3.621 0-8.306-5.864-10.258-8.3C9.02 29.302 6 23.66 6 19.002a16.01 16.01 0 0 1 16-16 16.01 16.01 0 0 1 16 16c0 4.658-3.02 10.3-5.742 13.697-1.952 2.437-6.637 8.3-10.258 8.3z" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M22 7.001a12.01 12.01 0 0 1 12 12c0 7.623-10.377 17.998-12 17.998S10 26.624 10 19.001a12.01 12.01 0 0 1 12-12z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},v={id:"circle",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:g.dot,svg:'<circle cx="22" cy="22" r="16" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <circle cx="22" cy="22" r="12" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},m={id:"square",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:g.dot,svg:'<path d="M13 6h18c3.863 0 7 3.137 7 7v18c0 3.863-3.137 7-7 7H13c-3.863 0-7-3.137-7-7V13c0-3.863 3.137-7 7-7" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M13 34a3 3 0 0 1-3-3V13a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H13z" fill-rule="nonzero" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},b=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),O=e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return b.forEach(r=>{if(null!=e[r]){var o=r.charAt(6).toLowerCase()+r.slice(7);t[o]=e[r]}}),t},j=(e,t)=>{var r;return e.symbolViewBox?e.symbolViewBox:null!==(r=null==t?void 0:t.viewBox)&&void 0!==r?r:"0 0 38 38"},k={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",activeColor:"#ffdd00",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",activeColor:"#ffdd00",foregroundColor:"#ffffff"}};function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var S=new Map,D=new Map,C={},M=e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)},E=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]);function I(e,t,r){var o,n,i,l,a=null==r?void 0:r.id,c=Object.fromEntries(Object.entries(e||{}).filter(e=>{var[t]=e;return!E.has(t)})),s=Object.fromEntries(Object.entries(C).filter(e=>{var[t]=e;return!E.has(t)})),u=Object.fromEntries(Object.entries(t).filter(e=>{var[,t]=e;return null!=t})),f=P(P(P(P({},d),s),c),u),y=null!==(o=k[null==r?void 0:r.mapColorScheme])&&void 0!==o?o:k.light;return f.haloColor=null!==(n=null==r?void 0:r.haloColor)&&void 0!==n?n:y.haloColor,f.selectedColor=null!==(i=null==r?void 0:r.selectedColor)&&void 0!==i?i:y.selectedColor,f.activeColor=null!==(l=null==r?void 0:r.activeColor)&&void 0!==l?l:y.activeColor,"string"==typeof f.graphic&&g[f.graphic]&&(f.graphic=g[f.graphic]),Object.fromEntries(Object.entries(f).map(e=>{var[t,r]=e;return[t,p(r,a)||""]}))}function x(e,t){return Object.entries(t).reduce((e,t)=>{var[r,o]=t;return e.replaceAll("{{".concat(r,"}}"),o)},e)}var L={setDefaults(e){C=e||{}},getDefaults:()=>P(P({},d),C),register(e){S.set(e.id,e)},get:e=>S.get(e),list:()=>[...S.values()],clear(){S.clear()},initialise(){this.register(h),this.register(v),this.register(m)},resolve(e,t,r){var o=I(e,t||{},r);return e?(o.selectedColor="none",o.activeColor="none",x(e.svg,o)):""},resolveActive(e,t,r){var o=I(e,t||{},r);return e?x(e.svg,o):""},resolveSelected(e,t,r){var o=I(e,t||{},r);return e?(o.activeColor="none",x(e.svg,o)):""},getSymbolImageId(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,n=this.getSymbolDef(e);if(!n)return null;var i=O(e),l=r?this.resolveActive(n,i,t):this.resolve(n,i,t);return"symbol-".concat(r?"act-":"").concat(M(l),"-").concat(o,"x")},getSymbolDef(e){return e.symbolSvgContent?{svg:e.symbolSvgContent}:e.symbol?this.get(e.symbol):void 0},rasteriseSymbolImage(e,t,r,o){var n=this;return l(function*(){var i=n.getSymbolDef(e);if(!i)return null;var l,a,c=O(e);"active"===r?(l=n.resolveActive(i,c,t),a="act-"):"selected"===r?(l=n.resolveSelected(i,c,t),a="sel-"):(l=n.resolve(i,c,t),a="");var s="symbol-".concat(a).concat(M(l),"-").concat(o,"x"),p=D.get(s);if(!p){var u=j(e,i),[,,f,y]=u.split(" ").map(Number),d='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(f*o,'" height="').concat(y*o,'" viewBox="').concat(u,'">').concat(l,"</svg>");p=yield((e,t,r)=>new Promise((o,n)=>{var i="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(e)),l=new Image(t,r);l.onload=()=>{var e=document.createElement("canvas");e.width=t,e.height=r;var n=e.getContext("2d");n.drawImage(l,0,0,t,r),o(n.getImageData(0,0,t,r))},l.onerror=()=>{n(new Error("Failed to rasterise SVG: ".concat(e.slice(0,80))))},l.src=i}))(d,f*o,y*o),D.set(s,p)}return{imageId:s,imageData:p}})()}};function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}L.initialise();var H={},V=null,A=[],K=()=>{var e;if(null===(e=H)||void 0===e||!e.current)return[];if(V===H.current)return A;V=H.current;var{groups:t=[],keyDefinitions:r=[]}=H.current;return A=t.map(e=>"flat"===e.type?z(z({},e),{},{keyDefinition:r.find(t=>t.id===e.id)}):z(z({},e),{},{keyDefinitions:r.filter(t=>t.groupId===e.id)}))},B=e=>{var{text:t}=e;return o("div",{className:"im-c-map-key",children:o("p",{className:"im-c-map-key__empty-message",children:t})})};function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var T=20,R={xmlns:"http://www.w3.org/2000/svg",width:T,height:T,viewBox:"0 0 ".concat(T," ").concat(T),className:"im-c-map-key-symbol","aria-hidden":"true",focusable:"false"},W=G(G({},R),{},{width:44,height:44,className:"im-c-map-key-symbol im-c-map-key-symbol--point"});function Y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var F=e=>{var{keyDefinition:t,mapStyle:r}=e,{style:i}=t,l=y.getKeyPatternPaths(i,r.id);return l?n("svg",q(q({},R),{},{children:[o("g",{dangerouslySetInnerHTML:{__html:l.border}}),o("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:l.content}})]})):null};function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var J=e=>{var t,{keyDefinition:r,mapStyle:n,symbolDef:i}=e,{style:l}=r,a=null!==(t=null==n?void 0:n.appColorScheme)&&void 0!==t?t:"light",c=U(U({},n),{},{mapColorScheme:a}),s=L.resolve(i,O(l),c),p=j(l,i);return s&&p?o("svg",U(U({},W),{},{viewBox:p,children:o("g",{dangerouslySetInnerHTML:{__html:s}})})):null};function Q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var $=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=n.strokeWidth,l=p(n.stroke,t.id);return o("svg",X(X({},R),{},{children:o("line",{x1:i/2,y1:10,x2:T-i/2,y2:10,stroke:l,strokeWidth:i,strokeLinecap:"round"})}))};function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var re=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=n.strokeWidth,l=p(n.fill,t.id),a=p(n.stroke,t.id);return o("svg",te(te({},R),{},{children:o("rect",{x:i/2,y:i/2,width:T-i,height:T-i,rx:i,ry:i,fill:l,stroke:a,strokeWidth:i,strokeLinejoin:"round"})}))},oe=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=p(n.fill,t.id),l=p(n.fill,t.id);return o("svg",{viewBox:"0 0 5 5",preserveAspectRatio:"none",fill:i,stroke:l,strokeWidth:"1",children:o("path",{d:"M0 0h5v5H0z"})})},ne="horizontal-ramp",ie=e=>{var{keyDefinition:t,groupStyle:r,mapStyle:n}=e,{symbolShape:i,symbolDef:l}=((e,t)=>{if(!e)return{symbolShape:null,symbolDef:null};var{hasSymbol:r,hasPattern:o,style:n}=e;if(t===ne)return{symbolShape:ne,symbolDef:null};if(r){var i=L.getSymbolDef(n);return{symbolShape:i?"symbol":"rect",symbolDef:i}}return o?{symbolShape:"pattern",symbolDef:null}:"line"===n.keySymbolShape?{symbolShape:"line",symbolDef:null}:{symbolShape:"rect",symbolDef:null}})(t,r);return i?"symbol"===i?o(J,{mapStyle:n,keyDefinition:t,symbolDef:l}):o("pattern"===i?F:"line"===i?$:i===ne?oe:re,{mapStyle:n,keyDefinition:t}):null},le=e=>{var{keyDefinition:t,groupStyle:r,mapStyle:i}=e,l=t.label,a=p(t.symbolDescription,i.id);return n("div",{className:"im-c-map-key-list__item",children:[o("dt",{className:"im-c-map-key-list__item-symbol",children:o(ie,{keyDefinition:t,groupStyle:r,mapStyle:i})}),n("dd",{className:"im-c-map-key-list__item-label",children:[l,a&&n("span",{className:"govuk-visually-hidden",children:["(",a,")"]})]})]})},ae=e=>{var{headingId:t,label:r,groupStyle:i,keyDefinitions:l,mapStyle:a}=e,c="im-c-map-key-list"+(i?" im-c-map-key-list-".concat(i):"");return n("section",{className:"im-c-map-key__group","aria-labelledby":t,children:[o("h3",{id:t,className:"im-c-map-key__group-heading",children:r}),o("dl",{className:c,children:l.map(e=>o(le,{keyDefinition:e,mapStyle:a,groupStyle:i},"".concat(e.id)))})]})},ce="im-c-map-key",se=e=>{var{item:t,groupStyle:r,mapStyle:n}=e;return"group"===t.type?o(ae,{headingId:"key-heading-".concat(t.id),label:t.groupLabel,groupStyle:r,keyDefinitions:t.keyDefinitions,mapStyle:n}):o(le,{keyDefinition:t.keyDefinition,mapStyle:n})},pe=e=>{var{noKeyItemText:t,keyGroups:r,hasGroups:n,mapStyle:i}=e;if(null==r||!r.length)return o(B,{text:t});var l=n?"".concat(ce," ").concat("im-c-map-key--has-groups"):ce;return o("div",{className:l,children:r.map(e=>o(se,{item:e,mapStyle:i,groupStyle:e.groupStyle},e.id))})};function ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ue(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ue(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ye(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function de(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ye(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ge={InitComponent:function(e){var{pluginConfig:o,pluginState:n,mapState:i,services:l}=e,{dispatch:a}=n,{eventBus:s}=l,p=r(n);p.current=n,t(()=>{i.isMapReady&&((e=>{H=e})(p),s.requestOnce("datasets:registry",c))},[i.isMapReady]),t(()=>{if(o.groups){var e=Object.entries(o.groups).map(e=>{var[t,r]=e;return fe(fe({},r),{},{id:t,label:r.groupLabel})});a({type:"ADD_KEY_GROUPS",payload:e})}},[o.groups])},reducer:{initialState:{keyDefinitions:[],groups:[]},actions:{ADD_KEY_ITEM:(e,t)=>{var r,{id:o,groupLabel:n}=t,i=t.groupId||((r=n)?r.toLowerCase().replace(/\s+/g,"-"):null),l=((e,t,r)=>e.groups.find(e=>"group"===e.type&&e.id===r||"flat"===e.type&&e.id===t))(e,o,i),a=l?null:((e,t,r)=>t?{id:t,type:"group",groupLabel:r}:{id:e,type:"flat"})(o,i,n),c=a?[...e.groups,a]:e.groups,s=[...e.keyDefinitions,de(de({},t),{},{type:"manual"},i?{groupId:i}:{})];return de(de({},e),{},{keyDefinitions:s,groups:c})},REMOVE_KEY_ITEM:(e,t)=>{var{id:r}=t;return de(de({},e),{},{keyDefinitions:e.keyDefinitions.filter(e=>e.id!==r)})},ADD_KEY_GROUPS:(e,t)=>de(de({},e),{},{groups:[...e.groups,...t]})}},panels:[{id:"mapKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(r){var{mapState:{mapStyle:n},pluginConfig:{noKeyItemText:i},pluginState:l,services:{eventBus:c}}=r,[s,p]=e(a),[u,f]=e(()=>{var e;return null!==(e=null==s?void 0:s.keyItems().items)&&void 0!==e?e:[]}),[y,d]=e(()=>{var e;return null!==(e=null==s?void 0:s.keyItems().hasGroups)&&void 0!==e&&e}),g=()=>{var{items:e,hasGroups:t}=s.keyItems(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[...K()];return 0===t.length?e:[...e.map(e=>{var r=t.findIndex(t=>t.id===e.id);if(-1===r)return e;var o=t.splice(r,1)[0];return z(z(z({},e),o),{},{keyDefinitions:[...o.keyDefinitions||[],...e.keyDefinitions||[]]})}),...t].filter(e=>{var t;return"flat"===e.type&&e.keyDefinition||"group"===e.type&&(null===(t=e.keyDefinitions)||void 0===t?void 0:t.length)})}(e);f(r),d(t)},h=e=>{s.invalidateKeyItemsOnMenuStateChange(e),g()};return t(()=>s?(g(),c.on("menu:changed",h).on("datasets:changed",g),()=>c.off("menu:changed",h).off("datasets:changed",g)):(c.requestOnce("datasets:registry",p),()=>{}),[s]),t(()=>{s&&g()},[l]),o(pe,{noKeyItemText:i,keyGroups:u,hasGroups:y,mapStyle:n})}}],buttons:[{id:"mapKey",panelId:"mapKey",label:"Key",iconId:"key",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{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:{addKeyItem:(e,t)=>{var{pluginState:{dispatch:r}}=e;r({type:"ADD_KEY_ITEM",payload:t})},removeKeyItem:(e,t)=>{var{pluginState:{dispatch:r}}=e;r({type:"REMOVE_KEY_ITEM",payload:t})}}};export{ge as manifest};
|
|
1
|
+
import{useState as e,useEffect as t,useRef as r}from"preact/compat";import{jsx as o,jsxs as n}from"preact/jsx-runtime";import i from"@babel/runtime/helpers/defineProperty";import l from"@babel/runtime/helpers/asyncToGenerator";var a=null,c=e=>a=e,s={"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'},p=(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 r=Object.values(e)[0];return null!=r?r:null}return null},u=(e,t,r)=>e.replace(/\{\{foregroundColor\}\}/g,t||"black").replace(/\{\{backgroundColor\}\}/g,r),f=new Map,y={register(e,t){f.set(e,{id:e,svgContent:t})},get:e=>f.get(e),list:()=>[...f.values()],clear(){f.clear()},initialise(){Object.entries(s).forEach(e=>{var[t,r]=e;this.register(t,r)})},getPatternInnerContent(e){return e.fillPatternSvgContent?e.fillPatternSvgContent:e.fillPattern&&null!==(t=null===(r=this.get(e.fillPattern))||void 0===r?void 0:r.svgContent)&&void 0!==t?t:null;var t,r},getKeyPatternPaths(e,t){var r=this.getPatternInnerContent(e);if(!r)return null;var o=p(e.fillPatternForegroundColor,t)||"black",n=p(e.fillPatternBackgroundColor,t)||"transparent",i=p(e.stroke,t)||o;return{border:u('<path d="M19 2.862v14.275c0 1.028-.835 1.862-1.862 1.862H2.863c-1.028 0-1.862-.835-1.862-1.862V2.862C1.001 1.834 1.836 1 2.863 1h14.275C18.166 1 19 1.835 19 2.862z" fill="{{backgroundColor}}" stroke="{{foregroundColor}}" stroke-width="2"/>',i,n),content:u(r,o,n)}},getPatternImageId(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=this.getPatternInnerContent(e);if(!o)return null;var n=p(e.fillPatternForegroundColor,t)||"black",i=p(e.fillPatternBackgroundColor,t)||"transparent",l=(e=>Math.max(2,2*e))(r);return"pattern-".concat((e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)})(o+n+i),"-").concat(l,"x")}};y.initialise();var d={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff"},g={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},h={id:"pin",viewBox:"0 0 44 44",anchor:[.5,.9],graphic:g.dot,svg:'<path d="M22 40.999c-3.621 0-8.306-5.864-10.258-8.3C9.02 29.302 6 23.66 6 19.002a16.01 16.01 0 0 1 16-16 16.01 16.01 0 0 1 16 16c0 4.658-3.02 10.3-5.742 13.697-1.952 2.437-6.637 8.3-10.258 8.3z" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M22 7.001a12.01 12.01 0 0 1 12 12c0 7.623-10.377 17.998-12 17.998S10 26.624 10 19.001a12.01 12.01 0 0 1 12-12z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},v={id:"circle",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:g.dot,svg:'<circle cx="22" cy="22" r="16" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <circle cx="22" cy="22" r="12" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},m={id:"square",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:g.dot,svg:'<path d="M13 6h18c3.863 0 7 3.137 7 7v18c0 3.863-3.137 7-7 7H13c-3.863 0-7-3.137-7-7V13c0-3.863 3.137-7 7-7" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M13 34a3 3 0 0 1-3-3V13a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H13z" fill-rule="nonzero" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},b=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),O=e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return b.forEach(r=>{if(null!=e[r]){var o=r.charAt(6).toLowerCase()+r.slice(7);t[o]=e[r]}}),t},j=(e,t)=>{var r;return e.symbolViewBox?e.symbolViewBox:null!==(r=null==t?void 0:t.viewBox)&&void 0!==r?r:"0 0 38 38"},k={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",activeColor:"#ffdd00",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",activeColor:"#ffdd00",foregroundColor:"#ffffff"}};function w(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?w(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var P=new Map,D=new Map,C={},M=e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)},L=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]);function E(e,t,r){var o,n,i,l,a=null==r?void 0:r.id,c=Object.fromEntries(Object.entries(e||{}).filter(e=>{var[t]=e;return!L.has(t)})),s=Object.fromEntries(Object.entries(C).filter(e=>{var[t]=e;return!L.has(t)})),u=Object.fromEntries(Object.entries(t).filter(e=>{var[,t]=e;return null!=t})),f=S(S(S(S({},d),s),c),u),y=null!==(o=k[null==r?void 0:r.mapColorScheme])&&void 0!==o?o:k.light;return f.haloColor=null!==(n=null==r?void 0:r.haloColor)&&void 0!==n?n:y.haloColor,f.selectedColor=null!==(i=null==r?void 0:r.selectedColor)&&void 0!==i?i:y.selectedColor,f.activeColor=null!==(l=null==r?void 0:r.activeColor)&&void 0!==l?l:y.activeColor,"string"==typeof f.graphic&&g[f.graphic]&&(f.graphic=g[f.graphic]),Object.fromEntries(Object.entries(f).map(e=>{var[t,r]=e;return[t,p(r,a)||""]}))}function x(e,t){return Object.entries(t).reduce((e,t)=>{var[r,o]=t;return e.replaceAll("{{".concat(r,"}}"),o)},e)}var I={setDefaults(e){C=e||{}},getDefaults:()=>S(S({},d),C),register(e){P.set(e.id,e)},get:e=>P.get(e),list:()=>[...P.values()],clear(){P.clear()},initialise(){this.register(h),this.register(v),this.register(m)},resolve(e,t,r){var o=E(e,t||{},r);return e?(o.selectedColor="none",o.activeColor="none",x(e.svg,o)):""},resolveActive(e,t,r){var o=E(e,t||{},r);return e?x(e.svg,o):""},resolveSelected(e,t,r){var o=E(e,t||{},r);return e?(o.activeColor="none",x(e.svg,o)):""},getSymbolImageId(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,n=this.getSymbolDef(e);if(!n)return null;var i=O(e),l=r?this.resolveActive(n,i,t):this.resolve(n,i,t);return"symbol-".concat(r?"act-":"").concat(M(l),"-").concat(o,"x")},getSymbolDef(e){return e.symbolSvgContent?{svg:e.symbolSvgContent}:e.symbol?this.get(e.symbol):void 0},rasteriseSymbolImage(e,t,r,o){var n=this;return l(function*(){var i=n.getSymbolDef(e);if(!i)return null;var l,a,c=O(e);"active"===r?(l=n.resolveActive(i,c,t),a="act-"):"selected"===r?(l=n.resolveSelected(i,c,t),a="sel-"):(l=n.resolve(i,c,t),a="");var s="symbol-".concat(a).concat(M(l),"-").concat(o,"x"),p=D.get(s);if(!p){var u=j(e,i),[,,f,y]=u.split(" ").map(Number),d='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(f*o,'" height="').concat(y*o,'" viewBox="').concat(u,'">').concat(l,"</svg>");p=yield((e,t,r)=>new Promise((o,n)=>{var i="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(e)),l=new Image(t,r);l.onload=()=>{var e=document.createElement("canvas");e.width=t,e.height=r;var n=e.getContext("2d");n.drawImage(l,0,0,t,r),o(n.getImageData(0,0,t,r))},l.onerror=()=>{n(new Error("Failed to rasterise SVG: ".concat(e.slice(0,80))))},l.src=i}))(d,f*o,y*o),D.set(s,p)}return{imageId:s,imageData:p}})()}};function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}I.initialise();var H={},V=null,B=[],A=()=>{var e;if(null===(e=H)||void 0===e||!e.current)return[];if(V===H.current)return B;V=H.current;var{groups:t=[],keyDefinitions:r=[]}=H.current;return B=t.map(e=>"flat"===e.type?z(z({},e),{},{keyDefinition:r.find(t=>t.id===e.id)}):z(z({},e),{},{keyDefinitions:r.filter(t=>t.groupId===e.id)}))},K=e=>{var{text:t}=e;return o("div",{className:"im-c-map-key",children:o("p",{className:"im-c-map-key__empty-message",children:t})})};function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Y=20,R={xmlns:"http://www.w3.org/2000/svg",width:Y,height:Y,viewBox:"0 0 ".concat(Y," ").concat(Y),className:"im-c-map-key-symbol","aria-hidden":"true",focusable:"false"},T=G(G({},R),{},{width:44,height:44,className:"im-c-map-key-symbol im-c-map-key-symbol--point"});function W(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?W(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):W(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var F=e=>{var{keyDefinition:t,mapStyle:r}=e,{style:i}=t,l=y.getKeyPatternPaths(i,r.id);return l?n("svg",q(q({},R),{},{children:[o("g",{dangerouslySetInnerHTML:{__html:l.border}}),o("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:l.content}})]})):null};function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var J=e=>{var t,{keyDefinition:r,mapStyle:n,symbolDef:i}=e,{style:l}=r,a=null!==(t=null==n?void 0:n.appColorScheme)&&void 0!==t?t:"light",c=U(U({},n),{},{mapColorScheme:a}),s=I.resolve(i,O(l),c),p=j(l,i);return s&&p?o("svg",U(U({},T),{},{viewBox:p,children:o("g",{dangerouslySetInnerHTML:{__html:s}})})):null};function Q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Q(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var $=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=n.strokeWidth,l=p(n.stroke,t.id);return o("svg",X(X({},R),{},{children:o("line",{x1:i/2,y1:10,x2:Y-i/2,y2:10,stroke:l,strokeWidth:i,strokeLinecap:"round"})}))};function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var re=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=n.strokeWidth,l=p(n.fill,t.id),a=p(n.stroke,t.id);return o("svg",te(te({},R),{},{children:o("rect",{x:i/2,y:i/2,width:Y-i,height:Y-i,rx:i,ry:i,fill:l,stroke:a,strokeWidth:i,strokeLinejoin:"round"})}))},oe=e=>{var{mapStyle:t,keyDefinition:r}=e,{style:n}=r,i=p(n.fill,t.id),l=p(n.fill,t.id);return o("svg",{viewBox:"0 0 5 5",preserveAspectRatio:"none",fill:i,stroke:l,strokeWidth:"1",children:o("path",{d:"M0 0h5v5H0z"})})},ne="horizontal-ramp",ie=e=>{var{keyDefinition:t,groupStyle:r,mapStyle:n}=e,{symbolShape:i,symbolDef:l}=((e,t)=>{if(!e)return{symbolShape:null,symbolDef:null};var{hasSymbol:r,hasPattern:o,style:n}=e;if(t===ne)return{symbolShape:ne,symbolDef:null};if(r){var i=I.getSymbolDef(n);return{symbolShape:i?"symbol":"rect",symbolDef:i}}return o?{symbolShape:"pattern",symbolDef:null}:"line"===n.keySymbolShape?{symbolShape:"line",symbolDef:null}:{symbolShape:"rect",symbolDef:null}})(t,r);return i?"symbol"===i?o(J,{mapStyle:n,keyDefinition:t,symbolDef:l}):o("pattern"===i?F:"line"===i?$:i===ne?oe:re,{mapStyle:n,keyDefinition:t}):null},le=e=>{var{keyDefinition:t,groupStyle:r,mapStyle:i}=e,l=t.label,a=p(t.symbolDescription,i.id);return n("div",{className:"im-c-map-key-list__item",children:[o("dt",{className:"im-c-map-key-list__item-symbol",children:o(ie,{keyDefinition:t,groupStyle:r,mapStyle:i})}),n("dd",{className:"im-c-map-key-list__item-label",children:[l,a&&n("span",{className:"govuk-visually-hidden",children:["(",a,")"]})]})]})},ae=e=>{var{headingId:t,label:r,groupStyle:i,keyDefinitions:l,mapStyle:a}=e,c="im-c-map-key-list"+(i?" im-c-map-key-list-".concat(i):"");return n("section",{className:"im-c-map-key__group","aria-labelledby":t,children:[o("h3",{id:t,className:"im-c-map-key__group-heading",children:r}),o("dl",{className:c,children:l.map(e=>o(le,{keyDefinition:e,mapStyle:a,groupStyle:i},"".concat(e.id)))})]})},ce="im-c-map-key",se=e=>{var{item:t,groupStyle:r,mapStyle:n}=e;return"group"===t.type?o(ae,{headingId:"key-heading-".concat(t.id),label:t.groupLabel,groupStyle:r,keyDefinitions:t.keyDefinitions,mapStyle:n}):o(le,{keyDefinition:t.keyDefinition,mapStyle:n})},pe=e=>{var{noKeyItemText:t,keyGroups:r,hasGroups:n,mapStyle:i}=e;if(null==r||!r.length)return o(K,{text:t});var l=n?"".concat(ce," ").concat("im-c-map-key--has-groups"):ce;return o("div",{className:l,children:r.map(e=>o(se,{item:e,mapStyle:i,groupStyle:e.groupStyle},e.id))})};function ue(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function fe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ue(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ue(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ye(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,o)}return r}function de(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ye(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ge={InitComponent:function(e){var{pluginConfig:o,pluginState:n,mapState:i,services:l}=e,{dispatch:a}=n,{eventBus:s}=l,p=r(n);p.current=n,t(()=>{i.isMapReady&&((e=>{H=e})(p),s.requestOnce("datasets:registry",c),s.emit("map-key:ready"))},[i.isMapReady]),t(()=>{if(o.groups){var e=Object.entries(o.groups).map(e=>{var[t,r]=e;return fe(fe({},r),{},{id:t,label:r.groupLabel})});a({type:"ADD_KEY_GROUPS",payload:e})}},[o.groups])},reducer:{initialState:{keyDefinitions:[],groups:[]},actions:{ADD_KEY_SYMBOL:(e,t)=>{var r,{id:o,groupLabel:n}=t,i=t.groupId||((r=n)?r.toLowerCase().replace(/\s+/g,"-"):null),l=((e,t,r)=>e.groups.find(e=>"group"===e.type&&e.id===r||"flat"===e.type&&e.id===t))(e,o,i),a=l?null:((e,t,r)=>t?{id:t,type:"group",groupLabel:r}:{id:e,type:"flat"})(o,i,n),c=a?[...e.groups,a]:e.groups,s=[...e.keyDefinitions,de(de({},t),{},{type:"manual"},i?{groupId:i}:{})];return de(de({},e),{},{keyDefinitions:s,groups:c})},REMOVE_KEY_SYMBOL:(e,t)=>{var{id:r}=t;return de(de({},e),{},{keyDefinitions:e.keyDefinitions.filter(e=>e.id!==r)})},ADD_KEY_GROUPS:(e,t)=>de(de({},e),{},{groups:[...e.groups,...t]})}},panels:[{id:"mapKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(r){var{mapState:{mapStyle:n},pluginConfig:{noKeyItemText:i},pluginState:l,services:{eventBus:c}}=r,[s,p]=e(a),[u,f]=e(()=>{var e;return null!==(e=null==s?void 0:s.keyItems().items)&&void 0!==e?e:[]}),[y,d]=e(()=>{var e;return null!==(e=null==s?void 0:s.keyItems().hasGroups)&&void 0!==e&&e}),g=()=>{var{items:e,hasGroups:t}=s.keyItems(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[...A()];return 0===t.length?e:[...e.map(e=>{var r=t.findIndex(t=>t.id===e.id);if(-1===r)return e;var o=t.splice(r,1)[0];return z(z(z({},e),o),{},{keyDefinitions:[...o.keyDefinitions||[],...e.keyDefinitions||[]]})}),...t].filter(e=>{var t;return"flat"===e.type&&e.keyDefinition||"group"===e.type&&(null===(t=e.keyDefinitions)||void 0===t?void 0:t.length)})}(e);f(r),d(t)},h=e=>{s.invalidateKeyItemsOnMenuStateChange(e),g()};return t(()=>s?(g(),c.on("menu:changed",h).on("datasets:changed",g),()=>c.off("menu:changed",h).off("datasets:changed",g)):(c.requestOnce("datasets:registry",p),()=>{}),[s]),t(()=>{s&&g()},[l]),o(pe,{noKeyItemText:i,keyGroups:u,hasGroups:y,mapStyle:n})}}],buttons:[{id:"mapKey",panelId:"mapKey",label:"Key",iconId:"key",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{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:{addSymbol:(e,t)=>{var{pluginState:{dispatch:r}}=e;r({type:"ADD_KEY_SYMBOL",payload:t})},removeSymbol:(e,t)=>{var{pluginState:{dispatch:r}}=e;r({type:"REMOVE_KEY_SYMBOL",payload:t})}}};export{ge as manifest};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see im-map-key-plugin.js.LICENSE.txt */
|
|
2
|
-
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[414],{935(t,r,e){e.r(r),e.d(r,{manifest:()=>Yt});var n=e(738),o=null,i=function(t){return o=t};function a(t){return a="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},a(t)}function l(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return u(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?u(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function c(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function f(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?c(Object(e),!0).forEach(function(r){s(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):c(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function s(t,r,e){return(r=function(t){var r=function(t){if("object"!=a(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=a(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==a(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var y={},p=null,b=[],m=e(287),v=function(t){var r=t.text;return(0,m.jsx)("div",{className:"im-c-map-key",children:(0,m.jsx)("p",{className:"im-c-map-key__empty-message",children:r})})};function d(t){return d="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},d(t)}var h=function(t,r){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===d(t)){if(r&&t[r])return t[r];var e=Object.values(t)[0];return null!=e?e:null}return null};function g(t){return g="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},g(t)}function S(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function j(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?S(Object(e),!0).forEach(function(r){O(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):S(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function O(t,r,e){return(r=function(t){var r=function(t){if("object"!=g(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=g(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==g(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var w=20,P={xmlns:"http://www.w3.org/2000/svg",width:w,height:w,viewBox:"0 0 ".concat(w," ").concat(w),className:"im-c-map-key-symbol","aria-hidden":"true",focusable:"false"},k=j(j({},P),{},{width:44,height:44,className:"im-c-map-key-symbol im-c-map-key-symbol--point"}),D={"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'};function C(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var x=function(t,r,e){return t.replace(/\{\{foregroundColor\}\}/g,r||"black").replace(/\{\{backgroundColor\}\}/g,e||"transparent")};function A(t,r){if(t){if("string"==typeof t)return E(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?E(t,r):void 0}}function E(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var I=new Map,M={register:function(t,r){I.set(t,{id:t,svgContent:r})},get:function(t){return I.get(t)},list:function(){return function(t){if(Array.isArray(t))return E(t)}(t=I.values())||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||A(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},clear:function(){I.clear()},initialise:function(){var t=this;Object.entries(D).forEach(function(r){var e,n,o=(n=2,function(t){if(Array.isArray(t))return t}(e=r)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,n)||A(e,n)||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.")}()),i=o[0],a=o[1];t.register(i,a)})},getPatternInnerContent:function(t){return t.fillPatternSvgContent?t.fillPatternSvgContent:t.fillPattern&&null!==(r=null===(e=this.get(t.fillPattern))||void 0===e?void 0:e.svgContent)&&void 0!==r?r:null;var r,e},getKeyPatternPaths:function(t,r){var e=this.getPatternInnerContent(t);if(!e)return null;var n=h(t.fillPatternForegroundColor,r)||"black",o=h(t.fillPatternBackgroundColor,r)||"transparent",i=h(t.stroke,r)||n;return{border:x('<path d="M19 2.862v14.275c0 1.028-.835 1.862-1.862 1.862H2.863c-1.028 0-1.862-.835-1.862-1.862V2.862C1.001 1.834 1.836 1 2.863 1h14.275C18.166 1 19 1.835 19 2.862z" fill="{{backgroundColor}}" stroke="{{foregroundColor}}" stroke-width="2"/>',i,o),content:x(e,n,o)}},getPatternImageId:function(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=this.getPatternInnerContent(t);if(!n)return null;var o=h(t.fillPatternForegroundColor,r)||"black",i=h(t.fillPatternBackgroundColor,r)||"transparent",a=function(t){return Math.max(2,2*t)}(e);return"pattern-".concat(function(t){var r,e=0,n=function(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,r){if(t){if("string"==typeof t)return C(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?C(t,r):void 0}}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){l=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(l)throw i}}}}(t);try{for(n.s();!(r=n.n()).done;){var o=r.value;e=Math.trunc((e<<5)-e+o.codePointAt(0))}}catch(t){n.e(t)}finally{n.f()}return Math.abs(e).toString(36)}(n+o+i),"-").concat(a,"x")}};function _(t){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(t)}function L(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function T(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?L(Object(e),!0).forEach(function(r){z(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):L(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function z(t,r,e){return(r=function(t){var r=function(t){if("object"!=_(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=_(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==_(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}M.initialise();var H=function(t){var r=t.keyDefinition,e=t.mapStyle,n=r.style,o=M.getKeyPatternPaths(n,e.id);return o?(0,m.jsxs)("svg",T(T({},P),{},{children:[(0,m.jsx)("g",{dangerouslySetInnerHTML:{__html:o.border}}),(0,m.jsx)("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]})):null},V=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),K=function(t){if(!function(t){return!(!t.symbol&&!t.symbolSvgContent)}(t))return{};var r={};return V.forEach(function(e){if(null!=t[e]){var n=e.charAt(6).toLowerCase()+e.slice(7);r[n]=t[e]}}),r},B=function(t,r){var e;return t.symbolViewBox?t.symbolViewBox:null!==(e=null==r?void 0:r.viewBox)&&void 0!==e?e:"0 0 38 38"},G={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff"},N={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},U={id:"pin",viewBox:"0 0 44 44",anchor:[.5,.9],graphic:N.dot,svg:'<path d="M22 40.999c-3.621 0-8.306-5.864-10.258-8.3C9.02 29.302 6 23.66 6 19.002a16.01 16.01 0 0 1 16-16 16.01 16.01 0 0 1 16 16c0 4.658-3.02 10.3-5.742 13.697-1.952 2.437-6.637 8.3-10.258 8.3z" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M22 7.001a12.01 12.01 0 0 1 12 12c0 7.623-10.377 17.998-12 17.998S10 26.624 10 19.001a12.01 12.01 0 0 1 12-12z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},R={id:"circle",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:N.dot,svg:'<circle cx="22" cy="22" r="16" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <circle cx="22" cy="22" r="12" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},F={id:"square",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:N.dot,svg:'<path d="M13 6h18c3.863 0 7 3.137 7 7v18c0 3.863-3.137 7-7 7H13c-3.863 0-7-3.137-7-7V13c0-3.863 3.137-7 7-7" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M13 34a3 3 0 0 1-3-3V13a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H13z" fill-rule="nonzero" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},$={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",activeColor:"#ffdd00",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",activeColor:"#ffdd00",foregroundColor:"#ffffff"}},W=function(t,r,e){return new Promise(function(n,o){var i="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(t)),a=new Image(r,e);a.onload=function(){var t=document.createElement("canvas");t.width=r,t.height=e;var o=t.getContext("2d");o.drawImage(a,0,0,r,e),n(o.getImageData(0,0,r,e))},a.onerror=function(){o(new Error("Failed to rasterise SVG: ".concat(t.slice(0,80))))},a.src=i})};function Y(t){return Y="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},Y(t)}function q(){var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var u=n&&n.prototype instanceof l?n:l,c=Object.create(u.prototype);return Z(c,"_invoke",function(e,n,o){var i,l,u,c=0,f=o||[],s=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(r,e){return i=r,l=0,u=t,y.n=e,a}};function p(e,n){for(l=e,u=n,r=0;!s&&c&&!o&&r<f.length;r++){var o,i=f[r],p=y.p,b=i[2];e>3?(o=b===n)&&(u=i[(l=i[4])?5:(l=3,3)],i[4]=i[5]=t):i[0]<=p&&((o=e<2&&p<i[1])?(l=0,y.v=n,y.n=i[1]):p<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,y.n=b,l=0))}if(o||e>1)return a;throw s=!0,n}return function(o,f,b){if(c>1)throw TypeError("Generator is already running");for(s&&1===f&&p(f,b),l=f,u=b;(r=l<2?t:u)||!s;){i||(l?l<3?(l>1&&(y.n=-1),p(l,u)):y.n=u:y.v=u);try{if(c=2,i){if(l||(o="next"),r=i[o]){if(!(r=r.call(i,u)))throw TypeError("iterator result is not an object");if(!r.done)return r;u=r.value,l<2&&(l=0)}else 1===l&&(r=i.return)&&r.call(i),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);i=t}else if((r=(s=y.n<0)?u:e.call(n,y))!==a)break}catch(r){i=t,l=1,u=r}finally{c=1}}return{value:r,done:s}}}(e,o,i),!0),c}var a={};function l(){}function u(){}function c(){}r=Object.getPrototypeOf;var f=[][n]?r(r([][n]())):(Z(r={},n,function(){return this}),r),s=c.prototype=l.prototype=Object.create(f);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,c):(t.__proto__=c,Z(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return u.prototype=c,Z(s,"constructor",c),Z(c,"constructor",u),u.displayName="GeneratorFunction",Z(c,o,"GeneratorFunction"),Z(s),Z(s,o,"Generator"),Z(s,n,function(){return this}),Z(s,"toString",function(){return"[object Generator]"}),(q=function(){return{w:i,m:y}})()}function Z(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Z=function(t,r,e,n){function i(r,e){Z(t,r,function(t){return this._invoke(r,e,t)})}r?o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e:(i("next",0),i("throw",1),i("return",2))},Z(t,r,e,n)}function J(t,r,e,n,o,i,a){try{var l=t[i](a),u=l.value}catch(t){return void e(t)}l.done?r(u):Promise.resolve(u).then(n,o)}function Q(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function X(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Q(Object(e),!0).forEach(function(r){tt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Q(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function tt(t,r,e){return(r=function(t){var r=function(t){if("object"!=Y(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Y(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Y(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function rt(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(t,r)||et(t,r)||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 et(t,r){if(t){if("string"==typeof t)return nt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?nt(t,r):void 0}}function nt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var ot=new Map,it=new Map,at={},lt=function(t){var r,e=0,n=function(t){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=et(t))){r&&(t=r);var e=0,n=function(){};return{s:n,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==r.return||r.return()}finally{if(a)throw o}}}}(t);try{for(n.s();!(r=n.n()).done;){var o=r.value;e=Math.trunc((e<<5)-e+o.codePointAt(0))}}catch(t){n.e(t)}finally{n.f()}return Math.abs(e).toString(36)},ut=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]);function ct(t,r,e){var n,o,i,a,l=null==e?void 0:e.id,u=Object.fromEntries(Object.entries(t||{}).filter(function(t){var r=rt(t,1)[0];return!ut.has(r)})),c=Object.fromEntries(Object.entries(at).filter(function(t){var r=rt(t,1)[0];return!ut.has(r)})),f=Object.fromEntries(Object.entries(r).filter(function(t){return null!=rt(t,2)[1]})),s=X(X(X(X({},G),c),u),f),y=null!==(n=$[null==e?void 0:e.mapColorScheme])&&void 0!==n?n:$.light;return s.haloColor=null!==(o=null==e?void 0:e.haloColor)&&void 0!==o?o:y.haloColor,s.selectedColor=null!==(i=null==e?void 0:e.selectedColor)&&void 0!==i?i:y.selectedColor,s.activeColor=null!==(a=null==e?void 0:e.activeColor)&&void 0!==a?a:y.activeColor,"string"==typeof s.graphic&&N[s.graphic]&&(s.graphic=N[s.graphic]),Object.fromEntries(Object.entries(s).map(function(t){var r=rt(t,2),e=r[0],n=r[1];return[e,h(n,l)||""]}))}function ft(t,r){return Object.entries(r).reduce(function(t,r){var e=rt(r,2),n=e[0],o=e[1];return t.replaceAll("{{".concat(n,"}}"),o)},t)}var st={setDefaults:function(t){at=t||{}},getDefaults:function(){return X(X({},G),at)},register:function(t){ot.set(t.id,t)},get:function(t){return ot.get(t)},list:function(){return function(t){if(Array.isArray(t))return nt(t)}(t=ot.values())||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||et(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},clear:function(){ot.clear()},initialise:function(){this.register(U),this.register(R),this.register(F)},resolve:function(t,r,e){var n=ct(t,r||{},e);return t?(n.selectedColor="none",n.activeColor="none",ft(t.svg,n)):""},resolveActive:function(t,r,e){var n=ct(t,r||{},e);return t?ft(t.svg,n):""},resolveSelected:function(t,r,e){var n=ct(t,r||{},e);return t?(n.activeColor="none",ft(t.svg,n)):""},getSymbolImageId:function(t,r){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,o=this.getSymbolDef(t);if(!o)return null;var i=K(t),a=e?this.resolveActive(o,i,r):this.resolve(o,i,r);return"symbol-".concat(e?"act-":"").concat(lt(a),"-").concat(n,"x")},getSymbolDef:function(t){return t.symbolSvgContent?{svg:t.symbolSvgContent}:t.symbol?this.get(t.symbol):void 0},rasteriseSymbolImage:function(t,r,e,n){var o,i=this;return(o=q().m(function o(){var a,l,u,c,f,s,y,p,b,m,v,d;return q().w(function(o){for(;;)switch(o.n){case 0:if(a=i.getSymbolDef(t)){o.n=1;break}return o.a(2,null);case 1:if(l=K(t),"active"===e?(u=i.resolveActive(a,l,r),c="act-"):"selected"===e?(u=i.resolveSelected(a,l,r),c="sel-"):(u=i.resolve(a,l,r),c=""),f="symbol-".concat(c).concat(lt(u),"-").concat(n,"x"),s=it.get(f)){o.n=3;break}return y=B(t,a),p=y.split(" ").map(Number),b=rt(p,4),m=b[2],v=b[3],d='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(m*n,'" height="').concat(v*n,'" viewBox="').concat(y,'">').concat(u,"</svg>"),o.n=2,W(d,m*n,v*n);case 2:s=o.v,it.set(f,s);case 3:return o.a(2,{imageId:f,imageData:s})}},o)}),function(){var t=this,r=arguments;return new Promise(function(e,n){var i=o.apply(t,r);function a(t){J(i,e,n,a,l,"next",t)}function l(t){J(i,e,n,a,l,"throw",t)}a(void 0)})})()}};function yt(t){return yt="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},yt(t)}function pt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function bt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?pt(Object(e),!0).forEach(function(r){mt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):pt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function mt(t,r,e){return(r=function(t){var r=function(t){if("object"!=yt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=yt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==yt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}st.initialise();var vt=function(t){var r,e=t.keyDefinition,n=t.mapStyle,o=t.symbolDef,i=e.style,a=null!==(r=null==n?void 0:n.appColorScheme)&&void 0!==r?r:"light",l=bt(bt({},n),{},{mapColorScheme:a}),u=st.resolve(o,K(i),l),c=B(i,o);return u&&c?(0,m.jsx)("svg",bt(bt({},k),{},{viewBox:c,children:(0,m.jsx)("g",{dangerouslySetInnerHTML:{__html:u}})})):null};function dt(t){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dt(t)}function ht(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function gt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?ht(Object(e),!0).forEach(function(r){St(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):ht(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function St(t,r,e){return(r=function(t){var r=function(t){if("object"!=dt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=dt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==dt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var jt=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=e.strokeWidth,o=h(e.stroke,r.id);return(0,m.jsx)("svg",gt(gt({},P),{},{children:(0,m.jsx)("line",{x1:n/2,y1:10,x2:w-n/2,y2:10,stroke:o,strokeWidth:n,strokeLinecap:"round"})}))};function Ot(t){return Ot="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},Ot(t)}function wt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Pt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?wt(Object(e),!0).forEach(function(r){kt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):wt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function kt(t,r,e){return(r=function(t){var r=function(t){if("object"!=Ot(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Ot(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Ot(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var Dt=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=e.strokeWidth,o=h(e.fill,r.id),i=h(e.stroke,r.id);return(0,m.jsx)("svg",Pt(Pt({},P),{},{children:(0,m.jsx)("rect",{x:n/2,y:n/2,width:w-n,height:w-n,rx:n,ry:n,fill:o,stroke:i,strokeWidth:n,strokeLinejoin:"round"})}))},Ct=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=h(e.fill,r.id),o=h(e.fill,r.id);return(0,m.jsx)("svg",{viewBox:"0 0 5 5",preserveAspectRatio:"none",fill:n,stroke:o,strokeWidth:"1",children:(0,m.jsx)("path",{d:"M0 0h5v5H0z"})})},xt="horizontal-ramp",At=function(t){var r=t.keyDefinition,e=t.groupStyle,n=t.mapStyle,o=function(t,r){if(!t)return{symbolShape:null,symbolDef:null};var e=t.hasSymbol,n=t.hasPattern,o=t.style;if(r===xt)return{symbolShape:xt,symbolDef:null};if(e){var i=st.getSymbolDef(o);return{symbolShape:i?"symbol":"rect",symbolDef:i}}return n?{symbolShape:"pattern",symbolDef:null}:"line"===o.keySymbolShape?{symbolShape:"line",symbolDef:null}:{symbolShape:"rect",symbolDef:null}}(r,e),i=o.symbolShape,a=o.symbolDef;return i?"symbol"===i?(0,m.jsx)(vt,{mapStyle:n,keyDefinition:r,symbolDef:a}):"pattern"===i?(0,m.jsx)(H,{mapStyle:n,keyDefinition:r}):"line"===i?(0,m.jsx)(jt,{mapStyle:n,keyDefinition:r}):i===xt?(0,m.jsx)(Ct,{mapStyle:n,keyDefinition:r}):(0,m.jsx)(Dt,{mapStyle:n,keyDefinition:r}):null},Et=function(t){var r=t.keyDefinition,e=t.groupStyle,n=t.mapStyle,o=r.label,i=h(r.symbolDescription,n.id);return(0,m.jsxs)("div",{className:"im-c-map-key-list__item",children:[(0,m.jsx)("dt",{className:"im-c-map-key-list__item-symbol",children:(0,m.jsx)(At,{keyDefinition:r,groupStyle:e,mapStyle:n})}),(0,m.jsxs)("dd",{className:"im-c-map-key-list__item-label",children:[o,i&&(0,m.jsxs)("span",{className:"govuk-visually-hidden",children:["(",i,")"]})]})]})},It=function(t){var r=t.headingId,e=t.label,n=t.groupStyle,o=t.keyDefinitions,i=t.mapStyle,a="im-c-map-key-list"+(n?" im-c-map-key-list-".concat(n):"");return(0,m.jsxs)("section",{className:"im-c-map-key__group","aria-labelledby":r,children:[(0,m.jsx)("h3",{id:r,className:"im-c-map-key__group-heading",children:e}),(0,m.jsx)("dl",{className:a,children:o.map(function(t){return(0,m.jsx)(Et,{keyDefinition:t,mapStyle:i,groupStyle:n},"".concat(t.id))})})]})},Mt="im-c-map-key",_t=function(t){var r=t.item,e=t.groupStyle,n=t.mapStyle;return"group"===r.type?(0,m.jsx)(It,{headingId:"key-heading-".concat(r.id),label:r.groupLabel,groupStyle:e,keyDefinitions:r.keyDefinitions,mapStyle:n}):(0,m.jsx)(Et,{keyDefinition:r.keyDefinition,mapStyle:n})},Lt=function(t){var r=t.noKeyItemText,e=t.keyGroups,n=t.hasGroups,o=t.mapStyle;if(null==e||!e.length)return(0,m.jsx)(v,{text:r});var i=n?"".concat(Mt," ").concat("im-c-map-key--has-groups"):Mt;return(0,m.jsx)("div",{className:i,children:e.map(function(t){return(0,m.jsx)(_t,{item:t,mapStyle:o,groupStyle:t.groupStyle},t.id)})})};function Tt(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(t,r)||function(t,r){if(t){if("string"==typeof t)return zt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?zt(t,r):void 0}}(t,r)||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 zt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function Ht(t){return Ht="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},Ht(t)}function Vt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Kt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Vt(Object(e),!0).forEach(function(r){Bt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Vt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function Bt(t,r,e){return(r=function(t){var r=function(t){if("object"!=Ht(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Ht(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Ht(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function Gt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function Nt(t){return Nt="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},Nt(t)}function Ut(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Rt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Ut(Object(e),!0).forEach(function(r){Ft(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ut(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function Ft(t,r,e){return(r=function(t){var r=function(t){if("object"!=Nt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Nt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Nt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function $t(t){return function(t){if(Array.isArray(t))return Wt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return Wt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Wt(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var Yt={InitComponent:function(t){var r=t.pluginConfig,e=t.pluginState,o=t.mapState,a=t.services,l=e.dispatch,u=a.eventBus,c=(0,n.useRef)(e);c.current=e,(0,n.useEffect)(function(){o.isMapReady&&(function(t){y=t}(c),u.requestOnce("datasets:registry",i))},[o.isMapReady]),(0,n.useEffect)(function(){if(r.groups){var t=Object.entries(r.groups).map(function(t){var r,e,n=(e=2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(r,e)||function(t,r){if(t){if("string"==typeof t)return Gt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Gt(t,r):void 0}}(r,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.")}()),o=n[0],i=n[1];return Kt(Kt({},i),{},{id:o,label:i.groupLabel})});l({type:"ADD_KEY_GROUPS",payload:t})}},[r.groups])},reducer:{initialState:{keyDefinitions:[],groups:[]},actions:{ADD_KEY_ITEM:function(t,r){var e,n=r.id,o=r.groupLabel,i=r.groupId||((e=o)?e.toLowerCase().replace(/\s+/g,"-"):null),a=function(t,r,e){return t.groups.find(function(t){return"group"===t.type&&t.id===e||"flat"===t.type&&t.id===r})}(t,n,i),l=a?null:function(t,r,e){return r?{id:r,type:"group",groupLabel:e}:{id:t,type:"flat"}}(n,i,o),u=l?[].concat($t(t.groups),[l]):t.groups,c=[].concat($t(t.keyDefinitions),[Rt(Rt({},r),{},{type:"manual"},i?{groupId:i}:{})]);return Rt(Rt({},t),{},{keyDefinitions:c,groups:u})},REMOVE_KEY_ITEM:function(t,r){var e=r.id;return Rt(Rt({},t),{},{keyDefinitions:t.keyDefinitions.filter(function(t){return t.id!==e})})},ADD_KEY_GROUPS:function(t,r){return Rt(Rt({},t),{},{groups:[].concat($t(t.groups),$t(r))})}}},panels:[{id:"mapKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(t){var r=t.mapState.mapStyle,e=t.pluginConfig.noKeyItemText,i=t.pluginState,a=t.services.eventBus,u=Tt((0,n.useState)(o),2),c=u[0],s=u[1],v=Tt((0,n.useState)(function(){var t;return null!==(t=null==c?void 0:c.keyItems().items)&&void 0!==t?t:[]}),2),d=v[0],h=v[1],g=Tt((0,n.useState)(function(){var t;return null!==(t=null==c?void 0:c.keyItems().hasGroups)&&void 0!==t&&t}),2),S=g[0],j=g[1],O=function(){var t=c.keyItems(),r=t.items,e=t.hasGroups,n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=l(function(){var t;if(null===(t=y)||void 0===t||!t.current)return[];if(p===y.current)return b;p=y.current;var r=y.current,e=r.groups,n=void 0===e?[]:e,o=r.keyDefinitions,i=void 0===o?[]:o;return b=n.map(function(t){return"flat"===t.type?f(f({},t),{},{keyDefinition:i.find(function(r){return r.id===t.id})}):f(f({},t),{},{keyDefinitions:i.filter(function(r){return r.groupId===t.id})})})}());if(0===r.length)return t;var e=t.map(function(t){var e=r.findIndex(function(r){return r.id===t.id});if(-1===e)return t;var n=r.splice(e,1)[0];return f(f(f({},t),n),{},{keyDefinitions:[].concat(l(n.keyDefinitions||[]),l(t.keyDefinitions||[]))})});return[].concat(l(e),l(r)).filter(function(t){var r;return"flat"===t.type&&t.keyDefinition||"group"===t.type&&(null===(r=t.keyDefinitions)||void 0===r?void 0:r.length)})}(r);h(n),j(e)},w=function(t){c.invalidateKeyItemsOnMenuStateChange(t),O()};return(0,n.useEffect)(function(){return c?(O(),a.on("menu:changed",w).on("datasets:changed",O),function(){return a.off("menu:changed",w).off("datasets:changed",O)}):(a.requestOnce("datasets:registry",s),function(){})},[c]),(0,n.useEffect)(function(){c&&O()},[i]),(0,m.jsx)(Lt,{noKeyItemText:e,keyGroups:d,hasGroups:S,mapStyle:r})}}],buttons:[{id:"mapKey",panelId:"mapKey",label:"Key",iconId:"key",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{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:{addKeyItem:function(t,r){(0,t.pluginState.dispatch)({type:"ADD_KEY_ITEM",payload:r})},removeKeyItem:function(t,r){(0,t.pluginState.dispatch)({type:"REMOVE_KEY_ITEM",payload:r})}}}}}]);
|
|
2
|
+
"use strict";(this.webpackChunkdefra_DefraMap=this.webpackChunkdefra_DefraMap||[]).push([[414],{64(t,r,e){e.r(r),e.d(r,{manifest:()=>Wt});var n=e(738),o=null,i=function(t){return o=t};function a(t){return a="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},a(t)}function l(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return u(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?u(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function c(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function f(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?c(Object(e),!0).forEach(function(r){s(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):c(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function s(t,r,e){return(r=function(t){var r=function(t){if("object"!=a(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=a(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==a(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var y={},p=null,b=[],m=e(287),v=function(t){var r=t.text;return(0,m.jsx)("div",{className:"im-c-map-key",children:(0,m.jsx)("p",{className:"im-c-map-key__empty-message",children:r})})};function d(t){return d="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},d(t)}var h=function(t,r){if(!t)return null;if("string"==typeof t)return t.trim();if("object"===d(t)){if(r&&t[r])return t[r];var e=Object.values(t)[0];return null!=e?e:null}return null};function g(t){return g="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},g(t)}function S(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function O(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?S(Object(e),!0).forEach(function(r){j(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):S(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function j(t,r,e){return(r=function(t){var r=function(t){if("object"!=g(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=g(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==g(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var w=20,P={xmlns:"http://www.w3.org/2000/svg",width:w,height:w,viewBox:"0 0 ".concat(w," ").concat(w),className:"im-c-map-key-symbol","aria-hidden":"true",focusable:"false"},k=O(O({},P),{},{width:44,height:44,className:"im-c-map-key-symbol im-c-map-key-symbol--point"}),D={"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'};function C(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var x=function(t,r,e){return t.replace(/\{\{foregroundColor\}\}/g,r||"black").replace(/\{\{backgroundColor\}\}/g,e||"transparent")};function A(t,r){if(t){if("string"==typeof t)return E(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?E(t,r):void 0}}function E(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var I=new Map,M={register:function(t,r){I.set(t,{id:t,svgContent:r})},get:function(t){return I.get(t)},list:function(){return function(t){if(Array.isArray(t))return E(t)}(t=I.values())||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||A(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},clear:function(){I.clear()},initialise:function(){var t=this;Object.entries(D).forEach(function(r){var e,n,o=(n=2,function(t){if(Array.isArray(t))return t}(e=r)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(e,n)||A(e,n)||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.")}()),i=o[0],a=o[1];t.register(i,a)})},getPatternInnerContent:function(t){return t.fillPatternSvgContent?t.fillPatternSvgContent:t.fillPattern&&null!==(r=null===(e=this.get(t.fillPattern))||void 0===e?void 0:e.svgContent)&&void 0!==r?r:null;var r,e},getKeyPatternPaths:function(t,r){var e=this.getPatternInnerContent(t);if(!e)return null;var n=h(t.fillPatternForegroundColor,r)||"black",o=h(t.fillPatternBackgroundColor,r)||"transparent",i=h(t.stroke,r)||n;return{border:x('<path d="M19 2.862v14.275c0 1.028-.835 1.862-1.862 1.862H2.863c-1.028 0-1.862-.835-1.862-1.862V2.862C1.001 1.834 1.836 1 2.863 1h14.275C18.166 1 19 1.835 19 2.862z" fill="{{backgroundColor}}" stroke="{{foregroundColor}}" stroke-width="2"/>',i,o),content:x(e,n,o)}},getPatternImageId:function(t,r){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=this.getPatternInnerContent(t);if(!n)return null;var o=h(t.fillPatternForegroundColor,r)||"black",i=h(t.fillPatternBackgroundColor,r)||"transparent",a=function(t){return Math.max(2,2*t)}(e);return"pattern-".concat(function(t){var r,e=0,n=function(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=function(t,r){if(t){if("string"==typeof t)return C(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?C(t,r):void 0}}(t))||r&&t&&"number"==typeof t.length){e&&(t=e);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){l=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(l)throw i}}}}(t);try{for(n.s();!(r=n.n()).done;){var o=r.value;e=Math.trunc((e<<5)-e+o.codePointAt(0))}}catch(t){n.e(t)}finally{n.f()}return Math.abs(e).toString(36)}(n+o+i),"-").concat(a,"x")}};function L(t){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},L(t)}function _(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function T(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?_(Object(e),!0).forEach(function(r){z(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):_(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function z(t,r,e){return(r=function(t){var r=function(t){if("object"!=L(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=L(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==L(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}M.initialise();var H=function(t){var r=t.keyDefinition,e=t.mapStyle,n=r.style,o=M.getKeyPatternPaths(n,e.id);return o?(0,m.jsxs)("svg",T(T({},P),{},{children:[(0,m.jsx)("g",{dangerouslySetInnerHTML:{__html:o.border}}),(0,m.jsx)("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:o.content}})]})):null},V=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),B=function(t){if(!function(t){return!(!t.symbol&&!t.symbolSvgContent)}(t))return{};var r={};return V.forEach(function(e){if(null!=t[e]){var n=e.charAt(6).toLowerCase()+e.slice(7);r[n]=t[e]}}),r},K=function(t,r){var e;return t.symbolViewBox?t.symbolViewBox:null!==(e=null==r?void 0:r.viewBox)&&void 0!==e?e:"0 0 38 38"},G={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff"},N={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},U={id:"pin",viewBox:"0 0 44 44",anchor:[.5,.9],graphic:N.dot,svg:'<path d="M22 40.999c-3.621 0-8.306-5.864-10.258-8.3C9.02 29.302 6 23.66 6 19.002a16.01 16.01 0 0 1 16-16 16.01 16.01 0 0 1 16 16c0 4.658-3.02 10.3-5.742 13.697-1.952 2.437-6.637 8.3-10.258 8.3z" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M22 7.001a12.01 12.01 0 0 1 12 12c0 7.623-10.377 17.998-12 17.998S10 26.624 10 19.001a12.01 12.01 0 0 1 12-12z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},Y={id:"circle",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:N.dot,svg:'<circle cx="22" cy="22" r="16" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <circle cx="22" cy="22" r="12" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},R={id:"square",viewBox:"0 0 44 44",anchor:[.5,.5],graphic:N.dot,svg:'<path d="M13 6h18c3.863 0 7 3.137 7 7v18c0 3.863-3.137 7-7 7H13c-3.863 0-7-3.137-7-7V13c0-3.863 3.137-7 7-7" fill="{{selectedColor}}" stroke="{{activeColor}}" stroke-width="6" paint-order="stroke fill"/>\n <path d="M13 34a3 3 0 0 1-3-3V13a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H13z" fill-rule="nonzero" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="2" paint-order="stroke fill"/>\n <g transform="translate(22, 22) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},F={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",activeColor:"#ffdd00",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",activeColor:"#ffdd00",foregroundColor:"#ffffff"}},$=function(t,r,e){return new Promise(function(n,o){var i="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(t)),a=new Image(r,e);a.onload=function(){var t=document.createElement("canvas");t.width=r,t.height=e;var o=t.getContext("2d");o.drawImage(a,0,0,r,e),n(o.getImageData(0,0,r,e))},a.onerror=function(){o(new Error("Failed to rasterise SVG: ".concat(t.slice(0,80))))},a.src=i})};function W(t){return W="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},W(t)}function q(){var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var u=n&&n.prototype instanceof l?n:l,c=Object.create(u.prototype);return Z(c,"_invoke",function(e,n,o){var i,l,u,c=0,f=o||[],s=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(r,e){return i=r,l=0,u=t,y.n=e,a}};function p(e,n){for(l=e,u=n,r=0;!s&&c&&!o&&r<f.length;r++){var o,i=f[r],p=y.p,b=i[2];e>3?(o=b===n)&&(u=i[(l=i[4])?5:(l=3,3)],i[4]=i[5]=t):i[0]<=p&&((o=e<2&&p<i[1])?(l=0,y.v=n,y.n=i[1]):p<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,y.n=b,l=0))}if(o||e>1)return a;throw s=!0,n}return function(o,f,b){if(c>1)throw TypeError("Generator is already running");for(s&&1===f&&p(f,b),l=f,u=b;(r=l<2?t:u)||!s;){i||(l?l<3?(l>1&&(y.n=-1),p(l,u)):y.n=u:y.v=u);try{if(c=2,i){if(l||(o="next"),r=i[o]){if(!(r=r.call(i,u)))throw TypeError("iterator result is not an object");if(!r.done)return r;u=r.value,l<2&&(l=0)}else 1===l&&(r=i.return)&&r.call(i),l<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),l=1);i=t}else if((r=(s=y.n<0)?u:e.call(n,y))!==a)break}catch(r){i=t,l=1,u=r}finally{c=1}}return{value:r,done:s}}}(e,o,i),!0),c}var a={};function l(){}function u(){}function c(){}r=Object.getPrototypeOf;var f=[][n]?r(r([][n]())):(Z(r={},n,function(){return this}),r),s=c.prototype=l.prototype=Object.create(f);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,c):(t.__proto__=c,Z(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return u.prototype=c,Z(s,"constructor",c),Z(c,"constructor",u),u.displayName="GeneratorFunction",Z(c,o,"GeneratorFunction"),Z(s),Z(s,o,"Generator"),Z(s,n,function(){return this}),Z(s,"toString",function(){return"[object Generator]"}),(q=function(){return{w:i,m:y}})()}function Z(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}Z=function(t,r,e,n){function i(r,e){Z(t,r,function(t){return this._invoke(r,e,t)})}r?o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e:(i("next",0),i("throw",1),i("return",2))},Z(t,r,e,n)}function J(t,r,e,n,o,i,a){try{var l=t[i](a),u=l.value}catch(t){return void e(t)}l.done?r(u):Promise.resolve(u).then(n,o)}function Q(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function X(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Q(Object(e),!0).forEach(function(r){tt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Q(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function tt(t,r,e){return(r=function(t){var r=function(t){if("object"!=W(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=W(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==W(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function rt(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(t,r)||et(t,r)||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 et(t,r){if(t){if("string"==typeof t)return nt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?nt(t,r):void 0}}function nt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var ot=new Map,it=new Map,at={},lt=function(t){var r,e=0,n=function(t){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=et(t))){r&&(t=r);var e=0,n=function(){};return{s:n,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,a=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){a=!0,o=t},f:function(){try{i||null==r.return||r.return()}finally{if(a)throw o}}}}(t);try{for(n.s();!(r=n.n()).done;){var o=r.value;e=Math.trunc((e<<5)-e+o.codePointAt(0))}}catch(t){n.e(t)}finally{n.f()}return Math.abs(e).toString(36)},ut=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]);function ct(t,r,e){var n,o,i,a,l=null==e?void 0:e.id,u=Object.fromEntries(Object.entries(t||{}).filter(function(t){var r=rt(t,1)[0];return!ut.has(r)})),c=Object.fromEntries(Object.entries(at).filter(function(t){var r=rt(t,1)[0];return!ut.has(r)})),f=Object.fromEntries(Object.entries(r).filter(function(t){return null!=rt(t,2)[1]})),s=X(X(X(X({},G),c),u),f),y=null!==(n=F[null==e?void 0:e.mapColorScheme])&&void 0!==n?n:F.light;return s.haloColor=null!==(o=null==e?void 0:e.haloColor)&&void 0!==o?o:y.haloColor,s.selectedColor=null!==(i=null==e?void 0:e.selectedColor)&&void 0!==i?i:y.selectedColor,s.activeColor=null!==(a=null==e?void 0:e.activeColor)&&void 0!==a?a:y.activeColor,"string"==typeof s.graphic&&N[s.graphic]&&(s.graphic=N[s.graphic]),Object.fromEntries(Object.entries(s).map(function(t){var r=rt(t,2),e=r[0],n=r[1];return[e,h(n,l)||""]}))}function ft(t,r){return Object.entries(r).reduce(function(t,r){var e=rt(r,2),n=e[0],o=e[1];return t.replaceAll("{{".concat(n,"}}"),o)},t)}var st={setDefaults:function(t){at=t||{}},getDefaults:function(){return X(X({},G),at)},register:function(t){ot.set(t.id,t)},get:function(t){return ot.get(t)},list:function(){return function(t){if(Array.isArray(t))return nt(t)}(t=ot.values())||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||et(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();var t},clear:function(){ot.clear()},initialise:function(){this.register(U),this.register(Y),this.register(R)},resolve:function(t,r,e){var n=ct(t,r||{},e);return t?(n.selectedColor="none",n.activeColor="none",ft(t.svg,n)):""},resolveActive:function(t,r,e){var n=ct(t,r||{},e);return t?ft(t.svg,n):""},resolveSelected:function(t,r,e){var n=ct(t,r||{},e);return t?(n.activeColor="none",ft(t.svg,n)):""},getSymbolImageId:function(t,r){var e=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2,o=this.getSymbolDef(t);if(!o)return null;var i=B(t),a=e?this.resolveActive(o,i,r):this.resolve(o,i,r);return"symbol-".concat(e?"act-":"").concat(lt(a),"-").concat(n,"x")},getSymbolDef:function(t){return t.symbolSvgContent?{svg:t.symbolSvgContent}:t.symbol?this.get(t.symbol):void 0},rasteriseSymbolImage:function(t,r,e,n){var o,i=this;return(o=q().m(function o(){var a,l,u,c,f,s,y,p,b,m,v,d;return q().w(function(o){for(;;)switch(o.n){case 0:if(a=i.getSymbolDef(t)){o.n=1;break}return o.a(2,null);case 1:if(l=B(t),"active"===e?(u=i.resolveActive(a,l,r),c="act-"):"selected"===e?(u=i.resolveSelected(a,l,r),c="sel-"):(u=i.resolve(a,l,r),c=""),f="symbol-".concat(c).concat(lt(u),"-").concat(n,"x"),s=it.get(f)){o.n=3;break}return y=K(t,a),p=y.split(" ").map(Number),b=rt(p,4),m=b[2],v=b[3],d='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(m*n,'" height="').concat(v*n,'" viewBox="').concat(y,'">').concat(u,"</svg>"),o.n=2,$(d,m*n,v*n);case 2:s=o.v,it.set(f,s);case 3:return o.a(2,{imageId:f,imageData:s})}},o)}),function(){var t=this,r=arguments;return new Promise(function(e,n){var i=o.apply(t,r);function a(t){J(i,e,n,a,l,"next",t)}function l(t){J(i,e,n,a,l,"throw",t)}a(void 0)})})()}};function yt(t){return yt="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},yt(t)}function pt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function bt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?pt(Object(e),!0).forEach(function(r){mt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):pt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function mt(t,r,e){return(r=function(t){var r=function(t){if("object"!=yt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=yt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==yt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}st.initialise();var vt=function(t){var r,e=t.keyDefinition,n=t.mapStyle,o=t.symbolDef,i=e.style,a=null!==(r=null==n?void 0:n.appColorScheme)&&void 0!==r?r:"light",l=bt(bt({},n),{},{mapColorScheme:a}),u=st.resolve(o,B(i),l),c=K(i,o);return u&&c?(0,m.jsx)("svg",bt(bt({},k),{},{viewBox:c,children:(0,m.jsx)("g",{dangerouslySetInnerHTML:{__html:u}})})):null};function dt(t){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dt(t)}function ht(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function gt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?ht(Object(e),!0).forEach(function(r){St(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):ht(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function St(t,r,e){return(r=function(t){var r=function(t){if("object"!=dt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=dt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==dt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var Ot=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=e.strokeWidth,o=h(e.stroke,r.id);return(0,m.jsx)("svg",gt(gt({},P),{},{children:(0,m.jsx)("line",{x1:n/2,y1:10,x2:w-n/2,y2:10,stroke:o,strokeWidth:n,strokeLinecap:"round"})}))};function jt(t){return jt="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},jt(t)}function wt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Pt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?wt(Object(e),!0).forEach(function(r){kt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):wt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function kt(t,r,e){return(r=function(t){var r=function(t){if("object"!=jt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=jt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==jt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var Dt=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=e.strokeWidth,o=h(e.fill,r.id),i=h(e.stroke,r.id);return(0,m.jsx)("svg",Pt(Pt({},P),{},{children:(0,m.jsx)("rect",{x:n/2,y:n/2,width:w-n,height:w-n,rx:n,ry:n,fill:o,stroke:i,strokeWidth:n,strokeLinejoin:"round"})}))},Ct=function(t){var r=t.mapStyle,e=t.keyDefinition.style,n=h(e.fill,r.id),o=h(e.fill,r.id);return(0,m.jsx)("svg",{viewBox:"0 0 5 5",preserveAspectRatio:"none",fill:n,stroke:o,strokeWidth:"1",children:(0,m.jsx)("path",{d:"M0 0h5v5H0z"})})},xt="horizontal-ramp",At=function(t){var r=t.keyDefinition,e=t.groupStyle,n=t.mapStyle,o=function(t,r){if(!t)return{symbolShape:null,symbolDef:null};var e=t.hasSymbol,n=t.hasPattern,o=t.style;if(r===xt)return{symbolShape:xt,symbolDef:null};if(e){var i=st.getSymbolDef(o);return{symbolShape:i?"symbol":"rect",symbolDef:i}}return n?{symbolShape:"pattern",symbolDef:null}:"line"===o.keySymbolShape?{symbolShape:"line",symbolDef:null}:{symbolShape:"rect",symbolDef:null}}(r,e),i=o.symbolShape,a=o.symbolDef;return i?"symbol"===i?(0,m.jsx)(vt,{mapStyle:n,keyDefinition:r,symbolDef:a}):"pattern"===i?(0,m.jsx)(H,{mapStyle:n,keyDefinition:r}):"line"===i?(0,m.jsx)(Ot,{mapStyle:n,keyDefinition:r}):i===xt?(0,m.jsx)(Ct,{mapStyle:n,keyDefinition:r}):(0,m.jsx)(Dt,{mapStyle:n,keyDefinition:r}):null},Et=function(t){var r=t.keyDefinition,e=t.groupStyle,n=t.mapStyle,o=r.label,i=h(r.symbolDescription,n.id);return(0,m.jsxs)("div",{className:"im-c-map-key-list__item",children:[(0,m.jsx)("dt",{className:"im-c-map-key-list__item-symbol",children:(0,m.jsx)(At,{keyDefinition:r,groupStyle:e,mapStyle:n})}),(0,m.jsxs)("dd",{className:"im-c-map-key-list__item-label",children:[o,i&&(0,m.jsxs)("span",{className:"govuk-visually-hidden",children:["(",i,")"]})]})]})},It=function(t){var r=t.headingId,e=t.label,n=t.groupStyle,o=t.keyDefinitions,i=t.mapStyle,a="im-c-map-key-list"+(n?" im-c-map-key-list-".concat(n):"");return(0,m.jsxs)("section",{className:"im-c-map-key__group","aria-labelledby":r,children:[(0,m.jsx)("h3",{id:r,className:"im-c-map-key__group-heading",children:e}),(0,m.jsx)("dl",{className:a,children:o.map(function(t){return(0,m.jsx)(Et,{keyDefinition:t,mapStyle:i,groupStyle:n},"".concat(t.id))})})]})},Mt="im-c-map-key",Lt=function(t){var r=t.item,e=t.groupStyle,n=t.mapStyle;return"group"===r.type?(0,m.jsx)(It,{headingId:"key-heading-".concat(r.id),label:r.groupLabel,groupStyle:e,keyDefinitions:r.keyDefinitions,mapStyle:n}):(0,m.jsx)(Et,{keyDefinition:r.keyDefinition,mapStyle:n})},_t=function(t){var r=t.noKeyItemText,e=t.keyGroups,n=t.hasGroups,o=t.mapStyle;if(null==e||!e.length)return(0,m.jsx)(v,{text:r});var i=n?"".concat(Mt," ").concat("im-c-map-key--has-groups"):Mt;return(0,m.jsx)("div",{className:i,children:e.map(function(t){return(0,m.jsx)(Lt,{item:t,mapStyle:o,groupStyle:t.groupStyle},t.id)})})};function Tt(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(t,r)||function(t,r){if(t){if("string"==typeof t)return zt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?zt(t,r):void 0}}(t,r)||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 zt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function Ht(t){return Ht="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},Ht(t)}function Vt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Bt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Vt(Object(e),!0).forEach(function(r){Kt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Vt(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function Kt(t,r,e){return(r=function(t){var r=function(t){if("object"!=Ht(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Ht(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Ht(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function Gt(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function Nt(t){return Nt="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},Nt(t)}function Ut(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),e.push.apply(e,n)}return e}function Yt(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?Ut(Object(e),!0).forEach(function(r){Rt(t,r,e[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ut(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})}return t}function Rt(t,r,e){return(r=function(t){var r=function(t){if("object"!=Nt(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=Nt(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==Nt(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function Ft(t){return function(t){if(Array.isArray(t))return $t(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(t){if("string"==typeof t)return $t(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?$t(t,r):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}var Wt={InitComponent:function(t){var r=t.pluginConfig,e=t.pluginState,o=t.mapState,a=t.services,l=e.dispatch,u=a.eventBus,c=(0,n.useRef)(e);c.current=e,(0,n.useEffect)(function(){o.isMapReady&&(function(t){y=t}(c),u.requestOnce("datasets:registry",i),u.emit("map-key:ready"))},[o.isMapReady]),(0,n.useEffect)(function(){if(r.groups){var t=Object.entries(r.groups).map(function(t){var r,e,n=(e=2,function(t){if(Array.isArray(t))return t}(r=t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,l=[],u=!0,c=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(l.push(n.value),l.length!==r);u=!0);}catch(t){c=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw o}}return l}}(r,e)||function(t,r){if(t){if("string"==typeof t)return Gt(t,r);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?Gt(t,r):void 0}}(r,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.")}()),o=n[0],i=n[1];return Bt(Bt({},i),{},{id:o,label:i.groupLabel})});l({type:"ADD_KEY_GROUPS",payload:t})}},[r.groups])},reducer:{initialState:{keyDefinitions:[],groups:[]},actions:{ADD_KEY_SYMBOL:function(t,r){var e,n=r.id,o=r.groupLabel,i=r.groupId||((e=o)?e.toLowerCase().replace(/\s+/g,"-"):null),a=function(t,r,e){return t.groups.find(function(t){return"group"===t.type&&t.id===e||"flat"===t.type&&t.id===r})}(t,n,i),l=a?null:function(t,r,e){return r?{id:r,type:"group",groupLabel:e}:{id:t,type:"flat"}}(n,i,o),u=l?[].concat(Ft(t.groups),[l]):t.groups,c=[].concat(Ft(t.keyDefinitions),[Yt(Yt({},r),{},{type:"manual"},i?{groupId:i}:{})]);return Yt(Yt({},t),{},{keyDefinitions:c,groups:u})},REMOVE_KEY_SYMBOL:function(t,r){var e=r.id;return Yt(Yt({},t),{},{keyDefinitions:t.keyDefinitions.filter(function(t){return t.id!==e})})},ADD_KEY_GROUPS:function(t,r){return Yt(Yt({},t),{},{groups:[].concat(Ft(t.groups),Ft(r))})}}},panels:[{id:"mapKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:function(t){var r=t.mapState.mapStyle,e=t.pluginConfig.noKeyItemText,i=t.pluginState,a=t.services.eventBus,u=Tt((0,n.useState)(o),2),c=u[0],s=u[1],v=Tt((0,n.useState)(function(){var t;return null!==(t=null==c?void 0:c.keyItems().items)&&void 0!==t?t:[]}),2),d=v[0],h=v[1],g=Tt((0,n.useState)(function(){var t;return null!==(t=null==c?void 0:c.keyItems().hasGroups)&&void 0!==t&&t}),2),S=g[0],O=g[1],j=function(){var t=c.keyItems(),r=t.items,e=t.hasGroups,n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=l(function(){var t;if(null===(t=y)||void 0===t||!t.current)return[];if(p===y.current)return b;p=y.current;var r=y.current,e=r.groups,n=void 0===e?[]:e,o=r.keyDefinitions,i=void 0===o?[]:o;return b=n.map(function(t){return"flat"===t.type?f(f({},t),{},{keyDefinition:i.find(function(r){return r.id===t.id})}):f(f({},t),{},{keyDefinitions:i.filter(function(r){return r.groupId===t.id})})})}());if(0===r.length)return t;var e=t.map(function(t){var e=r.findIndex(function(r){return r.id===t.id});if(-1===e)return t;var n=r.splice(e,1)[0];return f(f(f({},t),n),{},{keyDefinitions:[].concat(l(n.keyDefinitions||[]),l(t.keyDefinitions||[]))})});return[].concat(l(e),l(r)).filter(function(t){var r;return"flat"===t.type&&t.keyDefinition||"group"===t.type&&(null===(r=t.keyDefinitions)||void 0===r?void 0:r.length)})}(r);h(n),O(e)},w=function(t){c.invalidateKeyItemsOnMenuStateChange(t),j()};return(0,n.useEffect)(function(){return c?(j(),a.on("menu:changed",w).on("datasets:changed",j),function(){return a.off("menu:changed",w).off("datasets:changed",j)}):(a.requestOnce("datasets:registry",s),function(){})},[c]),(0,n.useEffect)(function(){c&&j()},[i]),(0,m.jsx)(_t,{noKeyItemText:e,keyGroups:d,hasGroups:S,mapStyle:r})}}],buttons:[{id:"mapKey",panelId:"mapKey",label:"Key",iconId:"key",mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{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:{addSymbol:function(t,r){(0,t.pluginState.dispatch)({type:"ADD_KEY_SYMBOL",payload:r})},removeSymbol:function(t,r){(0,t.pluginState.dispatch)({type:"REMOVE_KEY_SYMBOL",payload:r})}}}}}]);
|