@mapbox/mapbox-gl-style-spec 14.8.0-beta.1 → 14.9.0-beta.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.
- package/diff.ts +16 -0
- package/dist/index.cjs +861 -153
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +171 -9
- package/dist/index.es.js +861 -153
- package/dist/index.es.js.map +1 -1
- package/expression/definitions/coercion.ts +1 -1
- package/expression/definitions/config.ts +1 -1
- package/expression/definitions/image.ts +184 -14
- package/expression/definitions/index.ts +7 -0
- package/expression/definitions/interpolate.ts +54 -13
- package/expression/expression.ts +1 -0
- package/expression/index.ts +23 -9
- package/expression/types/formatted.ts +1 -1
- package/expression/types/image_id_with_options.ts +54 -0
- package/expression/types/resolved_image.ts +49 -7
- package/expression/values.ts +9 -7
- package/feature_filter/index.ts +13 -7
- package/function/index.ts +1 -1
- package/group_by_layout.ts +35 -3
- package/package.json +1 -1
- package/reference/v8.json +407 -88
- package/types.ts +128 -9
- package/util/color.ts +62 -1
- package/util/properties.ts +4 -0
- package/validate/validate_fog.ts +10 -1
- package/validate/validate_function.ts +1 -1
- package/validate/validate_light.ts +10 -1
- package/validate/validate_lights.ts +11 -1
- package/validate/validate_property.ts +11 -0
- package/validate/validate_rain.ts +47 -0
- package/validate/validate_snow.ts +47 -0
- package/validate/validate_terrain.ts +11 -2
- package/validate_style.min.ts +4 -0
package/types.ts
CHANGED
|
@@ -88,8 +88,20 @@ export type StyleSpecification = {
|
|
|
88
88
|
"lights"?: Array<LightsSpecification>,
|
|
89
89
|
"terrain"?: TerrainSpecification | null | undefined,
|
|
90
90
|
"fog"?: FogSpecification,
|
|
91
|
+
/**
|
|
92
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
93
|
+
*/
|
|
94
|
+
"snow"?: SnowSpecification,
|
|
95
|
+
/**
|
|
96
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
97
|
+
*/
|
|
98
|
+
"rain"?: RainSpecification,
|
|
91
99
|
"camera"?: CameraSpecification,
|
|
92
100
|
"color-theme"?: ColorThemeSpecification,
|
|
101
|
+
/**
|
|
102
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
103
|
+
*/
|
|
104
|
+
"indoor"?: IndoorSpecification,
|
|
93
105
|
"imports"?: Array<ImportSpecification>,
|
|
94
106
|
"schema"?: SchemaSpecification,
|
|
95
107
|
"sources": SourcesSpecification,
|
|
@@ -119,6 +131,7 @@ export type LightSpecification = {
|
|
|
119
131
|
"position-transition"?: TransitionSpecification,
|
|
120
132
|
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
121
133
|
"color-transition"?: TransitionSpecification,
|
|
134
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
122
135
|
"intensity"?: PropertyValueSpecification<number>,
|
|
123
136
|
"intensity-transition"?: TransitionSpecification
|
|
124
137
|
}
|
|
@@ -134,10 +147,13 @@ export type FogSpecification = {
|
|
|
134
147
|
"range-transition"?: TransitionSpecification,
|
|
135
148
|
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
136
149
|
"color-transition"?: TransitionSpecification,
|
|
150
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
137
151
|
"high-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
138
152
|
"high-color-transition"?: TransitionSpecification,
|
|
153
|
+
"high-color-use-theme"?: PropertyValueSpecification<string>,
|
|
139
154
|
"space-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
140
155
|
"space-color-transition"?: TransitionSpecification,
|
|
156
|
+
"space-color-use-theme"?: PropertyValueSpecification<string>,
|
|
141
157
|
"horizon-blend"?: PropertyValueSpecification<number>,
|
|
142
158
|
"horizon-blend-transition"?: TransitionSpecification,
|
|
143
159
|
"star-intensity"?: PropertyValueSpecification<number>,
|
|
@@ -146,6 +162,54 @@ export type FogSpecification = {
|
|
|
146
162
|
"vertical-range-transition"?: TransitionSpecification
|
|
147
163
|
}
|
|
148
164
|
|
|
165
|
+
export type SnowSpecification = {
|
|
166
|
+
"density"?: PropertyValueSpecification<number>,
|
|
167
|
+
"density-transition"?: TransitionSpecification,
|
|
168
|
+
"intensity"?: PropertyValueSpecification<number>,
|
|
169
|
+
"intensity-transition"?: TransitionSpecification,
|
|
170
|
+
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
171
|
+
"color-transition"?: TransitionSpecification,
|
|
172
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
173
|
+
"opacity"?: PropertyValueSpecification<number>,
|
|
174
|
+
"opacity-transition"?: TransitionSpecification,
|
|
175
|
+
"vignette"?: PropertyValueSpecification<number>,
|
|
176
|
+
"vignette-transition"?: TransitionSpecification,
|
|
177
|
+
"vignette-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
178
|
+
"vignette-color-transition"?: TransitionSpecification,
|
|
179
|
+
"vignette-color-use-theme"?: PropertyValueSpecification<string>,
|
|
180
|
+
"center-thinning"?: PropertyValueSpecification<number>,
|
|
181
|
+
"center-thinning-transition"?: TransitionSpecification,
|
|
182
|
+
"direction"?: PropertyValueSpecification<[number, number]>,
|
|
183
|
+
"direction-transition"?: TransitionSpecification,
|
|
184
|
+
"flake-size"?: PropertyValueSpecification<number>,
|
|
185
|
+
"flake-size-transition"?: TransitionSpecification
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export type RainSpecification = {
|
|
189
|
+
"density"?: PropertyValueSpecification<number>,
|
|
190
|
+
"density-transition"?: TransitionSpecification,
|
|
191
|
+
"intensity"?: PropertyValueSpecification<number>,
|
|
192
|
+
"intensity-transition"?: TransitionSpecification,
|
|
193
|
+
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
194
|
+
"color-transition"?: TransitionSpecification,
|
|
195
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
196
|
+
"opacity"?: PropertyValueSpecification<number>,
|
|
197
|
+
"opacity-transition"?: TransitionSpecification,
|
|
198
|
+
"vignette"?: PropertyValueSpecification<number>,
|
|
199
|
+
"vignette-transition"?: TransitionSpecification,
|
|
200
|
+
"vignette-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
201
|
+
"vignette-color-transition"?: TransitionSpecification,
|
|
202
|
+
"vignette-color-use-theme"?: PropertyValueSpecification<string>,
|
|
203
|
+
"center-thinning"?: PropertyValueSpecification<number>,
|
|
204
|
+
"center-thinning-transition"?: TransitionSpecification,
|
|
205
|
+
"direction"?: PropertyValueSpecification<[number, number]>,
|
|
206
|
+
"direction-transition"?: TransitionSpecification,
|
|
207
|
+
"droplet-size"?: PropertyValueSpecification<[number, number]>,
|
|
208
|
+
"droplet-size-transition"?: TransitionSpecification,
|
|
209
|
+
"distortion-strength"?: PropertyValueSpecification<number>,
|
|
210
|
+
"distortion-strength-transition"?: TransitionSpecification
|
|
211
|
+
}
|
|
212
|
+
|
|
149
213
|
export type CameraSpecification = {
|
|
150
214
|
"camera-projection"?: PropertyValueSpecification<"perspective" | "orthographic">,
|
|
151
215
|
"camera-projection-transition"?: TransitionSpecification
|
|
@@ -165,7 +229,19 @@ export type ImportSpecification = {
|
|
|
165
229
|
"id": string,
|
|
166
230
|
"url": string,
|
|
167
231
|
"config"?: ConfigSpecification,
|
|
168
|
-
"data"?: StyleSpecification
|
|
232
|
+
"data"?: StyleSpecification,
|
|
233
|
+
"color-theme"?: ColorThemeSpecification | null | undefined
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export type IndoorSpecification = {
|
|
237
|
+
/**
|
|
238
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
239
|
+
*/
|
|
240
|
+
"floorplanFeaturesetId"?: ExpressionSpecification,
|
|
241
|
+
/**
|
|
242
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
243
|
+
*/
|
|
244
|
+
"buildingFeaturesetId"?: ExpressionSpecification
|
|
169
245
|
}
|
|
170
246
|
|
|
171
247
|
export type ConfigSpecification = {
|
|
@@ -333,6 +409,7 @@ export type AmbientLightSpecification = {
|
|
|
333
409
|
"properties"?: {
|
|
334
410
|
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
335
411
|
"color-transition"?: TransitionSpecification,
|
|
412
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
336
413
|
"intensity"?: PropertyValueSpecification<number>,
|
|
337
414
|
"intensity-transition"?: TransitionSpecification
|
|
338
415
|
},
|
|
@@ -346,9 +423,14 @@ export type DirectionalLightSpecification = {
|
|
|
346
423
|
"direction-transition"?: TransitionSpecification,
|
|
347
424
|
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
348
425
|
"color-transition"?: TransitionSpecification,
|
|
426
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
349
427
|
"intensity"?: PropertyValueSpecification<number>,
|
|
350
428
|
"intensity-transition"?: TransitionSpecification,
|
|
351
429
|
"cast-shadows"?: boolean,
|
|
430
|
+
/**
|
|
431
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
432
|
+
*/
|
|
433
|
+
"shadow-quality"?: PropertyValueSpecification<number>,
|
|
352
434
|
"shadow-intensity"?: PropertyValueSpecification<number>,
|
|
353
435
|
"shadow-intensity-transition"?: TransitionSpecification
|
|
354
436
|
},
|
|
@@ -363,6 +445,7 @@ export type FlatLightSpecification = {
|
|
|
363
445
|
"position-transition"?: TransitionSpecification,
|
|
364
446
|
"color"?: PropertyValueSpecification<ColorSpecification>,
|
|
365
447
|
"color-transition"?: TransitionSpecification,
|
|
448
|
+
"color-use-theme"?: PropertyValueSpecification<string>,
|
|
366
449
|
"intensity"?: PropertyValueSpecification<number>,
|
|
367
450
|
"intensity-transition"?: TransitionSpecification
|
|
368
451
|
},
|
|
@@ -386,7 +469,11 @@ export type FillLayerSpecification = {
|
|
|
386
469
|
"filter"?: FilterSpecification,
|
|
387
470
|
"layout"?: {
|
|
388
471
|
"fill-sort-key"?: DataDrivenPropertyValueSpecification<number>,
|
|
389
|
-
"visibility"?: "visible" | "none" | ExpressionSpecification
|
|
472
|
+
"visibility"?: "visible" | "none" | ExpressionSpecification,
|
|
473
|
+
/**
|
|
474
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
475
|
+
*/
|
|
476
|
+
"fill-elevation-reference"?: "none" | "hd-road-base" | "hd-road-markup" | ExpressionSpecification
|
|
390
477
|
},
|
|
391
478
|
"paint"?: {
|
|
392
479
|
"fill-antialias"?: PropertyValueSpecification<boolean>,
|
|
@@ -394,8 +481,10 @@ export type FillLayerSpecification = {
|
|
|
394
481
|
"fill-opacity-transition"?: TransitionSpecification,
|
|
395
482
|
"fill-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
396
483
|
"fill-color-transition"?: TransitionSpecification,
|
|
484
|
+
"fill-color-use-theme"?: PropertyValueSpecification<string>,
|
|
397
485
|
"fill-outline-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
398
486
|
"fill-outline-color-transition"?: TransitionSpecification,
|
|
487
|
+
"fill-outline-color-use-theme"?: PropertyValueSpecification<string>,
|
|
399
488
|
"fill-translate"?: PropertyValueSpecification<[number, number]>,
|
|
400
489
|
"fill-translate-transition"?: TransitionSpecification,
|
|
401
490
|
"fill-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">,
|
|
@@ -445,13 +534,18 @@ export type LineLayerSpecification = {
|
|
|
445
534
|
* @experimental This property is experimental and subject to change in future versions.
|
|
446
535
|
*/
|
|
447
536
|
"line-cross-slope"?: ExpressionSpecification,
|
|
448
|
-
"visibility"?: "visible" | "none" | ExpressionSpecification
|
|
537
|
+
"visibility"?: "visible" | "none" | ExpressionSpecification,
|
|
538
|
+
/**
|
|
539
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
540
|
+
*/
|
|
541
|
+
"line-width-unit"?: PropertyValueSpecification<"pixels" | "meters">
|
|
449
542
|
},
|
|
450
543
|
"paint"?: {
|
|
451
544
|
"line-opacity"?: DataDrivenPropertyValueSpecification<number>,
|
|
452
545
|
"line-opacity-transition"?: TransitionSpecification,
|
|
453
546
|
"line-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
454
547
|
"line-color-transition"?: TransitionSpecification,
|
|
548
|
+
"line-color-use-theme"?: PropertyValueSpecification<string>,
|
|
455
549
|
"line-translate"?: PropertyValueSpecification<[number, number]>,
|
|
456
550
|
"line-translate-transition"?: TransitionSpecification,
|
|
457
551
|
"line-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">,
|
|
@@ -466,6 +560,7 @@ export type LineLayerSpecification = {
|
|
|
466
560
|
"line-dasharray"?: DataDrivenPropertyValueSpecification<Array<number>>,
|
|
467
561
|
"line-pattern"?: DataDrivenPropertyValueSpecification<ResolvedImageSpecification>,
|
|
468
562
|
"line-gradient"?: ExpressionSpecification,
|
|
563
|
+
"line-gradient-use-theme"?: PropertyValueSpecification<string>,
|
|
469
564
|
"line-trim-offset"?: [number, number],
|
|
470
565
|
/**
|
|
471
566
|
* @experimental This property is experimental and subject to change in future versions.
|
|
@@ -473,12 +568,14 @@ export type LineLayerSpecification = {
|
|
|
473
568
|
"line-trim-fade-range"?: PropertyValueSpecification<[number, number]>,
|
|
474
569
|
"line-trim-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
475
570
|
"line-trim-color-transition"?: TransitionSpecification,
|
|
571
|
+
"line-trim-color-use-theme"?: PropertyValueSpecification<string>,
|
|
476
572
|
"line-emissive-strength"?: PropertyValueSpecification<number>,
|
|
477
573
|
"line-emissive-strength-transition"?: TransitionSpecification,
|
|
478
574
|
"line-border-width"?: DataDrivenPropertyValueSpecification<number>,
|
|
479
575
|
"line-border-width-transition"?: TransitionSpecification,
|
|
480
576
|
"line-border-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
481
577
|
"line-border-color-transition"?: TransitionSpecification,
|
|
578
|
+
"line-border-color-use-theme"?: PropertyValueSpecification<string>,
|
|
482
579
|
"line-occlusion-opacity"?: PropertyValueSpecification<number>,
|
|
483
580
|
"line-occlusion-opacity-transition"?: TransitionSpecification
|
|
484
581
|
}
|
|
@@ -511,6 +608,10 @@ export type SymbolLayerSpecification = {
|
|
|
511
608
|
"symbol-sort-key"?: DataDrivenPropertyValueSpecification<number>,
|
|
512
609
|
"symbol-z-order"?: PropertyValueSpecification<"auto" | "viewport-y" | "source">,
|
|
513
610
|
"symbol-z-elevate"?: PropertyValueSpecification<boolean>,
|
|
611
|
+
/**
|
|
612
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
613
|
+
*/
|
|
614
|
+
"symbol-elevation-reference"?: PropertyValueSpecification<"sea" | "ground" | "hd-road-markup">,
|
|
514
615
|
"icon-allow-overlap"?: PropertyValueSpecification<boolean>,
|
|
515
616
|
"icon-ignore-placement"?: PropertyValueSpecification<boolean>,
|
|
516
617
|
"icon-optional"?: PropertyValueSpecification<boolean>,
|
|
@@ -568,8 +669,10 @@ export type SymbolLayerSpecification = {
|
|
|
568
669
|
"text-emissive-strength-transition"?: TransitionSpecification,
|
|
569
670
|
"icon-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
570
671
|
"icon-color-transition"?: TransitionSpecification,
|
|
672
|
+
"icon-color-use-theme"?: PropertyValueSpecification<string>,
|
|
571
673
|
"icon-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
572
674
|
"icon-halo-color-transition"?: TransitionSpecification,
|
|
675
|
+
"icon-halo-color-use-theme"?: PropertyValueSpecification<string>,
|
|
573
676
|
"icon-halo-width"?: DataDrivenPropertyValueSpecification<number>,
|
|
574
677
|
"icon-halo-width-transition"?: TransitionSpecification,
|
|
575
678
|
"icon-halo-blur"?: DataDrivenPropertyValueSpecification<number>,
|
|
@@ -585,8 +688,10 @@ export type SymbolLayerSpecification = {
|
|
|
585
688
|
"text-occlusion-opacity-transition"?: TransitionSpecification,
|
|
586
689
|
"text-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
587
690
|
"text-color-transition"?: TransitionSpecification,
|
|
691
|
+
"text-color-use-theme"?: PropertyValueSpecification<string>,
|
|
588
692
|
"text-halo-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
589
693
|
"text-halo-color-transition"?: TransitionSpecification,
|
|
694
|
+
"text-halo-color-use-theme"?: PropertyValueSpecification<string>,
|
|
590
695
|
"text-halo-width"?: DataDrivenPropertyValueSpecification<number>,
|
|
591
696
|
"text-halo-width-transition"?: TransitionSpecification,
|
|
592
697
|
"text-halo-blur"?: DataDrivenPropertyValueSpecification<number>,
|
|
@@ -599,11 +704,7 @@ export type SymbolLayerSpecification = {
|
|
|
599
704
|
"icon-color-brightness-min"?: ExpressionSpecification,
|
|
600
705
|
"icon-color-brightness-max"?: ExpressionSpecification,
|
|
601
706
|
"symbol-z-offset"?: DataDrivenPropertyValueSpecification<number>,
|
|
602
|
-
"symbol-z-offset-transition"?: TransitionSpecification
|
|
603
|
-
/**
|
|
604
|
-
* @experimental This property is experimental and subject to change in future versions.
|
|
605
|
-
*/
|
|
606
|
-
"symbol-elevation-reference"?: PropertyValueSpecification<"sea" | "ground">
|
|
707
|
+
"symbol-z-offset-transition"?: TransitionSpecification
|
|
607
708
|
}
|
|
608
709
|
}
|
|
609
710
|
|
|
@@ -636,6 +737,7 @@ export type CircleLayerSpecification = {
|
|
|
636
737
|
"circle-radius-transition"?: TransitionSpecification,
|
|
637
738
|
"circle-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
638
739
|
"circle-color-transition"?: TransitionSpecification,
|
|
740
|
+
"circle-color-use-theme"?: PropertyValueSpecification<string>,
|
|
639
741
|
"circle-blur"?: DataDrivenPropertyValueSpecification<number>,
|
|
640
742
|
"circle-blur-transition"?: TransitionSpecification,
|
|
641
743
|
"circle-opacity"?: DataDrivenPropertyValueSpecification<number>,
|
|
@@ -649,6 +751,7 @@ export type CircleLayerSpecification = {
|
|
|
649
751
|
"circle-stroke-width-transition"?: TransitionSpecification,
|
|
650
752
|
"circle-stroke-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
651
753
|
"circle-stroke-color-transition"?: TransitionSpecification,
|
|
754
|
+
"circle-stroke-color-use-theme"?: PropertyValueSpecification<string>,
|
|
652
755
|
"circle-stroke-opacity"?: DataDrivenPropertyValueSpecification<number>,
|
|
653
756
|
"circle-stroke-opacity-transition"?: TransitionSpecification,
|
|
654
757
|
"circle-emissive-strength"?: PropertyValueSpecification<number>,
|
|
@@ -686,6 +789,7 @@ export type HeatmapLayerSpecification = {
|
|
|
686
789
|
"heatmap-intensity"?: PropertyValueSpecification<number>,
|
|
687
790
|
"heatmap-intensity-transition"?: TransitionSpecification,
|
|
688
791
|
"heatmap-color"?: ExpressionSpecification,
|
|
792
|
+
"heatmap-color-use-theme"?: PropertyValueSpecification<string>,
|
|
689
793
|
"heatmap-opacity"?: PropertyValueSpecification<number>,
|
|
690
794
|
"heatmap-opacity-transition"?: TransitionSpecification
|
|
691
795
|
}
|
|
@@ -723,6 +827,7 @@ export type FillExtrusionLayerSpecification = {
|
|
|
723
827
|
"fill-extrusion-opacity-transition"?: TransitionSpecification,
|
|
724
828
|
"fill-extrusion-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
725
829
|
"fill-extrusion-color-transition"?: TransitionSpecification,
|
|
830
|
+
"fill-extrusion-color-use-theme"?: PropertyValueSpecification<string>,
|
|
726
831
|
"fill-extrusion-translate"?: PropertyValueSpecification<[number, number]>,
|
|
727
832
|
"fill-extrusion-translate-transition"?: TransitionSpecification,
|
|
728
833
|
"fill-extrusion-translate-anchor"?: PropertyValueSpecification<"map" | "viewport">,
|
|
@@ -752,6 +857,7 @@ export type FillExtrusionLayerSpecification = {
|
|
|
752
857
|
"fill-extrusion-ambient-occlusion-ground-attenuation-transition"?: TransitionSpecification,
|
|
753
858
|
"fill-extrusion-flood-light-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
754
859
|
"fill-extrusion-flood-light-color-transition"?: TransitionSpecification,
|
|
860
|
+
"fill-extrusion-flood-light-color-use-theme"?: PropertyValueSpecification<string>,
|
|
755
861
|
"fill-extrusion-flood-light-intensity"?: PropertyValueSpecification<number>,
|
|
756
862
|
"fill-extrusion-flood-light-intensity-transition"?: TransitionSpecification,
|
|
757
863
|
"fill-extrusion-flood-light-wall-radius"?: DataDrivenPropertyValueSpecification<number>,
|
|
@@ -802,6 +908,7 @@ export type RasterLayerSpecification = {
|
|
|
802
908
|
"raster-opacity"?: PropertyValueSpecification<number>,
|
|
803
909
|
"raster-opacity-transition"?: TransitionSpecification,
|
|
804
910
|
"raster-color"?: ExpressionSpecification,
|
|
911
|
+
"raster-color-use-theme"?: PropertyValueSpecification<string>,
|
|
805
912
|
"raster-color-mix"?: PropertyValueSpecification<[number, number, number, number]>,
|
|
806
913
|
"raster-color-mix-transition"?: TransitionSpecification,
|
|
807
914
|
"raster-color-range"?: PropertyValueSpecification<[number, number]>,
|
|
@@ -856,6 +963,7 @@ export type RasterParticleLayerSpecification = {
|
|
|
856
963
|
"raster-particle-array-band"?: string,
|
|
857
964
|
"raster-particle-count"?: number,
|
|
858
965
|
"raster-particle-color"?: ExpressionSpecification,
|
|
966
|
+
"raster-particle-color-use-theme"?: PropertyValueSpecification<string>,
|
|
859
967
|
"raster-particle-max-speed"?: number,
|
|
860
968
|
"raster-particle-speed-factor"?: PropertyValueSpecification<number>,
|
|
861
969
|
"raster-particle-speed-factor-transition"?: TransitionSpecification,
|
|
@@ -897,10 +1005,13 @@ export type HillshadeLayerSpecification = {
|
|
|
897
1005
|
"hillshade-exaggeration-transition"?: TransitionSpecification,
|
|
898
1006
|
"hillshade-shadow-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
899
1007
|
"hillshade-shadow-color-transition"?: TransitionSpecification,
|
|
1008
|
+
"hillshade-shadow-color-use-theme"?: PropertyValueSpecification<string>,
|
|
900
1009
|
"hillshade-highlight-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
901
1010
|
"hillshade-highlight-color-transition"?: TransitionSpecification,
|
|
1011
|
+
"hillshade-highlight-color-use-theme"?: PropertyValueSpecification<string>,
|
|
902
1012
|
"hillshade-accent-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
903
1013
|
"hillshade-accent-color-transition"?: TransitionSpecification,
|
|
1014
|
+
"hillshade-accent-color-use-theme"?: PropertyValueSpecification<string>,
|
|
904
1015
|
"hillshade-emissive-strength"?: PropertyValueSpecification<number>,
|
|
905
1016
|
"hillshade-emissive-strength-transition"?: TransitionSpecification
|
|
906
1017
|
}
|
|
@@ -931,7 +1042,7 @@ export type ModelLayerSpecification = {
|
|
|
931
1042
|
"model-id"?: DataDrivenPropertyValueSpecification<string>
|
|
932
1043
|
},
|
|
933
1044
|
"paint"?: {
|
|
934
|
-
"model-opacity"?:
|
|
1045
|
+
"model-opacity"?: DataDrivenPropertyValueSpecification<number>,
|
|
935
1046
|
"model-opacity-transition"?: TransitionSpecification,
|
|
936
1047
|
"model-rotation"?: DataDrivenPropertyValueSpecification<[number, number, number]>,
|
|
937
1048
|
"model-rotation-transition"?: TransitionSpecification,
|
|
@@ -941,6 +1052,7 @@ export type ModelLayerSpecification = {
|
|
|
941
1052
|
"model-translation-transition"?: TransitionSpecification,
|
|
942
1053
|
"model-color"?: DataDrivenPropertyValueSpecification<ColorSpecification>,
|
|
943
1054
|
"model-color-transition"?: TransitionSpecification,
|
|
1055
|
+
"model-color-use-theme"?: PropertyValueSpecification<string>,
|
|
944
1056
|
"model-color-mix-intensity"?: DataDrivenPropertyValueSpecification<number>,
|
|
945
1057
|
"model-color-mix-intensity-transition"?: TransitionSpecification,
|
|
946
1058
|
"model-type"?: "common-3d" | "location-indicator",
|
|
@@ -983,9 +1095,13 @@ export type BackgroundLayerSpecification = {
|
|
|
983
1095
|
"visibility"?: "visible" | "none" | ExpressionSpecification
|
|
984
1096
|
},
|
|
985
1097
|
"paint"?: {
|
|
1098
|
+
/**
|
|
1099
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
1100
|
+
*/
|
|
986
1101
|
"background-pitch-alignment"?: "map" | "viewport" | ExpressionSpecification,
|
|
987
1102
|
"background-color"?: PropertyValueSpecification<ColorSpecification>,
|
|
988
1103
|
"background-color-transition"?: TransitionSpecification,
|
|
1104
|
+
"background-color-use-theme"?: PropertyValueSpecification<string>,
|
|
989
1105
|
"background-pattern"?: PropertyValueSpecification<ResolvedImageSpecification>,
|
|
990
1106
|
"background-opacity"?: PropertyValueSpecification<number>,
|
|
991
1107
|
"background-opacity-transition"?: TransitionSpecification,
|
|
@@ -1024,8 +1140,11 @@ export type SkyLayerSpecification = {
|
|
|
1024
1140
|
"sky-gradient-center"?: PropertyValueSpecification<[number, number]>,
|
|
1025
1141
|
"sky-gradient-radius"?: PropertyValueSpecification<number>,
|
|
1026
1142
|
"sky-gradient"?: ExpressionSpecification,
|
|
1143
|
+
"sky-gradient-use-theme"?: PropertyValueSpecification<string>,
|
|
1027
1144
|
"sky-atmosphere-halo-color"?: ColorSpecification,
|
|
1145
|
+
"sky-atmosphere-halo-color-use-theme"?: PropertyValueSpecification<string>,
|
|
1028
1146
|
"sky-atmosphere-color"?: ColorSpecification,
|
|
1147
|
+
"sky-atmosphere-color-use-theme"?: PropertyValueSpecification<string>,
|
|
1029
1148
|
"sky-opacity"?: PropertyValueSpecification<number>,
|
|
1030
1149
|
"sky-opacity-transition"?: TransitionSpecification
|
|
1031
1150
|
}
|
package/util/color.ts
CHANGED
|
@@ -73,7 +73,7 @@ class Color {
|
|
|
73
73
|
* var translucentGreen = new Color.parse('rgba(26, 207, 26, .73)');
|
|
74
74
|
* translucentGreen.toString(); // = "rgba(26,207,26,0.73)"
|
|
75
75
|
*/
|
|
76
|
-
|
|
76
|
+
toStringPremultipliedAlpha(): string {
|
|
77
77
|
const [r, g, b, a] = this.a === 0 ? [0, 0, 0, 0] : [
|
|
78
78
|
this.r * 255 / this.a,
|
|
79
79
|
this.g * 255 / this.a,
|
|
@@ -83,10 +83,24 @@ class Color {
|
|
|
83
83
|
return `rgba(${Math.round(r)},${Math.round(g)},${Math.round(b)},${a})`;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
toString(): string {
|
|
87
|
+
const [r, g, b, a] = [
|
|
88
|
+
this.r,
|
|
89
|
+
this.g,
|
|
90
|
+
this.b,
|
|
91
|
+
this.a
|
|
92
|
+
];
|
|
93
|
+
return `rgba(${Math.round(r * 255)},${Math.round(g * 255)},${Math.round(b * 255)},${a})`;
|
|
94
|
+
}
|
|
95
|
+
|
|
86
96
|
toRenderColor(lut: LUT | null): RenderColor {
|
|
87
97
|
const {r, g, b, a} = this;
|
|
88
98
|
return new RenderColor(lut, r, g, b, a);
|
|
89
99
|
}
|
|
100
|
+
|
|
101
|
+
clone(): Color {
|
|
102
|
+
return new Color(this.r, this.g, this.b, this.a);
|
|
103
|
+
}
|
|
90
104
|
}
|
|
91
105
|
|
|
92
106
|
/**
|
|
@@ -179,6 +193,53 @@ export class RenderColor {
|
|
|
179
193
|
];
|
|
180
194
|
}
|
|
181
195
|
|
|
196
|
+
/**
|
|
197
|
+
* Returns an HSLA array of values representing the color, unpremultiplied by A.
|
|
198
|
+
*
|
|
199
|
+
* @returns An array of HSLA color values.
|
|
200
|
+
*/
|
|
201
|
+
toHslaArray(): [number, number, number, number] {
|
|
202
|
+
if (this.a === 0) {
|
|
203
|
+
return [0, 0, 0, 0];
|
|
204
|
+
}
|
|
205
|
+
const {r, g, b, a} = this;
|
|
206
|
+
|
|
207
|
+
const red = Math.min(Math.max(r / a, 0.0), 1.0);
|
|
208
|
+
const green = Math.min(Math.max(g / a, 0.0), 1.0);
|
|
209
|
+
const blue = Math.min(Math.max(b / a, 0.0), 1.0);
|
|
210
|
+
|
|
211
|
+
const min = Math.min(red, green, blue);
|
|
212
|
+
const max = Math.max(red, green, blue);
|
|
213
|
+
|
|
214
|
+
const l = (min + max) / 2;
|
|
215
|
+
|
|
216
|
+
if (min === max) {
|
|
217
|
+
return [0, 0, l * 100, a];
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
const delta = max - min;
|
|
221
|
+
|
|
222
|
+
const s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);
|
|
223
|
+
|
|
224
|
+
let h = 0;
|
|
225
|
+
if (max === red) {
|
|
226
|
+
h = (green - blue) / delta + (green < blue ? 6 : 0);
|
|
227
|
+
} else if (max === green) {
|
|
228
|
+
h = (blue - red) / delta + 2;
|
|
229
|
+
} else if (max === blue) {
|
|
230
|
+
h = (red - green) / delta + 4;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
h *= 60;
|
|
234
|
+
|
|
235
|
+
return [
|
|
236
|
+
Math.min(Math.max(h, 0), 360),
|
|
237
|
+
Math.min(Math.max(s * 100, 0), 100),
|
|
238
|
+
Math.min(Math.max(l * 100, 0), 100),
|
|
239
|
+
a
|
|
240
|
+
];
|
|
241
|
+
}
|
|
242
|
+
|
|
182
243
|
/**
|
|
183
244
|
* Returns a RGBA array of float values representing the color, unpremultiplied by A.
|
|
184
245
|
*
|
package/util/properties.ts
CHANGED
|
@@ -21,6 +21,10 @@ export function supportsZoomExpression(spec: StylePropertySpecification): boolea
|
|
|
21
21
|
return expressionHasParameter(spec.expression, 'zoom');
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
export function supportsLineProgressExpression(spec: StylePropertySpecification): boolean {
|
|
25
|
+
return expressionHasParameter(spec.expression, 'line-progress');
|
|
26
|
+
}
|
|
27
|
+
|
|
24
28
|
export function supportsInterpolation(spec: StylePropertySpecification): boolean {
|
|
25
29
|
return !!spec.expression && spec.expression.interpolated;
|
|
26
30
|
}
|
package/validate/validate_fog.ts
CHANGED
|
@@ -21,8 +21,17 @@ export default function validateFog(options: ValidationOptions): Array<Validatio
|
|
|
21
21
|
|
|
22
22
|
for (const key in fog) {
|
|
23
23
|
const transitionMatch = key.match(/^(.*)-transition$/);
|
|
24
|
+
const useThemeMatch = key.match(/^(.*)-use-theme$/);
|
|
24
25
|
|
|
25
|
-
if (
|
|
26
|
+
if (useThemeMatch && fogSpec[useThemeMatch[1]]) {
|
|
27
|
+
errors = errors.concat(validate({
|
|
28
|
+
key,
|
|
29
|
+
value: fog[key],
|
|
30
|
+
valueSpec: {type:'string'},
|
|
31
|
+
style,
|
|
32
|
+
styleSpec
|
|
33
|
+
}));
|
|
34
|
+
} else if (transitionMatch && fogSpec[transitionMatch[1]] && fogSpec[transitionMatch[1]].transition) {
|
|
26
35
|
errors = errors.concat(validate({
|
|
27
36
|
key,
|
|
28
37
|
value: fog[key],
|
|
@@ -184,7 +184,7 @@ export default function validateFunction(options: ValidationOptions): any {
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
if (functionType === 'categorical' && type === 'number' && (typeof value !== 'number' || !isFinite(value) || Math.floor(value) !== value)) {
|
|
187
|
-
return [new ValidationError(options.key, reportValue, `integer expected, found ${String(value)}`)];
|
|
187
|
+
return [new ValidationError(options.key, reportValue, `integer expected, found ${String(value as number)}`)];
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
if (functionType !== 'categorical' && type === 'number' && typeof value === 'number' && typeof previousStopDomainValue === 'number' && previousStopDomainValue !== undefined && value < previousStopDomainValue) {
|
|
@@ -22,8 +22,17 @@ export default function validateLight(options: ValidationOptions): Array<Validat
|
|
|
22
22
|
|
|
23
23
|
for (const key in light) {
|
|
24
24
|
const transitionMatch = key.match(/^(.*)-transition$/);
|
|
25
|
+
const useThemeMatch = key.match(/^(.*)-use-theme$/);
|
|
25
26
|
|
|
26
|
-
if (
|
|
27
|
+
if (useThemeMatch && lightSpec[useThemeMatch[1]]) {
|
|
28
|
+
errors = errors.concat(validate({
|
|
29
|
+
key,
|
|
30
|
+
value: light[key],
|
|
31
|
+
valueSpec: {type:'string'},
|
|
32
|
+
style,
|
|
33
|
+
styleSpec
|
|
34
|
+
}));
|
|
35
|
+
} else if (transitionMatch && lightSpec[transitionMatch[1]] && lightSpec[transitionMatch[1]].transition) {
|
|
27
36
|
errors = errors.concat(validate({
|
|
28
37
|
key,
|
|
29
38
|
value: light[key],
|
|
@@ -78,7 +78,17 @@ export default function validateLights(options: Options): Array<ValidationError>
|
|
|
78
78
|
}
|
|
79
79
|
} else {
|
|
80
80
|
const transitionMatch = key.match(/^(.*)-transition$/);
|
|
81
|
-
|
|
81
|
+
const useThemeMatch = key.match(/^(.*)-use-theme$/);
|
|
82
|
+
|
|
83
|
+
if (useThemeMatch && lightSpec[useThemeMatch[1]]) {
|
|
84
|
+
errors = errors.concat(validate({
|
|
85
|
+
key,
|
|
86
|
+
value: light[key],
|
|
87
|
+
valueSpec: {type:'string'},
|
|
88
|
+
style,
|
|
89
|
+
styleSpec
|
|
90
|
+
}));
|
|
91
|
+
} else if (transitionMatch && lightSpec[transitionMatch[1]] && lightSpec[transitionMatch[1]].transition) {
|
|
82
92
|
errors = errors.concat(validate({
|
|
83
93
|
key,
|
|
84
94
|
value: light[key],
|
|
@@ -26,6 +26,17 @@ export default function validateProperty(options: PropertyValidationOptions, pro
|
|
|
26
26
|
|
|
27
27
|
if (!layerSpec) return [];
|
|
28
28
|
|
|
29
|
+
const useThemeMatch = propertyKey.match(/^(.*)-use-theme$/);
|
|
30
|
+
if (propertyType === 'paint' && useThemeMatch && layerSpec[useThemeMatch[1]]) {
|
|
31
|
+
return validate({
|
|
32
|
+
key,
|
|
33
|
+
value,
|
|
34
|
+
valueSpec: {type:'string'},
|
|
35
|
+
style,
|
|
36
|
+
styleSpec
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
29
40
|
const transitionMatch = propertyKey.match(/^(.*)-transition$/);
|
|
30
41
|
if (propertyType === 'paint' && transitionMatch && layerSpec[transitionMatch[1]] && layerSpec[transitionMatch[1]].transition) {
|
|
31
42
|
return validate({
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {default as ValidationError, ValidationWarning} from '../error/validation_error';
|
|
2
|
+
import validate from './validate';
|
|
3
|
+
import getType from '../util/get_type';
|
|
4
|
+
|
|
5
|
+
import type {ValidationOptions} from './validate';
|
|
6
|
+
|
|
7
|
+
export default function validateRain(options: ValidationOptions): Array<ValidationError> {
|
|
8
|
+
const rain = options.value;
|
|
9
|
+
const style = options.style;
|
|
10
|
+
const styleSpec = options.styleSpec;
|
|
11
|
+
const rainSpec = styleSpec.rain;
|
|
12
|
+
let errors = [];
|
|
13
|
+
|
|
14
|
+
const rootType = getType(rain);
|
|
15
|
+
if (rain === undefined) {
|
|
16
|
+
return errors;
|
|
17
|
+
} else if (rootType !== 'object') {
|
|
18
|
+
errors = errors.concat([new ValidationError('rain', rain, `object expected, ${rootType} found`)]);
|
|
19
|
+
return errors;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
for (const key in rain) {
|
|
23
|
+
const transitionMatch = key.match(/^(.*)-transition$/);
|
|
24
|
+
|
|
25
|
+
if (transitionMatch && rainSpec[transitionMatch[1]] && rainSpec[transitionMatch[1]].transition) {
|
|
26
|
+
errors = errors.concat(validate({
|
|
27
|
+
key,
|
|
28
|
+
value: rain[key],
|
|
29
|
+
valueSpec: styleSpec.transition,
|
|
30
|
+
style,
|
|
31
|
+
styleSpec
|
|
32
|
+
}));
|
|
33
|
+
} else if (rainSpec[key]) {
|
|
34
|
+
errors = errors.concat(validate({
|
|
35
|
+
key,
|
|
36
|
+
value: rain[key],
|
|
37
|
+
valueSpec: rainSpec[key],
|
|
38
|
+
style,
|
|
39
|
+
styleSpec
|
|
40
|
+
}));
|
|
41
|
+
} else {
|
|
42
|
+
errors = errors.concat([new ValidationWarning(key, rain[key], `unknown property "${key}"`)]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return errors;
|
|
47
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {default as ValidationError, ValidationWarning} from '../error/validation_error';
|
|
2
|
+
import validate from './validate';
|
|
3
|
+
import getType from '../util/get_type';
|
|
4
|
+
|
|
5
|
+
import type {ValidationOptions} from './validate';
|
|
6
|
+
|
|
7
|
+
export default function validateSnow(options: ValidationOptions): Array<ValidationError> {
|
|
8
|
+
const snow = options.value;
|
|
9
|
+
const style = options.style;
|
|
10
|
+
const styleSpec = options.styleSpec;
|
|
11
|
+
const snowSpec = styleSpec.snow;
|
|
12
|
+
let errors = [];
|
|
13
|
+
|
|
14
|
+
const rootType = getType(snow);
|
|
15
|
+
if (snow === undefined) {
|
|
16
|
+
return errors;
|
|
17
|
+
} else if (rootType !== 'object') {
|
|
18
|
+
errors = errors.concat([new ValidationError('snow', snow, `object expected, ${rootType} found`)]);
|
|
19
|
+
return errors;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
for (const key in snow) {
|
|
23
|
+
const transitionMatch = key.match(/^(.*)-transition$/);
|
|
24
|
+
|
|
25
|
+
if (transitionMatch && snowSpec[transitionMatch[1]] && snowSpec[transitionMatch[1]].transition) {
|
|
26
|
+
errors = errors.concat(validate({
|
|
27
|
+
key,
|
|
28
|
+
value: snow[key],
|
|
29
|
+
valueSpec: styleSpec.transition,
|
|
30
|
+
style,
|
|
31
|
+
styleSpec
|
|
32
|
+
}));
|
|
33
|
+
} else if (snowSpec[key]) {
|
|
34
|
+
errors = errors.concat(validate({
|
|
35
|
+
key,
|
|
36
|
+
value: snow[key],
|
|
37
|
+
valueSpec: snowSpec[key],
|
|
38
|
+
style,
|
|
39
|
+
styleSpec
|
|
40
|
+
}));
|
|
41
|
+
} else {
|
|
42
|
+
errors = errors.concat([new ValidationWarning(key, snow[key], `unknown property "${key}"`)]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return errors;
|
|
47
|
+
}
|