@versatiles/style 5.9.0 → 5.9.1

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 (54) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.js.map +1 -1
  3. package/package.json +2 -3
  4. package/src/color/abstract.ts +0 -202
  5. package/src/color/hsl.test.ts +0 -176
  6. package/src/color/hsl.ts +0 -193
  7. package/src/color/hsv.test.ts +0 -169
  8. package/src/color/hsv.ts +0 -189
  9. package/src/color/index.test.ts +0 -187
  10. package/src/color/index.ts +0 -37
  11. package/src/color/random.test.ts +0 -111
  12. package/src/color/random.ts +0 -269
  13. package/src/color/rgb.test.ts +0 -218
  14. package/src/color/rgb.ts +0 -371
  15. package/src/color/utils.test.ts +0 -85
  16. package/src/color/utils.ts +0 -17
  17. package/src/guess_style/guess_style.test.ts +0 -140
  18. package/src/guess_style/guess_style.ts +0 -251
  19. package/src/guess_style/index.ts +0 -2
  20. package/src/index.test.ts +0 -131
  21. package/src/index.ts +0 -123
  22. package/src/lib/utils.test.ts +0 -281
  23. package/src/lib/utils.ts +0 -123
  24. package/src/shortbread/index.ts +0 -2
  25. package/src/shortbread/layers.test.ts +0 -81
  26. package/src/shortbread/layers.ts +0 -602
  27. package/src/shortbread/properties.test.ts +0 -44
  28. package/src/shortbread/properties.ts +0 -156
  29. package/src/shortbread/template.test.ts +0 -49
  30. package/src/shortbread/template.ts +0 -336
  31. package/src/style_builder/decorator.test.ts +0 -68
  32. package/src/style_builder/decorator.ts +0 -150
  33. package/src/style_builder/recolor.test.ts +0 -328
  34. package/src/style_builder/recolor.ts +0 -244
  35. package/src/style_builder/style_builder.test.ts +0 -148
  36. package/src/style_builder/style_builder.ts +0 -141
  37. package/src/style_builder/types.ts +0 -154
  38. package/src/styles/LICENSE.md +0 -41
  39. package/src/styles/colorful.test.ts +0 -91
  40. package/src/styles/colorful.ts +0 -1177
  41. package/src/styles/eclipse.ts +0 -11
  42. package/src/styles/empty.ts +0 -10
  43. package/src/styles/graybeard.ts +0 -11
  44. package/src/styles/index.ts +0 -34
  45. package/src/styles/neutrino.ts +0 -427
  46. package/src/styles/satellite.test.ts +0 -146
  47. package/src/styles/satellite.ts +0 -106
  48. package/src/styles/shadow.ts +0 -11
  49. package/src/types/index.ts +0 -5
  50. package/src/types/maplibre.ts +0 -25
  51. package/src/types/tilejson.test.ts +0 -96
  52. package/src/types/tilejson.ts +0 -147
  53. package/src/types/vector_layer.test.ts +0 -68
  54. package/src/types/vector_layer.ts +0 -67
@@ -1,1177 +0,0 @@
1
- import { StyleBuilder } from '../style_builder/style_builder.js';
2
- import type { StyleBuilderColors, StyleRules, StyleRulesOptions } from '../style_builder/types.js';
3
-
4
- export default class Colorful extends StyleBuilder {
5
- public readonly name: string = 'Colorful';
6
-
7
- public defaultFonts = {
8
- regular: 'noto_sans_regular',
9
- bold: 'noto_sans_bold',
10
- };
11
-
12
- public defaultColors: StyleBuilderColors = {
13
- /** Color for land areas on the map. */
14
- land: '#F9F4EE',
15
-
16
- /** Color for water bodies like lakes and rivers. */
17
- water: '#BEDDF3',
18
-
19
- /** Color for glacier areas, usually shown as white. */
20
- glacier: '#FFFFFF',
21
-
22
- /** Color for wooded or forested areas. */
23
- wood: '#66AA44',
24
-
25
- /** Color for grasslands or open fields. */
26
- grass: '#D8E8C8',
27
-
28
- /** Color for parks and recreational areas. */
29
- park: '#D9D9A5',
30
-
31
- /** Color for streets and roads on the map. */
32
- street: '#FFFFFF',
33
-
34
- /** Background color for streets. */
35
- streetbg: '#CFCDCA',
36
-
37
- /** Color for major highways or motorways. */
38
- motorway: '#FFCC88',
39
-
40
- /** Background color for motorways. */
41
- motorwaybg: '#E9AC77',
42
-
43
- /** Color for trunk roads. */
44
- trunk: '#FFEEAA',
45
-
46
- /** Background color for trunk roads. */
47
- trunkbg: '#E9AC77',
48
-
49
- /** Background color for buildings. */
50
- buildingbg: '#DFDBD7',
51
-
52
- /** Primary color for buildings. */
53
- building: '#F2EAE2',
54
-
55
- /** Color used for boundaries. */
56
- boundary: '#A6A6C8',
57
-
58
- /** Color used for disputed boundaries. */
59
- disputed: '#BEBCCF',
60
-
61
- /** Color used for residential areas. */
62
- residential: '#EAE6E133',
63
-
64
- /** Color used for commercial areas. */
65
- commercial: '#F7DEED40',
66
-
67
- /** Color used for industrial areas. */
68
- industrial: '#FFF4C255',
69
-
70
- /** Color used for footpaths and pedestrian areas. */
71
- foot: '#FBEBFF',
72
-
73
- /** Primary color used for labels. */
74
- label: '#333344',
75
-
76
- /** Color used for label halos. */
77
- labelHalo: '#FFFFFFCC',
78
-
79
- /** Color used for shields on maps. */
80
- shield: '#FFFFFF',
81
-
82
- /** Color used for agriculture areas. */
83
- agriculture: '#F0E7D1',
84
-
85
- /** Color used for railways. */
86
- rail: '#B1BBC4',
87
-
88
- /** Color used for subways and underground systems. */
89
- subway: '#A6B8C7',
90
-
91
- /** Color used for cycle paths. */
92
- cycle: '#EFF9FF',
93
-
94
- /** Color used for waste areas. */
95
- waste: '#DBD6BD',
96
-
97
- /** Color used for burial and cemetery areas. */
98
- burial: '#DDDBCA',
99
-
100
- /** Color used for sand areas like beaches. */
101
- sand: '#FAFAED',
102
-
103
- /** Color used for rocky terrain. */
104
- rock: '#E0E4E5',
105
-
106
- /** Color used for leisure areas like parks and gardens. */
107
- leisure: '#E7EDDE',
108
-
109
- /** Color used for wetland areas like marshes. */
110
- wetland: '#D3E6DB',
111
-
112
- /** Color used for various symbols on the map. */
113
- symbol: '#66626A',
114
-
115
- /** Color indicating danger or warning areas. */
116
- danger: '#FF0000',
117
-
118
- /** Color used for prison areas. */
119
- prison: '#FDF2FC',
120
-
121
- /** Color used for parking areas. */
122
- parking: '#EBE8E6',
123
-
124
- /** Color used for construction sites. */
125
- construction: '#A9A9A9',
126
-
127
- /** Color used for educational facilities. */
128
- education: '#FFFF80',
129
-
130
- /** Color used for hospitals and medical facilities. */
131
- hospital: '#FF6666',
132
-
133
- /** Color used for points of interest. */
134
- poi: '#555555',
135
- };
136
-
137
- protected getStyleRules(options: StyleRulesOptions): StyleRules {
138
- const { colors, fonts } = options;
139
- return {
140
- // background
141
- background: {
142
- color: colors.land,
143
- },
144
-
145
- // boundary
146
- 'boundary-{country,state}:outline': {
147
- color: colors.land.lighten(0.1),
148
- lineBlur: 1,
149
- lineCap: 'round',
150
- lineJoin: 'round',
151
- },
152
- 'boundary-{country,state}': {
153
- color: colors.boundary,
154
- lineCap: 'round',
155
- lineJoin: 'round',
156
- },
157
- 'boundary-country{-disputed,}:outline': {
158
- size: { 2: 0, 3: 2, 10: 8 },
159
- opacity: 0.75,
160
- color: colors.land.lighten(0.05),
161
- },
162
- 'boundary-country{-disputed,}': {
163
- size: { 2: 0, 3: 1, 10: 4 },
164
- },
165
- 'boundary-country-disputed': {
166
- color: colors.disputed,
167
- lineDasharray: [2, 1],
168
- lineCap: 'square',
169
- },
170
- 'boundary-state:outline': {
171
- size: { 7: 0, 8: 2, 10: 4 },
172
- opacity: 0.75,
173
- },
174
- 'boundary-state': {
175
- size: { 7: 0, 8: 1, 10: 2 },
176
- },
177
-
178
- // water
179
-
180
- 'water-*': {
181
- color: colors.water,
182
- lineCap: 'round',
183
- lineJoin: 'round',
184
- },
185
- 'water-area': {
186
- opacity: { 4: 0, 6: 1 },
187
- },
188
- 'water-area-*': {
189
- opacity: { 4: 0, 6: 1 },
190
- },
191
- 'water-{pier,dam}-area': {
192
- color: colors.land,
193
- opacity: { 12: 0, 13: 1 },
194
- },
195
- 'water-pier': {
196
- color: colors.land,
197
- },
198
- 'water-river': {
199
- lineWidth: { 9: 0, 10: 3, 15: 5, 17: 9, 18: 20, 20: 60 },
200
- },
201
- 'water-canal': {
202
- lineWidth: { 9: 0, 10: 2, 15: 4, 17: 8, 18: 17, 20: 50 },
203
- },
204
- 'water-stream': {
205
- lineWidth: { 13: 0, 14: 1, 15: 2, 17: 6, 18: 12, 20: 30 },
206
- },
207
- 'water-ditch': {
208
- lineWidth: { 14: 0, 15: 1, 17: 4, 18: 8, 20: 20 },
209
- },
210
-
211
- // land
212
-
213
- 'land-*': {
214
- color: colors.land,
215
- },
216
- 'land-glacier': {
217
- color: colors.glacier,
218
- },
219
- 'land-forest': {
220
- color: colors.wood,
221
- opacity: { 7: 0, 8: 0.1 },
222
- },
223
- 'land-grass': {
224
- color: colors.grass,
225
- opacity: { 11: 0, 12: 1 },
226
- },
227
- 'land-{park,garden,vegetation}': {
228
- color: colors.park,
229
- opacity: { 11: 0, 12: 1 },
230
- },
231
- 'land-agriculture': {
232
- color: colors.agriculture,
233
- opacity: { 10: 0, 11: 1 },
234
- },
235
- 'land-residential': {
236
- color: colors.residential,
237
- opacity: { 10: 0, 11: 1 },
238
- },
239
- 'land-commercial': {
240
- color: colors.commercial,
241
- opacity: { 10: 0, 11: 1 },
242
- },
243
- 'land-industrial': {
244
- color: colors.industrial,
245
- opacity: { 10: 0, 11: 1 },
246
- },
247
- 'land-waste': {
248
- color: colors.waste,
249
- opacity: { 10: 0, 11: 1 },
250
- },
251
- 'land-burial': {
252
- color: colors.burial,
253
- opacity: { 13: 0, 14: 1 },
254
- },
255
- 'land-leisure': {
256
- color: colors.leisure,
257
- },
258
- 'land-rock': {
259
- color: colors.rock,
260
- },
261
- 'land-sand': {
262
- color: colors.sand,
263
- },
264
- 'land-wetland': {
265
- color: colors.wetland,
266
- },
267
-
268
- // site
269
-
270
- 'site-dangerarea': {
271
- color: colors.danger,
272
- fillOutlineColor: colors.danger,
273
- opacity: 0.3,
274
- image: 'basics:pattern-warning',
275
- },
276
- 'site-hospital': {
277
- color: colors.hospital,
278
- opacity: 0.1,
279
- },
280
- 'site-prison': {
281
- color: colors.prison,
282
- image: 'basics:pattern-striped',
283
- opacity: 0.1,
284
- },
285
- 'site-construction': {
286
- color: colors.construction,
287
- image: 'basics:pattern-hatched_thin',
288
- opacity: 0.1,
289
- },
290
- 'site-{university,college,school}': {
291
- color: colors.education,
292
- opacity: 0.1,
293
- },
294
- 'site-{bicycleparking,parking}': {
295
- color: colors.parking,
296
- },
297
-
298
- // building
299
-
300
- 'building:outline': {
301
- color: colors.buildingbg,
302
- opacity: { 14: 0, 15: 1 },
303
- },
304
- building: {
305
- // fake 2.5d with translate
306
- color: colors.building,
307
- opacity: { 14: 0, 15: 1 },
308
- fillTranslate: [-2, -2],
309
- },
310
-
311
- // airport
312
- 'airport-area': {
313
- color: colors.street,
314
- opacity: 0.5,
315
- },
316
- 'airport-{runway,taxiway}:outline': {
317
- color: colors.streetbg,
318
- lineJoin: 'round',
319
- },
320
- 'airport-{runway,taxiway}': {
321
- color: colors.street,
322
- lineJoin: 'round',
323
- },
324
- 'airport-runway:outline': {
325
- size: { 11: 0, 12: 6, 13: 9, 14: 16, 15: 24, 16: 40, 17: 100, 18: 160, 20: 300 },
326
- },
327
- 'airport-runway': {
328
- size: { 11: 0, 12: 5, 13: 8, 14: 14, 15: 22, 16: 38, 17: 98, 18: 158, 20: 298 },
329
- opacity: { 11: 0, 12: 1 },
330
- },
331
- 'airport-taxiway:outline': {
332
- size: { 13: 0, 14: 2, 15: 10, 16: 14, 18: 20, 20: 40 },
333
- },
334
- 'airport-taxiway': {
335
- size: { 13: 0, 14: 1, 15: 8, 16: 12, 18: 18, 20: 36 },
336
- opacity: { 13: 0, 14: 1 },
337
- },
338
-
339
- // bridge
340
-
341
- bridge: {
342
- color: colors.land.darken(0.02),
343
- fillAntialias: true,
344
- opacity: 0.8,
345
- },
346
-
347
- // street
348
-
349
- // colors and joins
350
- '{tunnel-,bridge-,}street-*:outline': {
351
- color: colors.streetbg,
352
- lineJoin: 'round',
353
- },
354
- '{tunnel-,bridge-,}street-*': {
355
- color: colors.street,
356
- lineJoin: 'round',
357
- },
358
- 'tunnel-street-*:outline': {
359
- color: colors.street.darken(0.13),
360
- },
361
- 'tunnel-street-*': {
362
- color: colors.street.darken(0.03),
363
- },
364
- 'bridge-street-*:outline': {
365
- color: colors.street.darken(0.15),
366
- },
367
-
368
- // streets and ways, line caps
369
- '{tunnel-,}{street,way}-*': {
370
- lineCap: 'round',
371
- },
372
- '{tunnel-,}{street,way}-*:outline': {
373
- lineCap: 'round',
374
- },
375
- 'bridge-{street,way}-*': {
376
- lineCap: 'butt',
377
- },
378
- 'bridge-{street,way}-*:outline': {
379
- lineCap: 'butt',
380
- },
381
-
382
- // faux bridges
383
- 'bridge-{street,way}-*:bridge': {
384
- lineCap: 'butt',
385
- lineJoin: 'round',
386
- color: colors.land.darken(0.02),
387
- fillAntialias: true,
388
- opacity: 0.5,
389
- },
390
- 'bridge-street-motorway:bridge': {
391
- size: { '5': 0, '6': 3, '10': 7, '14': 7, '16': 20, '18': 53, '19': 118, '20': 235 },
392
- },
393
- 'bridge-street-trunk:bridge': {
394
- size: { '7': 0, '8': 3, '10': 6, '14': 8, '16': 17, '18': 50, '19': 104, '20': 202 },
395
- },
396
- 'bridge-street-primary:bridge': {
397
- size: { '8': 0, '9': 1, '10': 6, '14': 8, '16': 17, '18': 50, '19': 104, '20': 202 },
398
- },
399
- 'bridge-street-secondary:bridge': {
400
- size: { '11': 3, '14': 7, '16': 11, '18': 42, '19': 95, '20': 193 },
401
- opacity: { '11': 0, '12': 1 },
402
- },
403
- 'bridge-street-motorway-link:bridge': {
404
- minzoom: 12,
405
- size: { '12': 3, '14': 4, '16': 10, '18': 20, '20': 56 },
406
- },
407
- 'bridge-street-{trunk,primary,secondary}-link:bridge': {
408
- minzoom: 13,
409
- size: { '12': 3, '14': 4, '16': 10, '18': 20, '20': 56 },
410
- },
411
- 'bridge-street-{tertiary,tertiary-link,unclassified,residential,livingstreet,pedestrian}*:bridge': {
412
- size: { '12': 3, '14': 4, '16': 8, '18': 36, '19': 90, '20': 179 },
413
- opacity: { '12': 0, '13': 1 },
414
- },
415
- 'bridge-street-{service,track}:bridge': {
416
- size: { '14': 3, '16': 6, '18': 25, '19': 67, '20': 134 },
417
- opacity: { '14': 0, '15': 1 },
418
- },
419
- 'bridge-way-*:bridge': {
420
- size: { '15': 0, '16': 7, '18': 10, '19': 17, '20': 31 },
421
- minzoom: 15,
422
- },
423
-
424
- // special color: motorway
425
- '{bridge-,}street-motorway{-link,}:outline': {
426
- color: colors.motorwaybg,
427
- },
428
- '{bridge-,}street-motorway{-link,}': {
429
- color: colors.motorway,
430
- },
431
- '{bridge-,}street-{trunk,primary,secondary}{-link,}:outline': {
432
- color: colors.trunkbg,
433
- },
434
- '{bridge-,}street-{trunk,primary,secondary}{-link,}': {
435
- color: colors.trunk,
436
- },
437
- 'tunnel-street-motorway{-link,}:outline': {
438
- color: colors.motorwaybg.lighten(0.05),
439
- lineDasharray: [1, 0.3],
440
- },
441
- 'tunnel-street-motorway{-link,}': {
442
- color: colors.motorway.lighten(0.1),
443
- lineCap: 'butt',
444
- },
445
- 'tunnel-street-{trunk,primary,secondary}{-link,}:outline': {
446
- color: colors.trunkbg.lighten(0.05),
447
- lineDasharray: [1, 0.3],
448
- },
449
- 'tunnel-street-{trunk,primary,secondary}{-link,}': {
450
- color: colors.trunk.lighten(0.1),
451
- lineCap: 'butt',
452
- },
453
-
454
- // motorway
455
- '{bridge-,tunnel-,}street-motorway:outline': {
456
- size: { 5: 0, 6: 2, 10: 5, 14: 5, 16: 14, 18: 38, 19: 84, 20: 168 },
457
- },
458
- '{bridge-,tunnel-,}street-motorway': {
459
- size: { 5: 0, 6: 1, 10: 4, 14: 4, 16: 12, 18: 36, 19: 80, 20: 160 },
460
- opacity: { 5: 0, 6: 1 },
461
- },
462
-
463
- // trunk
464
- '{bridge-,tunnel-,}street-trunk:outline': {
465
- size: { 7: 0, 8: 2, 10: 4, 14: 6, 16: 12, 18: 36, 19: 74, 20: 144 },
466
- },
467
- '{bridge-,tunnel-,}street-trunk': {
468
- size: { 7: 0, 8: 1, 10: 3, 14: 5, 16: 10, 18: 34, 19: 70, 20: 140 },
469
- opacity: { 7: 0, 8: 1 },
470
- },
471
-
472
- // primary
473
- '{bridge-,tunnel-,}street-primary:outline': {
474
- size: { 8: 0, 9: 1, 10: 4, 14: 6, 16: 12, 18: 36, 19: 74, 20: 144 },
475
- },
476
- '{bridge-,tunnel-,}street-primary': {
477
- size: { 8: 0, 9: 2, 10: 3, 14: 5, 16: 10, 18: 34, 19: 70, 20: 140 },
478
- opacity: { 8: 0, 9: 1 },
479
- },
480
-
481
- // secondary
482
- '{bridge-,tunnel-,}street-secondary:outline': {
483
- size: { 11: 2, 14: 5, 16: 8, 18: 30, 19: 68, 20: 138 },
484
- opacity: { 11: 0, 12: 1 },
485
- },
486
- '{bridge-,tunnel-,}street-secondary': {
487
- size: { 11: 1, 14: 4, 16: 6, 18: 28, 19: 64, 20: 130 },
488
- opacity: { 11: 0, 12: 1 },
489
- },
490
-
491
- // links
492
- '{bridge-,tunnel-,}street-motorway-link:outline': {
493
- minzoom: 12,
494
- size: { 12: 2, 14: 3, 16: 7, 18: 14, 20: 40 },
495
- // opacity: { 12: 0, 13: 1 }, // no fade-in because those are merged in lower zooms
496
- },
497
- '{bridge-,tunnel-,}street-motorway-link': {
498
- minzoom: 12,
499
- size: { 12: 1, 14: 2, 16: 5, 18: 12, 20: 38 },
500
- // opacity: { 12: 0, 13: 1 }, // no fade-in because those are merged in lower zooms
501
- },
502
- '{bridge-,tunnel-,}street-{trunk,primary,secondary}-link:outline': {
503
- minzoom: 13,
504
- size: { 12: 2, 14: 3, 16: 7, 18: 14, 20: 40 },
505
- // opacity: { 13: 0, 14: 1 }, // no fade-in because those are merged in lower zooms
506
- },
507
- '{bridge-,tunnel-,}street-{trunk,primary,secondary}-link': {
508
- minzoom: 13,
509
- size: { 12: 1, 14: 2, 16: 5, 18: 12, 20: 38 },
510
- // opacity: { 13: 0, 14: 1 }, // no fade-in because those are merged in lower zooms
511
- },
512
-
513
- // minor streets
514
- '{bridge-,tunnel-,}street-{tertiary,tertiary-link,unclassified,residential,livingstreet,pedestrian}*:outline': {
515
- size: { 12: 2, 14: 3, 16: 6, 18: 26, 19: 64, 20: 128 },
516
- opacity: { 12: 0, 13: 1 },
517
- },
518
- '{bridge-,tunnel-,}street-{tertiary,tertiary-link,unclassified,residential,livingstreet,pedestrian}*': {
519
- size: { 12: 1, 14: 2, 16: 5, 18: 24, 19: 60, 20: 120 },
520
- opacity: { 12: 0, 13: 1 },
521
- },
522
-
523
- // tracks
524
- '{bridge-,tunnel-,}street-track:outline': {
525
- size: { 14: 2, 16: 4, 18: 18, 19: 48, 20: 96 },
526
- opacity: { 14: 0, 15: 1 },
527
- },
528
- '{bridge-,tunnel-,}street-track': {
529
- size: { 14: 1, 16: 3, 18: 16, 19: 44, 20: 88 },
530
- opacity: { 14: 0, 15: 1 },
531
- },
532
-
533
- // service
534
- '{bridge-,tunnel-,}street-service:outline': {
535
- size: { 14: 1, 16: 3, 18: 12, 19: 32, 20: 48 },
536
- opacity: { 15: 0, 16: 1 },
537
- color: colors.streetbg.lighten(0.3),
538
- },
539
- '{bridge-,tunnel-,}street-service': {
540
- size: { 14: 1, 16: 2, 18: 10, 19: 28, 20: 40 },
541
- opacity: { 15: 0, 16: 1 },
542
- color: colors.street.darken(0.03),
543
- },
544
-
545
- // ways
546
- '{bridge-,tunnel-,}way-*:outline': {
547
- size: { 15: 0, 16: 5, 18: 7, 19: 12, 20: 22 },
548
- minzoom: 15,
549
- },
550
- '{bridge-,tunnel-,}way-*': {
551
- size: { 15: 0, 16: 4, 18: 6, 19: 10, 20: 20 },
552
- minzoom: 15,
553
- },
554
-
555
- // foot
556
- '{bridge-,}way-{footway,path,steps}:outline': {
557
- color: colors.foot.darken(0.1),
558
- },
559
- '{bridge-,}way-{footway,path,steps}': {
560
- color: colors.foot.lighten(0.02),
561
- },
562
- 'tunnel-way-{footway,path,steps}:outline': {
563
- color: colors.foot.darken(0.1).saturate(-0.5),
564
- },
565
- 'tunnel-way-{footway,path,steps}': {
566
- color: colors.foot.darken(0.02).saturate(-0.5),
567
- lineDasharray: [1, 0.2],
568
- },
569
-
570
- // cycleway
571
- '{bridge-,}way-cycleway:outline': {
572
- color: colors.cycle.darken(0.1),
573
- },
574
- '{bridge-,}way-cycleway': {
575
- color: colors.cycle,
576
- },
577
- 'tunnel-way-cycleway:outline': {
578
- color: colors.cycle.darken(0.1).saturate(-0.5),
579
- },
580
- 'tunnel-way-cycleway': {
581
- color: colors.cycle.darken(0.02).saturate(-0.5),
582
- lineDasharray: [1, 0.2],
583
- },
584
-
585
- // cycle streets overlay
586
- '{bridge-,tunnel-,}street-{tertiary,tertiary-link,unclassified,residential,livingstreet,pedestrian}-bicycle': {
587
- lineJoin: 'round',
588
- lineCap: 'round',
589
- color: colors.cycle,
590
- },
591
-
592
- // pedestrian
593
- 'street-pedestrian': {
594
- size: { 12: 1, 14: 2, 16: 5, 18: 24, 19: 60, 20: 120 },
595
- opacity: { 13: 0, 14: 1 },
596
- color: colors.foot,
597
- },
598
- 'street-pedestrian-zone': {
599
- color: colors.foot.lighten(0.02).fade(0.75),
600
- opacity: { 14: 0, 15: 1 },
601
- },
602
-
603
- // rail, lightrail
604
- '{tunnel-,bridge-,}transport-{rail,lightrail}:outline': {
605
- color: colors.rail,
606
- minzoom: 8,
607
- size: { 8: 1, 13: 1, 15: 1, 20: 14 },
608
- },
609
- '{tunnel-,bridge-,}transport-{rail,lightrail}': {
610
- color: colors.rail.lighten(0.25),
611
- minzoom: 14,
612
- size: { 14: 0, 15: 1, 20: 10 },
613
- lineDasharray: [2, 2],
614
- },
615
-
616
- // rail-service, lightrail-service
617
- '{tunnel-,bridge-,}transport-{rail,lightrail}-service:outline': {
618
- color: colors.rail,
619
- minzoom: 14,
620
- size: { 14: 0, 15: 1, 16: 1, 20: 14 },
621
- },
622
- '{tunnel-,bridge-,}transport-{rail,lightrail}-service': {
623
- color: colors.rail.lighten(0.25),
624
- minzoom: 15,
625
- size: { 15: 0, 16: 1, 20: 10 },
626
- lineDasharray: [2, 2],
627
- },
628
-
629
- // subway
630
- '{tunnel-,bridge-,}transport-subway:outline': {
631
- color: colors.subway,
632
- size: { 11: 0, 12: 1, 15: 3, 16: 3, 18: 6, 19: 8, 20: 10 },
633
- },
634
- '{tunnel-,bridge-,}transport-subway': {
635
- color: colors.subway.lighten(0.25),
636
- size: { 11: 0, 12: 1, 15: 2, 16: 2, 18: 5, 19: 6, 20: 8 },
637
- lineDasharray: [2, 2],
638
- },
639
- // monorail
640
- '{tunnel-,bridge-,}transport-{tram,narrowgauge,funicular,monorail}:outline': {
641
- minzoom: 15,
642
- color: colors.rail,
643
- size: { 15: 0, 16: 5, 18: 7, 20: 20 },
644
- lineDasharray: [0.1, 0.5],
645
- },
646
- '{tunnel-,bridge-,}transport-{tram,narrowgauge,funicular,monorail}': {
647
- minzoom: 13,
648
- size: { 13: 0, 16: 1, 17: 2, 18: 3, 20: 5 },
649
- color: colors.rail,
650
- },
651
-
652
- // bridge
653
- '{bridge-,}transport-rail:outline': {
654
- opacity: { 8: 0, 9: 1 },
655
- },
656
- '{bridge-,}transport-rail': {
657
- opacity: { 14: 0, 15: 1 },
658
- },
659
- '{bridge-,}transport-{lightrail,subway}:outline': {
660
- opacity: { 11: 0, 12: 1 },
661
- },
662
- '{bridge-,}transport-{lightrail,subway}': {
663
- opacity: { 14: 0, 15: 1 },
664
- },
665
-
666
- // tunnel
667
- 'tunnel-transport-rail:outline': {
668
- opacity: { 8: 0, 9: 0.3 },
669
- },
670
- 'tunnel-transport-rail': {
671
- opacity: { 14: 0, 15: 0.3 },
672
- },
673
- 'tunnel-transport-{lightrail,subway}:outline': {
674
- opacity: { 11: 0, 12: 0.5 },
675
- },
676
- 'tunnel-transport-{lightrail,subway}': {
677
- opacity: { 14: 0, 15: 1 },
678
- },
679
-
680
- // ferry
681
- 'transport-ferry': {
682
- minzoom: 10,
683
- color: colors.water.darken(0.1),
684
- size: { 10: 1, 13: 2, 14: 3, 16: 4, 17: 6 },
685
- opacity: { 10: 0, 11: 1 },
686
- lineDasharray: [1, 1],
687
- },
688
-
689
- // labels
690
- 'label-boundary-*': {
691
- color: colors.label,
692
- font: fonts.regular,
693
- textTransform: 'uppercase',
694
- textHaloColor: colors.labelHalo,
695
- textHaloWidth: 2,
696
- textHaloBlur: 1,
697
- textAnchor: 'top',
698
- textOffset: [0, 0.2],
699
- textPadding: 0,
700
- textOptional: true,
701
- },
702
- 'label-boundary-country-large': {
703
- minzoom: 2,
704
- size: { 2: 8, 5: 13 },
705
- },
706
- 'label-boundary-country-medium': {
707
- minzoom: 3,
708
- size: { 3: 8, 5: 12 },
709
- },
710
- 'label-boundary-country-small': {
711
- minzoom: 4,
712
- size: { 4: 8, 5: 11 },
713
- },
714
- 'label-boundary-state': {
715
- minzoom: 5,
716
- color: colors.label.lighten(0.05),
717
- size: { 5: 8, 8: 12 },
718
- },
719
- 'label-place-*': {
720
- color: colors.label.rotateHue(-15).saturate(1).darken(0.05),
721
- font: fonts.regular,
722
- textHaloColor: colors.labelHalo,
723
- textHaloWidth: 2,
724
- textHaloBlur: 1,
725
- },
726
- 'label-place-capital': {
727
- minzoom: 5,
728
- size: { 5: 12, 10: 16 },
729
- },
730
- 'label-place-statecapital': {
731
- minzoom: 6,
732
- size: { 6: 11, 10: 15 },
733
- },
734
- 'label-place-city': {
735
- minzoom: 7,
736
- size: { 7: 11, 10: 14 },
737
- },
738
- 'label-place-town': {
739
- minzoom: 9,
740
- size: { 8: 11, 12: 14 },
741
- },
742
- 'label-place-village': {
743
- minzoom: 11,
744
- size: { 9: 11, 12: 14 },
745
- },
746
- 'label-place-hamlet': {
747
- minzoom: 13,
748
- size: { 10: 11, 12: 14 },
749
- },
750
- // all the city things
751
- 'label-place-suburb': {
752
- minzoom: 11,
753
- size: { 11: 11, 13: 14 },
754
- textTransform: 'uppercase',
755
- color: colors.label.rotateHue(-30).saturate(1).darken(0.05),
756
- },
757
- 'label-place-quarter': {
758
- minzoom: 13,
759
- size: { 13: 13 },
760
- textTransform: 'uppercase',
761
- color: colors.label.rotateHue(-40).saturate(1).darken(0.05),
762
- },
763
- 'label-place-neighbourhood': {
764
- minzoom: 14,
765
- size: { 14: 12 },
766
- textTransform: 'uppercase',
767
- color: colors.label.rotateHue(-50).saturate(1).darken(0.05),
768
- },
769
- 'label-motorway-shield': {
770
- color: colors.shield,
771
- font: fonts.bold,
772
- textHaloColor: colors.motorway,
773
- textHaloWidth: 0.1,
774
- textHaloBlur: 1,
775
- symbolPlacement: 'line',
776
- textAnchor: 'center',
777
- minzoom: 14,
778
- size: { 14: 10, 18: 12, 20: 16 },
779
- },
780
- 'label-street-*': {
781
- color: colors.label,
782
- font: fonts.regular,
783
- textHaloColor: colors.labelHalo,
784
- textHaloWidth: 2,
785
- textHaloBlur: 1,
786
- symbolPlacement: 'line',
787
- textAnchor: 'center',
788
- minzoom: 12,
789
- size: { 12: 10, 15: 13 },
790
- },
791
- 'label-address-housenumber': {
792
- font: fonts.regular,
793
- textHaloColor: colors.building.lighten(0.05),
794
- textHaloWidth: 2,
795
- textHaloBlur: 1,
796
- symbolPlacement: 'point',
797
- textAnchor: 'center',
798
- minzoom: 17,
799
- size: { 17: 8, 19: 10 },
800
- color: colors.building.darken(0.3),
801
- },
802
-
803
- // markings
804
- 'marking-oneway{-reverse,}': {
805
- minzoom: 16,
806
- image: 'basics:marking-arrow',
807
- opacity: { 16: 0, 17: 0.4, 20: 0.4 },
808
- font: fonts.regular,
809
- },
810
-
811
- // TODO: bicycle and pedestrian
812
-
813
- // transit
814
- 'symbol-*': {
815
- iconSize: 1,
816
- symbolPlacement: 'point',
817
- iconOpacity: 0.7,
818
- iconKeepUpright: true,
819
- font: fonts.regular,
820
- size: 10,
821
- color: colors.symbol,
822
- iconAnchor: 'bottom',
823
- textAnchor: 'top',
824
- textHaloColor: colors.labelHalo,
825
- textHaloWidth: 2,
826
- textHaloBlur: 1,
827
- },
828
- 'symbol-transit-airport': {
829
- minzoom: 12,
830
- image: 'basics:icon-airport',
831
- iconSize: { 12: 0.5, 14: 1 },
832
- },
833
- 'symbol-transit-airfield': {
834
- minzoom: 13,
835
- image: 'basics:icon-airfield',
836
- iconSize: { 13: 0.5, 15: 1 },
837
- },
838
- 'symbol-transit-station': {
839
- minzoom: 13,
840
- image: 'basics:icon-rail',
841
- iconSize: { 13: 0.5, 15: 1 },
842
- },
843
- 'symbol-transit-lightrail': {
844
- minzoom: 14,
845
- image: 'basics:icon-rail_light',
846
- iconSize: { 14: 0.5, 16: 1 },
847
- },
848
- 'symbol-transit-subway': {
849
- minzoom: 14,
850
- image: 'basics:icon-rail_metro',
851
- iconSize: { 14: 0.5, 16: 1 },
852
- },
853
- 'symbol-transit-tram': {
854
- minzoom: 15,
855
- image: 'basics:transport-tram',
856
- iconSize: { 15: 0.5, 17: 1 },
857
- },
858
- 'symbol-transit-bus': {
859
- minzoom: 16,
860
- image: 'basics:icon-bus',
861
- iconSize: { 16: 0.5, 18: 1 },
862
- },
863
- // TODO: localized symbols? depends on shortbread
864
-
865
- // pois
866
- 'poi-*': {
867
- minzoom: 16,
868
- iconSize: { 16: 0.5, 19: 0.5, 20: 1 },
869
- opacity: { 16: 0, 17: 0.4 },
870
- symbolPlacement: 'point',
871
- iconOptional: true,
872
- font: fonts.regular,
873
- color: colors.poi,
874
- },
875
- 'poi-amenity': {
876
- image: [
877
- 'match',
878
- ['get', 'amenity'],
879
- 'arts_centre',
880
- 'basics:icon-art_gallery',
881
- 'atm',
882
- 'basics:icon-atm',
883
- 'bank',
884
- 'basics:icon-bank',
885
- 'bar',
886
- 'basics:icon-bar',
887
- 'bench',
888
- 'basics:icon-bench',
889
- 'bicycle_rental',
890
- 'basics:icon-bicycle_share',
891
- 'biergarten',
892
- 'basics:icon-beergarden',
893
- 'cafe',
894
- 'basics:icon-cafe',
895
- 'car_rental',
896
- 'basics:icon-car_rental',
897
- 'car_sharing',
898
- 'basics:icon-car_rental',
899
- 'car_wash',
900
- 'basics:icon-car_wash',
901
- 'cinema',
902
- 'basics:icon-cinema',
903
- //'clinic', 'basics:icon-clinic',
904
- 'college',
905
- 'basics:icon-college',
906
- 'community_centre',
907
- 'basics:icon-community',
908
- //'courthouse', 'basics:icon-courthouse',
909
- 'dentist',
910
- 'basics:icon-dentist',
911
- 'doctors',
912
- 'basics:icon-doctor',
913
- 'dog_park',
914
- 'basics:icon-dog_park',
915
- 'drinking_water',
916
- 'basics:icon-drinking_water',
917
- 'embassy',
918
- 'basics:icon-embassy',
919
- 'fast_food',
920
- 'basics:icon-fast_food',
921
- 'fire_station',
922
- 'basics:icon-fire_station',
923
- //'food_court', 'basics:icon-food_court',
924
- 'fountain',
925
- 'basics:icon-fountain',
926
- 'grave_yard',
927
- 'basics:icon-cemetery',
928
- 'hospital',
929
- 'basics:icon-hospital',
930
- 'hunting_stand',
931
- 'basics:icon-huntingstand',
932
- 'library',
933
- 'basics:icon-library',
934
- 'marketplace',
935
- 'basics:icon-marketplace',
936
- 'nightclub',
937
- 'basics:icon-nightclub',
938
- 'nursing_home',
939
- 'basics:icon-nursinghome',
940
- 'pharmacy',
941
- 'basics:icon-pharmacy',
942
- 'place_of_worship',
943
- 'basics:icon-place_of_worship',
944
- 'playground',
945
- 'basics:icon-playground',
946
- 'police',
947
- 'basics:icon-police',
948
- 'post_box',
949
- 'basics:icon-postbox',
950
- 'post_office',
951
- 'basics:icon-post',
952
- 'prison',
953
- 'basics:icon-prison',
954
- 'pub',
955
- 'basics:icon-beer',
956
- //'public_building', 'basics:icon-public_building',
957
- 'recycling',
958
- 'basics:icon-recycling',
959
- 'restaurant',
960
- 'basics:icon-restaurant',
961
- 'school',
962
- 'basics:icon-school',
963
- 'shelter',
964
- 'basics:icon-shelter',
965
- 'telephone',
966
- 'basics:icon-telephone',
967
- 'theatre',
968
- 'basics:icon-theatre',
969
- 'toilets',
970
- 'basics:icon-toilet',
971
- 'townhall',
972
- 'basics:icon-town_hall',
973
- //'university', 'basics:icon-university',
974
- 'vending_machine',
975
- 'basics:icon-vendingmachine',
976
- 'veterinary',
977
- 'basics:icon-veterinary',
978
- 'waste_basket',
979
- 'basics:icon-waste_basket',
980
- '',
981
- ],
982
- },
983
- 'poi-leisure': {
984
- image: [
985
- 'match',
986
- ['get', 'leisure'],
987
- 'golf_course',
988
- 'basics:icon-golf',
989
- 'ice_rink',
990
- 'basics:icon-icerink',
991
- 'pitch',
992
- 'basics:icon-pitch',
993
- //'sports_centre', 'basics:icon-sports_centre',
994
- 'stadium',
995
- 'basics:icon-stadium',
996
- 'swimming_pool',
997
- 'basics:icon-swimming',
998
- 'water_park',
999
- 'basics:icon-waterpark',
1000
- 'basics:icon-sports',
1001
- ],
1002
- },
1003
- 'poi-tourism': {
1004
- image: [
1005
- 'match',
1006
- ['get', 'tourism'],
1007
- //'alpine_hut', 'basics:icon-alpine_hut',
1008
- //'bed_and_breakfast', 'basics:icon-bed_and_breakfast',
1009
- //'camp_site', 'basics:icon-camp_site',
1010
- //'caravan_site', 'basics:icon-caravan_site',
1011
- 'chalet',
1012
- 'basics:icon-chalet',
1013
- //'guest_house', 'basics:icon-guest_house',
1014
- //'hostel', 'basics:icon-hostel',
1015
- //'hotel', 'basics:icon-hotel',
1016
- 'information',
1017
- 'basics:transport-information',
1018
- //'motel', 'basics:icon-motel',
1019
- 'picnic_site',
1020
- 'basics:icon-picnic_site',
1021
- //'theme_park', 'basics:icon-theme_park',
1022
- 'viewpoint',
1023
- 'basics:icon-viewpoint',
1024
- 'zoo',
1025
- 'basics:icon-zoo',
1026
- '',
1027
- ],
1028
- },
1029
- 'poi-shop': {
1030
- image: [
1031
- 'match',
1032
- ['get', 'shop'],
1033
- 'alcohol',
1034
- 'basics:icon-alcohol_shop',
1035
- 'bakery',
1036
- 'basics:icon-bakery',
1037
- 'beauty',
1038
- 'basics:icon-beauty',
1039
- 'beverages',
1040
- 'basics:icon-beverages',
1041
- //'bicycle', 'basics:icon-bicycle',
1042
- 'books',
1043
- 'basics:icon-books',
1044
- 'butcher',
1045
- 'basics:icon-butcher',
1046
- //'car', 'basics:icon-car',
1047
- 'chemist',
1048
- 'basics:icon-chemist',
1049
- 'clothes',
1050
- 'basics:icon-clothes',
1051
- //'computer', 'basics:icon-computer',
1052
- //'convinience', 'basics:icon-convinience',
1053
- //'department_store', 'basics:icon-department_store',
1054
- 'doityourself',
1055
- 'basics:icon-doityourself',
1056
- 'dry_cleaning',
1057
- 'basics:icon-drycleaning',
1058
- 'florist',
1059
- 'basics:icon-florist',
1060
- 'furniture',
1061
- 'basics:icon-furniture',
1062
- 'garden_centre',
1063
- 'basics:icon-garden_centre',
1064
- 'general',
1065
- 'basics:icon-shop',
1066
- 'gift',
1067
- 'basics:icon-gift',
1068
- 'greengrocer',
1069
- 'basics:icon-greengrocer',
1070
- 'hairdresser',
1071
- 'basics:icon-hairdresser',
1072
- 'hardware',
1073
- 'basics:icon-hardware',
1074
- 'jewelry',
1075
- 'basics:icon-jewelry_store',
1076
- 'kiosk',
1077
- 'basics:icon-kiosk',
1078
- 'laundry',
1079
- 'basics:icon-laundry',
1080
- //'mall', 'basics:icon-mall',
1081
- //'mobile_phone', 'basics:icon-mobile_phone',
1082
- 'newsagent',
1083
- 'basics:icon-newsagent',
1084
- 'optican',
1085
- 'basics:icon-optician',
1086
- 'outdoor',
1087
- 'basics:icon-outdoor',
1088
- 'shoes',
1089
- 'basics:icon-shoes',
1090
- 'sports',
1091
- 'basics:icon-sports',
1092
- 'stationery',
1093
- 'basics:icon-stationery',
1094
- //'supermarket', 'basics:icon-supermarket',
1095
- 'toys',
1096
- 'basics:icon-toys',
1097
- 'travel_agency',
1098
- 'basics:icon-travel_agent',
1099
- 'video',
1100
- 'basics:icon-video',
1101
- 'basics:icon-shop',
1102
- ],
1103
- },
1104
- 'poi-man_made': {
1105
- image: [
1106
- 'match',
1107
- ['get', 'man_made'],
1108
- 'lighthouse',
1109
- 'basics:icon-lighthouse',
1110
- 'surveillance',
1111
- 'basics:icon-surveillance',
1112
- 'tower',
1113
- 'basics:icon-observation_tower',
1114
- //'wastewater_plant', 'basics:icon-wastewater_plant',
1115
- //'water_well', 'basics:icon-water_well',
1116
- //'water_works', 'basics:icon-water_works',
1117
- 'watermill',
1118
- 'basics:icon-watermill',
1119
- 'windmill',
1120
- 'basics:icon-windmill',
1121
- '',
1122
- ],
1123
- },
1124
- 'poi-historic': {
1125
- image: [
1126
- 'match',
1127
- ['get', 'historic'],
1128
- //'archaelogical_site', 'basics:icon-archaelogical_site',
1129
- 'artwork',
1130
- 'basics:icon-artwork',
1131
- //'battlefield', 'basics:icon-battlefield',
1132
- 'castle',
1133
- 'basics:icon-castle',
1134
- //'fort', 'basics:icon-fort',
1135
- //'memorial', 'basics:icon-memorial',
1136
- 'monument',
1137
- 'basics:icon-monument',
1138
- //'ruins', 'basics:icon-ruins',
1139
- //'wayside_cross', 'basics:icon-wayside_cross',
1140
- 'wayside_shrine',
1141
- 'basics:icon-shrine',
1142
- 'basics:icon-historic',
1143
- ],
1144
- },
1145
- 'poi-emergency': {
1146
- image: [
1147
- 'match',
1148
- ['get', 'emergency'],
1149
- 'defibrillator',
1150
- 'basics:icon-defibrillator',
1151
- 'fire_hydrant',
1152
- 'basics:icon-hydrant',
1153
- 'phone',
1154
- 'basics:icon-emergency_phone',
1155
- '',
1156
- ],
1157
- },
1158
-
1159
- /*
1160
- 'poi-highway': {
1161
- image: ['match',
1162
- ['get', 'highway'],
1163
- //'emergency_access_point', 'basics:icon-emergency_access_point',
1164
- ''
1165
- ]
1166
- },
1167
- 'poi-office': {
1168
- image: ['match',
1169
- ['get', 'office'],
1170
- //'diplomatic', 'basics:icon-diplomatic',
1171
- ''
1172
- ]
1173
- },
1174
- */
1175
- };
1176
- }
1177
- }