@tileflow/core 0.1.0-alpha.20 → 0.1.0-alpha.21
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/GENERATED_OUTPUT_LICENSE.md +21 -0
- package/LICENSE +201 -0
- package/NOTICE +9 -0
- package/README.md +969 -142
- package/THIRD_PARTY_NOTICES.md +185 -0
- package/TRADEMARKS.md +10 -0
- package/dist/browser.d.ts +105 -2
- package/dist/browser.js +3135 -11
- package/dist/build.d.ts +195 -0
- package/dist/build.js +12254 -0
- package/dist/capture-scene-BK_0J2oR.d.ts +161 -0
- package/dist/capture.d.ts +9 -0
- package/dist/capture.js +206 -0
- package/dist/domains-CPSrdTik.d.ts +4 -0
- package/dist/index.d.ts +180 -182
- package/dist/index.js +12259 -4245
- package/dist/manifest.d.ts +3 -0
- package/dist/manifest.js +229 -0
- package/dist/recipe.d.ts +66 -0
- package/dist/recipe.js +577 -0
- package/dist/requirements-BV77ZVhR.d.ts +491 -0
- package/dist/runtime-C4MtSzkB.d.ts +223 -0
- package/dist/runtime.d.ts +3 -0
- package/dist/runtime.js +1117 -0
- package/dist/types-DlUGI6LC.d.ts +525 -0
- package/dist/visual-semantics-DTC-8Hsb.d.ts +479 -0
- package/package.json +40 -5
- package/dist/runtime-DroKDIuB.d.ts +0 -1069
package/dist/recipe.js
ADDED
|
@@ -0,0 +1,577 @@
|
|
|
1
|
+
// src/cartography/contributions.ts
|
|
2
|
+
var tileflowLayerTargetPattern = /^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/;
|
|
3
|
+
var tileflowCompilerMetadataKeys = Object.freeze({
|
|
4
|
+
owner: "tileflow:compiler-owner",
|
|
5
|
+
slot: "tileflow:compiler-slot",
|
|
6
|
+
target: "tileflow:compiler-target"
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
// src/cartography/domains.ts
|
|
10
|
+
var tileflowLayerDomains = [
|
|
11
|
+
"addresses",
|
|
12
|
+
"land",
|
|
13
|
+
"terrain",
|
|
14
|
+
"landforms",
|
|
15
|
+
"water",
|
|
16
|
+
"nautical",
|
|
17
|
+
"roads",
|
|
18
|
+
"transit",
|
|
19
|
+
"aeroways",
|
|
20
|
+
"buildings",
|
|
21
|
+
"vegetation",
|
|
22
|
+
"boundaries",
|
|
23
|
+
"labels",
|
|
24
|
+
"poi"
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
// src/cartography/expression-operators.ts
|
|
28
|
+
var mapLibreExpressionOperators = /* @__PURE__ */ new Set([
|
|
29
|
+
"!",
|
|
30
|
+
"!=",
|
|
31
|
+
"%",
|
|
32
|
+
"*",
|
|
33
|
+
"+",
|
|
34
|
+
"-",
|
|
35
|
+
"/",
|
|
36
|
+
"<",
|
|
37
|
+
"<=",
|
|
38
|
+
"==",
|
|
39
|
+
">",
|
|
40
|
+
">=",
|
|
41
|
+
"^",
|
|
42
|
+
"abs",
|
|
43
|
+
"accumulated",
|
|
44
|
+
"acos",
|
|
45
|
+
"all",
|
|
46
|
+
"any",
|
|
47
|
+
"array",
|
|
48
|
+
"asin",
|
|
49
|
+
"at",
|
|
50
|
+
"atan",
|
|
51
|
+
"boolean",
|
|
52
|
+
"case",
|
|
53
|
+
"ceil",
|
|
54
|
+
"coalesce",
|
|
55
|
+
"collator",
|
|
56
|
+
"concat",
|
|
57
|
+
"cos",
|
|
58
|
+
"distance",
|
|
59
|
+
"downcase",
|
|
60
|
+
"e",
|
|
61
|
+
"elevation",
|
|
62
|
+
"error",
|
|
63
|
+
"feature-state",
|
|
64
|
+
"filter-<",
|
|
65
|
+
"filter-<=",
|
|
66
|
+
"filter-==",
|
|
67
|
+
"filter->",
|
|
68
|
+
"filter->=",
|
|
69
|
+
"filter-has",
|
|
70
|
+
"filter-has-id",
|
|
71
|
+
"filter-id-<",
|
|
72
|
+
"filter-id-<=",
|
|
73
|
+
"filter-id-==",
|
|
74
|
+
"filter-id->",
|
|
75
|
+
"filter-id->=",
|
|
76
|
+
"filter-id-in",
|
|
77
|
+
"filter-in-large",
|
|
78
|
+
"filter-in-small",
|
|
79
|
+
"filter-type-==",
|
|
80
|
+
"filter-type-in",
|
|
81
|
+
"floor",
|
|
82
|
+
"format",
|
|
83
|
+
"geometry-type",
|
|
84
|
+
"get",
|
|
85
|
+
"global-state",
|
|
86
|
+
"has",
|
|
87
|
+
"heatmap-density",
|
|
88
|
+
"id",
|
|
89
|
+
"image",
|
|
90
|
+
"in",
|
|
91
|
+
"index-of",
|
|
92
|
+
"interpolate",
|
|
93
|
+
"interpolate-hcl",
|
|
94
|
+
"interpolate-lab",
|
|
95
|
+
"is-supported-script",
|
|
96
|
+
"join",
|
|
97
|
+
"length",
|
|
98
|
+
"let",
|
|
99
|
+
"line-progress",
|
|
100
|
+
"literal",
|
|
101
|
+
"ln",
|
|
102
|
+
"ln2",
|
|
103
|
+
"log10",
|
|
104
|
+
"log2",
|
|
105
|
+
"match",
|
|
106
|
+
"max",
|
|
107
|
+
"min",
|
|
108
|
+
"number",
|
|
109
|
+
"number-format",
|
|
110
|
+
"object",
|
|
111
|
+
"pi",
|
|
112
|
+
"properties",
|
|
113
|
+
"resolved-locale",
|
|
114
|
+
"rgb",
|
|
115
|
+
"rgba",
|
|
116
|
+
"round",
|
|
117
|
+
"sin",
|
|
118
|
+
"slice",
|
|
119
|
+
"split",
|
|
120
|
+
"sqrt",
|
|
121
|
+
"step",
|
|
122
|
+
"string",
|
|
123
|
+
"tan",
|
|
124
|
+
"to-boolean",
|
|
125
|
+
"to-color",
|
|
126
|
+
"to-number",
|
|
127
|
+
"to-rgba",
|
|
128
|
+
"to-string",
|
|
129
|
+
"typeof",
|
|
130
|
+
"upcase",
|
|
131
|
+
"var",
|
|
132
|
+
"within",
|
|
133
|
+
"zoom"
|
|
134
|
+
]);
|
|
135
|
+
function isMapLibreExpressionOperator(value) {
|
|
136
|
+
return typeof value === "string" && mapLibreExpressionOperators.has(value);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/cartography/values.ts
|
|
140
|
+
function toMapLibreStyleValue(value) {
|
|
141
|
+
if (isTileflowExpression(value)) {
|
|
142
|
+
return cloneJson(value.value);
|
|
143
|
+
}
|
|
144
|
+
if (isTileflowZoomValue(value)) {
|
|
145
|
+
if (value.interpolation === "step") {
|
|
146
|
+
const [[, firstValue], ...rest] = value.stops;
|
|
147
|
+
return [
|
|
148
|
+
"step",
|
|
149
|
+
["zoom"],
|
|
150
|
+
cloneJson(firstValue),
|
|
151
|
+
...rest.flatMap(([stop, stopValue]) => [stop, cloneJson(stopValue)])
|
|
152
|
+
];
|
|
153
|
+
}
|
|
154
|
+
const interpolation = value.interpolation === "exponential" ? ["exponential", value.base] : [value.interpolation];
|
|
155
|
+
return [
|
|
156
|
+
"interpolate",
|
|
157
|
+
interpolation,
|
|
158
|
+
["zoom"],
|
|
159
|
+
...value.stops.flatMap(([stop, stopValue]) => [stop, cloneJson(stopValue)])
|
|
160
|
+
];
|
|
161
|
+
}
|
|
162
|
+
if (isTileflowThemeValueNode(value)) {
|
|
163
|
+
throw new Error("Tileflow theme values must be resolved before MapLibre style compilation.");
|
|
164
|
+
}
|
|
165
|
+
return cloneJson(value);
|
|
166
|
+
}
|
|
167
|
+
function isTileflowExpression(value) {
|
|
168
|
+
return isRecord(value) && value.kind === "expression" && Array.isArray(value.value);
|
|
169
|
+
}
|
|
170
|
+
function isTileflowZoomValue(value) {
|
|
171
|
+
return isRecord(value) && value.kind === "zoom" && Array.isArray(value.stops);
|
|
172
|
+
}
|
|
173
|
+
function isTileflowThemeValueNode(value) {
|
|
174
|
+
return isRecord(value) && (value.kind === "theme-token" || value.kind === "theme-fixed" || value.kind === "theme-color");
|
|
175
|
+
}
|
|
176
|
+
function cloneJson(value) {
|
|
177
|
+
const serialized = JSON.stringify(value);
|
|
178
|
+
if (serialized === void 0) {
|
|
179
|
+
throw new Error("Tileflow style values must be JSON-serializable.");
|
|
180
|
+
}
|
|
181
|
+
return JSON.parse(serialized);
|
|
182
|
+
}
|
|
183
|
+
function isRecord(value) {
|
|
184
|
+
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// src/modules/addresses/index.ts
|
|
188
|
+
function addresses(options = {}) {
|
|
189
|
+
return { type: "addresses", ...cloneJson2(options) };
|
|
190
|
+
}
|
|
191
|
+
function cloneJson2(value) {
|
|
192
|
+
return JSON.parse(JSON.stringify(value));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// src/modules/aeroways/index.ts
|
|
196
|
+
function aeroways(options = {}) {
|
|
197
|
+
return { type: "aeroways", ...cloneJson3(options) };
|
|
198
|
+
}
|
|
199
|
+
function cloneJson3(value) {
|
|
200
|
+
return JSON.parse(JSON.stringify(value));
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// src/modules/boundaries/index.ts
|
|
204
|
+
function boundaries(options = {}) {
|
|
205
|
+
return { type: "boundaries", ...cloneJson4(options) };
|
|
206
|
+
}
|
|
207
|
+
function cloneJson4(value) {
|
|
208
|
+
return JSON.parse(JSON.stringify(value));
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// src/modules/buildings/index.ts
|
|
212
|
+
function buildings(options = {}) {
|
|
213
|
+
return { type: "buildings", ...cloneJson5(options) };
|
|
214
|
+
}
|
|
215
|
+
function cloneJson5(value) {
|
|
216
|
+
return JSON.parse(JSON.stringify(value));
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// src/modules/roads/index.ts
|
|
220
|
+
var highwayRoadClasses = ["motorway", "trunk"];
|
|
221
|
+
var arterialRoadClasses = ["primary", "secondary", "tertiary"];
|
|
222
|
+
var majorRoadClasses = [...highwayRoadClasses, ...arterialRoadClasses];
|
|
223
|
+
var majorRoadClassSet = new Set(majorRoadClasses);
|
|
224
|
+
function roads(options = {}) {
|
|
225
|
+
return { type: "roads", ...cloneJson6(options) };
|
|
226
|
+
}
|
|
227
|
+
function cloneJson6(value) {
|
|
228
|
+
return JSON.parse(JSON.stringify(value));
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// src/modules/labels/index.ts
|
|
232
|
+
function labels(options = {}) {
|
|
233
|
+
return { type: "labels", ...cloneJson7(options) };
|
|
234
|
+
}
|
|
235
|
+
function cloneJson7(value) {
|
|
236
|
+
return JSON.parse(JSON.stringify(value));
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// src/modules/land/index.ts
|
|
240
|
+
function land(options = {}) {
|
|
241
|
+
return { type: "land", ...cloneJson8(options) };
|
|
242
|
+
}
|
|
243
|
+
function cloneJson8(value) {
|
|
244
|
+
return JSON.parse(JSON.stringify(value));
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// src/modules/landforms/index.ts
|
|
248
|
+
function landforms(options = {}) {
|
|
249
|
+
return { type: "landforms", ...cloneJson9(options) };
|
|
250
|
+
}
|
|
251
|
+
function cloneJson9(value) {
|
|
252
|
+
return JSON.parse(JSON.stringify(value));
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// src/modules/nautical/index.ts
|
|
256
|
+
function nautical(options = {}) {
|
|
257
|
+
return { type: "nautical", ...cloneJson10(options) };
|
|
258
|
+
}
|
|
259
|
+
function cloneJson10(value) {
|
|
260
|
+
return JSON.parse(JSON.stringify(value));
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// src/modules/poi/index.ts
|
|
264
|
+
var tileflowPoiImageRoles = Object.freeze({
|
|
265
|
+
"arts-entertainment": { fallback: "culture", token: "poi.arts-entertainment" },
|
|
266
|
+
education: { fallback: "education", token: "poi.education" },
|
|
267
|
+
"food-drink": { fallback: "food", token: "poi.food-drink" },
|
|
268
|
+
landmark: { fallback: "culture", token: "poi.landmark" },
|
|
269
|
+
lodging: { fallback: "lodging", token: "poi.lodging" },
|
|
270
|
+
medical: { fallback: "health", token: "poi.medical" },
|
|
271
|
+
"park-nature": { fallback: "services", token: "poi.park-nature" },
|
|
272
|
+
"public-services": { fallback: "services", token: "poi.public-services" },
|
|
273
|
+
religion: { fallback: "culture", token: "poi.religion" },
|
|
274
|
+
retail: { fallback: "shopping", token: "poi.retail" },
|
|
275
|
+
"sport-leisure": { fallback: "culture", token: "poi.sport-leisure" },
|
|
276
|
+
transport: { fallback: "major-transit", token: "poi.transport" },
|
|
277
|
+
"visitor-amenity": { fallback: "services", token: "poi.visitor-amenity" }
|
|
278
|
+
});
|
|
279
|
+
function poi(options = {}) {
|
|
280
|
+
return { type: "poi", ...cloneJson11(options) };
|
|
281
|
+
}
|
|
282
|
+
function cloneJson11(value) {
|
|
283
|
+
return JSON.parse(JSON.stringify(value));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// src/modules/transit/index.ts
|
|
287
|
+
function transit(options = {}) {
|
|
288
|
+
return { type: "transit", ...cloneJson12(options) };
|
|
289
|
+
}
|
|
290
|
+
function cloneJson12(value) {
|
|
291
|
+
return JSON.parse(JSON.stringify(value));
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// src/modules/vegetation/index.ts
|
|
295
|
+
function vegetation(options = {}) {
|
|
296
|
+
return { type: "vegetation", ...cloneJson13(options) };
|
|
297
|
+
}
|
|
298
|
+
function cloneJson13(value) {
|
|
299
|
+
return JSON.parse(JSON.stringify(value));
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
// src/modules/water/index.ts
|
|
303
|
+
function water(options = {}) {
|
|
304
|
+
return { type: "water", ...cloneJson14(options) };
|
|
305
|
+
}
|
|
306
|
+
function cloneJson14(value) {
|
|
307
|
+
return JSON.parse(JSON.stringify(value));
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// src/cartography/streets-recipe.ts
|
|
311
|
+
var tileflowStreetsDefaultModules = {
|
|
312
|
+
addresses: addresses(),
|
|
313
|
+
aeroways: aeroways(),
|
|
314
|
+
boundaries: boundaries(),
|
|
315
|
+
buildings: buildings(),
|
|
316
|
+
labels: labels(),
|
|
317
|
+
land: land(),
|
|
318
|
+
landforms: landforms(),
|
|
319
|
+
nautical: nautical(),
|
|
320
|
+
poi: poi({ icons: true }),
|
|
321
|
+
roads: roads({
|
|
322
|
+
modifiers: {
|
|
323
|
+
construction: {
|
|
324
|
+
surface: {
|
|
325
|
+
casing: { dash: [2, 1], opacity: 0.62 },
|
|
326
|
+
fill: { dash: [2, 1], opacity: 0.68 }
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
expressway: { widthScale: 1.06 },
|
|
330
|
+
indoor: {
|
|
331
|
+
surface: {
|
|
332
|
+
casing: { dash: [1, 1], opacity: 0.28 },
|
|
333
|
+
fill: { dash: [1, 1], opacity: 0.42 }
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
ramp: { widthScale: 0.72 },
|
|
337
|
+
unpaved: {
|
|
338
|
+
surface: {
|
|
339
|
+
casing: { dash: [2, 1], opacity: 0.72 },
|
|
340
|
+
fill: { dash: [2, 1], opacity: 0.82 }
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
restrictions: {
|
|
345
|
+
access: {
|
|
346
|
+
surface: {
|
|
347
|
+
casing: { dash: [1.5, 1], opacity: 0.48 },
|
|
348
|
+
fill: { dash: [1.5, 1], opacity: 0.52 }
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
serviceTypes: {
|
|
353
|
+
alley: { widthScale: 0.82 },
|
|
354
|
+
crossover: { widthScale: 0.62 },
|
|
355
|
+
driveway: { widthScale: 0.76 },
|
|
356
|
+
parkingAisle: { widthScale: 0.62 },
|
|
357
|
+
yard: { widthScale: 0.7 }
|
|
358
|
+
}
|
|
359
|
+
}),
|
|
360
|
+
transit: transit(),
|
|
361
|
+
vegetation: vegetation({ mode: "3d" }),
|
|
362
|
+
water: water()
|
|
363
|
+
};
|
|
364
|
+
var tileflowStreetsRecipe = Object.freeze({
|
|
365
|
+
id: "streets",
|
|
366
|
+
version: 1,
|
|
367
|
+
modules: Object.freeze(tileflowStreetsDefaultModules)
|
|
368
|
+
});
|
|
369
|
+
var tileflowStreetsModuleNames = Object.freeze(
|
|
370
|
+
Object.keys(tileflowStreetsDefaultModules).sort()
|
|
371
|
+
);
|
|
372
|
+
|
|
373
|
+
// src/cartography/module-effects.ts
|
|
374
|
+
var tileflowModuleEffects = /* @__PURE__ */ Symbol.for("@tileflow/core/module-effects/v1");
|
|
375
|
+
function semanticField(name) {
|
|
376
|
+
return { kind: "tileflow-semantic-field", name };
|
|
377
|
+
}
|
|
378
|
+
function semanticLayer(name) {
|
|
379
|
+
return { kind: "tileflow-semantic-layer", name };
|
|
380
|
+
}
|
|
381
|
+
function patchModuleLayer(owner, target, patch, options = {}) {
|
|
382
|
+
return {
|
|
383
|
+
kind: "patch",
|
|
384
|
+
owner: requireModuleOwner(owner),
|
|
385
|
+
patch: cloneJson15(patch),
|
|
386
|
+
...options.requires ? { requires: options.requires.map(requireLayerDomain) } : {},
|
|
387
|
+
target: requireTarget(owner, target)
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
function addModuleLayer(owner, target, layer, placement, options = {}) {
|
|
391
|
+
const semanticPlacement = "before" in placement ? { before: requireTarget(owner, placement.before) } : { after: requireTarget(owner, placement.after) };
|
|
392
|
+
return {
|
|
393
|
+
kind: "add",
|
|
394
|
+
layer: cloneJson15(layer),
|
|
395
|
+
owner: requireModuleOwner(owner),
|
|
396
|
+
placement: semanticPlacement,
|
|
397
|
+
...options.requires ? { requires: options.requires.map(requireLayerDomain) } : {},
|
|
398
|
+
target: requireTarget(owner, target)
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
function removeModuleLayer(owner, target, options = {}) {
|
|
402
|
+
return {
|
|
403
|
+
kind: "remove",
|
|
404
|
+
owner: requireModuleOwner(owner),
|
|
405
|
+
...options.requires ? { requires: options.requires.map(requireLayerDomain) } : {},
|
|
406
|
+
target: requireTarget(owner, target)
|
|
407
|
+
};
|
|
408
|
+
}
|
|
409
|
+
function internalModuleEffects(effects) {
|
|
410
|
+
return { [tileflowModuleEffects]: effects.map(cloneJson15) };
|
|
411
|
+
}
|
|
412
|
+
function getResolvedModuleEffects(input) {
|
|
413
|
+
return input[tileflowModuleEffects] ?? [];
|
|
414
|
+
}
|
|
415
|
+
function requireModuleOwner(owner) {
|
|
416
|
+
if (!tileflowStreetsModuleNames.includes(owner)) {
|
|
417
|
+
throw new Error(`Unknown Tileflow module effect owner: ${String(owner)}`);
|
|
418
|
+
}
|
|
419
|
+
return owner;
|
|
420
|
+
}
|
|
421
|
+
function requireLayerDomain(domain) {
|
|
422
|
+
if (!tileflowLayerDomains.includes(domain)) {
|
|
423
|
+
throw new Error(`Unknown Tileflow layer domain: ${String(domain)}`);
|
|
424
|
+
}
|
|
425
|
+
return domain;
|
|
426
|
+
}
|
|
427
|
+
function requireTarget(owner, target) {
|
|
428
|
+
if (!tileflowLayerTargetPattern.test(target)) {
|
|
429
|
+
throw new Error(`Tileflow module effect requires a portable semantic target: ${target}`);
|
|
430
|
+
}
|
|
431
|
+
if (target !== owner && !target.startsWith(`${owner}.`)) {
|
|
432
|
+
throw new Error(`Tileflow module effect target ${target} must belong to owner ${owner}.`);
|
|
433
|
+
}
|
|
434
|
+
return target;
|
|
435
|
+
}
|
|
436
|
+
function cloneJson15(value) {
|
|
437
|
+
return JSON.parse(JSON.stringify(value));
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
// src/themes/visual-semantics.ts
|
|
441
|
+
var visualNumberProperties = /* @__PURE__ */ new Set([
|
|
442
|
+
"angle",
|
|
443
|
+
"base",
|
|
444
|
+
"blur",
|
|
445
|
+
"crownScale",
|
|
446
|
+
"dash",
|
|
447
|
+
"exaggeration",
|
|
448
|
+
"fadeDuration",
|
|
449
|
+
"gapWidth",
|
|
450
|
+
"haloBlur",
|
|
451
|
+
"haloWidth",
|
|
452
|
+
"height",
|
|
453
|
+
"heightScale",
|
|
454
|
+
"illuminationDirection",
|
|
455
|
+
"intensity",
|
|
456
|
+
"letterSpacing",
|
|
457
|
+
"lineHeight",
|
|
458
|
+
"maxAngle",
|
|
459
|
+
"maxWidth",
|
|
460
|
+
"miterLimit",
|
|
461
|
+
"offset",
|
|
462
|
+
"opacity",
|
|
463
|
+
"padding",
|
|
464
|
+
"patternWidths",
|
|
465
|
+
"radius",
|
|
466
|
+
"radialOffset",
|
|
467
|
+
"rotate",
|
|
468
|
+
"roundLimit",
|
|
469
|
+
"size",
|
|
470
|
+
"spacing",
|
|
471
|
+
"strokeOpacity",
|
|
472
|
+
"strokeWidth",
|
|
473
|
+
"textFitPadding",
|
|
474
|
+
"translate",
|
|
475
|
+
"width",
|
|
476
|
+
"widthScale",
|
|
477
|
+
"background-emissive-strength",
|
|
478
|
+
"background-opacity",
|
|
479
|
+
"circle-blur",
|
|
480
|
+
"circle-emissive-strength",
|
|
481
|
+
"circle-opacity",
|
|
482
|
+
"circle-radius",
|
|
483
|
+
"circle-stroke-opacity",
|
|
484
|
+
"circle-stroke-width",
|
|
485
|
+
"circle-translate",
|
|
486
|
+
"color-relief-opacity",
|
|
487
|
+
"fill-emissive-strength",
|
|
488
|
+
"fill-extrusion-ambient-occlusion-ground-attenuation",
|
|
489
|
+
"fill-extrusion-ambient-occlusion-ground-radius",
|
|
490
|
+
"fill-extrusion-ambient-occlusion-intensity",
|
|
491
|
+
"fill-extrusion-ambient-occlusion-radius",
|
|
492
|
+
"fill-extrusion-base",
|
|
493
|
+
"fill-extrusion-emissive-strength",
|
|
494
|
+
"fill-extrusion-flood-light-ground-attenuation",
|
|
495
|
+
"fill-extrusion-flood-light-ground-radius",
|
|
496
|
+
"fill-extrusion-flood-light-intensity",
|
|
497
|
+
"fill-extrusion-flood-light-wall-radius",
|
|
498
|
+
"fill-extrusion-height",
|
|
499
|
+
"fill-extrusion-opacity",
|
|
500
|
+
"fill-extrusion-translate",
|
|
501
|
+
"fill-extrusion-vertical-scale",
|
|
502
|
+
"fill-opacity",
|
|
503
|
+
"fill-translate",
|
|
504
|
+
"heatmap-intensity",
|
|
505
|
+
"heatmap-opacity",
|
|
506
|
+
"heatmap-radius",
|
|
507
|
+
"heatmap-weight",
|
|
508
|
+
"hillshade-exaggeration",
|
|
509
|
+
"hillshade-emissive-strength",
|
|
510
|
+
"hillshade-illumination-direction",
|
|
511
|
+
"icon-emissive-strength",
|
|
512
|
+
"icon-halo-blur",
|
|
513
|
+
"icon-halo-width",
|
|
514
|
+
"icon-opacity",
|
|
515
|
+
"icon-occlusion-opacity",
|
|
516
|
+
"icon-offset",
|
|
517
|
+
"icon-padding",
|
|
518
|
+
"icon-size",
|
|
519
|
+
"icon-text-fit-padding",
|
|
520
|
+
"icon-translate",
|
|
521
|
+
"line-blur",
|
|
522
|
+
"line-dasharray",
|
|
523
|
+
"line-emissive-strength",
|
|
524
|
+
"line-gap-width",
|
|
525
|
+
"line-miter-limit",
|
|
526
|
+
"line-opacity",
|
|
527
|
+
"line-offset",
|
|
528
|
+
"line-round-limit",
|
|
529
|
+
"line-translate",
|
|
530
|
+
"line-width",
|
|
531
|
+
"raster-brightness-max",
|
|
532
|
+
"raster-brightness-min",
|
|
533
|
+
"raster-contrast",
|
|
534
|
+
"raster-emissive-strength",
|
|
535
|
+
"raster-fade-duration",
|
|
536
|
+
"raster-hue-rotate",
|
|
537
|
+
"raster-opacity",
|
|
538
|
+
"raster-saturation",
|
|
539
|
+
"text-emissive-strength",
|
|
540
|
+
"text-halo-blur",
|
|
541
|
+
"text-halo-width",
|
|
542
|
+
"text-letter-spacing",
|
|
543
|
+
"text-line-height",
|
|
544
|
+
"text-max-angle",
|
|
545
|
+
"text-max-width",
|
|
546
|
+
"text-offset",
|
|
547
|
+
"text-occlusion-opacity",
|
|
548
|
+
"text-opacity",
|
|
549
|
+
"text-padding",
|
|
550
|
+
"text-radial-offset",
|
|
551
|
+
"text-rotate",
|
|
552
|
+
"text-size",
|
|
553
|
+
"text-translate",
|
|
554
|
+
"symbol-spacing"
|
|
555
|
+
]);
|
|
556
|
+
function classifyTileflowVisualProperty(property, value) {
|
|
557
|
+
if (property === "color" || property === "colors" || property.endsWith("Color") || property.endsWith("Colors") || property.endsWith("-color") || property.endsWith("-colors")) {
|
|
558
|
+
return "color";
|
|
559
|
+
}
|
|
560
|
+
if (property === "font" || property === "fallbacks" || property.endsWith("-font")) return "font";
|
|
561
|
+
if (property === "image" || property === "pattern" || property.endsWith("-image") || property.endsWith("-pattern")) {
|
|
562
|
+
return "image";
|
|
563
|
+
}
|
|
564
|
+
return visualNumberProperties.has(property) ? "number" : void 0;
|
|
565
|
+
}
|
|
566
|
+
export {
|
|
567
|
+
addModuleLayer,
|
|
568
|
+
classifyTileflowVisualProperty,
|
|
569
|
+
internalModuleEffects as defineModuleEffects,
|
|
570
|
+
getResolvedModuleEffects,
|
|
571
|
+
isMapLibreExpressionOperator,
|
|
572
|
+
patchModuleLayer,
|
|
573
|
+
removeModuleLayer,
|
|
574
|
+
semanticField,
|
|
575
|
+
semanticLayer,
|
|
576
|
+
toMapLibreStyleValue
|
|
577
|
+
};
|