@honua/app-platform 0.1.9-beta.0 → 0.1.10-beta.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 (190) hide show
  1. package/control-plane/admin-client.d.ts +2 -0
  2. package/control-plane/admin-client.d.ts.map +1 -1
  3. package/control-plane/admin-client.js +32 -1
  4. package/control-plane/client.d.ts +1 -1
  5. package/control-plane/client.d.ts.map +1 -1
  6. package/control-plane/client.js +124 -8
  7. package/control-plane/commands/catalog.d.ts +7 -7
  8. package/control-plane/commands/catalog.d.ts.map +1 -1
  9. package/control-plane/commands/catalog.js +27 -15
  10. package/control-plane/commands/runtime.d.ts +6 -6
  11. package/control-plane/commands/runtime.d.ts.map +1 -1
  12. package/control-plane/commands/runtime.js +26 -14
  13. package/control-plane/commands/types.d.ts +4 -2
  14. package/control-plane/commands/types.d.ts.map +1 -1
  15. package/control-plane/generated/admin-api.d.ts +6 -4
  16. package/control-plane/generated/admin-api.d.ts.map +1 -1
  17. package/control-plane/generated/admin-api.js +2 -2
  18. package/control-plane/generated/admin-operations.d.ts +7 -7
  19. package/control-plane/generated/admin-operations.d.ts.map +1 -1
  20. package/control-plane/generated/admin-operations.js +9 -9
  21. package/control-plane/index.d.ts +1 -1
  22. package/control-plane/index.d.ts.map +1 -1
  23. package/control-plane/index.js +1 -1
  24. package/controls/qualification.d.ts.map +1 -1
  25. package/controls/qualification.js +10 -6
  26. package/core/client.d.ts.map +1 -1
  27. package/core/client.js +28 -30
  28. package/core/error-envelope.d.ts +31 -0
  29. package/core/error-envelope.d.ts.map +1 -1
  30. package/core/error-envelope.js +11 -0
  31. package/core/errors.d.ts +15 -3
  32. package/core/errors.d.ts.map +1 -1
  33. package/core/errors.js +254 -2
  34. package/core/geometry-input-sr.d.ts +3 -0
  35. package/core/geometry-input-sr.d.ts.map +1 -0
  36. package/core/geometry-input-sr.js +28 -0
  37. package/core/geoservices.d.ts.map +1 -1
  38. package/core/geoservices.js +33 -6
  39. package/core/grpc-adapter.d.ts.map +1 -1
  40. package/core/grpc-adapter.js +11 -3
  41. package/core/pbf-decoder.d.ts.map +1 -1
  42. package/core/pbf-decoder.js +16 -4
  43. package/core/protocol-transport.d.ts +6 -1
  44. package/core/protocol-transport.d.ts.map +1 -1
  45. package/core/request-pipeline.d.ts +6 -3
  46. package/core/request-pipeline.d.ts.map +1 -1
  47. package/core/request-pipeline.js +28 -11
  48. package/core/spatial-filter.d.ts +4 -4
  49. package/core/spatial-filter.d.ts.map +1 -1
  50. package/core/spatial-filter.js +7 -7
  51. package/core/types.d.ts +14 -3
  52. package/core/types.d.ts.map +1 -1
  53. package/custom-elements.json +341 -0
  54. package/esri-compat/class-breaks-renderer.d.ts +2 -0
  55. package/esri-compat/class-breaks-renderer.d.ts.map +1 -1
  56. package/esri-compat/class-breaks-renderer.js +7 -0
  57. package/esri-compat/controls.d.ts +10 -1
  58. package/esri-compat/controls.d.ts.map +1 -1
  59. package/esri-compat/controls.js +86 -2
  60. package/esri-compat/directions.d.ts +35 -0
  61. package/esri-compat/directions.d.ts.map +1 -1
  62. package/esri-compat/directions.js +153 -2
  63. package/esri-compat/expand.d.ts +1 -0
  64. package/esri-compat/expand.d.ts.map +1 -1
  65. package/esri-compat/expand.js +61 -0
  66. package/esri-compat/feature-layer.d.ts +29 -4
  67. package/esri-compat/feature-layer.d.ts.map +1 -1
  68. package/esri-compat/feature-layer.js +335 -13
  69. package/esri-compat/geometry-engine.d.ts +4 -0
  70. package/esri-compat/geometry-engine.d.ts.map +1 -1
  71. package/esri-compat/geometry-engine.js +8 -1
  72. package/esri-compat/graphic.d.ts +7 -4
  73. package/esri-compat/graphic.d.ts.map +1 -1
  74. package/esri-compat/legend.d.ts +2 -1
  75. package/esri-compat/legend.d.ts.map +1 -1
  76. package/esri-compat/legend.js +15 -0
  77. package/esri-compat/map-view-mount.d.ts +48 -0
  78. package/esri-compat/map-view-mount.d.ts.map +1 -0
  79. package/esri-compat/map-view-mount.js +344 -0
  80. package/esri-compat/map-view.d.ts +38 -6
  81. package/esri-compat/map-view.d.ts.map +1 -1
  82. package/esri-compat/map-view.js +467 -33
  83. package/esri-compat/portal.d.ts +2 -0
  84. package/esri-compat/portal.d.ts.map +1 -1
  85. package/esri-compat/portal.js +7 -2
  86. package/esri-compat/renderer-objects.d.ts +7 -2
  87. package/esri-compat/renderer-objects.d.ts.map +1 -1
  88. package/esri-compat/renderer-objects.js +16 -5
  89. package/esri-compat/route-layer.d.ts +8 -0
  90. package/esri-compat/route-layer.d.ts.map +1 -1
  91. package/esri-compat/route-layer.js +24 -4
  92. package/esri-compat/route-task.d.ts +5 -1
  93. package/esri-compat/route-task.d.ts.map +1 -1
  94. package/esri-compat/route-task.js +119 -7
  95. package/esri-compat/scene-view.d.ts.map +1 -1
  96. package/esri-compat/scene-view.js +1 -0
  97. package/esri-compat/search.d.ts +2 -1
  98. package/esri-compat/search.d.ts.map +1 -1
  99. package/esri-compat/search.js +52 -2
  100. package/esri-compat/unique-value-renderer.d.ts +2 -0
  101. package/esri-compat/unique-value-renderer.d.ts.map +1 -1
  102. package/esri-compat/unique-value-renderer.js +7 -0
  103. package/esri-compat/web-map.d.ts +10 -0
  104. package/esri-compat/web-map.d.ts.map +1 -1
  105. package/esri-compat/web-map.js +102 -0
  106. package/geocoding/index.d.ts +1 -0
  107. package/geocoding/index.d.ts.map +1 -1
  108. package/geocoding/index.js +18 -8
  109. package/geocoding/provider-http.d.ts.map +1 -1
  110. package/geocoding/provider-http.js +3 -1
  111. package/map/webmap-maplibre.d.ts +2 -1
  112. package/map/webmap-maplibre.d.ts.map +1 -1
  113. package/map/webmap-maplibre.js +3 -0
  114. package/package.json +6 -4
  115. package/query-planner/geoservices.d.ts.map +1 -1
  116. package/query-planner/geoservices.js +2 -0
  117. package/query-planner/types.d.ts +2 -0
  118. package/query-planner/types.d.ts.map +1 -1
  119. package/realtime/honua-server.d.ts +4 -0
  120. package/realtime/honua-server.d.ts.map +1 -1
  121. package/realtime/honua-server.js +10 -0
  122. package/realtime/resumable.js +9 -0
  123. package/realtime/types.d.ts +8 -0
  124. package/realtime/types.d.ts.map +1 -1
  125. package/scene-workspace/index.d.ts +2 -2
  126. package/scene-workspace/index.d.ts.map +1 -1
  127. package/scene-workspace/index.js +1 -1
  128. package/scene-workspace/maplibre-state-sync.d.ts.map +1 -1
  129. package/scene-workspace/maplibre-state-sync.js +35 -3
  130. package/scene-workspace/primitives.d.ts +37 -5
  131. package/scene-workspace/primitives.d.ts.map +1 -1
  132. package/scene-workspace/primitives.js +46 -12
  133. package/scene-workspace/state-sync-port-kit.d.ts +1 -1
  134. package/scene-workspace/state-sync-port-kit.d.ts.map +1 -1
  135. package/studio/capability-manifest.d.ts +10 -0
  136. package/studio/capability-manifest.d.ts.map +1 -1
  137. package/studio/capability-manifest.js +38 -0
  138. package/studio/command-adapter.d.ts +35 -0
  139. package/studio/command-adapter.d.ts.map +1 -0
  140. package/studio/command-adapter.js +36 -0
  141. package/studio/generated/studio-api.d.ts +1062 -0
  142. package/studio/generated/studio-api.d.ts.map +1 -0
  143. package/studio/generated/studio-api.js +4 -0
  144. package/studio/index.d.ts +8 -6
  145. package/studio/index.d.ts.map +1 -1
  146. package/studio/index.js +6 -5
  147. package/studio/lifecycle-client.d.ts +3 -3
  148. package/studio/lifecycle-client.d.ts.map +1 -1
  149. package/studio/lifecycle-client.js +41 -22
  150. package/studio/lifecycle-types.d.ts +56 -77
  151. package/studio/lifecycle-types.d.ts.map +1 -1
  152. package/studio/lifecycle-types.js +5 -12
  153. package/studio/types.d.ts +37 -7
  154. package/studio/types.d.ts.map +1 -1
  155. package/studio/types.js +5 -3
  156. package/studio/validate.d.ts.map +1 -1
  157. package/studio/validate.js +104 -7
  158. package/style/renderers.d.ts +6 -1
  159. package/style/renderers.d.ts.map +1 -1
  160. package/style/renderers.js +11 -6
  161. package/style/visual-variables.d.ts +43 -0
  162. package/style/visual-variables.d.ts.map +1 -0
  163. package/style/visual-variables.js +183 -0
  164. package/web-components/index.d.ts +2 -1
  165. package/web-components/index.d.ts.map +1 -1
  166. package/web-components/index.js +1 -0
  167. package/web-components/map-pointer-claim.d.ts +24 -0
  168. package/web-components/map-pointer-claim.d.ts.map +1 -0
  169. package/web-components/map-pointer-claim.js +40 -0
  170. package/web-components/maplibre-renderer.d.ts.map +1 -1
  171. package/web-components/maplibre-renderer.js +5 -1
  172. package/web-components/measurement-units.d.ts +88 -0
  173. package/web-components/measurement-units.d.ts.map +1 -0
  174. package/web-components/measurement-units.js +278 -0
  175. package/web-components/measurement.d.ts +75 -4
  176. package/web-components/measurement.d.ts.map +1 -1
  177. package/web-components/measurement.js +227 -28
  178. package/web-components/types.d.ts +58 -3
  179. package/web-components/types.d.ts.map +1 -1
  180. package/webmap/convert-layer.d.ts +2 -1
  181. package/webmap/convert-layer.d.ts.map +1 -1
  182. package/webmap/convert-layer.js +20 -3
  183. package/webmap/convert-renderer.d.ts +10 -3
  184. package/webmap/convert-renderer.d.ts.map +1 -1
  185. package/webmap/convert-renderer.js +190 -36
  186. package/webmap/index.d.ts +1 -0
  187. package/webmap/index.d.ts.map +1 -1
  188. package/webmap/parse.d.ts +2 -1
  189. package/webmap/parse.d.ts.map +1 -1
  190. package/webmap/parse.js +1 -1
@@ -0,0 +1,183 @@
1
+ import { Expr, eq, exponential, get, interpolate, linear, rgba, switchCase, toNumber, typeOf, zoom, } from "../expr/expression.js";
2
+ /** Apply only explicit bindings; prototype names are valid source fields. */
3
+ export function bindRendererField(field, options) {
4
+ const bindings = options.fieldMap;
5
+ return bindings && Object.hasOwn(bindings, field) ? (bindings[field] ?? field) : field;
6
+ }
7
+ /** ArcGIS Web Mercator scale at MapLibre zoom zero: 512 CSS pixels, 96 DPI.
8
+ * This is projected scale, so latitude does not change it. Ground resolution
9
+ * differs by cos(latitude); $view.scale is not a ground-distance measurement.
10
+ */
11
+ export const WEB_MERCATOR_SCALE_AT_ZOOM_ZERO = (2 * Math.PI * 6378137 * 96) / (512 * 0.0254);
12
+ export function webMercatorScaleToZoom(scale) {
13
+ return Math.log2(WEB_MERCATOR_SCALE_AT_ZOOM_ZERO / scale);
14
+ }
15
+ export function compileVisualVariables(variables, layerType, basePaint, warn, options = {}, outlineWidth = 0, outlinePaint = {}) {
16
+ const result = { paint: {}, legends: [] };
17
+ if (variables === undefined)
18
+ return result;
19
+ if (!Array.isArray(variables)) {
20
+ warn.child("visualVariables").warn("unsupported-visual-variable", "Expected a visualVariables array.");
21
+ return result;
22
+ }
23
+ const assigned = new Set();
24
+ variables.forEach((input, index) => {
25
+ const at = warn.child(`visualVariables[${index}]`);
26
+ const reject = (message, property) => (property ? at.child(property) : at).warn("unsupported-visual-variable", message);
27
+ if (!isRecord(input))
28
+ return reject("Expected a visual variable object.");
29
+ const color = input.type === "colorInfo";
30
+ if (!color && input.type !== "sizeInfo")
31
+ return reject(`Unsupported visual variable type: ${String(input.type)}. Reauthor this variable.`, "type");
32
+ for (const key of Object.keys(input)) {
33
+ if (!KNOWN_PROPERTIES.has(key))
34
+ return reject(`Unsupported visual variable property '${key}'; this variable was not applied.`, key);
35
+ }
36
+ if (color &&
37
+ ["minDataValue", "maxDataValue", "minSize", "maxSize", "valueUnit"].some((key) => input[key] != null)) {
38
+ return reject("Size range properties cannot be applied to a colorInfo variable.");
39
+ }
40
+ const normalization = ["normalizationField", "normalizationType", "normalizationTotal"].find((key) => input[key] != null);
41
+ if (normalization) {
42
+ return reject("Visual variable normalization is unsupported; precompute a numeric field and bind it explicitly.", normalization);
43
+ }
44
+ const expression = input.valueExpression ?? input.expression;
45
+ const scale = !color && (expression === "$view.scale" || expression === "view.scale");
46
+ if (expression != null && !scale)
47
+ return reject("Unsupported visual variable expression; bind a numeric field or use $view.scale for sizeInfo.", input.valueExpression !== undefined ? "valueExpression" : "expression");
48
+ if (input.valueExpression !== undefined &&
49
+ input.expression !== undefined &&
50
+ !["$view.scale", "view.scale"].includes(String(input.expression))) {
51
+ return reject("Conflicting expression and valueExpression properties.", "expression");
52
+ }
53
+ if (!scale && (typeof input.field !== "string" || input.field.length === 0))
54
+ return reject("A numeric field is required.", "field");
55
+ if (input.valueUnit != null && input.valueUnit !== "unknown")
56
+ return reject("Real-world size units are unsupported; provide a screen size ramp in points.", "valueUnit");
57
+ const outline = !color && layerType === "fill" && input.target === "outline";
58
+ if (input.target != null && !outline)
59
+ return reject("Only sizeInfo on polygon outlines supports a target.", "target");
60
+ const property = color
61
+ ? { circle: "circle-color", line: "line-color", fill: "fill-color" }[layerType]
62
+ : outline
63
+ ? "line-width"
64
+ : { circle: "circle-radius", line: "line-width" }[layerType];
65
+ if (!property)
66
+ return reject(`Unsupported ${String(input.type)} combination with ${layerType} symbols.`);
67
+ if (assigned.has(property))
68
+ return reject(`Multiple variables target ${property}; only the first supported variable is applied.`);
69
+ let rawStops = input.stops;
70
+ const stopPath = (index, property) => input.stops !== undefined
71
+ ? `stops[${index}].${property}`
72
+ : `${index === 0 ? "min" : "max"}${property === "value" ? "DataValue" : "Size"}`;
73
+ if (!color && rawStops === undefined)
74
+ rawStops = [
75
+ { value: input.minDataValue, size: input.minSize },
76
+ { value: input.maxDataValue, size: input.maxSize },
77
+ ];
78
+ if (!Array.isArray(rawStops) || rawStops.length < 2)
79
+ return reject("At least two strictly ascending stops are required.", "stops");
80
+ const stops = [];
81
+ for (let i = 0; i < rawStops.length; i++) {
82
+ const stop = rawStops[i];
83
+ if (!isRecord(stop) ||
84
+ !finite(stop.value) ||
85
+ (scale && stop.value <= 0) ||
86
+ (i > 0 && stop.value <= stops[i - 1].value))
87
+ return reject("Stop values must be finite, strictly ascending, and positive for scale.", stopPath(i, "value"));
88
+ for (const property of Object.keys(stop)) {
89
+ if (!["value", "label", color ? "color" : "size"].includes(property)) {
90
+ return reject(`Unsupported stop property '${property}'; this variable was not applied.`, `stops[${i}].${property}`);
91
+ }
92
+ }
93
+ const label = typeof stop.label === "string" ? stop.label : String(stop.value);
94
+ if (color) {
95
+ const c = stop.color;
96
+ if (!Array.isArray(c) || c.length !== 4 || !c.every((v) => finite(v) && v >= 0 && v <= 255))
97
+ return reject("Color stops require RGBA components in [0,255].", `stops[${i}].color`);
98
+ const css = `rgba(${c[0]},${c[1]},${c[2]},${c[3] / 255})`;
99
+ stops.push({ value: stop.value, output: rgba(c[0], c[1], c[2], c[3] / 255), label, color: css });
100
+ }
101
+ else {
102
+ if (!finite(stop.size) || stop.size < 0)
103
+ return reject("Size stops require a finite nonnegative size in points; nested scale ranges are unsupported.", stopPath(i, "size"));
104
+ const size = (stop.size * (96 / 72)) / (layerType === "circle" ? 2 : 1);
105
+ stops.push({ value: stop.value, output: size, label, size });
106
+ }
107
+ }
108
+ const field = typeof input.field === "string" ? bindRendererField(input.field, options) : undefined;
109
+ const sourceFallback = missingSafeStyle(outline ? outlineWidth : (basePaint[property] ?? (color ? "transparent" : 0)));
110
+ const fallback = sourceFallback;
111
+ const ramp = scale
112
+ ? interpolate(exponential(0.5), zoom(), ...[...stops].reverse().map((s) => [webMercatorScaleToZoom(s.value), s.output]))
113
+ : switchCase([
114
+ eq(typeOf(get(field)), "number"),
115
+ interpolate(linear(), toNumber(get(field)), ...stops.map((s) => [s.value, s.output])),
116
+ ], new Expr(fallback));
117
+ if (outline) {
118
+ result.outline = {
119
+ paint: {
120
+ ...outlinePaint,
121
+ "line-color": basePaint["fill-outline-color"] ?? "transparent",
122
+ "line-width": ramp.toJSON(),
123
+ },
124
+ layout: {},
125
+ };
126
+ // A separate line layer replaces MapLibre's fixed one-pixel fill outline.
127
+ result.paint["fill-outline-color"] = "transparent";
128
+ }
129
+ else
130
+ result.paint[property] = ramp.toJSON();
131
+ // Symbol alpha is carried by color, never multiplied a second time.
132
+ if (color && layerType === "fill")
133
+ result.paint["fill-opacity"] = 1;
134
+ assigned.add(property);
135
+ const legendOptions = isRecord(input.legendOptions) ? input.legendOptions : undefined;
136
+ if (legendOptions?.showLegend !== false)
137
+ result.legends.push({
138
+ type: color ? "color" : "size",
139
+ ...(field ? { field } : {}),
140
+ ...(typeof legendOptions?.title === "string" ? { title: legendOptions.title } : {}),
141
+ property,
142
+ input: scale ? "scale" : "field",
143
+ stops: stops.map(({ output: _output, ...stop }) => stop),
144
+ outOfRange: "clamp",
145
+ missingValue: "base-symbol",
146
+ missingValueStyle: fallback,
147
+ ...(!color ? { sizeUnit: "css-pixels" } : {}),
148
+ });
149
+ });
150
+ return result;
151
+ }
152
+ function finite(value) {
153
+ return typeof value === "number" && Number.isFinite(value);
154
+ }
155
+ function isRecord(value) {
156
+ return value !== null && typeof value === "object" && !Array.isArray(value);
157
+ }
158
+ // A class-break step requires a number. Missing classification values use its
159
+ // default symbol instead of causing a MapLibre expression evaluation error.
160
+ function missingSafeStyle(style) {
161
+ return Array.isArray(style) && style[0] === "step"
162
+ ? ["case", ["==", ["typeof", style[1]], "number"], style, style[2]]
163
+ : style;
164
+ }
165
+ const KNOWN_PROPERTIES = new Set([
166
+ "type",
167
+ "field",
168
+ "stops",
169
+ "valueExpression",
170
+ "expression",
171
+ "valueExpressionTitle",
172
+ "legendOptions",
173
+ "normalizationField",
174
+ "normalizationType",
175
+ "normalizationTotal",
176
+ "target",
177
+ "valueUnit",
178
+ "minDataValue",
179
+ "maxDataValue",
180
+ "minSize",
181
+ "maxSize",
182
+ "authoringInfo",
183
+ ]);
@@ -43,6 +43,7 @@ export type { HonuaComponentCatalogId, HonuaComponentRegistrationOptions, HonuaC
43
43
  export { HonuaActionPanelElement, HonuaBasemapControlElement, HonuaBookmarksElement, HonuaChartElement, HonuaEditorElement, HonuaFeatureTableElement, HonuaLayerListElement, HonuaLegendElement, HonuaLocateControlElement, HonuaMapElement, HonuaMapStatusElement, HonuaMeasureControlElement, HonuaPrintExportElement, HonuaSearchElement, HonuaSketchControlElement, defineHonuaWebComponent, defineHonuaWebComponents, honuaExportKindFromFormat, } from "./elements.js";
44
44
  export type { HonuaFeatureTableConflictDetail } from "./elements.js";
45
45
  export { HonuaMeasurementElement, defineHonuaMeasurement } from "./measurement.js";
46
+ export { convertArea, convertDistance, formatAreaValue, formatDistanceValue, planarArea, planarLength, } from "./measurement-units.js";
46
47
  export { HonuaTimeSliderElement, defineHonuaTimeSlider } from "./time-slider.js";
47
48
  export { HONUA_EXPORT_KINDS, HonuaExportError, approximateHonuaScaleLabel, assertHonuaExportProvenanceComplete, assertHonuaExportReady, buildHonuaExportProvenance, createBrowserPrintExportAdapter, createHonuaExportAdapter, runHonuaExport, } from "./export.js";
48
49
  export type { BuildHonuaExportProvenanceOptions, CreateHonuaExportAdapterOptions, HonuaExportAdapter, HonuaExportCapabilities, HonuaExportContext, HonuaExportKind, HonuaExportOwnership, HonuaExportPayload, HonuaExportProvenance, HonuaExportRequest, HonuaExportResult, HonuaExportStatus, HonuaPrintWindowLike, HonuaSnapshotCanvasLike, HonuaSnapshotSource, } from "./export.js";
@@ -66,5 +67,5 @@ export { buildEditorFormModel, coerceEditorFieldValue, editorControlKind, editor
66
67
  export type { BuildEditorFormModelInput, HonuaEditorAttachmentDraft, HonuaEditorAttachmentMutationLike, HonuaEditorCapabilityDecisionLike, HonuaEditorChoice, HonuaEditorControlKind, HonuaEditorFieldControl, HonuaEditorFormModel, HonuaEditorOperation, HonuaEditorOperationAvailability, HonuaEditorOperationOverride, HonuaEditorOperationOverrides, HonuaEditorSchemaDomainLike, HonuaEditorSchemaFieldLike, HonuaEditorSubtype, HonuaEditorSubtypeConfig, HonuaEditorSubtypeFieldOverride, HonuaEditorUnavailableCode, ResolveEditorOperationsInput, } from "./feature-editor-model.js";
67
68
  export { bindEditorSketch, createTerraDrawEditorSketch, editorSnappingOptions } from "./feature-editor-sketch.js";
68
69
  export type { CreateTerraDrawEditorSketchOptions, HonuaEditorSketchAdapter, HonuaEditorSketchOptions, HonuaEditorSnappingOptions, } from "./feature-editor-sketch.js";
69
- export type { HonuaActionDetail, HonuaActionPanelAction, HonuaActionPanelMessages, HonuaBasemapChangeDetail, HonuaBasemapControlMessages, HonuaBookmark, HonuaBookmarkChangeDetail, HonuaBookmarksMessages, CreateHonuaWebComponentControllerOptions, HonuaChartDatum, HonuaChartModel, HonuaChartMessages, HonuaComponentStatus, HonuaControllerReadyDetail, HonuaControllerStateListener, HonuaControllerSubscription, HonuaEditCapabilities, HonuaEditChangeDetail, HonuaEditRequest, HonuaEditorMessages, HonuaEditorModel, HonuaExportDetail, HonuaFeatureRecord, HonuaFeatureEditorMessages, HonuaFeatureStateEntry, HonuaFeatureStateTarget, HonuaFeatureTableModel, HonuaFilterChangeDetail, HonuaFilterState, HonuaFullscreenChangeDetail, HonuaGeocodeSelectDetail, HonuaLayerListMessages, HonuaLayerModel, HonuaLayerOpacityChangeDetail, HonuaLayerOrderChangeDetail, HonuaLayerVisibilityChangeDetail, HonuaLegendItem, HonuaLegendMessages, HonuaLocateControlMessages, HonuaLocateChangeDetail, HonuaMapMessages, HonuaMapStatusMessages, HonuaMapClickDetail, HonuaMapErrorDetail, HonuaMapHoverDetail, HonuaMapInteractionDetail, HonuaMapInteractionPoint, HonuaMapReadyDetail, HonuaMeasureChangeDetail, HonuaMeasureControlMessages, HonuaMeasureMode, HonuaMeasurementMessages, HonuaPrintExportMessages, HonuaMeasureProvider, HonuaMeasureResult, HonuaMeasurementMap, HonuaQueryFeaturesOptions, HonuaSearchDetail, HonuaSearchMessages, HonuaSearchGeocodeCandidate, HonuaSearchGeocodeSuggestion, HonuaSearchGeocoderLike, HonuaSearchOptions, HonuaSearchResult, HonuaSelectionChangeDetail, HonuaSelectionState, HonuaSketchChangeDetail, HonuaSketchControlMessages, HonuaSketchMode, HonuaSketchProvider, HonuaSketchResult, HonuaTimeChangeDetail, HonuaTimePlaybackChangeDetail, HonuaTimeSliderMessages, HonuaTimeSliderPlayback, HonuaTimeSliderWindow, HonuaViewportChangeDetail, HonuaViewportState, HonuaWebComponentController, HonuaWebComponentRuntimeLike, HonuaWebComponentState, } from "./types.js";
70
+ export type { HonuaActionDetail, HonuaActionPanelAction, HonuaActionPanelMessages, HonuaBasemapChangeDetail, HonuaBasemapControlMessages, HonuaBookmark, HonuaBookmarkChangeDetail, HonuaBookmarksMessages, CreateHonuaWebComponentControllerOptions, HonuaChartDatum, HonuaChartModel, HonuaChartMessages, HonuaComponentStatus, HonuaControllerReadyDetail, HonuaControllerStateListener, HonuaControllerSubscription, HonuaEditCapabilities, HonuaEditChangeDetail, HonuaEditRequest, HonuaEditorMessages, HonuaEditorModel, HonuaExportDetail, HonuaFeatureRecord, HonuaFeatureEditorMessages, HonuaFeatureStateEntry, HonuaFeatureStateTarget, HonuaFeatureTableModel, HonuaFilterChangeDetail, HonuaFilterState, HonuaFullscreenChangeDetail, HonuaGeocodeSelectDetail, HonuaLayerListMessages, HonuaLayerModel, HonuaLayerOpacityChangeDetail, HonuaLayerOrderChangeDetail, HonuaLayerVisibilityChangeDetail, HonuaLegendItem, HonuaLegendMessages, HonuaLocateControlMessages, HonuaLocateChangeDetail, HonuaMapMessages, HonuaMapStatusMessages, HonuaMapClickDetail, HonuaMapErrorDetail, HonuaMapHoverDetail, HonuaMapInteractionDetail, HonuaMapInteractionPoint, HonuaMapReadyDetail, HonuaMeasureAreaUnit, HonuaMeasureChangeDetail, HonuaMeasureControlMessages, HonuaMeasureDistanceUnit, HonuaMeasureFidelity, HonuaMeasureInvalidReason, HonuaMeasureMode, HonuaMeasurePlanarCrs, HonuaMeasurementMessages, HonuaPrintExportMessages, HonuaMeasureProvider, HonuaMeasureResult, HonuaMeasurementMap, HonuaQueryFeaturesOptions, HonuaSearchDetail, HonuaSearchMessages, HonuaSearchGeocodeCandidate, HonuaSearchGeocodeSuggestion, HonuaSearchGeocoderLike, HonuaSearchOptions, HonuaSearchResult, HonuaSelectionChangeDetail, HonuaSelectionState, HonuaSketchChangeDetail, HonuaSketchControlMessages, HonuaSketchMode, HonuaSketchProvider, HonuaSketchResult, HonuaTimeChangeDetail, HonuaTimePlaybackChangeDetail, HonuaTimeSliderMessages, HonuaTimeSliderPlayback, HonuaTimeSliderWindow, HonuaViewportChangeDetail, HonuaViewportState, HonuaWebComponentController, HonuaWebComponentRuntimeLike, HonuaWebComponentState, } from "./types.js";
70
71
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web-components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web-components/index.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export { HONUA_COMPONENT_CATALOG, describeDeprecatedComponentImport, getCanonica
49
49
  export { HonuaComponentCatalogError, createComponentRegistry, registerAllComponents, registerComponent, registerComponents, } from "../controls/registry.js";
50
50
  export { HonuaActionPanelElement, HonuaBasemapControlElement, HonuaBookmarksElement, HonuaChartElement, HonuaEditorElement, HonuaFeatureTableElement, HonuaLayerListElement, HonuaLegendElement, HonuaLocateControlElement, HonuaMapElement, HonuaMapStatusElement, HonuaMeasureControlElement, HonuaPrintExportElement, HonuaSearchElement, HonuaSketchControlElement, defineHonuaWebComponent, defineHonuaWebComponents, honuaExportKindFromFormat, } from "./elements.js";
51
51
  export { HonuaMeasurementElement, defineHonuaMeasurement } from "./measurement.js";
52
+ export { convertArea, convertDistance, formatAreaValue, formatDistanceValue, planarArea, planarLength, } from "./measurement-units.js";
52
53
  // ── time slider over the temporal playback controller (issue #959) ───────
53
54
  export { HonuaTimeSliderElement, defineHonuaTimeSlider } from "./time-slider.js";
54
55
  // ── secure export contract (issue #683) ──────────────────────────────────
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Map pointer claims (issue #1419): lets a component that turns map clicks
3
+ * into its own input — `<honua-measurement>` placing vertices — tell the
4
+ * kit's renderer that those clicks are not feature selections.
5
+ *
6
+ * Without a claim, every vertex click that lands on a feature would also run
7
+ * `controller.selectFeature` and dispatch `honua-selection-change`, silently
8
+ * rewriting the shared selection a table, inspector, or editor is bound to.
9
+ * With one, the renderer still dispatches `honua-map-click` but leaves the
10
+ * shared selection exactly as it was.
11
+ *
12
+ * Claims are keyed by the map object in a `WeakMap`, so a claim never keeps a
13
+ * removed map (or its owner) alive, and releasing is idempotent.
14
+ *
15
+ * @module
16
+ */
17
+ /**
18
+ * Claims pointer input on `map` for `owner`. Returns a release function;
19
+ * calling it more than once is a no-op.
20
+ */
21
+ export declare function claimMapPointer(map: object, owner: object): () => void;
22
+ /** Whether any component currently claims pointer input on `map`. */
23
+ export declare function isMapPointerClaimed(map: unknown): boolean;
24
+ //# sourceMappingURL=map-pointer-claim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-pointer-claim.d.ts","sourceRoot":"","sources":["../../../src/web-components/map-pointer-claim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAUtE;AAED,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGzD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Map pointer claims (issue #1419): lets a component that turns map clicks
3
+ * into its own input — `<honua-measurement>` placing vertices — tell the
4
+ * kit's renderer that those clicks are not feature selections.
5
+ *
6
+ * Without a claim, every vertex click that lands on a feature would also run
7
+ * `controller.selectFeature` and dispatch `honua-selection-change`, silently
8
+ * rewriting the shared selection a table, inspector, or editor is bound to.
9
+ * With one, the renderer still dispatches `honua-map-click` but leaves the
10
+ * shared selection exactly as it was.
11
+ *
12
+ * Claims are keyed by the map object in a `WeakMap`, so a claim never keeps a
13
+ * removed map (or its owner) alive, and releasing is idempotent.
14
+ *
15
+ * @module
16
+ */
17
+ const claims = new WeakMap();
18
+ /**
19
+ * Claims pointer input on `map` for `owner`. Returns a release function;
20
+ * calling it more than once is a no-op.
21
+ */
22
+ export function claimMapPointer(map, owner) {
23
+ const owners = claims.get(map) ?? new Set();
24
+ owners.add(owner);
25
+ claims.set(map, owners);
26
+ return () => {
27
+ const current = claims.get(map);
28
+ if (!current)
29
+ return;
30
+ current.delete(owner);
31
+ if (current.size === 0)
32
+ claims.delete(map);
33
+ };
34
+ }
35
+ /** Whether any component currently claims pointer input on `map`. */
36
+ export function isMapPointerClaimed(map) {
37
+ if (typeof map !== "object" || map === null)
38
+ return false;
39
+ return (claims.get(map)?.size ?? 0) > 0;
40
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"maplibre-renderer.d.ts","sourceRoot":"","sources":["../../../src/web-components/maplibre-renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAGV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAqCpB,MAAM,WAAW,4BAA4B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,aAAa,IAAI,2BAA2B,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5D,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;gBAgBzC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAI3D,IAAW,GAAG,IAAI,OAAO,GAAG,SAAS,CAEpC;IAED,IAAW,OAAO,IAAI,4BAA4B,CAAC,CAAC,CAAC,GAAG,SAAS,CAEhE;IAEY,UAAU,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE,UAAU,IAAI,IAAI;CAoX1B"}
1
+ {"version":3,"file":"maplibre-renderer.d.ts","sourceRoot":"","sources":["../../../src/web-components/maplibre-renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAGV,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAqCpB,MAAM,WAAW,4BAA4B,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvE,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,aAAa,IAAI,2BAA2B,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5D,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;gBAgBzC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAI3D,IAAW,GAAG,IAAI,OAAO,GAAG,SAAS,CAEpC;IAED,IAAW,OAAO,IAAI,4BAA4B,CAAC,CAAC,CAAC,GAAG,SAAS,CAEhE;IAEY,UAAU,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE,UAAU,IAAI,IAAI;CAuX1B"}
@@ -1,3 +1,4 @@
1
+ import { isMapPointerClaimed } from "./map-pointer-claim.js";
1
2
  export class HonuaMapLibreRenderer {
2
3
  #options;
3
4
  #interactionHandles = [];
@@ -237,7 +238,10 @@ export class HonuaMapLibreRenderer {
237
238
  originalEvent: event.originalEvent,
238
239
  };
239
240
  this.#options.onClick(detail);
240
- if (featureId === undefined)
241
+ // A component using clicks as its own input (e.g. measurement
242
+ // vertices) claims the map pointer; its clicks must not rewrite the
243
+ // shared selection other components are bound to (#1419).
244
+ if (featureId === undefined || isMapPointerClaimed(runtime.map))
241
245
  return;
242
246
  const selection = {
243
247
  sourceId,
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Unit conversion, display formatting, and planar (Euclidean, flat-earth)
3
+ * math for `<honua-measurement>` (issue #1419).
4
+ *
5
+ * All conversion and formatting here operates on the canonical SI value
6
+ * already stored on `HonuaMeasureResult` (meters / square meters) — never on
7
+ * a previously rounded display string — so switching `unit`/`areaUnit`/
8
+ * `precision` at runtime always reformats the same full-precision number.
9
+ *
10
+ * `planarLength` / `planarArea` intentionally do not depend on `proj4`
11
+ * (`@honua/geometry`'s `project`): pulling that in would add proj4 as a
12
+ * static import of every `<honua-measurement>` consumer's bundle (the
13
+ * `/web-components` and `/controls` entrypoints), well past their gzip
14
+ * budgets, for a fidelity mode most apps never enable. Instead this uses the
15
+ * same equirectangular (meters-per-degree-of-latitude/longitude) flat-earth
16
+ * approximation `MeasurementCompat` already ships in `src/esri-compat/
17
+ * measurement.ts` — accurate for the local-extent sketches this widget draws,
18
+ * and proven parity math rather than a new approach.
19
+ *
20
+ * @module
21
+ */
22
+ import type { HonuaMeasureAreaUnit, HonuaMeasureDistanceUnit, HonuaMeasurePlanarCrs } from "./types.js";
23
+ type LngLat = readonly [number, number];
24
+ /** Converts a distance already in meters into `unit`. */
25
+ export declare function convertDistance(meters: number, unit: Exclude<HonuaMeasureDistanceUnit, "auto">): number;
26
+ /** Converts an area already in square meters into `unit`. */
27
+ export declare function convertArea(squareMeters: number, unit: Exclude<HonuaMeasureAreaUnit, "auto">): number;
28
+ /**
29
+ * Formats a canonical meters value for display. `precision` overrides the
30
+ * unit's default decimal digits; `unit` overrides magnitude-based auto-scaling.
31
+ */
32
+ export declare function formatDistanceValue(meters: number, unit: HonuaMeasureDistanceUnit, precision?: number): string;
33
+ /**
34
+ * Formats a canonical square-meters value for display. `precision` overrides
35
+ * the unit's default decimal digits; `unit` overrides magnitude-based
36
+ * auto-scaling.
37
+ */
38
+ export declare function formatAreaValue(squareMeters: number, unit: HonuaMeasureAreaUnit, precision?: number): string;
39
+ /** Distance units `<honua-measurement>` accepts, including `"auto"`. */
40
+ export declare const HONUA_MEASURE_DISTANCE_UNITS: readonly HonuaMeasureDistanceUnit[];
41
+ /** Area units `<honua-measurement>` accepts, including `"auto"`. */
42
+ export declare const HONUA_MEASURE_AREA_UNITS: readonly HonuaMeasureAreaUnit[];
43
+ /** Planar frames `<honua-measurement>` accepts for `fidelity: "planar"`. */
44
+ export declare const HONUA_MEASURE_PLANAR_CRS: readonly HonuaMeasurePlanarCrs[];
45
+ /**
46
+ * Whether a position is a usable WGS84 vertex: finite, with latitude inside
47
+ * `[-90, 90]`. Longitude may exceed ±180 — MapLibre reports clicks on a world
48
+ * copy that way — and is unwrapped before any planar math.
49
+ */
50
+ export declare function isValidMeasureVertex(position: readonly number[]): boolean;
51
+ /**
52
+ * Shifts each longitude by whole turns so consecutive vertices are never more
53
+ * than 180° apart. A sketch crossing the antimeridian (179° → -179°) is then
54
+ * measured the short way, matching what the geodesic ops already do, instead
55
+ * of across 358° of flat map.
56
+ */
57
+ export declare function unwrapLongitudes(positions: readonly LngLat[]): LngLat[];
58
+ /**
59
+ * Euclidean length of a line, in meters of the planar frame `crs`:
60
+ *
61
+ * - `"local"` (default): a flat-earth approximation centered on the vertices'
62
+ * mean latitude, matching `MeasurementCompat`'s approximation.
63
+ * - `"EPSG:3857"`: spherical Web Mercator, the projected CRS MapLibre renders
64
+ * in. Its meters are not scale-corrected, so lengths grow by `sec(latitude)`
65
+ * away from the equator — which is what an app mirroring ArcGIS planar
66
+ * measurement on a Web Mercator view expects.
67
+ *
68
+ * Unlike the geodesic `length` op in `@honua/geometry`, this never follows
69
+ * the great circle. Longitudes are unwrapped first, so an antimeridian
70
+ * crossing is measured the short way.
71
+ */
72
+ export declare function planarLength(positions: readonly LngLat[], crs?: HonuaMeasurePlanarCrs): number;
73
+ /**
74
+ * Euclidean (shoelace) area of a ring, in square meters of the planar frame
75
+ * `crs` (see {@link planarLength}). `positions` need not be closed; the first
76
+ * vertex is implicitly repeated to close the ring.
77
+ */
78
+ export declare function planarArea(positions: readonly LngLat[], crs?: HonuaMeasurePlanarCrs): number;
79
+ /**
80
+ * Whether the closed ring through `positions` crosses itself (a "bow tie").
81
+ * Such a ring has no single enclosed area: the shoelace and geodesic sums
82
+ * cancel the lobes against each other, so reporting their result would be a
83
+ * confident wrong number. Touching at a shared vertex of adjacent edges is
84
+ * not a crossing; collinear overlap of non-adjacent edges is.
85
+ */
86
+ export declare function ringSelfIntersects(positions: readonly LngLat[]): boolean;
87
+ export {};
88
+ //# sourceMappingURL=measurement-units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurement-units.d.ts","sourceRoot":"","sources":["../../../src/web-components/measurement-units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExG,KAAK,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAsCxC,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG,MAAM,CAEvG;AAED,6DAA6D;AAC7D,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,MAAM,CAErG;AA6BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9G;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5G;AAED,wEAAwE;AACxE,eAAO,MAAM,4BAA4B,EAAE,SAAS,wBAAwB,EAG3E,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,EAAE,SAAS,oBAAoB,EAGnE,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAA2B,CAAC;AAwBjG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAUzE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAYvE;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,GAAE,qBAA+B,GAAG,MAAM,CAWvG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,GAAE,qBAA+B,GAAG,MAAM,CAYrG;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAgBxE"}