@factorialco/f0-react 7.23.0 → 7.24.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.
Files changed (34) hide show
  1. package/dist/{ChatPdfThumbnail-BBAjTpRO.js → ChatPdfThumbnail-2_8sBW1U.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-CzzBwu4c.js → ChatPostComposerDialog-BGEl20rM.js} +3 -3
  3. package/dist/{DocumentToolbar-CLmAa1CS.js → DocumentToolbar-BDDt63-g.js} +2 -2
  4. package/dist/{DocxViewer-17wM_5Ub.js → DocxViewer-Dt2nHTXV.js} +2 -2
  5. package/dist/{F0AiProcessingOverlay-Crv3v_qi.js → F0AiProcessingOverlay-nojpvoxK.js} +285 -285
  6. package/dist/{F0CanvasPanel-B2aaoYnV.js → F0CanvasPanel-DnlpQoxW.js} +639 -638
  7. package/dist/F0Map-C7hMGlk_.js +2499 -0
  8. package/dist/{F0VideoPlayer-aMaViir7.js → F0VideoPlayer-DKPfOJBp.js} +79 -79
  9. package/dist/{MapProvider-cgH29EcL.js → MapProvider-DNpgap--.js} +8174 -8124
  10. package/dist/{SheetViewer-DRvoh1Ht.js → SheetViewer-Wd4Fmg4a.js} +2 -2
  11. package/dist/{TextViewer-t6wTzXs4.js → TextViewer-C3OMcE58.js} +2 -2
  12. package/dist/ai.d.ts +22 -12
  13. package/dist/ai.js +2 -2
  14. package/dist/component-status.d.ts +12 -12
  15. package/dist/component-status.js +2 -2
  16. package/dist/{experimental-7owBUBms.js → experimental-DZvuUsDE.js} +11859 -13903
  17. package/dist/experimental.d.ts +367 -92
  18. package/dist/experimental.js +291 -284
  19. package/dist/f0.d.ts +182 -12
  20. package/dist/f0.js +6005 -6007
  21. package/dist/i18n-provider-defaults.d.ts +22 -12
  22. package/dist/i18n-provider-defaults.js +11 -1
  23. package/dist/index-B1UwLgNv.js +256 -0
  24. package/dist/index-BUqW79F1.js +4 -0
  25. package/dist/{index-CyVOH26Y.js → index-CCea6fTM.js} +1 -1
  26. package/dist/index-eeXQJkem.js +410 -0
  27. package/dist/{index-zELO6ifF.js → index-ekx-EJga.js} +31 -31
  28. package/dist/{pdfWorker-tk-Ol5j0.js → pdfWorker-CK4gerrz.js} +3 -3
  29. package/dist/styles.css +1 -1
  30. package/dist/{tooltip-BElsa4MF.js → tooltip-CrXp1Uaz.js} +2 -2
  31. package/package.json +1 -1
  32. package/dist/index-C2NRpdhB.js +0 -4
  33. package/dist/index-DnEPnn6A.js +0 -255
  34. /package/dist/{experimental.css → maplibre-gl.css} +0 -0
@@ -0,0 +1,2499 @@
1
+ import { jsx as o, jsxs as O, Fragment as Fe } from "react/jsx-runtime";
2
+ import { forwardRef as re, useState as F, useEffect as N, useRef as M, useContext as Pn, createContext as Cn, useCallback as B, useMemo as et, useId as An, useImperativeHandle as In } from "react";
3
+ import { a3 as Xt, u as se, a4 as le, y as Pe, a5 as Fn, a6 as En, a7 as $n, i as On, n as be, a8 as Bn, v as Yt, a9 as Je, aa as tt, ab as Ae, ac as Wn, ad as Ut, ae as Dn, af as Hn, ag as _t, ah as Gt, ai as Xn } from "./F0CanvasPanel-DnlpQoxW.js";
4
+ import { b as Yn, c as Un, d as Gn } from "./MapProvider-DNpgap--.js";
5
+ import { d as D, f as Zn } from "./tooltip-CrXp1Uaz.js";
6
+ import { createPortal as Kn } from "react-dom";
7
+ const qn = (e, t) => ({
8
+ top: Math.max(e?.top ?? 0, t?.top ?? 0),
9
+ right: Math.max(e?.right ?? 0, t?.right ?? 0),
10
+ bottom: Math.max(e?.bottom ?? 0, t?.bottom ?? 0),
11
+ left: Math.max(e?.left ?? 0, t?.left ?? 0)
12
+ }), Lt = (e, { width: t, height: a }) => {
13
+ const l = t > 0 && e.left + e.right >= t, n = a > 0 && e.top + e.bottom >= a;
14
+ return {
15
+ top: n ? 0 : e.top,
16
+ bottom: n ? 0 : e.bottom,
17
+ left: l ? 0 : e.left,
18
+ right: l ? 0 : e.right
19
+ };
20
+ }, nt = (e) => ({
21
+ x: (e.left - e.right) / 2,
22
+ y: (e.top - e.bottom) / 2
23
+ }), he = (e, t, a, l = e.getZoom()) => {
24
+ const n = nt(a), i = e.project(t);
25
+ if (!i || n.x === 0 && n.y === 0)
26
+ return t;
27
+ const s = 2 ** (e.getZoom() - l);
28
+ return e.unproject({
29
+ x: i.x - n.x * s,
30
+ y: i.y - n.y * s
31
+ }) ?? t;
32
+ }, Zt = ({
33
+ adapter: e,
34
+ coordinates: t,
35
+ inset: a,
36
+ size: l,
37
+ gutter: n,
38
+ maxZoom: i
39
+ }) => {
40
+ const s = e.cameraForCoordinates(t, { gutter: n });
41
+ if (!s)
42
+ return null;
43
+ const p = (m, f, x) => m > 2 * n ? (m - f - x - 2 * n) / (m - 2 * n) : 1, g = Math.min(
44
+ p(l.width, a.left, a.right),
45
+ p(l.height, a.top, a.bottom)
46
+ ), d = s.zoom ?? e.getZoom();
47
+ if (g <= 0)
48
+ return { center: s.center, zoom: Math.min(d, i) };
49
+ const r = Math.min(d + Math.log2(g), i);
50
+ return { center: he(e, s.center, a, r), zoom: r };
51
+ }, Kt = {
52
+ background: "transparent",
53
+ border: "default",
54
+ borderStyle: "solid",
55
+ borderColor: "secondary"
56
+ }, Ee = { control: "md", panel: "xl" }, Vn = {
57
+ md: "rounded-md backdrop-blur-md bg-f1-background-inverse-secondary dark:bg-f1-background-tertiary",
58
+ xl: "rounded-xl backdrop-blur-md bg-f1-background-inverse-secondary dark:bg-f1-background-tertiary"
59
+ }, qt = (e) => Vn[e], C = {
60
+ /** Margin from the map's edges, shared with the controls. */
61
+ inset: 8,
62
+ /** Between a panel and whatever sits to its right. */
63
+ gap: 8,
64
+ listWidth: 214,
65
+ detailWidth: 344,
66
+ /** The toggle's square card, which a panel under it has to clear. */
67
+ toggleSize: 38
68
+ }, Mt = "cubic-bezier(0.77, 0, 0.175, 1)", ae = {
69
+ enter: { duration: "175ms", easing: Mt },
70
+ exit: { duration: "250ms", easing: Mt }
71
+ }, lt = ({ children: e }) => /* @__PURE__ */ o("div", { className: qt(Ee.control), children: /* @__PURE__ */ o(
72
+ Xt,
73
+ {
74
+ ...Kt,
75
+ borderRadius: Ee.control,
76
+ padding: "none",
77
+ children: /* @__PURE__ */ o("div", { className: "flex flex-col items-center gap-1 p-0.5", children: e })
78
+ }
79
+ ) }), Vt = re(
80
+ ({ onZoomIn: e, onZoomOut: t, onFit: a, onLocate: l, labels: n, dataTestId: i }, s) => {
81
+ const p = se(), g = !!(l || a), d = !!(e || t), r = (m) => /* @__PURE__ */ o(lt, { children: m });
82
+ return /* @__PURE__ */ o(le, { dataTestId: i, children: /* @__PURE__ */ O(
83
+ "div",
84
+ {
85
+ ref: s,
86
+ role: "toolbar",
87
+ "aria-orientation": "vertical",
88
+ "aria-label": p.map.navigation,
89
+ className: "flex flex-col items-center gap-2",
90
+ children: [
91
+ g ? r(
92
+ /* @__PURE__ */ O(Fe, { children: [
93
+ a ? /* @__PURE__ */ o(
94
+ Pe,
95
+ {
96
+ variant: "ghost",
97
+ size: "md",
98
+ label: n?.fit ?? p.map.controls.fit,
99
+ icon: Fn,
100
+ hideLabel: !0,
101
+ onClick: a
102
+ }
103
+ ) : null,
104
+ l ? /* @__PURE__ */ o(
105
+ Pe,
106
+ {
107
+ variant: "ghost",
108
+ size: "md",
109
+ label: n?.locate ?? p.map.controls.locate,
110
+ icon: En,
111
+ hideLabel: !0,
112
+ onClick: l
113
+ }
114
+ ) : null
115
+ ] })
116
+ ) : null,
117
+ d ? r(
118
+ /* @__PURE__ */ O(Fe, { children: [
119
+ e ? /* @__PURE__ */ o(
120
+ Pe,
121
+ {
122
+ variant: "ghost",
123
+ size: "md",
124
+ label: n?.zoomIn ?? p.map.controls.zoomIn,
125
+ icon: $n,
126
+ hideLabel: !0,
127
+ onClick: e
128
+ }
129
+ ) : null,
130
+ t ? /* @__PURE__ */ o(
131
+ Pe,
132
+ {
133
+ variant: "ghost",
134
+ size: "md",
135
+ label: n?.zoomOut ?? p.map.controls.zoomOut,
136
+ icon: On,
137
+ hideLabel: !0,
138
+ onClick: t
139
+ }
140
+ ) : null
141
+ ] })
142
+ ) : null
143
+ ]
144
+ }
145
+ ) });
146
+ }
147
+ );
148
+ Vt.displayName = "F0MapControls";
149
+ const Jn = (e, t) => {
150
+ if (e.label)
151
+ return e.label;
152
+ switch (e.variant) {
153
+ case "employee":
154
+ return `${e.firstName} ${e.lastName}`.trim();
155
+ case "company":
156
+ return e.name;
157
+ case "stop":
158
+ return e.letter.charAt(0).toUpperCase();
159
+ default:
160
+ return t;
161
+ }
162
+ }, Jt = re(
163
+ function({
164
+ points: t,
165
+ selectedId: a,
166
+ onSelect: l,
167
+ visible: n = !1,
168
+ label: i,
169
+ id: s,
170
+ dataTestId: p,
171
+ className: g
172
+ }, d) {
173
+ const r = se(), m = i ?? r.map.listLabel;
174
+ return /* @__PURE__ */ o(le, { dataTestId: p, children: /* @__PURE__ */ O(
175
+ "nav",
176
+ {
177
+ ref: d,
178
+ id: s,
179
+ "aria-label": m,
180
+ tabIndex: -1,
181
+ className: D(
182
+ "outline-none",
183
+ n ? "absolute inset-0 z-20 overflow-auto bg-f1-background p-4" : "sr-only",
184
+ g
185
+ ),
186
+ children: [
187
+ n ? /* @__PURE__ */ o("h2", { className: "text-f1-foreground mb-2 text-base font-medium", children: m }) : null,
188
+ /* @__PURE__ */ o("ul", { className: n ? "flex flex-col gap-0.5" : void 0, children: t.map((f) => /* @__PURE__ */ o("li", { children: /* @__PURE__ */ o(
189
+ "button",
190
+ {
191
+ type: "button",
192
+ "aria-current": f.id === a || void 0,
193
+ onClick: () => l(f.id),
194
+ className: D(
195
+ "w-full text-left",
196
+ n && "text-f1-foreground hover:bg-f1-background-hover aria-[current=true]:bg-f1-background-selected rounded-md px-3 py-2 text-sm"
197
+ ),
198
+ children: Jn(f, r.map.unnamedLocation)
199
+ }
200
+ ) }, f.id)) })
201
+ ]
202
+ }
203
+ ) });
204
+ }
205
+ );
206
+ Jt.displayName = "F0MapList";
207
+ const Qn = ({
208
+ adapter: e,
209
+ points: t,
210
+ enabled: a,
211
+ radius: l = 12,
212
+ clusterRadius: n = 164
213
+ }) => {
214
+ const [i, s] = F({
215
+ clusters: [],
216
+ singles: t
217
+ });
218
+ return N(() => {
219
+ if (!e || !a) {
220
+ s({ clusters: [], singles: t });
221
+ return;
222
+ }
223
+ let p = 0;
224
+ const g = () => {
225
+ const m = [];
226
+ for (const c of t) {
227
+ const k = e.project(c.coordinates);
228
+ if (!k)
229
+ return;
230
+ m.push(k);
231
+ }
232
+ const f = t.length, x = l * l, y = n * n, w = (c, k) => {
233
+ const L = m[c].x - m[k].x, P = m[c].y - m[k].y;
234
+ return L * L + P * P;
235
+ }, b = Array.from({ length: f }, (c, k) => k), _ = (c) => {
236
+ for (; b[c] !== c; )
237
+ c = b[c] = b[b[c]];
238
+ return c;
239
+ }, j = (c, k) => {
240
+ const L = _(c), P = _(k);
241
+ L !== P && (b[L] = P);
242
+ }, u = Array.from({ length: f }, () => !1);
243
+ for (let c = 0; c < f; c++)
244
+ for (let k = c + 1; k < f; k++)
245
+ w(c, k) <= x && (u[c] = u[k] = !0, j(c, k));
246
+ for (let c = 0; c < f; c++)
247
+ for (let k = c + 1; k < f; k++)
248
+ (u[c] || u[k]) && w(c, k) <= y && j(c, k);
249
+ const v = /* @__PURE__ */ new Map();
250
+ for (let c = 0; c < f; c++) {
251
+ const k = _(c), L = v.get(k);
252
+ L ? L.push(c) : v.set(k, [c]);
253
+ }
254
+ const T = [], A = [];
255
+ for (const c of v.values()) {
256
+ if (c.length === 1) {
257
+ A.push(t[c[0]]);
258
+ continue;
259
+ }
260
+ let k = 0, L = 0, P = 1 / 0, J = 1 / 0, Z = -1 / 0, K = -1 / 0;
261
+ for (const I of c) {
262
+ const [oe, H] = t[I].coordinates;
263
+ k += oe, L += H, P = Math.min(P, oe), Z = Math.max(Z, oe), J = Math.min(J, H), K = Math.max(K, H);
264
+ }
265
+ const Q = c.length;
266
+ T.push({
267
+ id: `cluster:${c.map((I) => t[I].id).sort().join(",")}`,
268
+ coordinates: [k / Q, L / Q],
269
+ count: Q,
270
+ pointIds: c.map((I) => t[I].id),
271
+ bounds: [
272
+ [P, J],
273
+ [Z, K]
274
+ ]
275
+ });
276
+ }
277
+ s((c) => c.clusters.length === T.length && c.singles.length === A.length && c.clusters.every((L, P) => L.id === T[P].id) && c.singles.every((L, P) => L === A[P]) ? c : { clusters: T, singles: A });
278
+ }, d = () => {
279
+ cancelAnimationFrame(p), p = requestAnimationFrame(g);
280
+ };
281
+ d();
282
+ const r = [
283
+ e.on("move", d),
284
+ e.on("zoom", d),
285
+ e.on("resize", d)
286
+ ];
287
+ return () => {
288
+ cancelAnimationFrame(p), r.forEach((m) => m());
289
+ };
290
+ }, [e, t, a, l, n]), i;
291
+ }, ea = [
292
+ "neutral",
293
+ "grey",
294
+ "radical",
295
+ "malibu",
296
+ "viridian",
297
+ "flubber",
298
+ "grass",
299
+ "camel",
300
+ "indigo",
301
+ "lilac",
302
+ "orange",
303
+ "purple",
304
+ "yellow",
305
+ "red",
306
+ "army",
307
+ "smoke",
308
+ "barbie"
309
+ ], Qt = ea.filter(
310
+ (e) => e !== "neutral" && e !== "grey"
311
+ ), en = {
312
+ neutral: be.grey[100],
313
+ // primary foreground tone
314
+ grey: be.grey.solid[50],
315
+ // secondary
316
+ ...Object.fromEntries(
317
+ Qt.map((e) => [e, be[e][50]])
318
+ )
319
+ }, Tt = (e) => `hsl(${en[e]})`, tn = {
320
+ neutral: be.grey[100],
321
+ grey: "218 14% 30%",
322
+ ...Object.fromEntries(
323
+ Qt.map((e) => [e, be[e][70]])
324
+ )
325
+ }, nn = (e, t) => t ? tn[e] : en[e], Nt = be.grey[100], Ie = {
326
+ // Carets are wide (~3/4 of the head) so their flanks continue the circle's
327
+ // curvature - the head melts into a teardrop rather than sprouting a leg.
328
+ // Over half the height tucks behind the head so the tail stays attached.
329
+ sm: {
330
+ d: 16,
331
+ border: 1.5,
332
+ label: 10,
333
+ lineH: 13,
334
+ gap: 2,
335
+ maxLabelW: 96,
336
+ caretW: 14,
337
+ caretH: 10,
338
+ caretOverlap: 5,
339
+ shadowY: 1,
340
+ shadowBlur: 3,
341
+ icon: "xs",
342
+ avatar: "xs"
343
+ },
344
+ md: {
345
+ d: 24,
346
+ border: 2,
347
+ label: 14,
348
+ lineH: 18,
349
+ gap: 3,
350
+ maxLabelW: 132,
351
+ caretW: 22,
352
+ caretH: 14,
353
+ caretOverlap: 7,
354
+ shadowY: 2,
355
+ shadowBlur: 4,
356
+ icon: "sm",
357
+ avatar: "sm"
358
+ },
359
+ lg: {
360
+ d: 32,
361
+ border: 2.5,
362
+ label: 18,
363
+ lineH: 23,
364
+ gap: 4,
365
+ maxLabelW: 168,
366
+ caretW: 29,
367
+ caretH: 18,
368
+ caretOverlap: 9,
369
+ shadowY: 3,
370
+ shadowBlur: 5,
371
+ icon: "md",
372
+ avatar: "md"
373
+ },
374
+ xl: {
375
+ d: 44,
376
+ border: 3,
377
+ label: 20,
378
+ lineH: 26,
379
+ gap: 5,
380
+ maxLabelW: 200,
381
+ caretW: 38,
382
+ caretH: 24,
383
+ caretOverlap: 12,
384
+ shadowY: 4,
385
+ shadowBlur: 7,
386
+ icon: "lg",
387
+ avatar: "lg"
388
+ }
389
+ }, $e = (e) => Ie[e], an = 5.6, ln = 3, on = () => -63.1 + ln, q = "hsl(var(--white-100))", rn = re(
390
+ function(t, a) {
391
+ const {
392
+ size: l = "md",
393
+ selected: n = !1,
394
+ collapsed: i = !1,
395
+ label: s,
396
+ showLabel: p = !0,
397
+ labelPlacement: g = "right",
398
+ onClick: d,
399
+ ariaLabel: r,
400
+ presentational: m = !1,
401
+ dataTestId: f,
402
+ className: x
403
+ } = t, y = t.variant ?? "color", w = Ie[n ? "xl" : l], b = !!d, _ = y === "color" || y === "icon" || y === "letter", j = y === "person" && "firstName" in t ? t.firstName + t.lastName : (y === "team" || y === "company") && "name" in t ? t.name : null, u = _ ? t.color ?? "radical" : j ? y === "person" && "src" in t && t.src ? "grey" : Bn(j) ?? "grey" : "neutral", v = Yn(), T = n ? 32 : { xs: 12, sm: 16, md: 20, lg: 24 }[w.icon], A = { xs: 20, sm: 24, md: 32, lg: 40 }, c = Ie[l].avatar, k = n ? A[w.avatar] / A[c] : 1, L = (ze) => /* @__PURE__ */ o(
404
+ "span",
405
+ {
406
+ className: "flex shrink-0 items-center justify-center transition-transform duration-200 ease-out",
407
+ style: { transform: `scale(${k})` },
408
+ children: ze
409
+ }
410
+ ), P = y === "color" ? null : y === "icon" && "icon" in t ? /* @__PURE__ */ o(
411
+ Yt,
412
+ {
413
+ icon: t.icon,
414
+ size: w.icon,
415
+ color: "#ffffff",
416
+ style: {
417
+ width: T,
418
+ height: T,
419
+ transition: "width 200ms ease-out, height 200ms ease-out"
420
+ }
421
+ }
422
+ ) : y === "letter" && "letter" in t ? (
423
+ // A single white glyph (route-stop "A" / "B" ...), sized off the same
424
+ // step as the icon so it animates with the head when growing to xl.
425
+ /* @__PURE__ */ o(
426
+ "span",
427
+ {
428
+ "aria-hidden": !0,
429
+ className: "font-semibold leading-none",
430
+ style: {
431
+ color: q,
432
+ fontSize: Math.round(T * 0.78),
433
+ transition: "font-size 200ms ease-out"
434
+ },
435
+ children: t.letter.charAt(0).toUpperCase()
436
+ }
437
+ )
438
+ ) : y === "person" && "firstName" in t ? L(
439
+ /* @__PURE__ */ o(
440
+ Je,
441
+ {
442
+ avatar: {
443
+ type: "person",
444
+ firstName: t.firstName,
445
+ lastName: t.lastName,
446
+ src: t.src
447
+ },
448
+ size: c
449
+ }
450
+ )
451
+ ) : y === "team" && "name" in t ? L(
452
+ /* @__PURE__ */ o(
453
+ Je,
454
+ {
455
+ avatar: { type: "team", name: t.name, src: t.src },
456
+ size: c
457
+ }
458
+ )
459
+ ) : y === "company" && "name" in t ? L(
460
+ /* @__PURE__ */ o(
461
+ Je,
462
+ {
463
+ avatar: { type: "company", name: t.name, src: t.src },
464
+ size: c
465
+ }
466
+ )
467
+ ) : y === "image" && "src" in t ? /* @__PURE__ */ o(
468
+ "img",
469
+ {
470
+ src: t.src,
471
+ alt: "alt" in t ? t.alt ?? "" : "",
472
+ className: "h-full w-full object-cover"
473
+ }
474
+ ) : null, J = y === "team" || y === "company" || y === "icon", Z = /* @__PURE__ */ o(
475
+ "span",
476
+ {
477
+ className: "relative z-[1] flex shrink-0 items-center justify-center overflow-hidden border-solid transition-all duration-200 ease-out",
478
+ style: {
479
+ width: w.d,
480
+ height: w.d,
481
+ borderRadius: J ? Math.round(w.d * 0.3) : 9999,
482
+ borderWidth: w.border,
483
+ borderColor: q,
484
+ backgroundColor: _ ? Tt(u) : q
485
+ },
486
+ children: y === "color" ? /* @__PURE__ */ o(
487
+ "span",
488
+ {
489
+ className: "rounded-full transition-all duration-200 ease-out",
490
+ style: {
491
+ width: w.d * 0.36,
492
+ height: w.d * 0.36,
493
+ backgroundColor: q
494
+ }
495
+ }
496
+ ) : P
497
+ }
498
+ ), K = /* @__PURE__ */ o(tt, { children: n ? /* @__PURE__ */ o(
499
+ Ae.svg,
500
+ {
501
+ width: w.caretW,
502
+ height: w.caretH,
503
+ viewBox: "0 0 16 13",
504
+ "aria-hidden": !0,
505
+ className: "absolute left-1/2",
506
+ style: {
507
+ top: w.d - w.caretOverlap - ln,
508
+ marginLeft: -w.caretW / 2,
509
+ // The pin is always white (the head's tail); the dot below carries
510
+ // the color.
511
+ fill: q,
512
+ // Collapse toward the top edge (into the head), not the center.
513
+ transformOrigin: "50% 0%"
514
+ },
515
+ initial: { scaleY: 0, opacity: 0 },
516
+ animate: { scaleY: 1, opacity: 1 },
517
+ exit: { scaleY: 0, opacity: 0 },
518
+ transition: v ? { duration: 0 } : {
519
+ duration: 0.18,
520
+ ease: "easeOut",
521
+ opacity: { duration: 0.1 }
522
+ },
523
+ children: /* @__PURE__ */ o("path", { d: "M0 0h16c-4.2 3-6.6 6.9-7.4 11.7a0.62 0.62 0 0 1-1.2 0C6.6 6.9 4.2 3 0 0Z" })
524
+ },
525
+ "caret"
526
+ ) : null }), Q = /* @__PURE__ */ O(
527
+ "span",
528
+ {
529
+ className: "relative inline-flex",
530
+ style: {
531
+ filter: `drop-shadow(0 ${w.shadowY}px ${w.shadowBlur / 2}px hsl(${Nt} / 0.3))`
532
+ },
533
+ children: [
534
+ K,
535
+ Z
536
+ ]
537
+ }
538
+ ), I = Ie[l], oe = w.d / 2, H = an, Be = n ? on() : -oe, xe = n ? "bottom" : g, we = `0 0 ${Math.max(2, Math.round(I.label * 0.28))}px ${q}`, We = [
539
+ we,
540
+ we,
541
+ `0 1px 2px ${q}`,
542
+ `0 -1px 2px ${q}`,
543
+ `1px 0 2px ${q}`,
544
+ `-1px 0 2px ${q}`
545
+ ].join(","), Y = !n && (xe === "top" || xe === "bottom"), V = Y ? "line-clamp-4 text-center" : n ? "whitespace-nowrap text-center" : "whitespace-nowrap", ie = I.d / 2, R = {
546
+ right: {
547
+ transform: `translate(${ie}px, -50%)`,
548
+ style: { paddingLeft: I.gap }
549
+ },
550
+ left: {
551
+ transform: `translate(calc(-100% - ${ie}px), -50%)`,
552
+ style: { paddingRight: I.gap, textAlign: "right" }
553
+ },
554
+ top: {
555
+ transform: `translate(-50%, calc(-100% - ${ie}px))`,
556
+ style: { paddingBottom: I.gap }
557
+ },
558
+ bottom: {
559
+ transform: `translate(-50%, ${n ? H : ie}px)`,
560
+ style: { paddingTop: I.gap + (n ? 4 : 0) }
561
+ }
562
+ }[xe], U = s && p && !i && /* @__PURE__ */ o(
563
+ "span",
564
+ {
565
+ className: D(
566
+ "absolute left-0 top-0 font-semibold leading-tight transition-all duration-200 ease-out",
567
+ V
568
+ ),
569
+ style: {
570
+ color: `hsl(${tn[u]})`,
571
+ fontSize: I.label,
572
+ textShadow: We,
573
+ transform: R.transform,
574
+ maxWidth: Y ? I.maxLabelW : void 0,
575
+ ...R.style
576
+ },
577
+ children: s
578
+ }
579
+ ), _e = /* @__PURE__ */ o(
580
+ "span",
581
+ {
582
+ "aria-hidden": !0,
583
+ className: "absolute left-0 top-0 rounded-full border-solid transition-all duration-200 ease-out",
584
+ style: {
585
+ width: H * 2,
586
+ height: H * 2,
587
+ marginLeft: -H,
588
+ marginTop: -H,
589
+ borderWidth: 1.5,
590
+ borderColor: q,
591
+ backgroundColor: Tt(u),
592
+ boxShadow: `0 1px 2px hsl(${Nt} / 0.3)`,
593
+ transform: `scale(${n || i ? 1 : 0})`,
594
+ opacity: n || i ? 1 : 0
595
+ }
596
+ }
597
+ ), G = /* @__PURE__ */ O(Fe, { children: [
598
+ _e,
599
+ /* @__PURE__ */ o(
600
+ "span",
601
+ {
602
+ className: "absolute left-0 top-0 transition-all duration-200 ease-out",
603
+ style: {
604
+ transform: `translate(-50%, ${Be}px) scale(${i ? 0 : 1})`,
605
+ opacity: i ? 0 : 1
606
+ },
607
+ children: Q
608
+ }
609
+ ),
610
+ U
611
+ ] });
612
+ return /* @__PURE__ */ o(le, { dataTestId: f, children: b ? /* @__PURE__ */ o(
613
+ "button",
614
+ {
615
+ ref: a,
616
+ type: "button",
617
+ ...m ? { tabIndex: -1, "aria-hidden": !0 } : { "aria-label": r, "aria-pressed": n },
618
+ onClick: d,
619
+ className: D(
620
+ // Hover grows from the center (transform-only, no extra layout).
621
+ "relative inline-flex cursor-pointer border-0 bg-transparent p-0",
622
+ "transition-transform duration-150 hover:scale-[1.05]",
623
+ Zn("rounded-full"),
624
+ x
625
+ ),
626
+ children: G
627
+ }
628
+ ) : /* @__PURE__ */ o(
629
+ "span",
630
+ {
631
+ role: "img",
632
+ "aria-label": r,
633
+ className: D("relative inline-flex", x),
634
+ children: G
635
+ }
636
+ ) });
637
+ }
638
+ );
639
+ rn.displayName = "BaseMapMarker";
640
+ const ta = rn, na = 4, aa = 4, la = ["right", "bottom", "left", "top"], oa = 1.7, Oe = (e, t) => e.x < t.x + t.w && e.x + e.w > t.x && e.y < t.y + t.h && e.y + e.h > t.y;
641
+ let Se = null;
642
+ const sn = (e, t) => (!Se && typeof document < "u" && (Se = document.createElement("canvas").getContext("2d")), Se ? (Se.font = `600 ${t}px Inter, system-ui, sans-serif`, Se.measureText(e).width) : e.length * t * 0.55), ia = ({ placement: e, cx: t, cy: a, point: l, size: n }) => {
643
+ const i = $e(n), s = sn(l.label ?? "", i.label) + 2, p = i.d / 2;
644
+ if (e === "right" || e === "left") {
645
+ const x = s, y = i.lineH;
646
+ return { x: e === "right" ? t + p + i.gap : t - p - i.gap - x, y: a - y / 2, w: x, h: y };
647
+ }
648
+ const g = Math.min(s, i.maxLabelW), r = Math.min(Math.ceil(s / i.maxLabelW), aa) * i.lineH, m = i.gap + na, f = e === "bottom" ? a + p + m : a - p - i.gap - r;
649
+ return { x: t - g / 2, y: f, w: g, h: r };
650
+ }, ra = (e, t, a = "md") => {
651
+ const [l, n] = F({});
652
+ return N(() => {
653
+ if (!e) {
654
+ n({});
655
+ return;
656
+ }
657
+ let i = 0;
658
+ const s = () => {
659
+ const d = $e(a).d, r = [], m = [];
660
+ for (const u of t) {
661
+ const v = e.project(u.coordinates);
662
+ if (!v)
663
+ return;
664
+ r.push({ x: v.x - d / 2, y: v.y - d / 2, w: d, h: d }), m.push({ x: v.x, y: v.y });
665
+ }
666
+ const f = t.length, x = Array.from({ length: f }, (u, v) => v), y = (u) => {
667
+ for (; x[u] !== u; )
668
+ u = x[u] = x[x[u]];
669
+ return u;
670
+ }, w = (d * oa) ** 2;
671
+ for (let u = 0; u < f; u++)
672
+ for (let v = u + 1; v < f; v++) {
673
+ const T = m[u].x - m[v].x, A = m[u].y - m[v].y;
674
+ if (T * T + A * A <= w) {
675
+ const c = y(u), k = y(v);
676
+ c !== k && (x[c] = k);
677
+ }
678
+ }
679
+ const b = {}, _ = [];
680
+ for (let u = 0; u < f; u++) {
681
+ const v = t[u];
682
+ if (!v.label)
683
+ continue;
684
+ const T = m[u], A = "right", c = [A, ...la.filter((L) => L !== A)];
685
+ let k = null;
686
+ for (const L of c) {
687
+ const P = ia({ placement: L, cx: T.x, cy: T.y, point: v, size: a }), J = r.some((K) => Oe(P, K)), Z = _.some((K) => Oe(P, K));
688
+ if (!J && !Z) {
689
+ k = L, _.push(P);
690
+ break;
691
+ }
692
+ }
693
+ b[v.id] = k;
694
+ }
695
+ const j = /* @__PURE__ */ new Set();
696
+ for (let u = 0; u < f; u++)
697
+ t[u].label && b[t[u].id] === null && j.add(y(u));
698
+ for (let u = 0; u < f; u++)
699
+ t[u].label && j.has(y(u)) && (b[t[u].id] = null);
700
+ n((u) => {
701
+ const v = Object.keys(b);
702
+ return v.length === Object.keys(u).length && v.every((A) => u[A] === b[A]) ? u : b;
703
+ });
704
+ }, p = () => {
705
+ cancelAnimationFrame(i), i = requestAnimationFrame(s);
706
+ };
707
+ p();
708
+ const g = [
709
+ e.on("move", p),
710
+ e.on("zoom", p),
711
+ e.on("resize", p)
712
+ ];
713
+ return () => {
714
+ cancelAnimationFrame(i), g.forEach((d) => d());
715
+ };
716
+ }, [e, t, a]), l;
717
+ }, sa = (e, t) => {
718
+ const [a, l] = F(
719
+ () => e ? e.getZoom() >= t : !1
720
+ );
721
+ return N(() => {
722
+ if (!e) {
723
+ l(!1);
724
+ return;
725
+ }
726
+ const n = () => l(e.getZoom() >= t);
727
+ return n(), e.on("zoom", n);
728
+ }, [e, t]), a;
729
+ }, ll = [
730
+ "default",
731
+ "workplace",
732
+ "employee",
733
+ "company",
734
+ "stop"
735
+ ], ca = "malibu", pa = "radical", ua = (e) => {
736
+ switch (e.variant) {
737
+ case "employee":
738
+ return {
739
+ variant: {
740
+ variant: "person",
741
+ firstName: e.firstName,
742
+ lastName: e.lastName,
743
+ src: e.src
744
+ }
745
+ };
746
+ case "company":
747
+ return {
748
+ variant: { variant: "company", name: e.name, src: e.src }
749
+ };
750
+ case "workplace":
751
+ return {
752
+ variant: { variant: "icon", icon: Wn },
753
+ color: ca
754
+ };
755
+ case "stop":
756
+ return {
757
+ variant: { variant: "letter", letter: e.letter },
758
+ color: pa
759
+ };
760
+ default:
761
+ return { variant: { variant: "color" } };
762
+ }
763
+ }, cn = re(
764
+ function(t, a) {
765
+ const { variant: l, color: n } = ua(t);
766
+ return /* @__PURE__ */ o(
767
+ ta,
768
+ {
769
+ ref: a,
770
+ ...l,
771
+ color: n,
772
+ size: t.size,
773
+ selected: t.selected,
774
+ collapsed: t.collapsed,
775
+ label: t.label,
776
+ showLabel: t.showLabel,
777
+ labelPlacement: t.labelPlacement,
778
+ onClick: t.onClick,
779
+ ariaLabel: t.ariaLabel,
780
+ presentational: t.presentational,
781
+ dataTestId: t.dataTestId,
782
+ className: t.className
783
+ }
784
+ );
785
+ }
786
+ );
787
+ cn.displayName = "F0MapMarker";
788
+ const pn = cn, jt = 4, Rt = 3, ma = 1.3, da = 1.08, Pt = "cubic-bezier(0.16, 1, 0.3, 1)", Ce = 72, Ct = {
789
+ 1: [[0, 0]],
790
+ 2: [
791
+ [-8, 0],
792
+ [8, 0]
793
+ ],
794
+ 3: [
795
+ [0, -8],
796
+ [-8, 7],
797
+ [8, 7]
798
+ ],
799
+ 4: [
800
+ [-8, -8],
801
+ [8, -8],
802
+ [-8, 8],
803
+ [8, 8]
804
+ ]
805
+ }, un = re(
806
+ function({ count: t, members: a, onClick: l, ariaLabel: n, dataTestId: i, className: s }, p) {
807
+ const g = se(), [d, r] = F(!1), m = a.slice(
808
+ 0,
809
+ t <= jt ? jt : Rt
810
+ ), f = Math.max(0, t - m.length), x = f > 0, y = f > 99 ? "+99" : `+${f}`, w = m.length + (x ? 1 : 0), b = Ct[w] ?? Ct[4], _ = d ? ma : 1, j = d ? da : 1, u = (v) => {
811
+ const [T, A] = b[v] ?? [0, 0];
812
+ return {
813
+ transform: `translate(${T * _}px, ${A * _}px) scale(${j})`,
814
+ transition: `transform 240ms ${Pt}`
815
+ };
816
+ };
817
+ return /* @__PURE__ */ o(le, { dataTestId: i, children: /* @__PURE__ */ O(
818
+ "div",
819
+ {
820
+ ref: p,
821
+ role: "button",
822
+ tabIndex: 0,
823
+ "aria-label": n ?? g.t("map.cluster", { count: t }),
824
+ onClick: l,
825
+ onKeyDown: (v) => {
826
+ (v.key === "Enter" || v.key === " ") && (v.preventDefault(), l?.());
827
+ },
828
+ onPointerEnter: () => r(!0),
829
+ onPointerLeave: () => r(!1),
830
+ onFocus: () => r(!0),
831
+ onBlur: () => r(!1),
832
+ className: D(
833
+ "group relative h-0 w-0 cursor-pointer outline-none",
834
+ s
835
+ ),
836
+ children: [
837
+ /* @__PURE__ */ o(
838
+ "span",
839
+ {
840
+ "aria-hidden": !0,
841
+ className: "absolute rounded-lg group-focus-visible:ring-1 group-focus-visible:ring-f1-special-ring group-focus-visible:ring-offset-1",
842
+ style: { left: -Ce / 2, top: -Ce / 2, width: Ce, height: Ce }
843
+ }
844
+ ),
845
+ m.map((v, T) => /* @__PURE__ */ o(
846
+ "span",
847
+ {
848
+ className: "absolute left-0 top-0 flex leading-none",
849
+ style: { zIndex: T, ...u(T) },
850
+ children: /* @__PURE__ */ o(pn, { ...v, showLabel: !1 })
851
+ },
852
+ T
853
+ )),
854
+ x ? (() => {
855
+ const [v, T] = b[m.length] ?? [0, 0];
856
+ return /* @__PURE__ */ O(
857
+ "span",
858
+ {
859
+ className: D(
860
+ "absolute left-0 top-0 flex h-6 min-w-6 items-center justify-center overflow-hidden rounded-full px-1.5",
861
+ "border border-solid border-f1-border-secondary",
862
+ // White-90 base with the translucent hover layer on top.
863
+ "text-f1-foreground-secondary text-sm font-medium leading-none"
864
+ ),
865
+ style: {
866
+ zIndex: Rt,
867
+ backgroundColor: "hsl(var(--white-90))",
868
+ transform: `translate(${v * _}px, ${T * _}px) translate(-50%, -50%) scale(${j})`,
869
+ transition: `transform 240ms ${Pt}`
870
+ },
871
+ children: [
872
+ /* @__PURE__ */ o(
873
+ "span",
874
+ {
875
+ "aria-hidden": !0,
876
+ className: "absolute inset-0 bg-f1-background-hover"
877
+ }
878
+ ),
879
+ /* @__PURE__ */ o("span", { className: "relative", children: y })
880
+ ]
881
+ }
882
+ );
883
+ })() : null
884
+ ]
885
+ }
886
+ ) });
887
+ }
888
+ );
889
+ un.displayName = "F0MapCluster";
890
+ const ya = un, fa = 16, ga = (e, t, a, l) => {
891
+ const n = e.project(t.coordinates);
892
+ if (!n)
893
+ return null;
894
+ const i = $e("xl"), s = $e(l), p = n.y + on(), g = { x: n.x - i.d / 2, y: p, w: i.d, h: i.d }, d = t.label ? sn(t.label, s.label) : 0, r = {
895
+ x: n.x - d / 2,
896
+ y: n.y + an,
897
+ w: d,
898
+ h: s.lineH
899
+ }, m = s.d, f = /* @__PURE__ */ new Set();
900
+ for (const x of a) {
901
+ const y = e.project(x.coordinates);
902
+ if (!y)
903
+ return null;
904
+ const w = { x: y.x - m / 2, y: y.y - m / 2, w: m, h: m };
905
+ (Oe(w, g) || d > 0 && Oe(w, r)) && f.add(x.id);
906
+ }
907
+ return f;
908
+ }, ha = (e, t, a, l) => {
909
+ const [n, i] = F(null);
910
+ return N(() => {
911
+ if (!t || !a.some((r) => r.id === t.id)) {
912
+ i(null);
913
+ return;
914
+ }
915
+ let s = 0;
916
+ const p = () => {
917
+ const r = ga(
918
+ e,
919
+ t,
920
+ a.filter((m) => m.id !== t.id),
921
+ l
922
+ );
923
+ r && i((m) => m !== null && m.size === r.size && [...r].every((x) => m.has(x)) ? m : r);
924
+ }, g = () => {
925
+ cancelAnimationFrame(s), s = requestAnimationFrame(p);
926
+ };
927
+ g();
928
+ const d = [e.on("zoom", g), e.on("resize", g)];
929
+ return () => {
930
+ cancelAnimationFrame(s), d.forEach((r) => r());
931
+ };
932
+ }, [e, t, a, l]), n;
933
+ }, At = (e) => {
934
+ const {
935
+ id: t,
936
+ coordinates: a,
937
+ label: l,
938
+ ...n
939
+ } = e;
940
+ return n;
941
+ }, It = ({
942
+ adapter: e,
943
+ coordinates: t,
944
+ selected: a,
945
+ children: l
946
+ }) => {
947
+ const [n] = F(() => document.createElement("div")), i = M(null);
948
+ return N(() => {
949
+ const s = (g) => g.stopPropagation();
950
+ n.style.cursor = "pointer", n.addEventListener("click", s);
951
+ const p = e.addDomMarker(n, t);
952
+ return i.current = p, () => {
953
+ n.removeEventListener("click", s), p.remove(), i.current = null;
954
+ };
955
+ }, [e, n]), N(() => {
956
+ i.current?.setPosition(t);
957
+ }, [t]), N(() => {
958
+ n.style.zIndex = a ? "2" : "";
959
+ }, [n, a]), Kn(l, n);
960
+ }, ba = ({
961
+ adapter: e,
962
+ points: t,
963
+ selectedId: a,
964
+ highlightedId: l,
965
+ onSelect: n,
966
+ onClusterExpand: i
967
+ }) => {
968
+ const s = se(), { clusters: p, singles: g } = Qn({ adapter: e, points: t, enabled: !0 }), r = sa(e, fa) ? "lg" : "md", m = ra(e, g, r), f = new Map(t.map((b) => [b.id, b])), x = p.length > 0, y = a ? f.get(a) : void 0, w = ha(
969
+ e,
970
+ y,
971
+ g,
972
+ r
973
+ );
974
+ return (
975
+ // One AnimatePresence over both lists so a single leaving (becoming a
976
+ // cluster) fades out while the cluster fades in - a soft crossfade.
977
+ /* @__PURE__ */ O(tt, { children: [
978
+ p.map((b) => /* @__PURE__ */ o(
979
+ It,
980
+ {
981
+ adapter: e,
982
+ coordinates: b.coordinates,
983
+ selected: !1,
984
+ children: /* @__PURE__ */ o(
985
+ Ae.span,
986
+ {
987
+ initial: { scale: 0.8, opacity: 0 },
988
+ animate: { scale: 1, opacity: 1 },
989
+ exit: { scale: 0.8, opacity: 0, transition: { duration: 0.12 } },
990
+ transition: { duration: 0.3, ease: [0.34, 1.7, 0.5, 1] },
991
+ className: "absolute left-0 top-0 flex leading-none",
992
+ children: /* @__PURE__ */ o(
993
+ ya,
994
+ {
995
+ count: b.count,
996
+ members: b.pointIds.map((_) => f.get(_)).filter((_) => !!_).map(At),
997
+ onClick: () => i(b.bounds)
998
+ }
999
+ )
1000
+ }
1001
+ )
1002
+ },
1003
+ b.id
1004
+ )),
1005
+ g.map((b) => {
1006
+ const _ = m[b.id], j = w?.has(b.id) ?? !1, u = l === b.id;
1007
+ return /* @__PURE__ */ o(
1008
+ It,
1009
+ {
1010
+ adapter: e,
1011
+ coordinates: b.coordinates,
1012
+ selected: a === b.id || u,
1013
+ children: /* @__PURE__ */ o(
1014
+ Ae.span,
1015
+ {
1016
+ initial: { opacity: 0 },
1017
+ animate: { opacity: 1 },
1018
+ exit: {
1019
+ opacity: 0,
1020
+ transition: { duration: 0.12, ease: "easeIn" }
1021
+ },
1022
+ transition: { duration: 0.2, ease: "easeOut" },
1023
+ className: "absolute left-0 top-0",
1024
+ children: /* @__PURE__ */ o(tt, { initial: !1, children: /* @__PURE__ */ o(
1025
+ Ae.span,
1026
+ {
1027
+ initial: { opacity: 0 },
1028
+ animate: { opacity: 1 },
1029
+ exit: { opacity: 0 },
1030
+ transition: { duration: 0.25, ease: "easeOut" },
1031
+ className: "absolute left-0 top-0 flex leading-none",
1032
+ children: /* @__PURE__ */ o(
1033
+ pn,
1034
+ {
1035
+ ...At(b),
1036
+ size: r,
1037
+ label: b.label,
1038
+ showLabel: a === b.id || u || !x && _ !== null,
1039
+ labelPlacement: _ ?? "right",
1040
+ selected: a === b.id,
1041
+ collapsed: j,
1042
+ onClick: () => n(b.id),
1043
+ presentational: !0,
1044
+ ariaLabel: b.label ?? s.map.unnamedLocation
1045
+ }
1046
+ )
1047
+ },
1048
+ r
1049
+ ) })
1050
+ }
1051
+ )
1052
+ },
1053
+ b.id
1054
+ );
1055
+ })
1056
+ ] })
1057
+ );
1058
+ }, Ft = ({
1059
+ children: e,
1060
+ open: t,
1061
+ offsetX: a,
1062
+ offsetY: l = C.inset,
1063
+ width: n,
1064
+ entrance: i = "slide",
1065
+ headerStart: s,
1066
+ headerEnd: p,
1067
+ ariaLabel: g,
1068
+ dataTestId: d
1069
+ }) => {
1070
+ const r = se(), m = Ut(), f = t ? ae.enter : ae.exit, x = a - C.inset, y = M({ from: x, to: x });
1071
+ y.current.to !== x && (y.current = { from: y.current.to, to: x });
1072
+ const w = x > y.current.from ? ae.enter : ae.exit, b = i === "grow" ? "translateX(-10%) scale(0.97)" : `translateX(calc(-100% - ${C.inset}px))`;
1073
+ return /* @__PURE__ */ o(le, { dataTestId: d, children: /* @__PURE__ */ o(
1074
+ "div",
1075
+ {
1076
+ className: "pointer-events-none absolute bottom-2 z-10",
1077
+ style: {
1078
+ left: C.inset,
1079
+ top: l,
1080
+ width: n,
1081
+ transform: `translateX(${x}px)`,
1082
+ transitionProperty: m ? "none" : "transform, top",
1083
+ transitionDuration: w.duration,
1084
+ transitionTimingFunction: w.easing
1085
+ },
1086
+ children: /* @__PURE__ */ o(
1087
+ "div",
1088
+ {
1089
+ role: "complementary",
1090
+ "aria-label": g ?? r.map.panel,
1091
+ ref: (_) => {
1092
+ t ? _?.removeAttribute("inert") : _?.setAttribute("inert", "");
1093
+ },
1094
+ className: D(
1095
+ // Back to the app's base size: `.maplibregl-map` sets 12px.
1096
+ "relative h-full overflow-hidden text-base",
1097
+ qt(Ee.panel),
1098
+ t ? "pointer-events-auto" : "opacity-0"
1099
+ ),
1100
+ style: {
1101
+ transform: t || m ? "translateX(0px) scale(1)" : b,
1102
+ transformOrigin: i === "grow" ? "left center" : void 0,
1103
+ transitionProperty: m ? "opacity" : "transform, opacity",
1104
+ transitionDuration: f.duration,
1105
+ transitionTimingFunction: f.easing
1106
+ },
1107
+ children: /* @__PURE__ */ o(
1108
+ Xt,
1109
+ {
1110
+ ...Kt,
1111
+ borderRadius: Ee.panel,
1112
+ padding: "none",
1113
+ height: "full",
1114
+ children: /* @__PURE__ */ O("div", { className: "flex h-full flex-col", children: [
1115
+ s || p ? /* @__PURE__ */ O("div", { className: "flex shrink-0 items-center justify-between gap-1 p-0.5", children: [
1116
+ /* @__PURE__ */ o("div", { className: "flex min-w-0 flex-1 justify-start", children: s }),
1117
+ p
1118
+ ] }) : null,
1119
+ /* @__PURE__ */ o("div", { className: "min-h-0 flex-1", children: e })
1120
+ ] })
1121
+ }
1122
+ )
1123
+ }
1124
+ )
1125
+ }
1126
+ ) });
1127
+ }, Et = "one_sidebar_locked", mn = Cn(void 0);
1128
+ function xa() {
1129
+ const e = Pn(mn);
1130
+ return e === void 0 ? {
1131
+ isSmallScreen: !1,
1132
+ isLastToggleInvokedByUser: !0,
1133
+ prevSidebarState: null,
1134
+ sidebarState: "locked",
1135
+ toggleSidebar: () => {
1136
+ },
1137
+ setForceFloat: () => {
1138
+ },
1139
+ railWidth: 0,
1140
+ hasRail: !1,
1141
+ setRailWidth: () => {
1142
+ }
1143
+ } : e;
1144
+ }
1145
+ function ol({ children: e }) {
1146
+ const { currentPath: t } = Dn(), [a, l] = F(!1), [n, i] = F(0), [s, p] = F(!1), g = a ? _t.xl : _t.md, d = Hn(`(max-width: ${g}px)`, {
1147
+ initializeWithValue: !0
1148
+ }), [r, m] = F(() => {
1149
+ const u = localStorage.getItem(Et);
1150
+ return u !== null ? !!u : !0;
1151
+ }), [f, x] = F(!1), [y, w] = F(
1152
+ null
1153
+ ), b = B(
1154
+ ({ isInvokedByUser: u } = {
1155
+ isInvokedByUser: !0
1156
+ }) => {
1157
+ p(u ?? !0), d && x(!f), m(!r);
1158
+ },
1159
+ [d, f, r, m, x]
1160
+ ), _ = B(
1161
+ (u) => {
1162
+ d || (u.clientX >= n && u.clientX < n + 32 && x(!0), u.clientX > n + 280 && x(!1));
1163
+ },
1164
+ [d, x, n]
1165
+ ), j = et(() => d ? f ? "unlocked" : "hidden" : !r && !f ? "hidden" : !r && f ? "unlocked" : "locked", [d, f, r]);
1166
+ return N(() => {
1167
+ x(!1);
1168
+ }, [t]), N(() => {
1169
+ s && localStorage.setItem(Et, r ? "1" : "");
1170
+ }, [r, s]), N(() => () => {
1171
+ w(j);
1172
+ }, [j]), /* @__PURE__ */ o(
1173
+ mn.Provider,
1174
+ {
1175
+ value: {
1176
+ isSmallScreen: d,
1177
+ isLastToggleInvokedByUser: s,
1178
+ sidebarState: j,
1179
+ toggleSidebar: b,
1180
+ prevSidebarState: y,
1181
+ setForceFloat: l,
1182
+ railWidth: n,
1183
+ hasRail: n > 0,
1184
+ setRailWidth: i
1185
+ },
1186
+ children: /* @__PURE__ */ o("div", { onPointerMove: _, className: "h-screen w-screen", children: e })
1187
+ }
1188
+ );
1189
+ }
1190
+ function dn({ isExpanded: e }) {
1191
+ return /* @__PURE__ */ O(
1192
+ "svg",
1193
+ {
1194
+ width: "20",
1195
+ height: "20",
1196
+ viewBox: "0 0 20 20",
1197
+ fill: "none",
1198
+ xmlns: "http://www.w3.org/2000/svg",
1199
+ className: "text-f1-icon-bold",
1200
+ children: [
1201
+ /* @__PURE__ */ o(
1202
+ "rect",
1203
+ {
1204
+ id: "container",
1205
+ x: "3.33325",
1206
+ y: "5",
1207
+ width: "13.3333",
1208
+ height: "10",
1209
+ rx: "3",
1210
+ strokeWidth: "1.3",
1211
+ className: "stroke-current"
1212
+ }
1213
+ ),
1214
+ /* @__PURE__ */ o(
1215
+ "path",
1216
+ {
1217
+ id: "arrow",
1218
+ d: e ? "M10.417 10L14.167 10M10.417 10L12.0837 8.33337M10.417 10L12.0837 11.6667" : "M10.75 10L7 10M10.75 10L9.08333 8.33337M10.75 10L9.08333 11.6667",
1219
+ strokeWidth: "1.3",
1220
+ strokeLinecap: "round",
1221
+ strokeLinejoin: "round",
1222
+ className: D(
1223
+ "translate-x-0 stroke-current transition-all duration-200 ease-out motion-reduce:transition-none",
1224
+ e ? "opacity-0 group-hover:-translate-x-1 group-hover:opacity-100" : "opacity-1 group-hover:translate-x-[3px]"
1225
+ )
1226
+ }
1227
+ ),
1228
+ /* @__PURE__ */ o(
1229
+ "path",
1230
+ {
1231
+ id: "line",
1232
+ d: "M7.5 5L7.5 15",
1233
+ strokeWidth: "1.3",
1234
+ strokeLinecap: "round",
1235
+ className: D(
1236
+ "stroke-current transition-all duration-200 ease-out motion-reduce:transition-none",
1237
+ e ? "translate-x-0 opacity-100 group-hover:-translate-x-0.5 group-hover:opacity-0" : "-translate-x-0.5 opacity-0 group-hover:translate-x-0 group-hover:opacity-100"
1238
+ )
1239
+ }
1240
+ )
1241
+ ]
1242
+ }
1243
+ );
1244
+ }
1245
+ function il() {
1246
+ const { prevSidebarState: e, sidebarState: t, toggleSidebar: a, isSmallScreen: l } = xa(), n = M(null);
1247
+ return N(() => {
1248
+ e === "hidden" && t === "locked" && n.current?.focus();
1249
+ }, [e, t]), /* @__PURE__ */ O(
1250
+ Gt,
1251
+ {
1252
+ variant: "ghost",
1253
+ size: "md",
1254
+ onClick: () => a(),
1255
+ className: "group hover:bg-f1-background-hover",
1256
+ title: "Close Sidebar",
1257
+ ref: n,
1258
+ compact: !0,
1259
+ "aria-label": "Close Sidebar",
1260
+ children: [
1261
+ /* @__PURE__ */ o("div", { className: D("hidden", { flex: !l }), children: /* @__PURE__ */ o(dn, { isExpanded: t === "locked" }) }),
1262
+ /* @__PURE__ */ o("div", { className: D("hidden", { flex: l }), children: /* @__PURE__ */ o(Yt, { icon: Xn, size: "md" }) })
1263
+ ]
1264
+ }
1265
+ );
1266
+ }
1267
+ const at = re(({ expanded: e, onToggle: t, label: a, bare: l = !1, dataTestId: n }, i) => {
1268
+ const s = se(), p = a ?? (e ? s.map.controls.hidePanel : s.map.controls.showPanel), g = /* @__PURE__ */ o(
1269
+ Gt,
1270
+ {
1271
+ ref: i,
1272
+ variant: "ghost",
1273
+ size: "md",
1274
+ compact: !0,
1275
+ className: "group",
1276
+ onClick: t,
1277
+ title: p,
1278
+ "aria-label": p,
1279
+ "aria-expanded": e,
1280
+ children: /* @__PURE__ */ o(dn, { isExpanded: e })
1281
+ }
1282
+ );
1283
+ return /* @__PURE__ */ o(le, { dataTestId: n, children: l ? g : /* @__PURE__ */ o(lt, { children: g }) });
1284
+ });
1285
+ at.displayName = "F0MapSidebarToggle";
1286
+ const wa = (e, t, a = 0.3, l = 64) => {
1287
+ const [n, i] = e, [s, p] = t, g = (n + s) / 2, d = (i + p) / 2, r = g - (p - i) * a, m = d + (s - n) * a, f = [];
1288
+ for (let x = 0; x <= l; x++) {
1289
+ const y = x / l, w = 1 - y, b = w * w, _ = 2 * w * y, j = y * y;
1290
+ f.push([b * n + _ * r + j * s, b * i + _ * m + j * p]);
1291
+ }
1292
+ return f;
1293
+ }, yn = (e) => `hsl(${e.replace(/ /g, ", ")})`, za = (e, t) => e.color ?? yn(nn(e.variant ?? "radical", t)), va = (e, t) => e.color ?? yn(nn(e.variant ?? "radical", !t)), $t = ({
1294
+ id: e,
1295
+ kind: t,
1296
+ coordinates: a,
1297
+ style: l,
1298
+ isDark: n
1299
+ }) => {
1300
+ const i = l.width ?? 3;
1301
+ return {
1302
+ id: e,
1303
+ coordinates: a,
1304
+ color: za(l, n),
1305
+ width: i,
1306
+ opacity: l.opacity ?? 1,
1307
+ dashed: l.dashed ?? !1,
1308
+ hover: t === "route" ? { width: i * 1.6, opacity: 1 } : { color: va(l, n), opacity: 1 }
1309
+ };
1310
+ }, ka = ({
1311
+ adapter: e,
1312
+ routes: t,
1313
+ arcs: a,
1314
+ isDark: l,
1315
+ onRouteClick: n,
1316
+ onArcClick: i
1317
+ }) => {
1318
+ const s = et(
1319
+ () => [
1320
+ ...t.map(
1321
+ (r) => $t({
1322
+ id: r.id,
1323
+ kind: "route",
1324
+ coordinates: r.coordinates,
1325
+ style: r,
1326
+ isDark: l
1327
+ })
1328
+ ),
1329
+ ...a.map(
1330
+ (r) => $t({
1331
+ id: r.id,
1332
+ kind: "arc",
1333
+ coordinates: wa(r.from, r.to, r.curvature),
1334
+ style: r,
1335
+ isDark: l
1336
+ })
1337
+ )
1338
+ ],
1339
+ [t, a, l]
1340
+ ), p = et(
1341
+ () => new Map([
1342
+ ...t.map((r) => [r.id, "route"]),
1343
+ ...a.map((r) => [r.id, "arc"])
1344
+ ]),
1345
+ [t, a]
1346
+ ), g = M({ onRouteClick: n, onArcClick: i, kinds: p });
1347
+ g.current = { onRouteClick: n, onArcClick: i, kinds: p };
1348
+ const d = !!(n || i);
1349
+ return N(() => {
1350
+ e.setLines(
1351
+ s,
1352
+ d ? {
1353
+ onClick: (r) => {
1354
+ const {
1355
+ onRouteClick: m,
1356
+ onArcClick: f,
1357
+ kinds: x
1358
+ } = g.current;
1359
+ x.get(r) === "arc" ? f?.(r) : m?.(r);
1360
+ }
1361
+ } : void 0
1362
+ );
1363
+ }, [e, s, d]), N(() => () => e.setLines([]), [e]), null;
1364
+ }, fn = ({
1365
+ adapter: e,
1366
+ coords: t
1367
+ }) => (N(() => {
1368
+ e.setCurrentLocation(t);
1369
+ }, [e, t]), N(() => () => e.setCurrentLocation(null), [e]), null);
1370
+ fn.displayName = "CurrentLocationLayer";
1371
+ const rl = {
1372
+ curve: 1.42,
1373
+ speed: 0.8,
1374
+ maxDuration: 1400
1375
+ }, Ot = 200, Sa = ({
1376
+ dataTestId: e,
1377
+ className: t
1378
+ }) => /* @__PURE__ */ o(le, { dataTestId: e, children: /* @__PURE__ */ o(
1379
+ "div",
1380
+ {
1381
+ "aria-busy": "true",
1382
+ "aria-live": "polite",
1383
+ className: D(
1384
+ "h-full w-full animate-pulse bg-f1-background-secondary",
1385
+ t
1386
+ )
1387
+ }
1388
+ ) }), _a = (e) => {
1389
+ const [t, a] = F(null), l = B(
1390
+ (n) => {
1391
+ e && (typeof navigator > "u" || !navigator.geolocation || navigator.geolocation.getCurrentPosition(
1392
+ (i) => {
1393
+ const s = [
1394
+ i.coords.longitude,
1395
+ i.coords.latitude
1396
+ ];
1397
+ a(s), n?.(s);
1398
+ },
1399
+ () => {
1400
+ },
1401
+ { enableHighAccuracy: !0, timeout: 1e4, maximumAge: 6e4 }
1402
+ ));
1403
+ },
1404
+ [e]
1405
+ );
1406
+ return N(() => {
1407
+ !e || t || typeof navigator > "u" || navigator.permissions?.query({ name: "geolocation" }).then((n) => {
1408
+ n.state === "granted" && l();
1409
+ }).catch(() => {
1410
+ });
1411
+ }, [e, t, l]), { coords: t, request: l };
1412
+ }, La = () => {
1413
+ const [e, t] = F(!1), a = M(null), l = B((n) => {
1414
+ if (a.current?.disconnect(), a.current = null, !n)
1415
+ return;
1416
+ const i = () => t(n.closest(".dark") !== null);
1417
+ i();
1418
+ const s = new MutationObserver(i);
1419
+ for (let p = n; p; p = p.parentElement)
1420
+ s.observe(p, {
1421
+ attributes: !0,
1422
+ attributeFilter: ["class"]
1423
+ });
1424
+ a.current = s;
1425
+ }, []);
1426
+ return N(() => () => a.current?.disconnect(), []), { containerRef: l, isDark: e };
1427
+ }, Ma = {
1428
+ maplibre: () => import("./index-B1UwLgNv.js").then((e) => e.createMaplibreAdapter),
1429
+ // Google needs its script in the page before a map can be constructed, so the
1430
+ // loader resolves only once the API is up - which is what keeps the factory
1431
+ // itself synchronous for every engine.
1432
+ google: (e) => import("./index-CCea6fTM.js").then((t) => t.loadGoogleAdapter(e))
1433
+ }, Qe = /* @__PURE__ */ new Map(), Ta = (e, t) => {
1434
+ const a = Qe.get(e);
1435
+ if (a)
1436
+ return a;
1437
+ const l = Ma[e](t).catch((n) => {
1438
+ throw Qe.delete(e), n;
1439
+ });
1440
+ return Qe.set(e, l), l;
1441
+ }, Na = 8, ja = { openmaptiles: { type: "vector", url: "https://tiles.openfreemap.org/planet" } }, Ra = "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", Pa = "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", Ca = /* @__PURE__ */ JSON.parse('[{"id":"background","type":"background","paint":{"background-color":["interpolate",["linear"],["zoom"],11.5,"#192231",13.5,"#192231"]}},{"id":"landcover-glacier","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","subclass"],"glacier"],"paint":{"fill-color":"#252d3c","fill-opacity":["interpolate",["linear"],["zoom"],0,0.9,10,0.3]}},{"id":"landuse-residential","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["match",["get","class"],["neighbourhood","residential"],true,false],"paint":{"fill-color":"#192231"}},{"id":"landuse-suburb","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"suburb"],"paint":{"fill-color":"#192231"}},{"id":"landuse-commercial","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["==",["get","class"],"commercial"]],"paint":{"fill-color":"#192231"}},{"id":"landuse-industrial","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["dam","garages","industrial"],true,false]],"paint":{"fill-color":"#192231"}},{"id":"landuse-cemetery","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"cemetery"],"paint":{"fill-color":"#192231"}},{"id":"landuse-hospital","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"hospital"],"paint":{"fill-color":"#192231"}},{"id":"landuse-school","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"school"],"paint":{"fill-color":"#192231"}},{"id":"landuse-railway","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"railway"],"paint":{"fill-color":"#192231"}},{"id":"park","type":"fill","source":"openmaptiles","source-layer":"park","filter":["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],"paint":{"fill-color":"#192231","fill-opacity":["interpolate",["exponential",1.8],["zoom"],9,0.5,12,0.2]}},{"id":"landcover-wood","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"wood"],"paint":{"fill-antialias":["step",["zoom"],false,9,true],"fill-color":"#192231","fill-opacity":0.1,"fill-outline-color":"#192231"}},{"id":"landcover-grass","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"grass"],"paint":{"fill-color":"#192231","fill-opacity":1}},{"id":"landcover-grass-park","type":"fill","source":"openmaptiles","source-layer":"park","filter":["==",["get","class"],"public_park"],"paint":{"fill-color":"#192231","fill-opacity":0.8}},{"id":"waterway_tunnel","type":"line","source":"openmaptiles","source-layer":"waterway","minzoom":14,"filter":["all",["match",["get","class"],["canal","river","stream"],true,false],["==",["get","brunnel"],"tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-dasharray":[2,4],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-other","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","river","stream"],false,true],["==",["get","intermittent"],0]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,2]}},{"id":"waterway-other-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","river","stream"],false,true],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,2]}},{"id":"waterway-stream-canal","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","stream"],true,false],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],0]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-stream-canal-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","stream"],true,false],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-river","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["==",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"],["!=",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-width":["interpolate",["exponential",1.2],["zoom"],10,0.8,20,6]}},{"id":"waterway-river-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["==",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#1c2433","line-dasharray":[3,2.5],"line-width":["interpolate",["exponential",1.2],["zoom"],10,0.8,20,6]}},{"id":"water","type":"fill","source":"openmaptiles","source-layer":"water","filter":["all",["!=",["get","intermittent"],1],["!=",["get","brunnel"],"tunnel"]],"paint":{"fill-color":"#1c2433"}},{"id":"water-intermittent","type":"fill","source":"openmaptiles","source-layer":"water","filter":["==",["get","intermittent"],1],"paint":{"fill-color":"#1c2433","fill-opacity":0.7}},{"id":"landcover-ice-shelf","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","subclass"],"ice_shelf"],"paint":{"fill-color":"#252d3c","fill-opacity":["interpolate",["linear"],["zoom"],0,0.9,10,0.3]}},{"id":"landcover-sand","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"sand"],"paint":{"fill-color":"#192231","fill-opacity":1}},{"id":"f0-landcover-farmland","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"farmland"],"paint":{"fill-color":"#192231","fill-antialias":false}},{"id":"f0-landcover-rock","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"rock"],"paint":{"fill-color":"#192231","fill-antialias":false}},{"id":"f0-landuse-farmland","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"farmland"],"paint":{"fill-color":"#192231","fill-antialias":false}},{"id":"building","type":"fill","source":"openmaptiles","source-layer":"building","paint":{"fill-antialias":true,"fill-color":"#252d3c","fill-outline-color":"#3d4551"}},{"id":"building-top","type":"fill","source":"openmaptiles","source-layer":"building","paint":{"fill-color":"#252d3c","fill-opacity":["interpolate",["linear"],["zoom"],13,0,16,1],"fill-outline-color":"#3d4551","fill-translate":["interpolate",["linear"],["zoom"],14,["literal",[0,0]],16,["literal",[-2,-2]]],"fill-antialias":true}},{"id":"tunnel-service-track-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],true,false]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.5,16,6,20,16.5]}},{"id":"tunnel-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"tunnel-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,6,20,22.5]}},{"id":"tunnel-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"tunnel-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,2.25,20,25.5]}},{"id":"tunnel-trunk-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"tunnel-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"tunnel-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"tunnel"],["==",["get","class"],"path"]],"paint":{"line-color":"#3d4551","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"tunnel-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"tunnel-service-track","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],true,false]],"layout":{"line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,3,20,11.25]}},{"id":"tunnel-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"tunnel-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#565c67","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"tunnel-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,15]}},{"id":"tunnel-trunk-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"tunnel-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"tunnel-railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"rail"]],"paint":{"line-color":"#192231","line-dasharray":[2,2],"line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"ferry","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["match",["get","class"],["ferry"],true,false],"layout":{"line-join":"round","visibility":"none"},"paint":{"line-color":"rgba(108, 159, 182, 1)","line-dasharray":[2,2],"line-width":1.1}},{"id":"aeroway-taxiway-casing","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["match",["get","class"],["taxiway"],true,false],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.5],["zoom"],11,2,17,12]}},{"id":"aeroway-runway-casing","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["match",["get","class"],["runway"],true,false],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.5],["zoom"],11,5,17,55]}},{"id":"aeroway-area","type":"fill","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["runway","taxiway"],true,false]],"paint":{"fill-color":"#565c67","fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1]}},{"id":"aeroway-taxiway","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["get","class"],["taxiway"],true,false],["match",["geometry-type"],["LineString","MultiLineString"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-opacity":["interpolate",["linear"],["zoom"],11,0,12,1],"line-width":["interpolate",["exponential",1.5],["zoom"],11,1,17,10]}},{"id":"aeroway-runway","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["get","class"],["runway"],true,false],["match",["geometry-type"],["LineString","MultiLineString"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-opacity":["interpolate",["linear"],["zoom"],11,0,12,1],"line-width":["interpolate",["exponential",1.5],["zoom"],11,4,17,50]}},{"id":"road_area_pier","type":"fill","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["==",["get","class"],"pier"]],"paint":{"fill-antialias":true,"fill-color":"#565c67"}},{"id":"road_pier","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","class"],["pier"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],15,1.5,17,6]}},{"id":"highway-area","type":"fill","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["pier"],false,true]],"paint":{"fill-antialias":false,"fill-color":"#565c67","fill-opacity":0.9,"fill-outline-color":"#3d4551"}},{"id":"highway-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"highway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"highway-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,6,20,22.5]}},{"id":"highway-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,2.25,20,25.5]}},{"id":"highway-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":["interpolate",["linear"],["zoom"],7,0,8,1],"line-width":["interpolate",["exponential",1.2],["zoom"],7,0,8,0.8999999999999999,9,2.25,20,33]}},{"id":"highway-trunk-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":["interpolate",["linear"],["zoom"],5,0,6,1],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0,6,0.8999999999999999,7,2.25,20,33]}},{"id":"highway-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":4,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":["interpolate",["linear"],["zoom"],4,0,5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],4,0,5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"highway-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"path"]],"paint":{"line-color":"#3d4551","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"highway-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"highway-link","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"highway-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"highway-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,0.75,20,19.5]}},{"id":"highway-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],8.5,0,9,0.75,20,27]}},{"id":"highway-trunk","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"highway-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"railway-transit","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],false,true]],"paint":{"line-color":"#192231","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,20,1.5]}},{"id":"railway-transit-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],false,true]],"paint":{"line-color":"#192231","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,9]}},{"id":"railway-service","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"rail"],["has","service"]],"paint":{"line-color":"#192231","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,20,1.5]}},{"id":"railway-service-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"rail"],["has","service"]],"paint":{"line-color":"#192231","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,9]}},{"id":"railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"rail"]],"paint":{"line-color":"#192231","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"railway-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"rail"]],"paint":{"line-color":"#192231","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,4.5,20,12]}},{"id":"bridge-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,28.5]}},{"id":"bridge-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,28.5]}},{"id":"bridge-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,7,0.8999999999999999,8,2.25,20,31.5]}},{"id":"bridge-trunk-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,39]}},{"id":"bridge-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#3d4551","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,39]}},{"id":"bridge-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#3d4551","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,9,20,36]}},{"id":"bridge-path-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],"paint":{"line-color":"#3d4551","line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,18]}},{"id":"bridge-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],"paint":{"line-color":"#3d4551","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"bridge-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"bridge-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"bridge-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#5d636e","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"bridge-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,0.75,20,19.5]}},{"id":"bridge-trunk-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"bridge-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#5d636e","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"bridge-railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],"paint":{"line-color":"#192231","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"bridge-railway-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],"paint":{"line-color":"#192231","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,4.5,20,12]}},{"id":"cablecar","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==",["get","subclass"],"cable_car"],"layout":{"line-cap":"round"},"paint":{"line-color":"#192231","line-width":["interpolate",["linear"],["zoom"],11,1.5,19,3.75]}},{"id":"cablecar-dash","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==",["get","subclass"],"cable_car"],"layout":{"line-cap":"round"},"paint":{"line-color":"#192231","line-dasharray":[2,3],"line-width":["interpolate",["linear"],["zoom"],11,4.5,19,8.25]}},{"id":"boundary_3","type":"line","source":"openmaptiles","source-layer":"boundary","minzoom":5,"filter":["all",[">=",["get","admin_level"],3],["<=",["get","admin_level"],6],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],"paint":{"line-color":"#565c67","line-dasharray":[1,1],"line-width":["interpolate",["linear",1],["zoom"],7,1,11,2]}},{"id":"boundary_2","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["==",["get","admin_level"],2],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#565c67","line-opacity":["interpolate",["linear"],["zoom"],0,0.4,4,1],"line-width":["interpolate",["linear"],["zoom"],3,1,5,1.2,12,3]}},{"id":"boundary_disputed","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["!=",["get","maritime"],1],["==",["get","disputed"],1]],"paint":{"line-color":"#565c67","line-dasharray":[1,2],"line-width":["interpolate",["linear"],["zoom"],3,1,5,1.2,12,3]}},{"id":"road_oneway","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==",["get","oneway"],1],["match",["get","class"],["minor","motorway","primary","secondary","service","tertiary","trunk"],true,false]],"layout":{"icon-image":"oneway","icon-padding":2,"icon-rotate":90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,0.5,19,1],"symbol-placement":"line","symbol-spacing":75},"paint":{"icon-opacity":0.5,"text-color":"#6e737d","text-halo-color":"#0d1626","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"road_oneway_opposite","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==",["get","oneway"],-1],["match",["get","class"],["minor","motorway","primary","secondary","service","tertiary","trunk"],true,false]],"layout":{"icon-image":"oneway","icon-padding":2,"icon-rotate":-90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,0.5,19,1],"symbol-placement":"line","symbol-spacing":75},"paint":{"icon-opacity":0.5,"text-color":"#6e737d","text-halo-color":"#0d1626","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"waterway_line_label","type":"symbol","source":"openmaptiles","source-layer":"waterway","minzoom":10,"filter":["match",["geometry-type"],["LineString","MultiLineString"],true,false],"layout":{"symbol-placement":"line","symbol-spacing":350,"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":14},"paint":{"text-color":"#759cd6","text-halo-color":"#0d1626","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"water_name_point_label","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["match",["geometry-type"],["MultiPoint","Point"],true,false],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":["interpolate",["linear"],["zoom"],0,10,8,14]},"paint":{"text-color":"#759cd6","text-halo-color":"#0d1626","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"water_name_line_label","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["match",["geometry-type"],["LineString","MultiLineString"],true,false],"layout":{"symbol-placement":"line","symbol-spacing":350,"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":14},"paint":{"text-color":"#759cd6","text-halo-color":"#0d1626","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"poi_r20","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":17,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],20]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_r7","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":16,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],7],["<",["get","rank"],20]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_r1","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":15,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],1],["<",["get","rank"],7]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_transit","type":"symbol","source":"openmaptiles","source-layer":"poi","filter":["match",["get","class"],["airport","bus","rail"],true,false],"layout":{"icon-image":["to-string",["get","class"]],"icon-size":0.7,"text-anchor":"left","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0.9,0],"text-size":12,"visibility":"none"},"paint":{"text-color":"#2e5a80","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"highway-name-path","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15.5,"filter":["==",["get","class"],"path"],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#6e737d","text-halo-color":"#0d1626","text-halo-width":1.6,"text-halo-blur":0.4}},{"id":"highway-name-minor","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15,"filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-width":1.6,"text-halo-color":"#0d1626"}},{"id":"highway-name-major","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":12.2,"filter":["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-width":1.6,"text-halo-color":"#0d1626"}},{"id":"highway-shield-non-us","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":8,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-highway","us-interstate","us-state"],false,true]],"layout":{"icon-image":["concat","road_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",11,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"highway-shield-us-interstate","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":7,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-interstate"],true,false]],"layout":{"icon-image":["concat",["get","network"],"_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",7,"line",8,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"road_shield_us","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":9,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-highway","us-state"],true,false]],"layout":{"icon-image":["concat",["get","network"],"_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",11,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"airport","type":"symbol","source":"openmaptiles","source-layer":"aerodrome_label","minzoom":10,"filter":["all",["has","iata"]],"layout":{"icon-image":"airport_11","icon-size":1,"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":9,"text-offset":[0,0.6],"text-optional":true,"text-padding":2,"text-size":12},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_other","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":8,"filter":["match",["get","class"],["city","continent","country","state","town","village"],false,true],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.1,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],8,9,12,10],"text-transform":"uppercase"},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_village","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":9,"filter":["==",["get","class"],"village"],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":false,"icon-size":0.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-size":["interpolate",["exponential",1.2],["zoom"],7,10,11,12]},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_town","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":6,"filter":["==",["get","class"],"town"],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":false,"icon-size":0.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-size":["interpolate",["exponential",1.2],["zoom"],7,12,11,14]},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_state","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":5,"maxzoom":8,"filter":["==",["get","class"],"state"],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],5,10,8,14],"text-transform":"uppercase"},"paint":{"text-color":"#6e737d","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_city","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":3,"filter":["all",["==",["get","class"],"city"],["!=",["get","capital"],2]],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":false,"icon-size":0.4,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-offset":[0,-0.1],"text-size":["interpolate",["exponential",1.2],["zoom"],4,11,7,13,11,18]},"paint":{"text-color":"#ffffff","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_city_capital","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":3,"filter":["all",["==",["get","class"],"city"],["==",["get","capital"],2]],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":false,"icon-size":0.5,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":8,"text-offset":[0,-0.2],"text-size":["interpolate",["exponential",1.2],["zoom"],4,12,7,14,11,20]},"paint":{"text-color":"#ffffff","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_country_3","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":2,"maxzoom":9,"filter":["all",["==",["get","class"],"country"],[">=",["get","rank"],3]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],3,9,7,17]},"paint":{"text-color":"#ffffff","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_country_2","type":"symbol","source":"openmaptiles","source-layer":"place","maxzoom":9,"filter":["all",["==",["get","class"],"country"],["==",["get","rank"],2]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],2,9,5,17]},"paint":{"text-color":"#ffffff","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}},{"id":"label_country_1","type":"symbol","source":"openmaptiles","source-layer":"place","maxzoom":9,"filter":["all",["==",["get","class"],"country"],["==",["get","rank"],1]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],1,9,4,17]},"paint":{"text-color":"#ffffff","text-halo-blur":0.4,"text-halo-color":"#0d1626","text-halo-width":1.2}}]'), Aa = "f0-dark", Ia = { "f0:generated": !0 }, Fa = {
1442
+ version: Na,
1443
+ sources: ja,
1444
+ sprite: Ra,
1445
+ glyphs: Pa,
1446
+ layers: Ca,
1447
+ name: Aa,
1448
+ metadata: Ia
1449
+ }, Ea = 8, $a = { openmaptiles: { type: "vector", url: "https://tiles.openfreemap.org/planet" } }, Oa = "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", Ba = "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", Wa = /* @__PURE__ */ JSON.parse('[{"id":"background","type":"background","paint":{"background-color":["interpolate",["linear"],["zoom"],11.5,"#faf4f0",13.5,"#fbf5ea"]}},{"id":"landcover-glacier","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","subclass"],"glacier"],"paint":{"fill-color":"#f1f7fe","fill-opacity":["interpolate",["linear"],["zoom"],0,0.9,10,0.3]}},{"id":"landuse-residential","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["match",["get","class"],["neighbourhood","residential"],true,false],"paint":{"fill-color":"#fbf5ea"}},{"id":"landuse-suburb","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"suburb"],"paint":{"fill-color":"#fbf5ea"}},{"id":"landuse-commercial","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["==",["get","class"],"commercial"]],"paint":{"fill-color":"#f9f1e3"}},{"id":"landuse-industrial","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["dam","garages","industrial"],true,false]],"paint":{"fill-color":"#f0f2f5"}},{"id":"landuse-cemetery","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"cemetery"],"paint":{"fill-color":"#b2cd88"}},{"id":"landuse-hospital","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"hospital"],"paint":{"fill-color":"#ffebea"}},{"id":"landuse-school","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"school"],"paint":{"fill-color":"#fbf7ef"}},{"id":"landuse-railway","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"railway"],"paint":{"fill-color":"#f0f2f5"}},{"id":"park","type":"fill","source":"openmaptiles","source-layer":"park","filter":["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],"paint":{"fill-color":"#b2cd88","fill-opacity":["interpolate",["exponential",1.8],["zoom"],9,0.5,12,0.2]}},{"id":"landcover-wood","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"wood"],"paint":{"fill-antialias":["step",["zoom"],false,9,true],"fill-color":"#97be5e","fill-opacity":0.1,"fill-outline-color":"#97be5e"}},{"id":"landcover-grass","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"grass"],"paint":{"fill-color":"#b2cd88","fill-opacity":1}},{"id":"landcover-grass-park","type":"fill","source":"openmaptiles","source-layer":"park","filter":["==",["get","class"],"public_park"],"paint":{"fill-color":"#b2cd88","fill-opacity":0.8}},{"id":"waterway_tunnel","type":"line","source":"openmaptiles","source-layer":"waterway","minzoom":14,"filter":["all",["match",["get","class"],["canal","river","stream"],true,false],["==",["get","brunnel"],"tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-dasharray":[2,4],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-other","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","river","stream"],false,true],["==",["get","intermittent"],0]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,2]}},{"id":"waterway-other-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","river","stream"],false,true],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,2]}},{"id":"waterway-stream-canal","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","stream"],true,false],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],0]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-stream-canal-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["match",["get","class"],["canal","stream"],true,false],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,0.5,20,6]}},{"id":"waterway-river","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["==",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"],["!=",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-width":["interpolate",["exponential",1.2],["zoom"],10,0.8,20,6]}},{"id":"waterway-river-intermittent","type":"line","source":"openmaptiles","source-layer":"waterway","filter":["all",["==",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],1]],"layout":{"line-cap":"round"},"paint":{"line-color":"#95c7df","line-dasharray":[3,2.5],"line-width":["interpolate",["exponential",1.2],["zoom"],10,0.8,20,6]}},{"id":"water","type":"fill","source":"openmaptiles","source-layer":"water","filter":["all",["!=",["get","intermittent"],1],["!=",["get","brunnel"],"tunnel"]],"paint":{"fill-color":"#95c7df"}},{"id":"water-intermittent","type":"fill","source":"openmaptiles","source-layer":"water","filter":["==",["get","intermittent"],1],"paint":{"fill-color":"#95c7df","fill-opacity":0.7}},{"id":"landcover-ice-shelf","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","subclass"],"ice_shelf"],"paint":{"fill-color":"#f1f7fe","fill-opacity":["interpolate",["linear"],["zoom"],0,0.9,10,0.3]}},{"id":"landcover-sand","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"sand"],"paint":{"fill-color":"#f2e5dc","fill-opacity":1}},{"id":"f0-landcover-farmland","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"farmland"],"paint":{"fill-color":"#f6ede6","fill-antialias":false}},{"id":"f0-landcover-rock","type":"fill","source":"openmaptiles","source-layer":"landcover","filter":["==",["get","class"],"rock"],"paint":{"fill-color":"#f9f2ee","fill-antialias":false}},{"id":"f0-landuse-farmland","type":"fill","source":"openmaptiles","source-layer":"landuse","filter":["==",["get","class"],"farmland"],"paint":{"fill-color":"#f6ede6","fill-antialias":false}},{"id":"building","type":"fill","source":"openmaptiles","source-layer":"building","paint":{"fill-antialias":true,"fill-color":"#eceef2","fill-outline-color":"#cdd3da"}},{"id":"building-top","type":"fill","source":"openmaptiles","source-layer":"building","paint":{"fill-color":"#eceef2","fill-opacity":["interpolate",["linear"],["zoom"],13,0,16,1],"fill-outline-color":"#cdd3da","fill-translate":["interpolate",["linear"],["zoom"],14,["literal",[0,0]],16,["literal",[-2,-2]]],"fill-antialias":true}},{"id":"tunnel-service-track-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],true,false]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.5,16,6,20,16.5]}},{"id":"tunnel-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"tunnel-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,6,20,22.5]}},{"id":"tunnel-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"tunnel-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,2.25,20,25.5]}},{"id":"tunnel-trunk-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"tunnel-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-dasharray":[0.5,0.25],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"tunnel-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"tunnel"],["==",["get","class"],"path"]],"paint":{"line-color":"#e9ddb9","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"tunnel-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"tunnel-service-track","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],true,false]],"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,3,20,11.25]}},{"id":"tunnel-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"tunnel-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"tunnel-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,15]}},{"id":"tunnel-trunk-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"tunnel-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"tunnel-railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"rail"]],"paint":{"line-color":"#f0f2f5","line-dasharray":[2,2],"line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"ferry","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["match",["get","class"],["ferry"],true,false],"layout":{"line-join":"round","visibility":"none"},"paint":{"line-color":"rgba(108, 159, 182, 1)","line-dasharray":[2,2],"line-width":1.1}},{"id":"aeroway-taxiway-casing","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["match",["get","class"],["taxiway"],true,false],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.5],["zoom"],11,2,17,12]}},{"id":"aeroway-runway-casing","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["match",["get","class"],["runway"],true,false],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.5],["zoom"],11,5,17,55]}},{"id":"aeroway-area","type":"fill","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["runway","taxiway"],true,false]],"paint":{"fill-color":"#ffffff","fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1]}},{"id":"aeroway-taxiway","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["get","class"],["taxiway"],true,false],["match",["geometry-type"],["LineString","MultiLineString"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":["interpolate",["linear"],["zoom"],11,0,12,1],"line-width":["interpolate",["exponential",1.5],["zoom"],11,1,17,10]}},{"id":"aeroway-runway","type":"line","source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["match",["get","class"],["runway"],true,false],["match",["geometry-type"],["LineString","MultiLineString"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":["interpolate",["linear"],["zoom"],11,0,12,1],"line-width":["interpolate",["exponential",1.5],["zoom"],11,4,17,50]}},{"id":"road_area_pier","type":"fill","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["==",["get","class"],"pier"]],"paint":{"fill-antialias":true,"fill-color":"#ffffff"}},{"id":"road_pier","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","class"],["pier"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],15,1.5,17,6]}},{"id":"highway-area","type":"fill","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["MultiPolygon","Polygon"],true,false],["match",["get","class"],["pier"],false,true]],"paint":{"fill-antialias":false,"fill-color":"#ffffff","fill-opacity":0.9,"fill-outline-color":"#e7eaee"}},{"id":"highway-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"highway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,22.5]}},{"id":"highway-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,6,20,22.5]}},{"id":"highway-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,2.25,20,25.5]}},{"id":"highway-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":["interpolate",["linear"],["zoom"],7,0,8,1],"line-width":["interpolate",["exponential",1.2],["zoom"],7,0,8,0.8999999999999999,9,2.25,20,33]}},{"id":"highway-trunk-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":["interpolate",["linear"],["zoom"],5,0,6,1],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0,6,0.8999999999999999,7,2.25,20,33]}},{"id":"highway-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":4,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":["interpolate",["linear"],["zoom"],4,0,5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],4,0,5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,33]}},{"id":"highway-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"path"]],"paint":{"line-color":"#e9ddb9","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"highway-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"highway-link","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"highway-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"highway-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,0.75,20,19.5]}},{"id":"highway-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["primary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],8.5,0,9,0.75,20,27]}},{"id":"highway-trunk","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["match",["get","class"],["trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"highway-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"railway-transit","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],false,true]],"paint":{"line-color":"#f0f2f5","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,20,1.5]}},{"id":"railway-transit-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],false,true]],"paint":{"line-color":"#f0f2f5","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,9]}},{"id":"railway-service","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"rail"],["has","service"]],"paint":{"line-color":"#f0f2f5","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,20,1.5]}},{"id":"railway-service-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","class"],"rail"],["has","service"]],"paint":{"line-color":"#f0f2f5","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,9]}},{"id":"railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"rail"]],"paint":{"line-color":"#f0f2f5","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"railway-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],false,true],["==",["get","class"],"rail"]],"paint":{"line-color":"#f0f2f5","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,4.5,20,12]}},{"id":"bridge-motorway-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,28.5]}},{"id":"bridge-link-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1.5,13,4.5,14,6,20,28.5]}},{"id":"bridge-secondary-tertiary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,7,0.8999999999999999,8,2.25,20,31.5]}},{"id":"bridge-trunk-primary-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,39]}},{"id":"bridge-motorway-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#e7eaee","line-width":["interpolate",["exponential",1.2],["zoom"],5,0.6000000000000001,6,0.8999999999999999,7,2.25,20,39]}},{"id":"bridge-minor-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"butt","line-join":"round"},"paint":{"line-color":"#e7eaee","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,0.75,13,1.5,14,9,20,36]}},{"id":"bridge-path-casing","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],"paint":{"line-color":"#e7eaee","line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,18]}},{"id":"bridge-path","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],"paint":{"line-color":"#e9ddb9","line-dasharray":[1.5,0.75],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1.2,20,4]}},{"id":"bridge-motorway-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"bridge-link","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],["==",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,2.25,14,3.75,20,17.25]}},{"id":"bridge-minor","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#bac1cd","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,3.75,20,17.25]}},{"id":"bridge-secondary-tertiary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,0.75,20,19.5]}},{"id":"bridge-trunk-primary","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],true,false],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"bridge-motorway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],"layout":{"line-join":"round"},"paint":{"line-color":"#bac1cd","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,0.75,20,27]}},{"id":"bridge-railway","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],"paint":{"line-color":"#f0f2f5","line-width":["interpolate",["exponential",1.4],["zoom"],14,0.6000000000000001,15,1.125,20,3]}},{"id":"bridge-railway-hatching","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],"paint":{"line-color":"#f0f2f5","line-dasharray":[0.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,4.5,20,12]}},{"id":"cablecar","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==",["get","subclass"],"cable_car"],"layout":{"line-cap":"round"},"paint":{"line-color":"#d8eeba","line-width":["interpolate",["linear"],["zoom"],11,1.5,19,3.75]}},{"id":"cablecar-dash","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==",["get","subclass"],"cable_car"],"layout":{"line-cap":"round"},"paint":{"line-color":"#d8eeba","line-dasharray":[2,3],"line-width":["interpolate",["linear"],["zoom"],11,4.5,19,8.25]}},{"id":"boundary_3","type":"line","source":"openmaptiles","source-layer":"boundary","minzoom":5,"filter":["all",[">=",["get","admin_level"],3],["<=",["get","admin_level"],6],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],"paint":{"line-color":"#cdd3da","line-dasharray":[1,1],"line-width":["interpolate",["linear",1],["zoom"],7,1,11,2]}},{"id":"boundary_2","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["==",["get","admin_level"],2],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#cdd3da","line-opacity":["interpolate",["linear"],["zoom"],0,0.4,4,1],"line-width":["interpolate",["linear"],["zoom"],3,1,5,1.2,12,3]}},{"id":"boundary_disputed","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["!=",["get","maritime"],1],["==",["get","disputed"],1]],"paint":{"line-color":"#cdd3da","line-dasharray":[1,2],"line-width":["interpolate",["linear"],["zoom"],3,1,5,1.2,12,3]}},{"id":"road_oneway","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==",["get","oneway"],1],["match",["get","class"],["minor","motorway","primary","secondary","service","tertiary","trunk"],true,false]],"layout":{"icon-image":"oneway","icon-padding":2,"icon-rotate":90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,0.5,19,1],"symbol-placement":"line","symbol-spacing":75},"paint":{"icon-opacity":0.5,"text-color":"#636e83","text-halo-color":"#ffffff","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"road_oneway_opposite","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==",["get","oneway"],-1],["match",["get","class"],["minor","motorway","primary","secondary","service","tertiary","trunk"],true,false]],"layout":{"icon-image":"oneway","icon-padding":2,"icon-rotate":-90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,0.5,19,1],"symbol-placement":"line","symbol-spacing":75},"paint":{"icon-opacity":0.5,"text-color":"#636e83","text-halo-color":"#ffffff","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"waterway_line_label","type":"symbol","source":"openmaptiles","source-layer":"waterway","minzoom":10,"filter":["match",["geometry-type"],["LineString","MultiLineString"],true,false],"layout":{"symbol-placement":"line","symbol-spacing":350,"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":14},"paint":{"text-color":"#2e63b2","text-halo-color":"#ffffff","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"water_name_point_label","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["match",["geometry-type"],["MultiPoint","Point"],true,false],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":["interpolate",["linear"],["zoom"],0,10,8,14]},"paint":{"text-color":"#2e63b2","text-halo-color":"#ffffff","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"water_name_line_label","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["match",["geometry-type"],["LineString","MultiLineString"],true,false],"layout":{"symbol-placement":"line","symbol-spacing":350,"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":5,"text-size":14},"paint":{"text-color":"#2e63b2","text-halo-color":"#ffffff","text-halo-width":1.2,"text-halo-blur":0.4}},{"id":"poi_r20","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":17,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],20]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_r7","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":16,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],7],["<",["get","rank"],20]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_r1","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":15,"filter":["all",["match",["geometry-type"],["MultiPoint","Point"],true,false],[">=",["get","rank"],1],["<",["get","rank"],7]],"layout":{"icon-image":["match",["get","subclass"],["florist","furniture"],["get","subclass"],["get","class"]],"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,0.6],"text-size":12,"visibility":"none"},"paint":{"text-color":"#666","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"poi_transit","type":"symbol","source":"openmaptiles","source-layer":"poi","filter":["match",["get","class"],["airport","bus","rail"],true,false],"layout":{"icon-image":["to-string",["get","class"]],"icon-size":0.7,"text-anchor":"left","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0.9,0],"text-size":12,"visibility":"none"},"paint":{"text-color":"#2e5a80","text-halo-blur":0.5,"text-halo-color":"#ffffff","text-halo-width":1}},{"id":"highway-name-path","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15.5,"filter":["==",["get","class"],"path"],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#636e83","text-halo-color":"#ffffff","text-halo-width":1.6,"text-halo-blur":0.4}},{"id":"highway-name-minor","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15,"filter":["all",["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","class"],["minor","service","track"],true,false]],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-width":1.6,"text-halo-color":"#ffffff"}},{"id":"highway-name-major","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":12.2,"filter":["match",["get","class"],["primary","secondary","tertiary","trunk"],true,false],"layout":{"symbol-placement":"line","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"]," ",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],13,12,14,13]},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-width":1.6,"text-halo-color":"#ffffff"}},{"id":"highway-shield-non-us","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":8,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-highway","us-interstate","us-state"],false,true]],"layout":{"icon-image":["concat","road_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",11,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"highway-shield-us-interstate","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":7,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-interstate"],true,false]],"layout":{"icon-image":["concat",["get","network"],"_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",7,"line",8,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"road_shield_us","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":9,"filter":["all",["<=",["get","ref_length"],6],["match",["geometry-type"],["LineString","MultiLineString"],true,false],["match",["get","network"],["us-highway","us-state"],true,false]],"layout":{"icon-image":["concat",["get","network"],"_",["get","ref_length"]],"icon-rotation-alignment":"viewport","icon-size":1,"symbol-placement":["step",["zoom"],"point",11,"line"],"symbol-spacing":200,"text-field":["to-string",["get","ref"]],"text-font":["Noto Sans Regular"],"text-rotation-alignment":"viewport","text-size":10,"visibility":"none"}},{"id":"airport","type":"symbol","source":"openmaptiles","source-layer":"aerodrome_label","minzoom":10,"filter":["all",["has","iata"]],"layout":{"icon-image":"airport_11","icon-size":1,"text-anchor":"top","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":9,"text-offset":[0,0.6],"text-optional":true,"text-padding":2,"text-size":12},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_other","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":8,"filter":["match",["get","class"],["city","continent","country","state","town","village"],false,true],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.1,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],8,9,12,10],"text-transform":"uppercase"},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_village","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":9,"filter":["==",["get","class"],"village"],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":false,"icon-size":0.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-size":["interpolate",["exponential",1.2],["zoom"],7,10,11,12]},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_town","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":6,"filter":["==",["get","class"],"town"],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":false,"icon-size":0.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-size":["interpolate",["exponential",1.2],["zoom"],7,12,11,14]},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_state","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":5,"maxzoom":8,"filter":["==",["get","class"],"state"],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":0.2,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],5,10,8,14],"text-transform":"uppercase"},"paint":{"text-color":"#636e83","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_city","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":3,"filter":["all",["==",["get","class"],"city"],["!=",["get","capital"],2]],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":false,"icon-size":0.4,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-offset":[0,-0.1],"text-size":["interpolate",["exponential",1.2],["zoom"],4,11,7,13,11,18]},"paint":{"text-color":"#0d1626","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_city_capital","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":3,"filter":["all",["==",["get","class"],"city"],["==",["get","capital"],2]],"layout":{"icon-allow-overlap":true,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":false,"icon-size":0.5,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":8,"text-offset":[0,-0.2],"text-size":["interpolate",["exponential",1.2],["zoom"],4,12,7,14,11,20]},"paint":{"text-color":"#0d1626","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_country_3","type":"symbol","source":"openmaptiles","source-layer":"place","minzoom":2,"maxzoom":9,"filter":["all",["==",["get","class"],"country"],[">=",["get","rank"],3]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],3,9,7,17]},"paint":{"text-color":"#0d1626","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_country_2","type":"symbol","source":"openmaptiles","source-layer":"place","maxzoom":9,"filter":["all",["==",["get","class"],"country"],["==",["get","rank"],2]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],2,9,5,17]},"paint":{"text-color":"#0d1626","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}},{"id":"label_country_1","type":"symbol","source":"openmaptiles","source-layer":"place","maxzoom":9,"filter":["all",["==",["get","class"],"country"],["==",["get","rank"],1]],"layout":{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],"\\n",["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":6.25,"text-size":["interpolate",["linear"],["zoom"],1,9,4,17]},"paint":{"text-color":"#0d1626","text-halo-blur":0.4,"text-halo-color":"#ffffff","text-halo-width":1.2}}]'), Da = "f0-light", Ha = { "f0:generated": !0 }, Xa = {
1450
+ version: Ea,
1451
+ sources: $a,
1452
+ sprite: Oa,
1453
+ glyphs: Ba,
1454
+ layers: Wa,
1455
+ name: Da,
1456
+ metadata: Ha
1457
+ }, Ya = [
1458
+ {
1459
+ featureType: "landscape",
1460
+ elementType: "geometry.fill",
1461
+ stylers: [
1462
+ {
1463
+ color: "#0d1626"
1464
+ }
1465
+ ]
1466
+ },
1467
+ {
1468
+ featureType: "landscape.natural.landcover",
1469
+ elementType: "geometry.fill",
1470
+ stylers: [
1471
+ {
1472
+ color: "#26372b"
1473
+ }
1474
+ ]
1475
+ },
1476
+ {
1477
+ featureType: "landscape.natural.terrain",
1478
+ elementType: "geometry.fill",
1479
+ stylers: [
1480
+ {
1481
+ color: "#26372b"
1482
+ }
1483
+ ]
1484
+ },
1485
+ {
1486
+ featureType: "landscape.man_made",
1487
+ elementType: "geometry.fill",
1488
+ stylers: [
1489
+ {
1490
+ color: "#252d3c"
1491
+ }
1492
+ ]
1493
+ },
1494
+ {
1495
+ featureType: "landscape.man_made",
1496
+ elementType: "geometry.stroke",
1497
+ stylers: [
1498
+ {
1499
+ color: "#252d3c"
1500
+ }
1501
+ ]
1502
+ },
1503
+ {
1504
+ featureType: "water",
1505
+ elementType: "geometry.fill",
1506
+ stylers: [
1507
+ {
1508
+ color: "#26426d"
1509
+ }
1510
+ ]
1511
+ },
1512
+ {
1513
+ featureType: "water",
1514
+ elementType: "labels.text.fill",
1515
+ stylers: [
1516
+ {
1517
+ color: "#5596f6"
1518
+ }
1519
+ ]
1520
+ },
1521
+ {
1522
+ featureType: "water",
1523
+ elementType: "labels.text.stroke",
1524
+ stylers: [
1525
+ {
1526
+ color: "#0d1626"
1527
+ }
1528
+ ]
1529
+ },
1530
+ {
1531
+ featureType: "poi.park",
1532
+ elementType: "geometry.fill",
1533
+ stylers: [
1534
+ {
1535
+ color: "#364c2f"
1536
+ }
1537
+ ]
1538
+ },
1539
+ {
1540
+ featureType: "poi.medical",
1541
+ elementType: "geometry.fill",
1542
+ stylers: [
1543
+ {
1544
+ color: "#252d3c"
1545
+ }
1546
+ ]
1547
+ },
1548
+ {
1549
+ featureType: "poi.school",
1550
+ elementType: "geometry.fill",
1551
+ stylers: [
1552
+ {
1553
+ color: "#252d3c"
1554
+ }
1555
+ ]
1556
+ },
1557
+ {
1558
+ featureType: "poi.business",
1559
+ elementType: "geometry.fill",
1560
+ stylers: [
1561
+ {
1562
+ color: "#252d3c"
1563
+ }
1564
+ ]
1565
+ },
1566
+ {
1567
+ featureType: "road.highway",
1568
+ elementType: "geometry.fill",
1569
+ stylers: [
1570
+ {
1571
+ color: "#6e737d"
1572
+ }
1573
+ ]
1574
+ },
1575
+ {
1576
+ featureType: "road.highway",
1577
+ elementType: "geometry.stroke",
1578
+ stylers: [
1579
+ {
1580
+ color: "#252d3c"
1581
+ }
1582
+ ]
1583
+ },
1584
+ {
1585
+ featureType: "road.arterial",
1586
+ elementType: "geometry.fill",
1587
+ stylers: [
1588
+ {
1589
+ color: "#565c67"
1590
+ }
1591
+ ]
1592
+ },
1593
+ {
1594
+ featureType: "road.arterial",
1595
+ elementType: "geometry.stroke",
1596
+ stylers: [
1597
+ {
1598
+ color: "#252d3c"
1599
+ }
1600
+ ]
1601
+ },
1602
+ {
1603
+ featureType: "road.local",
1604
+ elementType: "geometry.fill",
1605
+ stylers: [
1606
+ {
1607
+ color: "#3d4551"
1608
+ }
1609
+ ]
1610
+ },
1611
+ {
1612
+ featureType: "road.local",
1613
+ elementType: "geometry.stroke",
1614
+ stylers: [
1615
+ {
1616
+ color: "#252d3c"
1617
+ }
1618
+ ]
1619
+ },
1620
+ {
1621
+ featureType: "administrative",
1622
+ elementType: "geometry.stroke",
1623
+ stylers: [
1624
+ {
1625
+ color: "#565c67"
1626
+ }
1627
+ ]
1628
+ },
1629
+ {
1630
+ featureType: "administrative.locality",
1631
+ elementType: "labels.text.fill",
1632
+ stylers: [
1633
+ {
1634
+ color: "#ffffff"
1635
+ }
1636
+ ]
1637
+ },
1638
+ {
1639
+ featureType: "administrative.country",
1640
+ elementType: "labels.text.fill",
1641
+ stylers: [
1642
+ {
1643
+ color: "#ffffff"
1644
+ }
1645
+ ]
1646
+ },
1647
+ {
1648
+ featureType: "administrative.province",
1649
+ elementType: "labels.text.fill",
1650
+ stylers: [
1651
+ {
1652
+ color: "#6e737d"
1653
+ }
1654
+ ]
1655
+ },
1656
+ {
1657
+ featureType: "administrative.neighborhood",
1658
+ elementType: "labels.text.fill",
1659
+ stylers: [
1660
+ {
1661
+ color: "#6e737d"
1662
+ }
1663
+ ]
1664
+ },
1665
+ {
1666
+ featureType: "all",
1667
+ elementType: "labels.text.stroke",
1668
+ stylers: [
1669
+ {
1670
+ color: "#0d1626"
1671
+ }
1672
+ ]
1673
+ },
1674
+ {
1675
+ featureType: "poi",
1676
+ elementType: "labels",
1677
+ stylers: [
1678
+ {
1679
+ visibility: "off"
1680
+ }
1681
+ ]
1682
+ },
1683
+ {
1684
+ featureType: "transit",
1685
+ elementType: "all",
1686
+ stylers: [
1687
+ {
1688
+ visibility: "off"
1689
+ }
1690
+ ]
1691
+ },
1692
+ {
1693
+ featureType: "road",
1694
+ elementType: "labels.icon",
1695
+ stylers: [
1696
+ {
1697
+ visibility: "off"
1698
+ }
1699
+ ]
1700
+ }
1701
+ ], Ua = [
1702
+ {
1703
+ featureType: "landscape",
1704
+ elementType: "geometry.fill",
1705
+ stylers: [
1706
+ {
1707
+ color: "#fbf5ea"
1708
+ }
1709
+ ]
1710
+ },
1711
+ {
1712
+ featureType: "landscape.natural.landcover",
1713
+ elementType: "geometry.fill",
1714
+ stylers: [
1715
+ {
1716
+ color: "#d8e6b2"
1717
+ }
1718
+ ]
1719
+ },
1720
+ {
1721
+ featureType: "landscape.natural.terrain",
1722
+ elementType: "geometry.fill",
1723
+ stylers: [
1724
+ {
1725
+ color: "#d8e6b2"
1726
+ }
1727
+ ]
1728
+ },
1729
+ {
1730
+ featureType: "landscape.man_made",
1731
+ elementType: "geometry.fill",
1732
+ stylers: [
1733
+ {
1734
+ color: "#f3f4f7"
1735
+ }
1736
+ ]
1737
+ },
1738
+ {
1739
+ featureType: "landscape.man_made",
1740
+ elementType: "geometry.stroke",
1741
+ stylers: [
1742
+ {
1743
+ color: "#cdd3da"
1744
+ }
1745
+ ]
1746
+ },
1747
+ {
1748
+ featureType: "water",
1749
+ elementType: "geometry.fill",
1750
+ stylers: [
1751
+ {
1752
+ color: "#b0caef"
1753
+ }
1754
+ ]
1755
+ },
1756
+ {
1757
+ featureType: "water",
1758
+ elementType: "labels.text.fill",
1759
+ stylers: [
1760
+ {
1761
+ color: "#3a65a6"
1762
+ }
1763
+ ]
1764
+ },
1765
+ {
1766
+ featureType: "water",
1767
+ elementType: "labels.text.stroke",
1768
+ stylers: [
1769
+ {
1770
+ color: "#ffffff"
1771
+ }
1772
+ ]
1773
+ },
1774
+ {
1775
+ featureType: "poi.park",
1776
+ elementType: "geometry.fill",
1777
+ stylers: [
1778
+ {
1779
+ color: "#c7d6a1"
1780
+ }
1781
+ ]
1782
+ },
1783
+ {
1784
+ featureType: "poi.medical",
1785
+ elementType: "geometry.fill",
1786
+ stylers: [
1787
+ {
1788
+ color: "#f3f4f7"
1789
+ }
1790
+ ]
1791
+ },
1792
+ {
1793
+ featureType: "poi.school",
1794
+ elementType: "geometry.fill",
1795
+ stylers: [
1796
+ {
1797
+ color: "#f3f4f7"
1798
+ }
1799
+ ]
1800
+ },
1801
+ {
1802
+ featureType: "poi.business",
1803
+ elementType: "geometry.fill",
1804
+ stylers: [
1805
+ {
1806
+ color: "#f3f4f7"
1807
+ }
1808
+ ]
1809
+ },
1810
+ {
1811
+ featureType: "road.highway",
1812
+ elementType: "geometry.fill",
1813
+ stylers: [
1814
+ {
1815
+ color: "#bac1cd"
1816
+ }
1817
+ ]
1818
+ },
1819
+ {
1820
+ featureType: "road.highway",
1821
+ elementType: "geometry.stroke",
1822
+ stylers: [
1823
+ {
1824
+ color: "#cdd3da"
1825
+ }
1826
+ ]
1827
+ },
1828
+ {
1829
+ featureType: "road.arterial",
1830
+ elementType: "geometry.fill",
1831
+ stylers: [
1832
+ {
1833
+ color: "#cdd3da"
1834
+ }
1835
+ ]
1836
+ },
1837
+ {
1838
+ featureType: "road.arterial",
1839
+ elementType: "geometry.stroke",
1840
+ stylers: [
1841
+ {
1842
+ color: "#cdd3da"
1843
+ }
1844
+ ]
1845
+ },
1846
+ {
1847
+ featureType: "road.local",
1848
+ elementType: "geometry.fill",
1849
+ stylers: [
1850
+ {
1851
+ color: "#ffffff"
1852
+ }
1853
+ ]
1854
+ },
1855
+ {
1856
+ featureType: "road.local",
1857
+ elementType: "geometry.stroke",
1858
+ stylers: [
1859
+ {
1860
+ color: "#cdd3da"
1861
+ }
1862
+ ]
1863
+ },
1864
+ {
1865
+ featureType: "administrative",
1866
+ elementType: "geometry.stroke",
1867
+ stylers: [
1868
+ {
1869
+ color: "#cdd3da"
1870
+ }
1871
+ ]
1872
+ },
1873
+ {
1874
+ featureType: "administrative.locality",
1875
+ elementType: "labels.text.fill",
1876
+ stylers: [
1877
+ {
1878
+ color: "#0d1626"
1879
+ }
1880
+ ]
1881
+ },
1882
+ {
1883
+ featureType: "administrative.country",
1884
+ elementType: "labels.text.fill",
1885
+ stylers: [
1886
+ {
1887
+ color: "#0d1626"
1888
+ }
1889
+ ]
1890
+ },
1891
+ {
1892
+ featureType: "administrative.province",
1893
+ elementType: "labels.text.fill",
1894
+ stylers: [
1895
+ {
1896
+ color: "#636e83"
1897
+ }
1898
+ ]
1899
+ },
1900
+ {
1901
+ featureType: "administrative.neighborhood",
1902
+ elementType: "labels.text.fill",
1903
+ stylers: [
1904
+ {
1905
+ color: "#636e83"
1906
+ }
1907
+ ]
1908
+ },
1909
+ {
1910
+ featureType: "all",
1911
+ elementType: "labels.text.stroke",
1912
+ stylers: [
1913
+ {
1914
+ color: "#ffffff"
1915
+ }
1916
+ ]
1917
+ },
1918
+ {
1919
+ featureType: "poi",
1920
+ elementType: "labels",
1921
+ stylers: [
1922
+ {
1923
+ visibility: "off"
1924
+ }
1925
+ ]
1926
+ },
1927
+ {
1928
+ featureType: "transit",
1929
+ elementType: "all",
1930
+ stylers: [
1931
+ {
1932
+ visibility: "off"
1933
+ }
1934
+ ]
1935
+ },
1936
+ {
1937
+ featureType: "road",
1938
+ elementType: "labels.icon",
1939
+ stylers: [
1940
+ {
1941
+ visibility: "off"
1942
+ }
1943
+ ]
1944
+ }
1945
+ ], Ga = {
1946
+ provider: "maplibre",
1947
+ light: Xa,
1948
+ dark: Fa
1949
+ }, Za = {
1950
+ provider: "google",
1951
+ light: Ua,
1952
+ dark: Ya
1953
+ }, Bt = (e) => e === "google" ? Za : Ga, Wt = (e, t, a) => {
1954
+ const l = e.on(t, () => {
1955
+ l(), a();
1956
+ });
1957
+ return l;
1958
+ }, Dt = {
1959
+ center: [2.154, 41.39],
1960
+ zoom: 11
1961
+ }, Ka = (e, t, a) => [
1962
+ ...e.map((l) => l.coordinates),
1963
+ ...t.flatMap((l) => l.coordinates),
1964
+ ...a.flatMap((l) => [l.from, l.to])
1965
+ ], qa = (e) => e.top === 0 && e.right === 0 && e.bottom === 0 && e.left === 0, Ht = ({
1966
+ adapter: e,
1967
+ points: t,
1968
+ animate: a,
1969
+ routes: l = [],
1970
+ arcs: n = [],
1971
+ gutter: i = 64,
1972
+ inset: s,
1973
+ size: p
1974
+ }) => {
1975
+ const g = Ka(t, l, n);
1976
+ if (g.length === 0)
1977
+ return;
1978
+ if (g.length > 1 && qa(s)) {
1979
+ e.fitCoordinates(g, { gutter: i, maxZoom: 15, animate: a });
1980
+ return;
1981
+ }
1982
+ const d = g.length === 1 ? { center: he(e, g[0], s, 14), zoom: 14 } : Zt({
1983
+ adapter: e,
1984
+ coordinates: g,
1985
+ inset: s,
1986
+ size: p,
1987
+ gutter: i,
1988
+ maxZoom: 15
1989
+ });
1990
+ d && (a ? e.easeTo(d, { animate: a }) : e.jumpTo(d, { animate: a }));
1991
+ }, Va = (e) => `${e.top},${e.right},${e.bottom},${e.left}`, gn = re(function({
1992
+ markers: t = [],
1993
+ routes: a = [],
1994
+ arcs: l = [],
1995
+ onRouteClick: n,
1996
+ onArcClick: i,
1997
+ selectedMarkerId: s,
1998
+ defaultSelectedMarkerId: p = null,
1999
+ onMarkerSelect: g,
2000
+ highlightedId: d = null,
2001
+ viewportInset: r,
2002
+ centerOnMarkerClick: m = !1,
2003
+ fitToMarkers: f,
2004
+ initialViewport: x,
2005
+ mapStyle: y,
2006
+ interactive: w = !0,
2007
+ gestureHandling: b = "cooperative",
2008
+ minZoom: _,
2009
+ maxZoom: j = 18,
2010
+ showControls: u = !0,
2011
+ controlLabels: v,
2012
+ showCurrentLocation: T = !1,
2013
+ fullScreen: A = !1,
2014
+ onSidebarToggle: c,
2015
+ sidebarExpanded: k = !1,
2016
+ sidebarToggleAddon: L,
2017
+ sidebarHeaderStart: P,
2018
+ sidebar: J,
2019
+ detail: Z,
2020
+ detailOpen: K = !1,
2021
+ clearSelectionOnBackgroundClick: Q = !0,
2022
+ projection: I = "mercator",
2023
+ provider: oe,
2024
+ loading: H = !1,
2025
+ ariaLabel: Be,
2026
+ dataTestId: xe,
2027
+ className: we
2028
+ }, We) {
2029
+ const Y = se(), V = Un(oe), ie = Gn(), ce = M(null), R = M(null), [U, _e] = F(
2030
+ null
2031
+ ), [G, ze] = F(!1), [hn, De] = F(!1), ot = An(), W = Ut(), { containerRef: it, isDark: bn } = La(), xn = B(
2032
+ (h) => {
2033
+ ce.current = h, it(h);
2034
+ },
2035
+ [it]
2036
+ ), He = bn, Xe = !y || y.provider === V, rt = Xe ? y ?? Bt(V) : Bt(V), pe = He ? rt.dark : rt.light, st = M(!1);
2037
+ N(() => {
2038
+ Xe || st.current || (st.current = !0, console.warn(
2039
+ `F0Map: ignoring a "${y?.provider}" mapStyle on the "${V}" engine - the shapes are not interchangeable. Pass a "${V}" style, or none for its default look.`
2040
+ ));
2041
+ }, [Xe, y?.provider, V]);
2042
+ const [wn, zn] = F(
2043
+ p
2044
+ ), ue = s !== void 0 ? s : wn, Le = B(
2045
+ (h) => {
2046
+ s === void 0 && zn(h), g?.(h);
2047
+ },
2048
+ [s, g]
2049
+ ), ee = k && !!c, Me = K && !!Z, ct = ee ? C.inset + C.listWidth + C.gap : C.inset, vn = ee ? C.inset : C.inset + C.toggleSize + C.gap, Te = Me ? ct + C.detailWidth : ee ? C.inset + C.listWidth : null, Ye = qn(r, {
2050
+ left: Te === null ? 0 : Te + C.gap
2051
+ }), te = M(t);
2052
+ te.current = t;
2053
+ const Ue = M(a);
2054
+ Ue.current = a;
2055
+ const Ge = M(l);
2056
+ Ge.current = l;
2057
+ const Ze = M(I);
2058
+ Ze.current = I;
2059
+ const me = M(Le);
2060
+ me.current = Le;
2061
+ const pt = M(ue);
2062
+ pt.current = ue;
2063
+ const Ke = M(Ye);
2064
+ Ke.current = Ye;
2065
+ const ut = M(Q);
2066
+ ut.current = Q;
2067
+ const ne = M(null), mt = f ?? x === void 0, X = B(() => {
2068
+ const h = {
2069
+ width: ce.current?.clientWidth ?? 0,
2070
+ height: ce.current?.clientHeight ?? 0
2071
+ };
2072
+ return { inset: Lt(Ke.current, h), size: h };
2073
+ }, []), de = B(
2074
+ (h, z) => {
2075
+ ne.current = { kind: "fit" }, Ht({
2076
+ adapter: h,
2077
+ points: te.current,
2078
+ animate: z,
2079
+ routes: Ue.current,
2080
+ arcs: Ge.current,
2081
+ ...X()
2082
+ });
2083
+ },
2084
+ [X]
2085
+ ), dt = M(de);
2086
+ dt.current = de;
2087
+ const ye = B(
2088
+ (h, z) => {
2089
+ const S = Math.max(h.getZoom(), 15);
2090
+ ne.current = { kind: "flight", zoom: S };
2091
+ const { inset: E } = X();
2092
+ h.easeTo(
2093
+ {
2094
+ center: he(h, z.coordinates, E, S),
2095
+ zoom: S
2096
+ },
2097
+ { animate: !W }
2098
+ );
2099
+ },
2100
+ [X, W]
2101
+ ), kn = B(
2102
+ (h) => {
2103
+ const z = R.current, S = te.current.find((E) => E.id === h);
2104
+ if (ne.current = null, m && z && S) {
2105
+ const { inset: E } = X();
2106
+ z.easeTo(
2107
+ { center: he(z, S.coordinates, E) },
2108
+ { animate: !W }
2109
+ );
2110
+ }
2111
+ me.current(h);
2112
+ },
2113
+ [m, X, W]
2114
+ ), yt = M(!1);
2115
+ N(() => {
2116
+ yt.current || t.length <= Ot || (yt.current = !0, console.warn(
2117
+ `F0Map: ${t.length} markers exceeds the recommended maximum of ${Ot}. Markers are DOM elements - pan/zoom will degrade. Aggregate or filter the data, or wait for a GL clustering path.`
2118
+ ));
2119
+ }, [t.length]);
2120
+ const { coords: ft, request: gt } = _a(T), Sn = B(() => {
2121
+ ne.current = null, R.current?.zoomIn();
2122
+ }, []), _n = B(() => {
2123
+ ne.current = null, R.current?.zoomOut();
2124
+ }, []), Ln = B(() => {
2125
+ R.current && de(R.current, !W);
2126
+ }, [de, W]), Mn = B(() => {
2127
+ gt((h) => {
2128
+ const z = R.current;
2129
+ if (!z)
2130
+ return;
2131
+ ne.current = null;
2132
+ const S = Math.max(z.getZoom(), 13), { inset: E } = X();
2133
+ z.flyTo(
2134
+ { center: he(z, h, E, S), zoom: S },
2135
+ { animate: !W }
2136
+ );
2137
+ });
2138
+ }, [gt, X, W]), Tn = B(
2139
+ (h) => {
2140
+ const z = R.current;
2141
+ if (!z)
2142
+ return;
2143
+ ne.current = null;
2144
+ const S = Zt({
2145
+ adapter: z,
2146
+ coordinates: h,
2147
+ ...X(),
2148
+ gutter: 64,
2149
+ maxZoom: 16
2150
+ });
2151
+ S && (W ? z.jumpTo(S, { animate: !1 }) : z.flyTo(S));
2152
+ },
2153
+ [X, W]
2154
+ ), Nn = B(
2155
+ (h) => {
2156
+ const z = R.current, S = te.current.find((E) => E.id === h);
2157
+ z && S && ye(z, S), Le(h);
2158
+ },
2159
+ [ye, Le]
2160
+ );
2161
+ N(() => {
2162
+ if (!Me || ue === null)
2163
+ return;
2164
+ const h = (S) => {
2165
+ S.key !== "Escape" || S.defaultPrevented || (S.preventDefault(), me.current(null));
2166
+ }, z = ce.current?.ownerDocument ?? document;
2167
+ return z.addEventListener("keydown", h), () => z.removeEventListener("keydown", h);
2168
+ }, [Me, ue]), In(
2169
+ We,
2170
+ () => ({
2171
+ getNativeMap: () => R.current?.native() ?? null,
2172
+ focusMarker: (h) => {
2173
+ const z = R.current, S = te.current.find((E) => E.id === h);
2174
+ !z || !S || (ye(z, S), me.current(h));
2175
+ },
2176
+ fitToMarkers: () => {
2177
+ R.current && de(R.current, !W);
2178
+ },
2179
+ clearSelection: () => me.current(null)
2180
+ }),
2181
+ [de, ye, W]
2182
+ );
2183
+ const Ne = M(pe);
2184
+ Ne.current = pe;
2185
+ const ht = M(ie);
2186
+ ht.current = ie;
2187
+ const qe = M(null), jn = M(x ?? Dt);
2188
+ N(() => {
2189
+ if (H)
2190
+ return;
2191
+ const h = ce.current;
2192
+ if (!h)
2193
+ return;
2194
+ qe.current = Ne.current;
2195
+ const z = jn.current;
2196
+ let S = null, E = !1;
2197
+ const ge = [];
2198
+ return Ta(V, ht.current).then(($) => {
2199
+ if (!E) {
2200
+ try {
2201
+ S = $({
2202
+ container: h,
2203
+ style: Ne.current,
2204
+ center: z.center,
2205
+ zoom: z.zoom ?? Dt.zoom,
2206
+ minZoom: _,
2207
+ maxZoom: j,
2208
+ interactive: w,
2209
+ cooperativeGestures: b === "cooperative"
2210
+ });
2211
+ } catch {
2212
+ ze(!0);
2213
+ return;
2214
+ }
2215
+ ve(S);
2216
+ }
2217
+ }).catch(($) => {
2218
+ console.error("[F0Map] could not load the map engine", $), E || ze(!0);
2219
+ }), () => {
2220
+ E = !0, ge.forEach(($) => $()), S && (R.current = null, _e(null), S.destroy());
2221
+ };
2222
+ function ve($) {
2223
+ R.current = $, _e($), ze(!1);
2224
+ let ke = !1;
2225
+ ge.push(
2226
+ Wt($, "ready", () => {
2227
+ ke = !0, De(!1), $.resize(), mt && Ht({
2228
+ adapter: $,
2229
+ points: te.current,
2230
+ animate: !1,
2231
+ routes: Ue.current,
2232
+ arcs: Ge.current,
2233
+ ...X()
2234
+ }), $.setGlobeProjection(Ze.current === "globe");
2235
+ }),
2236
+ $.on("error", () => {
2237
+ ke || De(!0);
2238
+ }),
2239
+ // Marker clicks are DOM events on the marker element and never reach
2240
+ // the canvas.
2241
+ $.on("click", () => {
2242
+ ut.current && me.current(null);
2243
+ })
2244
+ );
2245
+ }
2246
+ }, [
2247
+ H,
2248
+ w,
2249
+ b,
2250
+ _,
2251
+ j,
2252
+ mt,
2253
+ V
2254
+ ]), N(() => {
2255
+ const h = R.current;
2256
+ !h || qe.current === pe || (qe.current = pe, h.applyStyle(pe), Wt(
2257
+ h,
2258
+ "styled",
2259
+ () => h.setGlobeProjection(Ze.current === "globe")
2260
+ ));
2261
+ }, [pe]), N(() => {
2262
+ R.current?.setGlobeProjection(I === "globe");
2263
+ }, [I]);
2264
+ const bt = M(ye);
2265
+ bt.current = ye, N(() => {
2266
+ if (!d)
2267
+ return;
2268
+ const h = R.current, z = te.current.find((S) => S.id === d);
2269
+ h && z && bt.current(h, z);
2270
+ }, [d]);
2271
+ const Rn = Va(Ye), xt = M(null);
2272
+ N(() => {
2273
+ const h = xt.current;
2274
+ xt.current = Ke.current;
2275
+ const z = R.current;
2276
+ if (!h || !z)
2277
+ return;
2278
+ const { inset: S, size: E } = X(), ge = ne.current, ve = !W, $ = te.current.find(
2279
+ (Re) => Re.id === pt.current
2280
+ );
2281
+ if ($) {
2282
+ const Re = ge?.kind === "flight" ? ge.zoom : void 0;
2283
+ z.easeTo(
2284
+ {
2285
+ center: he(z, $.coordinates, S, Re),
2286
+ zoom: Re
2287
+ },
2288
+ { animate: ve }
2289
+ );
2290
+ return;
2291
+ }
2292
+ if (ge?.kind === "fit") {
2293
+ dt.current(z, ve);
2294
+ return;
2295
+ }
2296
+ const ke = nt(Lt(h, E)), kt = nt(S), Ve = z.project(z.getCenter()), St = Ve && z.unproject({
2297
+ x: Ve.x + ke.x - kt.x,
2298
+ y: Ve.y + ke.y - kt.y
2299
+ });
2300
+ St && z.easeTo({ center: St }, { animate: ve });
2301
+ }, [Rn, X]);
2302
+ const wt = a.length > 0 || l.length > 0, fe = Te === null ? 0 : Te + C.gap - C.inset, je = M({ from: fe, to: fe });
2303
+ je.current.to !== fe && (je.current = { from: je.current.to, to: fe });
2304
+ const zt = fe > je.current.from ? ae.enter : ae.exit, vt = ee ? ae.enter : ae.exit;
2305
+ return /* @__PURE__ */ o(le, { dataTestId: xe, children: H ? /* @__PURE__ */ o(Sa, { className: we }) : /* @__PURE__ */ O(
2306
+ "div",
2307
+ {
2308
+ ref: xn,
2309
+ role: "region",
2310
+ "aria-label": Be ?? Y.map.region,
2311
+ className: D(
2312
+ "f0-map relative h-full w-full overflow-hidden",
2313
+ // Re-assert the detected theme on the container so every DOM
2314
+ // overlay (controls, markers, list, banners) swaps its tokens along
2315
+ // with the tiles and the two can never disagree. Harmless when a
2316
+ // `.dark` ancestor already set it.
2317
+ He && "dark",
2318
+ !A && "rounded-2xl border border-solid border-f1-border-secondary",
2319
+ we
2320
+ ),
2321
+ children: [
2322
+ /* @__PURE__ */ o(
2323
+ "a",
2324
+ {
2325
+ href: `#${ot}`,
2326
+ className: "sr-only rounded-md focus:not-sr-only focus:absolute focus:left-2 focus:top-2 focus:z-30 focus:bg-f1-background focus:px-3 focus:py-2 focus:text-sm focus:text-f1-foreground focus:shadow-md focus:outline-none focus:ring-1 focus:ring-f1-special-ring",
2327
+ children: Y.map.skipToList
2328
+ }
2329
+ ),
2330
+ /* @__PURE__ */ o("div", { role: "status", "aria-live": "polite", className: "sr-only", children: `${t.length} ${t.length === 1 ? Y.map.location : Y.map.locations}` }),
2331
+ !G && U && ft ? /* @__PURE__ */ O(Fe, { children: [
2332
+ /* @__PURE__ */ o(
2333
+ fn,
2334
+ {
2335
+ adapter: U,
2336
+ coords: ft
2337
+ }
2338
+ ),
2339
+ /* @__PURE__ */ o("span", { className: "sr-only", children: Y.map.currentLocation })
2340
+ ] }) : null,
2341
+ !G && U && wt ? /* @__PURE__ */ o(
2342
+ ka,
2343
+ {
2344
+ adapter: U,
2345
+ routes: a,
2346
+ arcs: l,
2347
+ isDark: He,
2348
+ onRouteClick: n,
2349
+ onArcClick: i
2350
+ }
2351
+ ) : null,
2352
+ !G && U && t.length > 0 ? /* @__PURE__ */ o(
2353
+ ba,
2354
+ {
2355
+ adapter: U,
2356
+ points: t,
2357
+ selectedId: ue,
2358
+ highlightedId: d,
2359
+ onSelect: kn,
2360
+ onClusterExpand: Tn
2361
+ }
2362
+ ) : null,
2363
+ !G && U && Z ? /* @__PURE__ */ o(
2364
+ Ft,
2365
+ {
2366
+ open: Me,
2367
+ offsetX: ct,
2368
+ offsetY: vn,
2369
+ width: C.detailWidth,
2370
+ entrance: "grow",
2371
+ ariaLabel: Y.map.detailPanel,
2372
+ children: Z
2373
+ }
2374
+ ) : null,
2375
+ !G && U && c ? /* @__PURE__ */ o(
2376
+ "div",
2377
+ {
2378
+ className: D(
2379
+ "absolute left-2 top-2 z-10",
2380
+ ee && "opacity-0"
2381
+ ),
2382
+ style: {
2383
+ transitionProperty: W ? "none" : "opacity",
2384
+ transitionDuration: vt.duration,
2385
+ transitionTimingFunction: vt.easing
2386
+ },
2387
+ children: /* @__PURE__ */ O(
2388
+ "div",
2389
+ {
2390
+ className: "flex items-start gap-2",
2391
+ "aria-hidden": ee || void 0,
2392
+ ref: (h) => {
2393
+ ee ? h?.setAttribute("inert", "") : h?.removeAttribute("inert");
2394
+ },
2395
+ children: [
2396
+ /* @__PURE__ */ o(
2397
+ at,
2398
+ {
2399
+ expanded: !1,
2400
+ onToggle: c
2401
+ }
2402
+ ),
2403
+ L ? /* @__PURE__ */ o(lt, { children: L }) : null
2404
+ ]
2405
+ }
2406
+ )
2407
+ }
2408
+ ) : null,
2409
+ !G && U && c ? /* @__PURE__ */ o(
2410
+ Ft,
2411
+ {
2412
+ open: ee,
2413
+ offsetX: C.inset,
2414
+ width: C.listWidth,
2415
+ headerStart: P,
2416
+ headerEnd: /* @__PURE__ */ o(
2417
+ at,
2418
+ {
2419
+ expanded: !0,
2420
+ onToggle: c,
2421
+ bare: !0,
2422
+ dataTestId: "map-panel-toggle-open"
2423
+ }
2424
+ ),
2425
+ children: J
2426
+ }
2427
+ ) : null,
2428
+ !G && U && u && w ? /* @__PURE__ */ o(
2429
+ "div",
2430
+ {
2431
+ className: "absolute bottom-2 left-2 z-10",
2432
+ style: {
2433
+ transform: `translateX(${fe}px)`,
2434
+ transitionProperty: W ? "none" : "transform",
2435
+ transitionDuration: zt.duration,
2436
+ transitionTimingFunction: zt.easing
2437
+ },
2438
+ children: /* @__PURE__ */ o(
2439
+ Vt,
2440
+ {
2441
+ onZoomIn: Sn,
2442
+ onZoomOut: _n,
2443
+ onFit: t.length > 0 || wt ? Ln : void 0,
2444
+ onLocate: Mn,
2445
+ labels: v
2446
+ }
2447
+ )
2448
+ }
2449
+ ) : null,
2450
+ hn && !G ? /* @__PURE__ */ O("div", { className: "absolute inset-x-0 top-0 z-30 flex items-center justify-between gap-3 border-b border-solid border-f1-border-secondary bg-f1-background px-4 py-2 text-sm text-f1-foreground", children: [
2451
+ /* @__PURE__ */ o("span", { children: Y.map.loadError }),
2452
+ /* @__PURE__ */ o(
2453
+ "button",
2454
+ {
2455
+ type: "button",
2456
+ onClick: () => {
2457
+ const h = R.current;
2458
+ h && (De(!1), h.applyStyle(Ne.current));
2459
+ },
2460
+ className: "font-medium underline",
2461
+ children: Y.map.retry
2462
+ }
2463
+ )
2464
+ ] }) : null,
2465
+ /* @__PURE__ */ o(
2466
+ Jt,
2467
+ {
2468
+ id: ot,
2469
+ label: Y.map.listLabel,
2470
+ points: t,
2471
+ selectedId: ue,
2472
+ onSelect: Nn,
2473
+ visible: G
2474
+ }
2475
+ )
2476
+ ]
2477
+ }
2478
+ ) });
2479
+ });
2480
+ gn.displayName = "F0Map";
2481
+ const sl = gn;
2482
+ export {
2483
+ rl as F,
2484
+ Ot as R,
2485
+ il as S,
2486
+ Sa as a,
2487
+ sl as b,
2488
+ ol as c,
2489
+ dn as d,
2490
+ Vt as e,
2491
+ ll as f,
2492
+ Ft as g,
2493
+ at as h,
2494
+ Jt as i,
2495
+ Ga as j,
2496
+ Za as k,
2497
+ Bt as l,
2498
+ xa as u
2499
+ };