@honua/app-platform 0.1.2-beta.0 → 0.1.7-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.
- package/app/index.d.ts.map +1 -1
- package/app/index.js +4 -0
- package/collaboration/client.d.ts.map +1 -1
- package/connect-url-safety.d.ts +53 -0
- package/connect-url-safety.js +189 -0
- package/contract/discovery.d.ts +34 -0
- package/contract/discovery.d.ts.map +1 -1
- package/contract/index.d.ts +7 -5
- package/contract/index.d.ts.map +1 -1
- package/contract/index.js +3 -2
- package/contract/pmtiles.d.ts +10 -1
- package/contract/pmtiles.d.ts.map +1 -1
- package/contract/pmtiles.js +10 -2
- package/contract/protocol-module.d.ts +84 -9
- package/contract/protocol-module.d.ts.map +1 -1
- package/contract/query-filter-fes.d.ts +18 -0
- package/contract/query-filter-fes.d.ts.map +1 -0
- package/contract/query-filter-fes.js +122 -0
- package/contract/query-filter.d.ts +300 -0
- package/contract/query-filter.d.ts.map +1 -0
- package/contract/query-filter.js +883 -0
- package/contract/schema.d.ts +12 -0
- package/contract/schema.d.ts.map +1 -1
- package/contract/schema.js +34 -0
- package/contract/source-capability-support.d.ts.map +1 -1
- package/contract/source-capability-support.js +15 -3
- package/contract/source.d.ts +45 -25
- package/contract/source.d.ts.map +1 -1
- package/contract/source.js +719 -479
- package/contract/types.d.ts +88 -19
- package/contract/types.d.ts.map +1 -1
- package/contract/types.js +4 -0
- package/contract/widget-source.d.ts.map +1 -1
- package/controls/basemap-switcher.d.ts +19 -11
- package/controls/basemap-switcher.d.ts.map +1 -1
- package/controls/basemap-switcher.js +58 -25
- package/controls/catalog.d.ts +105 -0
- package/controls/catalog.d.ts.map +1 -0
- package/controls/catalog.js +341 -0
- package/controls/element-utils.d.ts +9 -0
- package/controls/element-utils.d.ts.map +1 -1
- package/controls/element-utils.js +17 -0
- package/controls/index.d.ts +29 -8
- package/controls/index.d.ts.map +1 -1
- package/controls/index.js +26 -8
- package/controls/layer-list.d.ts +13 -5
- package/controls/layer-list.d.ts.map +1 -1
- package/controls/layer-list.js +72 -15
- package/controls/legend.d.ts +32 -5
- package/controls/legend.d.ts.map +1 -1
- package/controls/legend.js +95 -25
- package/controls/qualification.d.ts +152 -0
- package/controls/qualification.d.ts.map +1 -0
- package/controls/qualification.js +1265 -0
- package/controls/registry.d.ts +104 -0
- package/controls/registry.d.ts.map +1 -0
- package/controls/registry.js +150 -0
- package/controls/swipe-control.d.ts +6 -1
- package/controls/swipe-control.d.ts.map +1 -1
- package/controls/swipe-control.js +82 -20
- package/core/client.d.ts +51 -21
- package/core/client.d.ts.map +1 -1
- package/core/client.js +234 -54
- package/core/error-classifications.d.ts +23 -0
- package/core/error-classifications.d.ts.map +1 -1
- package/core/error-classifications.js +23 -0
- package/core/error-code-registry.d.ts +24 -1
- package/core/error-code-registry.d.ts.map +1 -1
- package/core/error-code-registry.js +23 -0
- package/core/error-envelope.js +2 -0
- package/core/errors.d.ts +2 -2
- package/core/errors.d.ts.map +1 -1
- package/core/errors.js +1 -1
- package/core/geoparquet-sql.d.ts +69 -5
- package/core/geoparquet-sql.d.ts.map +1 -1
- package/core/geoparquet-sql.js +327 -10
- package/core/odata-write-codec.d.ts.map +1 -1
- package/core/odata-write-codec.js +0 -1
- package/core/odata.d.ts +6 -0
- package/core/odata.d.ts.map +1 -1
- package/core/odata.js +6 -1
- package/core/ogc-processes.d.ts +182 -25
- package/core/ogc-processes.d.ts.map +1 -1
- package/core/ogc-processes.js +602 -30
- package/core/process-runner.d.ts +8 -1
- package/core/process-runner.d.ts.map +1 -1
- package/core/process-runner.js +1 -0
- package/core/protocol-transport.d.ts +2 -0
- package/core/protocol-transport.d.ts.map +1 -1
- package/core/stac.d.ts +32 -0
- package/core/stac.d.ts.map +1 -1
- package/core/stac.js +158 -23
- package/core/surfaces.d.ts.map +1 -1
- package/core/surfaces.js +273 -68
- package/core/types.d.ts +138 -11
- package/core/types.d.ts.map +1 -1
- package/core/wfs-axis-order.d.ts +18 -0
- package/core/wfs-axis-order.d.ts.map +1 -0
- package/core/wfs-axis-order.js +108 -0
- package/core/wfs-capabilities.d.ts +65 -24
- package/core/wfs-capabilities.d.ts.map +1 -1
- package/core/wfs-capabilities.js +237 -27
- package/core/wfs-filter.d.ts +26 -3
- package/core/wfs-filter.d.ts.map +1 -1
- package/core/wfs-filter.js +48 -53
- package/core/wfs-protocol-error.d.ts +12 -0
- package/core/wfs-protocol-error.d.ts.map +1 -0
- package/core/wfs-protocol-error.js +13 -0
- package/core/wfs.d.ts +53 -1
- package/core/wfs.d.ts.map +1 -1
- package/core/wfs.js +251 -29
- package/core/wms-feature-info.d.ts +92 -0
- package/core/wms-feature-info.d.ts.map +1 -0
- package/core/wms-feature-info.js +285 -0
- package/core/wms.d.ts +9 -0
- package/core/wms.d.ts.map +1 -1
- package/core/wms.js +17 -5
- package/esri-compat/event-bus.d.ts +20 -0
- package/esri-compat/event-bus.d.ts.map +1 -1
- package/esri-compat/feature-filter.d.ts +46 -1
- package/esri-compat/feature-filter.d.ts.map +1 -1
- package/esri-compat/feature-filter.js +49 -0
- package/esri-compat/geojson-layer.d.ts +4 -2
- package/esri-compat/geojson-layer.d.ts.map +1 -1
- package/esri-compat/geojson-layer.js +4 -2
- package/esri-compat/identity-manager.js +2 -2
- package/esri-compat/imagery-layer.d.ts +2 -1
- package/esri-compat/imagery-layer.d.ts.map +1 -1
- package/esri-compat/imagery-layer.js +2 -1
- package/esri-compat/layer-list.d.ts +8 -1
- package/esri-compat/layer-list.d.ts.map +1 -1
- package/esri-compat/layer-list.js +11 -4
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +1 -1
- package/esri-compat/locator.d.ts +297 -0
- package/esri-compat/locator.d.ts.map +1 -0
- package/esri-compat/locator.js +579 -0
- package/esri-compat/map-image-layer.d.ts.map +1 -1
- package/esri-compat/map-view.d.ts.map +1 -1
- package/esri-compat/map-view.js +1 -1
- package/esri-compat/scene-view.d.ts.map +1 -1
- package/esri-compat/time-slider.d.ts +29 -0
- package/esri-compat/time-slider.d.ts.map +1 -1
- package/esri-compat/time-slider.js +117 -0
- package/esri-compat/wfs-layer.d.ts +2 -1
- package/esri-compat/wfs-layer.d.ts.map +1 -1
- package/esri-compat/wfs-layer.js +2 -1
- package/esri-compat/widget-host.d.ts +42 -6
- package/esri-compat/widget-host.d.ts.map +1 -1
- package/esri-compat/widget-host.js +99 -10
- package/generated-app/projection.d.ts.map +1 -1
- package/generated-app/runtime.d.ts.map +1 -1
- package/interactions/declarative-contract.d.ts +149 -0
- package/interactions/declarative-contract.d.ts.map +1 -0
- package/interactions/declarative-contract.js +293 -0
- package/interactions/declarative.d.ts +198 -0
- package/interactions/declarative.d.ts.map +1 -0
- package/interactions/declarative.js +470 -0
- package/interactions/feature-state.d.ts +7 -0
- package/interactions/feature-state.d.ts.map +1 -1
- package/interactions/feature-state.js +10 -2
- package/map/data-to-map-bridge.d.ts +1 -1
- package/map/data-to-map-bridge.d.ts.map +1 -1
- package/map/data-to-map-bridge.js +1 -2
- package/map/honua-map.d.ts.map +1 -1
- package/map/honua-map.js +1 -1
- package/map/index.d.ts +2 -0
- package/map/index.d.ts.map +1 -1
- package/map/index.js +2 -0
- package/map/maplibre-target.js +1 -1
- package/map/realtime-reconciliation-adapter.d.ts +98 -0
- package/map/realtime-reconciliation-adapter.d.ts.map +1 -0
- package/map/realtime-reconciliation-adapter.js +84 -0
- package/map/temporal-playback.d.ts +25 -0
- package/map/temporal-playback.d.ts.map +1 -1
- package/map/temporal-playback.js +29 -1
- package/operator/workspace/workspace.d.ts.map +1 -1
- package/operator/workspace/workspace.js +0 -2
- package/package.json +4 -3
- package/query-planner/canonical-filter.d.ts +30 -0
- package/query-planner/canonical-filter.d.ts.map +1 -0
- package/query-planner/canonical-filter.js +30 -0
- package/query-planner/columnar-plan.d.ts +63 -0
- package/query-planner/columnar-plan.d.ts.map +1 -0
- package/query-planner/columnar-plan.js +94 -0
- package/query-planner/diagnostics.d.ts +3 -3
- package/query-planner/diagnostics.d.ts.map +1 -1
- package/query-planner/diagnostics.js +17 -4
- package/query-planner/duckdb.d.ts.map +1 -1
- package/query-planner/duckdb.js +16 -2
- package/query-planner/execution-context.d.ts.map +1 -1
- package/query-planner/execution-context.js +3 -1
- package/query-planner/executor.d.ts.map +1 -1
- package/query-planner/executor.js +7 -1
- package/query-planner/geoservices.d.ts.map +1 -1
- package/query-planner/geoservices.js +24 -5
- package/query-planner/grpc.d.ts.map +1 -1
- package/query-planner/grpc.js +29 -5
- package/query-planner/index.d.ts +20 -5
- package/query-planner/index.d.ts.map +1 -1
- package/query-planner/index.js +16 -3
- package/query-planner/ir.d.ts +6 -1
- package/query-planner/ir.d.ts.map +1 -1
- package/query-planner/ir.js +63 -1
- package/query-planner/odata-protocol-module.d.ts +54 -0
- package/query-planner/odata-protocol-module.d.ts.map +1 -0
- package/query-planner/odata-protocol-module.js +199 -0
- package/query-planner/odata-v1.d.ts +23 -0
- package/query-planner/odata-v1.d.ts.map +1 -0
- package/query-planner/odata-v1.js +202 -0
- package/query-planner/odata.d.ts +0 -3
- package/query-planner/odata.d.ts.map +1 -1
- package/query-planner/odata.js +0 -143
- package/query-planner/ogc-features.d.ts.map +1 -1
- package/query-planner/ogc-features.js +23 -1
- package/query-planner/planner.d.ts +2 -2
- package/query-planner/planner.d.ts.map +1 -1
- package/query-planner/planner.js +146 -27
- package/query-planner/representation.d.ts +59 -0
- package/query-planner/representation.d.ts.map +1 -0
- package/query-planner/representation.js +140 -0
- package/query-planner/types.d.ts +153 -3
- package/query-planner/types.d.ts.map +1 -1
- package/query-planner/wfs-protocol-module.d.ts +57 -0
- package/query-planner/wfs-protocol-module.d.ts.map +1 -0
- package/query-planner/wfs-protocol-module.js +731 -0
- package/query-planner/wfs-v1.d.ts +41 -0
- package/query-planner/wfs-v1.d.ts.map +1 -0
- package/query-planner/wfs-v1.js +366 -0
- package/query-planner/wfs.d.ts +1 -3
- package/query-planner/wfs.d.ts.map +1 -1
- package/query-planner/wfs.js +1 -70
- package/realtime/checkpoint-store.d.ts +206 -0
- package/realtime/checkpoint-store.d.ts.map +1 -0
- package/realtime/checkpoint-store.js +504 -0
- package/realtime/honua-server.d.ts +8 -0
- package/realtime/honua-server.d.ts.map +1 -1
- package/realtime/honua-server.js +123 -14
- package/realtime/index.d.ts +4 -0
- package/realtime/index.d.ts.map +1 -1
- package/realtime/index.js +2 -0
- package/realtime/reconciliation.d.ts +245 -0
- package/realtime/reconciliation.d.ts.map +1 -0
- package/realtime/reconciliation.js +377 -0
- package/realtime/resumable-transport.d.ts.map +1 -1
- package/realtime/sse.d.ts.map +1 -1
- package/realtime/sse.js +7 -1
- package/realtime/websocket.d.ts.map +1 -1
- package/realtime/wire.d.ts +2 -1
- package/realtime/wire.d.ts.map +1 -1
- package/realtime/wire.js +24 -8
- package/replica-sync/errors.d.ts +19 -1
- package/replica-sync/errors.d.ts.map +1 -1
- package/replica-sync/errors.js +16 -0
- package/replica-sync/geoservices.d.ts +260 -0
- package/replica-sync/geoservices.d.ts.map +1 -0
- package/replica-sync/geoservices.js +1093 -0
- package/replica-sync/index.d.ts +5 -1
- package/replica-sync/index.d.ts.map +1 -1
- package/replica-sync/index.js +3 -1
- package/replica-sync/transport-conformance.d.ts +58 -0
- package/replica-sync/transport-conformance.d.ts.map +1 -0
- package/replica-sync/transport-conformance.js +265 -0
- package/replica-sync/types.d.ts +22 -0
- package/replica-sync/types.d.ts.map +1 -1
- package/runtime/index.d.ts +6 -2
- package/runtime/index.d.ts.map +1 -1
- package/runtime/index.js +3 -1
- package/runtime/load-package.d.ts +24 -0
- package/runtime/load-package.d.ts.map +1 -1
- package/runtime/load-package.js +45 -1
- package/runtime/maplibre-renderer.d.ts +11 -0
- package/runtime/maplibre-renderer.d.ts.map +1 -1
- package/runtime/maplibre-renderer.js +32 -7
- package/runtime/offline-region-protocol.d.ts +73 -0
- package/runtime/offline-region-protocol.d.ts.map +1 -0
- package/runtime/offline-region-protocol.js +63 -0
- package/runtime/offline-region-style.d.ts +78 -0
- package/runtime/offline-region-style.d.ts.map +1 -0
- package/runtime/offline-region-style.js +147 -0
- package/runtime/pmtiles-protocol.d.ts +7 -8
- package/runtime/pmtiles-protocol.d.ts.map +1 -1
- package/runtime/pmtiles-protocol.js +19 -66
- package/runtime/protocol-registry.d.ts +55 -0
- package/runtime/protocol-registry.d.ts.map +1 -0
- package/runtime/protocol-registry.js +103 -0
- package/runtime/runtime.d.ts +2 -0
- package/runtime/runtime.d.ts.map +1 -1
- package/runtime/runtime.js +6 -1
- package/runtime/style-compose.d.ts.map +1 -1
- package/runtime/style-compose.js +78 -9
- package/scene-workspace/analysis-widgets.d.ts +4 -2
- package/scene-workspace/analysis-widgets.d.ts.map +1 -1
- package/scene-workspace/analysis-widgets.js +4 -2
- package/scene-workspace/camera-correspondence.d.ts +151 -0
- package/scene-workspace/camera-correspondence.d.ts.map +1 -0
- package/scene-workspace/camera-correspondence.js +220 -0
- package/scene-workspace/cesium-adapter.d.ts +230 -29
- package/scene-workspace/cesium-adapter.d.ts.map +1 -1
- package/scene-workspace/cesium-adapter.js +741 -56
- package/scene-workspace/cesium-mount.d.ts +205 -0
- package/scene-workspace/cesium-mount.d.ts.map +1 -0
- package/scene-workspace/cesium-mount.js +392 -0
- package/scene-workspace/cesium-scene-owner.d.ts +160 -0
- package/scene-workspace/cesium-scene-owner.d.ts.map +1 -0
- package/scene-workspace/cesium-scene-owner.js +205 -0
- package/scene-workspace/cesium-state-sync.d.ts +101 -0
- package/scene-workspace/cesium-state-sync.d.ts.map +1 -0
- package/scene-workspace/cesium-state-sync.js +432 -0
- package/scene-workspace/cesium-time.d.ts +346 -0
- package/scene-workspace/cesium-time.d.ts.map +1 -0
- package/scene-workspace/cesium-time.js +403 -0
- package/scene-workspace/index.d.ts +42 -10
- package/scene-workspace/index.d.ts.map +1 -1
- package/scene-workspace/index.js +32 -7
- package/scene-workspace/maplibre-state-sync.d.ts +112 -0
- package/scene-workspace/maplibre-state-sync.d.ts.map +1 -0
- package/scene-workspace/maplibre-state-sync.js +400 -0
- package/scene-workspace/primitives.d.ts +237 -3
- package/scene-workspace/primitives.d.ts.map +1 -1
- package/scene-workspace/primitives.js +1087 -17
- package/scene-workspace/scene-discovery.d.ts +5 -2
- package/scene-workspace/scene-discovery.d.ts.map +1 -1
- package/scene-workspace/scene-discovery.js +5 -2
- package/scene-workspace/scene-view.d.ts +5 -2
- package/scene-workspace/scene-view.d.ts.map +1 -1
- package/scene-workspace/scene-view.js +5 -2
- package/scene-workspace/source-to-cesium.d.ts +141 -8
- package/scene-workspace/source-to-cesium.d.ts.map +1 -1
- package/scene-workspace/source-to-cesium.js +497 -72
- package/scene-workspace/state-sync-port-kit.d.ts +156 -0
- package/scene-workspace/state-sync-port-kit.d.ts.map +1 -0
- package/scene-workspace/state-sync-port-kit.js +319 -0
- package/scene-workspace/state-sync.d.ts +34 -1
- package/scene-workspace/state-sync.d.ts.map +1 -1
- package/scene-workspace/state-sync.js +48 -0
- package/scene-workspace/types.d.ts +8 -0
- package/scene-workspace/types.d.ts.map +1 -1
- package/scene-workspace/types.js +2 -0
- package/scene-workspace/workspace.d.ts +12 -1
- package/scene-workspace/workspace.d.ts.map +1 -1
- package/scene-workspace/workspace.js +13 -0
- package/studio/index.d.ts +24 -7
- package/studio/index.d.ts.map +1 -1
- package/studio/index.js +21 -7
- package/studio/lifecycle-client.d.ts +164 -0
- package/studio/lifecycle-client.d.ts.map +1 -0
- package/studio/lifecycle-client.js +299 -0
- package/studio/lifecycle-errors.d.ts +91 -0
- package/studio/lifecycle-errors.d.ts.map +1 -0
- package/studio/lifecycle-errors.js +77 -0
- package/studio/lifecycle-types.d.ts +321 -0
- package/studio/lifecycle-types.d.ts.map +1 -0
- package/studio/lifecycle-types.js +22 -0
- package/web-components/controller.d.ts.map +1 -1
- package/web-components/csp-styles.d.ts +6 -0
- package/web-components/csp-styles.d.ts.map +1 -0
- package/web-components/csp-styles.js +53 -0
- package/web-components/elements.d.ts +158 -2
- package/web-components/elements.d.ts.map +1 -1
- package/web-components/elements.js +1302 -215
- package/web-components/export-redaction.d.ts +252 -0
- package/web-components/export-redaction.d.ts.map +1 -0
- package/web-components/export-redaction.js +588 -0
- package/web-components/export.d.ts +417 -0
- package/web-components/export.d.ts.map +1 -0
- package/web-components/export.js +719 -0
- package/web-components/feature-editor-model.d.ts +265 -0
- package/web-components/feature-editor-model.d.ts.map +1 -0
- package/web-components/feature-editor-model.js +438 -0
- package/web-components/feature-editor-sketch.d.ts +125 -0
- package/web-components/feature-editor-sketch.d.ts.map +1 -0
- package/web-components/feature-editor-sketch.js +194 -0
- package/web-components/feature-editor-workflow.d.ts +286 -0
- package/web-components/feature-editor-workflow.d.ts.map +1 -0
- package/web-components/feature-editor-workflow.js +889 -0
- package/web-components/feature-editor.d.ts +83 -0
- package/web-components/feature-editor.d.ts.map +1 -0
- package/web-components/feature-editor.js +829 -0
- package/web-components/feature-table-engine.d.ts +465 -0
- package/web-components/feature-table-engine.d.ts.map +1 -0
- package/web-components/feature-table-engine.js +1360 -0
- package/web-components/feature-table-view.d.ts +95 -0
- package/web-components/feature-table-view.d.ts.map +1 -0
- package/web-components/feature-table-view.js +343 -0
- package/web-components/index.d.ts +34 -3
- package/web-components/index.d.ts.map +1 -1
- package/web-components/index.js +35 -2
- package/web-components/maplibre-renderer.d.ts.map +1 -1
- package/web-components/maplibre-renderer.js +13 -4
- package/web-components/measurement.d.ts +3 -1
- package/web-components/measurement.d.ts.map +1 -1
- package/web-components/measurement.js +62 -18
- package/web-components/time-slider.d.ts +122 -0
- package/web-components/time-slider.d.ts.map +1 -0
- package/web-components/time-slider.js +740 -0
- package/web-components/types.d.ts +310 -0
- package/web-components/types.d.ts.map +1 -1
- package/webmap/convert-label.js +0 -1
- package/webmap/convert-symbol.d.ts.map +1 -1
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical component catalog for the Honua custom-element kit
|
|
3
|
+
* (`@honua/sdk-js/controls` + `@honua/sdk-js/web-components`; both moving to
|
|
4
|
+
* `@honua/app-platform` per `docs/decisions/scope-split-and-1.0.md`).
|
|
5
|
+
*
|
|
6
|
+
* Tracked by issue #679 (parent epic #678 "app-platform component production
|
|
7
|
+
* readiness"): before either kit's custom elements can be considered one
|
|
8
|
+
* coherent, production-supported surface, every shipped tag needs exactly one
|
|
9
|
+
* documented owner, described once, regardless of which subpath (or which
|
|
10
|
+
* import order) a consumer reaches it through.
|
|
11
|
+
*
|
|
12
|
+
* This module is pure metadata — it holds no reference to the actual element
|
|
13
|
+
* classes and performs no `customElements` registration. Importing it never
|
|
14
|
+
* touches DOM globals and carries none of either kit's runtime weight (in
|
|
15
|
+
* particular, none of `web-components`' `src/core` / `src/runtime`
|
|
16
|
+
* dependency), so it is safe to import from any environment — SSR, workers,
|
|
17
|
+
* either kit's bundle, or a lint/doc tool introspecting the catalog — without
|
|
18
|
+
* pulling in the other kit's closure. {@link "./registry.js"} is the
|
|
19
|
+
* companion module that turns catalog entries into actual registrations.
|
|
20
|
+
*
|
|
21
|
+
* @module
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* The full component catalog: every custom-element tag shipped by either
|
|
25
|
+
* kit. Two tags — `honua-legend` and `honua-layer-list` — have two competing
|
|
26
|
+
* implementations (`controls` and `web-components`); each is represented as
|
|
27
|
+
* its own entry with `collidesWithIds` naming the other, and exactly one of
|
|
28
|
+
* the two is `canonical: true`.
|
|
29
|
+
*/
|
|
30
|
+
export const HONUA_COMPONENT_CATALOG = [
|
|
31
|
+
// ── controls kit (@honua/sdk-js/controls) ──────────────────────────────
|
|
32
|
+
{
|
|
33
|
+
id: "controls.basemap-switcher",
|
|
34
|
+
tag: "honua-basemap-switcher",
|
|
35
|
+
source: "controls",
|
|
36
|
+
className: "HonuaBasemapSwitcherElement",
|
|
37
|
+
supportTier: "survival-tier",
|
|
38
|
+
canonical: true,
|
|
39
|
+
requiredAdapters: ["maplibre-map"],
|
|
40
|
+
events: ["change"],
|
|
41
|
+
collidesWithIds: [],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: "controls.swipe-control",
|
|
45
|
+
tag: "honua-swipe-control",
|
|
46
|
+
source: "controls",
|
|
47
|
+
className: "HonuaSwipeControlElement",
|
|
48
|
+
supportTier: "survival-tier",
|
|
49
|
+
canonical: true,
|
|
50
|
+
requiredAdapters: ["maplibre-map"],
|
|
51
|
+
events: ["change"],
|
|
52
|
+
collidesWithIds: [],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "controls.legend",
|
|
56
|
+
tag: "honua-legend",
|
|
57
|
+
source: "controls",
|
|
58
|
+
className: "HonuaLegendElement",
|
|
59
|
+
supportTier: "survival-tier",
|
|
60
|
+
canonical: false,
|
|
61
|
+
requiredAdapters: ["maplibre-map"],
|
|
62
|
+
events: [],
|
|
63
|
+
collidesWithIds: ["web-components.legend"],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "controls.layer-list",
|
|
67
|
+
tag: "honua-layer-list",
|
|
68
|
+
source: "controls",
|
|
69
|
+
className: "HonuaLayerListElement",
|
|
70
|
+
supportTier: "survival-tier",
|
|
71
|
+
canonical: false,
|
|
72
|
+
requiredAdapters: ["maplibre-map"],
|
|
73
|
+
events: ["change"],
|
|
74
|
+
collidesWithIds: ["web-components.layer-list"],
|
|
75
|
+
},
|
|
76
|
+
// ── web-components kit (@honua/sdk-js/web-components) ──────────────────
|
|
77
|
+
{
|
|
78
|
+
id: "web-components.map",
|
|
79
|
+
tag: "honua-map",
|
|
80
|
+
source: "web-components",
|
|
81
|
+
className: "HonuaMapElement",
|
|
82
|
+
supportTier: "survival-tier",
|
|
83
|
+
canonical: true,
|
|
84
|
+
requiredAdapters: [],
|
|
85
|
+
events: [
|
|
86
|
+
"honua-controller-ready",
|
|
87
|
+
"honua-map-ready",
|
|
88
|
+
"honua-map-error",
|
|
89
|
+
"honua-map-click",
|
|
90
|
+
"honua-map-hover",
|
|
91
|
+
"honua-selection-change",
|
|
92
|
+
"honua-viewport-change",
|
|
93
|
+
],
|
|
94
|
+
collidesWithIds: [],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: "web-components.layer-list",
|
|
98
|
+
tag: "honua-layer-list",
|
|
99
|
+
source: "web-components",
|
|
100
|
+
className: "HonuaLayerListElement",
|
|
101
|
+
supportTier: "survival-tier",
|
|
102
|
+
canonical: true,
|
|
103
|
+
requiredAdapters: ["web-component-controller"],
|
|
104
|
+
events: ["honua-layer-visibility-change", "honua-layer-opacity-change", "honua-layer-order-change"],
|
|
105
|
+
collidesWithIds: ["controls.layer-list"],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
id: "web-components.legend",
|
|
109
|
+
tag: "honua-legend",
|
|
110
|
+
source: "web-components",
|
|
111
|
+
className: "HonuaLegendElement",
|
|
112
|
+
supportTier: "survival-tier",
|
|
113
|
+
canonical: true,
|
|
114
|
+
requiredAdapters: ["web-component-controller"],
|
|
115
|
+
events: [],
|
|
116
|
+
collidesWithIds: ["controls.legend"],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
id: "web-components.feature-table",
|
|
120
|
+
tag: "honua-feature-table",
|
|
121
|
+
source: "web-components",
|
|
122
|
+
className: "HonuaFeatureTableElement",
|
|
123
|
+
supportTier: "survival-tier",
|
|
124
|
+
canonical: true,
|
|
125
|
+
requiredAdapters: ["web-component-controller"],
|
|
126
|
+
events: ["honua-filter-change", "honua-selection-change", "honua-table-conflict"],
|
|
127
|
+
collidesWithIds: [],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "web-components.search",
|
|
131
|
+
tag: "honua-search",
|
|
132
|
+
source: "web-components",
|
|
133
|
+
className: "HonuaSearchElement",
|
|
134
|
+
supportTier: "survival-tier",
|
|
135
|
+
canonical: true,
|
|
136
|
+
requiredAdapters: ["web-component-controller"],
|
|
137
|
+
events: ["honua-search", "honua-selection-change", "honua-geocode-select"],
|
|
138
|
+
collidesWithIds: [],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "web-components.editor",
|
|
142
|
+
tag: "honua-editor",
|
|
143
|
+
source: "web-components",
|
|
144
|
+
className: "HonuaEditorElement",
|
|
145
|
+
supportTier: "survival-tier",
|
|
146
|
+
canonical: true,
|
|
147
|
+
requiredAdapters: ["web-component-controller"],
|
|
148
|
+
events: ["honua-edit-change"],
|
|
149
|
+
collidesWithIds: [],
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: "web-components.feature-editor",
|
|
153
|
+
tag: "honua-feature-editor",
|
|
154
|
+
source: "web-components",
|
|
155
|
+
className: "HonuaFeatureEditorElement",
|
|
156
|
+
supportTier: "production-tier",
|
|
157
|
+
canonical: true,
|
|
158
|
+
requiredAdapters: ["edit-capable-source"],
|
|
159
|
+
events: ["honua-feature-edit-change", "honua-feature-edit-commit"],
|
|
160
|
+
collidesWithIds: [],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: "web-components.chart",
|
|
164
|
+
tag: "honua-chart",
|
|
165
|
+
source: "web-components",
|
|
166
|
+
className: "HonuaChartElement",
|
|
167
|
+
supportTier: "survival-tier",
|
|
168
|
+
canonical: true,
|
|
169
|
+
requiredAdapters: ["web-component-controller"],
|
|
170
|
+
events: [],
|
|
171
|
+
collidesWithIds: [],
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
id: "web-components.basemap-control",
|
|
175
|
+
tag: "honua-basemap-control",
|
|
176
|
+
source: "web-components",
|
|
177
|
+
className: "HonuaBasemapControlElement",
|
|
178
|
+
supportTier: "survival-tier",
|
|
179
|
+
canonical: true,
|
|
180
|
+
requiredAdapters: ["web-component-controller"],
|
|
181
|
+
events: ["honua-basemap-change"],
|
|
182
|
+
collidesWithIds: [],
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "web-components.bookmarks",
|
|
186
|
+
tag: "honua-bookmarks",
|
|
187
|
+
source: "web-components",
|
|
188
|
+
className: "HonuaBookmarksElement",
|
|
189
|
+
supportTier: "survival-tier",
|
|
190
|
+
canonical: true,
|
|
191
|
+
requiredAdapters: ["web-component-controller"],
|
|
192
|
+
events: ["honua-bookmark-change", "honua-viewport-change"],
|
|
193
|
+
collidesWithIds: [],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: "web-components.locate-control",
|
|
197
|
+
tag: "honua-locate-control",
|
|
198
|
+
source: "web-components",
|
|
199
|
+
className: "HonuaLocateControlElement",
|
|
200
|
+
supportTier: "survival-tier",
|
|
201
|
+
canonical: true,
|
|
202
|
+
requiredAdapters: ["web-component-controller"],
|
|
203
|
+
events: ["honua-locate-change", "honua-viewport-change"],
|
|
204
|
+
collidesWithIds: [],
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: "web-components.measure-control",
|
|
208
|
+
tag: "honua-measure-control",
|
|
209
|
+
source: "web-components",
|
|
210
|
+
className: "HonuaMeasureControlElement",
|
|
211
|
+
supportTier: "survival-tier",
|
|
212
|
+
canonical: true,
|
|
213
|
+
requiredAdapters: ["web-component-controller", "measurement-geometry-provider"],
|
|
214
|
+
events: ["honua-measure-change"],
|
|
215
|
+
collidesWithIds: [],
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
id: "web-components.measurement",
|
|
219
|
+
tag: "honua-measurement",
|
|
220
|
+
source: "web-components",
|
|
221
|
+
className: "HonuaMeasurementElement",
|
|
222
|
+
supportTier: "survival-tier",
|
|
223
|
+
canonical: true,
|
|
224
|
+
requiredAdapters: [],
|
|
225
|
+
events: ["honua-measure-change"],
|
|
226
|
+
collidesWithIds: [],
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: "web-components.time-slider",
|
|
230
|
+
tag: "honua-time-slider",
|
|
231
|
+
source: "web-components",
|
|
232
|
+
className: "HonuaTimeSliderElement",
|
|
233
|
+
supportTier: "survival-tier",
|
|
234
|
+
canonical: true,
|
|
235
|
+
// The temporal playback controller (`createTemporalPlayback`, issue #497)
|
|
236
|
+
// is the required adapter: the element is a view over it and renders an
|
|
237
|
+
// honest degraded panel until one is bound.
|
|
238
|
+
requiredAdapters: ["temporal-playback-controller"],
|
|
239
|
+
events: ["honua-time-change", "honua-time-playback-change"],
|
|
240
|
+
collidesWithIds: [],
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: "web-components.sketch-control",
|
|
244
|
+
tag: "honua-sketch-control",
|
|
245
|
+
source: "web-components",
|
|
246
|
+
className: "HonuaSketchControlElement",
|
|
247
|
+
supportTier: "survival-tier",
|
|
248
|
+
canonical: true,
|
|
249
|
+
requiredAdapters: ["web-component-controller", "sketch-geometry-provider"],
|
|
250
|
+
events: ["honua-sketch-change"],
|
|
251
|
+
collidesWithIds: [],
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: "web-components.print-export",
|
|
255
|
+
tag: "honua-print-export",
|
|
256
|
+
source: "web-components",
|
|
257
|
+
className: "HonuaPrintExportElement",
|
|
258
|
+
supportTier: "survival-tier",
|
|
259
|
+
canonical: true,
|
|
260
|
+
requiredAdapters: ["web-component-controller"],
|
|
261
|
+
events: ["honua-export"],
|
|
262
|
+
collidesWithIds: [],
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
id: "web-components.map-status",
|
|
266
|
+
tag: "honua-map-status",
|
|
267
|
+
source: "web-components",
|
|
268
|
+
className: "HonuaMapStatusElement",
|
|
269
|
+
supportTier: "survival-tier",
|
|
270
|
+
canonical: true,
|
|
271
|
+
requiredAdapters: ["web-component-controller"],
|
|
272
|
+
events: ["honua-fullscreen-change"],
|
|
273
|
+
collidesWithIds: [],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: "web-components.action-panel",
|
|
277
|
+
tag: "honua-action-panel",
|
|
278
|
+
source: "web-components",
|
|
279
|
+
className: "HonuaActionPanelElement",
|
|
280
|
+
supportTier: "survival-tier",
|
|
281
|
+
canonical: true,
|
|
282
|
+
requiredAdapters: ["web-component-controller"],
|
|
283
|
+
events: ["honua-action"],
|
|
284
|
+
collidesWithIds: [],
|
|
285
|
+
},
|
|
286
|
+
];
|
|
287
|
+
/** Looks up one catalog entry by its stable id. */
|
|
288
|
+
export function getComponentCatalogEntry(id) {
|
|
289
|
+
return HONUA_COMPONENT_CATALOG.find((entry) => entry.id === id);
|
|
290
|
+
}
|
|
291
|
+
/** All catalog entries, optionally filtered by kit. */
|
|
292
|
+
export function listComponentCatalogEntries(source) {
|
|
293
|
+
if (!source)
|
|
294
|
+
return HONUA_COMPONENT_CATALOG;
|
|
295
|
+
return HONUA_COMPONENT_CATALOG.filter((entry) => entry.source === source);
|
|
296
|
+
}
|
|
297
|
+
/** Every entry that registers `tag` (one entry unless the tag is contested). */
|
|
298
|
+
export function getComponentCatalogEntriesForTag(tag) {
|
|
299
|
+
return HONUA_COMPONENT_CATALOG.filter((entry) => entry.tag === tag);
|
|
300
|
+
}
|
|
301
|
+
/** The single canonical/default entry for `tag`, or `undefined` for an unknown tag. */
|
|
302
|
+
export function getCanonicalComponentCatalogEntry(tag) {
|
|
303
|
+
return HONUA_COMPONENT_CATALOG.find((entry) => entry.tag === tag && entry.canonical);
|
|
304
|
+
}
|
|
305
|
+
const DEPRECATED_COMPONENT_ALIASES = [
|
|
306
|
+
{
|
|
307
|
+
specifier: "@honua/sdk-js/controls",
|
|
308
|
+
canonicalReplacement: "@honua/app-platform/controls",
|
|
309
|
+
removedIn: "0.2.0",
|
|
310
|
+
note: "Moved to @honua/app-platform/controls per docs/decisions/scope-split-and-1.0.md. The @honua/sdk-js/controls re-export is retained through the 0.1.x line and removed in 0.2.0.",
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
specifier: "@honua/sdk-js/web-components",
|
|
314
|
+
canonicalReplacement: "@honua/app-platform/web-components",
|
|
315
|
+
removedIn: "0.2.0",
|
|
316
|
+
note: "Moved to @honua/app-platform/web-components per docs/decisions/scope-split-and-1.0.md. The @honua/sdk-js/web-components re-export is retained through the 0.1.x line and removed in 0.2.0.",
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
specifier: "controls.legend",
|
|
320
|
+
canonicalReplacement: "web-components.legend",
|
|
321
|
+
note: 'honua-legend\'s canonical/default registrant is the web-components (controller-driven) implementation. The controls (map-style-derive) implementation no longer auto-registers on import — call defineHonuaLegend() explicitly (or registerComponent("controls.legend")) to claim the tag with it instead.',
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
specifier: "controls.layer-list",
|
|
325
|
+
canonicalReplacement: "web-components.layer-list",
|
|
326
|
+
note: 'honua-layer-list\'s canonical/default registrant is the web-components (controller-driven) implementation. Call defineHonuaLayerList() explicitly (or registerComponent("controls.layer-list")) to claim the tag with the controls (overlay-definition) implementation instead.',
|
|
327
|
+
},
|
|
328
|
+
];
|
|
329
|
+
/**
|
|
330
|
+
* Looks up migration guidance for a deprecated `@honua/sdk-js` component
|
|
331
|
+
* subpath (e.g. `"@honua/sdk-js/controls"`) or a contested-tag catalog id
|
|
332
|
+
* (e.g. `"controls.legend"`). Returns `undefined` for specifiers the catalog
|
|
333
|
+
* has no recorded alias for.
|
|
334
|
+
*/
|
|
335
|
+
export function describeDeprecatedComponentImport(specifier) {
|
|
336
|
+
return DEPRECATED_COMPONENT_ALIASES.find((alias) => alias.specifier === specifier);
|
|
337
|
+
}
|
|
338
|
+
/** Every recorded deprecated component import/alias and its canonical replacement. */
|
|
339
|
+
export function listDeprecatedComponentImports() {
|
|
340
|
+
return DEPRECATED_COMPONENT_ALIASES;
|
|
341
|
+
}
|
|
@@ -18,6 +18,8 @@ export declare const globalDom: typeof globalThis & {
|
|
|
18
18
|
HTMLElement?: typeof HTMLElement;
|
|
19
19
|
CustomEvent?: typeof CustomEvent;
|
|
20
20
|
customElements?: CustomElementRegistry;
|
|
21
|
+
getComputedStyle?: typeof getComputedStyle;
|
|
22
|
+
CSSStyleSheet?: typeof CSSStyleSheet;
|
|
21
23
|
};
|
|
22
24
|
export declare const HTMLElementBase: typeof HTMLElement;
|
|
23
25
|
/**
|
|
@@ -45,4 +47,11 @@ export declare function listenForHonuaMapReady(element: HostElementLike, assign:
|
|
|
45
47
|
export declare function resolveHonuaMapFromContext(element: HostElementLike): unknown;
|
|
46
48
|
export declare function escapeHtml(value: string): string;
|
|
47
49
|
export declare function escapeAttribute(value: string): string;
|
|
50
|
+
interface ShadowRenderRoot {
|
|
51
|
+
innerHTML: string;
|
|
52
|
+
adoptedStyleSheets?: CSSStyleSheet[];
|
|
53
|
+
}
|
|
54
|
+
/** Render controls with a constructable stylesheet when CSP-safe DOM APIs exist. */
|
|
55
|
+
export declare function renderShadowRoot(root: ShadowRenderRoot, cssText: string, markup: string): void;
|
|
56
|
+
export {};
|
|
48
57
|
//# sourceMappingURL=element-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-utils.d.ts","sourceRoot":"","sources":["../../../src/controls/element-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,SAAS,EAAiB,OAAO,UAAU,GAAG;IACzD,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,cAAc,CAAC,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"element-utils.d.ts","sourceRoot":"","sources":["../../../src/controls/element-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,SAAS,EAAiB,OAAO,UAAU,GAAG;IACzD,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;IACjC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,OAAO,WAAkF,CAAC;AAExH;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,IAAI,IAAI,CAAC;CACtB;AAED,mIAAmI;AACnI,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,GAAG,SAAS,CAIjF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAC7B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAY1B;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAY5E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC;CACtC;AAID,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAe9F"}
|
|
@@ -76,3 +76,20 @@ export function escapeHtml(value) {
|
|
|
76
76
|
export function escapeAttribute(value) {
|
|
77
77
|
return escapeHtml(value);
|
|
78
78
|
}
|
|
79
|
+
const adoptedSheets = new WeakMap();
|
|
80
|
+
/** Render controls with a constructable stylesheet when CSP-safe DOM APIs exist. */
|
|
81
|
+
export function renderShadowRoot(root, cssText, markup) {
|
|
82
|
+
const StyleSheet = globalDom.CSSStyleSheet;
|
|
83
|
+
if (StyleSheet && Array.isArray(root.adoptedStyleSheets) && typeof StyleSheet.prototype.replaceSync === "function") {
|
|
84
|
+
let sheet = adoptedSheets.get(root);
|
|
85
|
+
if (!sheet) {
|
|
86
|
+
sheet = new StyleSheet();
|
|
87
|
+
adoptedSheets.set(root, sheet);
|
|
88
|
+
root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];
|
|
89
|
+
}
|
|
90
|
+
sheet.replaceSync(cssText);
|
|
91
|
+
root.innerHTML = markup;
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
root.innerHTML = `<style>${cssText}</style>${markup}`;
|
|
95
|
+
}
|
package/controls/index.d.ts
CHANGED
|
@@ -2,19 +2,34 @@
|
|
|
2
2
|
* Native Honua UI control kit (`@honua/sdk-js/controls`) — optional,
|
|
3
3
|
* framework-free custom elements for apps built on the native lane
|
|
4
4
|
* (HonuaClient + MapLibre). Tracked by issue #274; ships the basemap
|
|
5
|
-
* switcher, the legend, and the
|
|
5
|
+
* switcher, the legend, the layer list, and the swipe control.
|
|
6
6
|
*
|
|
7
7
|
* This entry is intentionally independent of the SDK core bundle (the same
|
|
8
8
|
* posture as `@honua/sdk-js/esri-compat`): it imports nothing from
|
|
9
9
|
* `src/core`/`src/runtime` and has no dependency on `maplibre-gl` — controls
|
|
10
10
|
* drive any MapLibre `Map` through a duck-typed interface.
|
|
11
11
|
*
|
|
12
|
-
* Importing this module registers the basemap switcher
|
|
13
|
-
*
|
|
12
|
+
* Importing this module registers the basemap switcher and the swipe control
|
|
13
|
+
* when a browser `customElements` registry is present. Node imports are
|
|
14
14
|
* safe; call `defineHonuaControls()` explicitly when using a scoped registry.
|
|
15
|
-
* The layer list
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* The legend and the layer list are opt-in via {@link defineHonuaLegend} /
|
|
16
|
+
* {@link defineHonuaLayerList} — both tags also have a controller-driven
|
|
17
|
+
* implementation in `@honua/sdk-js/web-components`, which is each tag's
|
|
18
|
+
* canonical/default registrant (see `./catalog.js`). Issue #679 consolidated
|
|
19
|
+
* component ownership so importing any combination of `./controls` and
|
|
20
|
+
* `./web-components`, in any order, always registers the same tags with the
|
|
21
|
+
* same constructors — claiming a controls-kit implementation for a contested
|
|
22
|
+
* tag is now always an explicit call, never an import-order accident.
|
|
23
|
+
*
|
|
24
|
+
* `./catalog.js` and `./registry.js` (re-exported below) are the
|
|
25
|
+
* consolidated component catalog and typed registration surface spanning
|
|
26
|
+
* both kits: `HONUA_COMPONENT_CATALOG` describes every shipped tag's
|
|
27
|
+
* ownership, support tier, required adapters, and events, and
|
|
28
|
+
* `registerComponent` / `registerComponents` / `registerAllComponents` /
|
|
29
|
+
* `createComponentRegistry` register by catalog id — individually, as a
|
|
30
|
+
* named subset, as the full canonical set, or against an isolated registry —
|
|
31
|
+
* regardless of which subpath (`./controls` or `./web-components`) a caller
|
|
32
|
+
* imports them from.
|
|
18
33
|
*
|
|
19
34
|
* @experimental This entrypoint is not yet covered by the SDK's semver
|
|
20
35
|
* contract — the surface may change in any minor release prior to `1.0.0`.
|
|
@@ -23,11 +38,17 @@
|
|
|
23
38
|
import "./basemap-switcher.js";
|
|
24
39
|
import "./swipe-control.js";
|
|
25
40
|
export { HonuaBasemapStyleBinding } from "./basemap-style-binding.js";
|
|
26
|
-
export { HonuaBasemapSwitcherElement, defineHonuaControls } from "./basemap-switcher.js";
|
|
41
|
+
export { HonuaBasemapSwitcherElement, defineHonuaBasemapSwitcher, defineHonuaControls } from "./basemap-switcher.js";
|
|
42
|
+
export { HONUA_COMPONENT_CATALOG, describeDeprecatedComponentImport, getCanonicalComponentCatalogEntry, getComponentCatalogEntriesForTag, getComponentCatalogEntry, listComponentCatalogEntries, listDeprecatedComponentImports, } from "./catalog.js";
|
|
43
|
+
export type { HonuaComponentCatalogEntry, HonuaComponentSource, HonuaComponentSupportTier, HonuaDeprecatedComponentDiagnostic, } from "./catalog.js";
|
|
27
44
|
export { HonuaLayerListElement, defineHonuaLayerList } from "./layer-list.js";
|
|
28
45
|
export { HonuaLegendDeriveError, deriveLegendEntries } from "./legend-derive.js";
|
|
29
46
|
export type { HonuaLegendDeriveErrorCode } from "./legend-derive.js";
|
|
30
|
-
export { HonuaLegendElement } from "./legend.js";
|
|
47
|
+
export { HonuaLegendElement, defineHonuaLegend } from "./legend.js";
|
|
48
|
+
export { HONUA_COMPONENT_QUALIFICATION_DATA_VERSION, HONUA_COMPONENT_QUALIFICATION_GATES, HONUA_COMPONENT_QUALIFICATION_STATUSES, describeComponentQualificationGate, getComponentQualification, isComponentProductionQualified, listOpenQualificationGates, listComponentQualifications, summarizeComponentQualification, } from "./qualification.js";
|
|
49
|
+
export type { HonuaComponentQualification, HonuaComponentQualificationCell, HonuaComponentQualificationGate, HonuaComponentQualificationGateId, HonuaComponentQualificationRequirement, HonuaComponentQualificationStatus, HonuaComponentQualificationSummary, } from "./qualification.js";
|
|
50
|
+
export { HonuaComponentCatalogError, createComponentRegistry, registerAllComponents, registerComponent, registerComponents, } from "./registry.js";
|
|
51
|
+
export type { HonuaComponentCatalogId, HonuaComponentRegistrationOptions, HonuaComponentRegistry, } from "./registry.js";
|
|
31
52
|
export { HonuaSwipeControlElement, defineHonuaSwipeControl } from "./swipe-control.js";
|
|
32
53
|
export type { HonuaBasemapDefinition, HonuaBasemapKind, HonuaBasemapLayerSpecification, HonuaBasemapSwitcherChangeDetail, HonuaBasemapSwitcherMap, HonuaLayerListChangeDetail, HonuaLayerListMap, HonuaLayerListOverlay, HonuaLegendEntry, HonuaLegendMap, HonuaLegendSection, HonuaLegendSwatchColor, HonuaLegendSwatchShape, HonuaSwipeChangeDetail, HonuaSwipeMap, HonuaSwipeOrientation, } from "./types.js";
|
|
33
54
|
//# sourceMappingURL=index.d.ts.map
|
package/controls/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controls/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controls/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACrH,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,iCAAiC,EACjC,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,kCAAkC,GACnC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,0CAA0C,EAC1C,mCAAmC,EACnC,sCAAsC,EACtC,kCAAkC,EAClC,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,sCAAsC,EACtC,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,uBAAuB,EACvB,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvF,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,8BAA8B,EAC9B,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
|
package/controls/index.js
CHANGED
|
@@ -2,19 +2,34 @@
|
|
|
2
2
|
* Native Honua UI control kit (`@honua/sdk-js/controls`) — optional,
|
|
3
3
|
* framework-free custom elements for apps built on the native lane
|
|
4
4
|
* (HonuaClient + MapLibre). Tracked by issue #274; ships the basemap
|
|
5
|
-
* switcher, the legend, and the
|
|
5
|
+
* switcher, the legend, the layer list, and the swipe control.
|
|
6
6
|
*
|
|
7
7
|
* This entry is intentionally independent of the SDK core bundle (the same
|
|
8
8
|
* posture as `@honua/sdk-js/esri-compat`): it imports nothing from
|
|
9
9
|
* `src/core`/`src/runtime` and has no dependency on `maplibre-gl` — controls
|
|
10
10
|
* drive any MapLibre `Map` through a duck-typed interface.
|
|
11
11
|
*
|
|
12
|
-
* Importing this module registers the basemap switcher
|
|
13
|
-
*
|
|
12
|
+
* Importing this module registers the basemap switcher and the swipe control
|
|
13
|
+
* when a browser `customElements` registry is present. Node imports are
|
|
14
14
|
* safe; call `defineHonuaControls()` explicitly when using a scoped registry.
|
|
15
|
-
* The layer list
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* The legend and the layer list are opt-in via {@link defineHonuaLegend} /
|
|
16
|
+
* {@link defineHonuaLayerList} — both tags also have a controller-driven
|
|
17
|
+
* implementation in `@honua/sdk-js/web-components`, which is each tag's
|
|
18
|
+
* canonical/default registrant (see `./catalog.js`). Issue #679 consolidated
|
|
19
|
+
* component ownership so importing any combination of `./controls` and
|
|
20
|
+
* `./web-components`, in any order, always registers the same tags with the
|
|
21
|
+
* same constructors — claiming a controls-kit implementation for a contested
|
|
22
|
+
* tag is now always an explicit call, never an import-order accident.
|
|
23
|
+
*
|
|
24
|
+
* `./catalog.js` and `./registry.js` (re-exported below) are the
|
|
25
|
+
* consolidated component catalog and typed registration surface spanning
|
|
26
|
+
* both kits: `HONUA_COMPONENT_CATALOG` describes every shipped tag's
|
|
27
|
+
* ownership, support tier, required adapters, and events, and
|
|
28
|
+
* `registerComponent` / `registerComponents` / `registerAllComponents` /
|
|
29
|
+
* `createComponentRegistry` register by catalog id — individually, as a
|
|
30
|
+
* named subset, as the full canonical set, or against an isolated registry —
|
|
31
|
+
* regardless of which subpath (`./controls` or `./web-components`) a caller
|
|
32
|
+
* imports them from.
|
|
18
33
|
*
|
|
19
34
|
* @experimental This entrypoint is not yet covered by the SDK's semver
|
|
20
35
|
* contract — the surface may change in any minor release prior to `1.0.0`.
|
|
@@ -23,8 +38,11 @@
|
|
|
23
38
|
import "./basemap-switcher.js";
|
|
24
39
|
import "./swipe-control.js";
|
|
25
40
|
export { HonuaBasemapStyleBinding } from "./basemap-style-binding.js";
|
|
26
|
-
export { HonuaBasemapSwitcherElement, defineHonuaControls } from "./basemap-switcher.js";
|
|
41
|
+
export { HonuaBasemapSwitcherElement, defineHonuaBasemapSwitcher, defineHonuaControls } from "./basemap-switcher.js";
|
|
42
|
+
export { HONUA_COMPONENT_CATALOG, describeDeprecatedComponentImport, getCanonicalComponentCatalogEntry, getComponentCatalogEntriesForTag, getComponentCatalogEntry, listComponentCatalogEntries, listDeprecatedComponentImports, } from "./catalog.js";
|
|
27
43
|
export { HonuaLayerListElement, defineHonuaLayerList } from "./layer-list.js";
|
|
28
44
|
export { HonuaLegendDeriveError, deriveLegendEntries } from "./legend-derive.js";
|
|
29
|
-
export { HonuaLegendElement } from "./legend.js";
|
|
45
|
+
export { HonuaLegendElement, defineHonuaLegend } from "./legend.js";
|
|
46
|
+
export { HONUA_COMPONENT_QUALIFICATION_DATA_VERSION, HONUA_COMPONENT_QUALIFICATION_GATES, HONUA_COMPONENT_QUALIFICATION_STATUSES, describeComponentQualificationGate, getComponentQualification, isComponentProductionQualified, listOpenQualificationGates, listComponentQualifications, summarizeComponentQualification, } from "./qualification.js";
|
|
47
|
+
export { HonuaComponentCatalogError, createComponentRegistry, registerAllComponents, registerComponent, registerComponents, } from "./registry.js";
|
|
30
48
|
export { HonuaSwipeControlElement, defineHonuaSwipeControl } from "./swipe-control.js";
|
package/controls/layer-list.d.ts
CHANGED
|
@@ -31,7 +31,10 @@
|
|
|
31
31
|
* - `overlays` — JSON array of {@link HonuaLayerListOverlay} (the `overlays`
|
|
32
32
|
* property is preferred for non-trivial configs).
|
|
33
33
|
* - `for` — id of the map-providing element, see Wiring.
|
|
34
|
-
* - `label` — accessible name of the list (default "Layers")
|
|
34
|
+
* - `label` — accessible name of the list (default "Layers"); reflects the
|
|
35
|
+
* `label` property.
|
|
36
|
+
* - `not-seeded-label` — fallback text for the disabled-row badge (default
|
|
37
|
+
* "Not seeded"); reflects `notSeededLabel`.
|
|
35
38
|
* - `auto-refresh` — boolean; see Reactivity.
|
|
36
39
|
*
|
|
37
40
|
* ## CSS parts
|
|
@@ -58,6 +61,12 @@ export declare class HonuaLayerListElement extends HTMLElementBase {
|
|
|
58
61
|
set map(map: HonuaLayerListMap | undefined);
|
|
59
62
|
/** Wires the list to a MapLibre map. Equivalent to setting `.map`. */
|
|
60
63
|
connect(map: HonuaLayerListMap): void;
|
|
64
|
+
/** Accessible name of the list. Reflects the `label` attribute. */
|
|
65
|
+
get label(): string;
|
|
66
|
+
set label(value: string | undefined);
|
|
67
|
+
/** Fallback text for an overlay whose style layers are not seeded. */
|
|
68
|
+
get notSeededLabel(): string;
|
|
69
|
+
set notSeededLabel(value: string | undefined);
|
|
61
70
|
/** The registered overlay definitions. */
|
|
62
71
|
get overlays(): readonly HonuaLayerListOverlay[];
|
|
63
72
|
set overlays(overlays: readonly HonuaLayerListOverlay[]);
|
|
@@ -84,10 +93,9 @@ export declare class HonuaLayerListElement extends HTMLElementBase {
|
|
|
84
93
|
* Unlike the other controls-kit elements, this is **opt-in** and is NOT run by
|
|
85
94
|
* the blanket `defineHonuaControls()` / module-load auto-registration. The
|
|
86
95
|
* `web-components` entry ships its own (controller-driven) `honua-layer-list`
|
|
87
|
-
* under the same tag
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* overlay-definition-driven layer list register it explicitly:
|
|
96
|
+
* under the same tag and is that tag's canonical/default registrant (see
|
|
97
|
+
* `./catalog.js`), so callers who want the native, overlay-definition-driven
|
|
98
|
+
* layer list register it explicitly:
|
|
91
99
|
*
|
|
92
100
|
* ```ts
|
|
93
101
|
* import { defineHonuaLayerList } from "@honua/sdk-js/controls";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer-list.d.ts","sourceRoot":"","sources":["../../../src/controls/layer-list.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"layer-list.d.ts","sourceRoot":"","sources":["../../../src/controls/layer-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,EACL,eAAe,EAOhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAA8B,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEvG;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;;IACxD,WAAkB,kBAAkB,IAAI,MAAM,EAAE,CAE/C;IAQD,gEAAgE;IAChE,IAAW,GAAG,IAAI,iBAAiB,GAAG,SAAS,CAE9C;IAED,IAAW,GAAG,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,EAMhD;IAED,sEAAsE;IAC/D,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAI5C,mEAAmE;IACnE,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAIzC;IAED,sEAAsE;IACtE,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAIlD;IAED,0CAA0C;IAC1C,IAAW,QAAQ,IAAI,SAAS,qBAAqB,EAAE,CAEtD;IAED,IAAW,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAG7D;IAED,qFAAqF;IACrF,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAIpC;IAED,2DAA2D;IACpD,OAAO,IAAI,IAAI;IAItB;;;;OAIG;IACI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAiBxD,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAmB/F,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IA4EnC,SAAS,CAAC,MAAM,IAAI,IAAI;CAkFzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,wBAA2B,GAAG,IAAI,CAK9E"}
|