@react-x11/components 0.3.0 → 0.5.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/README.md +131 -4
- package/dist/charts/components.d.ts +3 -1
- package/dist/charts/components.d.ts.map +1 -1
- package/dist/charts/components.js +8 -4
- package/dist/charts/components.js.map +1 -1
- package/dist/charts/node.d.ts +13 -6
- package/dist/charts/node.d.ts.map +1 -1
- package/dist/charts/node.js +75 -24
- package/dist/charts/node.js.map +1 -1
- package/dist/charts/render.d.ts +4 -0
- package/dist/charts/render.d.ts.map +1 -1
- package/dist/charts/render.js +11 -6
- package/dist/charts/render.js.map +1 -1
- package/dist/code-editor/node.d.ts +47 -16
- package/dist/code-editor/node.d.ts.map +1 -1
- package/dist/code-editor/node.js +121 -51
- package/dist/code-editor/node.js.map +1 -1
- package/dist/flow/draw.d.ts +19 -1
- package/dist/flow/draw.d.ts.map +1 -1
- package/dist/flow/draw.js +64 -35
- package/dist/flow/draw.js.map +1 -1
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +24 -8
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/model.d.ts +4 -2
- package/dist/flow/model.d.ts.map +1 -1
- package/dist/flow/model.js +4 -2
- package/dist/flow/model.js.map +1 -1
- package/dist/flow/node.d.ts +40 -9
- package/dist/flow/node.d.ts.map +1 -1
- package/dist/flow/node.js +142 -53
- package/dist/flow/node.js.map +1 -1
- package/dist/flow/types.d.ts +46 -21
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/formula/index.d.ts +4 -2
- package/dist/formula/index.d.ts.map +1 -1
- package/dist/formula/index.js.map +1 -1
- package/dist/formula/node.d.ts +5 -1
- package/dist/formula/node.d.ts.map +1 -1
- package/dist/formula/node.js +19 -3
- package/dist/formula/node.js.map +1 -1
- package/dist/html/controls.d.ts +4 -1
- package/dist/html/controls.d.ts.map +1 -1
- package/dist/html/controls.js.map +1 -1
- package/dist/html/css/cascade.d.ts +11 -5
- package/dist/html/css/cascade.d.ts.map +1 -1
- package/dist/html/css/cascade.js +18 -8
- package/dist/html/css/cascade.js.map +1 -1
- package/dist/html/css/parse.d.ts +15 -10
- package/dist/html/css/parse.d.ts.map +1 -1
- package/dist/html/css/parse.js +41 -16
- package/dist/html/css/parse.js.map +1 -1
- package/dist/html/css/style.d.ts +3 -0
- package/dist/html/css/style.d.ts.map +1 -1
- package/dist/html/css/style.js +3 -1
- package/dist/html/css/style.js.map +1 -1
- package/dist/html/css/values.d.ts +14 -1
- package/dist/html/css/values.d.ts.map +1 -1
- package/dist/html/css/values.js +11 -8
- package/dist/html/css/values.js.map +1 -1
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +1 -0
- package/dist/html/index.js.map +1 -1
- package/dist/html/layout/boxes.d.ts +12 -5
- package/dist/html/layout/boxes.d.ts.map +1 -1
- package/dist/html/layout/boxes.js +7 -4
- package/dist/html/layout/boxes.js.map +1 -1
- package/dist/html/layout/inline.d.ts.map +1 -1
- package/dist/html/layout/inline.js +22 -1
- package/dist/html/layout/inline.js.map +1 -1
- package/dist/html/node.d.ts +22 -8
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +97 -15
- package/dist/html/node.js.map +1 -1
- package/dist/html/paint.d.ts +3 -0
- package/dist/html/paint.d.ts.map +1 -1
- package/dist/html/paint.js +2 -2
- package/dist/html/paint.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/maps/clip.d.ts +43 -0
- package/dist/maps/clip.d.ts.map +1 -0
- package/dist/maps/clip.js +171 -0
- package/dist/maps/clip.js.map +1 -0
- package/dist/maps/gzip.d.ts +15 -0
- package/dist/maps/gzip.d.ts.map +1 -0
- package/dist/maps/gzip.js +56 -0
- package/dist/maps/gzip.js.map +1 -0
- package/dist/maps/index.d.ts +55 -0
- package/dist/maps/index.d.ts.map +1 -0
- package/dist/maps/index.js +141 -0
- package/dist/maps/index.js.map +1 -0
- package/dist/maps/labels.d.ts +123 -0
- package/dist/maps/labels.d.ts.map +1 -0
- package/dist/maps/labels.js +323 -0
- package/dist/maps/labels.js.map +1 -0
- package/dist/maps/mvt.d.ts +244 -0
- package/dist/maps/mvt.d.ts.map +1 -0
- package/dist/maps/mvt.js +820 -0
- package/dist/maps/mvt.js.map +1 -0
- package/dist/maps/node.d.ts +278 -0
- package/dist/maps/node.d.ts.map +1 -0
- package/dist/maps/node.js +1459 -0
- package/dist/maps/node.js.map +1 -0
- package/dist/maps/overlay.d.ts +157 -0
- package/dist/maps/overlay.d.ts.map +1 -0
- package/dist/maps/overlay.js +472 -0
- package/dist/maps/overlay.js.map +1 -0
- package/dist/maps/paint.d.ts +226 -0
- package/dist/maps/paint.d.ts.map +1 -0
- package/dist/maps/paint.js +705 -0
- package/dist/maps/paint.js.map +1 -0
- package/dist/maps/proj.d.ts +281 -0
- package/dist/maps/proj.d.ts.map +1 -0
- package/dist/maps/proj.js +451 -0
- package/dist/maps/proj.js.map +1 -0
- package/dist/maps/sources.d.ts +256 -0
- package/dist/maps/sources.d.ts.map +1 -0
- package/dist/maps/sources.js +210 -0
- package/dist/maps/sources.js.map +1 -0
- package/dist/maps/style.d.ts +141 -0
- package/dist/maps/style.d.ts.map +1 -0
- package/dist/maps/style.js +147 -0
- package/dist/maps/style.js.map +1 -0
- package/dist/maps/styles.d.ts +82 -0
- package/dist/maps/styles.d.ts.map +1 -0
- package/dist/maps/styles.js +898 -0
- package/dist/maps/styles.js.map +1 -0
- package/dist/maps/tiles.d.ts +283 -0
- package/dist/maps/tiles.d.ts.map +1 -0
- package/dist/maps/tiles.js +469 -0
- package/dist/maps/tiles.js.map +1 -0
- package/dist/maps/types.d.ts +244 -0
- package/dist/maps/types.d.ts.map +1 -0
- package/dist/maps/types.js +2 -0
- package/dist/maps/types.js.map +1 -0
- package/dist/qml/containers.d.ts +3 -0
- package/dist/qml/containers.d.ts.map +1 -0
- package/dist/qml/containers.js +331 -0
- package/dist/qml/containers.js.map +1 -0
- package/dist/qml/controls.d.ts +12 -0
- package/dist/qml/controls.d.ts.map +1 -0
- package/dist/qml/controls.js +21 -0
- package/dist/qml/controls.js.map +1 -0
- package/dist/qml/globals.d.ts +6 -0
- package/dist/qml/globals.d.ts.map +1 -0
- package/dist/qml/globals.js +25 -0
- package/dist/qml/globals.js.map +1 -0
- package/dist/qml/index.d.ts +15 -0
- package/dist/qml/index.d.ts.map +1 -0
- package/dist/qml/index.js +25 -0
- package/dist/qml/index.js.map +1 -0
- package/dist/qml/interaction.d.ts +12 -0
- package/dist/qml/interaction.d.ts.map +1 -0
- package/dist/qml/interaction.js +246 -0
- package/dist/qml/interaction.js.map +1 -0
- package/dist/qml/ir.d.ts +106 -0
- package/dist/qml/ir.d.ts.map +1 -0
- package/dist/qml/ir.js +7 -0
- package/dist/qml/ir.js.map +1 -0
- package/dist/qml/layouts.d.ts +3 -0
- package/dist/qml/layouts.d.ts.map +1 -0
- package/dist/qml/layouts.js +122 -0
- package/dist/qml/layouts.js.map +1 -0
- package/dist/qml/models.d.ts +14 -0
- package/dist/qml/models.d.ts.map +1 -0
- package/dist/qml/models.js +80 -0
- package/dist/qml/models.js.map +1 -0
- package/dist/qml/objects.d.ts +228 -0
- package/dist/qml/objects.d.ts.map +1 -0
- package/dist/qml/objects.js +1103 -0
- package/dist/qml/objects.js.map +1 -0
- package/dist/qml/parse.d.ts +10 -0
- package/dist/qml/parse.d.ts.map +1 -0
- package/dist/qml/parse.js +607 -0
- package/dist/qml/parse.js.map +1 -0
- package/dist/qml/qtquick.d.ts +7 -0
- package/dist/qml/qtquick.d.ts.map +1 -0
- package/dist/qml/qtquick.js +347 -0
- package/dist/qml/qtquick.js.map +1 -0
- package/dist/qml/react.d.ts +83 -0
- package/dist/qml/react.d.ts.map +1 -0
- package/dist/qml/react.js +323 -0
- package/dist/qml/react.js.map +1 -0
- package/dist/qml/resolver.d.ts +38 -0
- package/dist/qml/resolver.d.ts.map +1 -0
- package/dist/qml/resolver.js +64 -0
- package/dist/qml/resolver.js.map +1 -0
- package/dist/qml/slots.d.ts +65 -0
- package/dist/qml/slots.d.ts.map +1 -0
- package/dist/qml/slots.js +230 -0
- package/dist/qml/slots.js.map +1 -0
- package/dist/qml/states.d.ts +5 -0
- package/dist/qml/states.d.ts.map +1 -0
- package/dist/qml/states.js +276 -0
- package/dist/qml/states.js.map +1 -0
- package/dist/qml/view-utils.d.ts +42 -0
- package/dist/qml/view-utils.d.ts.map +1 -0
- package/dist/qml/view-utils.js +121 -0
- package/dist/qml/view-utils.js.map +1 -0
- package/dist/reorder/hx.d.ts +18 -0
- package/dist/reorder/hx.d.ts.map +1 -0
- package/dist/reorder/hx.js +10 -0
- package/dist/reorder/hx.js.map +1 -0
- package/dist/reorder/index.d.ts +314 -0
- package/dist/reorder/index.d.ts.map +1 -0
- package/dist/reorder/index.js +1539 -0
- package/dist/reorder/index.js.map +1 -0
- package/dist/reorder/model.d.ts +107 -0
- package/dist/reorder/model.d.ts.map +1 -0
- package/dist/reorder/model.js +162 -0
- package/dist/reorder/model.js.map +1 -0
- package/dist/richtext/node.d.ts +15 -5
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +40 -11
- package/dist/richtext/node.js.map +1 -1
- package/dist/richtext/runs.d.ts +35 -13
- package/dist/richtext/runs.d.ts.map +1 -1
- package/dist/richtext/runs.js +83 -27
- package/dist/richtext/runs.js.map +1 -1
- package/dist/tabs/hx.d.ts +18 -0
- package/dist/tabs/hx.d.ts.map +1 -0
- package/dist/tabs/hx.js +10 -0
- package/dist/tabs/hx.js.map +1 -0
- package/dist/tabs/index.d.ts +160 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +1265 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/terminal/vt/fonts.d.ts +45 -15
- package/dist/terminal/vt/fonts.d.ts.map +1 -1
- package/dist/terminal/vt/fonts.js +89 -19
- package/dist/terminal/vt/fonts.js.map +1 -1
- package/dist/terminal/vt/index.d.ts +1 -1
- package/dist/terminal/vt/index.d.ts.map +1 -1
- package/dist/terminal/vt/index.js +3 -3
- package/dist/terminal/vt/index.js.map +1 -1
- package/dist/terminal/vt/node.d.ts +42 -0
- package/dist/terminal/vt/node.d.ts.map +1 -1
- package/dist/terminal/vt/node.js +95 -11
- package/dist/terminal/vt/node.js.map +1 -1
- package/dist/terminal/vt/pty.d.ts +16 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -1
- package/dist/terminal/vt/pty.js +186 -0
- package/dist/terminal/vt/pty.js.map +1 -1
- package/dist/terminal/vt/renderer.d.ts.map +1 -1
- package/dist/terminal/vt/renderer.js +13 -3
- package/dist/terminal/vt/renderer.js.map +1 -1
- package/package.json +23 -3
- package/src/charts/components.ts +14 -7
- package/src/charts/node.ts +81 -26
- package/src/charts/render.ts +16 -6
- package/src/code-editor/node.ts +147 -53
- package/src/flow/draw.ts +104 -35
- package/src/flow/index.ts +33 -13
- package/src/flow/model.ts +4 -2
- package/src/flow/node.ts +158 -59
- package/src/flow/types.ts +46 -21
- package/src/formula/index.ts +4 -2
- package/src/formula/node.ts +24 -5
- package/src/html/controls.ts +4 -1
- package/src/html/css/cascade.ts +18 -7
- package/src/html/css/parse.ts +46 -21
- package/src/html/css/style.ts +6 -1
- package/src/html/css/values.ts +25 -9
- package/src/html/index.ts +1 -0
- package/src/html/layout/boxes.ts +19 -9
- package/src/html/layout/inline.ts +23 -1
- package/src/html/node.ts +110 -17
- package/src/html/paint.ts +17 -2
- package/src/index.ts +142 -0
- package/src/maps/clip.ts +184 -0
- package/src/maps/gzip.ts +66 -0
- package/src/maps/index.ts +316 -0
- package/src/maps/labels.ts +442 -0
- package/src/maps/mvt.ts +857 -0
- package/src/maps/node.ts +1819 -0
- package/src/maps/overlay.ts +639 -0
- package/src/maps/paint.ts +978 -0
- package/src/maps/proj.ts +641 -0
- package/src/maps/sources.ts +425 -0
- package/src/maps/style.ts +309 -0
- package/src/maps/styles.ts +1040 -0
- package/src/maps/tiles.ts +676 -0
- package/src/maps/types.ts +260 -0
- package/src/qml/containers.tsx +380 -0
- package/src/qml/controls.tsx +47 -0
- package/src/qml/globals.ts +33 -0
- package/src/qml/index.ts +67 -0
- package/src/qml/interaction.tsx +317 -0
- package/src/qml/ir.ts +80 -0
- package/src/qml/layouts.tsx +141 -0
- package/src/qml/models.ts +101 -0
- package/src/qml/objects.ts +1431 -0
- package/src/qml/parse.ts +624 -0
- package/src/qml/qtquick.tsx +413 -0
- package/src/qml/react.tsx +454 -0
- package/src/qml/resolver.ts +99 -0
- package/src/qml/slots.ts +249 -0
- package/src/qml/states.ts +318 -0
- package/src/qml/view-utils.ts +140 -0
- package/src/reorder/hx.ts +31 -0
- package/src/reorder/index.ts +2223 -0
- package/src/reorder/model.ts +232 -0
- package/src/richtext/node.ts +49 -14
- package/src/richtext/runs.ts +115 -30
- package/src/tabs/hx.ts +31 -0
- package/src/tabs/index.ts +1686 -0
- package/src/terminal/vt/fonts.ts +128 -36
- package/src/terminal/vt/index.ts +4 -2
- package/src/terminal/vt/node.ts +105 -12
- package/src/terminal/vt/pty.ts +243 -0
- package/src/terminal/vt/renderer.ts +13 -3
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { GeomType } from './mvt.js';
|
|
2
|
+
// --- zoom ramps ------------------------------------------------------------
|
|
3
|
+
function isStops(value) {
|
|
4
|
+
return (typeof value === 'object' &&
|
|
5
|
+
value !== null &&
|
|
6
|
+
Array.isArray(value.stops));
|
|
7
|
+
}
|
|
8
|
+
/** A {@link Zoomed} at one zoom. Numbers interpolate, everything else
|
|
9
|
+
* steps. */
|
|
10
|
+
export function resolveZoomed(value, zoom) {
|
|
11
|
+
if (!isStops(value))
|
|
12
|
+
return value;
|
|
13
|
+
const stops = value.stops;
|
|
14
|
+
if (stops.length === 0)
|
|
15
|
+
throw new Error('a zoom ramp needs a stop');
|
|
16
|
+
if (zoom <= stops[0][0])
|
|
17
|
+
return stops[0][1];
|
|
18
|
+
const last = stops[stops.length - 1];
|
|
19
|
+
if (zoom >= last[0])
|
|
20
|
+
return last[1];
|
|
21
|
+
let i = 1;
|
|
22
|
+
while (i < stops.length && stops[i][0] <= zoom)
|
|
23
|
+
i++;
|
|
24
|
+
const [z0, v0] = stops[i - 1];
|
|
25
|
+
const [z1, v1] = stops[i];
|
|
26
|
+
if (typeof v0 !== 'number' || typeof v1 !== 'number')
|
|
27
|
+
return v0;
|
|
28
|
+
const t = z1 === z0 ? 0 : (zoom - z0) / (z1 - z0);
|
|
29
|
+
return (v0 + (v1 - v0) * t);
|
|
30
|
+
}
|
|
31
|
+
const ALWAYS = () => true;
|
|
32
|
+
/**
|
|
33
|
+
* Compile a filter to a closure, once.
|
|
34
|
+
*
|
|
35
|
+
* The point of compiling rather than interpreting: the operator dispatch,
|
|
36
|
+
* the `in`-set construction and the geometry-type mapping all happen here,
|
|
37
|
+
* per layer, instead of twelve thousand times per tile. A `['in', 'kind',
|
|
38
|
+
* …]` with forty values becomes a `Set` lookup rather than a scan.
|
|
39
|
+
*/
|
|
40
|
+
export function compileFilter(filter) {
|
|
41
|
+
if (!filter)
|
|
42
|
+
return ALWAYS;
|
|
43
|
+
const op = filter[0];
|
|
44
|
+
switch (op) {
|
|
45
|
+
case 'all': {
|
|
46
|
+
const parts = filter.slice(1).map(compileFilter);
|
|
47
|
+
if (parts.length === 0)
|
|
48
|
+
return ALWAYS;
|
|
49
|
+
if (parts.length === 1)
|
|
50
|
+
return parts[0];
|
|
51
|
+
return (f) => {
|
|
52
|
+
for (const part of parts)
|
|
53
|
+
if (!part(f))
|
|
54
|
+
return false;
|
|
55
|
+
return true;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
case 'any': {
|
|
59
|
+
const parts = filter.slice(1).map(compileFilter);
|
|
60
|
+
if (parts.length === 0)
|
|
61
|
+
return ALWAYS;
|
|
62
|
+
return (f) => {
|
|
63
|
+
for (const part of parts)
|
|
64
|
+
if (part(f))
|
|
65
|
+
return true;
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
case 'none': {
|
|
70
|
+
const parts = filter.slice(1).map(compileFilter);
|
|
71
|
+
return (f) => {
|
|
72
|
+
for (const part of parts)
|
|
73
|
+
if (part(f))
|
|
74
|
+
return false;
|
|
75
|
+
return true;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case 'has': {
|
|
79
|
+
const key = filter[1];
|
|
80
|
+
return (f) => f.get(key) !== undefined;
|
|
81
|
+
}
|
|
82
|
+
case '!has': {
|
|
83
|
+
const key = filter[1];
|
|
84
|
+
return (f) => f.get(key) === undefined;
|
|
85
|
+
}
|
|
86
|
+
case '==': {
|
|
87
|
+
const [, key, want] = filter;
|
|
88
|
+
return (f) => f.get(key) === want;
|
|
89
|
+
}
|
|
90
|
+
case '!=': {
|
|
91
|
+
const [, key, want] = filter;
|
|
92
|
+
return (f) => f.get(key) !== want;
|
|
93
|
+
}
|
|
94
|
+
case '<':
|
|
95
|
+
case '<=':
|
|
96
|
+
case '>':
|
|
97
|
+
case '>=': {
|
|
98
|
+
const [, key, want] = filter;
|
|
99
|
+
return (f) => {
|
|
100
|
+
const value = f.get(key);
|
|
101
|
+
// A missing tag compares false rather than as zero: `['>' , 'pop',
|
|
102
|
+
// 0]` must not select every feature that has no population.
|
|
103
|
+
if (typeof value !== 'number')
|
|
104
|
+
return false;
|
|
105
|
+
return op === '<'
|
|
106
|
+
? value < want
|
|
107
|
+
: op === '<='
|
|
108
|
+
? value <= want
|
|
109
|
+
: op === '>'
|
|
110
|
+
? value > want
|
|
111
|
+
: value >= want;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
case 'in': {
|
|
115
|
+
const key = filter[1];
|
|
116
|
+
const set = new Set(filter.slice(2));
|
|
117
|
+
return (f) => {
|
|
118
|
+
const value = f.get(key);
|
|
119
|
+
return value !== undefined && set.has(value);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
case '!in': {
|
|
123
|
+
const key = filter[1];
|
|
124
|
+
const set = new Set(filter.slice(2));
|
|
125
|
+
return (f) => {
|
|
126
|
+
const value = f.get(key);
|
|
127
|
+
return value === undefined || !set.has(value);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
case 'geometry': {
|
|
131
|
+
const want = filter[1] === 'point'
|
|
132
|
+
? GeomType.Point
|
|
133
|
+
: filter[1] === 'line'
|
|
134
|
+
? GeomType.LineString
|
|
135
|
+
: GeomType.Polygon;
|
|
136
|
+
return (f) => f.type === want;
|
|
137
|
+
}
|
|
138
|
+
default: {
|
|
139
|
+
// An unknown operator draws nothing rather than everything: a typo in
|
|
140
|
+
// a filter that quietly selected the whole layer would look like the
|
|
141
|
+
// style working.
|
|
142
|
+
const unknown = op;
|
|
143
|
+
throw new Error(`unknown map filter operator ${String(unknown)}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/maps/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { MapStyle } from './style.js';
|
|
2
|
+
/** One palette. Every colour a {@link shortbreadStyle} layer uses comes
|
|
3
|
+
* from here, so a third palette is a literal rather than a fork. */
|
|
4
|
+
export interface MapPalette {
|
|
5
|
+
land: string;
|
|
6
|
+
ocean: string;
|
|
7
|
+
water: string;
|
|
8
|
+
green: string;
|
|
9
|
+
built: string;
|
|
10
|
+
site: string;
|
|
11
|
+
building: string;
|
|
12
|
+
buildingEdge: string;
|
|
13
|
+
motorway: string;
|
|
14
|
+
motorwayCasing: string;
|
|
15
|
+
trunk: string;
|
|
16
|
+
primary: string;
|
|
17
|
+
secondary: string;
|
|
18
|
+
minor: string;
|
|
19
|
+
minorCasing: string;
|
|
20
|
+
path: string;
|
|
21
|
+
rail: string;
|
|
22
|
+
boundary: string;
|
|
23
|
+
pier: string;
|
|
24
|
+
text: string;
|
|
25
|
+
textMinor: string;
|
|
26
|
+
halo: string;
|
|
27
|
+
}
|
|
28
|
+
/** OSM Carto's hues, near enough that a user's eye reads the map as the one
|
|
29
|
+
* they already know. */
|
|
30
|
+
export declare const LIGHT_PALETTE: MapPalette;
|
|
31
|
+
/** The dark counterpart. Desaturated rather than inverted: an inverted map
|
|
32
|
+
* puts white water under dark land, which reads as a negative. */
|
|
33
|
+
export declare const DARK_PALETTE: MapPalette;
|
|
34
|
+
export interface ShortbreadStyleOptions {
|
|
35
|
+
/** `false` (the default) for the light palette. */
|
|
36
|
+
dark?: boolean;
|
|
37
|
+
/** Swap individual colours without forking the layer list. */
|
|
38
|
+
palette?: Partial<MapPalette>;
|
|
39
|
+
/**
|
|
40
|
+
* Which name tag labels read.
|
|
41
|
+
*
|
|
42
|
+
* Shortbread carries `name` (the local name) plus `name_<lang>` for the
|
|
43
|
+
* languages a feature has one in. `'name'` is the honest default —
|
|
44
|
+
* Tokyo's streets are labelled in Japanese on a Japanese map — and an
|
|
45
|
+
* application that knows its user's locale passes `name_en`, `name_de`
|
|
46
|
+
* and so on. A missing translation falls back to `name`.
|
|
47
|
+
*/
|
|
48
|
+
nameField?: string;
|
|
49
|
+
/** Leave the label layers out — for a map an application labels itself,
|
|
50
|
+
* or a background under a heavy data overlay. */
|
|
51
|
+
labels?: boolean;
|
|
52
|
+
/** Leave building footprints out. They are the densest polygon layer at
|
|
53
|
+
* high zoom and the first thing to drop on a slow machine. */
|
|
54
|
+
buildings?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The default style for Shortbread tiles.
|
|
58
|
+
*
|
|
59
|
+
* Twenty-six layers, in paint order. The order is the cartography: sea,
|
|
60
|
+
* then landuse, then water, then sites and buildings, then road *casings*
|
|
61
|
+
* as one pass and road *fills* as another — which is what makes a junction
|
|
62
|
+
* look like a junction rather than two roads crossing — then rail,
|
|
63
|
+
* boundaries, and labels last.
|
|
64
|
+
*/
|
|
65
|
+
export declare function shortbreadStyle(options?: ShortbreadStyleOptions): MapStyle;
|
|
66
|
+
export interface OpenMapTilesStyleOptions extends ShortbreadStyleOptions {
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The same cartography over the **OpenMapTiles** schema.
|
|
70
|
+
*
|
|
71
|
+
* OpenMapTiles is the other open schema, and between them the two cover
|
|
72
|
+
* nearly every provider worth pointing this at: Shortbread is what
|
|
73
|
+
* OpenStreetMap's own server and VersaTiles cut, OpenMapTiles is what
|
|
74
|
+
* MapTiler, Stadia, Geoapify, OpenFreeMap and most self-hosted planets cut.
|
|
75
|
+
*
|
|
76
|
+
* Deliberately the same palette, the same layer ids where they mean the
|
|
77
|
+
* same thing, and the same casing-then-fill ordering, so switching a source
|
|
78
|
+
* between the two schemas changes which style you pass and nothing else
|
|
79
|
+
* about how the map looks.
|
|
80
|
+
*/
|
|
81
|
+
export declare function openMapTilesStyle(options?: OpenMapTilesStyleOptions): MapStyle;
|
|
82
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/maps/styles.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AAgElE;qEACqE;AACrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;yBACyB;AACzB,eAAO,MAAM,aAAa,EAAE,UAuB3B,CAAC;AAEF;mEACmE;AACnE,eAAO,MAAM,YAAY,EAAE,UAuB1B,CAAC;AAOF,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sDACkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;mEAC+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,GAAE,sBAA2B,GACnC,QAAQ,CAsZV;AAiDD,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;CAAG;AAE3E;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,wBAA6B,GACrC,QAAQ,CA0WV"}
|