@tileflow/core 0.1.0-alpha.1 → 0.1.0-alpha.3

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.
Files changed (2) hide show
  1. package/dist/index.js +2763 -27
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,3 +1,2565 @@
1
+ // ../../apps/web/public/openmaptiles-osm-bright-style/style.json
2
+ var style_default = {
3
+ version: 8,
4
+ name: "Bright",
5
+ metadata: {
6
+ "mapbox:autocomposite": false,
7
+ "mapbox:groups": {
8
+ "1444849242106.713": { collapsed: false, name: "Places" },
9
+ "1444849334699.1902": { collapsed: true, name: "Bridges" },
10
+ "1444849345966.4436": { collapsed: false, name: "Roads" },
11
+ "1444849354174.1904": { collapsed: true, name: "Tunnels" },
12
+ "1444849364238.8171": { collapsed: false, name: "Buildings" },
13
+ "1444849382550.77": { collapsed: false, name: "Water" },
14
+ "1444849388993.3071": { collapsed: false, name: "Land" }
15
+ },
16
+ "mapbox:type": "template",
17
+ "openmaptiles:mapbox:owner": "openmaptiles",
18
+ "openmaptiles:mapbox:source:url": "mapbox://openmaptiles.4qljc88t",
19
+ "openmaptiles:version": "3.x"
20
+ },
21
+ center: [0, 0],
22
+ zoom: 1,
23
+ bearing: 0,
24
+ pitch: 0,
25
+ sources: {
26
+ openmaptiles: {
27
+ type: "vector",
28
+ url: "https://api.maptiler.com/tiles/v3-openmaptiles/tiles.json?key={key}"
29
+ }
30
+ },
31
+ sprite: "https://openmaptiles.github.io/osm-bright-gl-style/sprite",
32
+ glyphs: "https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key={key}",
33
+ layers: [
34
+ {
35
+ id: "background",
36
+ type: "background",
37
+ paint: { "background-color": "#f8f4f0" }
38
+ },
39
+ {
40
+ id: "landcover-glacier",
41
+ type: "fill",
42
+ metadata: { "mapbox:group": "1444849388993.3071" },
43
+ source: "openmaptiles",
44
+ "source-layer": "landcover",
45
+ filter: ["==", "subclass", "glacier"],
46
+ layout: { visibility: "visible" },
47
+ paint: {
48
+ "fill-color": "#fff",
49
+ "fill-opacity": { base: 1, stops: [[0, 0.9], [10, 0.3]] }
50
+ }
51
+ },
52
+ {
53
+ id: "landuse-residential",
54
+ type: "fill",
55
+ metadata: { "mapbox:group": "1444849388993.3071" },
56
+ source: "openmaptiles",
57
+ "source-layer": "landuse",
58
+ filter: [
59
+ "all",
60
+ ["in", "class", "residential", "suburb", "neighbourhood"]
61
+ ],
62
+ layout: { visibility: "visible" },
63
+ paint: {
64
+ "fill-color": {
65
+ base: 1,
66
+ stops: [
67
+ [12, "hsla(30, 19%, 90%, 0.4)"],
68
+ [16, "hsla(30, 19%, 90%, 0.2)"]
69
+ ]
70
+ }
71
+ }
72
+ },
73
+ {
74
+ id: "landuse-commercial",
75
+ type: "fill",
76
+ metadata: { "mapbox:group": "1444849388993.3071" },
77
+ source: "openmaptiles",
78
+ "source-layer": "landuse",
79
+ filter: [
80
+ "all",
81
+ ["==", "$type", "Polygon"],
82
+ ["==", "class", "commercial"]
83
+ ],
84
+ layout: { visibility: "visible" },
85
+ paint: { "fill-color": "hsla(0, 60%, 87%, 0.23)" }
86
+ },
87
+ {
88
+ id: "landuse-industrial",
89
+ type: "fill",
90
+ source: "openmaptiles",
91
+ "source-layer": "landuse",
92
+ filter: [
93
+ "all",
94
+ ["==", "$type", "Polygon"],
95
+ ["in", "class", "industrial", "garages", "dam"]
96
+ ],
97
+ layout: { visibility: "visible" },
98
+ paint: { "fill-color": "hsla(49, 100%, 88%, 0.34)" }
99
+ },
100
+ {
101
+ id: "landuse-cemetery",
102
+ type: "fill",
103
+ metadata: { "mapbox:group": "1444849388993.3071" },
104
+ source: "openmaptiles",
105
+ "source-layer": "landuse",
106
+ filter: ["==", "class", "cemetery"],
107
+ paint: { "fill-color": "#e0e4dd" }
108
+ },
109
+ {
110
+ id: "landuse-hospital",
111
+ type: "fill",
112
+ metadata: { "mapbox:group": "1444849388993.3071" },
113
+ source: "openmaptiles",
114
+ "source-layer": "landuse",
115
+ filter: ["==", "class", "hospital"],
116
+ paint: { "fill-color": "#fde" }
117
+ },
118
+ {
119
+ id: "landuse-school",
120
+ type: "fill",
121
+ metadata: { "mapbox:group": "1444849388993.3071" },
122
+ source: "openmaptiles",
123
+ "source-layer": "landuse",
124
+ filter: ["==", "class", "school"],
125
+ paint: { "fill-color": "#f0e8f8" }
126
+ },
127
+ {
128
+ id: "landuse-railway",
129
+ type: "fill",
130
+ metadata: { "mapbox:group": "1444849388993.3071" },
131
+ source: "openmaptiles",
132
+ "source-layer": "landuse",
133
+ filter: ["==", "class", "railway"],
134
+ layout: { visibility: "visible" },
135
+ paint: { "fill-color": "hsla(30, 19%, 90%, 0.4)" }
136
+ },
137
+ {
138
+ id: "landcover-wood",
139
+ type: "fill",
140
+ metadata: { "mapbox:group": "1444849388993.3071" },
141
+ source: "openmaptiles",
142
+ "source-layer": "landcover",
143
+ filter: ["==", "class", "wood"],
144
+ paint: {
145
+ "fill-antialias": { base: 1, stops: [[0, false], [9, true]] },
146
+ "fill-color": "#6a4",
147
+ "fill-opacity": 0.1,
148
+ "fill-outline-color": "hsla(0, 0%, 0%, 0.03)"
149
+ }
150
+ },
151
+ {
152
+ id: "landcover-grass",
153
+ type: "fill",
154
+ metadata: { "mapbox:group": "1444849388993.3071" },
155
+ source: "openmaptiles",
156
+ "source-layer": "landcover",
157
+ filter: ["==", "class", "grass"],
158
+ paint: { "fill-color": "#d8e8c8", "fill-opacity": 1 }
159
+ },
160
+ {
161
+ id: "landcover-grass-park",
162
+ type: "fill",
163
+ metadata: { "mapbox:group": "1444849388993.3071" },
164
+ source: "openmaptiles",
165
+ "source-layer": "park",
166
+ filter: ["==", "class", "public_park"],
167
+ paint: { "fill-color": "#d8e8c8", "fill-opacity": 0.8 }
168
+ },
169
+ {
170
+ id: "waterway_tunnel",
171
+ type: "line",
172
+ source: "openmaptiles",
173
+ "source-layer": "waterway",
174
+ minzoom: 14,
175
+ filter: [
176
+ "all",
177
+ ["in", "class", "river", "stream", "canal"],
178
+ ["==", "brunnel", "tunnel"]
179
+ ],
180
+ layout: { "line-cap": "round", visibility: "visible" },
181
+ paint: {
182
+ "line-color": "#a0c8f0",
183
+ "line-dasharray": [2, 4],
184
+ "line-width": { base: 1.3, stops: [[13, 0.5], [20, 6]] }
185
+ }
186
+ },
187
+ {
188
+ id: "waterway-other",
189
+ type: "line",
190
+ metadata: { "mapbox:group": "1444849382550.77" },
191
+ source: "openmaptiles",
192
+ "source-layer": "waterway",
193
+ filter: [
194
+ "all",
195
+ ["!in", "class", "canal", "river", "stream"],
196
+ ["==", "intermittent", 0]
197
+ ],
198
+ layout: { "line-cap": "round", visibility: "visible" },
199
+ paint: {
200
+ "line-color": "#a0c8f0",
201
+ "line-width": { base: 1.3, stops: [[13, 0.5], [20, 2]] }
202
+ }
203
+ },
204
+ {
205
+ id: "waterway-other-intermittent",
206
+ type: "line",
207
+ metadata: { "mapbox:group": "1444849382550.77" },
208
+ source: "openmaptiles",
209
+ "source-layer": "waterway",
210
+ filter: [
211
+ "all",
212
+ ["!in", "class", "canal", "river", "stream"],
213
+ ["==", "intermittent", 1]
214
+ ],
215
+ layout: { "line-cap": "round", visibility: "visible" },
216
+ paint: {
217
+ "line-color": "#a0c8f0",
218
+ "line-dasharray": [4, 3],
219
+ "line-width": { base: 1.3, stops: [[13, 0.5], [20, 2]] }
220
+ }
221
+ },
222
+ {
223
+ id: "waterway-stream-canal",
224
+ type: "line",
225
+ metadata: { "mapbox:group": "1444849382550.77" },
226
+ source: "openmaptiles",
227
+ "source-layer": "waterway",
228
+ filter: [
229
+ "all",
230
+ ["in", "class", "canal", "stream"],
231
+ ["!=", "brunnel", "tunnel"],
232
+ ["==", "intermittent", 0]
233
+ ],
234
+ layout: { "line-cap": "round", visibility: "visible" },
235
+ paint: {
236
+ "line-color": "#a0c8f0",
237
+ "line-width": { base: 1.3, stops: [[13, 0.5], [20, 6]] }
238
+ }
239
+ },
240
+ {
241
+ id: "waterway-stream-canal-intermittent",
242
+ type: "line",
243
+ metadata: { "mapbox:group": "1444849382550.77" },
244
+ source: "openmaptiles",
245
+ "source-layer": "waterway",
246
+ filter: [
247
+ "all",
248
+ ["in", "class", "canal", "stream"],
249
+ ["!=", "brunnel", "tunnel"],
250
+ ["==", "intermittent", 1]
251
+ ],
252
+ layout: { "line-cap": "round", visibility: "visible" },
253
+ paint: {
254
+ "line-color": "#a0c8f0",
255
+ "line-dasharray": [4, 3],
256
+ "line-width": { base: 1.3, stops: [[13, 0.5], [20, 6]] }
257
+ }
258
+ },
259
+ {
260
+ id: "waterway-river",
261
+ type: "line",
262
+ metadata: { "mapbox:group": "1444849382550.77" },
263
+ source: "openmaptiles",
264
+ "source-layer": "waterway",
265
+ filter: [
266
+ "all",
267
+ ["==", "class", "river"],
268
+ ["!=", "brunnel", "tunnel"],
269
+ ["==", "intermittent", 0]
270
+ ],
271
+ layout: { "line-cap": "round", visibility: "visible" },
272
+ paint: {
273
+ "line-color": "#a0c8f0",
274
+ "line-width": { base: 1.2, stops: [[10, 0.8], [20, 6]] }
275
+ }
276
+ },
277
+ {
278
+ id: "waterway-river-intermittent",
279
+ type: "line",
280
+ metadata: { "mapbox:group": "1444849382550.77" },
281
+ source: "openmaptiles",
282
+ "source-layer": "waterway",
283
+ filter: [
284
+ "all",
285
+ ["==", "class", "river"],
286
+ ["!=", "brunnel", "tunnel"],
287
+ ["==", "intermittent", 1]
288
+ ],
289
+ layout: { "line-cap": "round", visibility: "visible" },
290
+ paint: {
291
+ "line-color": "#a0c8f0",
292
+ "line-dasharray": [3, 2.5],
293
+ "line-width": { base: 1.2, stops: [[10, 0.8], [20, 6]] }
294
+ }
295
+ },
296
+ {
297
+ id: "water-offset",
298
+ type: "fill",
299
+ metadata: { "mapbox:group": "1444849382550.77" },
300
+ source: "openmaptiles",
301
+ "source-layer": "water",
302
+ maxzoom: 8,
303
+ filter: ["==", "$type", "Polygon"],
304
+ layout: { visibility: "visible" },
305
+ paint: {
306
+ "fill-color": "#a0c8f0",
307
+ "fill-opacity": 1,
308
+ "fill-translate": { base: 1, stops: [[6, [2, 0]], [8, [0, 0]]] }
309
+ }
310
+ },
311
+ {
312
+ id: "water",
313
+ type: "fill",
314
+ metadata: { "mapbox:group": "1444849382550.77" },
315
+ source: "openmaptiles",
316
+ "source-layer": "water",
317
+ filter: ["all", ["!=", "intermittent", 1], ["!=", "brunnel", "tunnel"]],
318
+ layout: { visibility: "visible" },
319
+ paint: { "fill-color": "hsl(210, 67%, 85%)" }
320
+ },
321
+ {
322
+ id: "water-intermittent",
323
+ type: "fill",
324
+ metadata: { "mapbox:group": "1444849382550.77" },
325
+ source: "openmaptiles",
326
+ "source-layer": "water",
327
+ filter: ["all", ["==", "intermittent", 1]],
328
+ layout: { visibility: "visible" },
329
+ paint: { "fill-color": "hsl(210, 67%, 85%)", "fill-opacity": 0.7 }
330
+ },
331
+ {
332
+ id: "water-pattern",
333
+ type: "fill",
334
+ metadata: { "mapbox:group": "1444849382550.77" },
335
+ source: "openmaptiles",
336
+ "source-layer": "water",
337
+ filter: ["all"],
338
+ layout: { visibility: "visible" },
339
+ paint: { "fill-pattern": "wave", "fill-translate": [0, 2.5] }
340
+ },
341
+ {
342
+ id: "landcover-ice-shelf",
343
+ type: "fill",
344
+ metadata: { "mapbox:group": "1444849382550.77" },
345
+ source: "openmaptiles",
346
+ "source-layer": "landcover",
347
+ filter: ["==", "subclass", "ice_shelf"],
348
+ layout: { visibility: "visible" },
349
+ paint: {
350
+ "fill-color": "#fff",
351
+ "fill-opacity": { base: 1, stops: [[0, 0.9], [10, 0.3]] }
352
+ }
353
+ },
354
+ {
355
+ id: "landcover-sand",
356
+ type: "fill",
357
+ metadata: { "mapbox:group": "1444849382550.77" },
358
+ source: "openmaptiles",
359
+ "source-layer": "landcover",
360
+ filter: ["==", "class", "sand"],
361
+ layout: { visibility: "visible" },
362
+ paint: { "fill-color": "rgba(245, 238, 188, 1)", "fill-opacity": 1 }
363
+ },
364
+ {
365
+ id: "building",
366
+ type: "fill",
367
+ metadata: { "mapbox:group": "1444849364238.8171" },
368
+ source: "openmaptiles",
369
+ "source-layer": "building",
370
+ paint: {
371
+ "fill-antialias": true,
372
+ "fill-color": { base: 1, stops: [[15.5, "#f2eae2"], [16, "#dfdbd7"]] }
373
+ }
374
+ },
375
+ {
376
+ id: "building-top",
377
+ type: "fill",
378
+ metadata: { "mapbox:group": "1444849364238.8171" },
379
+ source: "openmaptiles",
380
+ "source-layer": "building",
381
+ layout: { visibility: "visible" },
382
+ paint: {
383
+ "fill-color": "#f2eae2",
384
+ "fill-opacity": { base: 1, stops: [[13, 0], [16, 1]] },
385
+ "fill-outline-color": "#dfdbd7",
386
+ "fill-translate": { base: 1, stops: [[14, [0, 0]], [16, [-2, -2]]] }
387
+ }
388
+ },
389
+ {
390
+ id: "tunnel-service-track-casing",
391
+ type: "line",
392
+ metadata: { "mapbox:group": "1444849354174.1904" },
393
+ source: "openmaptiles",
394
+ "source-layer": "transportation",
395
+ filter: [
396
+ "all",
397
+ ["==", "brunnel", "tunnel"],
398
+ ["in", "class", "service", "track"]
399
+ ],
400
+ layout: { "line-join": "round" },
401
+ paint: {
402
+ "line-color": "#cfcdca",
403
+ "line-dasharray": [0.5, 0.25],
404
+ "line-width": { base: 1.2, stops: [[15, 1], [16, 4], [20, 11]] }
405
+ }
406
+ },
407
+ {
408
+ id: "tunnel-motorway-link-casing",
409
+ type: "line",
410
+ metadata: { "mapbox:group": "1444849354174.1904" },
411
+ source: "openmaptiles",
412
+ "source-layer": "transportation",
413
+ filter: [
414
+ "all",
415
+ ["==", "brunnel", "tunnel"],
416
+ ["==", "class", "motorway"],
417
+ ["==", "ramp", 1]
418
+ ],
419
+ layout: { "line-join": "round", visibility: "visible" },
420
+ paint: {
421
+ "line-color": "rgba(200, 147, 102, 1)",
422
+ "line-dasharray": [0.5, 0.25],
423
+ "line-width": {
424
+ base: 1.2,
425
+ stops: [[12, 1], [13, 3], [14, 4], [20, 15]]
426
+ }
427
+ }
428
+ },
429
+ {
430
+ id: "tunnel-minor-casing",
431
+ type: "line",
432
+ metadata: { "mapbox:group": "1444849354174.1904" },
433
+ source: "openmaptiles",
434
+ "source-layer": "transportation",
435
+ filter: ["all", ["==", "brunnel", "tunnel"], ["==", "class", "minor"]],
436
+ layout: { "line-join": "round" },
437
+ paint: {
438
+ "line-color": "#cfcdca",
439
+ "line-opacity": { stops: [[12, 0], [12.5, 1]] },
440
+ "line-width": {
441
+ base: 1.2,
442
+ stops: [[12, 0.5], [13, 1], [14, 4], [20, 15]]
443
+ },
444
+ "line-dasharray": [0.5, 0.25]
445
+ }
446
+ },
447
+ {
448
+ id: "tunnel-link-casing",
449
+ type: "line",
450
+ metadata: { "mapbox:group": "1444849354174.1904" },
451
+ source: "openmaptiles",
452
+ "source-layer": "transportation",
453
+ filter: [
454
+ "all",
455
+ ["==", "brunnel", "tunnel"],
456
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
457
+ ["==", "ramp", 1]
458
+ ],
459
+ layout: { "line-join": "round" },
460
+ paint: {
461
+ "line-color": "#e9ac77",
462
+ "line-opacity": 1,
463
+ "line-width": {
464
+ base: 1.2,
465
+ stops: [[12, 1], [13, 3], [14, 4], [20, 15]]
466
+ },
467
+ "line-dasharray": [0.5, 0.25]
468
+ }
469
+ },
470
+ {
471
+ id: "tunnel-secondary-tertiary-casing",
472
+ type: "line",
473
+ metadata: { "mapbox:group": "1444849354174.1904" },
474
+ source: "openmaptiles",
475
+ "source-layer": "transportation",
476
+ filter: [
477
+ "all",
478
+ ["==", "brunnel", "tunnel"],
479
+ ["in", "class", "secondary", "tertiary"],
480
+ ["!=", "ramp", 1]
481
+ ],
482
+ layout: { "line-join": "round" },
483
+ paint: {
484
+ "line-color": "#e9ac77",
485
+ "line-opacity": 1,
486
+ "line-width": { base: 1.2, stops: [[8, 1.5], [20, 17]] },
487
+ "line-dasharray": [0.5, 0.25]
488
+ }
489
+ },
490
+ {
491
+ id: "tunnel-trunk-primary-casing",
492
+ type: "line",
493
+ metadata: { "mapbox:group": "1444849354174.1904" },
494
+ source: "openmaptiles",
495
+ "source-layer": "transportation",
496
+ filter: [
497
+ "all",
498
+ ["==", "brunnel", "tunnel"],
499
+ ["in", "class", "primary", "trunk"],
500
+ ["!=", "ramp", 1]
501
+ ],
502
+ layout: { "line-join": "round" },
503
+ paint: {
504
+ "line-color": "#e9ac77",
505
+ "line-width": {
506
+ base: 1.2,
507
+ stops: [[5, 0.4], [6, 0.6], [7, 1.5], [20, 22]]
508
+ }
509
+ }
510
+ },
511
+ {
512
+ id: "tunnel-motorway-casing",
513
+ type: "line",
514
+ metadata: { "mapbox:group": "1444849354174.1904" },
515
+ source: "openmaptiles",
516
+ "source-layer": "transportation",
517
+ filter: [
518
+ "all",
519
+ ["==", "brunnel", "tunnel"],
520
+ ["==", "class", "motorway"],
521
+ ["!=", "ramp", 1]
522
+ ],
523
+ layout: { "line-join": "round", visibility: "visible" },
524
+ paint: {
525
+ "line-color": "#e9ac77",
526
+ "line-dasharray": [0.5, 0.25],
527
+ "line-width": {
528
+ base: 1.2,
529
+ stops: [[5, 0.4], [6, 0.6], [7, 1.5], [20, 22]]
530
+ }
531
+ }
532
+ },
533
+ {
534
+ id: "tunnel-path-steps-casing",
535
+ type: "line",
536
+ source: "openmaptiles",
537
+ "source-layer": "transportation",
538
+ filter: [
539
+ "all",
540
+ ["==", "$type", "LineString"],
541
+ ["==", "brunnel", "tunnel"],
542
+ ["==", "class", "path"],
543
+ ["==", "subclass", "steps"]
544
+ ],
545
+ layout: { "line-cap": "butt", "line-join": "round" },
546
+ paint: {
547
+ "line-color": "#cfcdca",
548
+ "line-opacity": { stops: [[12, 0], [12.5, 1]] },
549
+ "line-width": {
550
+ base: 1.2,
551
+ stops: [[12, 0.5], [13, 1], [14, 2], [20, 9.25]]
552
+ },
553
+ "line-dasharray": [0.5, 0.25]
554
+ }
555
+ },
556
+ {
557
+ id: "tunnel-path-steps",
558
+ type: "line",
559
+ source: "openmaptiles",
560
+ "source-layer": "transportation",
561
+ filter: [
562
+ "all",
563
+ ["==", "$type", "LineString"],
564
+ ["==", "brunnel", "tunnel"],
565
+ ["==", "class", "path"],
566
+ ["==", "subclass", "steps"]
567
+ ],
568
+ layout: { "line-join": "bevel", "line-cap": "butt" },
569
+ paint: {
570
+ "line-color": "#fff",
571
+ "line-opacity": 1,
572
+ "line-width": {
573
+ base: 1.2,
574
+ stops: [[13.5, 0], [14, 1.25], [20, 5.75]]
575
+ },
576
+ "line-dasharray": [0.5, 0.25]
577
+ }
578
+ },
579
+ {
580
+ id: "tunnel-path",
581
+ type: "line",
582
+ metadata: { "mapbox:group": "1444849354174.1904" },
583
+ source: "openmaptiles",
584
+ "source-layer": "transportation",
585
+ filter: [
586
+ "all",
587
+ ["==", "$type", "LineString"],
588
+ ["==", "brunnel", "tunnel"],
589
+ ["==", "class", "path"],
590
+ ["!=", "subclass", "steps"]
591
+ ],
592
+ paint: {
593
+ "line-color": "#cba",
594
+ "line-dasharray": [1.5, 0.75],
595
+ "line-width": { base: 1.2, stops: [[15, 1.2], [20, 4]] }
596
+ }
597
+ },
598
+ {
599
+ id: "tunnel-motorway-link",
600
+ type: "line",
601
+ metadata: { "mapbox:group": "1444849354174.1904" },
602
+ source: "openmaptiles",
603
+ "source-layer": "transportation",
604
+ filter: [
605
+ "all",
606
+ ["==", "brunnel", "tunnel"],
607
+ ["==", "class", "motorway"],
608
+ ["==", "ramp", 1]
609
+ ],
610
+ layout: { "line-join": "round", visibility: "visible" },
611
+ paint: {
612
+ "line-color": "rgba(244, 209, 158, 1)",
613
+ "line-width": {
614
+ base: 1.2,
615
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
616
+ }
617
+ }
618
+ },
619
+ {
620
+ id: "tunnel-service-track",
621
+ type: "line",
622
+ metadata: { "mapbox:group": "1444849354174.1904" },
623
+ source: "openmaptiles",
624
+ "source-layer": "transportation",
625
+ filter: [
626
+ "all",
627
+ ["==", "brunnel", "tunnel"],
628
+ ["in", "class", "service", "track"]
629
+ ],
630
+ layout: { "line-join": "round" },
631
+ paint: {
632
+ "line-color": "#fff",
633
+ "line-width": { base: 1.2, stops: [[15.5, 0], [16, 2], [20, 7.5]] }
634
+ }
635
+ },
636
+ {
637
+ id: "tunnel-link",
638
+ type: "line",
639
+ metadata: { "mapbox:group": "1444849354174.1904" },
640
+ source: "openmaptiles",
641
+ "source-layer": "transportation",
642
+ filter: [
643
+ "all",
644
+ ["==", "brunnel", "tunnel"],
645
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
646
+ ["==", "ramp", 1]
647
+ ],
648
+ layout: { "line-join": "round" },
649
+ paint: {
650
+ "line-color": "#fff4c6",
651
+ "line-width": {
652
+ base: 1.2,
653
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
654
+ }
655
+ }
656
+ },
657
+ {
658
+ id: "tunnel-minor",
659
+ type: "line",
660
+ metadata: { "mapbox:group": "1444849354174.1904" },
661
+ source: "openmaptiles",
662
+ "source-layer": "transportation",
663
+ filter: ["all", ["==", "brunnel", "tunnel"], ["==", "class", "minor"]],
664
+ layout: { "line-join": "round" },
665
+ paint: {
666
+ "line-color": "#fff",
667
+ "line-opacity": 1,
668
+ "line-width": { base: 1.2, stops: [[13.5, 0], [14, 2.5], [20, 11.5]] }
669
+ }
670
+ },
671
+ {
672
+ id: "tunnel-secondary-tertiary",
673
+ type: "line",
674
+ metadata: { "mapbox:group": "1444849354174.1904" },
675
+ source: "openmaptiles",
676
+ "source-layer": "transportation",
677
+ filter: [
678
+ "all",
679
+ ["==", "brunnel", "tunnel"],
680
+ ["in", "class", "secondary", "tertiary"],
681
+ ["!=", "ramp", 1]
682
+ ],
683
+ layout: { "line-join": "round" },
684
+ paint: {
685
+ "line-color": "#fff4c6",
686
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 10]] }
687
+ }
688
+ },
689
+ {
690
+ id: "tunnel-trunk-primary",
691
+ type: "line",
692
+ metadata: { "mapbox:group": "1444849354174.1904" },
693
+ source: "openmaptiles",
694
+ "source-layer": "transportation",
695
+ filter: [
696
+ "all",
697
+ ["==", "brunnel", "tunnel"],
698
+ ["in", "class", "primary", "trunk"],
699
+ ["!=", "ramp", 1]
700
+ ],
701
+ layout: { "line-join": "round" },
702
+ paint: {
703
+ "line-color": "#fff4c6",
704
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
705
+ }
706
+ },
707
+ {
708
+ id: "tunnel-motorway",
709
+ type: "line",
710
+ metadata: { "mapbox:group": "1444849354174.1904" },
711
+ source: "openmaptiles",
712
+ "source-layer": "transportation",
713
+ filter: [
714
+ "all",
715
+ ["==", "brunnel", "tunnel"],
716
+ ["==", "class", "motorway"],
717
+ ["!=", "ramp", 1]
718
+ ],
719
+ layout: { "line-join": "round", visibility: "visible" },
720
+ paint: {
721
+ "line-color": "#ffdaa6",
722
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
723
+ }
724
+ },
725
+ {
726
+ id: "tunnel-railway",
727
+ type: "line",
728
+ metadata: { "mapbox:group": "1444849354174.1904" },
729
+ source: "openmaptiles",
730
+ "source-layer": "transportation",
731
+ filter: ["all", ["==", "brunnel", "tunnel"], ["==", "class", "rail"]],
732
+ paint: {
733
+ "line-color": "#bbb",
734
+ "line-dasharray": [2, 2],
735
+ "line-width": { base: 1.4, stops: [[14, 0.4], [15, 0.75], [20, 2]] }
736
+ }
737
+ },
738
+ {
739
+ id: "ferry",
740
+ type: "line",
741
+ source: "openmaptiles",
742
+ "source-layer": "transportation",
743
+ filter: ["all", ["in", "class", "ferry"]],
744
+ layout: { "line-join": "round", visibility: "visible" },
745
+ paint: {
746
+ "line-color": "rgba(108, 159, 182, 1)",
747
+ "line-dasharray": [2, 2],
748
+ "line-width": 1.1
749
+ }
750
+ },
751
+ {
752
+ id: "aeroway-taxiway-casing",
753
+ type: "line",
754
+ metadata: { "mapbox:group": "1444849345966.4436" },
755
+ source: "openmaptiles",
756
+ "source-layer": "aeroway",
757
+ minzoom: 12,
758
+ filter: ["all", ["in", "class", "taxiway"]],
759
+ layout: {
760
+ "line-cap": "round",
761
+ "line-join": "round",
762
+ visibility: "visible"
763
+ },
764
+ paint: {
765
+ "line-color": "rgba(153, 153, 153, 1)",
766
+ "line-opacity": 1,
767
+ "line-width": { base: 1.5, stops: [[11, 2], [17, 12]] }
768
+ }
769
+ },
770
+ {
771
+ id: "aeroway-runway-casing",
772
+ type: "line",
773
+ metadata: { "mapbox:group": "1444849345966.4436" },
774
+ source: "openmaptiles",
775
+ "source-layer": "aeroway",
776
+ minzoom: 12,
777
+ filter: ["all", ["in", "class", "runway"]],
778
+ layout: {
779
+ "line-cap": "round",
780
+ "line-join": "round",
781
+ visibility: "visible"
782
+ },
783
+ paint: {
784
+ "line-color": "rgba(153, 153, 153, 1)",
785
+ "line-opacity": 1,
786
+ "line-width": { base: 1.5, stops: [[11, 5], [17, 55]] }
787
+ }
788
+ },
789
+ {
790
+ id: "aeroway-area",
791
+ type: "fill",
792
+ metadata: { "mapbox:group": "1444849345966.4436" },
793
+ source: "openmaptiles",
794
+ "source-layer": "aeroway",
795
+ minzoom: 4,
796
+ filter: [
797
+ "all",
798
+ ["==", "$type", "Polygon"],
799
+ ["in", "class", "runway", "taxiway"]
800
+ ],
801
+ layout: { visibility: "visible" },
802
+ paint: {
803
+ "fill-color": "rgba(255, 255, 255, 1)",
804
+ "fill-opacity": { base: 1, stops: [[13, 0], [14, 1]] }
805
+ }
806
+ },
807
+ {
808
+ id: "aeroway-taxiway",
809
+ type: "line",
810
+ metadata: { "mapbox:group": "1444849345966.4436" },
811
+ source: "openmaptiles",
812
+ "source-layer": "aeroway",
813
+ minzoom: 4,
814
+ filter: [
815
+ "all",
816
+ ["in", "class", "taxiway"],
817
+ ["==", "$type", "LineString"]
818
+ ],
819
+ layout: {
820
+ "line-cap": "round",
821
+ "line-join": "round",
822
+ visibility: "visible"
823
+ },
824
+ paint: {
825
+ "line-color": "rgba(255, 255, 255, 1)",
826
+ "line-opacity": { base: 1, stops: [[11, 0], [12, 1]] },
827
+ "line-width": { base: 1.5, stops: [[11, 1], [17, 10]] }
828
+ }
829
+ },
830
+ {
831
+ id: "aeroway-runway",
832
+ type: "line",
833
+ metadata: { "mapbox:group": "1444849345966.4436" },
834
+ source: "openmaptiles",
835
+ "source-layer": "aeroway",
836
+ minzoom: 4,
837
+ filter: [
838
+ "all",
839
+ ["in", "class", "runway"],
840
+ ["==", "$type", "LineString"]
841
+ ],
842
+ layout: {
843
+ "line-cap": "round",
844
+ "line-join": "round",
845
+ visibility: "visible"
846
+ },
847
+ paint: {
848
+ "line-color": "rgba(255, 255, 255, 1)",
849
+ "line-opacity": { base: 1, stops: [[11, 0], [12, 1]] },
850
+ "line-width": { base: 1.5, stops: [[11, 4], [17, 50]] }
851
+ }
852
+ },
853
+ {
854
+ id: "road_area_pier",
855
+ type: "fill",
856
+ metadata: {},
857
+ source: "openmaptiles",
858
+ "source-layer": "transportation",
859
+ filter: ["all", ["==", "$type", "Polygon"], ["==", "class", "pier"]],
860
+ layout: { visibility: "visible" },
861
+ paint: { "fill-antialias": true, "fill-color": "#f8f4f0" }
862
+ },
863
+ {
864
+ id: "road_pier",
865
+ type: "line",
866
+ metadata: {},
867
+ source: "openmaptiles",
868
+ "source-layer": "transportation",
869
+ filter: ["all", ["==", "$type", "LineString"], ["in", "class", "pier"]],
870
+ layout: { "line-cap": "round", "line-join": "round" },
871
+ paint: {
872
+ "line-color": "#f8f4f0",
873
+ "line-width": { base: 1.2, stops: [[15, 1], [17, 4]] }
874
+ }
875
+ },
876
+ {
877
+ id: "highway-area",
878
+ type: "fill",
879
+ metadata: { "mapbox:group": "1444849345966.4436" },
880
+ source: "openmaptiles",
881
+ "source-layer": "transportation",
882
+ filter: ["all", ["==", "$type", "Polygon"], ["!in", "class", "pier"]],
883
+ layout: { visibility: "visible" },
884
+ paint: {
885
+ "fill-antialias": false,
886
+ "fill-color": "hsla(0, 0%, 89%, 0.56)",
887
+ "fill-opacity": 0.9,
888
+ "fill-outline-color": "#cfcdca"
889
+ }
890
+ },
891
+ {
892
+ id: "highway-path-steps-casing",
893
+ type: "line",
894
+ source: "openmaptiles",
895
+ "source-layer": "transportation",
896
+ filter: [
897
+ "all",
898
+ ["==", "$type", "LineString"],
899
+ ["!in", "brunnel", "bridge", "tunnel"],
900
+ ["==", "class", "path"],
901
+ ["in", "subclass", "steps"]
902
+ ],
903
+ layout: { "line-cap": "butt", "line-join": "round" },
904
+ paint: {
905
+ "line-color": "#cfcdca",
906
+ "line-opacity": { stops: [[12, 0], [12.5, 1]] },
907
+ "line-width": {
908
+ base: 1.2,
909
+ stops: [[12, 0.5], [13, 1], [14, 2], [20, 9.25]]
910
+ }
911
+ }
912
+ },
913
+ {
914
+ id: "highway-motorway-link-casing",
915
+ type: "line",
916
+ metadata: { "mapbox:group": "1444849345966.4436" },
917
+ source: "openmaptiles",
918
+ "source-layer": "transportation",
919
+ minzoom: 12,
920
+ filter: [
921
+ "all",
922
+ ["!in", "brunnel", "bridge", "tunnel"],
923
+ ["==", "class", "motorway"],
924
+ ["==", "ramp", 1]
925
+ ],
926
+ layout: { "line-cap": "round", "line-join": "round" },
927
+ paint: {
928
+ "line-color": "#e9ac77",
929
+ "line-opacity": 1,
930
+ "line-width": {
931
+ base: 1.2,
932
+ stops: [[12, 1], [13, 3], [14, 4], [20, 15]]
933
+ }
934
+ }
935
+ },
936
+ {
937
+ id: "highway-link-casing",
938
+ type: "line",
939
+ metadata: { "mapbox:group": "1444849345966.4436" },
940
+ source: "openmaptiles",
941
+ "source-layer": "transportation",
942
+ minzoom: 13,
943
+ filter: [
944
+ "all",
945
+ ["!in", "brunnel", "bridge", "tunnel"],
946
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
947
+ ["==", "ramp", 1]
948
+ ],
949
+ layout: {
950
+ "line-cap": "round",
951
+ "line-join": "round",
952
+ visibility: "visible"
953
+ },
954
+ paint: {
955
+ "line-color": "#e9ac77",
956
+ "line-opacity": 1,
957
+ "line-width": {
958
+ base: 1.2,
959
+ stops: [[12, 1], [13, 3], [14, 4], [20, 15]]
960
+ }
961
+ }
962
+ },
963
+ {
964
+ id: "highway-minor-casing",
965
+ type: "line",
966
+ metadata: { "mapbox:group": "1444849345966.4436" },
967
+ source: "openmaptiles",
968
+ "source-layer": "transportation",
969
+ filter: [
970
+ "all",
971
+ ["==", "$type", "LineString"],
972
+ ["!=", "brunnel", "tunnel"],
973
+ ["in", "class", "minor", "service", "track"]
974
+ ],
975
+ layout: { "line-cap": "round", "line-join": "round" },
976
+ paint: {
977
+ "line-color": "#cfcdca",
978
+ "line-opacity": { stops: [[12, 0], [12.5, 1]] },
979
+ "line-width": {
980
+ base: 1.2,
981
+ stops: [[12, 0.5], [13, 1], [14, 4], [20, 15]]
982
+ }
983
+ }
984
+ },
985
+ {
986
+ id: "highway-secondary-tertiary-casing",
987
+ type: "line",
988
+ metadata: { "mapbox:group": "1444849345966.4436" },
989
+ source: "openmaptiles",
990
+ "source-layer": "transportation",
991
+ filter: [
992
+ "all",
993
+ ["!in", "brunnel", "bridge", "tunnel"],
994
+ ["in", "class", "secondary", "tertiary"],
995
+ ["!=", "ramp", 1]
996
+ ],
997
+ layout: {
998
+ "line-cap": "butt",
999
+ "line-join": "round",
1000
+ visibility: "visible"
1001
+ },
1002
+ paint: {
1003
+ "line-color": "#e9ac77",
1004
+ "line-opacity": 1,
1005
+ "line-width": { base: 1.2, stops: [[8, 1.5], [20, 17]] }
1006
+ }
1007
+ },
1008
+ {
1009
+ id: "highway-primary-casing",
1010
+ type: "line",
1011
+ metadata: { "mapbox:group": "1444849345966.4436" },
1012
+ source: "openmaptiles",
1013
+ "source-layer": "transportation",
1014
+ minzoom: 5,
1015
+ filter: [
1016
+ "all",
1017
+ ["!in", "brunnel", "bridge", "tunnel"],
1018
+ ["in", "class", "primary"],
1019
+ ["!=", "ramp", 1]
1020
+ ],
1021
+ layout: {
1022
+ "line-cap": "butt",
1023
+ "line-join": "round",
1024
+ visibility: "visible"
1025
+ },
1026
+ paint: {
1027
+ "line-color": "#e9ac77",
1028
+ "line-opacity": { stops: [[7, 0], [8, 1]] },
1029
+ "line-width": {
1030
+ base: 1.2,
1031
+ stops: [[7, 0], [8, 0.6], [9, 1.5], [20, 22]]
1032
+ }
1033
+ }
1034
+ },
1035
+ {
1036
+ id: "highway-trunk-casing",
1037
+ type: "line",
1038
+ metadata: { "mapbox:group": "1444849345966.4436" },
1039
+ source: "openmaptiles",
1040
+ "source-layer": "transportation",
1041
+ minzoom: 5,
1042
+ filter: [
1043
+ "all",
1044
+ ["!in", "brunnel", "bridge", "tunnel"],
1045
+ ["in", "class", "trunk"],
1046
+ ["!=", "ramp", 1]
1047
+ ],
1048
+ layout: {
1049
+ "line-cap": "butt",
1050
+ "line-join": "round",
1051
+ visibility: "visible"
1052
+ },
1053
+ paint: {
1054
+ "line-color": "#e9ac77",
1055
+ "line-opacity": { stops: [[5, 0], [6, 1]] },
1056
+ "line-width": {
1057
+ base: 1.2,
1058
+ stops: [[5, 0], [6, 0.6], [7, 1.5], [20, 22]]
1059
+ }
1060
+ }
1061
+ },
1062
+ {
1063
+ id: "highway-motorway-casing",
1064
+ type: "line",
1065
+ metadata: { "mapbox:group": "1444849345966.4436" },
1066
+ source: "openmaptiles",
1067
+ "source-layer": "transportation",
1068
+ minzoom: 4,
1069
+ filter: [
1070
+ "all",
1071
+ ["!in", "brunnel", "bridge", "tunnel"],
1072
+ ["==", "class", "motorway"],
1073
+ ["!=", "ramp", 1]
1074
+ ],
1075
+ layout: {
1076
+ "line-cap": "butt",
1077
+ "line-join": "round",
1078
+ visibility: "visible"
1079
+ },
1080
+ paint: {
1081
+ "line-color": "#e9ac77",
1082
+ "line-opacity": { stops: [[4, 0], [5, 1]] },
1083
+ "line-width": {
1084
+ base: 1.2,
1085
+ stops: [[4, 0], [5, 0.4], [6, 0.6], [7, 1.5], [20, 22]]
1086
+ }
1087
+ }
1088
+ },
1089
+ {
1090
+ id: "highway-path",
1091
+ type: "line",
1092
+ metadata: { "mapbox:group": "1444849345966.4436" },
1093
+ source: "openmaptiles",
1094
+ "source-layer": "transportation",
1095
+ filter: [
1096
+ "all",
1097
+ ["==", "$type", "LineString"],
1098
+ ["!in", "brunnel", "bridge", "tunnel"],
1099
+ ["==", "class", "path"],
1100
+ ["!=", "subclass", "steps"]
1101
+ ],
1102
+ paint: {
1103
+ "line-color": "#cba",
1104
+ "line-dasharray": [1.5, 0.75],
1105
+ "line-width": { base: 1.2, stops: [[15, 1.2], [20, 4]] }
1106
+ }
1107
+ },
1108
+ {
1109
+ id: "highway-path-steps",
1110
+ type: "line",
1111
+ source: "openmaptiles",
1112
+ "source-layer": "transportation",
1113
+ filter: [
1114
+ "all",
1115
+ ["==", "$type", "LineString"],
1116
+ ["!in", "brunnel", "bridge", "tunnel"],
1117
+ ["==", "class", "path"],
1118
+ ["==", "subclass", "steps"]
1119
+ ],
1120
+ layout: { "line-join": "bevel", "line-cap": "butt" },
1121
+ paint: {
1122
+ "line-color": "#fff",
1123
+ "line-opacity": 1,
1124
+ "line-width": {
1125
+ base: 1.2,
1126
+ stops: [[13.5, 0], [14, 1.25], [20, 5.75]]
1127
+ },
1128
+ "line-dasharray": [0.5, 0.25]
1129
+ }
1130
+ },
1131
+ {
1132
+ id: "highway-motorway-link",
1133
+ type: "line",
1134
+ metadata: { "mapbox:group": "1444849345966.4436" },
1135
+ source: "openmaptiles",
1136
+ "source-layer": "transportation",
1137
+ minzoom: 12,
1138
+ filter: [
1139
+ "all",
1140
+ ["!in", "brunnel", "bridge", "tunnel"],
1141
+ ["==", "class", "motorway"],
1142
+ ["==", "ramp", 1]
1143
+ ],
1144
+ layout: { "line-cap": "round", "line-join": "round" },
1145
+ paint: {
1146
+ "line-color": "#fc8",
1147
+ "line-width": {
1148
+ base: 1.2,
1149
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
1150
+ }
1151
+ }
1152
+ },
1153
+ {
1154
+ id: "highway-link",
1155
+ type: "line",
1156
+ metadata: { "mapbox:group": "1444849345966.4436" },
1157
+ source: "openmaptiles",
1158
+ "source-layer": "transportation",
1159
+ minzoom: 13,
1160
+ filter: [
1161
+ "all",
1162
+ ["!in", "brunnel", "bridge", "tunnel"],
1163
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
1164
+ ["==", "ramp", 1]
1165
+ ],
1166
+ layout: {
1167
+ "line-cap": "round",
1168
+ "line-join": "round",
1169
+ visibility: "visible"
1170
+ },
1171
+ paint: {
1172
+ "line-color": "#fea",
1173
+ "line-width": {
1174
+ base: 1.2,
1175
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
1176
+ }
1177
+ }
1178
+ },
1179
+ {
1180
+ id: "highway-minor",
1181
+ type: "line",
1182
+ metadata: { "mapbox:group": "1444849345966.4436" },
1183
+ source: "openmaptiles",
1184
+ "source-layer": "transportation",
1185
+ filter: [
1186
+ "all",
1187
+ ["==", "$type", "LineString"],
1188
+ ["!=", "brunnel", "tunnel"],
1189
+ ["in", "class", "minor", "service", "track"]
1190
+ ],
1191
+ layout: { "line-cap": "round", "line-join": "round" },
1192
+ paint: {
1193
+ "line-color": "#fff",
1194
+ "line-opacity": 1,
1195
+ "line-width": { base: 1.2, stops: [[13.5, 0], [14, 2.5], [20, 11.5]] }
1196
+ }
1197
+ },
1198
+ {
1199
+ id: "highway-secondary-tertiary",
1200
+ type: "line",
1201
+ metadata: { "mapbox:group": "1444849345966.4436" },
1202
+ source: "openmaptiles",
1203
+ "source-layer": "transportation",
1204
+ filter: [
1205
+ "all",
1206
+ ["!in", "brunnel", "bridge", "tunnel"],
1207
+ ["in", "class", "secondary", "tertiary"],
1208
+ ["!=", "ramp", 1]
1209
+ ],
1210
+ layout: {
1211
+ "line-cap": "round",
1212
+ "line-join": "round",
1213
+ visibility: "visible"
1214
+ },
1215
+ paint: {
1216
+ "line-color": "#fea",
1217
+ "line-width": { base: 1.2, stops: [[6.5, 0], [8, 0.5], [20, 13]] }
1218
+ }
1219
+ },
1220
+ {
1221
+ id: "highway-primary",
1222
+ type: "line",
1223
+ metadata: { "mapbox:group": "1444849345966.4436" },
1224
+ source: "openmaptiles",
1225
+ "source-layer": "transportation",
1226
+ filter: [
1227
+ "all",
1228
+ ["==", "$type", "LineString"],
1229
+ ["!in", "brunnel", "bridge", "tunnel"],
1230
+ ["in", "class", "primary"],
1231
+ ["!=", "ramp", 1]
1232
+ ],
1233
+ layout: {
1234
+ "line-cap": "round",
1235
+ "line-join": "round",
1236
+ visibility: "visible"
1237
+ },
1238
+ paint: {
1239
+ "line-color": "#fea",
1240
+ "line-width": { base: 1.2, stops: [[8.5, 0], [9, 0.5], [20, 18]] }
1241
+ }
1242
+ },
1243
+ {
1244
+ id: "highway-trunk",
1245
+ type: "line",
1246
+ metadata: { "mapbox:group": "1444849345966.4436" },
1247
+ source: "openmaptiles",
1248
+ "source-layer": "transportation",
1249
+ filter: [
1250
+ "all",
1251
+ ["==", "$type", "LineString"],
1252
+ ["!in", "brunnel", "bridge", "tunnel"],
1253
+ ["in", "class", "trunk"],
1254
+ ["!=", "ramp", 1]
1255
+ ],
1256
+ layout: {
1257
+ "line-cap": "round",
1258
+ "line-join": "round",
1259
+ visibility: "visible"
1260
+ },
1261
+ paint: {
1262
+ "line-color": "#fea",
1263
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
1264
+ }
1265
+ },
1266
+ {
1267
+ id: "highway-motorway",
1268
+ type: "line",
1269
+ metadata: { "mapbox:group": "1444849345966.4436" },
1270
+ source: "openmaptiles",
1271
+ "source-layer": "transportation",
1272
+ minzoom: 5,
1273
+ filter: [
1274
+ "all",
1275
+ ["==", "$type", "LineString"],
1276
+ ["!in", "brunnel", "bridge", "tunnel"],
1277
+ ["==", "class", "motorway"],
1278
+ ["!=", "ramp", 1]
1279
+ ],
1280
+ layout: {
1281
+ "line-cap": "round",
1282
+ "line-join": "round",
1283
+ visibility: "visible"
1284
+ },
1285
+ paint: {
1286
+ "line-color": "#fc8",
1287
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
1288
+ }
1289
+ },
1290
+ {
1291
+ id: "railway-transit",
1292
+ type: "line",
1293
+ metadata: { "mapbox:group": "1444849345966.4436" },
1294
+ source: "openmaptiles",
1295
+ "source-layer": "transportation",
1296
+ filter: [
1297
+ "all",
1298
+ ["==", "$type", "LineString"],
1299
+ ["==", "class", "transit"],
1300
+ ["!in", "brunnel", "tunnel"]
1301
+ ],
1302
+ layout: { visibility: "visible" },
1303
+ paint: {
1304
+ "line-color": "hsla(0, 0%, 73%, 0.77)",
1305
+ "line-width": { base: 1.4, stops: [[14, 0.4], [20, 1]] }
1306
+ }
1307
+ },
1308
+ {
1309
+ id: "railway-transit-hatching",
1310
+ type: "line",
1311
+ metadata: { "mapbox:group": "1444849345966.4436" },
1312
+ source: "openmaptiles",
1313
+ "source-layer": "transportation",
1314
+ filter: [
1315
+ "all",
1316
+ ["==", "$type", "LineString"],
1317
+ ["==", "class", "transit"],
1318
+ ["!in", "brunnel", "tunnel"]
1319
+ ],
1320
+ layout: { visibility: "visible" },
1321
+ paint: {
1322
+ "line-color": "hsla(0, 0%, 73%, 0.68)",
1323
+ "line-dasharray": [0.2, 8],
1324
+ "line-width": { base: 1.4, stops: [[14.5, 0], [15, 2], [20, 6]] }
1325
+ }
1326
+ },
1327
+ {
1328
+ id: "railway-service",
1329
+ type: "line",
1330
+ metadata: { "mapbox:group": "1444849345966.4436" },
1331
+ source: "openmaptiles",
1332
+ "source-layer": "transportation",
1333
+ filter: [
1334
+ "all",
1335
+ ["==", "$type", "LineString"],
1336
+ ["==", "class", "rail"],
1337
+ ["has", "service"]
1338
+ ],
1339
+ paint: {
1340
+ "line-color": "hsla(0, 0%, 73%, 0.77)",
1341
+ "line-width": { base: 1.4, stops: [[14, 0.4], [20, 1]] }
1342
+ }
1343
+ },
1344
+ {
1345
+ id: "railway-service-hatching",
1346
+ type: "line",
1347
+ metadata: { "mapbox:group": "1444849345966.4436" },
1348
+ source: "openmaptiles",
1349
+ "source-layer": "transportation",
1350
+ filter: [
1351
+ "all",
1352
+ ["==", "$type", "LineString"],
1353
+ ["==", "class", "rail"],
1354
+ ["has", "service"]
1355
+ ],
1356
+ layout: { visibility: "visible" },
1357
+ paint: {
1358
+ "line-color": "hsla(0, 0%, 73%, 0.68)",
1359
+ "line-dasharray": [0.2, 8],
1360
+ "line-width": { base: 1.4, stops: [[14.5, 0], [15, 2], [20, 6]] }
1361
+ }
1362
+ },
1363
+ {
1364
+ id: "railway",
1365
+ type: "line",
1366
+ metadata: { "mapbox:group": "1444849345966.4436" },
1367
+ source: "openmaptiles",
1368
+ "source-layer": "transportation",
1369
+ filter: [
1370
+ "all",
1371
+ ["==", "$type", "LineString"],
1372
+ ["!has", "service"],
1373
+ ["!in", "brunnel", "bridge", "tunnel"],
1374
+ ["==", "class", "rail"]
1375
+ ],
1376
+ paint: {
1377
+ "line-color": "#bbb",
1378
+ "line-width": { base: 1.4, stops: [[14, 0.4], [15, 0.75], [20, 2]] }
1379
+ }
1380
+ },
1381
+ {
1382
+ id: "railway-hatching",
1383
+ type: "line",
1384
+ metadata: { "mapbox:group": "1444849345966.4436" },
1385
+ source: "openmaptiles",
1386
+ "source-layer": "transportation",
1387
+ filter: [
1388
+ "all",
1389
+ ["==", "$type", "LineString"],
1390
+ ["!has", "service"],
1391
+ ["!in", "brunnel", "bridge", "tunnel"],
1392
+ ["==", "class", "rail"]
1393
+ ],
1394
+ paint: {
1395
+ "line-color": "#bbb",
1396
+ "line-dasharray": [0.2, 8],
1397
+ "line-width": { base: 1.4, stops: [[14.5, 0], [15, 3], [20, 8]] }
1398
+ }
1399
+ },
1400
+ {
1401
+ id: "bridge-motorway-link-casing",
1402
+ type: "line",
1403
+ metadata: { "mapbox:group": "1444849334699.1902" },
1404
+ source: "openmaptiles",
1405
+ "source-layer": "transportation",
1406
+ filter: [
1407
+ "all",
1408
+ ["==", "brunnel", "bridge"],
1409
+ ["==", "class", "motorway"],
1410
+ ["==", "ramp", 1]
1411
+ ],
1412
+ layout: { "line-join": "round" },
1413
+ paint: {
1414
+ "line-color": "#e9ac77",
1415
+ "line-opacity": 1,
1416
+ "line-width": {
1417
+ base: 1.2,
1418
+ stops: [[12, 1], [13, 3], [14, 4], [20, 19]]
1419
+ }
1420
+ }
1421
+ },
1422
+ {
1423
+ id: "bridge-link-casing",
1424
+ type: "line",
1425
+ metadata: { "mapbox:group": "1444849334699.1902" },
1426
+ source: "openmaptiles",
1427
+ "source-layer": "transportation",
1428
+ filter: [
1429
+ "all",
1430
+ ["==", "brunnel", "bridge"],
1431
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
1432
+ ["==", "ramp", 1]
1433
+ ],
1434
+ layout: { "line-join": "round" },
1435
+ paint: {
1436
+ "line-color": "#e9ac77",
1437
+ "line-opacity": 1,
1438
+ "line-width": {
1439
+ base: 1.2,
1440
+ stops: [[12, 1], [13, 3], [14, 4], [20, 19]]
1441
+ }
1442
+ }
1443
+ },
1444
+ {
1445
+ id: "bridge-secondary-tertiary-casing",
1446
+ type: "line",
1447
+ metadata: { "mapbox:group": "1444849334699.1902" },
1448
+ source: "openmaptiles",
1449
+ "source-layer": "transportation",
1450
+ filter: [
1451
+ "all",
1452
+ ["==", "brunnel", "bridge"],
1453
+ ["in", "class", "secondary", "tertiary"],
1454
+ ["!=", "ramp", 1]
1455
+ ],
1456
+ layout: { "line-join": "round" },
1457
+ paint: {
1458
+ "line-color": "#e9ac77",
1459
+ "line-opacity": 1,
1460
+ "line-width": {
1461
+ base: 1.2,
1462
+ stops: [[5, 0.4], [7, 0.6], [8, 1.5], [20, 21]]
1463
+ }
1464
+ }
1465
+ },
1466
+ {
1467
+ id: "bridge-trunk-primary-casing",
1468
+ type: "line",
1469
+ metadata: { "mapbox:group": "1444849334699.1902" },
1470
+ source: "openmaptiles",
1471
+ "source-layer": "transportation",
1472
+ filter: [
1473
+ "all",
1474
+ ["==", "brunnel", "bridge"],
1475
+ ["in", "class", "primary", "trunk"],
1476
+ ["!=", "ramp", 1]
1477
+ ],
1478
+ layout: { "line-join": "round" },
1479
+ paint: {
1480
+ "line-color": "hsl(28, 76%, 67%)",
1481
+ "line-width": {
1482
+ base: 1.2,
1483
+ stops: [[5, 0.4], [6, 0.6], [7, 1.5], [20, 26]]
1484
+ }
1485
+ }
1486
+ },
1487
+ {
1488
+ id: "bridge-motorway-casing",
1489
+ type: "line",
1490
+ metadata: { "mapbox:group": "1444849334699.1902" },
1491
+ source: "openmaptiles",
1492
+ "source-layer": "transportation",
1493
+ filter: [
1494
+ "all",
1495
+ ["==", "brunnel", "bridge"],
1496
+ ["==", "class", "motorway"],
1497
+ ["!=", "ramp", 1]
1498
+ ],
1499
+ layout: { "line-join": "round" },
1500
+ paint: {
1501
+ "line-color": "#e9ac77",
1502
+ "line-width": {
1503
+ base: 1.2,
1504
+ stops: [[5, 0.4], [6, 0.6], [7, 1.5], [20, 26]]
1505
+ }
1506
+ }
1507
+ },
1508
+ {
1509
+ id: "bridge-minor-casing",
1510
+ type: "line",
1511
+ metadata: { "mapbox:group": "1444849345966.4436" },
1512
+ source: "openmaptiles",
1513
+ "source-layer": "transportation",
1514
+ filter: [
1515
+ "all",
1516
+ ["==", "$type", "LineString"],
1517
+ ["==", "brunnel", "bridge"],
1518
+ ["in", "class", "minor", "service", "track"]
1519
+ ],
1520
+ layout: { "line-cap": "butt", "line-join": "round" },
1521
+ paint: {
1522
+ "line-color": "#cfcdca",
1523
+ "line-opacity": { stops: [[12, 0], [12.5, 1]] },
1524
+ "line-width": {
1525
+ base: 1.2,
1526
+ stops: [[12, 0.5], [13, 1], [14, 6], [20, 24]]
1527
+ }
1528
+ }
1529
+ },
1530
+ {
1531
+ id: "bridge-path-casing",
1532
+ type: "line",
1533
+ metadata: { "mapbox:group": "1444849334699.1902" },
1534
+ source: "openmaptiles",
1535
+ "source-layer": "transportation",
1536
+ filter: [
1537
+ "all",
1538
+ ["==", "$type", "LineString"],
1539
+ ["==", "brunnel", "bridge"],
1540
+ ["==", "class", "path"]
1541
+ ],
1542
+ paint: {
1543
+ "line-color": "#cfcdca",
1544
+ "line-width": { base: 1.2, stops: [[15, 1.2], [20, 18]] }
1545
+ }
1546
+ },
1547
+ {
1548
+ id: "bridge-path-steps",
1549
+ type: "line",
1550
+ source: "openmaptiles",
1551
+ "source-layer": "transportation",
1552
+ filter: [
1553
+ "all",
1554
+ ["==", "$type", "LineString"],
1555
+ ["==", "brunnel", "bridge"],
1556
+ ["==", "class", "path"],
1557
+ ["==", "subclass", "steps"]
1558
+ ],
1559
+ layout: { "line-join": "round", "line-cap": "butt" },
1560
+ paint: {
1561
+ "line-color": "#fff",
1562
+ "line-opacity": 1,
1563
+ "line-width": {
1564
+ base: 1.2,
1565
+ stops: [[13.5, 0], [14, 1.25], [20, 5.75]]
1566
+ },
1567
+ "line-dasharray": [0.5, 0.25]
1568
+ }
1569
+ },
1570
+ {
1571
+ id: "bridge-path",
1572
+ type: "line",
1573
+ metadata: { "mapbox:group": "1444849334699.1902" },
1574
+ source: "openmaptiles",
1575
+ "source-layer": "transportation",
1576
+ filter: [
1577
+ "all",
1578
+ ["==", "$type", "LineString"],
1579
+ ["==", "brunnel", "bridge"],
1580
+ ["==", "class", "path"],
1581
+ ["!=", "subclass", "steps"]
1582
+ ],
1583
+ paint: {
1584
+ "line-color": "#cba",
1585
+ "line-dasharray": [1.5, 0.75],
1586
+ "line-width": { base: 1.2, stops: [[15, 1.2], [20, 4]] }
1587
+ }
1588
+ },
1589
+ {
1590
+ id: "bridge-motorway-link",
1591
+ type: "line",
1592
+ metadata: { "mapbox:group": "1444849334699.1902" },
1593
+ source: "openmaptiles",
1594
+ "source-layer": "transportation",
1595
+ filter: [
1596
+ "all",
1597
+ ["==", "brunnel", "bridge"],
1598
+ ["==", "class", "motorway"],
1599
+ ["==", "ramp", 1]
1600
+ ],
1601
+ layout: { "line-join": "round" },
1602
+ paint: {
1603
+ "line-color": "#fc8",
1604
+ "line-width": {
1605
+ base: 1.2,
1606
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
1607
+ }
1608
+ }
1609
+ },
1610
+ {
1611
+ id: "bridge-link",
1612
+ type: "line",
1613
+ metadata: { "mapbox:group": "1444849334699.1902" },
1614
+ source: "openmaptiles",
1615
+ "source-layer": "transportation",
1616
+ filter: [
1617
+ "all",
1618
+ ["==", "brunnel", "bridge"],
1619
+ ["in", "class", "trunk", "primary", "secondary", "tertiary"],
1620
+ ["==", "ramp", 1]
1621
+ ],
1622
+ layout: { "line-join": "round" },
1623
+ paint: {
1624
+ "line-color": "#fea",
1625
+ "line-width": {
1626
+ base: 1.2,
1627
+ stops: [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
1628
+ }
1629
+ }
1630
+ },
1631
+ {
1632
+ id: "bridge-minor",
1633
+ type: "line",
1634
+ metadata: { "mapbox:group": "1444849345966.4436" },
1635
+ source: "openmaptiles",
1636
+ "source-layer": "transportation",
1637
+ filter: [
1638
+ "all",
1639
+ ["==", "$type", "LineString"],
1640
+ ["==", "brunnel", "bridge"],
1641
+ ["in", "class", "minor", "service", "track"]
1642
+ ],
1643
+ layout: { "line-cap": "round", "line-join": "round" },
1644
+ paint: {
1645
+ "line-color": "#fff",
1646
+ "line-opacity": 1,
1647
+ "line-width": { base: 1.2, stops: [[13.5, 0], [14, 2.5], [20, 11.5]] }
1648
+ }
1649
+ },
1650
+ {
1651
+ id: "bridge-secondary-tertiary",
1652
+ type: "line",
1653
+ metadata: { "mapbox:group": "1444849334699.1902" },
1654
+ source: "openmaptiles",
1655
+ "source-layer": "transportation",
1656
+ filter: [
1657
+ "all",
1658
+ ["==", "brunnel", "bridge"],
1659
+ ["in", "class", "secondary", "tertiary"],
1660
+ ["!=", "ramp", 1]
1661
+ ],
1662
+ layout: { "line-join": "round" },
1663
+ paint: {
1664
+ "line-color": "#fea",
1665
+ "line-width": { base: 1.2, stops: [[6.5, 0], [8, 0.5], [20, 13]] }
1666
+ }
1667
+ },
1668
+ {
1669
+ id: "bridge-trunk-primary",
1670
+ type: "line",
1671
+ metadata: { "mapbox:group": "1444849334699.1902" },
1672
+ source: "openmaptiles",
1673
+ "source-layer": "transportation",
1674
+ filter: [
1675
+ "all",
1676
+ ["==", "brunnel", "bridge"],
1677
+ ["in", "class", "primary", "trunk"],
1678
+ ["!=", "ramp", 1]
1679
+ ],
1680
+ layout: { "line-join": "round" },
1681
+ paint: {
1682
+ "line-color": "#fea",
1683
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
1684
+ }
1685
+ },
1686
+ {
1687
+ id: "bridge-motorway",
1688
+ type: "line",
1689
+ metadata: { "mapbox:group": "1444849334699.1902" },
1690
+ source: "openmaptiles",
1691
+ "source-layer": "transportation",
1692
+ filter: [
1693
+ "all",
1694
+ ["==", "brunnel", "bridge"],
1695
+ ["==", "class", "motorway"],
1696
+ ["!=", "ramp", 1]
1697
+ ],
1698
+ layout: { "line-join": "round" },
1699
+ paint: {
1700
+ "line-color": "#fc8",
1701
+ "line-width": { base: 1.2, stops: [[6.5, 0], [7, 0.5], [20, 18]] }
1702
+ }
1703
+ },
1704
+ {
1705
+ id: "bridge-railway",
1706
+ type: "line",
1707
+ metadata: { "mapbox:group": "1444849334699.1902" },
1708
+ source: "openmaptiles",
1709
+ "source-layer": "transportation",
1710
+ filter: ["all", ["==", "brunnel", "bridge"], ["==", "class", "rail"]],
1711
+ paint: {
1712
+ "line-color": "#bbb",
1713
+ "line-width": { base: 1.4, stops: [[14, 0.4], [15, 0.75], [20, 2]] }
1714
+ }
1715
+ },
1716
+ {
1717
+ id: "bridge-railway-hatching",
1718
+ type: "line",
1719
+ metadata: { "mapbox:group": "1444849334699.1902" },
1720
+ source: "openmaptiles",
1721
+ "source-layer": "transportation",
1722
+ filter: ["all", ["==", "brunnel", "bridge"], ["==", "class", "rail"]],
1723
+ paint: {
1724
+ "line-color": "#bbb",
1725
+ "line-dasharray": [0.2, 8],
1726
+ "line-width": { base: 1.4, stops: [[14.5, 0], [15, 3], [20, 8]] }
1727
+ }
1728
+ },
1729
+ {
1730
+ id: "cablecar",
1731
+ type: "line",
1732
+ source: "openmaptiles",
1733
+ "source-layer": "transportation",
1734
+ minzoom: 13,
1735
+ filter: ["==", "subclass", "cable_car"],
1736
+ layout: { "line-cap": "round", visibility: "visible" },
1737
+ paint: {
1738
+ "line-color": "hsl(0, 0%, 70%)",
1739
+ "line-width": { base: 1, stops: [[11, 1], [19, 2.5]] }
1740
+ }
1741
+ },
1742
+ {
1743
+ id: "cablecar-dash",
1744
+ type: "line",
1745
+ source: "openmaptiles",
1746
+ "source-layer": "transportation",
1747
+ minzoom: 13,
1748
+ filter: ["==", "subclass", "cable_car"],
1749
+ layout: { "line-cap": "round", visibility: "visible" },
1750
+ paint: {
1751
+ "line-color": "hsl(0, 0%, 70%)",
1752
+ "line-dasharray": [2, 3],
1753
+ "line-width": { base: 1, stops: [[11, 3], [19, 5.5]] }
1754
+ }
1755
+ },
1756
+ {
1757
+ id: "boundary-land-level-4",
1758
+ type: "line",
1759
+ source: "openmaptiles",
1760
+ "source-layer": "boundary",
1761
+ minzoom: 2,
1762
+ filter: [
1763
+ "all",
1764
+ [">=", "admin_level", 3],
1765
+ ["<=", "admin_level", 8],
1766
+ ["!=", "maritime", 1]
1767
+ ],
1768
+ layout: { "line-join": "round", visibility: "visible" },
1769
+ paint: {
1770
+ "line-color": "#9e9cab",
1771
+ "line-dasharray": [3, 1, 1, 1],
1772
+ "line-width": { base: 1.4, stops: [[4, 0.4], [5, 1], [12, 3]] }
1773
+ }
1774
+ },
1775
+ {
1776
+ id: "boundary-land-level-2",
1777
+ type: "line",
1778
+ source: "openmaptiles",
1779
+ "source-layer": "boundary",
1780
+ filter: [
1781
+ "all",
1782
+ ["==", "admin_level", 2],
1783
+ ["!=", "maritime", 1],
1784
+ ["!=", "disputed", 1]
1785
+ ],
1786
+ layout: {
1787
+ "line-cap": "round",
1788
+ "line-join": "round",
1789
+ visibility: "visible"
1790
+ },
1791
+ paint: {
1792
+ "line-color": "hsl(248, 7%, 66%)",
1793
+ "line-width": {
1794
+ base: 1,
1795
+ stops: [[0, 0.6], [4, 1.4], [5, 2], [12, 8]]
1796
+ }
1797
+ }
1798
+ },
1799
+ {
1800
+ id: "boundary-land-disputed",
1801
+ type: "line",
1802
+ source: "openmaptiles",
1803
+ "source-layer": "boundary",
1804
+ filter: ["all", ["!=", "maritime", 1], ["==", "disputed", 1]],
1805
+ layout: {
1806
+ "line-cap": "round",
1807
+ "line-join": "round",
1808
+ visibility: "visible"
1809
+ },
1810
+ paint: {
1811
+ "line-color": "hsl(248, 7%, 70%)",
1812
+ "line-dasharray": [1, 3],
1813
+ "line-width": {
1814
+ base: 1,
1815
+ stops: [[0, 0.6], [4, 1.4], [5, 2], [12, 8]]
1816
+ }
1817
+ }
1818
+ },
1819
+ {
1820
+ id: "boundary-water",
1821
+ type: "line",
1822
+ source: "openmaptiles",
1823
+ "source-layer": "boundary",
1824
+ minzoom: 4,
1825
+ filter: ["all", ["in", "admin_level", 2, 4], ["==", "maritime", 1]],
1826
+ layout: {
1827
+ "line-cap": "round",
1828
+ "line-join": "round",
1829
+ visibility: "visible"
1830
+ },
1831
+ paint: {
1832
+ "line-color": "rgba(154, 189, 214, 1)",
1833
+ "line-opacity": { stops: [[6, 0.6], [10, 1]] },
1834
+ "line-width": {
1835
+ base: 1,
1836
+ stops: [[0, 0.6], [4, 1.4], [5, 2], [12, 8]]
1837
+ }
1838
+ }
1839
+ },
1840
+ {
1841
+ id: "waterway-name",
1842
+ type: "symbol",
1843
+ source: "openmaptiles",
1844
+ "source-layer": "waterway",
1845
+ minzoom: 13,
1846
+ filter: ["all", ["==", "$type", "LineString"], ["has", "name"]],
1847
+ layout: {
1848
+ "symbol-placement": "line",
1849
+ "symbol-spacing": 350,
1850
+ "text-field": "{name:latin} {name:nonlatin}",
1851
+ "text-font": ["Noto Sans Italic"],
1852
+ "text-letter-spacing": 0.2,
1853
+ "text-max-width": 5,
1854
+ "text-rotation-alignment": "map",
1855
+ "text-size": 14
1856
+ },
1857
+ paint: {
1858
+ "text-color": "#74aee9",
1859
+ "text-halo-color": "rgba(255,255,255,0.7)",
1860
+ "text-halo-width": 1.5
1861
+ }
1862
+ },
1863
+ {
1864
+ id: "water-name-lakeline",
1865
+ type: "symbol",
1866
+ source: "openmaptiles",
1867
+ "source-layer": "water_name",
1868
+ filter: ["==", "$type", "LineString"],
1869
+ layout: {
1870
+ "symbol-placement": "line",
1871
+ "symbol-spacing": 350,
1872
+ "text-field": "{name:latin}\n{name:nonlatin}",
1873
+ "text-font": ["Noto Sans Italic"],
1874
+ "text-letter-spacing": 0.2,
1875
+ "text-max-width": 5,
1876
+ "text-rotation-alignment": "map",
1877
+ "text-size": 14
1878
+ },
1879
+ paint: {
1880
+ "text-color": "#74aee9",
1881
+ "text-halo-color": "rgba(255,255,255,0.7)",
1882
+ "text-halo-width": 1.5
1883
+ }
1884
+ },
1885
+ {
1886
+ id: "water-name-ocean",
1887
+ type: "symbol",
1888
+ source: "openmaptiles",
1889
+ "source-layer": "water_name",
1890
+ filter: ["all", ["==", "$type", "Point"], ["==", "class", "ocean"]],
1891
+ layout: {
1892
+ "symbol-placement": "point",
1893
+ "symbol-spacing": 350,
1894
+ "text-field": "{name:latin}",
1895
+ "text-font": ["Noto Sans Italic"],
1896
+ "text-letter-spacing": 0.2,
1897
+ "text-max-width": 5,
1898
+ "text-rotation-alignment": "map",
1899
+ "text-size": 14
1900
+ },
1901
+ paint: {
1902
+ "text-color": "#74aee9",
1903
+ "text-halo-color": "rgba(255,255,255,0.7)",
1904
+ "text-halo-width": 1.5
1905
+ }
1906
+ },
1907
+ {
1908
+ id: "water-name-other",
1909
+ type: "symbol",
1910
+ source: "openmaptiles",
1911
+ "source-layer": "water_name",
1912
+ filter: ["all", ["==", "$type", "Point"], ["!in", "class", "ocean"]],
1913
+ layout: {
1914
+ "symbol-placement": "point",
1915
+ "symbol-spacing": 350,
1916
+ "text-field": "{name:latin}\n{name:nonlatin}",
1917
+ "text-font": ["Noto Sans Italic"],
1918
+ "text-letter-spacing": 0.2,
1919
+ "text-max-width": 5,
1920
+ "text-rotation-alignment": "map",
1921
+ "text-size": { stops: [[0, 10], [6, 14]] },
1922
+ visibility: "visible"
1923
+ },
1924
+ paint: {
1925
+ "text-color": "#74aee9",
1926
+ "text-halo-color": "rgba(255,255,255,0.7)",
1927
+ "text-halo-width": 1.5
1928
+ }
1929
+ },
1930
+ {
1931
+ id: "road_oneway",
1932
+ type: "symbol",
1933
+ source: "openmaptiles",
1934
+ "source-layer": "transportation",
1935
+ minzoom: 15,
1936
+ filter: [
1937
+ "all",
1938
+ ["==", "oneway", 1],
1939
+ [
1940
+ "in",
1941
+ "class",
1942
+ "motorway",
1943
+ "trunk",
1944
+ "primary",
1945
+ "secondary",
1946
+ "tertiary",
1947
+ "minor",
1948
+ "service"
1949
+ ]
1950
+ ],
1951
+ layout: {
1952
+ "icon-image": "oneway",
1953
+ "icon-padding": 2,
1954
+ "icon-rotate": 90,
1955
+ "icon-rotation-alignment": "map",
1956
+ "icon-size": { stops: [[15, 0.5], [19, 1]] },
1957
+ "symbol-placement": "line",
1958
+ "symbol-spacing": 75
1959
+ },
1960
+ paint: { "icon-opacity": 0.5 }
1961
+ },
1962
+ {
1963
+ id: "road_oneway_opposite",
1964
+ type: "symbol",
1965
+ source: "openmaptiles",
1966
+ "source-layer": "transportation",
1967
+ minzoom: 15,
1968
+ filter: [
1969
+ "all",
1970
+ ["==", "oneway", -1],
1971
+ [
1972
+ "in",
1973
+ "class",
1974
+ "motorway",
1975
+ "trunk",
1976
+ "primary",
1977
+ "secondary",
1978
+ "tertiary",
1979
+ "minor",
1980
+ "service"
1981
+ ]
1982
+ ],
1983
+ layout: {
1984
+ "icon-image": "oneway",
1985
+ "icon-padding": 2,
1986
+ "icon-rotate": -90,
1987
+ "icon-rotation-alignment": "map",
1988
+ "icon-size": { stops: [[15, 0.5], [19, 1]] },
1989
+ "symbol-placement": "line",
1990
+ "symbol-spacing": 75
1991
+ },
1992
+ paint: { "icon-opacity": 0.5 }
1993
+ },
1994
+ {
1995
+ id: "poi-level-3",
1996
+ type: "symbol",
1997
+ source: "openmaptiles",
1998
+ "source-layer": "poi",
1999
+ minzoom: 16,
2000
+ filter: [
2001
+ "all",
2002
+ ["==", "$type", "Point"],
2003
+ [">=", "rank", 25],
2004
+ ["any", ["!has", "level"], ["==", "level", 0]]
2005
+ ],
2006
+ layout: {
2007
+ "icon-image": "{class}_11",
2008
+ "text-anchor": "top",
2009
+ "text-field": "{name:latin}\n{name:nonlatin}",
2010
+ "text-font": ["Noto Sans Regular"],
2011
+ "text-max-width": 9,
2012
+ "text-offset": [0, 0.6],
2013
+ "text-padding": 2,
2014
+ "text-size": 12,
2015
+ visibility: "visible"
2016
+ },
2017
+ paint: {
2018
+ "text-color": "#666",
2019
+ "text-halo-blur": 0.5,
2020
+ "text-halo-color": "#ffffff",
2021
+ "text-halo-width": 1
2022
+ }
2023
+ },
2024
+ {
2025
+ id: "poi-level-2",
2026
+ type: "symbol",
2027
+ source: "openmaptiles",
2028
+ "source-layer": "poi",
2029
+ minzoom: 15,
2030
+ filter: [
2031
+ "all",
2032
+ ["==", "$type", "Point"],
2033
+ ["<=", "rank", 24],
2034
+ [">=", "rank", 15],
2035
+ ["any", ["!has", "level"], ["==", "level", 0]]
2036
+ ],
2037
+ layout: {
2038
+ "icon-image": "{class}_11",
2039
+ "text-anchor": "top",
2040
+ "text-field": "{name:latin}\n{name:nonlatin}",
2041
+ "text-font": ["Noto Sans Regular"],
2042
+ "text-max-width": 9,
2043
+ "text-offset": [0, 0.6],
2044
+ "text-padding": 2,
2045
+ "text-size": 12,
2046
+ visibility: "visible"
2047
+ },
2048
+ paint: {
2049
+ "text-color": "#666",
2050
+ "text-halo-blur": 0.5,
2051
+ "text-halo-color": "#ffffff",
2052
+ "text-halo-width": 1
2053
+ }
2054
+ },
2055
+ {
2056
+ id: "poi-level-1",
2057
+ type: "symbol",
2058
+ source: "openmaptiles",
2059
+ "source-layer": "poi",
2060
+ minzoom: 14,
2061
+ filter: [
2062
+ "all",
2063
+ ["==", "$type", "Point"],
2064
+ ["<=", "rank", 14],
2065
+ ["has", "name"],
2066
+ ["any", ["!has", "level"], ["==", "level", 0]]
2067
+ ],
2068
+ layout: {
2069
+ "icon-image": "{class}_11",
2070
+ "text-anchor": "top",
2071
+ "text-field": "{name:latin}\n{name:nonlatin}",
2072
+ "text-font": ["Noto Sans Regular"],
2073
+ "text-max-width": 9,
2074
+ "text-offset": [0, 0.6],
2075
+ "text-padding": 2,
2076
+ "text-size": 12,
2077
+ visibility: "visible"
2078
+ },
2079
+ paint: {
2080
+ "text-color": "#666",
2081
+ "text-halo-blur": 0.5,
2082
+ "text-halo-color": "#ffffff",
2083
+ "text-halo-width": 1
2084
+ }
2085
+ },
2086
+ {
2087
+ id: "poi-railway",
2088
+ type: "symbol",
2089
+ source: "openmaptiles",
2090
+ "source-layer": "poi",
2091
+ minzoom: 13,
2092
+ filter: [
2093
+ "all",
2094
+ ["==", "$type", "Point"],
2095
+ ["has", "name"],
2096
+ ["==", "class", "railway"],
2097
+ ["==", "subclass", "station"]
2098
+ ],
2099
+ layout: {
2100
+ "icon-allow-overlap": false,
2101
+ "icon-ignore-placement": false,
2102
+ "icon-image": "{class}_11",
2103
+ "icon-optional": false,
2104
+ "text-allow-overlap": false,
2105
+ "text-anchor": "top",
2106
+ "text-field": "{name:latin}\n{name:nonlatin}",
2107
+ "text-font": ["Noto Sans Regular"],
2108
+ "text-ignore-placement": false,
2109
+ "text-max-width": 9,
2110
+ "text-offset": [0, 0.6],
2111
+ "text-optional": true,
2112
+ "text-padding": 2,
2113
+ "text-size": 12
2114
+ },
2115
+ paint: {
2116
+ "text-color": "#666",
2117
+ "text-halo-blur": 0.5,
2118
+ "text-halo-color": "#ffffff",
2119
+ "text-halo-width": 1
2120
+ }
2121
+ },
2122
+ {
2123
+ id: "highway-name-path",
2124
+ type: "symbol",
2125
+ source: "openmaptiles",
2126
+ "source-layer": "transportation_name",
2127
+ minzoom: 15.5,
2128
+ filter: ["==", "class", "path"],
2129
+ layout: {
2130
+ "symbol-placement": "line",
2131
+ "text-field": "{name:latin} {name:nonlatin}",
2132
+ "text-font": ["Noto Sans Regular"],
2133
+ "text-rotation-alignment": "map",
2134
+ "text-size": { base: 1, stops: [[13, 12], [14, 13]] }
2135
+ },
2136
+ paint: {
2137
+ "text-color": "hsl(30, 23%, 62%)",
2138
+ "text-halo-color": "#f8f4f0",
2139
+ "text-halo-width": 0.5
2140
+ }
2141
+ },
2142
+ {
2143
+ id: "highway-name-minor",
2144
+ type: "symbol",
2145
+ source: "openmaptiles",
2146
+ "source-layer": "transportation_name",
2147
+ minzoom: 15,
2148
+ filter: [
2149
+ "all",
2150
+ ["==", "$type", "LineString"],
2151
+ ["in", "class", "minor", "service", "track"]
2152
+ ],
2153
+ layout: {
2154
+ "symbol-placement": "line",
2155
+ "text-field": "{name:latin} {name:nonlatin}",
2156
+ "text-font": ["Noto Sans Regular"],
2157
+ "text-rotation-alignment": "map",
2158
+ "text-size": { base: 1, stops: [[13, 12], [14, 13]] }
2159
+ },
2160
+ paint: {
2161
+ "text-color": "#765",
2162
+ "text-halo-blur": 0.5,
2163
+ "text-halo-width": 1
2164
+ }
2165
+ },
2166
+ {
2167
+ id: "highway-name-major",
2168
+ type: "symbol",
2169
+ source: "openmaptiles",
2170
+ "source-layer": "transportation_name",
2171
+ minzoom: 12.2,
2172
+ filter: ["in", "class", "primary", "secondary", "tertiary", "trunk"],
2173
+ layout: {
2174
+ "symbol-placement": "line",
2175
+ "text-field": "{name:latin} {name:nonlatin}",
2176
+ "text-font": ["Noto Sans Regular"],
2177
+ "text-rotation-alignment": "map",
2178
+ "text-size": { base: 1, stops: [[13, 12], [14, 13]] }
2179
+ },
2180
+ paint: {
2181
+ "text-color": "#765",
2182
+ "text-halo-blur": 0.5,
2183
+ "text-halo-width": 1
2184
+ }
2185
+ },
2186
+ {
2187
+ id: "highway-shield",
2188
+ type: "symbol",
2189
+ source: "openmaptiles",
2190
+ "source-layer": "transportation_name",
2191
+ minzoom: 8,
2192
+ filter: [
2193
+ "all",
2194
+ ["<=", "ref_length", 6],
2195
+ ["==", "$type", "LineString"],
2196
+ ["!in", "network", "us-interstate", "us-highway", "us-state"]
2197
+ ],
2198
+ layout: {
2199
+ "icon-image": "road_{ref_length}",
2200
+ "icon-rotation-alignment": "viewport",
2201
+ "icon-size": 1,
2202
+ "symbol-placement": { base: 1, stops: [[10, "point"], [11, "line"]] },
2203
+ "symbol-spacing": 200,
2204
+ "text-field": "{ref}",
2205
+ "text-font": ["Noto Sans Regular"],
2206
+ "text-rotation-alignment": "viewport",
2207
+ "text-size": 10
2208
+ },
2209
+ paint: {}
2210
+ },
2211
+ {
2212
+ id: "highway-shield-us-interstate",
2213
+ type: "symbol",
2214
+ source: "openmaptiles",
2215
+ "source-layer": "transportation_name",
2216
+ minzoom: 7,
2217
+ filter: [
2218
+ "all",
2219
+ ["<=", "ref_length", 6],
2220
+ ["==", "$type", "LineString"],
2221
+ ["in", "network", "us-interstate"]
2222
+ ],
2223
+ layout: {
2224
+ "icon-image": "{network}_{ref_length}",
2225
+ "icon-rotation-alignment": "viewport",
2226
+ "icon-size": 1,
2227
+ "symbol-placement": {
2228
+ base: 1,
2229
+ stops: [[7, "point"], [7, "line"], [8, "line"]]
2230
+ },
2231
+ "symbol-spacing": 200,
2232
+ "text-field": "{ref}",
2233
+ "text-font": ["Noto Sans Regular"],
2234
+ "text-rotation-alignment": "viewport",
2235
+ "text-size": 10
2236
+ },
2237
+ paint: { "text-color": "rgba(0, 0, 0, 1)" }
2238
+ },
2239
+ {
2240
+ id: "highway-shield-us-other",
2241
+ type: "symbol",
2242
+ source: "openmaptiles",
2243
+ "source-layer": "transportation_name",
2244
+ minzoom: 9,
2245
+ filter: [
2246
+ "all",
2247
+ ["<=", "ref_length", 6],
2248
+ ["==", "$type", "LineString"],
2249
+ ["in", "network", "us-highway", "us-state"]
2250
+ ],
2251
+ layout: {
2252
+ "icon-image": "{network}_{ref_length}",
2253
+ "icon-rotation-alignment": "viewport",
2254
+ "icon-size": 1,
2255
+ "symbol-placement": { base: 1, stops: [[10, "point"], [11, "line"]] },
2256
+ "symbol-spacing": 200,
2257
+ "text-field": "{ref}",
2258
+ "text-font": ["Noto Sans Regular"],
2259
+ "text-rotation-alignment": "viewport",
2260
+ "text-size": 10
2261
+ },
2262
+ paint: { "text-color": "rgba(0, 0, 0, 1)" }
2263
+ },
2264
+ {
2265
+ id: "airport-label-major",
2266
+ type: "symbol",
2267
+ source: "openmaptiles",
2268
+ "source-layer": "aerodrome_label",
2269
+ minzoom: 10,
2270
+ filter: ["all", ["has", "iata"]],
2271
+ layout: {
2272
+ "icon-image": "airport_11",
2273
+ "icon-size": 1,
2274
+ "text-anchor": "top",
2275
+ "text-field": "{name:latin}\n{name:nonlatin}",
2276
+ "text-font": ["Noto Sans Regular"],
2277
+ "text-max-width": 9,
2278
+ "text-offset": [0, 0.6],
2279
+ "text-optional": true,
2280
+ "text-padding": 2,
2281
+ "text-size": 12,
2282
+ visibility: "visible"
2283
+ },
2284
+ paint: {
2285
+ "text-color": "#666",
2286
+ "text-halo-blur": 0.5,
2287
+ "text-halo-color": "#ffffff",
2288
+ "text-halo-width": 1
2289
+ }
2290
+ },
2291
+ {
2292
+ id: "place-other",
2293
+ type: "symbol",
2294
+ metadata: { "mapbox:group": "1444849242106.713" },
2295
+ source: "openmaptiles",
2296
+ "source-layer": "place",
2297
+ filter: [
2298
+ "!in",
2299
+ "class",
2300
+ "city",
2301
+ "town",
2302
+ "village",
2303
+ "state",
2304
+ "country",
2305
+ "continent"
2306
+ ],
2307
+ layout: {
2308
+ "text-field": "{name:latin}\n{name:nonlatin}",
2309
+ "text-font": ["Noto Sans Bold"],
2310
+ "text-letter-spacing": 0.1,
2311
+ "text-max-width": 9,
2312
+ "text-size": { base: 1.2, stops: [[12, 10], [15, 14]] },
2313
+ "text-transform": "uppercase",
2314
+ visibility: "visible"
2315
+ },
2316
+ paint: {
2317
+ "text-color": "#633",
2318
+ "text-halo-color": "rgba(255,255,255,0.8)",
2319
+ "text-halo-width": 1.2
2320
+ }
2321
+ },
2322
+ {
2323
+ id: "place-village",
2324
+ type: "symbol",
2325
+ metadata: { "mapbox:group": "1444849242106.713" },
2326
+ source: "openmaptiles",
2327
+ "source-layer": "place",
2328
+ filter: ["==", "class", "village"],
2329
+ layout: {
2330
+ "text-field": "{name:latin}\n{name:nonlatin}",
2331
+ "text-font": ["Noto Sans Regular"],
2332
+ "text-max-width": 8,
2333
+ "text-size": { base: 1.2, stops: [[10, 12], [15, 22]] },
2334
+ visibility: "visible"
2335
+ },
2336
+ paint: {
2337
+ "text-color": "#333",
2338
+ "text-halo-color": "rgba(255,255,255,0.8)",
2339
+ "text-halo-width": 1.2
2340
+ }
2341
+ },
2342
+ {
2343
+ id: "place-town",
2344
+ type: "symbol",
2345
+ metadata: { "mapbox:group": "1444849242106.713" },
2346
+ source: "openmaptiles",
2347
+ "source-layer": "place",
2348
+ filter: ["==", "class", "town"],
2349
+ layout: {
2350
+ "text-field": "{name:latin}\n{name:nonlatin}",
2351
+ "text-font": ["Noto Sans Regular"],
2352
+ "text-max-width": 8,
2353
+ "text-size": { base: 1.2, stops: [[10, 14], [15, 24]] },
2354
+ visibility: "visible"
2355
+ },
2356
+ paint: {
2357
+ "text-color": "#333",
2358
+ "text-halo-color": "rgba(255,255,255,0.8)",
2359
+ "text-halo-width": 1.2
2360
+ }
2361
+ },
2362
+ {
2363
+ id: "place-city",
2364
+ type: "symbol",
2365
+ metadata: { "mapbox:group": "1444849242106.713" },
2366
+ source: "openmaptiles",
2367
+ "source-layer": "place",
2368
+ filter: ["all", ["!=", "capital", 2], ["==", "class", "city"]],
2369
+ layout: {
2370
+ "text-field": "{name:latin}\n{name:nonlatin}",
2371
+ "text-font": ["Noto Sans Regular"],
2372
+ "text-max-width": 8,
2373
+ "text-size": { base: 1.2, stops: [[7, 14], [11, 24]] },
2374
+ visibility: "visible"
2375
+ },
2376
+ paint: {
2377
+ "text-color": "#333",
2378
+ "text-halo-color": "rgba(255,255,255,0.8)",
2379
+ "text-halo-width": 1.2
2380
+ }
2381
+ },
2382
+ {
2383
+ id: "place-city-capital",
2384
+ type: "symbol",
2385
+ metadata: { "mapbox:group": "1444849242106.713" },
2386
+ source: "openmaptiles",
2387
+ "source-layer": "place",
2388
+ filter: ["all", ["==", "capital", 2], ["==", "class", "city"]],
2389
+ layout: {
2390
+ "icon-image": "star_11",
2391
+ "icon-size": 0.8,
2392
+ "text-anchor": "left",
2393
+ "text-field": "{name:latin}\n{name:nonlatin}",
2394
+ "text-font": ["Noto Sans Regular"],
2395
+ "text-max-width": 8,
2396
+ "text-offset": [0.4, 0],
2397
+ "text-size": { base: 1.2, stops: [[7, 14], [11, 24]] },
2398
+ visibility: "visible"
2399
+ },
2400
+ paint: {
2401
+ "text-color": "#333",
2402
+ "text-halo-color": "rgba(255,255,255,0.8)",
2403
+ "text-halo-width": 1.2
2404
+ }
2405
+ },
2406
+ {
2407
+ id: "place-state",
2408
+ type: "symbol",
2409
+ metadata: { "mapbox:group": "1444849242106.713" },
2410
+ source: "openmaptiles",
2411
+ "source-layer": "place",
2412
+ filter: ["in", "class", "state"],
2413
+ layout: {
2414
+ "text-field": "{name:latin}",
2415
+ "text-font": ["Noto Sans Bold"],
2416
+ "text-letter-spacing": 0.1,
2417
+ "text-max-width": 9,
2418
+ "text-size": { base: 1.2, stops: [[12, 10], [15, 14]] },
2419
+ "text-transform": "uppercase",
2420
+ visibility: "visible"
2421
+ },
2422
+ paint: {
2423
+ "text-color": "#633",
2424
+ "text-halo-color": "rgba(255,255,255,0.8)",
2425
+ "text-halo-width": 1.2
2426
+ }
2427
+ },
2428
+ {
2429
+ id: "place-country-other",
2430
+ type: "symbol",
2431
+ metadata: { "mapbox:group": "1444849242106.713" },
2432
+ source: "openmaptiles",
2433
+ "source-layer": "place",
2434
+ filter: [
2435
+ "all",
2436
+ ["==", "class", "country"],
2437
+ [">=", "rank", 3],
2438
+ ["!has", "iso_a2"]
2439
+ ],
2440
+ layout: {
2441
+ "text-field": "{name:latin}",
2442
+ "text-font": ["Noto Sans Italic"],
2443
+ "text-max-width": 6.25,
2444
+ "text-size": { stops: [[3, 11], [7, 17]] },
2445
+ "text-transform": "uppercase",
2446
+ visibility: "visible"
2447
+ },
2448
+ paint: {
2449
+ "text-color": "#334",
2450
+ "text-halo-blur": 1,
2451
+ "text-halo-color": "rgba(255,255,255,0.8)",
2452
+ "text-halo-width": 2
2453
+ }
2454
+ },
2455
+ {
2456
+ id: "place-country-3",
2457
+ type: "symbol",
2458
+ metadata: { "mapbox:group": "1444849242106.713" },
2459
+ source: "openmaptiles",
2460
+ "source-layer": "place",
2461
+ filter: [
2462
+ "all",
2463
+ ["==", "class", "country"],
2464
+ [">=", "rank", 3],
2465
+ ["has", "iso_a2"]
2466
+ ],
2467
+ layout: {
2468
+ "text-field": "{name:latin}",
2469
+ "text-font": ["Noto Sans Bold"],
2470
+ "text-max-width": 6.25,
2471
+ "text-size": { stops: [[3, 11], [7, 17]] },
2472
+ "text-transform": "uppercase",
2473
+ visibility: "visible"
2474
+ },
2475
+ paint: {
2476
+ "text-color": "#334",
2477
+ "text-halo-blur": 1,
2478
+ "text-halo-color": "rgba(255,255,255,0.8)",
2479
+ "text-halo-width": 2
2480
+ }
2481
+ },
2482
+ {
2483
+ id: "place-country-2",
2484
+ type: "symbol",
2485
+ metadata: { "mapbox:group": "1444849242106.713" },
2486
+ source: "openmaptiles",
2487
+ "source-layer": "place",
2488
+ filter: [
2489
+ "all",
2490
+ ["==", "class", "country"],
2491
+ ["==", "rank", 2],
2492
+ ["has", "iso_a2"]
2493
+ ],
2494
+ layout: {
2495
+ "text-field": "{name:latin}",
2496
+ "text-font": ["Noto Sans Bold"],
2497
+ "text-max-width": 6.25,
2498
+ "text-size": { stops: [[2, 11], [5, 17]] },
2499
+ "text-transform": "uppercase",
2500
+ visibility: "visible"
2501
+ },
2502
+ paint: {
2503
+ "text-color": "#334",
2504
+ "text-halo-blur": 1,
2505
+ "text-halo-color": "rgba(255,255,255,0.8)",
2506
+ "text-halo-width": 2
2507
+ }
2508
+ },
2509
+ {
2510
+ id: "place-country-1",
2511
+ type: "symbol",
2512
+ metadata: { "mapbox:group": "1444849242106.713" },
2513
+ source: "openmaptiles",
2514
+ "source-layer": "place",
2515
+ filter: [
2516
+ "all",
2517
+ ["==", "class", "country"],
2518
+ ["==", "rank", 1],
2519
+ ["has", "iso_a2"]
2520
+ ],
2521
+ layout: {
2522
+ "text-field": "{name:latin}",
2523
+ "text-font": ["Noto Sans Bold"],
2524
+ "text-max-width": 6.25,
2525
+ "text-size": { stops: [[1, 11], [4, 17]] },
2526
+ "text-transform": "uppercase",
2527
+ visibility: "visible"
2528
+ },
2529
+ paint: {
2530
+ "text-color": "#334",
2531
+ "text-halo-blur": 1,
2532
+ "text-halo-color": "rgba(255,255,255,0.8)",
2533
+ "text-halo-width": 2
2534
+ }
2535
+ },
2536
+ {
2537
+ id: "place-continent",
2538
+ type: "symbol",
2539
+ metadata: { "mapbox:group": "1444849242106.713" },
2540
+ source: "openmaptiles",
2541
+ "source-layer": "place",
2542
+ maxzoom: 1,
2543
+ filter: ["==", "class", "continent"],
2544
+ layout: {
2545
+ "text-field": "{name:latin}",
2546
+ "text-font": ["Noto Sans Bold"],
2547
+ "text-max-width": 6.25,
2548
+ "text-size": 14,
2549
+ "text-transform": "uppercase",
2550
+ visibility: "visible"
2551
+ },
2552
+ paint: {
2553
+ "text-color": "#334",
2554
+ "text-halo-blur": 1,
2555
+ "text-halo-color": "rgba(255,255,255,0.8)",
2556
+ "text-halo-width": 2
2557
+ }
2558
+ }
2559
+ ],
2560
+ id: "bright"
2561
+ };
2562
+
1
2563
  // src/basemaps.ts
2
2564
  function osm(options = {}) {
3
2565
  return {
@@ -319,6 +2881,46 @@ function createStyle(input = {}, options = {}) {
319
2881
  const tilesUrl = config.tiles?.url ?? basemap.url ?? `${tileBaseUrl}/tiles/${tileset}/tiles.json`;
320
2882
  const typography = resolveTypography(config.typography, theme.typography);
321
2883
  const terrain = resolveTerrain(config.terrain, tileBaseUrl);
2884
+ const glyphs = config.glyphs ?? basemap.glyphs ?? `${tileBaseUrl}/fonts/{fontstack}/{range}.pbf`;
2885
+ const sprite = config.sprite ?? basemap.sprite;
2886
+ const attribution = config.tiles?.attribution ?? basemap.attribution ?? "\xA9 OpenMapTiles \xA9 OpenStreetMap contributors";
2887
+ const metadata = {
2888
+ "tileflow:basemap": basemap.type,
2889
+ "tileflow:theme": theme.name,
2890
+ "tileflow:themeMode": theme.mode,
2891
+ "tileflow:density": density,
2892
+ "tileflow:roads": roads2,
2893
+ "tileflow:labels": labels,
2894
+ "tileflow:poi": poi,
2895
+ "tileflow:buildings": buildings,
2896
+ "tileflow:modules": config.modules?.map((moduleConfig) => moduleConfig.type) ?? [],
2897
+ "tileflow:terrain": terrain ? {
2898
+ encoding: terrain.source.encoding,
2899
+ mode: terrain.mode,
2900
+ sourceId: terrain.sourceId
2901
+ } : void 0,
2902
+ "tileflow:typography": typography,
2903
+ "tileflow:colors": colors,
2904
+ "tileflow:tileBaseUrl": tileBaseUrl,
2905
+ "tileflow:tileset": tileset,
2906
+ "tileflow:tiles": "tileflow",
2907
+ "tileflow:view": config.view
2908
+ };
2909
+ if (shouldUseOsmBrightTemplate(config, basemap, theme)) {
2910
+ return createOsmBrightStyle({
2911
+ attribution,
2912
+ colors,
2913
+ glyphs,
2914
+ metadata,
2915
+ name: config.name ?? "OSM Bright",
2916
+ sourceId,
2917
+ sprite,
2918
+ terrain,
2919
+ theme,
2920
+ tilesUrl,
2921
+ typography
2922
+ });
2923
+ }
322
2924
  const sourceLayers = resolveSourceLayers(
323
2925
  {
324
2926
  ...defaultSourceLayers,
@@ -339,13 +2941,13 @@ function createStyle(input = {}, options = {}) {
339
2941
  const style = {
340
2942
  version: 8,
341
2943
  name: config.name ?? "Tileflow",
342
- glyphs: config.glyphs ?? basemap.glyphs ?? `${tileBaseUrl}/fonts/{fontstack}/{range}.pbf`,
343
- ...config.sprite || basemap.sprite ? { sprite: config.sprite ?? basemap.sprite } : {},
2944
+ glyphs,
2945
+ ...sprite ? { sprite } : {},
344
2946
  sources: {
345
2947
  [sourceId]: {
346
2948
  type: "vector",
347
2949
  url: tilesUrl,
348
- attribution: config.tiles?.attribution ?? basemap.attribution ?? "\xA9 OpenMapTiles \xA9 OpenStreetMap contributors"
2950
+ attribution
349
2951
  },
350
2952
  ...terrain ? {
351
2953
  [terrain.sourceId]: terrain.source
@@ -358,28 +2960,7 @@ function createStyle(input = {}, options = {}) {
358
2960
  source: terrain.sourceId
359
2961
  }
360
2962
  } : {},
361
- metadata: {
362
- "tileflow:basemap": basemap.type,
363
- "tileflow:theme": theme.name,
364
- "tileflow:themeMode": theme.mode,
365
- "tileflow:density": density,
366
- "tileflow:roads": roads2,
367
- "tileflow:labels": labels,
368
- "tileflow:poi": poi,
369
- "tileflow:buildings": buildings,
370
- "tileflow:modules": config.modules?.map((moduleConfig) => moduleConfig.type) ?? [],
371
- "tileflow:terrain": terrain ? {
372
- encoding: terrain.source.encoding,
373
- mode: terrain.mode,
374
- sourceId: terrain.sourceId
375
- } : void 0,
376
- "tileflow:typography": typography,
377
- "tileflow:colors": colors,
378
- "tileflow:tileBaseUrl": tileBaseUrl,
379
- "tileflow:tileset": tileset,
380
- "tileflow:tiles": "tileflow",
381
- "tileflow:view": config.view
382
- }
2963
+ metadata
383
2964
  };
384
2965
  return style;
385
2966
  }
@@ -393,6 +2974,7 @@ function createStyleFromProject(projectConfig, mapName, options = {}) {
393
2974
  const resolvedTileset = tilesetConfig?.id ?? tilesetName ?? defaultTileset;
394
2975
  const baseBasemap = config.basemap ?? osm();
395
2976
  const { sourceLayers: tileSourceLayers, ...tileOptions } = config.tiles ?? {};
2977
+ const resolvedBasemapSourceLayers = baseBasemap.sourceLayers || tilesetConfig?.sourceLayers ? resolveSourceLayers(baseBasemap.sourceLayers, tilesetConfig?.sourceLayers) : void 0;
396
2978
  const resolvedTileSourceLayers = baseBasemap.sourceLayers || !tileSourceLayers ? void 0 : resolveSourceLayers(tileSourceLayers, tilesetConfig?.sourceLayers);
397
2979
  return createStyle(
398
2980
  {
@@ -402,7 +2984,7 @@ function createStyleFromProject(projectConfig, mapName, options = {}) {
402
2984
  ...baseBasemap,
403
2985
  tileset: resolvedTileset,
404
2986
  attribution: baseBasemap.attribution ?? tilesetConfig?.attribution,
405
- sourceLayers: resolveSourceLayers(baseBasemap.sourceLayers, tilesetConfig?.sourceLayers)
2987
+ ...resolvedBasemapSourceLayers ? { sourceLayers: resolvedBasemapSourceLayers } : {}
406
2988
  },
407
2989
  tiles: {
408
2990
  ...tileOptions,
@@ -437,7 +3019,7 @@ function getDefaultColors() {
437
3019
  }
438
3020
  function resolveTheme(theme, projectThemes) {
439
3021
  if (!theme) {
440
- return resolveLegacyTheme("standard");
3022
+ return resolveLegacyTheme("light");
441
3023
  }
442
3024
  if (typeof theme === "string") {
443
3025
  const projectTheme = projectThemes?.[theme];
@@ -455,6 +3037,7 @@ function resolveLegacyTheme(theme) {
455
3037
  const preset = themePresets[theme];
456
3038
  return {
457
3039
  colors: preset.colors,
3040
+ custom: false,
458
3041
  mode: theme === "dark" ? "dark" : "light",
459
3042
  name: theme,
460
3043
  preset,
@@ -469,6 +3052,7 @@ function resolveThemeConfig(name, theme) {
469
3052
  ...preset.colors,
470
3053
  ...colors
471
3054
  },
3055
+ custom: true,
472
3056
  mode: theme.mode,
473
3057
  name,
474
3058
  preset,
@@ -569,6 +3153,158 @@ function resolveSourceLayers(mapLayers, tilesetLayers) {
569
3153
  ...mapLayers
570
3154
  };
571
3155
  }
3156
+ function shouldUseOsmBrightTemplate(config, basemap, theme) {
3157
+ const templateTheme = theme.custom || theme.name === "light" || theme.name === "dark";
3158
+ return basemap.type === "osm" && templateTheme && !config.colors && !config.typography && !config.density && !config.roads && !config.labels && !config.poi && !config.buildings && !config.modules?.length && !basemap.sourceLayers && !config.tiles?.sourceLayers;
3159
+ }
3160
+ function createOsmBrightStyle(options) {
3161
+ const template = cloneJson(style_default);
3162
+ const layers = template.layers.map((layer) => remapOsmBrightSource(layer, options.sourceId));
3163
+ const themedLayers = applyOsmBrightTheme(
3164
+ layers,
3165
+ options.colors,
3166
+ options.theme,
3167
+ options.typography
3168
+ );
3169
+ const resolvedLayers = options.terrain ? withTerrainLayers(themedLayers, options.terrain) : themedLayers;
3170
+ return {
3171
+ ...template,
3172
+ name: options.name,
3173
+ glyphs: options.glyphs,
3174
+ ...options.sprite || template.sprite ? { sprite: options.sprite ?? template.sprite } : {},
3175
+ sources: {
3176
+ [options.sourceId]: {
3177
+ type: "vector",
3178
+ url: options.tilesUrl,
3179
+ attribution: options.attribution
3180
+ },
3181
+ ...options.terrain ? {
3182
+ [options.terrain.sourceId]: options.terrain.source
3183
+ } : {}
3184
+ },
3185
+ layers: resolvedLayers,
3186
+ ...options.terrain?.mode === "3d" ? {
3187
+ terrain: {
3188
+ exaggeration: options.terrain.exaggeration,
3189
+ source: options.terrain.sourceId
3190
+ }
3191
+ } : {},
3192
+ metadata: {
3193
+ ...template.metadata ?? {},
3194
+ ...options.metadata,
3195
+ "tileflow:template": "openmaptiles-osm-bright"
3196
+ }
3197
+ };
3198
+ }
3199
+ function cloneJson(value) {
3200
+ return JSON.parse(JSON.stringify(value));
3201
+ }
3202
+ function remapOsmBrightSource(layer, sourceId) {
3203
+ if (layer.source !== "openmaptiles") {
3204
+ return layer;
3205
+ }
3206
+ return {
3207
+ ...layer,
3208
+ source: sourceId
3209
+ };
3210
+ }
3211
+ function applyOsmBrightTheme(layers, colors, theme, typography) {
3212
+ if (!theme.custom && theme.name === "light") {
3213
+ return layers;
3214
+ }
3215
+ return layers.map((layer) => {
3216
+ const type = stringValue(layer.type);
3217
+ const sourceLayer = stringValue(layer["source-layer"]);
3218
+ const id = stringValue(layer.id);
3219
+ const nextLayer = { ...layer };
3220
+ const paint = isRecord(layer.paint) ? { ...layer.paint } : {};
3221
+ const layout = isRecord(layer.layout) ? { ...layer.layout } : {};
3222
+ let paintChanged = false;
3223
+ let layoutChanged = false;
3224
+ if (type === "background") {
3225
+ paint["background-color"] = colors.canvas;
3226
+ paintChanged = true;
3227
+ }
3228
+ if (type === "fill") {
3229
+ const fillColor = osmBrightFillColor(id, sourceLayer, colors);
3230
+ if (fillColor) {
3231
+ paint["fill-color"] = fillColor;
3232
+ paintChanged = true;
3233
+ }
3234
+ }
3235
+ if (type === "line") {
3236
+ const lineColor = osmBrightLineColor(id, sourceLayer, colors);
3237
+ if (lineColor) {
3238
+ paint["line-color"] = lineColor;
3239
+ paintChanged = true;
3240
+ }
3241
+ }
3242
+ if (type === "symbol") {
3243
+ const textColor = osmBrightTextColor(id, sourceLayer, colors);
3244
+ if (textColor && ("text-color" in paint || id.includes("label") || id.includes("name"))) {
3245
+ paint["text-color"] = textColor;
3246
+ paintChanged = true;
3247
+ }
3248
+ if ("text-halo-color" in paint) {
3249
+ paint["text-halo-color"] = colors.textHalo;
3250
+ paintChanged = true;
3251
+ }
3252
+ if (theme.custom && "text-font" in layout) {
3253
+ layout["text-font"] = textFont(typography);
3254
+ layoutChanged = true;
3255
+ }
3256
+ }
3257
+ if (paintChanged) {
3258
+ nextLayer.paint = paint;
3259
+ }
3260
+ if (layoutChanged) {
3261
+ nextLayer.layout = layout;
3262
+ }
3263
+ return nextLayer;
3264
+ });
3265
+ }
3266
+ function osmBrightFillColor(id, sourceLayer, colors) {
3267
+ if (sourceLayer === "water" || id.includes("water")) {
3268
+ return colors.water;
3269
+ }
3270
+ if (sourceLayer === "building") {
3271
+ return colors.building;
3272
+ }
3273
+ if (sourceLayer === "landcover" || id.includes("park") || id.includes("wood")) {
3274
+ return colors.nature;
3275
+ }
3276
+ if (sourceLayer === "landuse" || id.includes("landuse")) {
3277
+ return colors.land;
3278
+ }
3279
+ return void 0;
3280
+ }
3281
+ function osmBrightLineColor(id, sourceLayer, colors) {
3282
+ if (sourceLayer === "transportation") {
3283
+ return id.includes("case") || id.includes("casing") ? colors.roadCasing : colors.road;
3284
+ }
3285
+ if (sourceLayer === "waterway") {
3286
+ return colors.water;
3287
+ }
3288
+ if (sourceLayer === "boundary") {
3289
+ return colors.textMuted;
3290
+ }
3291
+ return void 0;
3292
+ }
3293
+ function osmBrightTextColor(id, sourceLayer, colors) {
3294
+ if (sourceLayer === "water_name" || id.includes("water")) {
3295
+ return colors.water;
3296
+ }
3297
+ if (sourceLayer === "transportation_name") {
3298
+ return colors.textMuted;
3299
+ }
3300
+ return colors.text;
3301
+ }
3302
+ function isRecord(value) {
3303
+ return Boolean(value && typeof value === "object" && !Array.isArray(value));
3304
+ }
3305
+ function stringValue(value) {
3306
+ return typeof value === "string" ? value : "";
3307
+ }
572
3308
  function normalizeBaseUrl(value) {
573
3309
  return normalizeUrl(value ?? defaultTileBaseUrl);
574
3310
  }