@geogdev/styles 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,189 @@
1
+ # @geogdev/styles
2
+
3
+ MapLibre GL layer styles for OpenMapTiles-compatible vector tiles.
4
+
5
+ ## Installation
6
+
7
+ ### npm / pnpm / yarn
8
+
9
+ ```bash
10
+ npm install @geogdev/styles
11
+ ```
12
+
13
+ ### CDN (Browser)
14
+
15
+ ```html
16
+ <script src="https://unpkg.com/@geogdev/styles/dist/styles.js"></script>
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ### ESM / TypeScript
22
+
23
+ ```typescript
24
+ import maplibregl from "maplibre-gl";
25
+ import { layers, LIGHT, DARK, GRAY, WARM } from "@geogdev/styles";
26
+
27
+ const map = new maplibregl.Map({
28
+ container: "map",
29
+ center: [-93.265, 44.977],
30
+ zoom: 12,
31
+ style: {
32
+ version: 8,
33
+ glyphs: "https://your-server.com/fonts/{fontstack}/{range}.pbf",
34
+ sprite: "https://your-server.com/sprites/light",
35
+ sources: {
36
+ basemap: {
37
+ type: "vector",
38
+ url: "https://your-server.com/tiles.json"
39
+ }
40
+ },
41
+ layers: layers("basemap", LIGHT, { lang: "en" })
42
+ }
43
+ });
44
+ ```
45
+
46
+ ### Browser (CDN)
47
+
48
+ ```html
49
+ <script src="https://unpkg.com/maplibre-gl@5.0.1/dist/maplibre-gl.js"></script>
50
+ <script src="https://unpkg.com/@geogdev/styles/dist/styles.js"></script>
51
+ <script>
52
+ const mapLayers = styles.layers("basemap", styles.LIGHT, { lang: "en" });
53
+
54
+ const map = new maplibregl.Map({
55
+ container: "map",
56
+ style: {
57
+ version: 8,
58
+ glyphs: "https://your-server.com/fonts/{fontstack}/{range}.pbf",
59
+ sprite: "https://your-server.com/sprites/light",
60
+ sources: {
61
+ basemap: { type: "vector", url: "https://your-server.com/tiles.json" }
62
+ },
63
+ layers: mapLayers
64
+ }
65
+ });
66
+ </script>
67
+ ```
68
+
69
+ ## Available Themes
70
+
71
+ | Theme | Description |
72
+ |-------|-------------|
73
+ | `LIGHT` | Natural colors, high contrast labels |
74
+ | `DARK` | Subdued colors for dark mode |
75
+ | `GRAY` | Monochrome, ideal for data viz overlays |
76
+ | `WARM` | Earthy, sepia-toned palette |
77
+
78
+ ## API Reference
79
+
80
+ ### `layers(source, style, options?)`
81
+
82
+ Generates MapLibre GL layer specifications.
83
+
84
+ ```typescript
85
+ import { layers, LIGHT } from "@geogdev/styles";
86
+
87
+ // Generate all layers (base + labels)
88
+ layers("basemap", LIGHT, { lang: "en" });
89
+
90
+ // Generate base layers only (no labels)
91
+ layers("basemap", LIGHT);
92
+
93
+ // Generate labels only
94
+ layers("basemap", LIGHT, { labelsOnly: true, lang: "en" });
95
+ ```
96
+
97
+ **Parameters:**
98
+
99
+ | Parameter | Type | Description |
100
+ |-----------|------|-------------|
101
+ | `source` | `string` | Source ID matching your MapLibre sources config |
102
+ | `style` | `Style` | Theme preset (`LIGHT`, `DARK`, `GRAY`, `WARM`) |
103
+ | `options.lang` | `string` | Language code for labels (e.g., "en", "de", "ja") |
104
+ | `options.labelsOnly` | `boolean` | If true, only generate label layers |
105
+
106
+ ### `namedStyle(name)`
107
+
108
+ Get a style preset by string name.
109
+
110
+ ```typescript
111
+ import { namedStyle } from "@geogdev/styles";
112
+
113
+ const style = namedStyle("dark"); // Returns DARK
114
+ ```
115
+
116
+ ### Style Presets
117
+
118
+ ```typescript
119
+ import { LIGHT, DARK, GRAY, WARM } from "@geogdev/styles";
120
+ import { STYLE_NAMES, isValidStyleName } from "@geogdev/styles";
121
+
122
+ // STYLE_NAMES = ["light", "dark", "gray", "warm"]
123
+ isValidStyleName("dark"); // true
124
+ ```
125
+
126
+ ### TypeScript Types
127
+
128
+ ```typescript
129
+ import type { Style, StyleName } from "@geogdev/styles";
130
+
131
+ // StyleName = "light" | "dark" | "gray" | "warm"
132
+ // Style = interface with all color properties
133
+ ```
134
+
135
+ ## Theme Switching
136
+
137
+ ```typescript
138
+ import { layers, LIGHT, DARK } from "@geogdev/styles";
139
+
140
+ function switchTheme(map, theme) {
141
+ const newStyle = {
142
+ version: 8,
143
+ glyphs: "https://your-server.com/fonts/{fontstack}/{range}.pbf",
144
+ sprite: `https://your-server.com/sprites/${theme === DARK ? "dark" : "light"}`,
145
+ sources: {
146
+ basemap: { type: "vector", url: "https://your-server.com/tiles.json" }
147
+ },
148
+ layers: layers("basemap", theme, { lang: "en" })
149
+ };
150
+ map.setStyle(newStyle);
151
+ }
152
+
153
+ // Usage
154
+ switchTheme(map, DARK);
155
+ ```
156
+
157
+ ## Requirements
158
+
159
+ This package generates **layer specifications only**. You must provide:
160
+
161
+ 1. **Tile source** - OpenMapTiles-compatible vector tiles (PMTiles, TileJSON, etc.)
162
+ 2. **Fonts (glyphs)** - PBF font files for text rendering
163
+ 3. **Sprites** - Icon sprite sheets (PNG + JSON)
164
+
165
+ ## Development
166
+
167
+ ```bash
168
+ # Build the package
169
+ npm run build
170
+
171
+ # Run tests
172
+ npm test
173
+
174
+ # Type checking
175
+ npm run tsc
176
+
177
+ # Format code
178
+ npm run format
179
+
180
+ # Generate style JSON (via npm script)
181
+ npm run generate_style output.json https://example.com/tiles.json light en
182
+
183
+ # Or via the installed CLI
184
+ npx geog-generate-style output.json https://example.com/tiles.json light en
185
+ ```
186
+
187
+ ## License
188
+
189
+ BSD-3-Clause
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var re=Object.defineProperty,Ie=Object.defineProperties;var ke=Object.getOwnPropertyDescriptors;var te=Object.getOwnPropertySymbols;var Te=Object.prototype.hasOwnProperty,Ce=Object.prototype.propertyIsEnumerable;var ie=(a,e,t)=>e in a?re(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,E=(a,e)=>{for(var t in e||(e={}))Te.call(e,t)&&ie(a,t,e[t]);if(te)for(var t of te(e))Ce.call(e,t)&&ie(a,t,e[t]);return a},I=(a,e)=>Ie(a,ke(e)),r=(a,e)=>re(a,"name",{value:e,configurable:!0});var ne=[{lang:"ar",full_name:"Arabic",script:"Arabic"},{lang:"cs",full_name:"Czech",script:"Latin"},{lang:"bg",full_name:"Bulgarian",script:"Cyrillic"},{lang:"da",full_name:"Danish",script:"Latin"},{lang:"de",full_name:"German",script:"Latin"},{lang:"el",full_name:"Greek",script:"Greek"},{lang:"en",full_name:"English",script:"Latin"},{lang:"es",full_name:"Spanish",script:"Latin"},{lang:"et",full_name:"Estonian",script:"Latin"},{lang:"fa",full_name:"Persian",script:"Arabic"},{lang:"fi",full_name:"Finnish",script:"Latin"},{lang:"fr",full_name:"French",script:"Latin"},{lang:"ga",full_name:"Irish",script:"Latin"},{lang:"he",full_name:"Hebrew",script:"Hebrew"},{lang:"hi",full_name:"Hindi",script:"Devanagari"},{lang:"hr",full_name:"Croatian",script:"Latin"},{lang:"hu",full_name:"Hungarian",script:"Latin"},{lang:"id",full_name:"Indonesian",script:"Latin"},{lang:"it",full_name:"Italian",script:"Latin"},{lang:"ja",full_name:"Japanese",script:""},{lang:"ko",full_name:"Korean",script:"Hangul"},{lang:"lt",full_name:"Lithuanian",script:"Latin"},{lang:"lv",full_name:"Latvian",script:"Latin"},{lang:"ne",full_name:"Nepali",script:"Devanagari"},{lang:"nl",full_name:"Dutch",script:"Latin"},{lang:"no",full_name:"Norwegian",script:"Latin"},{lang:"mr",full_name:"Marathi",script:"Devanagari"},{lang:"mt",full_name:"Maltese",script:"Latin"},{lang:"pl",full_name:"Polish",script:"Latin"},{lang:"pt",full_name:"Portuguese",script:"Latin"},{lang:"ro",full_name:"Romanian",script:"Latin"},{lang:"ru",full_name:"Russian",script:"Cyrillic"},{lang:"sk",full_name:"Slovak",script:"Latin"},{lang:"sl",full_name:"Slovenian",script:"Latin"},{lang:"sv",full_name:"Swedish",script:"Latin"},{lang:"tr",full_name:"Turkish",script:"Latin"},{lang:"uk",full_name:"Ukrainian",script:"Cyrillic"},{lang:"ur",full_name:"Urdu",script:"Arabic"},{lang:"vi",full_name:"Vietnamese",script:"Latin"},{lang:"zh-Hans",full_name:"Chinese (Simplified)",script:"Han"},{lang:"zh-Hant",full_name:"Chinese (Traditional)",script:"Han"}];var oe=ne;function g(a,e){let t="script";return a==="name"?t="script":a==="name2"?t="script2":a==="name3"&&(t="script3"),[["coalesce",["get",`pgf:${a}`],["get",a]],{"text-font":["case",["==",["get",t],"Devanagari"],["literal",["Noto Sans Devanagari Regular v1"]],["literal",[e||"Noto Sans Regular"]]]}]}r(g,"get_name_block");function d(a,e,t){let i="name";return t==="name"?i="":t==="name2"?i="2":t==="name3"&&(i="3"),e==="Latin"?["has",`script${i}`]:a==="ja"?["all",["!=",["get",`script${i}`],"Han"],["!=",["get",`script${i}`],"Hiragana"],["!=",["get",`script${i}`],"Katakana"],["!=",["get",`script${i}`],"Mixed-Japanese"]]:["!=",["get",`script${i}`],e]}r(d,"is_not_in_target_script");function p(a){return a==="Devanagari"?{"text-font":["literal",["Noto Sans Devanagari Regular v1"]]}:{}}r(p,"get_font_formatting");function le(a){let e=oe.find(t=>t.lang===a);return e===void 0?"Latin":e.script}r(le,"getDefaultScript");function R(a,e){let t=e||le(a),i;return t==="Devanagari"?i="pgf:":i="",["format",["coalesce",["get",`${i}name:${a}`],["get","name:en"]],p(t)]}r(R,"getCountryName");function _(a,e,t){let i=e||le(a),o;return i==="Devanagari"?o="pgf:":o="",["case",["all",["any",["has","name"],["has","pgf:name"]],["!",["any",["has","name2"],["has","pgf:name2"]]],["!",["any",["has","name3"],["has","pgf:name3"]]]],["case",d(a,i,"name"),["case",["any",["is-supported-script",["get","name"]],["has","pgf:name"]],["format",["coalesce",["get",`${o}name:${a}`],["get","name:en"]],p(i),`
2
+ `,{},["case",["all",["!",["has",`${o}name:${a}`]],["has","name:en"],["!",["has","script"]]],"",["coalesce",["get","pgf:name"],["get","name"]]],{"text-font":["case",["==",["get","script"],"Devanagari"],["literal",["Noto Sans Devanagari Regular v1"]],["literal",[t||"Noto Sans Regular"]]]}],["get","name:en"]],["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name"],["get","name"]],p(i)]],["all",["any",["has","name"],["has","pgf:name"]],["any",["has","name2"],["has","pgf:name2"]],["!",["any",["has","name3"],["has","pgf:name3"]]]],["case",["all",d(a,i,"name"),d(a,i,"name2")],["format",["get",`${o}name:${a}`],p(i),`
3
+ `,{},...g("name",t),`
4
+ `,{},...g("name2",t)],["case",d(a,i,"name2"),["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name"],["get","name"]],p(i),`
5
+ `,{},...g("name2",t)],["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name2"],["get","name2"]],p(i),`
6
+ `,{},...g("name",t)]]],["case",["all",d(a,i,"name"),d(a,i,"name2"),d(a,i,"name3")],["format",["get",`${o}name:${a}`],p(i),`
7
+ `,{},...g("name",t),`
8
+ `,{},...g("name2",t),`
9
+ `,{},...g("name3",t)],["case",["!",d(a,i,"name")],["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name"],["get","name"]],p(i),`
10
+ `,{},...g("name2",t),`
11
+ `,{},...g("name3",t)],["!",d(a,i,"name2")],["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name2"],["get","name2"]],p(i),`
12
+ `,{},...g("name",t),`
13
+ `,{},...g("name3",t)],["format",["coalesce",["get",`${o}name:${a}`],["get","pgf:name3"],["get","name3"]],p(i),`
14
+ `,{},...g("name",t),`
15
+ `,{},...g("name2",t)]]]]}r(_,"getMultilineName");var h={roadClasses:{OTHER:["track","path"],MINOR:["minor","residential","unclassified"],MAJOR:["primary","secondary","tertiary"],HIGHWAY:["motorway","trunk"],ALL_MAJOR:["motorway","trunk","primary","secondary","tertiary"],ALL_MINOR:["minor","residential","unclassified","service","track","path"]},landcoverSubclasses:{GREEN:["park","garden","golf_course","allotments","village_green","recreation_ground"],MEADOW:["meadow","grassland","grass"]},landuseClasses:{GREEN:["cemetery","pitch","playground","stadium","track","theme_park"],EDUCATION:["school","university","college"],PEDESTRIAN:["pedestrian","dam"]},placeClasses:{SUBPLACE:["neighbourhood","quarter","suburb"],LOCALITY:["city","town","village","hamlet"]},waterClasses:{OCEAN:["sea","ocean"],WATERWAY:["river","stream"]}};var k={tiers:{TIER_1:["aerodrome"],TIER_2:["station","ferry_terminal","hospital","park","zoo","stadium","cemetery","university","college"],TIER_3:["halt","tram_stop","subway","subway_entrance","bicycle","car_repair","charging_station","school","kindergarten","library","clinic","doctors","dentist","pharmacy","veterinary","police","fire_station","post_office","townhall","courthouse","community_centre","bank","atm","museum","theatre","cinema","gallery","artwork","attraction","information","hotel","hostel","guest_house","castle","ruins","memorial","monument","beach","marina","viewpoint","picnic_site","camp_site","church","mosque","synagogue","temple"],TIER_4:["restaurant","fast_food","cafe","bar","pub","biergarten","ice_cream","supermarket","convenience","bakery","butcher","greengrocer","clothes","shoes","beauty","electronics","furniture","hardware","florist","books","gift","jewelry","optician","mobile_phone","sports","fuel"],TIER_5:["playground","bus_stop","bus_station","post_box","parking","toilets","drinking_water"],TIER_5B_ACCESS:["swimming_pool","garden"]},categories:{GREEN:["park","garden","playground","swimming_pool","beach","marina","zoo","viewpoint","picnic_site","camp_site"],LAPIS:["bus_stop","bus_station","station","halt","tram_stop","subway","subway_entrance","aerodrome","ferry_terminal","fuel","parking","bicycle","car_repair","charging_station"],SLATEGRAY:["school","kindergarten","college","university","library","hospital","clinic","doctors","dentist","pharmacy","veterinary","police","fire_station","post_office","post_box","townhall","courthouse","community_centre","toilets","drinking_water","bank","atm","church","mosque","synagogue","temple"],BLUE:["supermarket","convenience","bakery","butcher","greengrocer","clothes","shoes","beauty","electronics","furniture","hardware","florist","books","gift","jewelry","optician","mobile_phone","sports"],TANGERINE:["restaurant","fast_food","cafe","bar","pub","biergarten","ice_cream"],PINK:["museum","theatre","cinema","gallery","artwork","attraction","information","hotel","hostel","guest_house","castle","ruins","memorial","monument"]}};var se={LANDCOVER_FADE_START:5,LANDCOVER_FADE_END:7,LANDCOVER_GREEN_START:5,LANDCOVER_GREEN_END:8,PARK_FADE_START:5,PARK_FADE_END:8,LANDUSE_FADE_START:6,LANDUSE_FADE_END:11,AEROWAY_MIN:11,WATERWAY_STREAM_MIN:14,WATERWAY_RIVER_MIN:9,ROADS_MINOR_SERVICE_MIN:16,ROADS_LINK_MIN:13,ROADS_MAJOR_CASING_LATE_MIN:12,ROADS_MAJOR_CASING_EARLY_MAX:12,ROADS_HIGHWAY_CASING_LATE_MIN:12,ROADS_HIGHWAY_CASING_EARLY_MAX:12,ROADS_BRIDGES_MIN:12,TRANSIT_PASSENGER_RAIL_MIN:10,TRANSIT_FREIGHT_RAIL_MIN:11,TRANSIT_URBAN_RAIL_MIN:11,TRANSIT_MIXED_RAIL_MIN:11,TRANSIT_HERITAGE_MIN:13,TRANSIT_BUS_MIN:13,TRANSIT_SERVICE_TRACKS_MIN:14,TRANSIT_FERRY_MIN:4,LABELS_ADDRESS_MIN:18,LABELS_WATERWAY_MIN:13,LABELS_ROADS_ONEWAY_MIN:16,LABELS_ROADS_MINOR_MIN:15,LABELS_ROADS_MAJOR_MIN:11,LABELS_POI_MIN:10};var n=se,u=h.roadClasses,S=k.tiers,b=k.categories,s={IS_TUNNEL:["==",["get","brunnel"],"tunnel"],IS_BRIDGE:["==",["get","brunnel"],"bridge"],NOT_BRUNNEL:["!",["has","brunnel"]],IS_RAMP:["==",["get","ramp"],1],NOT_RAMP:["!=",["get","ramp"],1],IS_POLYGON:["==","$type","Polygon"],IS_LINESTRING:["==",["geometry-type"],"LineString"],IS_POINT:["==",["geometry-type"],"Point"]},l={OTHER:["interpolate",["exponential",1.6],["zoom"],14,0,20,7],MINOR:["interpolate",["exponential",1.6],["zoom"],11,0,12.5,.5,15,2,18,11],LINK:["interpolate",["exponential",1.6],["zoom"],13,0,13.5,1,18,11],MAJOR:["interpolate",["exponential",1.6],["zoom"],6,0,12,1.6,15,3,18,13],HIGHWAY:["interpolate",["exponential",1.6],["zoom"],3,0,6,1.1,12,1.6,15,5,18,15],MINOR_CASING_GAP:["interpolate",["exponential",1.6],["zoom"],11,0,12.5,.5,15,2,18,11],LINK_CASING_GAP:["interpolate",["exponential",1.6],["zoom"],13,0,13.5,1,18,11],MAJOR_CASING_GAP:["interpolate",["exponential",1.6],["zoom"],7,0,7.5,.5,18,13],HIGHWAY_CASING_GAP:["interpolate",["exponential",1.6],["zoom"],3,0,3.5,.5,18,15],CASING_THIN:["interpolate",["exponential",1.6],["zoom"],12,0,12.5,1],CASING_MEDIUM:["interpolate",["exponential",1.6],["zoom"],9,0,9.5,1],CASING_THICK:["interpolate",["exponential",1.6],["zoom"],7,0,7.5,1,20,15]},T=h.landcoverSubclasses,N=h.landuseClasses,oa=h.placeClasses,la=h.waterClasses;function C(a,e){return[{id:"background",type:"background",paint:{"background-color":e.background}},{id:"earth",type:"fill",filter:s.IS_POLYGON,source:a,"source-layer":"earth",paint:{"fill-color":e.earth}}]}r(C,"createBackgroundLayers");function z(a,e){return[{id:"water",type:"fill",filter:s.IS_POLYGON,source:a,"source-layer":"water",paint:{"fill-color":e.water}},{id:"water_stream",type:"line",source:a,"source-layer":"waterway",minzoom:n.WATERWAY_STREAM_MIN,filter:["==","class","stream"],paint:{"line-color":e.water,"line-width":.5}},{id:"water_river",type:"line",source:a,"source-layer":"waterway",minzoom:n.WATERWAY_RIVER_MIN,filter:["==","class","river"],paint:{"line-color":e.water,"line-width":["interpolate",["exponential",1.6],["zoom"],9,0,9.5,1,18,12]}}]}r(z,"createWaterLayers");function D(a,e){return[{id:"boundaries_country",type:"line",source:a,"source-layer":"boundary",filter:["<=","admin_level",2],paint:{"line-color":e.boundaries,"line-width":.7,"line-dasharray":["step",["zoom"],["literal",[2,0]],4,["literal",[2,1]]]}},{id:"boundaries",type:"line",source:a,"source-layer":"boundary",filter:[">","admin_level",2],paint:{"line-color":e.boundaries,"line-width":.4,"line-dasharray":["step",["zoom"],["literal",[2,0]],4,["literal",[2,1]]]}}]}r(D,"createBoundaryLayers");function M(a,e){return[{id:"buildings",type:"fill",source:a,"source-layer":"building",paint:{"fill-color":e.buildings,"fill-opacity":.5}}]}r(M,"createBuildingLayers");function ve(a,e){switch(e){case"regular":return a.regular||"Noto Sans Regular";case"italic":return a.italic||"Noto Sans Italic";case"bold":return a.bold||"Noto Sans Medium";case"medium":return a.medium||"Noto Sans Medium"}}r(ve,"getFont");function ce(a){let{id:e,source:t,sourceLayer:i,style:o,lang:y,script:x,filter:L,minzoom:f,maxzoom:m,fontStyle:Se="regular",textSize:xe=12,textColor:Le,haloColor:we,haloWidth:Ae=1,letterSpacing:Z,maxWidth:Q,textTransform:ee,symbolPlacement:ae="point",useCountryName:Re=!1}=a,Ne=ve(o,Se),Ee=Re?R(y,x):_(y,x,o.regular),w={"text-font":[Ne],"text-field":Ee,"text-size":xe};ae!=="point"&&(w["symbol-placement"]=ae),Z!==void 0&&(w["text-letter-spacing"]=Z),Q!==void 0&&(w["text-max-width"]=Q),ee&&(w["text-transform"]=ee);let A={id:e,type:"symbol",source:t,"source-layer":i,layout:w,paint:{"text-color":Le,"text-halo-color":we,"text-halo-width":Ae}};return L&&(A.filter=L),f!==void 0&&(A.minzoom=f),m!==void 0&&(A.maxzoom=m),A}r(ce,"createLabelLayer");function O(a,e,t,i){return[ce({id:"water_waterway_label",source:a,sourceLayer:"water_name",style:e,lang:t,script:i,minzoom:13,filter:["in","class","river","stream"],fontStyle:"italic",textColor:e.ocean_label,haloColor:e.water,symbolPlacement:"line",letterSpacing:.2}),{id:"water_label_ocean",type:"symbol",source:a,"source-layer":"water_name",filter:["in",["get","class"],["literal",["sea","ocean"]]],layout:{"text-font":[e.italic||"Noto Sans Italic"],"text-field":_(t,i,e.regular),"text-size":["interpolate",["linear"],["zoom"],3,10,10,12],"text-letter-spacing":.1,"text-max-width":9,"text-transform":"uppercase"},paint:{"text-color":e.ocean_label,"text-halo-width":1,"text-halo-color":e.water}},{id:"water_label_lakes_point",type:"symbol",source:a,"source-layer":"water_name",filter:["all",["==",["get","class"],"lake"],["==",["geometry-type"],"Point"]],layout:{"text-font":[e.italic||"Noto Sans Italic"],"text-field":_(t,i,e.regular),"text-size":["interpolate",["linear"],["zoom"],3,10,6,12,10,12],"text-letter-spacing":.1,"text-max-width":9},paint:{"text-color":e.ocean_label,"text-halo-color":e.water,"text-halo-width":1}},{id:"water_label_lakes_line",type:"symbol",source:a,"source-layer":"water_name",filter:["all",["==",["get","class"],"lake"],["==",["geometry-type"],"LineString"]],layout:{"symbol-placement":"line-center","text-rotation-alignment":"viewport","text-font":[e.italic||"Noto Sans Italic"],"text-field":_(t,i,e.regular),"text-size":["interpolate",["linear"],["zoom"],3,10,6,12,10,12],"text-letter-spacing":.1,"text-max-width":9},paint:{"text-color":e.ocean_label,"text-halo-color":e.water,"text-halo-width":1}}]}r(O,"createWaterLabels");function v(a,e,t,i){return[{id:"roads_oneway",type:"symbol",source:a,"source-layer":"transportation",minzoom:16,filter:["==",["get","oneway"],"yes"],layout:{"symbol-placement":"line","icon-image":"arrow_right","icon-rotate":0,"symbol-spacing":100}},{id:"roads_labels_minor",type:"symbol",source:a,"source-layer":"transportation_name",minzoom:15,filter:["in",["get","class"],["literal",["minor","residential","unclassified","service","track","path"]]],layout:{"symbol-sort-key":["coalesce",["get","min_zoom"],20],"symbol-placement":"line","text-font":[e.regular||"Noto Sans Regular"],"text-field":_(t,i,e.regular),"text-size":12},paint:{"text-color":e.roads_label_minor,"text-halo-color":e.roads_label_minor_halo,"text-halo-width":1}},{id:"roads_shields",type:"symbol",source:a,"source-layer":"transportation_name",filter:["all",["in",["get","class"],["literal",["motorway","trunk","primary","secondary","tertiary"]]],["has","ref"],["<=",["length",["get","ref"]],5]],layout:{"icon-image":["concat","shield|",["coalesce",["get","network"],"default"],"=",["get","ref"],"|",["coalesce",["get","name"],""]],"text-field":["get","ref"],"text-font":[e.bold||"Noto Sans Medium"],"text-size":8,"icon-size":.8,"symbol-placement":"line","icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport"},paint:{"text-color":e.roads_label_major,"text-opacity":0}},{id:"roads_labels_major",type:"symbol",source:a,"source-layer":"transportation_name",minzoom:11,filter:["in",["get","class"],["literal",["motorway","trunk","primary","secondary","tertiary"]]],layout:{"symbol-sort-key":["coalesce",["get","min_zoom"],20],"symbol-placement":"line","text-font":[e.regular||"Noto Sans Regular"],"text-field":_(t,i,e.regular),"text-size":12},paint:{"text-color":e.roads_label_major,"text-halo-color":e.roads_label_major_halo,"text-halo-width":1}}]}r(v,"createRoadLabels");function G(a,e,t,i){return[{id:"places_subplace",type:"symbol",source:a,"source-layer":"place",filter:["in",["get","class"],["literal",["neighbourhood","quarter","suburb"]]],layout:{"symbol-sort-key":["case",["has","sort_key"],["get","sort_key"],["coalesce",["get","min_zoom"],20]],"text-field":_(t,i,e.medium),"text-font":[e.medium||"Noto Sans Medium"],"text-max-width":7,"text-letter-spacing":.1,"text-padding":["interpolate",["linear"],["zoom"],5,2,8,4,12,18,15,20],"text-size":["interpolate",["exponential",1.2],["zoom"],11,8,14,14,18,24]},paint:{"text-color":e.subplace_label,"text-halo-color":e.subplace_label_halo,"text-halo-width":1}},{id:"places_region",type:"symbol",source:a,"source-layer":"place",filter:["==",["get","class"],"state"],layout:{"symbol-sort-key":["get","sort_key"],"text-field":["step",["zoom"],["coalesce",["get","ref:en"],["get","ref"]],6,_(t,i,e.regular)],"text-font":[e.regular||"Noto Sans Regular"],"text-size":["interpolate",["linear"],["zoom"],3,11,7,16],"text-radial-offset":.2,"text-anchor":"center"},paint:{"text-color":e.state_label,"text-halo-color":e.state_label_halo,"text-halo-width":1}},{id:"places_locality",type:"symbol",source:a,"source-layer":"place",filter:["in",["get","class"],["literal",["city","town","village","hamlet"]]],layout:{"icon-image":["step",["zoom"],["case",["==",["get","capital"],"yes"],"circle-star",["==",["get","class"],"city"],"scrubber","circle"],8,""],"icon-size":.7,"text-field":_(t,i,e.medium),"text-font":["case",["<=",["coalesce",["get","min_zoom"],20],5],["literal",[e.bold||"Noto Sans Medium"]],["literal",[e.medium||"Noto Sans Medium"]]],"symbol-sort-key":["case",["has","sort_key"],["get","sort_key"],["coalesce",["get","min_zoom"],20]],"text-padding":["interpolate",["linear"],["zoom"],5,3,8,7,12,11],"text-size":["interpolate",["linear"],["zoom"],2,["case",["<",["get","population_rank"],13],8,[">=",["get","population_rank"],13],13,0],4,["case",["<",["get","population_rank"],13],10,[">=",["get","population_rank"],13],15,0],6,["case",["<",["get","population_rank"],12],11,[">=",["get","population_rank"],12],17,0],8,["case",["<",["get","population_rank"],11],11,[">=",["get","population_rank"],11],18,0],10,["case",["<",["get","population_rank"],9],12,[">=",["get","population_rank"],9],20,0],15,["case",["<",["get","population_rank"],8],12,[">=",["get","population_rank"],8],22,0]],"icon-padding":["interpolate",["linear"],["zoom"],0,0,8,4,10,8,12,6,22,2],"text-justify":"auto","text-variable-anchor":["step",["zoom"],["literal",["bottom","left","right","top"]],8,["literal",["center"]]],"text-radial-offset":.3},paint:{"text-color":e.city_label,"text-halo-color":e.city_label_halo,"text-halo-width":1}},{id:"places_country",type:"symbol",source:a,"source-layer":"place",filter:["==",["get","class"],"country"],layout:{"symbol-sort-key":["case",["has","sort_key"],["get","sort_key"],["coalesce",["get","min_zoom"],20]],"text-field":R(t,i),"text-font":[e.bold||"Noto Sans Medium"],"text-size":["interpolate",["linear"],["zoom"],2,["case",["<",["get","population_rank"],10],8,[">=",["get","population_rank"],10],12,0],6,["case",["<",["get","population_rank"],8],10,[">=",["get","population_rank"],8],18,0],8,["case",["<",["get","population_rank"],7],11,[">=",["get","population_rank"],7],20,0]],"icon-padding":["interpolate",["linear"],["zoom"],0,2,14,2,16,20,17,2,22,2]},paint:{"text-color":e.country_label,"text-halo-color":e.earth,"text-halo-width":1}}]}r(G,"createPlaceLabels");function P(a,e,t,i){return[{id:"address_label",type:"symbol",source:a,"source-layer":"housenumber",minzoom:18,layout:{"symbol-placement":"point","text-font":[e.italic||"Noto Sans Italic"],"text-field":["get","housenumber"],"text-size":12},paint:{"text-color":e.address_label,"text-halo-color":e.address_label_halo,"text-halo-width":1}},{id:"earth_label_islands",type:"symbol",source:a,"source-layer":"place",filter:["==",["get","class"],"island"],layout:{"text-font":[e.italic||"Noto Sans Italic"],"text-field":_(t,i,e.regular),"text-size":10,"text-letter-spacing":.1,"text-max-width":8},paint:{"text-color":e.subplace_label,"text-halo-color":e.subplace_label_halo,"text-halo-width":1}}]}r(P,"createMiscLabels");function j(a,e){return e.landcover?[{id:"landcover",type:"fill",source:a,"source-layer":"landcover",paint:{"fill-color":["match",["get","class"],"grass",e.landcover.grassland,"sand",e.landcover.barren,"farmland",e.landcover.farmland,"ice",e.landcover.glacier,"wood",e.landcover.forest,"rock",e.landcover.rock,"wetland",e.landcover.wetland,e.landcover.forest],"fill-opacity":["interpolate",["linear"],["zoom"],n.LANDCOVER_FADE_START,1,n.LANDCOVER_FADE_END,0]}},{id:"landcover_green",type:"fill",source:a,"source-layer":"landcover",filter:["in",["get","subclass"],["literal",[...T.GREEN]]],paint:{"fill-color":e.park_b,"fill-opacity":["interpolate",["linear"],["zoom"],n.LANDCOVER_GREEN_START,0,n.LANDCOVER_GREEN_END,.5]}},{id:"landcover_meadow",type:"fill",source:a,"source-layer":"landcover",filter:["in",["get","subclass"],["literal",[...T.MEADOW]]],paint:{"fill-color":e.landcover.grassland,"fill-opacity":["interpolate",["linear"],["zoom"],n.LANDCOVER_GREEN_START,0,n.LANDCOVER_GREEN_END,1]}}]:[]}r(j,"createLandcoverLayers");function H(a,e){return[{id:"park",type:"fill",source:a,"source-layer":"park",paint:{"fill-opacity":["interpolate",["linear"],["zoom"],n.PARK_FADE_START,0,n.PARK_FADE_END,1],"fill-color":["match",["get","class"],"national_park",e.park_a,"nature_reserve",e.park_a,"protected_area",e.park_a,e.park_b]}}]}r(H,"createParkLayers");function B(a,e){return[{id:"landuse_green",type:"fill",source:a,"source-layer":"landuse",filter:["in","class",...N.GREEN],paint:{"fill-opacity":["interpolate",["linear"],["zoom"],n.LANDUSE_FADE_START,0,n.LANDUSE_FADE_END,1],"fill-color":e.park_b}},{id:"landuse_hospital",type:"fill",source:a,"source-layer":"landuse",filter:["==","class","hospital"],paint:{"fill-color":e.hospital}},{id:"landuse_industrial",type:"fill",source:a,"source-layer":"landuse",filter:["==","class","industrial"],paint:{"fill-color":e.industrial}},{id:"landuse_school",type:"fill",source:a,"source-layer":"landuse",filter:["in","class",...N.EDUCATION],paint:{"fill-color":e.school}},{id:"landuse_zoo",type:"fill",source:a,"source-layer":"landuse",filter:["==","class","zoo"],paint:{"fill-color":e.zoo}},{id:"landuse_aerodrome",type:"fill",source:a,"source-layer":"landuse",filter:["==","class","aerodrome"],paint:{"fill-color":e.aerodrome}},{id:"landuse_pedestrian",type:"fill",source:a,"source-layer":"landuse",filter:["in","class",...N.PEDESTRIAN],paint:{"fill-color":e.pedestrian}},{id:"landuse_pier",type:"fill",source:a,"source-layer":"landuse",filter:["==","class","pier"],paint:{"fill-color":e.pier}}]}r(B,"createLanduseLayers");function W(a,e){return[{id:"aeroway_fill",type:"fill",source:a,"source-layer":"aeroway",filter:["all",["==","$type","Polygon"],["in","class","apron","helipad"]],paint:{"fill-color":e.runway}},{id:"aeroway_runway",type:"line",source:a,"source-layer":"aeroway",minzoom:n.AEROWAY_MIN,filter:["all",["==","$type","LineString"],["==","class","runway"]],paint:{"line-color":e.runway,"line-width":["interpolate",["exponential",1.2],["zoom"],11,3,20,48]}},{id:"aeroway_taxiway",type:"line",source:a,"source-layer":"aeroway",minzoom:n.AEROWAY_MIN,filter:["all",["==","$type","LineString"],["==","class","taxiway"]],paint:{"line-color":e.runway,"line-width":["interpolate",["exponential",1.2],["zoom"],11,1,20,24]}}]}r(W,"createAerowayLayers");function Y(a,e,t,i){return e.pois?[{id:"pois",type:"symbol",source:a,"source-layer":"poi",minzoom:n.LABELS_POI_MIN,filter:["any",["all",[">=",["zoom"],10],["==",["get","subclass"],"aerodrome"]],["all",[">=",["zoom"],12],["in",["get","subclass"],["literal",[...S.TIER_2]]]],["all",[">=",["zoom"],14],["in",["get","subclass"],["literal",[...S.TIER_3]]],["<=",["coalesce",["get","rank"],999],["interpolate",["linear"],["zoom"],14,15,15,50,16,100,17,200]]],["all",[">=",["zoom"],15],["in",["get","subclass"],["literal",[...S.TIER_4]]],["<=",["coalesce",["get","rank"],999],["interpolate",["linear"],["zoom"],15,30,16,75,17,150]]],["all",[">=",["zoom"],17],["in",["get","subclass"],["literal",[...S.TIER_5]]]],["all",[">=",["zoom"],17],["in",["get","subclass"],["literal",[...S.TIER_5B_ACCESS]]],["!",["in",["coalesce",["get","access"],"yes"],["literal",["private","customers","no"]]]]]],layout:{"icon-image":["match",["get","subclass"],"station","train_station","gallery","art_gallery",["get","subclass"]],"icon-size":.5,"text-font":[e.medium||"Noto Sans Medium"],"text-justify":"auto","text-field":_(t,i,e.medium),"text-size":["interpolate",["linear"],["zoom"],17,11,19,18],"text-max-width":8,"text-offset":[1.1,0],"text-variable-anchor":["left","right"]},paint:{"text-color":["case",["in",["get","subclass"],["literal",[...b.GREEN]]],e.pois.green,["in",["get","subclass"],["literal",[...b.LAPIS]]],e.pois.lapis,["in",["get","subclass"],["literal",[...b.SLATEGRAY]]],e.pois.slategray,["in",["get","subclass"],["literal",[...b.BLUE]]],e.pois.blue,["in",["get","subclass"],["literal",[...b.TANGERINE]]],e.pois.tangerine,["in",["get","subclass"],["literal",[...b.PINK]]],e.pois.pink,e.earth],"text-halo-color":e.earth,"text-halo-width":1}}]:[]}r(Y,"createPoiLayers");function Ge(a){switch(a){case"other":return u.OTHER;case"minor":return u.MINOR;case"major":return u.MAJOR;case"highway":return u.HIGHWAY;case"link":return[]}}r(Ge,"getRoadClasses");function Pe(a,e){let t=[];if(a==="tunnel"?t.push(s.IS_TUNNEL):a==="bridge"?t.push(s.IS_BRIDGE):t.push(s.NOT_BRUNNEL),e==="link")t.push(s.IS_RAMP);else{let i=Ge(e);i.length>0&&t.push(["in",["get","class"],["literal",i]]),e==="highway"&&t.push(s.NOT_RAMP)}return t.length===1?t[0]:["all",...t]}r(Pe,"buildFilter");function je(a,e,t){return`${a==="tunnel"?"roads_tunnels":a==="bridge"?"roads_bridges":"roads"}_${e}${t?"_casing":""}`}r(je,"getLayerId");function He(a,e,t){if(e==="tunnel")switch(t){case"other":return a.tunnel_other_casing;case"minor":return a.tunnel_minor_casing;case"link":return a.tunnel_link_casing;case"major":return a.tunnel_major_casing;case"highway":return a.tunnel_highway_casing}if(e==="bridge")switch(t){case"other":return a.bridges_other_casing;case"minor":return a.bridges_minor_casing;case"link":return a.bridges_minor_casing;case"major":return a.bridges_major_casing;case"highway":return a.bridges_highway_casing}switch(t){case"other":return a.minor_casing;case"minor":return a.minor_casing;case"link":return a.minor_casing;case"major":return a.major_casing_late;case"highway":return a.highway_casing_late}}r(He,"getCasingColor");function Be(a,e,t){if(e==="tunnel")switch(t){case"other":return a.tunnel_other;case"minor":return a.tunnel_minor;case"link":return a.tunnel_minor;case"major":return a.tunnel_major;case"highway":return a.tunnel_highway}if(e==="bridge")switch(t){case"other":return a.bridges_other;case"minor":return a.bridges_minor;case"link":return a.bridges_minor;case"major":return a.bridges_major;case"highway":return a.bridges_highway}switch(t){case"other":return a.other;case"minor":return["interpolate",["exponential",1.6],["zoom"],11,a.minor_a,16,a.minor_b];case"link":return a.link;case"major":return a.major;case"highway":return a.highway}}r(Be,"getFillColor");function We(a){switch(a){case"other":return l.OTHER;case"minor":return l.MINOR;case"link":return l.LINK;case"major":return l.MAJOR;case"highway":return l.HIGHWAY}}r(We,"getLineWidth");function Ye(a){switch(a){case"other":return l.OTHER;case"minor":return l.MINOR_CASING_GAP;case"link":return l.LINK_CASING_GAP;case"major":return l.MAJOR_CASING_GAP;case"highway":return l.HIGHWAY_CASING_GAP}}r(Ye,"getCasingGapWidth");function $e(a){switch(a){case"other":return l.CASING_THIN;case"minor":return l.CASING_THIN;case"link":return l.CASING_THIN;case"major":return l.CASING_MEDIUM;case"highway":return l.CASING_THICK}}r($e,"getCasingWidth");function _e(a,e,t){if(a==="tunnel"){if(t){if(e==="highway")return[6,.5];if(e!=="other")return[3,2]}else if(e==="other")return[4.5,.5]}else if(a==="bridge"){if(!t&&e==="other")return[2,1]}else if(!t&&e==="other")return[3,1]}r(_e,"getDasharray");function c(a){let{source:e,style:t,brunnel:i,category:o,isCasing:y,minzoom:x,maxzoom:L}=a,f={id:je(i,o,y),type:"line",source:e,"source-layer":"transportation",filter:Pe(i,o),paint:{}};if(x!==void 0&&(f.minzoom=x),L!==void 0&&(f.maxzoom=L),y){f.paint={"line-color":He(t,i,o),"line-gap-width":Ye(o),"line-width":$e(o)};let m=_e(i,o,!0);m&&(f.paint["line-dasharray"]=m)}else{f.paint={"line-color":Be(t,i,o),"line-width":We(o)};let m=_e(i,o,!1);m&&(f.paint["line-dasharray"]=m)}return f}r(c,"createRoadLayer");function $(a,e){let t=["other","minor","link","major","highway"],i=[];for(let o of t)i.push(c({source:a,style:e,brunnel:"tunnel",category:o,isCasing:!0}));for(let o of t)i.push(c({source:a,style:e,brunnel:"tunnel",category:o,isCasing:!1}));return i}r($,"createTunnelLayers");function V(a,e){let t=[];return t.push({id:"roads_minor_service_casing",type:"line",source:a,"source-layer":"transportation",minzoom:n.ROADS_MINOR_SERVICE_MIN,filter:["all",s.NOT_BRUNNEL,["==",["get","class"],"service"]],paint:{"line-color":e.minor_service_casing,"line-gap-width":["interpolate",["exponential",1.6],["zoom"],13,0,18,8],"line-width":["interpolate",["exponential",1.6],["zoom"],13,0,13.5,.8]}}),t.push(c({source:a,style:e,brunnel:null,category:"minor",isCasing:!0})),t.push(I(E({},c({source:a,style:e,brunnel:null,category:"link",isCasing:!0,minzoom:n.ROADS_LINK_MIN})),{filter:s.IS_RAMP})),t.push(c({source:a,style:e,brunnel:null,category:"major",isCasing:!0,minzoom:n.ROADS_MAJOR_CASING_LATE_MIN})),t.push(c({source:a,style:e,brunnel:null,category:"highway",isCasing:!0,minzoom:n.ROADS_HIGHWAY_CASING_LATE_MIN})),t.push(c({source:a,style:e,brunnel:null,category:"other",isCasing:!1})),t.push(I(E({},c({source:a,style:e,brunnel:null,category:"link",isCasing:!1})),{filter:s.IS_RAMP})),t.push({id:"roads_minor_service",type:"line",source:a,"source-layer":"transportation",filter:["all",s.NOT_BRUNNEL,["==",["get","class"],"service"]],paint:{"line-color":e.minor_service,"line-width":["interpolate",["exponential",1.6],["zoom"],13,0,18,8]}}),t.push(c({source:a,style:e,brunnel:null,category:"minor",isCasing:!1})),t.push({id:"roads_major_casing_early",type:"line",source:a,"source-layer":"transportation",maxzoom:n.ROADS_MAJOR_CASING_EARLY_MAX,filter:["all",s.NOT_BRUNNEL,["in",["get","class"],["literal",[...u.MAJOR]]]],paint:{"line-color":e.major_casing_early,"line-gap-width":l.MAJOR_CASING_GAP,"line-width":l.CASING_MEDIUM}}),t.push(c({source:a,style:e,brunnel:null,category:"major",isCasing:!1})),t.push({id:"roads_highway_casing_early",type:"line",source:a,"source-layer":"transportation",maxzoom:n.ROADS_HIGHWAY_CASING_EARLY_MAX,filter:["all",s.NOT_BRUNNEL,["in",["get","class"],["literal",[...u.HIGHWAY]]],s.NOT_RAMP],paint:{"line-color":e.highway_casing_early,"line-gap-width":["interpolate",["exponential",1.6],["zoom"],3,0,3.5,.5,18,10],"line-width":["interpolate",["exponential",1.6],["zoom"],7,0,7.5,1]}}),t.push(c({source:a,style:e,brunnel:null,category:"highway",isCasing:!1})),t}r(V,"createRoadLayers");function F(a,e){let t=["other","link","minor","major"],i=[];for(let o of t)i.push(c({source:a,style:e,brunnel:"bridge",category:o,isCasing:!0,minzoom:n.ROADS_BRIDGES_MIN}));for(let o of t)i.push(c({source:a,style:e,brunnel:"bridge",category:o,isCasing:!1,minzoom:n.ROADS_BRIDGES_MIN}));return i.push(c({source:a,style:e,brunnel:"bridge",category:"highway",isCasing:!0,minzoom:n.ROADS_BRIDGES_MIN})),i.push(c({source:a,style:e,brunnel:"bridge",category:"highway",isCasing:!1})),i}r(F,"createBridgeLayers");function U(a,e){return{id:"roads_pier",type:"line",source:a,"source-layer":"transportation",filter:["==","subclass","pier"],paint:{"line-color":e.pier,"line-width":["interpolate",["exponential",1.6],["zoom"],12,0,12.5,.5,20,16]}}}r(U,"createPierLayer");function K(a,e){return[{id:"transit_freight_rail",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_FREIGHT_RAIL_MIN,filter:["all",["==",["get","class"],"rail"],["==",["get","usage"],"freight"],["!",["has","service"]]],paint:{"line-color":e.transit_freight||e.transit_rail||e.railway,"line-width":["interpolate",["exponential",1.4],["zoom"],11,1.5,13,2.5,16,4.5],"line-dasharray":[.5,1.5],"line-opacity":.6}},{id:"transit_bus_infrastructure",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_BUS_MIN,filter:["==",["get","class"],"bus"],paint:{"line-color":e.transit_bus||e.transit_rail||e.railway,"line-width":["interpolate",["exponential",1.4],["zoom"],13,1.2,15,2,18,4],"line-dasharray":[2,1],"line-opacity":.6}},{id:"transit_heritage_rail",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_HERITAGE_MIN,filter:["all",["==",["get","class"],"rail"],["==",["get","usage"],"heritage"]],paint:{"line-color":e.transit_heritage||e.transit_rail||e.railway,"line-width":1.8,"line-dasharray":[.5,.5],"line-opacity":.5}},{id:"transit_mixed_rail",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_MIXED_RAIL_MIN,filter:["all",["==",["get","class"],"rail"],["==",["get","usage"],"mixed"]],paint:{"line-color":e.transit_rail||e.railway,"line-width":["interpolate",["exponential",1.4],["zoom"],11,1.5,13,2.2,16,4],"line-dasharray":[.4,.4],"line-opacity":.6}},{id:"transit_urban_rail",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_URBAN_RAIL_MIN,filter:["all",["==",["get","class"],"rail"],["in",["get","subclass"],["literal",["subway","light_rail","tram","monorail"]]]],paint:{"line-color":e.transit_rail||e.railway,"line-width":["interpolate",["exponential",1.4],["zoom"],11,1.5,14,2.5,18,4],"line-dasharray":[.4,1.2],"line-opacity":.6}},{id:"transit_passenger_rail",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_PASSENGER_RAIL_MIN,filter:["all",["==",["get","class"],"rail"],["!",["has","usage"]],["!",["in",["get","subclass"],["literal",["subway","light_rail","tram","monorail"]]]]],paint:{"line-color":e.transit_rail||e.railway,"line-width":["interpolate",["exponential",1.4],["zoom"],10,1.5,13,2.2,16,3.5],"line-dasharray":[.4,1.2],"line-opacity":.5}},{id:"transit_service_tracks",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_SERVICE_TRACKS_MIN,filter:["all",["==",["get","class"],"rail"],["has","service"]],paint:{"line-color":e.transit_rail||e.railway,"line-width":1,"line-dasharray":[.3,2],"line-opacity":.3}},{id:"transit_ferry",type:"line",source:a,"source-layer":"transportation",minzoom:n.TRANSIT_FERRY_MIN,filter:["==",["get","class"],"ferry"],paint:{"line-color":e.railway,"line-width":1.5,"line-dasharray":[4,2],"line-opacity":.6}}]}r(K,"createTransitLayers");function J(a,e){return[...C(a,e),...j(a,e),...H(a,e),...B(a,e),...W(a,e),...z(a,e),...$(a,e),...M(a,e),U(a,e),...V(a,e),...K(a,e),...D(a,e),...F(a,e)]}r(J,"nolabelsLayers");function q(a,e,t,i){return[...P(a,e,t,i),...O(a,e,t,i),...v(a,e,t,i),...Y(a,e,t,i),...G(a,e,t,i)]}r(q,"labelsLayers");var ge={background:"#1a1d1e",earth:"#252829",park_a:"#3a5f44",park_b:"#325a3c",hospital:"#3d2d2d",industrial:"#2d3335",school:"#3d3530",wood_a:"#2d4a35",wood_b:"#254432",pedestrian:"#3a4f40",scrub_a:"#385540",scrub_b:"#305038",glacier:"#2b2b2b",sand:"#3d3620",beach:"#3a3428",aerodrome:"#303030",runway:"#606060",water:"#1e5070",zoo:"#3a5f44",military:"#2d2d2d",tunnel_other_casing:"#0d0e0f",tunnel_minor_casing:"#0d0e0f",tunnel_link_casing:"#0a0a0a",tunnel_major_casing:"#080808",tunnel_highway_casing:"#060606",tunnel_other:"#3a3a3a",tunnel_minor:"#484848",tunnel_link:"#606060",tunnel_major:"#707070",tunnel_highway:"#808080",pier:"#3d3d3d",buildings:"#484848",minor_service_casing:"#0d0e0f",minor_casing:"#0d0e0f",link_casing:"#0a0a0a",major_casing_late:"#080808",highway_casing_late:"#060606",other:"#3a3a3a",minor_service:"#484848",minor_a:"#484848",minor_b:"#484848",link:"#606060",major_casing_early:"#080808",major:"#707070",highway_casing_early:"#060606",highway:"#808080",railway:"#404040",boundaries:"#5a3e42",bridges_other_casing:"#0d0e0f",bridges_minor_casing:"#0d0e0f",bridges_link_casing:"#0a0a0a",bridges_major_casing:"#080808",bridges_highway_casing:"#060606",bridges_other:"#3a3a3a",bridges_minor:"#484848",bridges_link:"#606060",bridges_major:"#707070",bridges_highway:"#808080",roads_label_minor:"#9ca3af",roads_label_minor_halo:"#1a1d1e",roads_label_major:"#e5e7eb",roads_label_major_halo:"#1a1d1e",ocean_label:"#7a9aa9",subplace_label:"#d1d5db",subplace_label_halo:"#1a1d1e",city_label:"#f3f4f6",city_label_halo:"#1a1d1e",state_label:"#b8bfc7",state_label_halo:"#1a1d1e",country_label:"#e5e7eb",address_label:"#9ca3af",address_label_halo:"#1a1d1e",pois:{blue:"#5dade2",green:"#52be80",lapis:"#c39bd3",pink:"#e685b5",red:"#ec7063",slategray:"#95a5a6",tangerine:"#f4a261",turquoise:"#3dd5c5"},landcover:{grassland:"#3a5440",barren:"#3d3620",urban_area:"#252829",farmland:"#385442",glacier:"#2b2b2b",scrub:"#385540",forest:"#2d4a35",rock:"#3a3835",wetland:"#2a4040"},transit_rail:"#9ca3af",transit_freight:"#6a6a6a",transit_bus:"#f4a261",transit_heritage:"#a0a0c0",shields:{interstate_fill:"#1e3a5f",interstate_stroke:"#7a8fa8",interstate_text:"#e5e7eb",us_highway_fill:"#2d3748",us_highway_stroke:"#4a5568",us_highway_text:"#e5e7eb",state_fill:"#2d3748",state_stroke:"#4a5568",state_text:"#e5e7eb",county_fill:"#4a4522",county_stroke:"#6b6b3a",county_text:"#e5e7eb",default_fill:"#2d3748",default_stroke:"#4a5568",default_text:"#e5e7eb",banner_text:"#e5e7eb",banner_text_halo:"#1a1d1e"}};var fe={background:"#e8e8e8",earth:"#d5d5d5",park_a:"#c8c8c8",park_b:"#bebebe",hospital:"#d0d0d0",industrial:"#c2c2c2",school:"#cecece",wood_a:"#bfbfbf",wood_b:"#b5b5b5",pedestrian:"#d0d0d0",scrub_a:"#c4c4c4",scrub_b:"#bababa",glacier:"#e5e5e5",sand:"#d8d8d8",beach:"#d2d2d2",aerodrome:"#c9c9c9",runway:"#b0b0b0",water:"#a8a8a8",zoo:"#c8c8c8",military:"#c0c0c0",tunnel_other_casing:"#d0d0d0",tunnel_minor_casing:"#d0d0d0",tunnel_link_casing:"#cccccc",tunnel_major_casing:"#c8c8c8",tunnel_highway_casing:"#c4c4c4",tunnel_other:"#b0b0b0",tunnel_minor:"#a8a8a8",tunnel_link:"#a0a0a0",tunnel_major:"#989898",tunnel_highway:"#909090",pier:"#b8b8b8",buildings:"#a0a0a0",minor_service_casing:"#d0d0d0",minor_casing:"#d0d0d0",link_casing:"#cccccc",major_casing_late:"#c8c8c8",highway_casing_late:"#c4c4c4",other:"#b0b0b0",minor_service:"#a8a8a8",minor_a:"#a8a8a8",minor_b:"#a8a8a8",link:"#a0a0a0",major_casing_early:"#c8c8c8",major:"#989898",highway_casing_early:"#c4c4c4",highway:"#909090",railway:"#c0c0c0",boundaries:"#a8a8a8",bridges_other_casing:"#d0d0d0",bridges_minor_casing:"#d0d0d0",bridges_link_casing:"#cccccc",bridges_major_casing:"#c8c8c8",bridges_highway_casing:"#c4c4c4",bridges_other:"#b0b0b0",bridges_minor:"#a8a8a8",bridges_link:"#a0a0a0",bridges_major:"#989898",bridges_highway:"#909090",roads_label_minor:"#787878",roads_label_minor_halo:"#ffffff",roads_label_major:"#505050",roads_label_major_halo:"#ffffff",ocean_label:"#707070",subplace_label:"#787878",subplace_label_halo:"#ffffff",city_label:"#505050",city_label_halo:"#ffffff",state_label:"#787878",state_label_halo:"#ffffff",country_label:"#505050",address_label:"#787878",address_label_halo:"#ffffff",pois:{blue:"#707070",green:"#888888",lapis:"#606060",pink:"#858585",red:"#757575",slategray:"#505050",tangerine:"#808080",turquoise:"#6a6a6a"},landcover:{grassland:"#c0c0c0",barren:"#d0d0d0",urban_area:"#d5d5d5",farmland:"#c4c4c4",glacier:"#e5e5e5",scrub:"#c4c4c4",forest:"#b5b5b5",rock:"#b0b0b0",wetland:"#aaaaaa"},transit_rail:"#787878",transit_freight:"#606060",transit_bus:"#787878",transit_heritage:"#888888",shields:{interstate_fill:"#505050",interstate_stroke:"#707070",interstate_text:"#ffffff",us_highway_fill:"#707070",us_highway_stroke:"#505050",us_highway_text:"#ffffff",state_fill:"#888888",state_stroke:"#606060",state_text:"#ffffff",county_fill:"#a0a0a0",county_stroke:"#707070",county_text:"#303030",default_fill:"#b8b8b8",default_stroke:"#808080",default_text:"#303030",banner_text:"#505050",banner_text_halo:"#ffffff"}};var pe={background:"#f8f9f7",earth:"#e9e9e6",park_a:"#b8d9b8",park_b:"#a8d4a8",hospital:"#e4dad9",industrial:"#d1dde1",school:"#e4ded7",wood_a:"#b0d0b0",wood_b:"#a0c8a0",pedestrian:"#d8ead8",scrub_a:"#c0dcc0",scrub_b:"#b0d4b0",glacier:"#f0f8ff",sand:"#f5e8d0",beach:"#f0e4c8",aerodrome:"#dadbdf",runway:"#e0e0e0",water:"#88c5e0",zoo:"#b8d9b8",military:"#dcdcdc",tunnel_other_casing:"#e5e5e2",tunnel_minor_casing:"#e5e5e2",tunnel_link_casing:"#e0e0dd",tunnel_major_casing:"#dcdcd9",tunnel_highway_casing:"#d8d8d5",tunnel_other:"#d0d0d0",tunnel_minor:"#c8c8c8",tunnel_link:"#c0c0c0",tunnel_major:"#b8b8b8",tunnel_highway:"#b0b0b0",pier:"#d0d0d0",buildings:"#c0bcb8",minor_service_casing:"#e5e5e2",minor_casing:"#e5e5e2",link_casing:"#e0e0dd",major_casing_late:"#dcdcd9",highway_casing_late:"#d8d8d5",other:"#d0d0d0",minor_service:"#c8c8c8",minor_a:"#c8c8c8",minor_b:"#c8c8c8",link:"#c0c0c0",major_casing_early:"#dcdcd9",major:"#b8b8b8",highway_casing_early:"#d8d8d5",highway:"#b0b0b0",railway:"#d5d5d5",boundaries:"#d4b8bc",bridges_other_casing:"#e5e5e2",bridges_minor_casing:"#e5e5e2",bridges_link_casing:"#e0e0dd",bridges_major_casing:"#dcdcd9",bridges_highway_casing:"#d8d8d5",bridges_other:"#d0d0d0",bridges_minor:"#c8c8c8",bridges_link:"#c0c0c0",bridges_major:"#b8b8b8",bridges_highway:"#b0b0b0",roads_label_minor:"#8a9299",roads_label_minor_halo:"#ffffff",roads_label_major:"#5a6570",roads_label_major_halo:"#ffffff",ocean_label:"#7a8a92",subplace_label:"#8a9299",subplace_label_halo:"#ffffff",city_label:"#5a6570",city_label_halo:"#ffffff",state_label:"#8a9299",state_label_halo:"#ffffff",country_label:"#5a6570",address_label:"#8a9299",address_label_halo:"#ffffff",pois:{blue:"#3498db",green:"#27ae60",lapis:"#9b59b6",pink:"#d63384",red:"#e74c3c",slategray:"#5a6570",tangerine:"#e76f51",turquoise:"#2a9d8f"},landcover:{grassland:"#c8e0c8",barren:"#f5ddb8",urban_area:"#e9e9e6",farmland:"#d0e8d0",glacier:"#f0f8ff",scrub:"#c0dcc0",forest:"#a8d0a8",rock:"#d0ccc8",wetland:"#b8d8d0"},transit_rail:"#888888",transit_freight:"#666666",transit_bus:"#cc7700",transit_heritage:"#9999bb",shields:{interstate_fill:"#5a7090",interstate_stroke:"#907070",interstate_text:"#f0f0ee",us_highway_fill:"#f0f0ee",us_highway_stroke:"#808080",us_highway_text:"#505050",state_fill:"#f0f0ee",state_stroke:"#808080",state_text:"#505050",county_fill:"#d8d8a0",county_stroke:"#808080",county_text:"#505050",default_fill:"#f0f0ee",default_stroke:"#808080",default_text:"#505050",banner_text:"#505050",banner_text_halo:"#f0f0ee"}};var de={background:"#f8f4f0",earth:"#e9e4df",park_a:"#c8e6c9",park_b:"#c8e6c9",hospital:"#f0e8e8",industrial:"#e0e0e0",school:"#e4ded7",wood_a:"#b8d4a8",wood_b:"#b8d4a8",pedestrian:"#e8e8e8",scrub_a:"#c8d9a8",scrub_b:"#c8d9a8",glacier:"#f0f8ff",sand:"#f4e4c8",beach:"#f4e4c8",aerodrome:"#dadbdf",runway:"#d0ccc8",water:"#a8d5f2",zoo:"#c8e6c9",military:"#dcdcdc",tunnel_other_casing:"#e5e5e2",tunnel_minor_casing:"#e5e5e2",tunnel_link_casing:"#e0e0dd",tunnel_major_casing:"#dcdcd9",tunnel_highway_casing:"#d8d8d5",tunnel_other:"#cccccc",tunnel_minor:"#ffffff",tunnel_link:"#ffa94d",tunnel_major:"#ffa94d",tunnel_highway:"#ff6b6b",pier:"#d0d0d0",buildings:"#d0d0d0",minor_service_casing:"#e5e5e2",minor_casing:"#e5e5e2",link_casing:"#e0e0dd",major_casing_late:"#dcdcd9",highway_casing_late:"#d8d8d5",other:"#888888",minor_service:"#ffffff",minor_a:"#ffffff",minor_b:"#ffffff",link:"#ffa94d",major_casing_early:"#dcdcd9",major:"#ffa94d",highway_casing_early:"#d8d8d5",highway:"#ff6b6b",railway:"#d5d5d5",boundaries:"#d4b8bc",bridges_other_casing:"#e5e5e2",bridges_minor_casing:"#e5e5e2",bridges_link_casing:"#e0e0dd",bridges_major_casing:"#dcdcd9",bridges_highway_casing:"#d8d8d5",bridges_other:"#cccccc",bridges_minor:"#ffffff",bridges_link:"#ffa94d",bridges_major:"#ffa94d",bridges_highway:"#ff6b6b",roads_label_minor:"#8a9299",roads_label_minor_halo:"#ffffff",roads_label_major:"#5a6570",roads_label_major_halo:"#ffffff",ocean_label:"#7a8a92",subplace_label:"#333333",subplace_label_halo:"#ffffff",city_label:"#333333",city_label_halo:"#ffffff",state_label:"#8a9299",state_label_halo:"#ffffff",country_label:"#5a6570",address_label:"#8a9299",address_label_halo:"#ffffff",pois:{blue:"#5a7a9a",green:"#6b8e23",lapis:"#8b668b",pink:"#cd5c5c",red:"#b22222",slategray:"#7a6a5a",tangerine:"#d2691e",turquoise:"#5f9ea0"},landcover:{grassland:"#d4e7b8",barren:"#f4e4c8",urban_area:"#e9e4df",farmland:"#d4e7b8",glacier:"#f0f8ff",scrub:"#c8d9a8",forest:"#b8d4a8",rock:"#d8d0c8",wetland:"#c0e0d8"},transit_rail:"#888888",transit_freight:"#666666",transit_bus:"#cc7700",transit_heritage:"#9999bb",shields:{interstate_fill:"#4a7090",interstate_stroke:"#e07050",interstate_text:"#fff8f0",us_highway_fill:"#fff8f0",us_highway_stroke:"#c06030",us_highway_text:"#5a3020",state_fill:"#fff8f0",state_stroke:"#c06030",state_text:"#5a3020",county_fill:"#ffd060",county_stroke:"#a05020",county_text:"#5a3020",default_fill:"#fff8f0",default_stroke:"#c06030",default_text:"#5a3020",banner_text:"#5a3020",banner_text_halo:"#fff8f0"}};var X=["light","dark","gray","warm"];function me(a){return X.includes(a)}r(me,"isValidStyleName");var ue=pe,be= exports.DARK =ge,ye= exports.GRAY =fe,he= exports.WARM =de;function ct(a){if(me(a))switch(a){case"light":return ue;case"dark":return be;case"gray":return ye;case"warm":return he}throw new Error(`Style not found: ${a}. Valid styles are: ${X.join(", ")}`)}r(ct,"namedStyle");function _t(a,e,t){let i=[];return t!=null&&t.labelsOnly||(i=J(a,e)),t!=null&&t.lang&&(i=i.concat(q(a,e,t.lang))),i}r(_t,"layers");exports.DARK = be; exports.GRAY = ye; exports.LANGUAGE_SCRIPT_PAIRS = oe; exports.LIGHT = ue; exports.STYLE_NAMES = X; exports.WARM = he; exports.createAerowayLayers = W; exports.createBackgroundLayers = C; exports.createBoundaryLayers = D; exports.createBridgeLayers = F; exports.createBuildingLayers = M; exports.createLabelLayer = ce; exports.createLandcoverLayers = j; exports.createLanduseLayers = B; exports.createMiscLabels = P; exports.createParkLayers = H; exports.createPierLayer = U; exports.createPlaceLabels = G; exports.createPoiLayers = Y; exports.createRoadLabels = v; exports.createRoadLayer = c; exports.createRoadLayers = V; exports.createTransitLayers = K; exports.createTunnelLayers = $; exports.createWaterLabels = O; exports.createWaterLayers = z; exports.getCountryName = R; exports.getMultilineName = _; exports.isValidStyleName = me; exports.labelsLayers = q; exports.layers = _t; exports.namedStyle = ct; exports.nolabelsLayers = J;
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/travisgalloway/github/basemaps/styles/dist/cjs/index.cjs","../../src/config/languages.json","../../src/language.ts","../../src/config/poi.json"],"names":["languages_default","LANGUAGE_SCRIPT_PAIRS","get_name_block","script_segment","regular","script"],"mappings":"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","file":"/Users/travisgalloway/github/basemaps/styles/dist/cjs/index.cjs","sourcesContent":[null,"[\n {\n \"lang\": \"ar\",\n \"full_name\": \"Arabic\",\n \"script\": \"Arabic\"\n },\n {\n \"lang\": \"cs\",\n \"full_name\": \"Czech\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"bg\",\n \"full_name\": \"Bulgarian\",\n \"script\": \"Cyrillic\"\n },\n {\n \"lang\": \"da\",\n \"full_name\": \"Danish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"de\",\n \"full_name\": \"German\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"el\",\n \"full_name\": \"Greek\",\n \"script\": \"Greek\"\n },\n {\n \"lang\": \"en\",\n \"full_name\": \"English\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"es\",\n \"full_name\": \"Spanish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"et\",\n \"full_name\": \"Estonian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"fa\",\n \"full_name\": \"Persian\",\n \"script\": \"Arabic\"\n },\n {\n \"lang\": \"fi\",\n \"full_name\": \"Finnish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"fr\",\n \"full_name\": \"French\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"ga\",\n \"full_name\": \"Irish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"he\",\n \"full_name\": \"Hebrew\",\n \"script\": \"Hebrew\"\n },\n {\n \"lang\": \"hi\",\n \"full_name\": \"Hindi\",\n \"script\": \"Devanagari\"\n },\n {\n \"lang\": \"hr\",\n \"full_name\": \"Croatian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"hu\",\n \"full_name\": \"Hungarian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"id\",\n \"full_name\": \"Indonesian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"it\",\n \"full_name\": \"Italian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"ja\",\n \"full_name\": \"Japanese\",\n \"script\": \"\"\n },\n {\n \"lang\": \"ko\",\n \"full_name\": \"Korean\",\n \"script\": \"Hangul\"\n },\n {\n \"lang\": \"lt\",\n \"full_name\": \"Lithuanian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"lv\",\n \"full_name\": \"Latvian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"ne\",\n \"full_name\": \"Nepali\",\n \"script\": \"Devanagari\"\n },\n {\n \"lang\": \"nl\",\n \"full_name\": \"Dutch\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"no\",\n \"full_name\": \"Norwegian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"mr\",\n \"full_name\": \"Marathi\",\n \"script\": \"Devanagari\"\n },\n {\n \"lang\": \"mt\",\n \"full_name\": \"Maltese\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"pl\",\n \"full_name\": \"Polish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"pt\",\n \"full_name\": \"Portuguese\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"ro\",\n \"full_name\": \"Romanian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"ru\",\n \"full_name\": \"Russian\",\n \"script\": \"Cyrillic\"\n },\n {\n \"lang\": \"sk\",\n \"full_name\": \"Slovak\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"sl\",\n \"full_name\": \"Slovenian\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"sv\",\n \"full_name\": \"Swedish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"tr\",\n \"full_name\": \"Turkish\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"uk\",\n \"full_name\": \"Ukrainian\",\n \"script\": \"Cyrillic\"\n },\n {\n \"lang\": \"ur\",\n \"full_name\": \"Urdu\",\n \"script\": \"Arabic\"\n },\n {\n \"lang\": \"vi\",\n \"full_name\": \"Vietnamese\",\n \"script\": \"Latin\"\n },\n {\n \"lang\": \"zh-Hans\",\n \"full_name\": \"Chinese (Simplified)\",\n \"script\": \"Han\"\n },\n {\n \"lang\": \"zh-Hant\",\n \"full_name\": \"Chinese (Traditional)\",\n \"script\": \"Han\"\n }\n]\n","import languagesConfig from \"./config/languages.json\";\n\n// Type definition for language entries\ninterface LanguageScriptPair {\n lang: string;\n full_name: string;\n script: string;\n}\n\n// Export the language/script pairs from JSON config\nexport const LANGUAGE_SCRIPT_PAIRS: LanguageScriptPair[] = languagesConfig;\n\nfunction get_name_block(\n script_segment: \"name\" | \"name2\" | \"name3\",\n regular?: string,\n) {\n let script = \"script\";\n\n if (script_segment === \"name\") {\n script = \"script\";\n } else if (script_segment === \"name2\") {\n script = \"script2\";\n } else if (script_segment === \"name3\") {\n script = \"script3\";\n }\n\n return [\n [\"coalesce\", [\"get\", `pgf:${script_segment}`], [\"get\", script_segment]],\n {\n \"text-font\": [\n \"case\",\n [\"==\", [\"get\", script], \"Devanagari\"],\n [\"literal\", [\"Noto Sans Devanagari Regular v1\"]],\n [\"literal\", [regular || \"Noto Sans Regular\"]],\n ],\n },\n ];\n}\n\nfunction is_not_in_target_script(\n lang: string,\n script: string,\n script_segment: \"name\" | \"name2\" | \"name3\",\n) {\n let suffix = \"name\";\n if (script_segment === \"name\") {\n suffix = \"\";\n } else if (script_segment === \"name2\") {\n suffix = \"2\";\n } else if (script_segment === \"name3\") {\n suffix = \"3\";\n }\n\n if (script === \"Latin\") {\n return [\"has\", `script${suffix}`];\n }\n\n if (lang === \"ja\") {\n return [\n \"all\",\n [\"!=\", [\"get\", `script${suffix}`], \"Han\"],\n [\"!=\", [\"get\", `script${suffix}`], \"Hiragana\"],\n [\"!=\", [\"get\", `script${suffix}`], \"Katakana\"],\n [\"!=\", [\"get\", `script${suffix}`], \"Mixed-Japanese\"],\n ];\n }\n\n return [\"!=\", [\"get\", `script${suffix}`], script];\n}\n\nfunction get_font_formatting(script: string) {\n if (script === \"Devanagari\") {\n return {\n \"text-font\": [\"literal\", [\"Noto Sans Devanagari Regular v1\"]],\n };\n }\n return {};\n}\n\nfunction getDefaultScript(lang: string) {\n const pair = LANGUAGE_SCRIPT_PAIRS.find((d) => d.lang === lang);\n return pair === undefined ? \"Latin\" : pair.script;\n}\n\nexport function getCountryName(lang: string, script?: string) {\n const _script = script || getDefaultScript(lang);\n let name_prefix: string;\n if (_script === \"Devanagari\") {\n name_prefix = \"pgf:\";\n } else {\n name_prefix = \"\";\n }\n return [\n \"format\",\n [\"coalesce\", [\"get\", `${name_prefix}name:${lang}`], [\"get\", \"name:en\"]],\n get_font_formatting(_script),\n ];\n}\n\nexport function getMultilineName(\n lang: string,\n script?: string,\n regular?: string,\n) {\n const _script = script || getDefaultScript(lang);\n let name_prefix: string;\n if (_script === \"Devanagari\") {\n name_prefix = \"pgf:\";\n } else {\n name_prefix = \"\";\n }\n\n const result = [\n \"case\",\n [\n \"all\",\n [\"any\", [\"has\", \"name\"], [\"has\", \"pgf:name\"]],\n [\"!\", [\"any\", [\"has\", \"name2\"], [\"has\", \"pgf:name2\"]]],\n [\"!\", [\"any\", [\"has\", \"name3\"], [\"has\", \"pgf:name3\"]]],\n ],\n // The local name has 1 script segment: `name`\n [\n \"case\",\n is_not_in_target_script(lang, _script, \"name\"),\n // `name` is not in the target script\n [\n \"case\",\n [\"any\", [\"is-supported-script\", [\"get\", \"name\"]], [\"has\", \"pgf:name\"]],\n // `name` can be rendered correctly\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"name:en\"], // Always fallback to English\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n [\n \"case\",\n [\n \"all\",\n [\"!\", [\"has\", `${name_prefix}name:${lang}`]],\n [\"has\", \"name:en\"],\n [\"!\", [\"has\", \"script\"]],\n ],\n // We did fallback to English in the first line and `name` is Latin\n \"\",\n [\"coalesce\", [\"get\", \"pgf:name\"], [\"get\", \"name\"]],\n ],\n {\n \"text-font\": [\n \"case\",\n [\"==\", [\"get\", \"script\"], \"Devanagari\"],\n [\"literal\", [\"Noto Sans Devanagari Regular v1\"]],\n [\"literal\", [regular || \"Noto Sans Regular\"]],\n ],\n },\n ],\n // `name` cannot be rendered correctly, fallback to `name:en`\n [\"get\", \"name:en\"],\n ],\n // `name` is in the target script\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name\"],\n [\"get\", \"name\"],\n ],\n get_font_formatting(_script),\n ],\n ],\n [\n \"all\",\n [\"any\", [\"has\", \"name\"], [\"has\", \"pgf:name\"]],\n [\"any\", [\"has\", \"name2\"], [\"has\", \"pgf:name2\"]],\n [\"!\", [\"any\", [\"has\", \"name3\"], [\"has\", \"pgf:name3\"]]],\n ],\n // The local name has 2 script segments: `name` and `name2`\n [\n \"case\",\n [\n \"all\",\n is_not_in_target_script(lang, _script, \"name\"),\n is_not_in_target_script(lang, _script, \"name2\"),\n ],\n // Both `name` and `name2` are not in the target script\n [\n \"format\",\n [\"get\", `${name_prefix}name:${lang}`],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name2\", regular),\n ],\n // Either `name` or `name2` is in the target script\n [\n \"case\",\n is_not_in_target_script(lang, _script, \"name2\"),\n // `name2` is not in the target script, therefore `name` is in the target script\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name\"],\n [\"get\", \"name\"],\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name2\", regular),\n ],\n // `name2` is in the target script, therefore `name` is not in the target script\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name2\"],\n [\"get\", \"name2\"],\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name\", regular),\n ],\n ],\n ],\n // The local name has 3 script segments: `name`, `name2`, and `name3`\n [\n \"case\",\n [\n \"all\",\n is_not_in_target_script(lang, _script, \"name\"),\n is_not_in_target_script(lang, _script, \"name2\"),\n is_not_in_target_script(lang, _script, \"name3\"),\n ],\n // All three `name`, `name2`, and `name3` are not in the target script\n [\n \"format\",\n [\"get\", `${name_prefix}name:${lang}`],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name2\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name3\", regular),\n ],\n // Exactly one of the 3 script segments `name`, `name2`, or `name3` is in the target script\n [\n \"case\",\n [\"!\", is_not_in_target_script(lang, _script, \"name\")],\n // `name` is in the target script, and `name2` and `name3` are not\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name\"],\n [\"get\", \"name\"],\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name2\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name3\", regular),\n ],\n [\"!\", is_not_in_target_script(lang, _script, \"name2\")],\n // `name2` is in the target script, and `name` and `name3` are not\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name2\"],\n [\"get\", \"name2\"],\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name3\", regular),\n ],\n // `name3` is in the target script, and `name` and `name2` are not\n [\n \"format\",\n [\n \"coalesce\",\n [\"get\", `${name_prefix}name:${lang}`],\n [\"get\", \"pgf:name3\"],\n [\"get\", \"name3\"],\n ],\n get_font_formatting(_script),\n \"\\n\",\n {},\n ...get_name_block(\"name\", regular),\n \"\\n\",\n {},\n ...get_name_block(\"name2\", regular),\n ],\n ],\n ],\n ];\n return result;\n}\n","{\n \"tiers\": {\n \"TIER_1\": [\"aerodrome\"],\n \"TIER_2\": [\n \"station\",\n \"ferry_terminal\",\n \"hospital\",\n \"park\",\n \"zoo\",\n \"stadium\",\n \"cemetery\",\n \"university\",\n \"college\"\n ],\n \"TIER_3\": [\n \"halt\",\n \"tram_stop\",\n \"subway\",\n \"subway_entrance\",\n \"bicycle\",\n \"car_repair\",\n \"charging_station\",\n \"school\",\n \"kindergarten\",\n \"library\",\n \"clinic\",\n \"doctors\",\n \"dentist\",\n \"pharmacy\",\n \"veterinary\",\n \"police\",\n \"fire_station\",\n \"post_office\",\n \"townhall\",\n \"courthouse\",\n \"community_centre\",\n \"bank\",\n \"atm\",\n \"museum\",\n \"theatre\",\n \"cinema\",\n \"gallery\",\n \"artwork\",\n \"attraction\",\n \"information\",\n \"hotel\",\n \"hostel\",\n \"guest_house\",\n \"castle\",\n \"ruins\",\n \"memorial\",\n \"monument\",\n \"beach\",\n \"marina\",\n \"viewpoint\",\n \"picnic_site\",\n \"camp_site\",\n \"church\",\n \"mosque\",\n \"synagogue\",\n \"temple\"\n ],\n \"TIER_4\": [\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\",\n \"pub\",\n \"biergarten\",\n \"ice_cream\",\n \"supermarket\",\n \"convenience\",\n \"bakery\",\n \"butcher\",\n \"greengrocer\",\n \"clothes\",\n \"shoes\",\n \"beauty\",\n \"electronics\",\n \"furniture\",\n \"hardware\",\n \"florist\",\n \"books\",\n \"gift\",\n \"jewelry\",\n \"optician\",\n \"mobile_phone\",\n \"sports\",\n \"fuel\"\n ],\n \"TIER_5\": [\n \"playground\",\n \"bus_stop\",\n \"bus_station\",\n \"post_box\",\n \"parking\",\n \"toilets\",\n \"drinking_water\"\n ],\n \"TIER_5B_ACCESS\": [\"swimming_pool\", \"garden\"]\n },\n \"categories\": {\n \"GREEN\": [\n \"park\",\n \"garden\",\n \"playground\",\n \"swimming_pool\",\n \"beach\",\n \"marina\",\n \"zoo\",\n \"viewpoint\",\n \"picnic_site\",\n \"camp_site\"\n ],\n \"LAPIS\": [\n \"bus_stop\",\n \"bus_station\",\n \"station\",\n \"halt\",\n \"tram_stop\",\n \"subway\",\n \"subway_entrance\",\n \"aerodrome\",\n \"ferry_terminal\",\n \"fuel\",\n \"parking\",\n \"bicycle\",\n \"car_repair\",\n \"charging_station\"\n ],\n \"SLATEGRAY\": [\n \"school\",\n \"kindergarten\",\n \"college\",\n \"university\",\n \"library\",\n \"hospital\",\n \"clinic\",\n \"doctors\",\n \"dentist\",\n \"pharmacy\",\n \"veterinary\",\n \"police\",\n \"fire_station\",\n \"post_office\",\n \"post_box\",\n \"townhall\",\n \"courthouse\",\n \"community_centre\",\n \"toilets\",\n \"drinking_water\",\n \"bank\",\n \"atm\",\n \"church\",\n \"mosque\",\n \"synagogue\",\n \"temple\"\n ],\n \"BLUE\": [\n \"supermarket\",\n \"convenience\",\n \"bakery\",\n \"butcher\",\n \"greengrocer\",\n \"clothes\",\n \"shoes\",\n \"beauty\",\n \"electronics\",\n \"furniture\",\n \"hardware\",\n \"florist\",\n \"books\",\n \"gift\",\n \"jewelry\",\n \"optician\",\n \"mobile_phone\",\n \"sports\"\n ],\n \"TANGERINE\": [\n \"restaurant\",\n \"fast_food\",\n \"cafe\",\n \"bar\",\n \"pub\",\n \"biergarten\",\n \"ice_cream\"\n ],\n \"PINK\": [\n \"museum\",\n \"theatre\",\n \"cinema\",\n \"gallery\",\n \"artwork\",\n \"attraction\",\n \"information\",\n \"hotel\",\n \"hostel\",\n \"guest_house\",\n \"castle\",\n \"ruins\",\n \"memorial\",\n \"monument\"\n ]\n }\n}\n"]}