@fusion.dev/helix-map 0.0.0-dev
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/LICENSE +21 -0
- package/README.md +66 -0
- package/dist/connect-map/connect-map.d.ts +317 -0
- package/dist/connect-map/connect-map.d.ts.map +1 -0
- package/dist/connect-map/connect-map.js +847 -0
- package/dist/connect-map/connect-map.js.map +1 -0
- package/dist/connect-map/index.d.ts +3 -0
- package/dist/connect-map/index.d.ts.map +1 -0
- package/dist/connect-map/index.js +2 -0
- package/dist/connect-map/index.js.map +1 -0
- package/dist/contours/contours.d.ts +71 -0
- package/dist/contours/contours.d.ts.map +1 -0
- package/dist/contours/contours.js +314 -0
- package/dist/contours/contours.js.map +1 -0
- package/dist/credit/credit.d.ts +20 -0
- package/dist/credit/credit.d.ts.map +1 -0
- package/dist/credit/credit.js +65 -0
- package/dist/credit/credit.js.map +1 -0
- package/dist/credit/index.d.ts +3 -0
- package/dist/credit/index.d.ts.map +1 -0
- package/dist/credit/index.js +2 -0
- package/dist/credit/index.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/leaflet/index.d.ts +3 -0
- package/dist/leaflet/index.d.ts.map +1 -0
- package/dist/leaflet/index.js +2 -0
- package/dist/leaflet/index.js.map +1 -0
- package/dist/leaflet/leaflet-driver.d.ts +126 -0
- package/dist/leaflet/leaflet-driver.d.ts.map +1 -0
- package/dist/leaflet/leaflet-driver.js +241 -0
- package/dist/leaflet/leaflet-driver.js.map +1 -0
- package/dist/maplibre/index.d.ts +5 -0
- package/dist/maplibre/index.d.ts.map +1 -0
- package/dist/maplibre/index.js +3 -0
- package/dist/maplibre/index.js.map +1 -0
- package/dist/maplibre/map-images.d.ts +17 -0
- package/dist/maplibre/map-images.d.ts.map +1 -0
- package/dist/maplibre/map-images.js +138 -0
- package/dist/maplibre/map-images.js.map +1 -0
- package/dist/maplibre/maplibre-driver.d.ts +276 -0
- package/dist/maplibre/maplibre-driver.d.ts.map +1 -0
- package/dist/maplibre/maplibre-driver.js +1114 -0
- package/dist/maplibre/maplibre-driver.js.map +1 -0
- package/dist/motion/index.d.ts +3 -0
- package/dist/motion/index.d.ts.map +1 -0
- package/dist/motion/index.js +2 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/motion/motion.d.ts +41 -0
- package/dist/motion/motion.d.ts.map +1 -0
- package/dist/motion/motion.js +167 -0
- package/dist/motion/motion.js.map +1 -0
- package/dist/points/index.d.ts +3 -0
- package/dist/points/index.d.ts.map +1 -0
- package/dist/points/index.js +2 -0
- package/dist/points/index.js.map +1 -0
- package/dist/points/points.d.ts +20 -0
- package/dist/points/points.d.ts.map +1 -0
- package/dist/points/points.js +41 -0
- package/dist/points/points.js.map +1 -0
- package/dist/snapshot/camera.d.ts +44 -0
- package/dist/snapshot/camera.d.ts.map +1 -0
- package/dist/snapshot/camera.js +42 -0
- package/dist/snapshot/camera.js.map +1 -0
- package/dist/snapshot/index.d.ts +5 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +3 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/snapshot/snapshot.d.ts +75 -0
- package/dist/snapshot/snapshot.d.ts.map +1 -0
- package/dist/snapshot/snapshot.js +290 -0
- package/dist/snapshot/snapshot.js.map +1 -0
- package/dist/style/index.d.ts +5 -0
- package/dist/style/index.d.ts.map +1 -0
- package/dist/style/index.js +3 -0
- package/dist/style/index.js.map +1 -0
- package/dist/style/map-colors.d.ts +69 -0
- package/dist/style/map-colors.d.ts.map +1 -0
- package/dist/style/map-colors.js +82 -0
- package/dist/style/map-colors.js.map +1 -0
- package/dist/style/map-style.d.ts +99 -0
- package/dist/style/map-style.d.ts.map +1 -0
- package/dist/style/map-style.js +440 -0
- package/dist/style/map-style.js.map +1 -0
- package/dist/style/oklab.d.ts +36 -0
- package/dist/style/oklab.d.ts.map +1 -0
- package/dist/style/oklab.js +76 -0
- package/dist/style/oklab.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/watch-theme.d.ts +14 -0
- package/dist/theme/watch-theme.d.ts.map +1 -0
- package/dist/theme/watch-theme.js +30 -0
- package/dist/theme/watch-theme.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import type { MapDriver, MapLayerSpec, MapPadding } from '../connect-map/connect-map.js';
|
|
2
|
+
import { type MapColors } from '../style/map-colors.js';
|
|
3
|
+
/** What MapLibre hands a listener, as far as the driver reads it. */
|
|
4
|
+
interface MapLibreEvent {
|
|
5
|
+
/** On `styleimagemissing`: the image a layer names and the style has not got. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** On a press or a move: where the pointer is, in the map's box. */
|
|
8
|
+
point?: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
};
|
|
12
|
+
/** On `sourcedata`: `metadata` where a source learned its TileJSON, credit and all. */
|
|
13
|
+
sourceDataType?: string;
|
|
14
|
+
}
|
|
15
|
+
/** The frame's routes and areas, as MapLibre draws GeoJSON. */
|
|
16
|
+
interface GeoJson {
|
|
17
|
+
features: {
|
|
18
|
+
geometry: {
|
|
19
|
+
coordinates: unknown;
|
|
20
|
+
type: 'LineString' | 'Polygon';
|
|
21
|
+
};
|
|
22
|
+
properties: {
|
|
23
|
+
casing?: string;
|
|
24
|
+
color: string;
|
|
25
|
+
faded?: boolean;
|
|
26
|
+
kind: 'area' | 'route';
|
|
27
|
+
label: string;
|
|
28
|
+
pattern?: 'dotted';
|
|
29
|
+
};
|
|
30
|
+
type: 'Feature';
|
|
31
|
+
}[];
|
|
32
|
+
type: 'FeatureCollection';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A style layer as far as the driver writes one: a fill or a line, which
|
|
36
|
+
* MapLibre types apart and so must this.
|
|
37
|
+
*/
|
|
38
|
+
type MapLibreLayer = {
|
|
39
|
+
filter: unknown[];
|
|
40
|
+
id: string;
|
|
41
|
+
paint: Record<string, unknown>;
|
|
42
|
+
source: string;
|
|
43
|
+
type: 'fill';
|
|
44
|
+
} | {
|
|
45
|
+
filter: unknown[];
|
|
46
|
+
id: string;
|
|
47
|
+
layout: Record<string, unknown>;
|
|
48
|
+
paint: Record<string, unknown>;
|
|
49
|
+
source: string;
|
|
50
|
+
type: 'line';
|
|
51
|
+
};
|
|
52
|
+
/** Their layers, from the bottom up: areas under their own edges, routes over both. */
|
|
53
|
+
export declare const LAYERS: MapLibreLayer[];
|
|
54
|
+
/** The routes and areas as GeoJSON, longitude first, an area's ring closed as GeoJSON requires. */
|
|
55
|
+
export declare const geoJson: (layers: MapLayerSpec[]) => GeoJson;
|
|
56
|
+
/**
|
|
57
|
+
* The buildings raised to the heights the tiles record, where the tiles mark a
|
|
58
|
+
* building as one to raise.
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildingsExtrusion: (spec: MapLayerSpec, source: string) => {
|
|
61
|
+
filter: (string | boolean | string[])[];
|
|
62
|
+
id: string;
|
|
63
|
+
minzoom: number;
|
|
64
|
+
paint: {
|
|
65
|
+
'fill-extrusion-base': (string | number | string[])[];
|
|
66
|
+
'fill-extrusion-color': string;
|
|
67
|
+
'fill-extrusion-height': (string | number | string[])[];
|
|
68
|
+
'fill-extrusion-opacity': number;
|
|
69
|
+
};
|
|
70
|
+
source: string;
|
|
71
|
+
'source-layer': string;
|
|
72
|
+
type: 'fill-extrusion';
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* A points layer's style layers, bottom up: a halo round each count, the
|
|
76
|
+
* count's circle, the count, and the points on their own. **A count grows by
|
|
77
|
+
* the step**, so a hundred reads larger than ten at a glance rather than by
|
|
78
|
+
* its figures alone; **its figures take the style's own face**, the one its
|
|
79
|
+
* place names are set in, since a style carries only the faces it names.
|
|
80
|
+
*/
|
|
81
|
+
export declare const pointsLayers: (id: string, spec: MapLayerSpec, font: unknown) => {
|
|
82
|
+
id: string;
|
|
83
|
+
layout?: Record<string, unknown>;
|
|
84
|
+
paint: Record<string, unknown>;
|
|
85
|
+
type: string;
|
|
86
|
+
}[];
|
|
87
|
+
/** How MapLibre is told to move: over a time and a curve, or at once. */
|
|
88
|
+
interface MapLibreAnimation {
|
|
89
|
+
animate?: boolean;
|
|
90
|
+
duration?: number;
|
|
91
|
+
easing?: (t: number) => number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The part of a MapLibre `Map` the driver uses, so this package imports no
|
|
95
|
+
* renderer and a page brings whichever version it has.
|
|
96
|
+
*/
|
|
97
|
+
export interface MapLibreMap {
|
|
98
|
+
/** Whether every tile the view needs has loaded. */
|
|
99
|
+
areTilesLoaded?(): boolean;
|
|
100
|
+
/** Whether the style has loaded. */
|
|
101
|
+
loaded?(): boolean;
|
|
102
|
+
/** The canvas, which MapLibre makes focusable. */
|
|
103
|
+
getCanvas(): HTMLElement;
|
|
104
|
+
/** The middle of the view, which a map-type picture is drawn around. */
|
|
105
|
+
getCenter?(): {
|
|
106
|
+
lat: number;
|
|
107
|
+
lng: number;
|
|
108
|
+
};
|
|
109
|
+
/** One layout property of one layer, read before it is set again. */
|
|
110
|
+
getLayoutProperty?(layer: string, name: string): unknown;
|
|
111
|
+
/** How far the view is zoomed in. */
|
|
112
|
+
getZoom?(): number;
|
|
113
|
+
/** The element the map was made in, which holds its controls. */
|
|
114
|
+
getContainer(): HTMLElement;
|
|
115
|
+
/**
|
|
116
|
+
* Adds a style layer, under the one named where one is. **Typed `never`**
|
|
117
|
+
* because MapLibre types a layer as its whole style specification, which
|
|
118
|
+
* this package does not import; what the driver adds is held to MapLibre's
|
|
119
|
+
* own validator by a spec instead, which is a stricter check than a type.
|
|
120
|
+
*/
|
|
121
|
+
addLayer(layer: never, beforeId?: string): unknown;
|
|
122
|
+
/** Adds an image a layer names, drawn at `pixelRatio` times its size. */
|
|
123
|
+
addImage?(id: string, image: {
|
|
124
|
+
data: Uint8Array;
|
|
125
|
+
height: number;
|
|
126
|
+
width: number;
|
|
127
|
+
}, options?: {
|
|
128
|
+
pixelRatio?: number;
|
|
129
|
+
}): unknown;
|
|
130
|
+
/** Whether the style has an image of that id. */
|
|
131
|
+
hasImage?(id: string): boolean;
|
|
132
|
+
/** Adds a source, which the frame's routes and areas are one of. `never` for `addLayer`'s reason. */
|
|
133
|
+
addSource(id: string, source: never): unknown;
|
|
134
|
+
/** Frames a stretch of the world, west-south then east-north. */
|
|
135
|
+
fitBounds(bounds: [[number, number], [number, number]], options?: MapLibreAnimation & {
|
|
136
|
+
padding?: MapPadding;
|
|
137
|
+
}): unknown;
|
|
138
|
+
/** A layer by its id, or nothing where there is none. */
|
|
139
|
+
getLayer(id: string): unknown;
|
|
140
|
+
/**
|
|
141
|
+
* A source by its id: `attribution` is its credit, `setData` what redraws a
|
|
142
|
+
* GeoJSON one, and `getClusterExpansionZoom` how far in a count comes apart.
|
|
143
|
+
*/
|
|
144
|
+
getSource(id: string): {
|
|
145
|
+
attribution?: string | undefined;
|
|
146
|
+
getClusterExpansionZoom?(clusterId: number): Promise<number>;
|
|
147
|
+
setData?(data: never): unknown;
|
|
148
|
+
} | undefined;
|
|
149
|
+
/** The style as it stands: its sources are the ones to credit, and its layers what to draw under. */
|
|
150
|
+
getStyle(): {
|
|
151
|
+
layers?: {
|
|
152
|
+
id: string;
|
|
153
|
+
layout?: unknown;
|
|
154
|
+
source?: string;
|
|
155
|
+
'source-layer'?: string;
|
|
156
|
+
type: string;
|
|
157
|
+
}[] | undefined;
|
|
158
|
+
sources?: Record<string, unknown> | undefined;
|
|
159
|
+
} | undefined;
|
|
160
|
+
/** Which way the view is turned, in degrees clockwise from north. */
|
|
161
|
+
getBearing(): number;
|
|
162
|
+
/** The stretch of the world in view, which a contours layer traces the tiles of. */
|
|
163
|
+
getBounds?(): {
|
|
164
|
+
getEast(): number;
|
|
165
|
+
getNorth(): number;
|
|
166
|
+
getSouth(): number;
|
|
167
|
+
getWest(): number;
|
|
168
|
+
};
|
|
169
|
+
/** How far the view is tilted from looking straight down, in degrees. */
|
|
170
|
+
getPitch(): number;
|
|
171
|
+
/** Goes to a place, gliding. */
|
|
172
|
+
easeTo(options: MapLibreAnimation & {
|
|
173
|
+
bearing?: number;
|
|
174
|
+
center?: [number, number];
|
|
175
|
+
pitch?: number;
|
|
176
|
+
zoom?: number;
|
|
177
|
+
}): unknown;
|
|
178
|
+
/** Goes to a place at once. */
|
|
179
|
+
jumpTo(options: {
|
|
180
|
+
center: [number, number];
|
|
181
|
+
zoom?: number;
|
|
182
|
+
}): unknown;
|
|
183
|
+
/** The arrow-key handler MapLibre adds unless told not to. */
|
|
184
|
+
keyboard: {
|
|
185
|
+
disable(): void;
|
|
186
|
+
enable(): void;
|
|
187
|
+
isEnabled(): boolean;
|
|
188
|
+
};
|
|
189
|
+
off(type: 'click' | 'idle' | 'load' | 'mousemove' | 'move' | 'resize' | 'sourcedata' | 'moveend' | 'styledata' | 'styleimagemissing', listener: (event?: MapLibreEvent) => void): unknown;
|
|
190
|
+
on(type: 'click' | 'idle' | 'load' | 'mousemove' | 'move' | 'resize' | 'sourcedata' | 'moveend' | 'styledata' | 'styleimagemissing', listener: (event?: MapLibreEvent) => void): unknown;
|
|
191
|
+
removeLayer(id: string): unknown;
|
|
192
|
+
removeSource(id: string): unknown;
|
|
193
|
+
panBy(offset: [number, number], options?: MapLibreAnimation): unknown;
|
|
194
|
+
/** Where a place falls in the map's box, in pixels. */
|
|
195
|
+
project(lngLat: [number, number]): {
|
|
196
|
+
x: number;
|
|
197
|
+
y: number;
|
|
198
|
+
};
|
|
199
|
+
/** What is drawn in a box of the map's, of the layers named. */
|
|
200
|
+
queryRenderedFeatures(box: [[number, number], [number, number]], options: {
|
|
201
|
+
layers: string[];
|
|
202
|
+
}): {
|
|
203
|
+
geometry: {
|
|
204
|
+
coordinates?: unknown;
|
|
205
|
+
type: string;
|
|
206
|
+
};
|
|
207
|
+
layer: {
|
|
208
|
+
id: string;
|
|
209
|
+
};
|
|
210
|
+
properties: Record<string, unknown> | null;
|
|
211
|
+
}[];
|
|
212
|
+
/** The raised ground, where the map has one. */
|
|
213
|
+
getTerrain?(): {
|
|
214
|
+
source: string;
|
|
215
|
+
} | null | undefined;
|
|
216
|
+
/** Raises the ground from an elevation source, or lays it flat with `null`. */
|
|
217
|
+
setTerrain?(terrain: {
|
|
218
|
+
exaggeration?: number;
|
|
219
|
+
source: string;
|
|
220
|
+
} | null): unknown;
|
|
221
|
+
/** The view's projection, which on a globe says whether a place is on its far side. */
|
|
222
|
+
transform?: {
|
|
223
|
+
isLocationOccluded?(place: {
|
|
224
|
+
lat: number;
|
|
225
|
+
lng: number;
|
|
226
|
+
}): boolean;
|
|
227
|
+
};
|
|
228
|
+
/** Sets one paint property of one layer, which is how a points layer takes a new color. */
|
|
229
|
+
setPaintProperty(layer: string, name: string, value: unknown): unknown;
|
|
230
|
+
/** Sets one layout property of one layer, which is how the buildings are shown and hidden. */
|
|
231
|
+
setLayoutProperty(layer: string, name: string, value: unknown): unknown;
|
|
232
|
+
/** Replaces the style, by a diff against the one it has where `diff` is set. `never` for `addLayer`'s reason. */
|
|
233
|
+
setStyle(style: never, options?: {
|
|
234
|
+
diff?: boolean;
|
|
235
|
+
}): unknown;
|
|
236
|
+
zoomIn(options?: MapLibreAnimation): unknown;
|
|
237
|
+
zoomOut(options?: MapLibreAnimation): unknown;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Drives a MapLibre map from the Map frame.
|
|
241
|
+
*
|
|
242
|
+
* **The credit is every source's `attribution`**, read again whenever a style
|
|
243
|
+
* or a source changes, since a vector source learns its credit from its
|
|
244
|
+
* TileJSON after the style has loaded. **MapLibre's own credit control is
|
|
245
|
+
* hidden while connected** rather than removed, because the map was made with
|
|
246
|
+
* it and there is no public way to take it off: making the map with
|
|
247
|
+
* `attributionControl: false` avoids it altogether, and is the better way.
|
|
248
|
+
*/
|
|
249
|
+
export declare const mapLibreDriver: (map: MapLibreMap) => MapDriver;
|
|
250
|
+
/** A theme followed: asked again at once where the page knows it moved, and stopped. */
|
|
251
|
+
export interface FollowedTheme {
|
|
252
|
+
stop(): void;
|
|
253
|
+
update(): void;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Restyles `map` whenever the theme where `element` is moves, from `style`,
|
|
257
|
+
* which is the page's own call to `mapLibreStyle` with the colors read there.
|
|
258
|
+
*
|
|
259
|
+
* **Heard where it happens**: a mode, a class, a theme or an inline token
|
|
260
|
+
* on `element` or anything above it, or the reader's light or dark
|
|
261
|
+
* preference, by `watchTheme`. A page that restyles some other way, a
|
|
262
|
+
* stylesheet replaced, says so with `update()`.
|
|
263
|
+
*
|
|
264
|
+
* **Once a frame, and only where something changed.** A theme can move on
|
|
265
|
+
* every keystroke, and a restyle is a diff and a redraw: the style is built
|
|
266
|
+
* and compared with the last one set, so a move that draws the same map, or
|
|
267
|
+
* a second in the same frame, sets nothing.
|
|
268
|
+
*
|
|
269
|
+
* **Waits out a stylesheet on its way back.** A swap takes the tokens away
|
|
270
|
+
* for a frame or two, which is asked again the next frame, for a few seconds,
|
|
271
|
+
* and then reported with what is missing rather than thrown out of a frame
|
|
272
|
+
* with nobody to catch it.
|
|
273
|
+
*/
|
|
274
|
+
export declare const followTheme: (map: MapLibreMap, element: Element, style: (colors: MapColors) => unknown) => FollowedTheme;
|
|
275
|
+
export {};
|
|
276
|
+
//# sourceMappingURL=maplibre-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maplibre-driver.d.ts","sourceRoot":"","sources":["../../src/maplibre/maplibre-driver.ts"],"names":[],"mappings":"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"}
|