@honua/react 0.0.20-alpha.0 → 0.1.1-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/contract/discovery.d.ts +231 -0
- package/contract/discovery.d.ts.map +1 -0
- package/contract/discovery.js +554 -0
- package/contract/edit-sketch.d.ts +8 -0
- package/contract/edit-sketch.d.ts.map +1 -1
- package/contract/edit-sketch.js +15 -0
- package/contract/edit-snapping.d.ts +160 -0
- package/contract/edit-snapping.d.ts.map +1 -0
- package/contract/edit-snapping.js +675 -0
- package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
- package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
- package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
- package/contract/index.d.ts +12 -1
- package/contract/index.d.ts.map +1 -1
- package/contract/index.js +4 -0
- package/contract/pmtiles.d.ts +193 -0
- package/contract/pmtiles.d.ts.map +1 -0
- package/contract/pmtiles.js +195 -0
- package/contract/protocol-module.d.ts +70 -0
- package/contract/protocol-module.d.ts.map +1 -0
- package/contract/protocol-module.js +1 -0
- package/contract/schema-envelope.d.ts +26 -0
- package/contract/schema-envelope.d.ts.map +1 -0
- package/contract/schema-envelope.js +25 -0
- package/contract/schema.d.ts +582 -0
- package/contract/schema.d.ts.map +1 -0
- package/contract/schema.js +2483 -0
- package/contract/source-capability-support.d.ts +6 -0
- package/contract/source-capability-support.d.ts.map +1 -0
- package/contract/source-capability-support.js +154 -0
- package/contract/source.d.ts +57 -15
- package/contract/source.d.ts.map +1 -1
- package/contract/source.js +368 -65
- package/contract/types.d.ts +171 -6
- package/contract/types.d.ts.map +1 -1
- package/contract/types.js +14 -14
- package/core/auth/client-credentials-provider.d.ts +51 -0
- package/core/auth/client-credentials-provider.d.ts.map +1 -0
- package/core/auth/client-credentials-provider.js +115 -0
- package/core/auth/credential-store.d.ts +52 -0
- package/core/auth/credential-store.d.ts.map +1 -0
- package/core/auth/credential-store.js +82 -0
- package/core/auth/index.d.ts +23 -0
- package/core/auth/index.d.ts.map +1 -0
- package/core/auth/index.js +20 -0
- package/core/auth/oauth2-provider.d.ts +114 -0
- package/core/auth/oauth2-provider.d.ts.map +1 -0
- package/core/auth/oauth2-provider.js +408 -0
- package/core/auth/pkce.d.ts +25 -0
- package/core/auth/pkce.d.ts.map +1 -0
- package/core/auth/pkce.js +46 -0
- package/core/auth/static-providers.d.ts +20 -0
- package/core/auth/static-providers.d.ts.map +1 -0
- package/core/auth/static-providers.js +26 -0
- package/core/auth/token-endpoint.d.ts +40 -0
- package/core/auth/token-endpoint.d.ts.map +1 -0
- package/core/auth/token-endpoint.js +133 -0
- package/core/auth/types.d.ts +144 -0
- package/core/auth/types.d.ts.map +1 -0
- package/core/auth/types.js +8 -0
- package/core/bounded-json.d.ts +4 -0
- package/core/bounded-json.d.ts.map +1 -0
- package/core/bounded-json.js +38 -0
- package/core/cache-state.d.ts +9 -0
- package/core/cache-state.d.ts.map +1 -1
- package/core/cache-state.js +10 -0
- package/core/capabilities-xml.d.ts +33 -0
- package/core/capabilities-xml.d.ts.map +1 -0
- package/core/capabilities-xml.js +331 -0
- package/core/client.d.ts +35 -2
- package/core/client.d.ts.map +1 -1
- package/core/client.js +167 -29
- package/core/error-classifications.d.ts +153 -0
- package/core/error-classifications.d.ts.map +1 -0
- package/core/error-classifications.js +140 -0
- package/core/error-code-registry.d.ts +158 -0
- package/core/error-code-registry.d.ts.map +1 -0
- package/core/error-code-registry.js +143 -0
- package/core/error-envelope.d.ts +68 -0
- package/core/error-envelope.d.ts.map +1 -0
- package/core/error-envelope.js +357 -0
- package/core/errors.d.ts +73 -25
- package/core/errors.d.ts.map +1 -1
- package/core/errors.js +113 -46
- package/core/geoparquet-sql.d.ts +190 -0
- package/core/geoparquet-sql.d.ts.map +1 -0
- package/core/geoparquet-sql.js +368 -0
- package/core/odata-key-path.d.ts +12 -0
- package/core/odata-key-path.d.ts.map +1 -0
- package/core/odata-key-path.js +28 -0
- package/core/odata-write-codec.d.ts +66 -0
- package/core/odata-write-codec.d.ts.map +1 -0
- package/core/odata-write-codec.js +1083 -0
- package/core/odata.d.ts +59 -7
- package/core/odata.d.ts.map +1 -1
- package/core/odata.js +431 -99
- package/core/ogc-endpoint-layout.d.ts +70 -0
- package/core/ogc-endpoint-layout.d.ts.map +1 -0
- package/core/ogc-endpoint-layout.js +173 -0
- package/core/ogc-features.d.ts.map +1 -1
- package/core/ogc-features.js +35 -17
- package/core/ogc-maps.d.ts +7 -0
- package/core/ogc-maps.d.ts.map +1 -1
- package/core/ogc-maps.js +46 -7
- package/core/ogc-processes.d.ts +2 -1
- package/core/ogc-processes.d.ts.map +1 -1
- package/core/ogc-processes.js +33 -5
- package/core/ogc-records.d.ts +9 -0
- package/core/ogc-records.d.ts.map +1 -1
- package/core/ogc-records.js +78 -29
- package/core/ogc-tiles.d.ts +10 -1
- package/core/ogc-tiles.d.ts.map +1 -1
- package/core/ogc-tiles.js +56 -17
- package/core/path-utils.d.ts +9 -0
- package/core/path-utils.d.ts.map +1 -1
- package/core/path-utils.js +19 -0
- package/core/protocol-transport.d.ts +1 -0
- package/core/protocol-transport.d.ts.map +1 -1
- package/core/request-pipeline.d.ts.map +1 -1
- package/core/request-pipeline.js +1 -1
- package/core/spatial-filter.d.ts +8 -4
- package/core/spatial-filter.d.ts.map +1 -1
- package/core/spatial-filter.js +206 -16
- package/core/stac-static.d.ts +55 -0
- package/core/stac-static.d.ts.map +1 -0
- package/core/stac-static.js +386 -0
- package/core/stac.d.ts +12 -0
- package/core/stac.d.ts.map +1 -1
- package/core/stac.js +45 -15
- package/core/surfaces.d.ts +13 -0
- package/core/surfaces.d.ts.map +1 -1
- package/core/surfaces.js +127 -16
- package/core/types.d.ts +174 -7
- package/core/types.d.ts.map +1 -1
- package/core/wfs-capabilities.d.ts +12 -0
- package/core/wfs-capabilities.d.ts.map +1 -1
- package/core/wfs-capabilities.js +22 -3
- package/core/wfs.d.ts +13 -0
- package/core/wfs.d.ts.map +1 -1
- package/core/wfs.js +35 -5
- package/core/wms-capabilities.d.ts +56 -84
- package/core/wms-capabilities.d.ts.map +1 -1
- package/core/wms-capabilities.js +212 -509
- package/core/wmts-capabilities.d.ts +62 -62
- package/core/wmts-capabilities.d.ts.map +1 -1
- package/core/wmts-capabilities.js +224 -371
- package/esri-compat/editor.d.ts +8 -0
- package/esri-compat/editor.d.ts.map +1 -1
- package/esri-compat/editor.js +13 -0
- package/esri-compat/feature-layer.d.ts +2 -0
- package/esri-compat/feature-layer.d.ts.map +1 -1
- package/esri-compat/feature-layer.js +1 -0
- package/esri-compat/identity-manager.d.ts +43 -0
- package/esri-compat/identity-manager.d.ts.map +1 -1
- package/esri-compat/identity-manager.js +131 -1
- package/esri-compat/layer-list.d.ts +11 -0
- package/esri-compat/layer-list.d.ts.map +1 -1
- package/esri-compat/layer-list.js +49 -0
- package/esri-compat/legend.d.ts +10 -0
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +27 -0
- package/esri-compat/oauth-info.d.ts +15 -0
- package/esri-compat/oauth-info.d.ts.map +1 -1
- package/esri-compat/oauth-info.js +27 -0
- package/esri-compat/portal.d.ts +197 -0
- package/esri-compat/portal.d.ts.map +1 -0
- package/esri-compat/portal.js +251 -0
- package/esri-compat/renderer-objects.d.ts +40 -0
- package/esri-compat/renderer-objects.d.ts.map +1 -0
- package/esri-compat/renderer-objects.js +62 -0
- package/esri-compat/sketch.d.ts +43 -0
- package/esri-compat/sketch.d.ts.map +1 -1
- package/esri-compat/sketch.js +46 -0
- package/esri-compat/snapping.d.ts +43 -0
- package/esri-compat/snapping.d.ts.map +1 -0
- package/esri-compat/snapping.js +45 -0
- package/esri-compat/url.d.ts.map +1 -1
- package/esri-compat/url.js +1 -1
- package/esri-compat/widget-host.d.ts +84 -0
- package/esri-compat/widget-host.d.ts.map +1 -0
- package/esri-compat/widget-host.js +159 -0
- package/filter-registry/index.d.ts +145 -0
- package/filter-registry/index.d.ts.map +1 -0
- package/filter-registry/index.js +531 -0
- package/generated-app/errors.d.ts +18 -2
- package/generated-app/errors.d.ts.map +1 -1
- package/generated-app/errors.js +44 -11
- package/map/automatic-mount-integration.d.ts +134 -0
- package/map/automatic-mount-integration.d.ts.map +1 -0
- package/map/automatic-mount-integration.js +305 -0
- package/map/automatic-source-strategy.d.ts +125 -0
- package/map/automatic-source-strategy.d.ts.map +1 -0
- package/map/automatic-source-strategy.js +494 -0
- package/map/data-to-map-bridge.d.ts +293 -0
- package/map/data-to-map-bridge.d.ts.map +1 -0
- package/map/data-to-map-bridge.js +817 -0
- package/map/geojson-projection.d.ts +33 -0
- package/map/geojson-projection.d.ts.map +1 -0
- package/map/geojson-projection.js +118 -0
- package/map/index.d.ts +14 -0
- package/map/index.d.ts.map +1 -1
- package/map/index.js +8 -0
- package/map/raster-source-spec.d.ts +30 -0
- package/map/raster-source-spec.d.ts.map +1 -0
- package/map/raster-source-spec.js +190 -0
- package/map/raster-source-strategy.d.ts +65 -0
- package/map/raster-source-strategy.d.ts.map +1 -0
- package/map/raster-source-strategy.js +232 -0
- package/map/source-to-maplibre.d.ts +91 -0
- package/map/source-to-maplibre.d.ts.map +1 -0
- package/map/source-to-maplibre.js +454 -0
- package/map/temporal-playback.d.ts +139 -0
- package/map/temporal-playback.d.ts.map +1 -0
- package/map/temporal-playback.js +247 -0
- package/package.json +19 -1
- package/query-planner/canonical.d.ts +7 -0
- package/query-planner/canonical.d.ts.map +1 -0
- package/query-planner/canonical.js +145 -0
- package/query-planner/cql2-json.d.ts +17 -0
- package/query-planner/cql2-json.d.ts.map +1 -0
- package/query-planner/cql2-json.js +646 -0
- package/query-planner/diagnostics.d.ts +35 -0
- package/query-planner/diagnostics.d.ts.map +1 -0
- package/query-planner/diagnostics.js +373 -0
- package/query-planner/duckdb.d.ts +79 -0
- package/query-planner/duckdb.d.ts.map +1 -0
- package/query-planner/duckdb.js +758 -0
- package/query-planner/execution-context.d.ts +5 -0
- package/query-planner/execution-context.d.ts.map +1 -0
- package/query-planner/execution-context.js +50 -0
- package/query-planner/executor.d.ts +5 -0
- package/query-planner/executor.d.ts.map +1 -0
- package/query-planner/executor.js +223 -0
- package/query-planner/geoservices.d.ts +91 -0
- package/query-planner/geoservices.d.ts.map +1 -0
- package/query-planner/geoservices.js +667 -0
- package/query-planner/grpc.d.ts +100 -0
- package/query-planner/grpc.d.ts.map +1 -0
- package/query-planner/grpc.js +736 -0
- package/query-planner/index.d.ts +44 -0
- package/query-planner/index.d.ts.map +1 -0
- package/query-planner/index.js +30 -0
- package/query-planner/ir.d.ts +20 -0
- package/query-planner/ir.d.ts.map +1 -0
- package/query-planner/ir.js +417 -0
- package/query-planner/local-aggregate.d.ts +5 -0
- package/query-planner/local-aggregate.d.ts.map +1 -0
- package/query-planner/local-aggregate.js +126 -0
- package/query-planner/odata.d.ts +48 -0
- package/query-planner/odata.d.ts.map +1 -0
- package/query-planner/odata.js +662 -0
- package/query-planner/ogc-compiler.d.ts +55 -0
- package/query-planner/ogc-compiler.d.ts.map +1 -0
- package/query-planner/ogc-compiler.js +480 -0
- package/query-planner/ogc-features.d.ts +53 -0
- package/query-planner/ogc-features.d.ts.map +1 -0
- package/query-planner/ogc-features.js +617 -0
- package/query-planner/planner.d.ts +17 -0
- package/query-planner/planner.d.ts.map +1 -0
- package/query-planner/planner.js +818 -0
- package/query-planner/resource.d.ts +94 -0
- package/query-planner/resource.d.ts.map +1 -0
- package/query-planner/resource.js +526 -0
- package/query-planner/semantic-canonical.d.ts +15 -0
- package/query-planner/semantic-canonical.d.ts.map +1 -0
- package/query-planner/semantic-canonical.js +62 -0
- package/query-planner/semantic-compat.d.ts +10 -0
- package/query-planner/semantic-compat.d.ts.map +1 -0
- package/query-planner/semantic-compat.js +35 -0
- package/query-planner/semantic-compiler.d.ts +64 -0
- package/query-planner/semantic-compiler.d.ts.map +1 -0
- package/query-planner/semantic-compiler.js +81 -0
- package/query-planner/semantic-literals.d.ts +30 -0
- package/query-planner/semantic-literals.d.ts.map +1 -0
- package/query-planner/semantic-literals.js +133 -0
- package/query-planner/semantic-types.d.ts +265 -0
- package/query-planner/semantic-types.d.ts.map +1 -0
- package/query-planner/semantic-types.js +1 -0
- package/query-planner/semantic.d.ts +54 -0
- package/query-planner/semantic.d.ts.map +1 -0
- package/query-planner/semantic.js +1421 -0
- package/query-planner/types.d.ts +560 -0
- package/query-planner/types.d.ts.map +1 -0
- package/query-planner/types.js +49 -0
- package/query-planner/wfs-semantic.d.ts +58 -0
- package/query-planner/wfs-semantic.d.ts.map +1 -0
- package/query-planner/wfs-semantic.js +547 -0
- package/query-planner/wfs.d.ts +6 -0
- package/query-planner/wfs.d.ts.map +1 -0
- package/query-planner/wfs.js +71 -0
- package/react/external-map.d.ts +67 -0
- package/react/external-map.d.ts.map +1 -0
- package/react/external-map.js +63 -0
- package/react/honua-map.d.ts.map +1 -1
- package/react/honua-map.js +3 -2
- package/react/honua-source-layer.d.ts +110 -0
- package/react/honua-source-layer.d.ts.map +1 -0
- package/react/honua-source-layer.js +101 -0
- package/react/hooks.d.ts +28 -0
- package/react/hooks.d.ts.map +1 -1
- package/react/hooks.js +26 -4
- package/react/index.d.ts +8 -0
- package/react/index.d.ts.map +1 -1
- package/react/index.js +5 -0
- package/react/query-cache.d.ts +26 -4
- package/react/query-cache.d.ts.map +1 -1
- package/react/query-cache.js +51 -8
- package/react/selection.d.ts +177 -0
- package/react/selection.d.ts.map +1 -0
- package/react/selection.js +0 -0
- package/react/use-mounted-source.d.ts +69 -0
- package/react/use-mounted-source.d.ts.map +1 -0
- package/react/use-mounted-source.js +346 -0
- package/runtime/edit-snapping.d.ts +107 -0
- package/runtime/edit-snapping.d.ts.map +1 -0
- package/runtime/edit-snapping.js +190 -0
- package/runtime/errors.d.ts +3 -2
- package/runtime/errors.d.ts.map +1 -1
- package/runtime/errors.js +19 -2
- package/runtime/index.d.ts +8 -2
- package/runtime/index.d.ts.map +1 -1
- package/runtime/index.js +4 -4
- package/runtime/load-package.d.ts.map +1 -1
- package/runtime/load-package.js +8 -0
- package/runtime/map-package-validation.d.ts +0 -13
- package/runtime/map-package-validation.d.ts.map +1 -1
- package/runtime/map-package-validation.js +0 -12
- package/runtime/map-package.d.ts +1 -1
- package/runtime/map-package.d.ts.map +1 -1
- package/runtime/maplibre-renderer.d.ts +41 -0
- package/runtime/maplibre-renderer.d.ts.map +1 -0
- package/runtime/maplibre-renderer.js +322 -0
- package/runtime/pmtiles-protocol.d.ts +77 -0
- package/runtime/pmtiles-protocol.d.ts.map +1 -0
- package/runtime/pmtiles-protocol.js +120 -0
- package/runtime/query-tiles.d.ts +2 -1
- package/runtime/query-tiles.d.ts.map +1 -1
- package/runtime/query-tiles.js +6 -2
- package/runtime/source-bridge.d.ts +4 -4
- package/runtime/source-bridge.d.ts.map +1 -1
- package/runtime/source-bridge.js +36 -56
- package/runtime/style-interactions.d.ts +3 -2
- package/runtime/style-interactions.d.ts.map +1 -1
- package/runtime/style-interactions.js +11 -3
- package/runtime/terra-draw-sketch.d.ts +275 -0
- package/runtime/terra-draw-sketch.d.ts.map +1 -0
- package/runtime/terra-draw-sketch.js +404 -0
- package/source-capability-registry.d.ts +1 -0
- package/source-capability-registry.js +1 -0
- package/source-capability-types.d.ts +186 -0
- package/source-capability-types.js +7 -0
- package/style/index.d.ts +2 -0
- package/style/index.d.ts.map +1 -1
- package/style/index.js +2 -0
- package/style/renderers.d.ts +326 -0
- package/style/renderers.d.ts.map +1 -0
- package/style/renderers.js +517 -0
- package/webmap/convert-renderer.d.ts +24 -3
- package/webmap/convert-renderer.d.ts.map +1 -1
- package/webmap/convert-renderer.js +93 -112
- package/webmap/index.d.ts +1 -1
- package/webmap/index.d.ts.map +1 -1
- package/webmap/index.js +1 -1
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* First-class renderer objects (issue #497): serializable, renderer-neutral
|
|
3
|
+
* descriptions of smart-mapping styles (class breaks, unique values, heatmap,
|
|
4
|
+
* clustering) that compile deterministically to MapLibre style fragments
|
|
5
|
+
* through the `/expr` builder.
|
|
6
|
+
*
|
|
7
|
+
* A renderer object is a pure value: construct it from options (or revive it
|
|
8
|
+
* from JSON with {@link rendererFromJSON}), read legend metadata with
|
|
9
|
+
* `legendItems()`, and compile MapLibre layer fragments with
|
|
10
|
+
* `toMapLibre(geometryType)`. Compilation is a pure function of the
|
|
11
|
+
* descriptor — no caching, no map access — so the same descriptor always
|
|
12
|
+
* produces byte-identical style JSON.
|
|
13
|
+
*
|
|
14
|
+
* The WebMap JSON converter (`src/webmap/convert-renderer.ts`) and the
|
|
15
|
+
* esri-compat renderer shims emit these objects instead of private
|
|
16
|
+
* transforms, so there is exactly one class-breaks/unique-value compiler in
|
|
17
|
+
* the SDK.
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
import { type Expr } from "../expr/expression.js";
|
|
22
|
+
/** Coarse geometry classification a renderer compiles against. @experimental */
|
|
23
|
+
export type RendererGeometryType = "point" | "line" | "polygon";
|
|
24
|
+
/**
|
|
25
|
+
* Advanced multi-property style override for one renderer class. When
|
|
26
|
+
* present it replaces the single `color` shorthand and may carry any
|
|
27
|
+
* MapLibre paint/layout properties (this is how WebMap symbols round-trip
|
|
28
|
+
* through renderer objects without loss).
|
|
29
|
+
*
|
|
30
|
+
* @experimental
|
|
31
|
+
*/
|
|
32
|
+
export interface RendererStyle {
|
|
33
|
+
readonly paint?: Readonly<Record<string, unknown>>;
|
|
34
|
+
readonly layout?: Readonly<Record<string, unknown>>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* One MapLibre layer fragment compiled from a renderer. `paint`/`layout`
|
|
38
|
+
* values are plain MapLibre style JSON (expressions included) that
|
|
39
|
+
* `map.addLayer` accepts verbatim; the caller owns layer ids and source
|
|
40
|
+
* wiring.
|
|
41
|
+
*
|
|
42
|
+
* @experimental
|
|
43
|
+
*/
|
|
44
|
+
export interface RendererLayerFragment {
|
|
45
|
+
/**
|
|
46
|
+
* Which part of the renderer this fragment draws. Single-layer renderers
|
|
47
|
+
* emit one `"symbolizer"` fragment; the cluster renderer emits
|
|
48
|
+
* `"clusters"`, `"cluster-count"`, and `"unclustered"` fragments.
|
|
49
|
+
*/
|
|
50
|
+
readonly role: "symbolizer" | "clusters" | "cluster-count" | "unclustered";
|
|
51
|
+
/** MapLibre layer type (`circle`, `line`, `fill`, `heatmap`, `symbol`). */
|
|
52
|
+
readonly type: string;
|
|
53
|
+
readonly paint: Record<string, unknown>;
|
|
54
|
+
readonly layout: Record<string, unknown>;
|
|
55
|
+
/** Optional MapLibre filter expression the fragment requires. */
|
|
56
|
+
readonly filter?: unknown;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* One legend entry derived from a renderer descriptor. This is a stable
|
|
60
|
+
* contract (issue #497 REQ-005): `label` and `color` are always present;
|
|
61
|
+
* `value` is set for unique-value entries, `minValue`/`maxValue` for ranged
|
|
62
|
+
* entries (class breaks, cluster steps), and heatmap stops carry the ramp
|
|
63
|
+
* position in `value`.
|
|
64
|
+
*
|
|
65
|
+
* @experimental
|
|
66
|
+
*/
|
|
67
|
+
export interface RendererLegendItem {
|
|
68
|
+
readonly kind: "class-break" | "unique-value" | "heatmap-stop" | "cluster-step" | "default";
|
|
69
|
+
readonly label: string;
|
|
70
|
+
/** CSS color for the legend swatch. */
|
|
71
|
+
readonly color: string;
|
|
72
|
+
readonly value?: string | number | boolean | null;
|
|
73
|
+
readonly minValue?: number;
|
|
74
|
+
readonly maxValue?: number;
|
|
75
|
+
}
|
|
76
|
+
/** Union of the serializable renderer descriptors. @experimental */
|
|
77
|
+
export type RendererDescriptor = ClassBreaksRendererDescriptor | UniqueValueRendererDescriptor | HeatmapRendererDescriptor | ClusterRendererDescriptor;
|
|
78
|
+
/** Union of the four renderer object kinds. @experimental */
|
|
79
|
+
export type Renderer = ClassBreaksRenderer | UniqueValueRenderer | HeatmapRenderer | ClusterRenderer;
|
|
80
|
+
interface RendererBase<D extends RendererDescriptor> {
|
|
81
|
+
readonly kind: D["kind"];
|
|
82
|
+
/** Serializable descriptor — `rendererFromJSON(renderer.toJSON())` revives it. */
|
|
83
|
+
toJSON(): D;
|
|
84
|
+
/** Legend metadata derived from the descriptor (stable contract, REQ-005). */
|
|
85
|
+
legendItems(): readonly RendererLegendItem[];
|
|
86
|
+
/** Compile MapLibre layer fragments for one geometry kind. Pure and deterministic. */
|
|
87
|
+
toMapLibre(geometry: RendererGeometryType): readonly RendererLayerFragment[];
|
|
88
|
+
}
|
|
89
|
+
/** One graduated class. @experimental */
|
|
90
|
+
export interface ClassBreakEntry {
|
|
91
|
+
/** Inclusive lower bound; used as the MapLibre `step` threshold (`min ?? max`). */
|
|
92
|
+
readonly min?: number;
|
|
93
|
+
readonly max?: number;
|
|
94
|
+
/** Swatch color shorthand; positional `colors` apply when omitted. */
|
|
95
|
+
readonly color?: string;
|
|
96
|
+
readonly label?: string;
|
|
97
|
+
/** Advanced multi-property override; replaces the color shorthand. */
|
|
98
|
+
readonly style?: RendererStyle;
|
|
99
|
+
}
|
|
100
|
+
/** Options for {@link classBreaksRenderer}. @experimental */
|
|
101
|
+
export interface ClassBreaksRendererOptions {
|
|
102
|
+
/** Numeric feature property driving the classification. */
|
|
103
|
+
readonly field: string;
|
|
104
|
+
/** Ordered class breaks (ascending thresholds). */
|
|
105
|
+
readonly breaks: readonly ClassBreakEntry[];
|
|
106
|
+
/** Positional palette applied to breaks without an explicit `color`. */
|
|
107
|
+
readonly colors?: readonly string[];
|
|
108
|
+
/** Color for values below the first threshold (and legend default swatch). */
|
|
109
|
+
readonly defaultColor?: string;
|
|
110
|
+
readonly defaultLabel?: string;
|
|
111
|
+
/** Advanced default override; replaces `defaultColor`. */
|
|
112
|
+
readonly defaultStyle?: RendererStyle;
|
|
113
|
+
/** Force a MapLibre layer type instead of deriving it from geometry. */
|
|
114
|
+
readonly layerType?: string;
|
|
115
|
+
}
|
|
116
|
+
/** Serializable class-breaks descriptor. @experimental */
|
|
117
|
+
export interface ClassBreaksRendererDescriptor extends ClassBreaksRendererOptions {
|
|
118
|
+
readonly kind: "class-breaks";
|
|
119
|
+
}
|
|
120
|
+
/** Class-breaks renderer object. @experimental */
|
|
121
|
+
export interface ClassBreaksRenderer extends RendererBase<ClassBreaksRendererDescriptor> {
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create a graduated (class-breaks) renderer: a `step` expression over a
|
|
125
|
+
* numeric field.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* const renderer = classBreaksRenderer({
|
|
130
|
+
* field: "magnitude",
|
|
131
|
+
* breaks: [
|
|
132
|
+
* { min: 0, max: 3, label: "Minor" },
|
|
133
|
+
* { min: 3, max: 5, label: "Moderate" },
|
|
134
|
+
* { min: 5, label: "Strong" },
|
|
135
|
+
* ],
|
|
136
|
+
* colors: ["#fed976", "#fd8d3c", "#b10026"],
|
|
137
|
+
* defaultColor: "#cccccc",
|
|
138
|
+
* });
|
|
139
|
+
* const [fragment] = renderer.toMapLibre("point");
|
|
140
|
+
* // fragment.paint["circle-color"] → ["step", ["get", "magnitude"], "#cccccc", 0, "#fed976", …]
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @experimental
|
|
144
|
+
*/
|
|
145
|
+
export declare function classBreaksRenderer(options: ClassBreaksRendererOptions): ClassBreaksRenderer;
|
|
146
|
+
/** One categorical class. @experimental */
|
|
147
|
+
export interface UniqueValueEntry {
|
|
148
|
+
readonly value: string | number | boolean;
|
|
149
|
+
readonly color?: string;
|
|
150
|
+
readonly label?: string;
|
|
151
|
+
/** Advanced multi-property override; replaces the color shorthand. */
|
|
152
|
+
readonly style?: RendererStyle;
|
|
153
|
+
}
|
|
154
|
+
/** Options for {@link uniqueValueRenderer}. @experimental */
|
|
155
|
+
export interface UniqueValueRendererOptions {
|
|
156
|
+
/** Feature property driving the categories. */
|
|
157
|
+
readonly field: string;
|
|
158
|
+
/** Optional second/third fields concatenated with `fieldDelimiter`. */
|
|
159
|
+
readonly field2?: string;
|
|
160
|
+
readonly field3?: string;
|
|
161
|
+
/** Delimiter for multi-field matching. @default "," */
|
|
162
|
+
readonly fieldDelimiter?: string;
|
|
163
|
+
readonly values: readonly UniqueValueEntry[];
|
|
164
|
+
/** Fallback color for unmatched values (and legend default swatch). */
|
|
165
|
+
readonly defaultColor?: string;
|
|
166
|
+
readonly defaultLabel?: string;
|
|
167
|
+
/** Advanced default override; replaces `defaultColor`. */
|
|
168
|
+
readonly defaultStyle?: RendererStyle;
|
|
169
|
+
/** Force a MapLibre layer type instead of deriving it from geometry. */
|
|
170
|
+
readonly layerType?: string;
|
|
171
|
+
}
|
|
172
|
+
/** Serializable unique-value descriptor. @experimental */
|
|
173
|
+
export interface UniqueValueRendererDescriptor extends UniqueValueRendererOptions {
|
|
174
|
+
readonly kind: "unique-value";
|
|
175
|
+
}
|
|
176
|
+
/** Unique-value renderer object. @experimental */
|
|
177
|
+
export interface UniqueValueRenderer extends RendererBase<UniqueValueRendererDescriptor> {
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Create a categorical (unique-value) renderer: a `match` expression over a
|
|
181
|
+
* feature property (or a delimited concatenation of up to three).
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* const renderer = uniqueValueRenderer({
|
|
186
|
+
* field: "priority",
|
|
187
|
+
* values: [
|
|
188
|
+
* { value: "high", color: "#b91c1c", label: "High priority" },
|
|
189
|
+
* { value: "low", color: "#0f766e", label: "Low priority" },
|
|
190
|
+
* ],
|
|
191
|
+
* defaultColor: "#334155",
|
|
192
|
+
* });
|
|
193
|
+
* renderer.legendItems(); // [{ kind: "unique-value", label: "High priority", … }, …]
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
196
|
+
* @experimental
|
|
197
|
+
*/
|
|
198
|
+
export declare function uniqueValueRenderer(options: UniqueValueRendererOptions): UniqueValueRenderer;
|
|
199
|
+
/** One kernel-density ramp stop (density is 0..1). @experimental */
|
|
200
|
+
export interface HeatmapColorStop {
|
|
201
|
+
readonly stop: number;
|
|
202
|
+
readonly color: string;
|
|
203
|
+
}
|
|
204
|
+
/** Options for {@link heatmapRenderer}. @experimental */
|
|
205
|
+
export interface HeatmapRendererOptions {
|
|
206
|
+
/** Numeric property weighting each point (defaults to weight 1). */
|
|
207
|
+
readonly weightField?: string;
|
|
208
|
+
/** Kernel radius in pixels. @default 30 */
|
|
209
|
+
readonly radius?: number;
|
|
210
|
+
/** Global intensity multiplier. @default 1 */
|
|
211
|
+
readonly intensity?: number;
|
|
212
|
+
/** Layer opacity (0..1). */
|
|
213
|
+
readonly opacity?: number;
|
|
214
|
+
/**
|
|
215
|
+
* Density → color ramp. Either explicit stops or a color list spread
|
|
216
|
+
* evenly across 0..1 (the first color should usually be transparent).
|
|
217
|
+
*/
|
|
218
|
+
readonly colorRamp?: readonly HeatmapColorStop[] | readonly string[];
|
|
219
|
+
}
|
|
220
|
+
/** Serializable heatmap descriptor. @experimental */
|
|
221
|
+
export interface HeatmapRendererDescriptor extends HeatmapRendererOptions {
|
|
222
|
+
readonly kind: "heatmap";
|
|
223
|
+
}
|
|
224
|
+
/** Heatmap renderer object. @experimental */
|
|
225
|
+
export interface HeatmapRenderer extends RendererBase<HeatmapRendererDescriptor> {
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Create a MapLibre-native heatmap renderer. Compiles to a single `heatmap`
|
|
229
|
+
* layer fragment regardless of the requested geometry (heatmaps render
|
|
230
|
+
* point data).
|
|
231
|
+
*
|
|
232
|
+
* @experimental
|
|
233
|
+
*/
|
|
234
|
+
export declare function heatmapRenderer(options?: HeatmapRendererOptions): HeatmapRenderer;
|
|
235
|
+
/** One cluster size class (thresholds are feature counts). @experimental */
|
|
236
|
+
export interface ClusterStep {
|
|
237
|
+
/** Inclusive minimum count for this class; the first step is the base class. */
|
|
238
|
+
readonly threshold: number;
|
|
239
|
+
readonly color: string;
|
|
240
|
+
/** Cluster circle radius in pixels. Defaults to `14 + 6 * index`. */
|
|
241
|
+
readonly radius?: number;
|
|
242
|
+
readonly label?: string;
|
|
243
|
+
}
|
|
244
|
+
/** Options for {@link clusterRenderer}. @experimental */
|
|
245
|
+
export interface ClusterRendererOptions {
|
|
246
|
+
/** Cluster radius in pixels (GeoJSON source `clusterRadius`). @default 50 */
|
|
247
|
+
readonly radius?: number;
|
|
248
|
+
/** Max zoom to cluster at (GeoJSON source `clusterMaxZoom`). @default 14 */
|
|
249
|
+
readonly maxZoom?: number;
|
|
250
|
+
/**
|
|
251
|
+
* Numeric property summed per cluster instead of the raw point count.
|
|
252
|
+
* Adds a `<countField>_sum` cluster property and drives the step/count
|
|
253
|
+
* expressions from it.
|
|
254
|
+
*/
|
|
255
|
+
readonly countField?: string;
|
|
256
|
+
/** Ascending count classes driving cluster color/size. */
|
|
257
|
+
readonly steps: readonly ClusterStep[];
|
|
258
|
+
/** Style for unclustered points. @default "#16735b" */
|
|
259
|
+
readonly unclusteredColor?: string;
|
|
260
|
+
/** @default 5 */
|
|
261
|
+
readonly unclusteredRadius?: number;
|
|
262
|
+
}
|
|
263
|
+
/** Serializable cluster descriptor. @experimental */
|
|
264
|
+
export interface ClusterRendererDescriptor extends ClusterRendererOptions {
|
|
265
|
+
readonly kind: "cluster";
|
|
266
|
+
}
|
|
267
|
+
/** Cluster renderer object. @experimental */
|
|
268
|
+
export interface ClusterRenderer extends RendererBase<ClusterRendererDescriptor> {
|
|
269
|
+
/**
|
|
270
|
+
* GeoJSON source options enabling MapLibre-native clustering
|
|
271
|
+
* (`cluster`, `clusterRadius`, `clusterMaxZoom`, `clusterProperties`).
|
|
272
|
+
* Merge these into the GeoJSON source spec that feeds the layers.
|
|
273
|
+
*/
|
|
274
|
+
toMapLibreSource(): Record<string, unknown>;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Create a MapLibre-native cluster renderer. Compiles to three fragments —
|
|
278
|
+
* cluster circles, cluster count labels, and unclustered points — plus
|
|
279
|
+
* GeoJSON source cluster options via {@link ClusterRenderer.toMapLibreSource}.
|
|
280
|
+
*
|
|
281
|
+
* @experimental
|
|
282
|
+
*/
|
|
283
|
+
export declare function clusterRenderer(options: ClusterRendererOptions): ClusterRenderer;
|
|
284
|
+
/**
|
|
285
|
+
* Revive a renderer object from its serializable descriptor
|
|
286
|
+
* (`renderer.toJSON()` output).
|
|
287
|
+
*
|
|
288
|
+
* @experimental
|
|
289
|
+
*/
|
|
290
|
+
export declare function rendererFromJSON(descriptor: RendererDescriptor): Renderer;
|
|
291
|
+
/** True when a value looks like a renderer object from this module. @experimental */
|
|
292
|
+
export declare function isRenderer(value: unknown): value is Renderer;
|
|
293
|
+
/**
|
|
294
|
+
* MapLibre properties that live in `layout` rather than `paint`. Shared with
|
|
295
|
+
* the WebMap converter so both route properties identically.
|
|
296
|
+
*
|
|
297
|
+
* @internal
|
|
298
|
+
*/
|
|
299
|
+
export declare const RENDERER_LAYOUT_PROPERTIES: ReadonlySet<string>;
|
|
300
|
+
/** Resolved per-class style used by the shared compiler. @internal */
|
|
301
|
+
export interface ResolvedRendererStyle {
|
|
302
|
+
readonly paint: Record<string, unknown>;
|
|
303
|
+
readonly layout: Record<string, unknown>;
|
|
304
|
+
}
|
|
305
|
+
/** One class entry for the shared compiler. @internal */
|
|
306
|
+
export interface DataDrivenStyleEntry {
|
|
307
|
+
/** Match value (unique value) or step threshold (class breaks). */
|
|
308
|
+
readonly key: unknown;
|
|
309
|
+
readonly style: ResolvedRendererStyle;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* The single class-breaks/unique-value property compiler (issue #497
|
|
313
|
+
* REQ-002). For every paint/layout property present on any class it builds
|
|
314
|
+
* one `match` (categorical) or `step` (graduated) expression through the
|
|
315
|
+
* `/expr` builder. When `defaultStyle` is omitted the first entry's style
|
|
316
|
+
* provides per-property defaults; missing values fall back to
|
|
317
|
+
* `"transparent"`.
|
|
318
|
+
*
|
|
319
|
+
* @internal
|
|
320
|
+
*/
|
|
321
|
+
export declare function compileDataDrivenStyle(mode: "match" | "step", input: Expr<unknown>, entries: readonly DataDrivenStyleEntry[], defaultStyle: ResolvedRendererStyle | undefined): {
|
|
322
|
+
paint: Record<string, unknown>;
|
|
323
|
+
layout: Record<string, unknown>;
|
|
324
|
+
};
|
|
325
|
+
export {};
|
|
326
|
+
//# sourceMappingURL=renderers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../src/style/renderers.ts"],"names":[],"mappings":"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"}
|