@mcp-b/geo-support 0.2.0

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.
Files changed (91) hide show
  1. package/LICENSE +21 -0
  2. package/dist/base/geo-map-element.d.ts +60 -0
  3. package/dist/base/geo-map-element.d.ts.map +1 -0
  4. package/dist/base/geo-map-element.js +100 -0
  5. package/dist/base/geo-map-element.js.map +1 -0
  6. package/dist/classification/algorithms.d.ts +26 -0
  7. package/dist/classification/algorithms.d.ts.map +1 -0
  8. package/dist/classification/algorithms.js +101 -0
  9. package/dist/classification/algorithms.js.map +1 -0
  10. package/dist/classification/channel.d.ts +16 -0
  11. package/dist/classification/channel.d.ts.map +1 -0
  12. package/dist/classification/channel.js +18 -0
  13. package/dist/classification/channel.js.map +1 -0
  14. package/dist/classification/classify-style.d.ts +25 -0
  15. package/dist/classification/classify-style.d.ts.map +1 -0
  16. package/dist/classification/classify-style.js +70 -0
  17. package/dist/classification/classify-style.js.map +1 -0
  18. package/dist/classification/color-schemes.d.ts +18 -0
  19. package/dist/classification/color-schemes.d.ts.map +1 -0
  20. package/dist/classification/color-schemes.js +193 -0
  21. package/dist/classification/color-schemes.js.map +1 -0
  22. package/dist/classification/index.d.ts +5 -0
  23. package/dist/classification/index.d.ts.map +1 -0
  24. package/dist/classification/index.js +5 -0
  25. package/dist/classification/index.js.map +1 -0
  26. package/dist/components/classify-panel/classify-panel.d.ts +70 -0
  27. package/dist/components/classify-panel/classify-panel.d.ts.map +1 -0
  28. package/dist/components/classify-panel/classify-panel.js +273 -0
  29. package/dist/components/classify-panel/classify-panel.js.map +1 -0
  30. package/dist/components/classify-panel/classify-panel.styles.d.ts +3 -0
  31. package/dist/components/classify-panel/classify-panel.styles.d.ts.map +1 -0
  32. package/dist/components/classify-panel/classify-panel.styles.js +96 -0
  33. package/dist/components/classify-panel/classify-panel.styles.js.map +1 -0
  34. package/dist/components/legend/legend.d.ts +49 -0
  35. package/dist/components/legend/legend.d.ts.map +1 -0
  36. package/dist/components/legend/legend.js +129 -0
  37. package/dist/components/legend/legend.js.map +1 -0
  38. package/dist/components/legend/legend.styles.d.ts +3 -0
  39. package/dist/components/legend/legend.styles.d.ts.map +1 -0
  40. package/dist/components/legend/legend.styles.js +76 -0
  41. package/dist/components/legend/legend.styles.js.map +1 -0
  42. package/dist/docs/custom-elements.json +1796 -0
  43. package/dist/events/classify.d.ts +23 -0
  44. package/dist/events/classify.d.ts.map +1 -0
  45. package/dist/events/classify.js +12 -0
  46. package/dist/events/classify.js.map +1 -0
  47. package/dist/events/feature.d.ts +21 -0
  48. package/dist/events/feature.d.ts.map +1 -0
  49. package/dist/events/feature.js +17 -0
  50. package/dist/events/feature.js.map +1 -0
  51. package/dist/events/index.d.ts +5 -0
  52. package/dist/events/index.d.ts.map +1 -0
  53. package/dist/events/index.js +5 -0
  54. package/dist/events/index.js.map +1 -0
  55. package/dist/events/layer.d.ts +17 -0
  56. package/dist/events/layer.d.ts.map +1 -0
  57. package/dist/events/layer.js +15 -0
  58. package/dist/events/layer.js.map +1 -0
  59. package/dist/events/map.d.ts +42 -0
  60. package/dist/events/map.d.ts.map +1 -0
  61. package/dist/events/map.js +43 -0
  62. package/dist/events/map.js.map +1 -0
  63. package/dist/index.d.ts +7 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +7 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/styles/map-host.styles.d.ts +4 -0
  68. package/dist/styles/map-host.styles.d.ts.map +1 -0
  69. package/dist/styles/map-host.styles.js +17 -0
  70. package/dist/styles/map-host.styles.js.map +1 -0
  71. package/dist/types/coordinates.d.ts +13 -0
  72. package/dist/types/coordinates.d.ts.map +1 -0
  73. package/dist/types/coordinates.js +2 -0
  74. package/dist/types/coordinates.js.map +1 -0
  75. package/dist/types/geojson.d.ts +18 -0
  76. package/dist/types/geojson.d.ts.map +1 -0
  77. package/dist/types/geojson.js +3 -0
  78. package/dist/types/geojson.js.map +1 -0
  79. package/dist/types/index.d.ts +5 -0
  80. package/dist/types/index.d.ts.map +1 -0
  81. package/dist/types/index.js +5 -0
  82. package/dist/types/index.js.map +1 -0
  83. package/dist/types/map.d.ts +17 -0
  84. package/dist/types/map.d.ts.map +1 -0
  85. package/dist/types/map.js +2 -0
  86. package/dist/types/map.js.map +1 -0
  87. package/dist/types/style.d.ts +48 -0
  88. package/dist/types/style.d.ts.map +1 -0
  89. package/dist/types/style.js +2 -0
  90. package/dist/types/style.js.map +1 -0
  91. package/package.json +103 -0
@@ -0,0 +1,1796 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/base/geo-map-element.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "Abstract base class for all geo map components. Provides shared reactive\nproperties, ResizeObserver lifecycle, and abstract hooks for library-specific\nmap creation and updates.\n\nSubclasses must implement `createMap`, `destroyMap`, `updateView`, and\n`invalidateSize`.",
12
+ "name": "GeoMapElement",
13
+ "members": [
14
+ {
15
+ "kind": "field",
16
+ "name": "_resizeObserver",
17
+ "type": {
18
+ "text": "ResizeObserver | null"
19
+ },
20
+ "privacy": "private",
21
+ "default": "null"
22
+ },
23
+ {
24
+ "kind": "field",
25
+ "name": "_resolveMapReady",
26
+ "type": {
27
+ "text": "() => void"
28
+ },
29
+ "privacy": "protected"
30
+ },
31
+ {
32
+ "kind": "field",
33
+ "name": "_suppressExternalUpdate",
34
+ "type": {
35
+ "text": "boolean"
36
+ },
37
+ "privacy": "protected",
38
+ "default": "false",
39
+ "description": "When true, property changes from map interaction callbacks are suppressed\nto avoid re-triggering `updateView`. Subclasses should set this to `true`\nbefore syncing properties from the map, and back to `false` after."
40
+ },
41
+ {
42
+ "kind": "field",
43
+ "name": "bearing",
44
+ "type": {
45
+ "text": "number"
46
+ },
47
+ "default": "0",
48
+ "description": "Map bearing (rotation) in degrees. Not all libraries support this.",
49
+ "attribute": "bearing"
50
+ },
51
+ {
52
+ "kind": "method",
53
+ "name": "createMap",
54
+ "privacy": "protected",
55
+ "return": {
56
+ "type": {
57
+ "text": "void"
58
+ }
59
+ },
60
+ "parameters": [
61
+ {
62
+ "name": "container",
63
+ "type": {
64
+ "text": "HTMLElement"
65
+ }
66
+ }
67
+ ],
68
+ "description": "Create the map instance and attach it to the given container element."
69
+ },
70
+ {
71
+ "kind": "method",
72
+ "name": "destroyMap",
73
+ "privacy": "protected",
74
+ "return": {
75
+ "type": {
76
+ "text": "void"
77
+ }
78
+ },
79
+ "description": "Destroy the map instance and clean up resources."
80
+ },
81
+ {
82
+ "kind": "method",
83
+ "name": "fitBounds",
84
+ "privacy": "public",
85
+ "return": {
86
+ "type": {
87
+ "text": "void"
88
+ }
89
+ },
90
+ "parameters": [
91
+ {
92
+ "name": "options",
93
+ "type": {
94
+ "text": "FitBoundsOptions"
95
+ }
96
+ }
97
+ ],
98
+ "description": "Programmatically fit the map to bounds."
99
+ },
100
+ {
101
+ "kind": "method",
102
+ "name": "flyTo",
103
+ "privacy": "public",
104
+ "return": {
105
+ "type": {
106
+ "text": "void"
107
+ }
108
+ },
109
+ "parameters": [
110
+ {
111
+ "name": "options",
112
+ "type": {
113
+ "text": "FlyToOptions"
114
+ }
115
+ }
116
+ ],
117
+ "description": "Programmatically fly to a location."
118
+ },
119
+ {
120
+ "kind": "method",
121
+ "name": "invalidateSize",
122
+ "privacy": "protected",
123
+ "return": {
124
+ "type": {
125
+ "text": "void"
126
+ }
127
+ },
128
+ "description": "Notify the map library that its container has been resized."
129
+ },
130
+ {
131
+ "kind": "field",
132
+ "name": "latitude",
133
+ "type": {
134
+ "text": "number"
135
+ },
136
+ "default": "0",
137
+ "description": "Map center latitude.",
138
+ "attribute": "latitude"
139
+ },
140
+ {
141
+ "kind": "field",
142
+ "name": "longitude",
143
+ "type": {
144
+ "text": "number"
145
+ },
146
+ "default": "0",
147
+ "description": "Map center longitude.",
148
+ "attribute": "longitude"
149
+ },
150
+ {
151
+ "kind": "field",
152
+ "name": "mapHost",
153
+ "type": {
154
+ "text": "HTMLDivElement"
155
+ },
156
+ "privacy": "protected"
157
+ },
158
+ {
159
+ "kind": "field",
160
+ "name": "mapReady",
161
+ "type": {
162
+ "text": "Promise<void>"
163
+ },
164
+ "privacy": "public",
165
+ "readonly": true,
166
+ "description": "Resolved when the underlying map instance is ready. Child components\n(markers, layers, controls) should await this before registering.",
167
+ "default": "new Promise<void>((resolve) => { this._resolveMapReady = resolve; })"
168
+ },
169
+ {
170
+ "kind": "field",
171
+ "name": "maxZoom",
172
+ "type": {
173
+ "text": "number"
174
+ },
175
+ "default": "22",
176
+ "description": "Maximum allowed zoom level.",
177
+ "attribute": "max-zoom"
178
+ },
179
+ {
180
+ "kind": "field",
181
+ "name": "minZoom",
182
+ "type": {
183
+ "text": "number"
184
+ },
185
+ "default": "0",
186
+ "description": "Minimum allowed zoom level.",
187
+ "attribute": "min-zoom"
188
+ },
189
+ {
190
+ "kind": "field",
191
+ "name": "pitch",
192
+ "type": {
193
+ "text": "number"
194
+ },
195
+ "default": "0",
196
+ "description": "Map pitch (tilt) in degrees. Not all libraries support this.",
197
+ "attribute": "pitch"
198
+ },
199
+ {
200
+ "kind": "method",
201
+ "name": "updateView",
202
+ "privacy": "protected",
203
+ "return": {
204
+ "type": {
205
+ "text": "void"
206
+ }
207
+ },
208
+ "parameters": [
209
+ {
210
+ "name": "changed",
211
+ "type": {
212
+ "text": "PropertyValues"
213
+ }
214
+ }
215
+ ],
216
+ "description": "Update the map view when reactive properties change."
217
+ },
218
+ {
219
+ "kind": "field",
220
+ "name": "zoom",
221
+ "type": {
222
+ "text": "number"
223
+ },
224
+ "default": "2",
225
+ "description": "Map zoom level.",
226
+ "attribute": "zoom"
227
+ }
228
+ ],
229
+ "attributes": [
230
+ {
231
+ "name": "bearing",
232
+ "type": {
233
+ "text": "number"
234
+ },
235
+ "default": "0",
236
+ "description": "Map bearing (rotation) in degrees. Not all libraries support this.",
237
+ "fieldName": "bearing"
238
+ },
239
+ {
240
+ "name": "latitude",
241
+ "type": {
242
+ "text": "number"
243
+ },
244
+ "default": "0",
245
+ "description": "Map center latitude.",
246
+ "fieldName": "latitude"
247
+ },
248
+ {
249
+ "name": "longitude",
250
+ "type": {
251
+ "text": "number"
252
+ },
253
+ "default": "0",
254
+ "description": "Map center longitude.",
255
+ "fieldName": "longitude"
256
+ },
257
+ {
258
+ "name": "max-zoom",
259
+ "type": {
260
+ "text": "number"
261
+ },
262
+ "default": "22",
263
+ "description": "Maximum allowed zoom level.",
264
+ "fieldName": "maxZoom"
265
+ },
266
+ {
267
+ "name": "min-zoom",
268
+ "type": {
269
+ "text": "number"
270
+ },
271
+ "default": "0",
272
+ "description": "Minimum allowed zoom level.",
273
+ "fieldName": "minZoom"
274
+ },
275
+ {
276
+ "name": "pitch",
277
+ "type": {
278
+ "text": "number"
279
+ },
280
+ "default": "0",
281
+ "description": "Map pitch (tilt) in degrees. Not all libraries support this.",
282
+ "fieldName": "pitch"
283
+ },
284
+ {
285
+ "name": "zoom",
286
+ "type": {
287
+ "text": "number"
288
+ },
289
+ "default": "2",
290
+ "description": "Map zoom level.",
291
+ "fieldName": "zoom"
292
+ }
293
+ ],
294
+ "superclass": {
295
+ "name": "SigveloElement",
296
+ "package": "@mcp-b/wc-support/base/sigvelo-element"
297
+ }
298
+ }
299
+ ],
300
+ "exports": [
301
+ {
302
+ "kind": "js",
303
+ "name": "GeoMapElement",
304
+ "declaration": {
305
+ "name": "GeoMapElement",
306
+ "module": "src/base/geo-map-element.ts"
307
+ }
308
+ }
309
+ ]
310
+ },
311
+ {
312
+ "kind": "javascript-module",
313
+ "path": "src/classification/algorithms.ts",
314
+ "declarations": [
315
+ {
316
+ "kind": "function",
317
+ "name": "classifyValue",
318
+ "return": {
319
+ "type": {
320
+ "text": "number"
321
+ }
322
+ },
323
+ "parameters": [
324
+ {
325
+ "name": "value",
326
+ "type": {
327
+ "text": "number"
328
+ }
329
+ },
330
+ {
331
+ "name": "breaks",
332
+ "type": {
333
+ "text": "number[]"
334
+ }
335
+ }
336
+ ],
337
+ "description": "Returns the class index (0-based) for a value given a breaks array.\nThe breaks array has `numClasses + 1` entries: [min, break1, ..., max].\nReturns -1 for NaN/null/undefined values."
338
+ },
339
+ {
340
+ "kind": "function",
341
+ "name": "equalInterval",
342
+ "return": {
343
+ "type": {
344
+ "text": "number[]"
345
+ }
346
+ },
347
+ "parameters": [
348
+ {
349
+ "name": "values",
350
+ "type": {
351
+ "text": "number[]"
352
+ }
353
+ },
354
+ {
355
+ "name": "numClasses",
356
+ "type": {
357
+ "text": "number"
358
+ }
359
+ }
360
+ ],
361
+ "description": "Equal interval classification.\nDivides the range [min, max] into equal-width bins."
362
+ },
363
+ {
364
+ "kind": "function",
365
+ "name": "naturalBreaks",
366
+ "return": {
367
+ "type": {
368
+ "text": "number[]"
369
+ }
370
+ },
371
+ "parameters": [
372
+ {
373
+ "name": "values",
374
+ "type": {
375
+ "text": "number[]"
376
+ }
377
+ },
378
+ {
379
+ "name": "numClasses",
380
+ "type": {
381
+ "text": "number"
382
+ }
383
+ }
384
+ ],
385
+ "description": "Natural breaks (Jenks-Fisher) classification.\nMinimizes within-class variance using dynamic programming."
386
+ },
387
+ {
388
+ "kind": "function",
389
+ "name": "quantileBreaks",
390
+ "return": {
391
+ "type": {
392
+ "text": "number[]"
393
+ }
394
+ },
395
+ "parameters": [
396
+ {
397
+ "name": "values",
398
+ "type": {
399
+ "text": "number[]"
400
+ }
401
+ },
402
+ {
403
+ "name": "numClasses",
404
+ "type": {
405
+ "text": "number"
406
+ }
407
+ }
408
+ ],
409
+ "description": "Quantile classification.\nSplits sorted values into groups of approximately equal count."
410
+ }
411
+ ],
412
+ "exports": [
413
+ {
414
+ "kind": "js",
415
+ "name": "classifyValue",
416
+ "declaration": {
417
+ "name": "classifyValue",
418
+ "module": "src/classification/algorithms.ts"
419
+ }
420
+ },
421
+ {
422
+ "kind": "js",
423
+ "name": "equalInterval",
424
+ "declaration": {
425
+ "name": "equalInterval",
426
+ "module": "src/classification/algorithms.ts"
427
+ }
428
+ },
429
+ {
430
+ "kind": "js",
431
+ "name": "naturalBreaks",
432
+ "declaration": {
433
+ "name": "naturalBreaks",
434
+ "module": "src/classification/algorithms.ts"
435
+ }
436
+ },
437
+ {
438
+ "kind": "js",
439
+ "name": "quantileBreaks",
440
+ "declaration": {
441
+ "name": "quantileBreaks",
442
+ "module": "src/classification/algorithms.ts"
443
+ }
444
+ }
445
+ ]
446
+ },
447
+ {
448
+ "kind": "javascript-module",
449
+ "path": "src/classification/channel.ts",
450
+ "declarations": [
451
+ {
452
+ "kind": "function",
453
+ "name": "publishClassify",
454
+ "parameters": [
455
+ {
456
+ "name": "channelId",
457
+ "type": {
458
+ "text": "string"
459
+ }
460
+ },
461
+ {
462
+ "name": "detail",
463
+ "type": {
464
+ "text": "ClassifyUpdateDetail"
465
+ }
466
+ }
467
+ ],
468
+ "description": "Publish a classification update to all subscribers on a named channel."
469
+ },
470
+ {
471
+ "kind": "function",
472
+ "name": "subscribeClassify",
473
+ "return": {
474
+ "type": {
475
+ "text": "() => void"
476
+ }
477
+ },
478
+ "parameters": [
479
+ {
480
+ "name": "channelId",
481
+ "type": {
482
+ "text": "string"
483
+ }
484
+ },
485
+ {
486
+ "name": "handler",
487
+ "type": {
488
+ "text": "ClassifyUpdateHandler"
489
+ }
490
+ }
491
+ ],
492
+ "description": "Subscribe to classification updates on a named channel. Returns an unsubscribe function."
493
+ }
494
+ ],
495
+ "exports": [
496
+ {
497
+ "kind": "js",
498
+ "name": "publishClassify",
499
+ "declaration": {
500
+ "name": "publishClassify",
501
+ "module": "src/classification/channel.ts"
502
+ }
503
+ },
504
+ {
505
+ "kind": "js",
506
+ "name": "subscribeClassify",
507
+ "declaration": {
508
+ "name": "subscribeClassify",
509
+ "module": "src/classification/channel.ts"
510
+ }
511
+ }
512
+ ]
513
+ },
514
+ {
515
+ "kind": "javascript-module",
516
+ "path": "src/classification/classify-style.ts",
517
+ "declarations": [
518
+ {
519
+ "kind": "function",
520
+ "name": "createClassifyStyle",
521
+ "return": {
522
+ "type": {
523
+ "text": ""
524
+ }
525
+ },
526
+ "parameters": [
527
+ {
528
+ "name": "features",
529
+ "type": {
530
+ "text": "GeoJsonFeature[]"
531
+ },
532
+ "description": "The full set of features (used to compute classification breaks)."
533
+ },
534
+ {
535
+ "name": "options",
536
+ "type": {
537
+ "text": "ClassifyStyleOptions"
538
+ },
539
+ "description": "Classification configuration."
540
+ }
541
+ ],
542
+ "description": "Creates a StyleFunction that classifies features by a numeric property\nand assigns fill colors from a color scheme."
543
+ },
544
+ {
545
+ "kind": "variable",
546
+ "name": "fillOpacity"
547
+ }
548
+ ],
549
+ "exports": [
550
+ {
551
+ "kind": "js",
552
+ "name": "createClassifyStyle",
553
+ "declaration": {
554
+ "name": "createClassifyStyle",
555
+ "module": "src/classification/classify-style.ts"
556
+ }
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "kind": "javascript-module",
562
+ "path": "src/classification/color-schemes.ts",
563
+ "declarations": [
564
+ {
565
+ "kind": "variable",
566
+ "name": "colorSchemes",
567
+ "type": {
568
+ "text": "Record<string, ColorScheme>"
569
+ },
570
+ "default": "{ // --- Sequential --- Blues: { name: \"Blues\", type: \"sequential\", colors: { 3: [\"#deebf7\", \"#9ecae1\", \"#3182bd\"], 4: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#2171b5\"], 5: [\"#eff3ff\", \"#bdd7e7\", \"#6baed6\", \"#3182bd\", \"#08519c\"], 6: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#3182bd\", \"#08519c\"], 7: [\"#eff3ff\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"], 8: [\"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#084594\"], 9: [ \"#f7fbff\", \"#deebf7\", \"#c6dbef\", \"#9ecae1\", \"#6baed6\", \"#4292c6\", \"#2171b5\", \"#08519c\", \"#08306b\", ], }, }, Greens: { name: \"Greens\", type: \"sequential\", colors: { 3: [\"#e5f5e0\", \"#a1d99b\", \"#31a354\"], 4: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#238b45\"], 5: [\"#edf8e9\", \"#bae4b3\", \"#74c476\", \"#31a354\", \"#006d2c\"], 6: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#31a354\", \"#006d2c\"], 7: [\"#edf8e9\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"], 8: [\"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#005a32\"], 9: [ \"#f7fcf5\", \"#e5f5e0\", \"#c7e9c0\", \"#a1d99b\", \"#74c476\", \"#41ab5d\", \"#238b45\", \"#006d2c\", \"#00441b\", ], }, }, Reds: { name: \"Reds\", type: \"sequential\", colors: { 3: [\"#fee0d2\", \"#fc9272\", \"#de2d26\"], 4: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#cb181d\"], 5: [\"#fee5d9\", \"#fcae91\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"], 6: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#de2d26\", \"#a50f15\"], 7: [\"#fee5d9\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"], 8: [\"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#99000d\"], 9: [ \"#fff5f0\", \"#fee0d2\", \"#fcbba1\", \"#fc9272\", \"#fb6a4a\", \"#ef3b2c\", \"#cb181d\", \"#a50f15\", \"#67000d\", ], }, }, // --- Diverging --- RdBu: { name: \"RdBu\", type: \"diverging\", colors: { 3: [\"#ef8a62\", \"#f7f7f7\", \"#67a9cf\"], 4: [\"#ca0020\", \"#f4a582\", \"#92c5de\", \"#0571b0\"], 5: [\"#ca0020\", \"#f4a582\", \"#f7f7f7\", \"#92c5de\", \"#0571b0\"], 6: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"], 7: [\"#b2182b\", \"#ef8a62\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#67a9cf\", \"#2166ac\"], 8: [\"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\"], 9: [ \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\", ], }, }, PiYG: { name: \"PiYG\", type: \"diverging\", colors: { 3: [\"#e9a3c9\", \"#f7f7f7\", \"#a1d76a\"], 4: [\"#d01c8b\", \"#f1b6da\", \"#b8e186\", \"#4dac26\"], 5: [\"#d01c8b\", \"#f1b6da\", \"#f7f7f7\", \"#b8e186\", \"#4dac26\"], 6: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"], 7: [\"#c51b7d\", \"#e9a3c9\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#a1d76a\", \"#4d9221\"], 8: [\"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\"], 9: [ \"#c51b7d\", \"#de77ae\", \"#f1b6da\", \"#fde0ef\", \"#f7f7f7\", \"#e6f5d0\", \"#b8e186\", \"#7fbc41\", \"#4d9221\", ], }, }, // --- Qualitative --- Set1: { name: \"Set1\", type: \"qualitative\", colors: { 3: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\"], 4: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\"], 5: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\"], 6: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\"], 7: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\"], 8: [\"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\"], 9: [ \"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff7f00\", \"#ffff33\", \"#a65628\", \"#f781bf\", \"#999999\", ], }, }, Pastel1: { name: \"Pastel1\", type: \"qualitative\", colors: { 3: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\"], 4: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\"], 5: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\"], 6: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\"], 7: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\"], 8: [\"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\"], 9: [ \"#fbb4ae\", \"#b3cde3\", \"#ccebc5\", \"#decbe4\", \"#fed9a6\", \"#ffffcc\", \"#e5d8bd\", \"#fddaec\", \"#f2f2f2\", ], }, }, Dark2: { name: \"Dark2\", type: \"qualitative\", colors: { 3: [\"#1b9e77\", \"#d95f02\", \"#7570b3\"], 4: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\"], 5: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\"], 6: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\"], 7: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\"], 8: [\"#1b9e77\", \"#d95f02\", \"#7570b3\", \"#e7298a\", \"#66a61e\", \"#e6ab02\", \"#a6761d\", \"#666666\"], }, }, }"
571
+ },
572
+ {
573
+ "kind": "function",
574
+ "name": "getColorScheme",
575
+ "return": {
576
+ "type": {
577
+ "text": "ColorScheme | undefined"
578
+ }
579
+ },
580
+ "parameters": [
581
+ {
582
+ "name": "name",
583
+ "type": {
584
+ "text": "string"
585
+ }
586
+ }
587
+ ],
588
+ "description": "Look up a color scheme by name."
589
+ },
590
+ {
591
+ "kind": "function",
592
+ "name": "getSchemeColors",
593
+ "return": {
594
+ "type": {
595
+ "text": "string[] | undefined"
596
+ }
597
+ },
598
+ "parameters": [
599
+ {
600
+ "name": "name",
601
+ "type": {
602
+ "text": "string"
603
+ }
604
+ },
605
+ {
606
+ "name": "numClasses",
607
+ "type": {
608
+ "text": "number"
609
+ }
610
+ }
611
+ ],
612
+ "description": "Get the color array for a scheme at a given class count."
613
+ }
614
+ ],
615
+ "exports": [
616
+ {
617
+ "kind": "js",
618
+ "name": "colorSchemes",
619
+ "declaration": {
620
+ "name": "colorSchemes",
621
+ "module": "src/classification/color-schemes.ts"
622
+ }
623
+ },
624
+ {
625
+ "kind": "js",
626
+ "name": "getColorScheme",
627
+ "declaration": {
628
+ "name": "getColorScheme",
629
+ "module": "src/classification/color-schemes.ts"
630
+ }
631
+ },
632
+ {
633
+ "kind": "js",
634
+ "name": "getSchemeColors",
635
+ "declaration": {
636
+ "name": "getSchemeColors",
637
+ "module": "src/classification/color-schemes.ts"
638
+ }
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ "kind": "javascript-module",
644
+ "path": "src/classification/index.ts",
645
+ "declarations": [],
646
+ "exports": [
647
+ {
648
+ "kind": "js",
649
+ "name": "ClassifyUpdateDetail",
650
+ "declaration": {
651
+ "name": "ClassifyUpdateDetail",
652
+ "module": "./channel.js"
653
+ }
654
+ },
655
+ {
656
+ "kind": "js",
657
+ "name": "classifyValue",
658
+ "declaration": {
659
+ "name": "classifyValue",
660
+ "module": "./algorithms.js"
661
+ }
662
+ },
663
+ {
664
+ "kind": "js",
665
+ "name": "ColorScheme",
666
+ "declaration": {
667
+ "name": "ColorScheme",
668
+ "module": "./color-schemes.js"
669
+ }
670
+ },
671
+ {
672
+ "kind": "js",
673
+ "name": "colorSchemes",
674
+ "declaration": {
675
+ "name": "colorSchemes",
676
+ "module": "./color-schemes.js"
677
+ }
678
+ },
679
+ {
680
+ "kind": "js",
681
+ "name": "createClassifyStyle",
682
+ "declaration": {
683
+ "name": "createClassifyStyle",
684
+ "module": "./classify-style.js"
685
+ }
686
+ },
687
+ {
688
+ "kind": "js",
689
+ "name": "equalInterval",
690
+ "declaration": {
691
+ "name": "equalInterval",
692
+ "module": "./algorithms.js"
693
+ }
694
+ },
695
+ {
696
+ "kind": "js",
697
+ "name": "getColorScheme",
698
+ "declaration": {
699
+ "name": "getColorScheme",
700
+ "module": "./color-schemes.js"
701
+ }
702
+ },
703
+ {
704
+ "kind": "js",
705
+ "name": "getSchemeColors",
706
+ "declaration": {
707
+ "name": "getSchemeColors",
708
+ "module": "./color-schemes.js"
709
+ }
710
+ },
711
+ {
712
+ "kind": "js",
713
+ "name": "naturalBreaks",
714
+ "declaration": {
715
+ "name": "naturalBreaks",
716
+ "module": "./algorithms.js"
717
+ }
718
+ },
719
+ {
720
+ "kind": "js",
721
+ "name": "publishClassify",
722
+ "declaration": {
723
+ "name": "publishClassify",
724
+ "module": "./channel.js"
725
+ }
726
+ },
727
+ {
728
+ "kind": "js",
729
+ "name": "quantileBreaks",
730
+ "declaration": {
731
+ "name": "quantileBreaks",
732
+ "module": "./algorithms.js"
733
+ }
734
+ },
735
+ {
736
+ "kind": "js",
737
+ "name": "subscribeClassify",
738
+ "declaration": {
739
+ "name": "subscribeClassify",
740
+ "module": "./channel.js"
741
+ }
742
+ }
743
+ ]
744
+ },
745
+ {
746
+ "kind": "javascript-module",
747
+ "path": "src/components/classify-panel/classify-panel.ts",
748
+ "declarations": [
749
+ {
750
+ "kind": "class",
751
+ "description": "A panel of classification controls for choropleth maps.\n\nWhen a `channel` attribute is set, the panel automatically computes\nclassification from its `.data` and publishes updates to sibling\n`<sigvelo-geo-legend>` and `<sigvelo-*-geojson>` components sharing\nthe same channel name.",
752
+ "name": "SigveloGeoClassifyPanel",
753
+ "cssParts": [
754
+ {
755
+ "description": "The outer panel container.",
756
+ "name": "container"
757
+ },
758
+ {
759
+ "description": "The fields container.",
760
+ "name": "fields"
761
+ },
762
+ {
763
+ "description": "The clickable title/header row.",
764
+ "name": "title"
765
+ }
766
+ ],
767
+ "members": [
768
+ {
769
+ "kind": "method",
770
+ "name": "_getAvailableClasses",
771
+ "privacy": "private",
772
+ "return": {
773
+ "type": {
774
+ "text": "number[]"
775
+ }
776
+ }
777
+ },
778
+ {
779
+ "kind": "method",
780
+ "name": "_getSchemesForType",
781
+ "privacy": "private",
782
+ "return": {
783
+ "type": {
784
+ "text": "string[]"
785
+ }
786
+ }
787
+ },
788
+ {
789
+ "kind": "method",
790
+ "name": "_handleClassesChange",
791
+ "privacy": "private",
792
+ "parameters": [
793
+ {
794
+ "name": "e",
795
+ "type": {
796
+ "text": "Event"
797
+ }
798
+ }
799
+ ]
800
+ },
801
+ {
802
+ "kind": "method",
803
+ "name": "_handleMethodChange",
804
+ "privacy": "private",
805
+ "parameters": [
806
+ {
807
+ "name": "e",
808
+ "type": {
809
+ "text": "Event"
810
+ }
811
+ }
812
+ ]
813
+ },
814
+ {
815
+ "kind": "method",
816
+ "name": "_handlePropertyChange",
817
+ "privacy": "private",
818
+ "parameters": [
819
+ {
820
+ "name": "e",
821
+ "type": {
822
+ "text": "Event"
823
+ }
824
+ }
825
+ ]
826
+ },
827
+ {
828
+ "kind": "method",
829
+ "name": "_handleSchemeChange",
830
+ "privacy": "private",
831
+ "parameters": [
832
+ {
833
+ "name": "e",
834
+ "type": {
835
+ "text": "Event"
836
+ }
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "kind": "method",
842
+ "name": "_handleTypeChange",
843
+ "privacy": "private",
844
+ "parameters": [
845
+ {
846
+ "name": "e",
847
+ "type": {
848
+ "text": "Event"
849
+ }
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "kind": "method",
855
+ "name": "_publish",
856
+ "privacy": "private"
857
+ },
858
+ {
859
+ "kind": "method",
860
+ "name": "_toggleCollapsed",
861
+ "privacy": "private"
862
+ },
863
+ {
864
+ "kind": "field",
865
+ "name": "channel",
866
+ "type": {
867
+ "text": "string"
868
+ },
869
+ "default": "\"\"",
870
+ "description": "Channel name for auto-syncing with sibling geojson and legend components.\nComponents sharing the same channel value automatically stay in sync.",
871
+ "attribute": "channel"
872
+ },
873
+ {
874
+ "kind": "field",
875
+ "name": "collapsed",
876
+ "type": {
877
+ "text": "boolean"
878
+ },
879
+ "default": "false",
880
+ "description": "Whether the panel content is collapsed.",
881
+ "attribute": "collapsed",
882
+ "reflects": true
883
+ },
884
+ {
885
+ "kind": "field",
886
+ "name": "data",
887
+ "type": {
888
+ "text": "GeoJsonFeature[]"
889
+ },
890
+ "default": "[]",
891
+ "description": "GeoJSON features used to compute classification (required for channel mode)."
892
+ },
893
+ {
894
+ "kind": "field",
895
+ "name": "fillOpacity",
896
+ "type": {
897
+ "text": "number"
898
+ },
899
+ "default": "0.85",
900
+ "description": "Fill opacity passed to the classification.",
901
+ "attribute": "fill-opacity"
902
+ },
903
+ {
904
+ "kind": "field",
905
+ "name": "method",
906
+ "type": {
907
+ "text": "ClassificationMethod"
908
+ },
909
+ "default": "\"naturalBreaks\"",
910
+ "description": "Classification method.",
911
+ "attribute": "method",
912
+ "parsedType": {
913
+ "text": "'equalInterval' | 'quantile' | 'naturalBreaks'"
914
+ }
915
+ },
916
+ {
917
+ "kind": "field",
918
+ "name": "numClasses",
919
+ "type": {
920
+ "text": "number"
921
+ },
922
+ "default": "5",
923
+ "description": "Number of classes.",
924
+ "attribute": "num-classes"
925
+ },
926
+ {
927
+ "kind": "field",
928
+ "name": "property",
929
+ "type": {
930
+ "text": "string"
931
+ },
932
+ "default": "\"\"",
933
+ "description": "Currently selected data property key.",
934
+ "attribute": "property"
935
+ },
936
+ {
937
+ "kind": "field",
938
+ "name": "scheme",
939
+ "type": {
940
+ "text": "string"
941
+ },
942
+ "default": "\"Blues\"",
943
+ "description": "Selected color scheme name.",
944
+ "attribute": "scheme"
945
+ },
946
+ {
947
+ "kind": "field",
948
+ "name": "schemeType",
949
+ "type": {
950
+ "text": "ColorSchemeType"
951
+ },
952
+ "default": "\"sequential\"",
953
+ "description": "Color scheme type filter (sequential, diverging, qualitative).",
954
+ "attribute": "scheme-type",
955
+ "parsedType": {
956
+ "text": "'sequential' | 'diverging' | 'qualitative'"
957
+ }
958
+ },
959
+ {
960
+ "kind": "field",
961
+ "name": "strokeColor",
962
+ "type": {
963
+ "text": "string"
964
+ },
965
+ "default": "\"#666\"",
966
+ "description": "Stroke color passed to the classification.",
967
+ "attribute": "stroke-color"
968
+ },
969
+ {
970
+ "kind": "field",
971
+ "name": "strokeWidth",
972
+ "type": {
973
+ "text": "number"
974
+ },
975
+ "default": "1",
976
+ "description": "Stroke width passed to the classification.",
977
+ "attribute": "stroke-width"
978
+ }
979
+ ],
980
+ "events": [
981
+ {
982
+ "description": "Fired when any classification setting changes.",
983
+ "name": "sigvelo-classify-change"
984
+ }
985
+ ],
986
+ "attributes": [
987
+ {
988
+ "name": "channel",
989
+ "type": {
990
+ "text": "string"
991
+ },
992
+ "default": "\"\"",
993
+ "description": "Channel name for auto-syncing with sibling geojson and legend components.\nComponents sharing the same channel value automatically stay in sync.",
994
+ "fieldName": "channel"
995
+ },
996
+ {
997
+ "name": "collapsed",
998
+ "type": {
999
+ "text": "boolean"
1000
+ },
1001
+ "default": "false",
1002
+ "description": "Whether the panel content is collapsed.",
1003
+ "fieldName": "collapsed"
1004
+ },
1005
+ {
1006
+ "name": "fill-opacity",
1007
+ "type": {
1008
+ "text": "number"
1009
+ },
1010
+ "default": "0.85",
1011
+ "description": "Fill opacity passed to the classification.",
1012
+ "fieldName": "fillOpacity"
1013
+ },
1014
+ {
1015
+ "name": "method",
1016
+ "type": {
1017
+ "text": "ClassificationMethod"
1018
+ },
1019
+ "default": "\"naturalBreaks\"",
1020
+ "description": "Classification method.",
1021
+ "fieldName": "method",
1022
+ "parsedType": {
1023
+ "text": "'equalInterval' | 'quantile' | 'naturalBreaks'"
1024
+ }
1025
+ },
1026
+ {
1027
+ "name": "num-classes",
1028
+ "type": {
1029
+ "text": "number"
1030
+ },
1031
+ "default": "5",
1032
+ "description": "Number of classes.",
1033
+ "fieldName": "numClasses"
1034
+ },
1035
+ {
1036
+ "name": "property",
1037
+ "type": {
1038
+ "text": "string"
1039
+ },
1040
+ "default": "\"\"",
1041
+ "description": "Currently selected data property key.",
1042
+ "fieldName": "property"
1043
+ },
1044
+ {
1045
+ "name": "scheme",
1046
+ "type": {
1047
+ "text": "string"
1048
+ },
1049
+ "default": "\"Blues\"",
1050
+ "description": "Selected color scheme name.",
1051
+ "fieldName": "scheme"
1052
+ },
1053
+ {
1054
+ "name": "scheme-type",
1055
+ "type": {
1056
+ "text": "ColorSchemeType"
1057
+ },
1058
+ "default": "\"sequential\"",
1059
+ "description": "Color scheme type filter (sequential, diverging, qualitative).",
1060
+ "fieldName": "schemeType",
1061
+ "parsedType": {
1062
+ "text": "'sequential' | 'diverging' | 'qualitative'"
1063
+ }
1064
+ },
1065
+ {
1066
+ "name": "stroke-color",
1067
+ "type": {
1068
+ "text": "string"
1069
+ },
1070
+ "default": "\"#666\"",
1071
+ "description": "Stroke color passed to the classification.",
1072
+ "fieldName": "strokeColor"
1073
+ },
1074
+ {
1075
+ "name": "stroke-width",
1076
+ "type": {
1077
+ "text": "number"
1078
+ },
1079
+ "default": "1",
1080
+ "description": "Stroke width passed to the classification.",
1081
+ "fieldName": "strokeWidth"
1082
+ }
1083
+ ],
1084
+ "superclass": {
1085
+ "name": "SigveloElement",
1086
+ "package": "@mcp-b/wc-support/base/sigvelo-element"
1087
+ },
1088
+ "tagName": "sigvelo-geo-classify-panel",
1089
+ "customElement": true,
1090
+ "modulePath": "src/components/classify-panel/classify-panel.ts",
1091
+ "definitionPath": "src/components/classify-panel/classify-panel.ts"
1092
+ }
1093
+ ],
1094
+ "exports": [
1095
+ {
1096
+ "kind": "custom-element-definition",
1097
+ "name": "sigvelo-geo-classify-panel",
1098
+ "declaration": {
1099
+ "name": "SigveloGeoClassifyPanel",
1100
+ "module": "src/components/classify-panel/classify-panel.ts"
1101
+ }
1102
+ },
1103
+ {
1104
+ "kind": "js",
1105
+ "name": "SigveloGeoClassifyPanel",
1106
+ "declaration": {
1107
+ "name": "SigveloGeoClassifyPanel",
1108
+ "module": "src/components/classify-panel/classify-panel.ts"
1109
+ }
1110
+ }
1111
+ ]
1112
+ },
1113
+ {
1114
+ "kind": "javascript-module",
1115
+ "path": "src/components/legend/legend.ts",
1116
+ "declarations": [
1117
+ {
1118
+ "kind": "class",
1119
+ "description": "Displays a color-coded legend for classified/choropleth maps.\n\nWhen a `channel` attribute is set, the legend automatically updates\nfrom a sibling `<sigvelo-geo-classify-panel>` sharing the same channel.\n\nPlace inside a `<sigvelo-*-control>` for on-map positioning, or\nanywhere in the DOM for external/sidebar mode.",
1120
+ "name": "SigveloGeoLegend",
1121
+ "cssParts": [
1122
+ {
1123
+ "description": "The outer legend container.",
1124
+ "name": "container"
1125
+ },
1126
+ {
1127
+ "description": "Each legend row (swatch + label).",
1128
+ "name": "item"
1129
+ },
1130
+ {
1131
+ "description": "A range label.",
1132
+ "name": "label"
1133
+ },
1134
+ {
1135
+ "description": "A color swatch square.",
1136
+ "name": "swatch"
1137
+ },
1138
+ {
1139
+ "description": "The clickable title/header row.",
1140
+ "name": "title"
1141
+ }
1142
+ ],
1143
+ "members": [
1144
+ {
1145
+ "kind": "method",
1146
+ "name": "_formatNumber",
1147
+ "privacy": "private",
1148
+ "return": {
1149
+ "type": {
1150
+ "text": "string"
1151
+ }
1152
+ },
1153
+ "parameters": [
1154
+ {
1155
+ "name": "n",
1156
+ "type": {
1157
+ "text": "number"
1158
+ }
1159
+ }
1160
+ ]
1161
+ },
1162
+ {
1163
+ "kind": "method",
1164
+ "name": "_toggleCollapsed",
1165
+ "privacy": "private"
1166
+ },
1167
+ {
1168
+ "kind": "field",
1169
+ "name": "breaks",
1170
+ "type": {
1171
+ "text": "number[]"
1172
+ },
1173
+ "default": "[]",
1174
+ "description": "Classification break points (numClasses + 1 values: [min, break1, ..., max])."
1175
+ },
1176
+ {
1177
+ "kind": "field",
1178
+ "name": "channel",
1179
+ "type": {
1180
+ "text": "string"
1181
+ },
1182
+ "default": "\"\"",
1183
+ "description": "Channel name for auto-syncing with a classify panel.\nWhen set, breaks, colors, and title update automatically.",
1184
+ "attribute": "channel"
1185
+ },
1186
+ {
1187
+ "kind": "field",
1188
+ "name": "collapsed",
1189
+ "type": {
1190
+ "text": "boolean"
1191
+ },
1192
+ "default": "false",
1193
+ "description": "Whether the legend content is collapsed, showing only the title.",
1194
+ "attribute": "collapsed",
1195
+ "reflects": true
1196
+ },
1197
+ {
1198
+ "kind": "field",
1199
+ "name": "colors",
1200
+ "type": {
1201
+ "text": "string[]"
1202
+ },
1203
+ "default": "[]",
1204
+ "description": "Colors for each class (numClasses values)."
1205
+ },
1206
+ {
1207
+ "kind": "field",
1208
+ "name": "title",
1209
+ "type": {
1210
+ "text": "string"
1211
+ },
1212
+ "default": "\"\"",
1213
+ "description": "Legend title (e.g., the property name being classified).",
1214
+ "attribute": "title"
1215
+ }
1216
+ ],
1217
+ "attributes": [
1218
+ {
1219
+ "name": "channel",
1220
+ "type": {
1221
+ "text": "string"
1222
+ },
1223
+ "default": "\"\"",
1224
+ "description": "Channel name for auto-syncing with a classify panel.\nWhen set, breaks, colors, and title update automatically.",
1225
+ "fieldName": "channel"
1226
+ },
1227
+ {
1228
+ "name": "collapsed",
1229
+ "type": {
1230
+ "text": "boolean"
1231
+ },
1232
+ "default": "false",
1233
+ "description": "Whether the legend content is collapsed, showing only the title.",
1234
+ "fieldName": "collapsed"
1235
+ },
1236
+ {
1237
+ "name": "title",
1238
+ "type": {
1239
+ "text": "string"
1240
+ },
1241
+ "default": "\"\"",
1242
+ "description": "Legend title (e.g., the property name being classified).",
1243
+ "fieldName": "title"
1244
+ }
1245
+ ],
1246
+ "superclass": {
1247
+ "name": "SigveloElement",
1248
+ "package": "@mcp-b/wc-support/base/sigvelo-element"
1249
+ },
1250
+ "tagName": "sigvelo-geo-legend",
1251
+ "customElement": true,
1252
+ "modulePath": "src/components/legend/legend.ts",
1253
+ "definitionPath": "src/components/legend/legend.ts"
1254
+ }
1255
+ ],
1256
+ "exports": [
1257
+ {
1258
+ "kind": "custom-element-definition",
1259
+ "name": "sigvelo-geo-legend",
1260
+ "declaration": {
1261
+ "name": "SigveloGeoLegend",
1262
+ "module": "src/components/legend/legend.ts"
1263
+ }
1264
+ },
1265
+ {
1266
+ "kind": "js",
1267
+ "name": "SigveloGeoLegend",
1268
+ "declaration": {
1269
+ "name": "SigveloGeoLegend",
1270
+ "module": "src/components/legend/legend.ts"
1271
+ }
1272
+ }
1273
+ ]
1274
+ },
1275
+ {
1276
+ "kind": "javascript-module",
1277
+ "path": "src/events/classify.ts",
1278
+ "declarations": [
1279
+ {
1280
+ "kind": "class",
1281
+ "description": "Fired by `<sigvelo-geo-classify-panel>` when any classification setting changes.",
1282
+ "name": "SigveloClassifyChangeEvent",
1283
+ "members": [
1284
+ {
1285
+ "kind": "field",
1286
+ "name": "detail",
1287
+ "type": {
1288
+ "text": "ClassifyChangeDetail"
1289
+ },
1290
+ "readonly": true,
1291
+ "default": "detail"
1292
+ }
1293
+ ],
1294
+ "events": [],
1295
+ "superclass": {
1296
+ "name": "Event",
1297
+ "module": "src/events/classify.ts"
1298
+ }
1299
+ }
1300
+ ],
1301
+ "exports": [
1302
+ {
1303
+ "kind": "js",
1304
+ "name": "SigveloClassifyChangeEvent",
1305
+ "declaration": {
1306
+ "name": "SigveloClassifyChangeEvent",
1307
+ "module": "src/events/classify.ts"
1308
+ }
1309
+ }
1310
+ ]
1311
+ },
1312
+ {
1313
+ "kind": "javascript-module",
1314
+ "path": "src/events/feature.ts",
1315
+ "declarations": [
1316
+ {
1317
+ "kind": "class",
1318
+ "description": "Emitted when a map feature is clicked.",
1319
+ "name": "SigveloFeatureClickEvent",
1320
+ "members": [
1321
+ {
1322
+ "kind": "field",
1323
+ "name": "feature",
1324
+ "type": {
1325
+ "text": "GeoJsonFeature"
1326
+ },
1327
+ "readonly": true,
1328
+ "default": "feature"
1329
+ },
1330
+ {
1331
+ "kind": "field",
1332
+ "name": "latlng",
1333
+ "type": {
1334
+ "text": "LatLng"
1335
+ },
1336
+ "readonly": true,
1337
+ "default": "latlng"
1338
+ }
1339
+ ],
1340
+ "superclass": {
1341
+ "name": "Event",
1342
+ "module": "src/events/feature.ts"
1343
+ }
1344
+ },
1345
+ {
1346
+ "kind": "class",
1347
+ "description": "Emitted when the pointer hovers over a map feature.",
1348
+ "name": "SigveloFeatureHoverEvent",
1349
+ "members": [
1350
+ {
1351
+ "kind": "field",
1352
+ "name": "feature",
1353
+ "type": {
1354
+ "text": "GeoJsonFeature | null"
1355
+ },
1356
+ "readonly": true,
1357
+ "default": "feature"
1358
+ },
1359
+ {
1360
+ "kind": "field",
1361
+ "name": "latlng",
1362
+ "type": {
1363
+ "text": "LatLng"
1364
+ },
1365
+ "readonly": true,
1366
+ "default": "latlng"
1367
+ }
1368
+ ],
1369
+ "superclass": {
1370
+ "name": "Event",
1371
+ "module": "src/events/feature.ts"
1372
+ }
1373
+ }
1374
+ ],
1375
+ "exports": [
1376
+ {
1377
+ "kind": "js",
1378
+ "name": "SigveloFeatureClickEvent",
1379
+ "declaration": {
1380
+ "name": "SigveloFeatureClickEvent",
1381
+ "module": "src/events/feature.ts"
1382
+ }
1383
+ },
1384
+ {
1385
+ "kind": "js",
1386
+ "name": "SigveloFeatureHoverEvent",
1387
+ "declaration": {
1388
+ "name": "SigveloFeatureHoverEvent",
1389
+ "module": "src/events/feature.ts"
1390
+ }
1391
+ }
1392
+ ]
1393
+ },
1394
+ {
1395
+ "kind": "javascript-module",
1396
+ "path": "src/events/index.ts",
1397
+ "declarations": [],
1398
+ "exports": [
1399
+ {
1400
+ "kind": "js",
1401
+ "name": "*",
1402
+ "declaration": {
1403
+ "name": "*",
1404
+ "module": "src/events/map.js"
1405
+ }
1406
+ },
1407
+ {
1408
+ "kind": "js",
1409
+ "name": "*",
1410
+ "declaration": {
1411
+ "name": "*",
1412
+ "module": "src/events/feature.js"
1413
+ }
1414
+ },
1415
+ {
1416
+ "kind": "js",
1417
+ "name": "*",
1418
+ "declaration": {
1419
+ "name": "*",
1420
+ "module": "src/events/layer.js"
1421
+ }
1422
+ },
1423
+ {
1424
+ "kind": "js",
1425
+ "name": "*",
1426
+ "declaration": {
1427
+ "name": "*",
1428
+ "module": "src/events/classify.js"
1429
+ }
1430
+ }
1431
+ ]
1432
+ },
1433
+ {
1434
+ "kind": "javascript-module",
1435
+ "path": "src/events/layer.ts",
1436
+ "declarations": [
1437
+ {
1438
+ "kind": "class",
1439
+ "description": "Emitted when a layer is added to the map.",
1440
+ "name": "SigveloLayerAddEvent",
1441
+ "members": [
1442
+ {
1443
+ "kind": "field",
1444
+ "name": "layerId",
1445
+ "type": {
1446
+ "text": "string"
1447
+ },
1448
+ "readonly": true,
1449
+ "default": "layerId"
1450
+ }
1451
+ ],
1452
+ "superclass": {
1453
+ "name": "Event",
1454
+ "module": "src/events/layer.ts"
1455
+ }
1456
+ },
1457
+ {
1458
+ "kind": "class",
1459
+ "description": "Emitted when a layer is removed from the map.",
1460
+ "name": "SigveloLayerRemoveEvent",
1461
+ "members": [
1462
+ {
1463
+ "kind": "field",
1464
+ "name": "layerId",
1465
+ "type": {
1466
+ "text": "string"
1467
+ },
1468
+ "readonly": true,
1469
+ "default": "layerId"
1470
+ }
1471
+ ],
1472
+ "superclass": {
1473
+ "name": "Event",
1474
+ "module": "src/events/layer.ts"
1475
+ }
1476
+ }
1477
+ ],
1478
+ "exports": [
1479
+ {
1480
+ "kind": "js",
1481
+ "name": "SigveloLayerAddEvent",
1482
+ "declaration": {
1483
+ "name": "SigveloLayerAddEvent",
1484
+ "module": "src/events/layer.ts"
1485
+ }
1486
+ },
1487
+ {
1488
+ "kind": "js",
1489
+ "name": "SigveloLayerRemoveEvent",
1490
+ "declaration": {
1491
+ "name": "SigveloLayerRemoveEvent",
1492
+ "module": "src/events/layer.ts"
1493
+ }
1494
+ }
1495
+ ]
1496
+ },
1497
+ {
1498
+ "kind": "javascript-module",
1499
+ "path": "src/events/map.ts",
1500
+ "declarations": [
1501
+ {
1502
+ "kind": "class",
1503
+ "description": "Emitted when the map is clicked.",
1504
+ "name": "SigveloMapClickEvent",
1505
+ "members": [
1506
+ {
1507
+ "kind": "field",
1508
+ "name": "latlng",
1509
+ "type": {
1510
+ "text": "LatLng"
1511
+ },
1512
+ "readonly": true,
1513
+ "default": "latlng"
1514
+ },
1515
+ {
1516
+ "kind": "field",
1517
+ "name": "originalEvent",
1518
+ "type": {
1519
+ "text": "MouseEvent"
1520
+ },
1521
+ "readonly": true,
1522
+ "default": "originalEvent"
1523
+ }
1524
+ ],
1525
+ "superclass": {
1526
+ "name": "Event",
1527
+ "module": "src/events/map.ts"
1528
+ }
1529
+ },
1530
+ {
1531
+ "kind": "class",
1532
+ "description": "Emitted when the map has finished loading.",
1533
+ "name": "SigveloMapLoadEvent",
1534
+ "superclass": {
1535
+ "name": "Event",
1536
+ "module": "src/events/map.ts"
1537
+ }
1538
+ },
1539
+ {
1540
+ "kind": "class",
1541
+ "description": "Emitted when map movement ends.",
1542
+ "name": "SigveloMapMoveEndEvent",
1543
+ "members": [
1544
+ {
1545
+ "kind": "field",
1546
+ "name": "center",
1547
+ "type": {
1548
+ "text": "LatLng"
1549
+ },
1550
+ "readonly": true,
1551
+ "default": "center"
1552
+ }
1553
+ ],
1554
+ "superclass": {
1555
+ "name": "Event",
1556
+ "module": "src/events/map.ts"
1557
+ }
1558
+ },
1559
+ {
1560
+ "kind": "class",
1561
+ "description": "Emitted when the map center changes during movement.",
1562
+ "name": "SigveloMapMoveEvent",
1563
+ "members": [
1564
+ {
1565
+ "kind": "field",
1566
+ "name": "center",
1567
+ "type": {
1568
+ "text": "LatLng"
1569
+ },
1570
+ "readonly": true,
1571
+ "default": "center"
1572
+ }
1573
+ ],
1574
+ "superclass": {
1575
+ "name": "Event",
1576
+ "module": "src/events/map.ts"
1577
+ }
1578
+ },
1579
+ {
1580
+ "kind": "class",
1581
+ "description": "Emitted when zooming ends.",
1582
+ "name": "SigveloMapZoomEndEvent",
1583
+ "members": [
1584
+ {
1585
+ "kind": "field",
1586
+ "name": "zoom",
1587
+ "type": {
1588
+ "text": "number"
1589
+ },
1590
+ "readonly": true,
1591
+ "default": "zoom"
1592
+ }
1593
+ ],
1594
+ "superclass": {
1595
+ "name": "Event",
1596
+ "module": "src/events/map.ts"
1597
+ }
1598
+ },
1599
+ {
1600
+ "kind": "class",
1601
+ "description": "Emitted when the map zoom level changes.",
1602
+ "name": "SigveloMapZoomEvent",
1603
+ "members": [
1604
+ {
1605
+ "kind": "field",
1606
+ "name": "zoom",
1607
+ "type": {
1608
+ "text": "number"
1609
+ },
1610
+ "readonly": true,
1611
+ "default": "zoom"
1612
+ }
1613
+ ],
1614
+ "superclass": {
1615
+ "name": "Event",
1616
+ "module": "src/events/map.ts"
1617
+ }
1618
+ }
1619
+ ],
1620
+ "exports": [
1621
+ {
1622
+ "kind": "js",
1623
+ "name": "SigveloMapClickEvent",
1624
+ "declaration": {
1625
+ "name": "SigveloMapClickEvent",
1626
+ "module": "src/events/map.ts"
1627
+ }
1628
+ },
1629
+ {
1630
+ "kind": "js",
1631
+ "name": "SigveloMapLoadEvent",
1632
+ "declaration": {
1633
+ "name": "SigveloMapLoadEvent",
1634
+ "module": "src/events/map.ts"
1635
+ }
1636
+ },
1637
+ {
1638
+ "kind": "js",
1639
+ "name": "SigveloMapMoveEndEvent",
1640
+ "declaration": {
1641
+ "name": "SigveloMapMoveEndEvent",
1642
+ "module": "src/events/map.ts"
1643
+ }
1644
+ },
1645
+ {
1646
+ "kind": "js",
1647
+ "name": "SigveloMapMoveEvent",
1648
+ "declaration": {
1649
+ "name": "SigveloMapMoveEvent",
1650
+ "module": "src/events/map.ts"
1651
+ }
1652
+ },
1653
+ {
1654
+ "kind": "js",
1655
+ "name": "SigveloMapZoomEndEvent",
1656
+ "declaration": {
1657
+ "name": "SigveloMapZoomEndEvent",
1658
+ "module": "src/events/map.ts"
1659
+ }
1660
+ },
1661
+ {
1662
+ "kind": "js",
1663
+ "name": "SigveloMapZoomEvent",
1664
+ "declaration": {
1665
+ "name": "SigveloMapZoomEvent",
1666
+ "module": "src/events/map.ts"
1667
+ }
1668
+ }
1669
+ ]
1670
+ },
1671
+ {
1672
+ "kind": "javascript-module",
1673
+ "path": "src/index.ts",
1674
+ "declarations": [],
1675
+ "exports": [
1676
+ {
1677
+ "kind": "js",
1678
+ "name": "*",
1679
+ "declaration": {
1680
+ "name": "*",
1681
+ "module": "src/events/index.js"
1682
+ }
1683
+ },
1684
+ {
1685
+ "kind": "js",
1686
+ "name": "*",
1687
+ "declaration": {
1688
+ "name": "*",
1689
+ "module": "src/types/index.js"
1690
+ }
1691
+ },
1692
+ {
1693
+ "kind": "js",
1694
+ "name": "*",
1695
+ "declaration": {
1696
+ "name": "*",
1697
+ "module": "src/classification/index.js"
1698
+ }
1699
+ },
1700
+ {
1701
+ "kind": "js",
1702
+ "name": "GeoMapElement",
1703
+ "declaration": {
1704
+ "name": "GeoMapElement",
1705
+ "module": "./base/geo-map-element.js"
1706
+ }
1707
+ },
1708
+ {
1709
+ "kind": "js",
1710
+ "name": "SigveloGeoClassifyPanel",
1711
+ "declaration": {
1712
+ "name": "SigveloGeoClassifyPanel",
1713
+ "module": "./components/classify-panel/classify-panel.js"
1714
+ }
1715
+ },
1716
+ {
1717
+ "kind": "js",
1718
+ "name": "SigveloGeoLegend",
1719
+ "declaration": {
1720
+ "name": "SigveloGeoLegend",
1721
+ "module": "./components/legend/legend.js"
1722
+ }
1723
+ }
1724
+ ]
1725
+ },
1726
+ {
1727
+ "kind": "javascript-module",
1728
+ "path": "src/types/coordinates.ts",
1729
+ "declarations": [],
1730
+ "exports": []
1731
+ },
1732
+ {
1733
+ "kind": "javascript-module",
1734
+ "path": "src/types/geojson.ts",
1735
+ "declarations": [],
1736
+ "exports": []
1737
+ },
1738
+ {
1739
+ "kind": "javascript-module",
1740
+ "path": "src/types/index.ts",
1741
+ "declarations": [],
1742
+ "exports": [
1743
+ {
1744
+ "kind": "js",
1745
+ "name": "*",
1746
+ "declaration": {
1747
+ "name": "*",
1748
+ "module": "src/types/coordinates.js"
1749
+ }
1750
+ },
1751
+ {
1752
+ "kind": "js",
1753
+ "name": "*",
1754
+ "declaration": {
1755
+ "name": "*",
1756
+ "module": "src/types/geojson.js"
1757
+ }
1758
+ },
1759
+ {
1760
+ "kind": "js",
1761
+ "name": "*",
1762
+ "declaration": {
1763
+ "name": "*",
1764
+ "module": "src/types/map.js"
1765
+ }
1766
+ },
1767
+ {
1768
+ "kind": "js",
1769
+ "name": "*",
1770
+ "declaration": {
1771
+ "name": "*",
1772
+ "module": "src/types/style.js"
1773
+ }
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "kind": "javascript-module",
1779
+ "path": "src/types/map.ts",
1780
+ "declarations": [],
1781
+ "exports": []
1782
+ },
1783
+ {
1784
+ "kind": "javascript-module",
1785
+ "path": "src/types/style.ts",
1786
+ "declarations": [],
1787
+ "exports": []
1788
+ }
1789
+ ],
1790
+ "package": {
1791
+ "name": "@mcp-b/geo-support",
1792
+ "description": "Shared base classes, events, types, and styles for Sigvelo geo component libraries.",
1793
+ "version": "0.2.0",
1794
+ "license": "MIT"
1795
+ }
1796
+ }