@nika-js/onlymap 0.6.0 → 0.6.2
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/CHANGELOG.md +63 -1
- package/README.md +39 -14
- package/THIRD-PARTY-LICENSES.md +27 -0
- package/dist/{LercDecode.es-fbo6h5rt.js → LercDecode.es-BOJJr6Gx.js} +1 -1
- package/dist/{basemap-CprSan9q.js → basemap-BofXgXxy.js} +13 -3
- package/dist/basemap.d.ts +10 -1
- package/dist/cityjson-D_V5GY8b.js +332 -0
- package/dist/clip-box-controller.d.ts +94 -0
- package/dist/clip-box.d.ts +109 -0
- package/dist/crs-Ciu7Xs7a.js +108 -0
- package/dist/crs.d.ts +50 -0
- package/dist/ctx.d.ts +8 -1
- package/dist/data-layer.d.ts +11 -3
- package/dist/draw-controller.d.ts +75 -1
- package/dist/draw.d.ts +22 -4
- package/dist/elements/om-map.d.ts +45 -2
- package/dist/elements/om-overlay.d.ts +13 -1
- package/dist/elements/om-widget.d.ts +4 -0
- package/dist/feature-colors.d.ts +41 -0
- package/dist/geodesy.d.ts +29 -3
- package/dist/{geoparquet-Bm8pfxyo.js → geoparquet-DapHATA0.js} +1 -1
- package/dist/html-data.d.ts +2 -2
- package/dist/ifc-Dc-TdSJr.js +877 -0
- package/dist/ifc.d.ts +406 -0
- package/dist/{index-Bz-rbmhj.js → index-7B-6Cbzu.js} +31619 -26565
- package/dist/{index-DSRIZR81.js → index-BF9iO8Tq.js} +1 -1
- package/dist/{index-GOwMjqm6.js → index-BmX6IId3.js} +1 -1
- package/dist/{index-UzmNhuS0.js → index-SPJVn_n_.js} +1 -1
- package/dist/{index-CCQttJzO.js → index-xmJjZxQJ.js} +2 -2
- package/dist/index.d.ts +13 -2
- package/dist/ir-snapshot.d.ts +3 -1
- package/dist/layer-registry.d.ts +14 -0
- package/dist/layers/bim-layer.d.ts +127 -0
- package/dist/layers/feature-mesh-layer.d.ts +288 -0
- package/dist/layers/gltf-scene-walk.d.ts +55 -0
- package/dist/layers/popup-layer.d.ts +13 -0
- package/dist/legend-spec.d.ts +1 -1
- package/dist/{lerc-CuifOkoA.js → lerc-C6k7EzSN.js} +2 -2
- package/dist/license.d.ts +12 -5
- package/dist/measure-controller.d.ts +458 -4
- package/dist/meshopt_simplifier-Co6uRDDA.js +370 -0
- package/dist/onlymap.standalone.js +57077 -50729
- package/dist/onlymapjs.js +72 -69
- package/dist/parse-manifest.d.ts +3 -0
- package/dist/programmatic.d.ts +39 -5
- package/dist/{raster-dysYIQ_k.js → raster-Cuzhibe2.js} +2 -2
- package/dist/{raster-pipeline-ZdCOGfqV.js → raster-pipeline-DLrnJK8y.js} +1 -1
- package/dist/react/om-layer.d.ts +6 -1
- package/dist/react/om-overlay.d.ts +9 -0
- package/dist/react.js +176 -169
- package/dist/region-export-controller.d.ts +37 -0
- package/dist/region-export.d.ts +56 -0
- package/dist/runtime-core.d.ts +260 -3
- package/dist/selection.d.ts +44 -1
- package/dist/site-placement.d.ts +107 -0
- package/dist/snapping.d.ts +88 -0
- package/dist/terrain-heightfield.d.ts +53 -0
- package/dist/terrain-sample.d.ts +30 -0
- package/dist/terrain.d.ts +6 -1
- package/dist/testing.d.ts +6 -2
- package/dist/tile3d-metadata.d.ts +185 -0
- package/dist/units.d.ts +27 -0
- package/dist/version.d.ts +1 -1
- package/dist/volumetrics-run.d.ts +13 -0
- package/dist/volumetrics-worker.d.ts +1 -0
- package/dist/volumetrics.d.ts +201 -0
- package/dist/widget-registry.d.ts +11 -0
- package/dist/widgets/ifc-clash.d.ts +18 -0
- package/dist/widgets/ifc.d.ts +41 -0
- package/dist/{zarr-OewK7k2K.js → zarr-CUzEX8fB.js} +79 -66
- package/docs/3d-assets.md +48 -0
- package/docs/live-data.md +9 -1
- package/docs/testing.md +4 -2
- package/llms.txt +10 -5
- package/onlymapjs.html-data.json +313 -2
- package/package.json +6 -2
- package/skills/onlymapjs/SKILL.md +14 -2
- package/skills/onlymapjs/references/react.md +2 -2
- package/skills/onlymapjs/references/syntax.md +314 -15
- package/dist/cityjson-urQeujQv.js +0 -407
package/dist/onlymapjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aA as e, aB as r, aC as t, aD as o, aE as b, aF as i, ap as l, aG as n, aH as S, aI as E, aJ as T, aK as L, aL as g, aM as
|
|
1
|
+
import { aA as e, aB as r, aC as t, aD as o, aE as b, aF as i, ap as l, aG as n, aH as S, aI as E, aJ as T, aK as L, aL as g, aM as c, aN as A, aO as p, aP as m, aQ as _, aR as d, aS as I, aT as y, aU as M, aV as u, aW as D, ao as O, aX as f, aw as N, aY as R, aZ as P, a_ as h, W as F, a$ as B, b0 as C, b1 as G, b2 as U, b3 as W, b4 as v, b5 as x, b6 as w, b7 as Y, b8 as H, b9 as X, ba as k, bb as J, bc as K, bd as V, be as z, bf as Q, bg as Z, bh as $, bi as j, bj as q, bk as aa, bl as sa, bm as ea, bn as ra, bo as ta, bp as oa, bq as ba, br as ia, bs as la, bt as na, bu as Sa, bv as Ea, bw as Ta, bx as La, by as ga, bz as ca, bA as Aa, bB as pa, bC as ma, bD as _a, bE as da, bF as Ia, bG as ya, bH as Ma, bI as ua, bJ as Da, bK as Oa, bL as fa, bM as Na, bN as Ra, bO as Pa, bP as ha, bQ as Fa, bR as Ba, bS as Ca, bT as Ga, bU as Ua, bV as Wa, bW as va, bX as xa, bY as wa, bZ as Ya, b_ as Ha, b$ as Xa, c0 as ka, c1 as Ja, c2 as Ka } from "./index-7B-6Cbzu.js";
|
|
2
2
|
export {
|
|
3
3
|
e as ALL_POSITION_VALUES,
|
|
4
4
|
r as AUDIT_EXEMPTIONS,
|
|
@@ -13,24 +13,24 @@ export {
|
|
|
13
13
|
T as EDGE_TOLERANCE_PX,
|
|
14
14
|
L as FOLD_HYSTERESIS_PX,
|
|
15
15
|
g as FOLD_SIDES,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
c as GeoJsonLayer,
|
|
17
|
+
A as IconLayer,
|
|
18
|
+
p as LEGACY_POSITION_ALIASES,
|
|
19
|
+
m as LIGHTING_PRESET_NAMES,
|
|
20
|
+
_ as Layer,
|
|
21
|
+
d as LayerExtension,
|
|
22
|
+
I as MANAGED_SLOTS,
|
|
23
|
+
y as MapController,
|
|
24
24
|
M as OmMap,
|
|
25
25
|
u as ScatterplotLayer,
|
|
26
26
|
D as ScenegraphLayer,
|
|
27
27
|
O as SimpleMeshLayer,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
f as Tile3DLayer,
|
|
29
|
+
N as TileLayer,
|
|
30
|
+
R as UNIT_SYSTEMS,
|
|
31
31
|
P as WGS84_MEAN_RADIUS_M,
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
h as WIDGET_STYLE_KEY_NAMES,
|
|
33
|
+
F as WebMercatorViewport,
|
|
34
34
|
B as arrowTableToColumnar,
|
|
35
35
|
C as asRows,
|
|
36
36
|
G as auditLayout,
|
|
@@ -39,61 +39,64 @@ export {
|
|
|
39
39
|
v as computeTimeline,
|
|
40
40
|
x as configureBasemap,
|
|
41
41
|
w as configureData,
|
|
42
|
-
Y as
|
|
43
|
-
H as
|
|
44
|
-
X as
|
|
45
|
-
k as
|
|
46
|
-
J as
|
|
47
|
-
K as
|
|
48
|
-
V as
|
|
49
|
-
z as
|
|
50
|
-
Q as
|
|
51
|
-
Z as
|
|
52
|
-
$ as
|
|
53
|
-
j as
|
|
54
|
-
q as
|
|
55
|
-
aa as
|
|
56
|
-
sa as
|
|
57
|
-
ea as
|
|
58
|
-
ra as
|
|
59
|
-
ta as
|
|
60
|
-
oa as
|
|
61
|
-
ba as
|
|
62
|
-
ia as
|
|
63
|
-
la as
|
|
64
|
-
na as
|
|
65
|
-
Sa as
|
|
66
|
-
Ea as
|
|
67
|
-
Ta as
|
|
68
|
-
La as
|
|
69
|
-
ga as
|
|
70
|
-
|
|
42
|
+
Y as configureIfc,
|
|
43
|
+
H as configureLicense,
|
|
44
|
+
X as configureTelemetry,
|
|
45
|
+
k as descriptorToIR,
|
|
46
|
+
J as destroySandbox,
|
|
47
|
+
K as distanceMeters,
|
|
48
|
+
V as evaluateInSandbox,
|
|
49
|
+
z as foldDrawerStyle,
|
|
50
|
+
Q as foldPanelStyle,
|
|
51
|
+
Z as foldSideForSlot,
|
|
52
|
+
$ as foldToggleSlot,
|
|
53
|
+
j as foldToggleStyle,
|
|
54
|
+
q as formatArea,
|
|
55
|
+
aa as formatLength,
|
|
56
|
+
sa as getBasemap,
|
|
57
|
+
ea as getEntitlements,
|
|
58
|
+
ra as getLayerSchema,
|
|
59
|
+
ta as getMeasureRadiusMeters,
|
|
60
|
+
oa as getTerrain,
|
|
61
|
+
ba as isBrowser,
|
|
62
|
+
ia as isColumnar,
|
|
63
|
+
la as isStoreToken,
|
|
64
|
+
na as loadIfc,
|
|
65
|
+
Sa as loadRasterModule,
|
|
66
|
+
Ea as midpoint,
|
|
67
|
+
Ta as mountForTest,
|
|
68
|
+
La as niceNumber,
|
|
69
|
+
ga as normalizeData,
|
|
70
|
+
ca as parseDurationMs,
|
|
71
|
+
Aa as parseTerrainAttrs,
|
|
72
|
+
pa as parseUnitSystem,
|
|
71
73
|
ma as parseWidgetStyle,
|
|
72
74
|
_a as pathLengthMeters,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
75
|
+
da as registerAction,
|
|
76
|
+
Ia as registerBasemap,
|
|
77
|
+
ya as registerFormat,
|
|
78
|
+
Ma as registerLayer,
|
|
79
|
+
ua as registerSource,
|
|
80
|
+
Da as registerTerrain,
|
|
81
|
+
Oa as registerWidget,
|
|
82
|
+
fa as resolveFoldBreakpointPx,
|
|
83
|
+
Na as resolveImageOverlay,
|
|
84
|
+
Ra as resolveLighting,
|
|
85
|
+
Pa as resolveSlot,
|
|
86
|
+
ha as ringAreaMeters2,
|
|
87
|
+
Fa as ringEnclosesPole,
|
|
88
|
+
Ba as ringPerimeterMeters,
|
|
89
|
+
Ca as rowAt,
|
|
90
|
+
Ga as sandboxHtml,
|
|
91
|
+
Ua as scaleBarStep,
|
|
92
|
+
Wa as setMeasureRadiusMeters,
|
|
93
|
+
va as settleLayout,
|
|
94
|
+
xa as shouldFoldAtWidth,
|
|
95
|
+
wa as slotContainerStyle,
|
|
96
|
+
Ya as slotLayout,
|
|
97
|
+
Ha as snapshotDescriptorIR,
|
|
98
|
+
Xa as snapshotIR,
|
|
99
|
+
ka as solarAzElDegrees,
|
|
100
|
+
Ja as validateManifest,
|
|
101
|
+
Ka as validateManifestString
|
|
99
102
|
};
|
package/dist/parse-manifest.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* runtime-core.ts never does.
|
|
7
7
|
*/
|
|
8
8
|
import type { LayerIR } from "./ir";
|
|
9
|
+
import { type DataTransportOwner } from "./data-layer";
|
|
9
10
|
export interface ParseManifestOptions {
|
|
10
11
|
/**
|
|
11
12
|
* IR-snapshot mode (see ir-snapshot.ts): resolve the manifest without side
|
|
@@ -15,5 +16,7 @@ export interface ParseManifestOptions {
|
|
|
15
16
|
* would evict a concurrently-running live map's compiled accessors).
|
|
16
17
|
*/
|
|
17
18
|
snapshot?: boolean;
|
|
19
|
+
/** Controller/element identity for descriptor-owned transport lifetime. */
|
|
20
|
+
dataOwner?: DataTransportOwner;
|
|
18
21
|
}
|
|
19
22
|
export declare function parseManifest(mapEl: Element, onDataLoaded: () => void, opts?: ParseManifestOptions): LayerIR[];
|
package/dist/programmatic.d.ts
CHANGED
|
@@ -25,10 +25,13 @@ import type { LayerMetaSnapshot } from "./ctx";
|
|
|
25
25
|
import type { Selection } from "./selection";
|
|
26
26
|
import type { ValidationEntry } from "./validation";
|
|
27
27
|
import type { MapViewport } from "./basemap";
|
|
28
|
+
import { type LayerIRSnapshot } from "./ir-snapshot";
|
|
28
29
|
/**
|
|
29
30
|
* A layer, declared as a typed value — the programmatic mirror of one
|
|
30
|
-
* <om-layer> element.
|
|
31
|
-
*
|
|
31
|
+
* <om-layer> element. First-party callers normally use plain JS accessor
|
|
32
|
+
* functions. A schema-declared accessor may alternatively be a restricted
|
|
33
|
+
* OnlyMap expression string; that JSON-safe form is intended for native and
|
|
34
|
+
* cross-process bridges and uses the same compiler as `get-*` attributes.
|
|
32
35
|
*/
|
|
33
36
|
export interface LayerDescriptor {
|
|
34
37
|
/** Stable identity — same contract as the `id` attribute. Required. */
|
|
@@ -68,7 +71,7 @@ export interface LayerDescriptor {
|
|
|
68
71
|
* when an accessor's output changes (the deck-idiomatic contract).
|
|
69
72
|
*/
|
|
70
73
|
updateTriggers?: Record<string, unknown>;
|
|
71
|
-
/** deck.gl props (camelCase)
|
|
74
|
+
/** deck.gl props (camelCase); accessors may be functions or restricted expression strings. */
|
|
72
75
|
props?: Record<string, unknown>;
|
|
73
76
|
/** Per-layer terrain mode (spec: "Terrain") — the `terrain` attribute's twin; absent = the type default. */
|
|
74
77
|
terrain?: "drape" | "offset" | "off";
|
|
@@ -114,13 +117,28 @@ export interface MapControllerOptions {
|
|
|
114
117
|
onMapPoint?: (coordinate: [number, number] | null, kind: "click" | "hover") => void;
|
|
115
118
|
/** A Tile3DLayer finished loading its root tileset — the `om-tileset-load` DOM event's twin; `tileset` is the live deck `Tileset3D`. */
|
|
116
119
|
onTilesetLoad?: (layerId: string, tileset: unknown) => void;
|
|
120
|
+
/** A `pick-features` layer decoded its property table — the DOM front-end's internal `featureTables` bookkeeping, surfaced here since `ctx.features()` depends on it (see `RuntimeCoreCallbacks.onFeatureTable`). */
|
|
121
|
+
onFeatureTable?: (layerId: string, rows: Record<string, unknown>[]) => void;
|
|
122
|
+
/** A `carriesGeoreference` layer (BIMLayer) finished loading and read its own file's georeferencing (see `RuntimeCoreCallbacks.onGeoreference`). No front end auto-applies terrain (what-you-write-is-what-you-see) — call `controller.setTerrain(...)` from here if you want a reaction. `approximatePlacement` mirrors the DOM lane's data-quality warning. */
|
|
123
|
+
onGeoreference?: (layerId: string, info: {
|
|
124
|
+
orthogonalHeight?: number;
|
|
125
|
+
hasFullMapConversion: boolean;
|
|
126
|
+
approximatePlacement: boolean;
|
|
127
|
+
}) => void;
|
|
117
128
|
/** @internal Stable React-owned hosts that place required chrome in managed slots. */
|
|
118
129
|
chromeHosts?: MandatedChromeHosts;
|
|
119
130
|
}
|
|
120
131
|
/** Descriptor → layer IR: the programmatic counterpart of one parse-manifest.ts loop iteration. */
|
|
121
132
|
export declare function descriptorToIR(desc: LayerDescriptor, onDataLoaded: () => void): LayerIR | null;
|
|
133
|
+
/**
|
|
134
|
+
* Resolve JSON-safe/programmatic descriptors to deterministic snapshots.
|
|
135
|
+
* URL data is represented as an empty pending layer and is never fetched.
|
|
136
|
+
*/
|
|
137
|
+
export declare function snapshotDescriptorIR(descriptors: readonly LayerDescriptor[]): LayerIRSnapshot[];
|
|
122
138
|
/** rAF-batched overlay positioning hook — same flush contract as the DOM front-end's OverlayHost. */
|
|
123
|
-
export type OverlayPositioner = (viewport: MapViewport | undefined, selection: Selection | null
|
|
139
|
+
export type OverlayPositioner = (viewport: MapViewport | undefined, selection: Selection | null,
|
|
140
|
+
/** Pointer event behind the latest pick — carries the type of an EMPTY pick (`selection` null), which the selection itself can't. */
|
|
141
|
+
pickType?: "hover" | "click") => void;
|
|
124
142
|
/**
|
|
125
143
|
* Pick stream for framework event handlers. `null` means the pointer left
|
|
126
144
|
* whatever it was hovering (deck reports an empty pick) — the "hover out"
|
|
@@ -137,14 +155,19 @@ export declare class MapController {
|
|
|
137
155
|
private core;
|
|
138
156
|
private mount;
|
|
139
157
|
private layerIRs;
|
|
158
|
+
/** Decoded property tables per pick-features layer — see RuntimeCoreCallbacks.onFeatureTable and the `<om-map>` twin's own field. */
|
|
159
|
+
private featureTables;
|
|
140
160
|
private descriptors;
|
|
141
161
|
private selection;
|
|
162
|
+
private lastPickType;
|
|
142
163
|
private watchers;
|
|
143
164
|
private pickListeners;
|
|
144
165
|
private overlayFns;
|
|
145
166
|
private overlayFlushPending;
|
|
146
167
|
private commitPending;
|
|
147
168
|
private destroyed;
|
|
169
|
+
private suspended;
|
|
170
|
+
private readonly dataOwner;
|
|
148
171
|
private firstCommitDone;
|
|
149
172
|
private readonly stores;
|
|
150
173
|
/** Origin of the most recent viewport change FRAME — latched through the settle tracker for snapshot reads. */
|
|
@@ -207,6 +230,13 @@ export declare class MapController {
|
|
|
207
230
|
/** Picked object, normalized to flat — same path as OmMapElement (GeoJSON properties lifted; columnar rows materialized). */
|
|
208
231
|
private resolvePickedObject;
|
|
209
232
|
private handleSelectionChange;
|
|
233
|
+
/**
|
|
234
|
+
* The pointer event behind the most recent pick — tracked separately from
|
|
235
|
+
* the selection because an EMPTY pick stores null, losing its type. What
|
|
236
|
+
* lets a `selectionType`-scoped overlay treat a click on empty space as a
|
|
237
|
+
* dismissal while ignoring hovers over empty space.
|
|
238
|
+
*/
|
|
239
|
+
getLastPickType(): "hover" | "click" | undefined;
|
|
210
240
|
getSelection(): Selection | null;
|
|
211
241
|
/** Every hover/click pick (null = hover left) — the stream framework adapters route to per-layer onClick/onHover handlers. */
|
|
212
242
|
watchPicks(listener: PickListener): () => void;
|
|
@@ -216,7 +246,7 @@ export declare class MapController {
|
|
|
216
246
|
* flattening, watcher notification, and overlay flush are same-path by
|
|
217
247
|
* construction.
|
|
218
248
|
*/
|
|
219
|
-
injectPick(selection: Selection | null): void;
|
|
249
|
+
injectPick(selection: Selection | null, pickType?: "hover" | "click"): void;
|
|
220
250
|
/**
|
|
221
251
|
* Registers an rAF-batched positioner: called with the fresh viewport +
|
|
222
252
|
* selection whenever either may have moved (spec: "Overlay Renderer" —
|
|
@@ -262,6 +292,10 @@ export declare class MapController {
|
|
|
262
292
|
flyToBounds(bounds: [[number, number], [number, number]], padding?: number, opts?: CameraOptions): void;
|
|
263
293
|
setView(partial: Partial<CameraState>, opts?: CameraOptions): void;
|
|
264
294
|
getViewState(): CameraState;
|
|
295
|
+
/** Pause descriptor-owned live transports while retaining canonical map state. */
|
|
296
|
+
suspend(): void;
|
|
297
|
+
/** Reacquire current descriptor transports and reconcile after foregrounding. */
|
|
298
|
+
resume(): void;
|
|
265
299
|
/** Projects a lng/lat through the current viewport — undefined before the viewport resolves. */
|
|
266
300
|
project(lngLat: [number, number]): [number, number] | undefined;
|
|
267
301
|
destroy(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as re, t as Ae, i as nt, a as Re, s as rt, C as ot, b as it, F as at, A as st, d as lt, R as he, e as ct, p as ut, m as dt, f as ht, g as pt, h as gt } from "./raster-pipeline-
|
|
1
|
+
import { c as re, t as Ae, i as nt, a as Re, s as rt, C as ot, b as it, F as at, A as st, d as lt, R as he, e as ct, p as ut, m as dt, f as ht, g as pt, h as gt } from "./raster-pipeline-DLrnJK8y.js";
|
|
2
2
|
import pe from "./index-CW1n5LdO.js";
|
|
3
3
|
function mt(e, t) {
|
|
4
4
|
const n = e.length / 3, r = new Uint8ClampedArray(n * 4), o = 0, i = n, a = n * 2;
|
|
@@ -1069,7 +1069,7 @@ A.set(m.Zstd, () => import("./zstd-jXobGRcq.js").then((e) => e.decode));
|
|
|
1069
1069
|
A.set(m.Jpeg, () => Promise.resolve(oe));
|
|
1070
1070
|
A.set(m.Jpeg6, () => Promise.resolve(oe));
|
|
1071
1071
|
A.set(m.Webp, () => Promise.resolve(oe));
|
|
1072
|
-
A.set(m.Lerc, () => import("./lerc-
|
|
1072
|
+
A.set(m.Lerc, () => import("./lerc-C6k7EzSN.js").then((e) => e.l).then((e) => e.decode));
|
|
1073
1073
|
async function ie(e, t, n) {
|
|
1074
1074
|
const r = A.get(t);
|
|
1075
1075
|
if (!r)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { w as ae } from "./mgrs-BY9bIvp4.js";
|
|
2
|
-
import { am as ce, an as le, ao as ee, ap as te, aq as ue, b as he, ar as de, l as Z, as as fe, d as pe, at as me, au as ge, av as ve, aw as ne } from "./index-
|
|
2
|
+
import { am as ce, an as le, ao as ee, ap as te, aq as ue, b as he, ar as de, l as Z, as as fe, d as pe, at as me, au as ge, av as ve, aw as ne } from "./index-7B-6Cbzu.js";
|
|
3
3
|
function Pe(o, e, t) {
|
|
4
4
|
const { projectedCorners: n } = e, { topLeft: s, topRight: r, bottomRight: a, bottomLeft: i } = n, c = t(s[0], s[1]), u = t(r[0], r[1]), l = t(a[0], a[1]), d = t(i[0], i[1]), f = [
|
|
5
5
|
c,
|
package/dist/react/om-layer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Selection } from "@nika-js/onlymap";
|
|
1
|
+
import type { LayerDescriptor, Selection } from "@nika-js/onlymap";
|
|
2
2
|
export interface OmLayerProps {
|
|
3
3
|
/** Stable identity — same contract as the `id` attribute. */
|
|
4
4
|
id: string;
|
|
@@ -20,6 +20,9 @@ export interface OmLayerProps {
|
|
|
20
20
|
filterSoftRange?: [number, number];
|
|
21
21
|
filterCategoryField?: string;
|
|
22
22
|
filterCategories?: unknown[];
|
|
23
|
+
/** Dashed path styling, mirroring `dash` / `dash-justified`. */
|
|
24
|
+
dash?: [number, number];
|
|
25
|
+
dashJustified?: boolean;
|
|
23
26
|
/** Stream options for ws(s):// data URLs. `streamKey` is the upsert identity field (the `key` attribute — `key` itself is reserved by React). */
|
|
24
27
|
source?: string;
|
|
25
28
|
streamKey?: string;
|
|
@@ -37,4 +40,6 @@ export interface OmLayerProps {
|
|
|
37
40
|
/** Everything else passes through as deck.gl props (camelCase): getPosition, radiusMinPixels, visible, opacity, pickable, … */
|
|
38
41
|
[deckProp: string]: unknown;
|
|
39
42
|
}
|
|
43
|
+
/** @internal Pure React-props → programmatic descriptor adapter used by parity tests. */
|
|
44
|
+
export declare function reactLayerPropsToDescriptor(props: OmLayerProps): LayerDescriptor;
|
|
40
45
|
export declare function OmLayer(props: OmLayerProps): null;
|
|
@@ -8,6 +8,15 @@ export interface OmOverlayProps {
|
|
|
8
8
|
anchorFrom?: "selection";
|
|
9
9
|
/** Scope a selection-anchored overlay to one layer's picks — non-matching selections don't move or re-render it. */
|
|
10
10
|
layer?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Scope a selection-anchored overlay to one PICK TYPE. A click-opened popup
|
|
13
|
+
* wants `"click"`: without it, merely hovering any pickable feature drags
|
|
14
|
+
* the popup there and re-renders it against the hovered object. With it,
|
|
15
|
+
* hover picks are inert and a click on empty space still dismisses.
|
|
16
|
+
* `"hover"` is the mirror for hover-driven overlays. Absent: every pick
|
|
17
|
+
* applies.
|
|
18
|
+
*/
|
|
19
|
+
selectionType?: "click" | "hover";
|
|
11
20
|
visible?: boolean;
|
|
12
21
|
/** Attachment point relative to the anchor (default bottom-center: content sits above the point). */
|
|
13
22
|
anchorOffset?: AnchorOffset;
|