@mcp-b/geo-support 0.2.18 → 0.3.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 (47) hide show
  1. package/dist/base/control-placement.d.ts +6 -0
  2. package/dist/base/control-placement.d.ts.map +1 -0
  3. package/dist/base/control-placement.js +84 -0
  4. package/dist/base/control-placement.js.map +1 -0
  5. package/dist/base/find-map-element.d.ts +17 -0
  6. package/dist/base/find-map-element.d.ts.map +1 -0
  7. package/dist/base/find-map-element.js +34 -0
  8. package/dist/base/find-map-element.js.map +1 -0
  9. package/dist/base/geo-map-element.d.ts +17 -3
  10. package/dist/base/geo-map-element.d.ts.map +1 -1
  11. package/dist/base/geo-map-element.js +42 -1
  12. package/dist/base/geo-map-element.js.map +1 -1
  13. package/dist/base/popup-content.d.ts +9 -0
  14. package/dist/base/popup-content.d.ts.map +1 -0
  15. package/dist/base/popup-content.js +13 -0
  16. package/dist/base/popup-content.js.map +1 -0
  17. package/dist/classification/algorithms.d.ts +2 -1
  18. package/dist/classification/algorithms.d.ts.map +1 -1
  19. package/dist/classification/algorithms.js +14 -3
  20. package/dist/classification/algorithms.js.map +1 -1
  21. package/dist/components/classify-panel/classify-panel.d.ts.map +1 -1
  22. package/dist/components/classify-panel/classify-panel.js +24 -18
  23. package/dist/components/classify-panel/classify-panel.js.map +1 -1
  24. package/dist/components/classify-panel/classify-panel.styles.d.ts.map +1 -1
  25. package/dist/components/classify-panel/classify-panel.styles.js +39 -27
  26. package/dist/components/classify-panel/classify-panel.styles.js.map +1 -1
  27. package/dist/components/legend/legend.d.ts.map +1 -1
  28. package/dist/components/legend/legend.js +19 -9
  29. package/dist/components/legend/legend.js.map +1 -1
  30. package/dist/components/legend/legend.styles.d.ts.map +1 -1
  31. package/dist/components/legend/legend.styles.js +34 -15
  32. package/dist/components/legend/legend.styles.js.map +1 -1
  33. package/dist/docs/custom-elements.json +170 -5
  34. package/dist/styles/control.styles.d.ts +4 -0
  35. package/dist/styles/control.styles.d.ts.map +1 -0
  36. package/dist/styles/control.styles.js +14 -0
  37. package/dist/styles/control.styles.js.map +1 -0
  38. package/dist/styles/map-child.styles.d.ts +8 -0
  39. package/dist/styles/map-child.styles.d.ts.map +1 -0
  40. package/dist/styles/map-child.styles.js +12 -0
  41. package/dist/styles/map-child.styles.js.map +1 -0
  42. package/dist/styles/map-host.styles.d.ts.map +1 -1
  43. package/dist/styles/map-host.styles.js +5 -0
  44. package/dist/styles/map-host.styles.js.map +1 -1
  45. package/dist/types/map.d.ts +2 -0
  46. package/dist/types/map.d.ts.map +1 -1
  47. package/package.json +2 -2
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Keep slotted content in its owning control while the engine lays out an empty
3
+ * placeholder. This also works for controls inside a composition's shadow root.
4
+ */
5
+ export declare function placeControl(control: HTMLElement, placeholder: HTMLElement, map: HTMLElement): () => void;
6
+ //# sourceMappingURL=control-placement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-placement.d.ts","sourceRoot":"","sources":["../../src/base/control-placement.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,WAAW,GACf,MAAM,IAAI,CAqDZ"}
@@ -0,0 +1,84 @@
1
+ /** Untransformed border-box dimensions without offsetWidth/offsetHeight rounding. */
2
+ function borderBox(style) {
3
+ let width = Number.parseFloat(style.width);
4
+ let height = Number.parseFloat(style.height);
5
+ if (style.boxSizing !== "border-box") {
6
+ width +=
7
+ Number.parseFloat(style.paddingLeft) +
8
+ Number.parseFloat(style.paddingRight) +
9
+ Number.parseFloat(style.borderLeftWidth) +
10
+ Number.parseFloat(style.borderRightWidth);
11
+ height +=
12
+ Number.parseFloat(style.paddingTop) +
13
+ Number.parseFloat(style.paddingBottom) +
14
+ Number.parseFloat(style.borderTopWidth) +
15
+ Number.parseFloat(style.borderBottomWidth);
16
+ }
17
+ return { width, height };
18
+ }
19
+ /**
20
+ * Keep slotted content in its owning control while the engine lays out an empty
21
+ * placeholder. This also works for controls inside a composition's shadow root.
22
+ */
23
+ export function placeControl(control, placeholder, map) {
24
+ let frame = 0;
25
+ let active = true;
26
+ const place = () => {
27
+ frame = 0;
28
+ if (!active || !control.isConnected || !placeholder.isConnected)
29
+ return;
30
+ const bounds = control.getBoundingClientRect();
31
+ const mapBounds = map.getBoundingClientRect();
32
+ const mapSize = borderBox(getComputedStyle(map));
33
+ if (!mapSize.width || !mapSize.height || !mapBounds.width || !mapBounds.height)
34
+ return;
35
+ const mapScaleX = mapBounds.width / mapSize.width;
36
+ const mapScaleY = mapBounds.height / mapSize.height;
37
+ const width = `${bounds.width / mapScaleX}px`;
38
+ const height = `${bounds.height / mapScaleY}px`;
39
+ if (placeholder.style.width !== width)
40
+ placeholder.style.width = width;
41
+ if (placeholder.style.height !== height)
42
+ placeholder.style.height = height;
43
+ // Empty slots still release their footprint; only positioning needs a nonzero scale.
44
+ if (!bounds.width || !bounds.height)
45
+ return;
46
+ const target = placeholder.getBoundingClientRect();
47
+ // ponytail: axis-aligned placement; use DOMMatrix if rotated/skewed hosts are required.
48
+ // Work in the control's own containing block, including translated/scaled ancestors.
49
+ // Rounded offsets distort the scale for fractional content sizes and magnify
50
+ // that error when a map resize moves a control a long distance.
51
+ const style = getComputedStyle(control);
52
+ const size = borderBox(style);
53
+ const scaleX = bounds.width / size.width;
54
+ const scaleY = bounds.height / size.height;
55
+ if (Math.abs(target.left - bounds.left) > 0.1) {
56
+ control.style.left = `${Number.parseFloat(style.left) + (target.left - bounds.left) / scaleX}px`;
57
+ }
58
+ if (Math.abs(target.top - bounds.top) > 0.1) {
59
+ control.style.top = `${Number.parseFloat(style.top) + (target.top - bounds.top) / scaleY}px`;
60
+ }
61
+ };
62
+ const schedule = () => {
63
+ if (active && !frame)
64
+ frame = requestAnimationFrame(place);
65
+ };
66
+ const observer = new ResizeObserver(schedule);
67
+ observer.observe(control);
68
+ observer.observe(map);
69
+ observer.observe(placeholder);
70
+ // A sibling control changing size moves this placeholder without resizing it.
71
+ if (placeholder.parentElement)
72
+ observer.observe(placeholder.parentElement);
73
+ control.ownerDocument.addEventListener("scroll", schedule, true);
74
+ schedule();
75
+ return () => {
76
+ active = false;
77
+ observer.disconnect();
78
+ cancelAnimationFrame(frame);
79
+ control.ownerDocument.removeEventListener("scroll", schedule, true);
80
+ control.style.removeProperty("left");
81
+ control.style.removeProperty("top");
82
+ };
83
+ }
84
+ //# sourceMappingURL=control-placement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-placement.js","sourceRoot":"","sources":["../../src/base/control-placement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Find the map element enclosing a declarative map child, across shadow roots.
3
+ *
4
+ * `Element.closest()` stops at the shadow boundary, so a child silently
5
+ * no-ops whenever a host application composes these elements inside its own
6
+ * component. This walks the shadow-including ancestors instead — up
7
+ * `parentNode`, and from a shadow root on to its host — so the nearest
8
+ * enclosing map wins exactly as it does within a single tree. Nesting is
9
+ * therefore still resolved innermost-first: an outer map is only reached
10
+ * after every closer ancestor has been rejected.
11
+ *
12
+ * The walk follows nesting, not slot assignment. A child a host application
13
+ * slots into a map from outside the map's own tree is not found: slotting is
14
+ * not resolved yet at the moment a child connects and looks its map up.
15
+ */
16
+ export declare function findMapElement<K extends keyof HTMLElementTagNameMap>(element: Element, tagName: K): HTMLElementTagNameMap[K] | null;
17
+ //# sourceMappingURL=find-map-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-map-element.d.ts","sourceRoot":"","sources":["../../src/base/find-map-element.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAClE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,GACT,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CASjC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Narrow a node to the element type its tag name is registered as. The
3
+ * `HTMLElementTagNameMap` augmentation each map element declares beside its
4
+ * `@customElement` registration is the single source for that pairing, so this
5
+ * is the one place the registry's tag-to-class guarantee is stated in types.
6
+ */
7
+ function isTagName(node, tagName) {
8
+ return node instanceof Element && node.localName === tagName;
9
+ }
10
+ /**
11
+ * Find the map element enclosing a declarative map child, across shadow roots.
12
+ *
13
+ * `Element.closest()` stops at the shadow boundary, so a child silently
14
+ * no-ops whenever a host application composes these elements inside its own
15
+ * component. This walks the shadow-including ancestors instead — up
16
+ * `parentNode`, and from a shadow root on to its host — so the nearest
17
+ * enclosing map wins exactly as it does within a single tree. Nesting is
18
+ * therefore still resolved innermost-first: an outer map is only reached
19
+ * after every closer ancestor has been rejected.
20
+ *
21
+ * The walk follows nesting, not slot assignment. A child a host application
22
+ * slots into a map from outside the map's own tree is not found: slotting is
23
+ * not resolved yet at the moment a child connects and looks its map up.
24
+ */
25
+ export function findMapElement(element, tagName) {
26
+ let current = element;
27
+ while (current) {
28
+ if (isTagName(current, tagName))
29
+ return current;
30
+ current = current.parentNode ?? (current instanceof ShadowRoot ? current.host : null);
31
+ }
32
+ return null;
33
+ }
34
+ //# sourceMappingURL=find-map-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-map-element.js","sourceRoot":"","sources":["../../src/base/find-map-element.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,SAAS,SAAS,CAChB,IAAU,EACV,OAAU;IAEV,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,OAAU;IAEV,IAAI,OAAO,GAAgB,OAAO,CAAC;IAEnC,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAChD,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -11,6 +11,7 @@ import type { FlyToOptions, FitBoundsOptions } from "../types/map.js";
11
11
  */
12
12
  export declare abstract class GeoMapElement extends SigveloElement {
13
13
  static styles: import("lit").CSSResult[];
14
+ private static pendingChildren;
14
15
  /** Map center latitude. */
15
16
  latitude: number;
16
17
  /** Map center longitude. */
@@ -34,11 +35,22 @@ export declare abstract class GeoMapElement extends SigveloElement {
34
35
  */
35
36
  protected _suppressExternalUpdate: boolean;
36
37
  /**
37
- * Resolved when the underlying map instance is ready. Child components
38
- * (markers, layers, controls) should await this before registering.
38
+ * Resolved when the current map instance is ready. A new promise is created
39
+ * after disconnect, so awaiting this alone says nothing about which instance
40
+ * is current once it settles — children attach through {@link whenMapReady},
41
+ * which resolves that question for them.
39
42
  */
40
- readonly mapReady: Promise<void>;
43
+ get mapReady(): Promise<void>;
44
+ private _mapReady;
41
45
  protected _resolveMapReady: () => void;
46
+ /**
47
+ * Attach `child` when the current map is ready, if its connection is still
48
+ * current. Map disconnect replaces `mapReady`; a newer child connection
49
+ * supersedes its previous wait, even when it reconnects to the same map.
50
+ * Run `attach` synchronously with these checks: returning a boolean would
51
+ * leave a microtask gap before registration where either could become stale.
52
+ */
53
+ whenMapReady(child: Element, attach: () => void): Promise<void>;
42
54
  constructor();
43
55
  /** Create the map instance and attach it to the given container element. */
44
56
  protected abstract createMap(container: HTMLElement): void;
@@ -52,7 +64,9 @@ export declare abstract class GeoMapElement extends SigveloElement {
52
64
  abstract flyTo(options: FlyToOptions): void;
53
65
  /** Programmatically fit the map to bounds. */
54
66
  abstract fitBounds(options: FitBoundsOptions): void;
67
+ connectedCallback(): void;
55
68
  protected firstUpdated(changed: PropertyValues): void;
69
+ private _initializeMap;
56
70
  protected updated(changed: PropertyValues): void;
57
71
  disconnectedCallback(): void;
58
72
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"geo-map-element.d.ts","sourceRoot":"","sources":["../../src/base/geo-map-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;GAOG;AACH,8BAAsB,aAAc,SAAQ,cAAc;IACxD,MAAM,CAAC,MAAM,4BAA+B;IAE5C,2BAA2B;IACC,QAAQ,SAAK;IAEzC,4BAA4B;IACA,SAAS,SAAK;IAE1C,sBAAsB;IACM,IAAI,SAAK;IAErC,kCAAkC;IACiB,OAAO,SAAK;IAE/D,kCAAkC;IACiB,OAAO,SAAM;IAEhE,yEAAyE;IAC7C,OAAO,SAAK;IAExC,mEAAmE;IACvC,KAAK,SAAK;IAElB,SAAS,CAAC,OAAO,EAAG,cAAc,CAAC;IAEvD,OAAO,CAAC,eAAe,CAA+B;IAEtD;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,UAAS;IAE1C;;;OAGG;IACH,SAAgB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,gBAAgB,EAAG,MAAM,IAAI,CAAC;;IASxC,4EAA4E;IAC5E,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAE1D,uDAAuD;IACvD,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAErC,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAE5D,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;IAEzC,0CAA0C;aAC1B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAElD,8CAA8C;aAC9B,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAE1D,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc;IAU9C,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;IAOzC,oBAAoB;IAOpB,MAAM;CAMP"}
1
+ {"version":3,"file":"geo-map-element.d.ts","sourceRoot":"","sources":["../../src/base/geo-map-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;GAOG;AACH,8BAAsB,aAAc,SAAQ,cAAc;IACxD,MAAM,CAAC,MAAM,4BAA+B;IAE5C,OAAO,CAAC,MAAM,CAAC,eAAe,CAAkC;IAEhE,2BAA2B;IACC,QAAQ,SAAK;IAEzC,4BAA4B;IACA,SAAS,SAAK;IAE1C,sBAAsB;IACM,IAAI,SAAK;IAErC,kCAAkC;IACiB,OAAO,SAAK;IAE/D,kCAAkC;IACiB,OAAO,SAAM;IAEhE,yEAAyE;IAC7C,OAAO,SAAK;IAExC,mEAAmE;IACvC,KAAK,SAAK;IAElB,SAAS,CAAC,OAAO,EAAG,cAAc,CAAC;IAEvD,OAAO,CAAC,eAAe,CAA+B;IAEtD;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,UAAS;IAE1C;;;;;OAKG;IACH,IAAW,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IACD,OAAO,CAAC,SAAS,CAAgB;IACjC,SAAS,CAAC,gBAAgB,EAAG,MAAM,IAAI,CAAC;IAExC;;;;;;OAMG;IACU,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;;IAiB5E,4EAA4E;IAC5E,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAE1D,uDAAuD;IACvD,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAErC,2DAA2D;IAC3D,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAE5D,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;IAEzC,0CAA0C;aAC1B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAElD,8CAA8C;aAC9B,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAE1D,iBAAiB;IAKjB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc;IAK9C,OAAO,CAAC,cAAc;IAUtB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;IAOzC,oBAAoB;IAUpB,MAAM;CAMP"}
@@ -18,6 +18,33 @@ import mapHostStyles from "../styles/map-host.styles.js";
18
18
  * `invalidateSize`.
19
19
  */
20
20
  export class GeoMapElement extends SigveloElement {
21
+ /**
22
+ * Resolved when the current map instance is ready. A new promise is created
23
+ * after disconnect, so awaiting this alone says nothing about which instance
24
+ * is current once it settles — children attach through {@link whenMapReady},
25
+ * which resolves that question for them.
26
+ */
27
+ get mapReady() {
28
+ return this._mapReady;
29
+ }
30
+ /**
31
+ * Attach `child` when the current map is ready, if its connection is still
32
+ * current. Map disconnect replaces `mapReady`; a newer child connection
33
+ * supersedes its previous wait, even when it reconnects to the same map.
34
+ * Run `attach` synchronously with these checks: returning a boolean would
35
+ * leave a microtask gap before registration where either could become stale.
36
+ */
37
+ async whenMapReady(child, attach) {
38
+ const ready = this._mapReady;
39
+ const connection = Symbol();
40
+ GeoMapElement.pendingChildren.set(child, connection);
41
+ await ready;
42
+ if (GeoMapElement.pendingChildren.get(child) !== connection)
43
+ return;
44
+ GeoMapElement.pendingChildren.delete(child);
45
+ if (child.isConnected && this._mapReady === ready)
46
+ attach();
47
+ }
21
48
  constructor() {
22
49
  super();
23
50
  /** Map center latitude. */
@@ -41,12 +68,22 @@ export class GeoMapElement extends SigveloElement {
41
68
  * before syncing properties from the map, and back to `false` after.
42
69
  */
43
70
  this._suppressExternalUpdate = false;
44
- this.mapReady = new Promise((resolve) => {
71
+ this._mapReady = new Promise((resolve) => {
45
72
  this._resolveMapReady = resolve;
46
73
  });
47
74
  }
75
+ connectedCallback() {
76
+ super.connectedCallback();
77
+ if (this.hasUpdated)
78
+ this._initializeMap();
79
+ }
48
80
  firstUpdated(changed) {
49
81
  super.firstUpdated(changed);
82
+ this._initializeMap();
83
+ }
84
+ _initializeMap() {
85
+ if (!this.isConnected || this._resizeObserver)
86
+ return;
50
87
  this.createMap(this.mapHost);
51
88
  this._resizeObserver = new ResizeObserver(() => {
52
89
  this.invalidateSize();
@@ -64,6 +101,9 @@ export class GeoMapElement extends SigveloElement {
64
101
  this._resizeObserver?.disconnect();
65
102
  this._resizeObserver = null;
66
103
  this.destroyMap();
104
+ this._mapReady = new Promise((resolve) => {
105
+ this._resolveMapReady = resolve;
106
+ });
67
107
  }
68
108
  render() {
69
109
  return html `
@@ -73,6 +113,7 @@ export class GeoMapElement extends SigveloElement {
73
113
  }
74
114
  }
75
115
  GeoMapElement.styles = [hostStyles, mapHostStyles];
116
+ GeoMapElement.pendingChildren = new WeakMap();
76
117
  __decorate([
77
118
  property({ type: Number })
78
119
  ], GeoMapElement.prototype, "latitude", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"geo-map-element.js","sourceRoot":"","sources":["../../src/base/geo-map-element.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAC9D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAGzD;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAc,SAAQ,cAAc;IA0CxD;QACE,KAAK,EAAE,CAAC;QAxCV,2BAA2B;QACC,aAAQ,GAAG,CAAC,CAAC;QAEzC,4BAA4B;QACA,cAAS,GAAG,CAAC,CAAC;QAE1C,sBAAsB;QACM,SAAI,GAAG,CAAC,CAAC;QAErC,kCAAkC;QACiB,YAAO,GAAG,CAAC,CAAC;QAE/D,kCAAkC;QACiB,YAAO,GAAG,EAAE,CAAC;QAEhE,yEAAyE;QAC7C,YAAO,GAAG,CAAC,CAAC;QAExC,mEAAmE;QACvC,UAAK,GAAG,CAAC,CAAC;QAI9B,oBAAe,GAA0B,IAAI,CAAC;QAEtD;;;;WAIG;QACO,4BAAuB,GAAG,KAAK,CAAC;QAWxC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAoBS,YAAY,CAAC,OAAuB;QAC5C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAES,OAAO,CAAC,OAAuB;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;;AA/FM,oBAAM,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,AAA9B,CAA+B;AAGhB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAc;AAGb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAe;AAGd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAAU;AAGc;IAAlD,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAa;AAGZ;IAAlD,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAc;AAGpC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAa;AAGZ;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAW;AAER;IAA7B,KAAK,CAAC,WAAW,CAAC;8CAAoC"}
1
+ {"version":3,"file":"geo-map-element.js","sourceRoot":"","sources":["../../src/base/geo-map-element.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAC9D,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAGzD;;;;;;;GAOG;AACH,MAAM,OAAgB,aAAc,SAAQ,cAAc;IAqCxD;;;;;OAKG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAID;;;;;;OAMG;IACI,KAAK,CAAC,YAAY,CAAC,KAAc,EAAE,MAAkB;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;QAC5B,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,KAAK,CAAC;QACZ,IAAI,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,UAAU;YAAE,OAAO;QACpE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QA9DV,2BAA2B;QACC,aAAQ,GAAG,CAAC,CAAC;QAEzC,4BAA4B;QACA,cAAS,GAAG,CAAC,CAAC;QAE1C,sBAAsB;QACM,SAAI,GAAG,CAAC,CAAC;QAErC,kCAAkC;QACiB,YAAO,GAAG,CAAC,CAAC;QAE/D,kCAAkC;QACiB,YAAO,GAAG,EAAE,CAAC;QAEhE,yEAAyE;QAC7C,YAAO,GAAG,CAAC,CAAC;QAExC,mEAAmE;QACvC,UAAK,GAAG,CAAC,CAAC;QAI9B,oBAAe,GAA0B,IAAI,CAAC;QAEtD;;;;WAIG;QACO,4BAAuB,GAAG,KAAK,CAAC;QAiCxC,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAoBD,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7C,CAAC;IAES,YAAY,CAAC,OAAuB;QAC5C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7B,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAES,OAAO,CAAC,OAAuB;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;KAGV,CAAC;IACJ,CAAC;;AApIM,oBAAM,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,AAA9B,CAA+B;AAE7B,6BAAe,GAAG,IAAI,OAAO,EAAmB,AAAjC,CAAkC;AAGpC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAc;AAGb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAe;AAGd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAAU;AAGc;IAAlD,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAa;AAGZ;IAAlD,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAc;AAGpC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAa;AAGZ;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAW;AAER;IAA7B,KAAK,CAAC,WAAW,CAAC;8CAAoC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Snapshot a `<sigvelo-*-popup>` child's content into a detached container the
3
+ * map engine can own. Every engine takes a popup as a DOM element it inserts,
4
+ * moves, and destroys on its own schedule, so it must not be handed the popup
5
+ * element's live children — a deep clone leaves the declared markup intact for
6
+ * the next render.
7
+ */
8
+ export declare function clonePopupContent(popup: Element): HTMLDivElement;
9
+ //# sourceMappingURL=popup-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-content.d.ts","sourceRoot":"","sources":["../../src/base/popup-content.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAIhE"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Snapshot a `<sigvelo-*-popup>` child's content into a detached container the
3
+ * map engine can own. Every engine takes a popup as a DOM element it inserts,
4
+ * moves, and destroys on its own schedule, so it must not be handed the popup
5
+ * element's live children — a deep clone leaves the declared markup intact for
6
+ * the next render.
7
+ */
8
+ export function clonePopupContent(popup) {
9
+ const content = document.createElement("div");
10
+ content.append(...Array.from(popup.childNodes, (node) => node.cloneNode(true)));
11
+ return content;
12
+ }
13
+ //# sourceMappingURL=popup-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-content.js","sourceRoot":"","sources":["../../src/base/popup-content.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -20,7 +20,8 @@ export declare function naturalBreaks(values: number[], numClasses: number): num
20
20
  /**
21
21
  * Returns the class index (0-based) for a value given a breaks array.
22
22
  * The breaks array has `numClasses + 1` entries: [min, break1, ..., max].
23
- * Returns -1 for NaN/null/undefined values.
23
+ * Returns -1 when the value cannot be classified, including against an empty
24
+ * breaks array — which is what the break functions return for no input.
24
25
  */
25
26
  export declare function classifyValue(value: number, breaks: number[]): number;
26
27
  //# sourceMappingURL=algorithms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"algorithms.d.ts","sourceRoot":"","sources":["../../src/classification/algorithms.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAY7E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAiE5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAOrE"}
1
+ {"version":3,"file":"algorithms.d.ts","sourceRoot":"","sources":["../../src/classification/algorithms.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAa7E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAoE5E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAQrE"}
@@ -7,6 +7,8 @@
7
7
  * Divides the range [min, max] into equal-width bins.
8
8
  */
9
9
  export function equalInterval(values, numClasses) {
10
+ if (values.length === 0)
11
+ return [];
10
12
  const min = Math.min(...values);
11
13
  const max = Math.max(...values);
12
14
  const step = (max - min) / numClasses;
@@ -17,6 +19,8 @@ export function equalInterval(values, numClasses) {
17
19
  * Splits sorted values into groups of approximately equal count.
18
20
  */
19
21
  export function quantileBreaks(values, numClasses) {
22
+ if (values.length === 0)
23
+ return [];
20
24
  const sorted = [...values].toSorted((a, b) => a - b);
21
25
  const n = sorted.length;
22
26
  const breaks = [sorted[0]];
@@ -32,6 +36,8 @@ export function quantileBreaks(values, numClasses) {
32
36
  * Minimizes within-class variance using dynamic programming.
33
37
  */
34
38
  export function naturalBreaks(values, numClasses) {
39
+ if (values.length === 0)
40
+ return [];
35
41
  const sorted = [...values].toSorted((a, b) => a - b);
36
42
  const n = sorted.length;
37
43
  if (n <= numClasses) {
@@ -77,21 +83,26 @@ export function naturalBreaks(values, numClasses) {
77
83
  breaks[0] = sorted[0];
78
84
  let k = n;
79
85
  for (let j = numClasses; j >= 2; j--) {
80
- const idx = lc[k][j] - 1;
86
+ // lc holds 1-based lower bounds, and a cell the DP never filled is still 0.
87
+ // Backtracking into one would read sorted[-1] and emit an undefined break.
88
+ const idx = Math.max(0, lc[k][j] - 1);
81
89
  breaks[j - 1] = sorted[idx];
82
- k = lc[k][j] - 1;
90
+ k = idx;
83
91
  }
84
92
  return breaks;
85
93
  }
86
94
  /**
87
95
  * Returns the class index (0-based) for a value given a breaks array.
88
96
  * The breaks array has `numClasses + 1` entries: [min, break1, ..., max].
89
- * Returns -1 for NaN/null/undefined values.
97
+ * Returns -1 when the value cannot be classified, including against an empty
98
+ * breaks array — which is what the break functions return for no input.
90
99
  */
91
100
  export function classifyValue(value, breaks) {
92
101
  if (value == null || Number.isNaN(value))
93
102
  return -1;
94
103
  const numClasses = breaks.length - 1;
104
+ if (numClasses < 1)
105
+ return -1;
95
106
  for (let i = 1; i <= numClasses; i++) {
96
107
  if (value <= breaks[i])
97
108
  return i - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"algorithms.js","sourceRoot":"","sources":["../../src/classification/algorithms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algorithms.js","sourceRoot":"","sources":["../../src/classification/algorithms.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classify-panel.d.ts","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAuBlF;;;;;;;;;;;;;;;GAeG;AACH,qBACa,uBAAwB,SAAQ,cAAc;IACzD,MAAM,CAAC,MAAM,4BAAwB;IAErC;;;OAGG;IACS,OAAO,SAAM;IAEzB,mFAAmF;IACnD,IAAI,EAAE,cAAc,EAAE,CAAM;IAE5D,4CAA4C;IAChC,QAAQ,SAAM;IAE1B,2DAA2D;IAC3B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAEpF,6BAA6B;IACjB,MAAM,EAAE,oBAAoB,CAAmB;IAE3D,qEAAqE;IAC7B,UAAU,EAAE,eAAe,CAAgB;IAEnF,kCAAkC;IACtB,MAAM,SAAW;IAE7B,yBAAyB;IAC6B,UAAU,SAAK;IAErE,iDAAiD;IACR,WAAW,SAAU;IAE9D,iDAAiD;IACM,WAAW,SAAK;IAEvE,iDAAiD;IACM,WAAW,SAAQ;IAE1E,8CAA8C;IACF,SAAS,UAAS;IAE9D,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,QAAQ;IA+BhB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;IAgBzC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAIxB,MAAM;CAuEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,4BAA4B,EAAE,uBAAuB,CAAC;KACvD;CACF"}
1
+ {"version":3,"file":"classify-panel.d.ts","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAuBlF;;;;;;;;;;;;;;;GAeG;AACH,qBACa,uBAAwB,SAAQ,cAAc;IACzD,MAAM,CAAC,MAAM,4BAAwB;IAErC;;;OAGG;IACS,OAAO,SAAM;IAEzB,mFAAmF;IACnD,IAAI,EAAE,cAAc,EAAE,CAAM;IAE5D,4CAA4C;IAChC,QAAQ,SAAM;IAE1B,2DAA2D;IAC3B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAEpF,6BAA6B;IACjB,MAAM,EAAE,oBAAoB,CAAmB;IAE3D,qEAAqE;IAC7B,UAAU,EAAE,eAAe,CAAgB;IAEnF,kCAAkC;IACtB,MAAM,SAAW;IAE7B,yBAAyB;IAC6B,UAAU,SAAK;IAErE,iDAAiD;IACR,WAAW,SAAU;IAE9D,iDAAiD;IACM,WAAW,SAAK;IAEvE,iDAAiD;IACM,WAAW,SAAQ;IAE1E,8CAA8C;IACF,SAAS,UAAS;IAE9D,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,QAAQ;IA+BhB,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc;IAgBzC,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,gBAAgB;IAIxB,MAAM;CA6EP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,4BAA4B,EAAE,uBAAuB,CAAC;KACvD;CACF"}
@@ -14,7 +14,7 @@ import { createClassifyStyle } from "../../classification/classify-style.js";
14
14
  import { publishClassify } from "../../classification/channel.js";
15
15
  import styles from "./classify-panel.styles.js";
16
16
  const chevronSvg = html `
17
- <svg class="panel__chevron" viewBox="0 0 16 16" aria-hidden="true">
17
+ <svg class="sigvelo-geo-panel__chevron" viewBox="0 0 16 16" aria-hidden="true">
18
18
  <path
19
19
  d="M4.94 2.94a1.5 1.5 0 0 1 2.12 0L12 7.88a.17.17 0 0 1 0 .24l-4.94 4.94a1.5 1.5 0 0 1-2.12-2.12L8.88 7l-.94-.94L4.94 5.06a1.5 1.5 0 0 1 0-2.12Z"
20
20
  />
@@ -169,40 +169,40 @@ let SigveloGeoClassifyPanel = class SigveloGeoClassifyPanel extends SigveloEleme
169
169
  const fields = this.collapsed
170
170
  ? nothing
171
171
  : html `
172
- <div class="panel__fields" part="fields">
173
- <label class="panel__field">
174
- <span class="panel__label">Property</span>
172
+ <div class="sigvelo-geo-panel__fields" part="fields">
173
+ <label class="sigvelo-geo-panel__field">
174
+ <span class="sigvelo-geo-panel__label">Property</span>
175
175
  <select .value=${this.property} @change=${this._handlePropertyChange}>
176
176
  ${this.properties.map((p) => html `<option value=${p.value}>${p.label}</option>`)}
177
177
  </select>
178
178
  </label>
179
179
 
180
- <label class="panel__field">
181
- <span class="panel__label">Method</span>
180
+ <label class="sigvelo-geo-panel__field">
181
+ <span class="sigvelo-geo-panel__label">Method</span>
182
182
  <select .value=${this.method} @change=${this._handleMethodChange}>
183
183
  ${METHOD_OPTIONS.map((m) => html `<option value=${m.value}>${m.label}</option>`)}
184
184
  </select>
185
185
  </label>
186
186
 
187
- <label class="panel__field">
188
- <span class="panel__label">Type</span>
187
+ <label class="sigvelo-geo-panel__field">
188
+ <span class="sigvelo-geo-panel__label">Type</span>
189
189
  <select .value=${this.schemeType} @change=${this._handleTypeChange}>
190
190
  ${TYPE_OPTIONS.map((t) => html `<option value=${t.value}>${t.label}</option>`)}
191
191
  </select>
192
192
  </label>
193
193
 
194
194
  <div>
195
- <label class="panel__field">
196
- <span class="panel__label">Scheme</span>
195
+ <label class="sigvelo-geo-panel__field">
196
+ <span class="sigvelo-geo-panel__label">Scheme</span>
197
197
  <select .value=${this.scheme} @change=${this._handleSchemeChange}>
198
198
  ${schemes.map((name) => html `<option value=${name}>${name}</option>`)}
199
199
  </select>
200
200
  </label>
201
201
  ${previewColors.length > 0
202
202
  ? html `
203
- <div class="panel__color-bar">
203
+ <div class="sigvelo-geo-panel__color-bar">
204
204
  ${previewColors.map((c) => html `<div
205
- class="panel__color-bar-segment"
205
+ class="sigvelo-geo-panel__color-bar-segment"
206
206
  style="background:${c}"
207
207
  ></div>`)}
208
208
  </div>
@@ -210,8 +210,8 @@ let SigveloGeoClassifyPanel = class SigveloGeoClassifyPanel extends SigveloEleme
210
210
  : nothing}
211
211
  </div>
212
212
 
213
- <label class="panel__field">
214
- <span class="panel__label">Classes</span>
213
+ <label class="sigvelo-geo-panel__field">
214
+ <span class="sigvelo-geo-panel__label">Classes</span>
215
215
  <select .value=${String(this.numClasses)} @change=${this._handleClassesChange}>
216
216
  ${availableClasses.map((n) => html `<option value=${String(n)}>${n}</option>`)}
217
217
  </select>
@@ -219,11 +219,17 @@ let SigveloGeoClassifyPanel = class SigveloGeoClassifyPanel extends SigveloEleme
219
219
  </div>
220
220
  `;
221
221
  return html `
222
- <div class="panel" part="container">
223
- <div class="panel__header" part="title" @click=${this._toggleCollapsed}>
224
- <span class="panel__title">Classification</span>
222
+ <div class="sigvelo-geo-panel" part="container">
223
+ <button
224
+ type="button"
225
+ class="sigvelo-geo-panel__header"
226
+ part="title"
227
+ aria-expanded=${!this.collapsed}
228
+ @click=${this._toggleCollapsed}
229
+ >
230
+ <span class="sigvelo-geo-panel__title">Classification</span>
225
231
  ${chevronSvg}
226
- </div>
232
+ </button>
227
233
  ${fields}
228
234
  </div>
229
235
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"classify-panel.js","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"classify-panel.js","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"classify-panel.styles.d.ts","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.styles.ts"],"names":[],"mappings":";AAEA,wBA6FE"}
1
+ {"version":3,"file":"classify-panel.styles.d.ts","sourceRoot":"","sources":["../../../src/components/classify-panel/classify-panel.styles.ts"],"names":[],"mappings":";AAEA,wBAyGE"}