@expofp/floorplan 3.10.1 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/{Button-DdPvRBTh.js → Button-DmPeJZCN.js} +6 -6
- package/dist/browser/{CookieConsent-C39dYjaQ.js → CookieConsent-6-9q2wKV.js} +7 -7
- package/dist/browser/{Debug-B5r6LCAX.js → Debug-3bI5vwTv.js} +7 -7
- package/dist/browser/{Demo-Dbrjn3oi.js → Demo-qTtvWifi.js} +10 -10
- package/dist/browser/{Free-DUcGDkLZ.js → Free-CD_OvzMT.js} +10 -10
- package/dist/browser/{Gallery-CvO5_8hs.js → Gallery-D16-00mk.js} +10 -10
- package/dist/browser/{GpsLoader-Cybs-6Z0.js → GpsLoader-CMPI_EJr.js} +19 -19
- package/dist/browser/{KioskStore-Df_lwtgJ.js → KioskStore-KhqffTn9.js} +30 -30
- package/dist/browser/{MaplibreAdapter-BgOzaHlx.js → MaplibreAdapter-CxVjU49j.js} +749 -614
- package/dist/browser/{ModalContainer-DXVCm1fb.js → ModalContainer-RI1x2sgo.js} +11 -11
- package/dist/browser/{PermissionNotice-B0OJFFky.js → PermissionNotice-D8kO5oWK.js} +7 -7
- package/dist/browser/{SetKioskMode-BdOX40be.js → SetKioskMode-CVACOg2n.js} +11 -11
- package/dist/browser/ShowKiosk-9Cegzzmp.js +28 -0
- package/dist/browser/{TouchHand-RDWCILm_.js → TouchHand-Ep4vi1-O.js} +4 -4
- package/dist/browser/{ViewerMenuPanel-BlCzm_mm.js → ViewerMenuPanel-DjMPzBGY.js} +10 -10
- package/dist/browser/{add-debug-secret-listener-lYBneebf.js → add-debug-secret-listener-sVpxJOA4.js} +1 -1
- package/dist/browser/{boolean-editor-C_bdHxC2.js → boolean-editor-DbKheXB7.js} +45 -45
- package/dist/browser/{bootIntercom-Bf4CaruD.js → bootIntercom-BwUrDpiz.js} +2 -2
- package/dist/browser/{booth-by-xy-WnHwiopn.js → booth-by-xy-DRUiuOmc.js} +260 -245
- package/dist/browser/{browser-BGtGwkTn.js → browser-DfAAgCEL.js} +2 -2
- package/dist/browser/bundle.json +61 -61
- package/dist/browser/{classnames-DRy7JPyJ.js → classnames-DDqQQkCN.js} +2 -2
- package/dist/browser/{client-BE52OM0U.js → client-CZSclqZM.js} +10 -10
- package/dist/browser/{components-BfKSs6sY.js → components-Bjyqu35r.js} +1675 -1675
- package/dist/browser/{debug-overlay-mKmIzOYk.js → debug-overlay-CGt1pj-M.js} +355 -355
- package/dist/browser/{debug-ui-DLxMK2XU.js → debug-ui-D-D_vlp1.js} +6 -6
- package/dist/browser/{dist-eojWwYB5.js → dist-CL_uyaoa.js} +3 -3
- package/dist/browser/{dist-QsCYWHCu.js → dist-ONDtUhT2.js} +5 -5
- package/dist/browser/{dist-DSRSA5oz.js → dist-V33BDzLb.js} +64 -63
- package/dist/browser/{efp-debug-init-C5HgsgC2.js → efp-debug-init-DxEQuRHk.js} +2 -2
- package/dist/browser/{enum-editor-BqpFqXiM.js → enum-editor-DG92oZeF.js} +478 -478
- package/dist/browser/{es5-7bslpbjj.js → es5-BSWs3YWr.js} +2 -2
- package/dist/browser/{event-not-found-Bc1SpnKw.js → event-not-found-Z4wb-LNc.js} +1 -1
- package/dist/browser/{exports-CYJRF2aW.js → exports-BLV4-zfL.js} +449 -443
- package/dist/browser/{favicon-CRiidRYo.js → favicon-BQW1E3bU.js} +1 -1
- package/dist/browser/{fetch-retry.umd-Btwt1fg_.js → fetch-retry.umd-DC6Ql4P0.js} +2 -2
- package/dist/browser/{flex-ITkzmA3C.js → flex-B_4SOC_u.js} +7 -7
- package/dist/browser/{floorplan.loader-DJVlfwah.js → floorplan.loader-DoJ2VQu0.js} +1284 -1282
- package/dist/browser/{floorplan.ready-7KwBZy9I.js → floorplan.ready-B_BwJrtz.js} +282 -282
- package/dist/browser/{fuse-CcYz7YAl.js → fuse-z0Cnj-cM.js} +4 -4
- package/dist/browser/{i18n-CeVxHTr1.js → i18n-xEZCBKNV.js} +19 -20
- package/dist/browser/index.js +12 -12
- package/dist/browser/{index.module-CV2WVv52.js → index.module-DLdW0sj8.js} +4 -4
- package/dist/browser/{is-webview-BOqof5Uq.js → is-webview-DyfiukCX.js} +1 -1
- package/dist/browser/{jsx-runtime-BiSrB4Oo.js → jsx-runtime-DAN07kgB.js} +2 -2
- package/dist/browser/{lib-Dg9vXDVM.js → lib-BeWX12Ej.js} +4 -4
- package/dist/browser/{loadImage-VYhbBgH6.js → loadImage-CArumIxk.js} +4 -4
- package/dist/browser/{logDeviceInfo-B8Mi-9H5.js → logDeviceInfo-DWxMGiZR.js} +9 -9
- package/dist/browser/{main-D6ItQIYj.js → main-Bc1iznBR.js} +1 -1
- package/dist/browser/{mobx-Deoo_wpx.js → mobx-Dzavco9D.js} +4 -4
- package/dist/browser/{particles.min-BNwqgit-.js → particles.min-CHtISs00.js} +2 -2
- package/dist/browser/{prop-types-CuEYshV7.js → prop-types-BQxsUoxX.js} +2 -2
- package/dist/browser/{react-BMPhuMz9.js → react-Cu706Ph1.js} +2 -2
- package/dist/browser/{react-dom-DSdkXj0b.js → react-dom-DT1n8Muz.js} +3 -3
- package/dist/browser/{reset-all-settings-C2yTiJ1V.js → reset-all-settings-D2RthoP4.js} +7 -7
- package/dist/browser/{rolldown-runtime-I1EwXf_t.js → rolldown-runtime-DHef_8fH.js} +1 -1
- package/dist/browser/{settings-Dr8bs0FB.js → settings--Y0n4PSR.js} +2 -2
- package/dist/browser/{settings-item-DjfyQTQB.js → settings-item-Dv1G9gTh.js} +15 -15
- package/dist/browser/{store-CVdrQCza.js → store-C1iT-e-6.js} +5123 -5042
- package/dist/browser/{string-editor-3sN4j-ci.js → string-editor-BfNPvbRL.js} +22 -22
- package/dist/browser/{theme-BSTLt6eV.js → theme-byX3VrfS.js} +927 -930
- package/dist/browser/{ui-CiFfwrN8.js → ui-DJZFvwjb.js} +8 -8
- package/dist/browser/{useRenderTarget-DF7LdnYr.js → useRenderTarget-OQs5aKcF.js} +4 -4
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.d.ts +28 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge-eligibility.js +1 -0
- package/dist/esm/components/Map/drawing/config/config-booth-badge.js +1 -1
- package/dist/esm/components/Maplibre/MaplibreAdapter.js +1 -1
- package/dist/esm/components/Maplibre/MaplibreWrapper.js +1 -1
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets-bright.js +16 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.d.ts +3 -0
- package/dist/esm/components/Maplibre/styles/mapbox-streets.js +16 -0
- package/dist/esm/components/Maplibre/useCameraReactions.d.ts +4 -3
- package/dist/esm/components/Maplibre/useCameraReactions.js +1 -1
- package/dist/esm/components/Maplibre/utils/geo-config.d.ts +5 -8
- package/dist/esm/components/Maplibre/utils/geo-config.js +1 -1
- package/dist/esm/components/Maplibre/utils/map-helpers.js +1 -1
- package/dist/esm/components/Maplibre/utils/solver.d.ts +6 -7
- package/dist/esm/components/Maplibre/utils/solver.js +1 -1
- package/dist/esm/data/Flags.d.ts +4 -0
- package/dist/esm/data/svg.d.ts +2 -1
- package/dist/esm/data/svg.js +1 -1
- package/dist/esm/renderer/RendererService.d.ts +2 -1
- package/dist/esm/renderer/RendererService.js +1 -1
- package/dist/esm/store/LayerStore.d.ts +1 -0
- package/dist/esm/store/LayerStore.js +1 -1
- package/dist/esm/store/UIState.js +1 -1
- package/dist/esm/utils/gps.js +1 -1
- package/dist/esm/utils/planBearing.d.ts +14 -0
- package/dist/esm/utils/planBearing.js +1 -0
- package/dist/esm/utils/scene-bounds.d.ts +57 -0
- package/dist/esm/utils/scene-bounds.js +1 -0
- package/package.json +8 -8
- package/dist/browser/ShowKiosk-cvnSTpd2.js +0 -28
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.0" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "43912113-9328-4069-8890-5091c8745c34", e._sentryDebugIdIdentifier = "sentry-dbid-43912113-9328-4069-8890-5091c8745c34");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { a as t, r as n } from "./reset-all-settings-
|
|
11
|
-
import { t as r } from "./jsx-runtime-
|
|
12
|
-
import "./settings
|
|
13
|
-
import { t as i } from "./browser-
|
|
14
|
-
import { t as a } from "./add-debug-secret-listener-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DHef_8fH.js";
|
|
10
|
+
import { a as t, r as n } from "./reset-all-settings-D2RthoP4.js";
|
|
11
|
+
import { t as r } from "./jsx-runtime-DAN07kgB.js";
|
|
12
|
+
import "./settings--Y0n4PSR.js";
|
|
13
|
+
import { t as i } from "./browser-DfAAgCEL.js";
|
|
14
|
+
import { t as a } from "./add-debug-secret-listener-sVpxJOA4.js";
|
|
15
15
|
//#region ../debug/src/lib/ui/render-debug-ui.tsx
|
|
16
16
|
var o = /* @__PURE__ */ e(i(), 1), s = r(), c = !1;
|
|
17
17
|
function l() {
|
|
@@ -26,7 +26,7 @@ function l() {
|
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
let i = async (t) => {
|
|
29
|
-
let { DebugUi: n } = await import("./debug-ui-
|
|
29
|
+
let { DebugUi: n } = await import("./debug-ui-D-D_vlp1.js"), { createRoot: i } = await import("./client-CZSclqZM.js").then((t) => /* @__PURE__ */ e(t.default, 1)), a = document.createElement("div");
|
|
30
30
|
document.body.appendChild(a), i(a).render(/* @__PURE__ */ (0, s.jsx)(n, {
|
|
31
31
|
useDebugButtonState: r.useState,
|
|
32
32
|
open: t
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
(function() {
|
|
2
2
|
try {
|
|
3
3
|
var e = typeof window < "u" ? window : typeof global < "u" ? global : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {};
|
|
4
|
-
e.SENTRY_RELEASE = { id: "3.
|
|
4
|
+
e.SENTRY_RELEASE = { id: "3.11.0" };
|
|
5
5
|
var t = new e.Error().stack;
|
|
6
6
|
t && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[t] = "d4febe97-784c-4cf8-93f1-f2e3b29f8347", e._sentryDebugIdIdentifier = "sentry-dbid-d4febe97-784c-4cf8-93f1-f2e3b29f8347");
|
|
7
7
|
} catch {}
|
|
8
8
|
})();
|
|
9
|
-
import { r as e } from "./rolldown-runtime-
|
|
10
|
-
import { t } from "./react-
|
|
11
|
-
import { s as n } from "./store-
|
|
9
|
+
import { r as e } from "./rolldown-runtime-DHef_8fH.js";
|
|
10
|
+
import { t } from "./react-Cu706Ph1.js";
|
|
11
|
+
import { s as n } from "./store-C1iT-e-6.js";
|
|
12
12
|
//#region src/utils/getRenderTargetFromRoot.ts
|
|
13
13
|
var r = /* @__PURE__ */ e(t(), 1);
|
|
14
14
|
function i(e) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure eligibility predicate for booth number badges.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `configBoothsBadges` so the decision can be unit-tested in
|
|
5
|
+
* isolation (no canvas/mobx/renderer side effects). A booth gets a badge when
|
|
6
|
+
* badges aren't globally hidden, it has exhibitors, and it has no visible
|
|
7
|
+
* number — either because it's `noLabels` or because a logo-in-booth covers
|
|
8
|
+
* the label.
|
|
9
|
+
*
|
|
10
|
+
* This logic regressed once after the MapLibre refactor (logo-in-booth booths
|
|
11
|
+
* not authored as `noLabels` lost their badges), so it is covered by a table.
|
|
12
|
+
*/
|
|
13
|
+
export interface BoothBadgeEligibility {
|
|
14
|
+
/** Data flag: hide the number on booths that have an exhibitor. */
|
|
15
|
+
hideExhibitorBoothNumber?: boolean;
|
|
16
|
+
/** `flags.hideBoothBadges`: opt-out for all booth badges. */
|
|
17
|
+
hideBoothBadges?: boolean;
|
|
18
|
+
/** UI state: logos-in-booth are currently hidden. */
|
|
19
|
+
hideLogoInBooth: boolean;
|
|
20
|
+
/** Booth is authored without labels. */
|
|
21
|
+
noLabels: boolean;
|
|
22
|
+
/** Booth has at least one exhibitor. */
|
|
23
|
+
hasExhibitors: boolean;
|
|
24
|
+
/** Booth has at least one exhibitor with a visible logo-in-booth. */
|
|
25
|
+
hasLogoInBooth: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function isBoothBadgeEligible(b: BoothBadgeEligibility): boolean;
|
|
28
|
+
//# sourceMappingURL=config-booth-badge-eligibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function isBoothBadgeEligible(o){return o.hideExhibitorBoothNumber||o.hideBoothBadges||!o.hasExhibitors?!1:o.noLabels||!o.hideLogoInBooth&&o.hasLogoInBooth}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{Box as Y,pointRotate as W,Polygon as j,Rect as q}from"@expofp/geometry";import J from"color";import{reaction as $}from"mobx";import{SEPARATOR as S}from"../../../../constants";import H from"../../../../data";import{getTrianglesFromFpPaths as K}from"../../../../data/svg";import{createShapeDef as Q,createTextDef as V,createTextDefLines as tt,rectToRenderer as w}from"../../../../renderer";import{boothStore as et,uiState as nt}from"../../../../store";import{RegularBooth as ot}from"../../../../store/BoothStore";import F from"../../../../tools/settings";import{getContrastTextColor as it}from"../../../../utils/getContrastTextColor";import{getFont as st}from"./canvases";import{isBoothBadgeEligible as rt}from"./config-booth-badge-eligibility";import{getBadgeFontWeight as ct,getFontUrlByWeight as at}from"./config-booth-labels";const lt=.5,dt=.3,L=15,ft=24,O=30,gt=12,ut=12,U=.8,k=document.createElement("canvas").getContext("2d");function ht(e){return e.length<=L?e:e.slice(0,L-1)+"\u2026"}function z(e){if(!e.paths?.length)return[];const t=e.layer?.name||"",o=[];for(const n of e.paths)for(const i of K(n.index,t))o.push(i);return o}function mt(e){const t=z(e);return t.length?Y.fromPoints(t.flat().map(([o,n])=>({x:o,y:n}))):null}function Bt(e){const t=[],o=[];for(const n of e){const i=t.length;t.push({x:n[0][0],y:n[0][1]}),t.push({x:n[1][0],y:n[1][1]}),t.push({x:n[2][0],y:n[2][1]}),o.push([i,i+1,i+2])}return new j(t,o)}function y(e,t,o){return o.containsPoint({x:e,y:t})}function xt(e,t,o,n,i,c,r){if(!e.length||!y(o,n,t))return r;let d=0,m=r;const B=10;for(let x=0;x<B;x++){const u=(d+m)/2,a=i*u,g=c*u;y(o+a,n,t)&&y(o,n+g,t)&&y(o+a,n+g,t)?d=u:m=u}return d}function pt(e){return mt(e)??e.rect}function At(e,t,o,n,i){const c=pt(e);if(t.length){const m=new Set;let B=null,x=1/0;for(const u of t)for(const a of u){const g=`${a[0]},${a[1]}`;if(m.has(g))continue;m.add(g);const h=a[0]+n,A=a[1]+n;if(y(h,A,o)){const E=h-c.min.x+(A-c.min.y);E<x&&(x=E,B={x:h,y:A})}}if(B)return B}const r=e.rect.min.x+n,d=e.rect.min.y+n;return i?W({x:r,y:d},i,e.rect.center):{x:r,y:d}}function R(e){return e&&e!=="none"?e:void 0}function Et(e){const t=R(e.borderColor)||R(F.boothBorderColor)||F.colors.booths.default;return e.paths?.length>1&&R(e.paths[e.paths.length-1].color)||t}export function createBoothBadge(e,t){const o=ht(t.title||t.name),n=Et(t),i=it(J(n).hex()),c=window.devicePixelRatio||1,r=ct(),d=st(O,r);k.font=d;const m=k.measureText(o).width,B=Math.ceil(m+gt*2),x=O+ut*2,u=(t.borderWidth||et.borderWidth)/2,a=B*U,g=x*U,h=t.rotate??0,A=t.rect.size.width,E=t.rect.size.height,N=Math.min(A>0?A*lt/a:1/0,E>0?E*dt/g:1/0),T=z(t),P=Bt(T),{x:I,y:_}=At(t,T,P,u,h),b=xt(T,P,I,_,a,g,N),D=(s,p)=>{const X=s/2,v=p/2,Z=W({x:I+X,y:_+v},h,{x:I,y:_});return new q(Z,{x:s,y:p},h)},C=s=>{const p=Math.min(s,b);return D(a*p,g*p)},G=at(r,e.fontUrls),f=Q(D(1,1),n);f.hidden=!0,f.dim=t.skipDim?!1:void 0;const l=V(tt([[o],[]],i,0,[G,G]),D(1,1),[0,0],{horizontal:"center",vertical:"center"});l.hidden=!0,l.dim=t.skipDim?!1:void 0;const M=()=>!!(t.layer&&!t.layer.visible);return $(()=>t.skipDim,s=>{f.dim=s?!1:void 0,l.dim=s?!1:void 0,e.update(f,l)}),$(()=>t.layer?.visible??!0,s=>{f.hidden=!s,l.hidden=!s,e.update(f,l)}),e.onPtScale(`badge-bg-${t.id}`,s=>(f.shape=w(C(s)),f.hidden=M(),f)),e.onPtScale(`badge-text-${t.id}`,s=>{const p=Math.min(s,b);return l.lines[0].fontSize=ft/c*p,l.bounds=w(C(s)),l.hidden=M(),l}),{bg:f,text:l}}export function configBoothsBadges(e,t,o){const n=[],i=[];for(const c of o)if(c instanceof ot&&rt({hideExhibitorBoothNumber:H.hideExhibitorBoothNumber,hideBoothBadges:H.flags?.hideBoothBadges,hideLogoInBooth:nt.hideLogoInBooth,noLabels:c.noLabels,hasExhibitors:c.exhibitors.length>0,hasLogoInBooth:c.exhibitors.some(r=>r.logoInBooth&&r.logo)})){const{bg:r,text:d}=createBoothBadge(e,c);n.push(r),i.push(d)}return n.length?{name:`${t}${S}badges`,children:[{name:`${t}${S}badgeBgs`,children:n},{name:`${t}${S}badgeTexts`,children:i}]}:null}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as J}from"react/jsx-runtime";import{degToRad as
|
|
1
|
+
import{jsx as J}from"react/jsx-runtime";import{degToRad as _}from"@expofp/geometry";import W from"color";import{runInAction as H}from"mobx";import{observer as K}from"mobx-react-lite";import{useCallback as k,useEffect as I,useMemo as u,useRef as y,useState as F}from"react";import Z from"../../data";import{getLayerSvg as Q,svgArea as L,svgAreaExplicit as Y}from"../../data/svg";import{createSceneDef as q}from"../../renderer";import a,{uiState as R}from"../../store";import D from"../../tools/settings";import{resolveVenueFitRect as ee}from"../../utils/scene-bounds";import re from"../Map/drawing/config/config-all";import{loadLayersImages as oe}from"../Map/drawing/config/loadBoothsImages";import{useBuildRoute as te}from"../Map/traffic/useBuildRoute";import{useManageTraffic as ne}from"../Map/traffic/useManageTraffic";import ae from"./MaplibreWrapper";import{useCameraReactions as ie}from"./useCameraReactions";import{useDimming as se}from"./useDimming";import{useLayerVisibilitySync as le}from"./useLayerVisibilitySync";import{useRendererEvents as ce}from"./useRendererEvents";import{useWayfindingAndMarkers as ue}from"./useWayfindingAndMarkers";import{deriveGeoConfig as fe,getLocalRectGeoBounds as me,getVisibleRectFitPadding as pe,INITIAL_FIT_ZOOM_ADJUSTMENT as de}from"./utils/geo-config";import{applyMapOptions as $,DEFAULT_MAP_OPTIONS as ge,getTileSource as ye,MAP_2D_OPTIONS as Re}from"./utils/map-helpers";import{calculateTransformMatrix as be}from"./utils/solver";const w="routes-api.expofp.com";function j(){H(()=>{a.layerStore.layers.forEach(t=>{t.configured=!1,t.children=[],t.loaded=!1}),a.layerStore.layersLoaded=!1})}function z(t,l){const o=[];for(const f of t.rollRegistry.invoke(l))Array.isArray(f)?o.push(...f):o.push(f);o.length&&t.update(...o)}function Se(t){const l=Math.abs(t[0]??0),o=Math.hypot(t[0]??0,t[1]??0);return l<=0||o<=0?1:l/o}const Ae=K(function({viewMode:l}){const[o,f]=F(null),[T,O]=F(null),e=a.rendererService,h=y(null),c=y(null),b=y(null),x=y(null),r=u(()=>fe(),[]),E=u(()=>{const{rect:n}=ee({layerViewbox:a.layerStore.viewboxRectangle,explicitArea:Y?L:null,layerRectangle:a.layerStore.rectangle,sceneDef:o,svgArea:L});return n},[o]),m=u(()=>r?{center:r.center,bearing:r.bearing,zoom:r.zoom,bounds:me(E,r.gpsConfig),fitPadding:pe(0),zoomAdjustment:de}:null,[r,E]),p=u(()=>r?be(r.gpsConfig,Q()?.getAttribute("units")):null,[r]),d=u(()=>({...l==="map2d"?Re:ge}),[l]),P=y(d),B=u(()=>ye(),[]),{mapDimAnimatorRef:S,venueDimAnimatorRef:A,handleMapDimLayerReady:N}=se(c,e);I(()=>{if(!r)return;let n=!1;j();const i=re(e).then(s=>{if(n)return;const M=W(D.backgroundColor==="none"?"#ebebeb":D.backgroundColor).string(),C=q(s,L,M);f(C)}).catch(s=>{n||console.warn("Maplibre scene configuration failed.",s)}),v=S.current,g=A.current;return()=>{n=!0,j();const s=h.current;i.finally(()=>e.disposeIfCurrent(s)),b.current?.(),b.current=null,h.current=null,c.current=null,x.current=null,O(null),v?.stop(),g?.stop(),R.sceneDefReady=!1}},[r,S,e,A]);const U=k((n,i,v,g)=>{h.current=n,c.current=i,x.current=g,O(n),e.attach(n,v,g,p?Se(p):1),$(i,P.current),S.current?.setTarget(R.dimmed,{immediate:!0}),A.current?.setTarget(R.dimmed,{immediate:!0}),b.current?.();const s=()=>{const C=i.getBearing()-(r?.bearing??0);z(e,_(C))};i.on("rotate",s),i.on("rotateend",s),b.current=()=>{i.off("rotate",s),i.off("rotateend",s)},oe(e);const M=e.ptScaleRegistry.invoke(e.scale||1);M.length&&e.update(...M),z(e,_(i.getBearing()-(r?.bearing??0))),a.layerStore.layersLoaded=!0,a.fp.onFpConfigured&&a.fp.onFpConfigured(),R.sceneDefReady=!0,g()},[e,S,p,A]);I(()=>{P.current=d,$(c.current,d,!0)},[d]),ce(T,e),ue(T,e),le(e,c,r),ie(c,r,o),te({enabled:a.layerStore.layersLoaded&&R.buildRoute,rendererService:e});const V=Z.flags?.busRoutes??!1;ne({permission:a.layerStore.layersLoaded&&V,rendererService:e,dataJsonUrl:`https://${w}/v1/routes?expo=${D.EXPO}`,websocketUrl:`wss://${w}/locations?expo=${D.EXPO}`});const G=k(n=>{console.warn("Maplibre map failed to load; falling back to floorplan mode.",n),a.maplibreStore.deactivateMaplibre()},[]);if(!r||!m||!p||!o)return null;const X=`${m.center.join(",")}:${m.bearing}:${m.zoom}`;return J(ae,{sceneDef:o,geoConfig:m,staticTransform:p,tileSource:B,mapOptions:d,onRendererReady:U,onMapDimLayerReady:N,onMapLoadError:G},X)});export default Ae;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as Z}from"react/jsx-runtime";import"maplibre-gl/dist/maplibre-gl.css";import{Renderer as B}from"@expofp/renderer";import{addProtocol as N,Map as U}from"maplibre-gl";import{Protocol as G}from"pmtiles";import{useEffect as R,useRef as c}from"react";export const MAP_DIM_LAYER_ID="expofp-map-dim";const y="expofp-map-dim-source",Y="3d-expofp";let g=null;const k=["coalesce",["get","name:en"],["get","name_en"],["get","name:latin"],["get","name"]],H={type:"Feature",geometry:{type:"Polygon",coordinates:[[[-180,-85],[180,-85],[180,85],[-180,85],[-180,-85]]]},properties:{}};function D(e){if(!e||typeof e!="object")return!1;const r=e.length;if(typeof r!="number"||r<16)return!1;const o=e[0];return typeof o=="number"&&Number.isFinite(o)}function J(e){if(D(e))return Array.from(e);const o=e?.defaultProjectionData?.mainMatrix;return D(o)?Array.from(o):(console.warn("Maplibre custom layer received an unsupported projection matrix payload.",e),null)}function b(e){return typeof e=="string"?e.includes("name"):Array.isArray(e)?e.some(r=>b(r)):!e||typeof e!="object"?!1:Object.values(e).some(r=>b(r))}function V(e){return e.type!=="symbol"||!e.id||!e.layout?!1:b(e.layout["text-field"])}function W(e){const r=e.getStyle();for(const o of r.layers??[])V(o)&&e.setLayoutProperty(o.id,"text-field",k)}function X(){if(!g){g=new G;try{N("pmtiles",g.tile)}catch(e){console.warn("Maplibre PMTiles protocol registration failed.",e)}}}export default function q({sceneDef:e,geoConfig:r,staticTransform:o,tileSource:E,mapOptions:I,onRendererReady:h,onMapDimLayerReady:x,onMapLoadError:M}){const d=c(null),L=c(null),l=c(null),P=c(h),_=c(x),A=c(M),w=c({sceneDef:e,geoConfig:r,staticTransform:o,tileSource:E,mapOptions:I});return R(()=>{P.current=h,_.current=x,A.current=M}),R(()=>{if(!d.current)return;const{sceneDef:m,geoConfig:n,staticTransform:O,tileSource:C,mapOptions:f}=w.current;let p=!1;const u={...m};u.rootLayer={...m.rootLayer};const F=m.rootLayer.children;u.rootLayer.children=F.filter(i=>i?.name?.toString().toLowerCase()!=="areamap"),u.background=void 0,u.staticTransform=O,X();const z=n.bounds?{bounds:n.bounds,fitBoundsOptions:{padding:n.fitPadding,bearing:n.bearing}}:{center:n.center,zoom:n.zoom},t=new U({container:d.current,style:C.style,...z,bearing:n.bearing,pitch:f?.pitch??30,maxPitch:f?.maxPitch??70,minZoom:f?.minZoom,maxZoom:f?.maxZoom,maxBounds:f?.maxBounds,bearingSnap:0,canvasContextAttributes:{antialias:!0}});n.zoomAdjustment&&t.jumpTo({zoom:t.getZoom()+n.zoomAdjustment}),L.current=t,t.once("error",i=>{t.isStyleLoaded()||A.current?.(i?.error??i)});const j=i=>{const a=i?.id;!a||t.hasImage(a)||t.addImage(a,{width:1,height:1,data:new Uint8Array(4)})};t.on("styleimagemissing",j);const T={id:Y,type:"custom",renderingMode:"3d",onAdd(i,a){if(p)return;const s=new B({canvas:t.getCanvas(),gl:a});if(p){s.dispose();return}s.init(u),l.current=s,P.current?.(s,t,u,()=>t.triggerRepaint())},render(i,a){if(!l.current||l.current.isDisposed)return;const s=J(a??i);s&&l.current.render(s)}},S=()=>{W(t),t.getSource(y)||t.addSource(y,{type:"geojson",data:H}),t.getLayer(MAP_DIM_LAYER_ID)||t.addLayer({id:MAP_DIM_LAYER_ID,type:"fill",source:y,paint:{"fill-color":"#000000","fill-opacity":0,"fill-opacity-transition":{duration:0,delay:0}}}),_.current?.(t),t.addLayer(T)};return t.on("style.load",S),()=>{p=!0,t.off("style.load",S),t.off("styleimagemissing",j),l.current?.dispose(),l.current=null,t.remove(),L.current=null}},[]),Z("div",{ref:d,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%"}})}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const mapboxStreetsBrightStyle={version:8,sources:{ne2_shaded:{maxzoom:6,tileSize:256,tiles:["https://tiles.openfreemap.org/natural_earth/ne2sr/{z}/{x}/{y}.png"],type:"raster"},openmaptiles:{type:"vector",url:"https://tiles.openfreemap.org/planet"}},sprite:"https://tiles.openfreemap.org/sprites/ofm_f384/ofm",glyphs:"https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":["interpolate",["linear"],["zoom"],9,"hsl(20, 20%, 95%)",11,"hsl(20, 18%, 91%)"]}},{id:"landcover-glacier",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","subclass"],"glacier"],paint:{"fill-color":"#fff","fill-opacity":["interpolate",["linear"],["zoom"],0,.9,10,.3]}},{id:"landuse-residential",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["match",["get","class"],["neighbourhood","residential"],!0,!1],paint:{"fill-color":["interpolate",["linear"],["zoom"],12,"hsla(30,19%,90%,0.4)",16,"hsla(30,19%,90%,0.2)"]}},{id:"landuse-suburb",type:"fill",source:"openmaptiles","source-layer":"landuse",maxzoom:10,filter:["==",["get","class"],"suburb"],paint:{"fill-color":["interpolate",["linear"],["zoom"],8,"hsla(30,19%,90%,0.4)",10,"hsla(30,19%,90%,0.0)"]}},{id:"landuse-commercial",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["all",["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],["==",["get","class"],"commercial"]],paint:{"fill-color":"hsla(0,60%,87%,0.23)"}},{id:"landuse-industrial",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["all",["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],["match",["get","class"],["dam","garages","industrial"],!0,!1]],paint:{"fill-color":"hsla(49,100%,88%,0.34)"}},{id:"landuse-cemetery",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"cemetery"],paint:{"fill-color":"#e0e4dd"}},{id:"landuse-hospital",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"hospital"],paint:{"fill-color":"#fde"}},{id:"landuse-school",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"school"],paint:{"fill-color":"#f0e8f8"}},{id:"landuse-railway",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"railway"],paint:{"fill-color":"hsla(30,19%,90%,0.4)"}},{id:"park",type:"fill",source:"openmaptiles","source-layer":"park",filter:["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],paint:{"fill-color":"hsl(110, 52%, 84%)","fill-opacity":["interpolate",["exponential",1.8],["zoom"],9,.5,12,.2]}},{id:"landcover-wood",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"wood"],paint:{"fill-antialias":["step",["zoom"],!1,9,!0],"fill-color":"hsla(115, 55%, 74%, 0.7)","fill-opacity":.1,"fill-outline-color":"hsla(0,0%,0%,0.03)"}},{id:"landcover-grass",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"grass"],paint:{"fill-color":"hsl(110, 52%, 84%)","fill-opacity":1}},{id:"landcover-grass-park",type:"fill",source:"openmaptiles","source-layer":"park",filter:["==",["get","class"],"public_park"],paint:{"fill-color":"hsl(110, 52%, 84%)","fill-opacity":.8}},{id:"waterway_tunnel",type:"line",source:"openmaptiles","source-layer":"waterway",minzoom:14,filter:["all",["match",["get","class"],["canal","river","stream"],!0,!1],["==",["get","brunnel"],"tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-dasharray":[2,4],"line-width":["interpolate",["exponential",1.3],["zoom"],13,.5,20,6]}},{id:"waterway-other",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["match",["get","class"],["canal","river","stream"],!1,!0],["==",["get","intermittent"],0]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-width":["interpolate",["exponential",1.3],["zoom"],13,.5,20,2]}},{id:"waterway-other-intermittent",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["match",["get","class"],["canal","river","stream"],!1,!0],["==",["get","intermittent"],1]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,.5,20,2]}},{id:"waterway-stream-canal",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["match",["get","class"],["canal","stream"],!0,!1],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],0]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-width":["interpolate",["exponential",1.3],["zoom"],13,.5,20,6]}},{id:"waterway-stream-canal-intermittent",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["match",["get","class"],["canal","stream"],!0,!1],["!=",["get","brunnel"],"tunnel"],["==",["get","intermittent"],1]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-dasharray":[4,3],"line-width":["interpolate",["exponential",1.3],["zoom"],13,.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":"hsl(200, 100%, 80%)","line-width":["interpolate",["exponential",1.2],["zoom"],10,.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":"hsl(200, 100%, 80%)","line-dasharray":[3,2.5],"line-width":["interpolate",["exponential",1.2],["zoom"],10,.8,20,6]}},{id:"water",type:"fill",source:"openmaptiles","source-layer":"water",filter:["all",["!=",["get","intermittent"],1],["!=",["get","brunnel"],"tunnel"]],paint:{"fill-color":"hsl(200, 100%, 80%)"}},{id:"water-intermittent",type:"fill",source:"openmaptiles","source-layer":"water",filter:["==",["get","intermittent"],1],paint:{"fill-color":"hsl(200, 80%, 88%)","fill-opacity":.7}},{id:"landcover-ice-shelf",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","subclass"],"ice_shelf"],paint:{"fill-color":"#fff","fill-opacity":["interpolate",["linear"],["zoom"],0,.9,10,.3]}},{id:"landcover-sand",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"sand"],paint:{"fill-color":"rgba(245, 238, 188, 1)","fill-opacity":1}},{id:"building",type:"fill",source:"openmaptiles","source-layer":"building",paint:{"fill-antialias":!0,"fill-color":"hsl(20, 15%, 85%)"}},{id:"building-top",type:"fill",source:"openmaptiles","source-layer":"building",paint:{"fill-color":"hsl(20, 15%, 85%)","fill-opacity":["interpolate",["linear"],["zoom"],13,0,16,1],"fill-outline-color":"#dfdbd7","fill-translate":["interpolate",["linear"],["zoom"],14,["literal",[0,0]],16,["literal",[-2,-2]]]}},{id:"tunnel-service-track-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1,16,4,20,11]}},{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":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{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":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,4,20,15]}},{id:"tunnel-link-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"tunnel-secondary-tertiary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,1.5,20,17]}},{id:"tunnel-trunk-primary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.6,7,1.5,20,22]}},{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":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.6,7,1.5,20,22]}},{id:"tunnel-path",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"tunnel"],["==",["get","class"],"path"]],paint:{"line-color":"#cba","line-dasharray":[1.5,.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":"rgba(244, 209, 158, 1)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"tunnel-service-track",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,2,20,7.5]}},{id:"tunnel-link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{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":"#fff","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,11.5]}},{id:"tunnel-secondary-tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,10]}},{id:"tunnel-trunk-primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{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":"#ffdaa6","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{id:"tunnel-railway",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-dasharray":[2,2],"line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"ferry",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["match",["get","class"],["ferry"],!0,!1],layout:{"line-join":"round"},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"],!0,!1],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(153, 153, 153, 1)","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"],!0,!1],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(153, 153, 153, 1)","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"],!0,!1],["match",["get","class"],["runway","taxiway"],!0,!1]],paint:{"fill-color":"rgba(255, 255, 255, 1)","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"],!0,!1],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(255, 255, 255, 1)","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"],!0,!1],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(255, 255, 255, 1)","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"],!0,!1],["==",["get","class"],"pier"]],paint:{"fill-antialias":!0,"fill-color":"#f8f4f0"}},{id:"road_pier",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","class"],["pier"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#f8f4f0","line-width":["interpolate",["exponential",1.2],["zoom"],15,1,17,4]}},{id:"highway-area",type:"fill",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],["match",["get","class"],["pier"],!1,!0]],paint:{"fill-antialias":!1,"fill-color":"hsla(0,0%,89%,0.56)","fill-opacity":.9,"fill-outline-color":"#cfcdca"}},{id:"highway-motorway-link-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"highway-link-casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"highway-minor-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,4,20,15]}},{id:"highway-secondary-tertiary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"butt","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],8,1.5,20,17]}},{id:"highway-primary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"butt","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],7,0,8,1],"line-width":["interpolate",["exponential",1.2],["zoom"],7,0,8,.6,9,1.5,20,22]}},{id:"highway-trunk-casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"butt","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],5,0,6,1],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0,6,.6,7,1.5,20,22]}},{id:"highway-motorway-casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:4,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],layout:{"line-cap":"butt","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],4,0,5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],4,0,5,.4,6,.6,7,1.5,20,22]}},{id:"highway-path",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"path"]],paint:{"line-color":"#cba","line-dasharray":[1.5,.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"],!1,!0],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"highway-link",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"highway-minor",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["!=",["get","brunnel"],"tunnel"],["match",["get","class"],["minor","service","track"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,11.5]}},{id:"highway-secondary-tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["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,.5,20,13]}},{id:"highway-primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],8.5,0,9,.5,20,18]}},{id:"highway-trunk",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{id:"highway-motorway",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{id:"railway-transit",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],!1,!0]],paint:{"line-color":"hsla(0,0%,73%,0.77)","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,20,1]}},{id:"railway-transit-hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"transit"],["match",["get","brunnel"],["tunnel"],!1,!0]],paint:{"line-color":"hsla(0,0%,73%,0.68)","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,2,20,6]}},{id:"railway-service",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"rail"],["has","service"]],paint:{"line-color":"hsla(0,0%,73%,0.77)","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,20,1]}},{id:"railway-service-hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"rail"],["has","service"]],paint:{"line-color":"hsla(0,0%,73%,0.68)","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,2,20,6]}},{id:"railway",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"railway-hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["!",["has","service"]],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{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":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,19]}},{id:"bridge-link-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,19]}},{id:"bridge-secondary-tertiary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,7,.6,8,1.5,20,21]}},{id:"bridge-trunk-primary-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.6,7,1.5,20,26]}},{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":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.6,7,1.5,20,26]}},{id:"bridge-minor-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],!0,!1]],layout:{"line-cap":"butt","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,6,20,24]}},{id:"bridge-path-casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],paint:{"line-color":"#f8f4f0","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"],!0,!1],["==",["get","brunnel"],"bridge"],["==",["get","class"],"path"]],paint:{"line-color":"#cba","line-dasharray":[1.5,.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":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"bridge-link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],["==",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"bridge-minor",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor","service","track"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-opacity":1,"line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,11.5]}},{id:"bridge-secondary-tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,.5,20,13]}},{id:"bridge-trunk-primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{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":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,18]}},{id:"bridge-railway",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"bridge-railway-hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"cablecar",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==",["get","subclass"],"cable_car"],layout:{"line-cap":"round"},paint:{"line-color":"hsl(0,0%,70%)","line-width":["interpolate",["linear"],["zoom"],11,1,19,2.5]}},{id:"cablecar-dash",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==",["get","subclass"],"cable_car"],layout:{"line-cap":"round"},paint:{"line-color":"hsl(0,0%,70%)","line-dasharray":[2,3],"line-width":["interpolate",["linear"],["zoom"],11,3,19,5.5]}},{id:"boundary_3",type:"line",source:"openmaptiles","source-layer":"boundary",minzoom:5,filter:["all",["all",["has","admin_level"],[">=",["get","admin_level"],3]],["all",["has","admin_level"],["<=",["get","admin_level"],6]],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],paint:{"line-color":"hsl(240, 40%, 72%)","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":"hsl(240, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],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":"hsl(240, 50%, 60%)","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"],!0,!1]],layout:{"icon-image":"oneway","icon-padding":2,"icon-rotate":90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,.5,19,1],"symbol-placement":"line","symbol-spacing":75},paint:{"icon-opacity":.5}},{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"],!0,!1]],layout:{"icon-image":"oneway","icon-padding":2,"icon-rotate":-90,"icon-rotation-alignment":"map","icon-size":["interpolate",["linear"],["zoom"],15,.5,19,1],"symbol-placement":"line","symbol-spacing":75},paint:{"icon-opacity":.5}},{id:"waterway_line_label",type:"symbol",source:"openmaptiles","source-layer":"waterway",minzoom:10,filter:["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],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":.2,"text-max-width":5,"text-size":14},paint:{"text-color":"#74aee9","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"water_name_point_label",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["match",["geometry-type"],["MultiPoint","Point"],!0,!1],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
2
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.2,"text-max-width":5,"text-size":["interpolate",["linear"],["zoom"],0,10,8,14]},paint:{"text-color":"#495e91","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"water_name_line_label",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],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":.2,"text-max-width":5,"text-size":14},paint:{"text-color":"#495e91","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"poi_r20",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:17,filter:["all",["match",["geometry-type"],["MultiPoint","Point"],!0,!1],["all",["has","rank"],[">=",["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"],`
|
|
3
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],["all",["has","rank"],[">=",["get","rank"],7]],["all",["has","rank"],["<",["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"],`
|
|
4
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],["all",["has","rank"],[">=",["get","rank"],1]],["all",["has","rank"],["<",["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"],`
|
|
5
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],layout:{"icon-image":["to-string",["get","class"]],"icon-size":.7,"text-anchor":"left","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
6
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[.9,0],"text-size":12},paint:{"text-color":"#2e5a80","text-halo-blur":.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":"hsl(30,23%,62%)","text-halo-color":"#f8f4f0","text-halo-width":.5}},{id:"highway-name-minor",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","class"],["minor","service","track"],!0,!1]],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":"#666","text-halo-blur":.5,"text-halo-width":1}},{id:"highway-name-major",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:12.2,filter:["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],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":"#666","text-halo-blur":.5,"text-halo-width":1}},{id:"highway-shield-non-us",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:8,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-highway","us-interstate","us-state"],!1,!0]],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}},{id:"highway-shield-us-interstate",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:7,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-interstate"],!0,!1]],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}},{id:"road_shield_us",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:9,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-highway","us-state"],!0,!1]],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}},{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"],`
|
|
7
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":9,"text-offset":[0,.6],"text-optional":!0,"text-padding":2,"text-size":12},paint:{"text-color":"#666","text-halo-blur":.5,"text-halo-color":"#ffffff","text-halo-width":1}},{id:"label_other",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:8,filter:["match",["get","class"],["city","continent","country","state","town","village"],!1,!0],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
8
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.1,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],8,9,12,10],"text-transform":"uppercase"},paint:{"text-color":"#333","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_village",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:9,filter:["==",["get","class"],"village"],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":!1,"icon-size":.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
9
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_town",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:6,filter:["==",["get","class"],"town"],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":!1,"icon-size":.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
10
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
11
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.2,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],5,10,8,14],"text-transform":"uppercase"},paint:{"text-color":"#333","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_city",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:3,filter:["all",["==",["get","class"],"city"],["!=",["get","capital"],2]],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":!1,"icon-size":.4,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
12
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-offset":[0,-.1],"text-size":["interpolate",["exponential",1.2],["zoom"],4,11,7,13,11,18]},paint:{"text-color":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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":!0,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":!1,"icon-size":.5,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
13
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":8,"text-offset":[0,-.2],"text-size":["interpolate",["exponential",1.2],["zoom"],4,12,7,14,11,20]},paint:{"text-color":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_country_3",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:2,maxzoom:9,filter:["all",["==",["get","class"],"country"],["all",["has","rank"],[">=",["get","rank"],3]]],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
14
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
15
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
16
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}}],name:"ExpoFP Streets Bright (Mapbox-like)",metadata:{"expofp:base":"OpenFreeMap Bright (CC0)","expofp:tuned-to":"mapbox://styles/mapbox/streets-v12 palette"}};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const mapboxStreetsStyle={version:8,sources:{ne2_shaded:{maxzoom:6,tileSize:256,tiles:["https://tiles.openfreemap.org/natural_earth/ne2sr/{z}/{x}/{y}.png"],type:"raster"},openmaptiles:{type:"vector",url:"https://tiles.openfreemap.org/planet"}},sprite:"https://tiles.openfreemap.org/sprites/ofm_f384/ofm",glyphs:"https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":["interpolate",["linear"],["zoom"],9,"hsl(20, 20%, 95%)",11,"hsl(20, 18%, 91%)"]}},{id:"natural_earth",type:"raster",source:"ne2_shaded",maxzoom:7,paint:{"raster-opacity":["interpolate",["exponential",1.5],["zoom"],0,.6,6,.1]}},{id:"park",type:"fill",source:"openmaptiles","source-layer":"park",paint:{"fill-color":"hsl(110, 52%, 84%)","fill-opacity":.7,"fill-outline-color":"rgba(95, 208, 100, 1)"}},{id:"park_outline",type:"line",source:"openmaptiles","source-layer":"park",paint:{"line-color":"rgba(228, 241, 215, 1)","line-dasharray":[1,1.5]}},{id:"landuse_residential",type:"fill",source:"openmaptiles","source-layer":"landuse",maxzoom:12,filter:["==",["get","class"],"residential"],paint:{"fill-color":["interpolate",["linear"],["zoom"],9,"hsla(0,3%,85%,0.84)",12,"hsla(35,57%,88%,0.49)"]}},{id:"landcover_wood",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"wood"],paint:{"fill-antialias":!1,"fill-color":"hsla(115, 55%, 74%, 0.7)","fill-opacity":.4}},{id:"landcover_grass",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"grass"],paint:{"fill-antialias":!1,"fill-color":"hsl(110, 52%, 81%)","fill-opacity":.3}},{id:"landcover_ice",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"ice"],paint:{"fill-antialias":!1,"fill-color":"rgba(224, 236, 236, 1)","fill-opacity":.8}},{id:"landcover_wetland",type:"fill",source:"openmaptiles","source-layer":"landcover",minzoom:12,filter:["==",["get","class"],"wetland"],paint:{"fill-antialias":!0,"fill-opacity":.8,"fill-pattern":"wetland_bg_11","fill-translate-anchor":"map"}},{id:"landuse_pitch",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"pitch"],paint:{"fill-color":"#DEE3CD"}},{id:"landuse_track",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"track"],paint:{"fill-color":"#DEE3CD"}},{id:"landuse_cemetery",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"cemetery"],paint:{"fill-color":"hsl(75,37%,81%)"}},{id:"landuse_hospital",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"hospital"],paint:{"fill-color":"#fde"}},{id:"landuse_school",type:"fill",source:"openmaptiles","source-layer":"landuse",filter:["==",["get","class"],"school"],paint:{"fill-color":"rgb(236,238,204)"}},{id:"waterway_tunnel",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["==",["get","brunnel"],"tunnel"],paint:{"line-color":"hsl(200, 100%, 80%)","line-dasharray":[3,3],"line-gap-width":["interpolate",["linear"],["zoom"],12,0,20,6],"line-opacity":1,"line-width":["interpolate",["exponential",1.4],["zoom"],8,1,20,2]}},{id:"waterway_river",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["==",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-width":["interpolate",["exponential",1.2],["zoom"],11,.5,20,6]}},{id:"waterway_other",type:"line",source:"openmaptiles","source-layer":"waterway",filter:["all",["!=",["get","class"],"river"],["!=",["get","brunnel"],"tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"hsl(200, 100%, 80%)","line-width":["interpolate",["exponential",1.3],["zoom"],13,.5,20,6]}},{id:"water",type:"fill",source:"openmaptiles","source-layer":"water",filter:["!=",["get","brunnel"],"tunnel"],paint:{"fill-color":"hsl(200, 100%, 80%)"}},{id:"landcover_sand",type:"fill",source:"openmaptiles","source-layer":"landcover",filter:["==",["get","class"],"sand"],paint:{"fill-color":"rgba(247, 239, 195, 1)"}},{id:"aeroway_fill",type:"fill",source:"openmaptiles","source-layer":"aeroway",minzoom:11,filter:["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],paint:{"fill-color":"rgba(229, 228, 224, 1)","fill-opacity":.7}},{id:"aeroway_runway",type:"line",source:"openmaptiles","source-layer":"aeroway",minzoom:11,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"runway"]],paint:{"line-color":"#f0ede9","line-width":["interpolate",["exponential",1.2],["zoom"],11,3,20,16]}},{id:"aeroway_taxiway",type:"line",source:"openmaptiles","source-layer":"aeroway",minzoom:11,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","class"],"taxiway"]],paint:{"line-color":"#f0ede9","line-width":["interpolate",["exponential",1.2],["zoom"],11,.5,20,6]}},{id:"tunnel_motorway_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["==",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"tunnel_service_track_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],15,1,16,4,20,11]}},{id:"tunnel_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"tunnel_street_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,4,20,15]}},{id:"tunnel_secondary_tertiary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],8,1.5,20,17]}},{id:"tunnel_trunk_primary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"tunnel_motorway_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["!=",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[.5,.25],"line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"tunnel_path_pedestrian",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"tunnel"],["match",["get","class"],["path","pedestrian"],!0,!1]],paint:{"line-color":"hsl(0,0%,100%)","line-dasharray":[1,.75],"line-width":["interpolate",["exponential",1.2],["zoom"],14,.5,20,10]}},{id:"tunnel_motorway_link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["==",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"tunnel_service_track",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,2,20,7.5]}},{id:"tunnel_link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"tunnel_minor",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["minor"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,11.5]}},{id:"tunnel_secondary_tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,10]}},{id:"tunnel_trunk_primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"tunnel_motorway",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["!=",["get","ramp"],1],["==",["get","brunnel"],"tunnel"]],layout:{"line-join":"round"},paint:{"line-color":"#ffdaa6","line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"tunnel_major_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["rail"],!0,!1]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"tunnel_major_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"tunnel_transit_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["match",["get","class"],["transit"],!0,!1]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"tunnel_transit_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"tunnel"],["==",["get","class"],"transit"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"road_area_pattern",type:"fill",source:"openmaptiles","source-layer":"transportation",filter:["match",["geometry-type"],["MultiPolygon","Polygon"],!0,!1],paint:{"fill-pattern":"pedestrian_polygon"}},{id:"road_motorway_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"road_service_track_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],15,1,16,4,20,11]}},{id:"road_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["motorway","path","pedestrian","service","track"],!1,!0],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"road_minor_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["minor"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,4,20,20]}},{id:"road_secondary_tertiary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["secondary","tertiary"],!0,!1],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],8,1.5,20,17]}},{id:"road_trunk_primary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"road_motorway_casing",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"road_path_pedestrian",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:14,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["path","pedestrian"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(0,0%,100%)","line-dasharray":[1,.7],"line-width":["interpolate",["exponential",1.2],["zoom"],14,1,20,10]}},{id:"road_motorway_link",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["==",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"road_service_track",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,2,20,7.5]}},{id:"road_link",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","ramp"],1],["match",["get","class"],["motorway","path","pedestrian","service","track"],!1,!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"road_minor",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["minor"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,18]}},{id:"road_secondary_tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["secondary","tertiary"],!0,!1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,8,.5,20,13]}},{id:"road_trunk_primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"road_motorway",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"motorway"],["!=",["get","ramp"],1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["interpolate",["linear"],["zoom"],5,"hsl(26,87%,62%)",6,"#fc8"],"line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"road_major_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"road_major_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"road_transit_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"transit"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"road_transit_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["get","brunnel"],["bridge","tunnel"],!1,!0],["==",["get","class"],"transit"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"road_one_way_arrow",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:16,filter:["==",["get","oneway"],1],layout:{"icon-image":"arrow","symbol-placement":"line"}},{id:"road_one_way_arrow_opposite",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:16,filter:["==",["get","oneway"],-1],layout:{"icon-image":"arrow","icon-rotate":180,"symbol-placement":"line"}},{id:"bridge_motorway_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["==",["get","ramp"],1],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"bridge_service_track_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],15,1,16,4,20,11]}},{id:"bridge_link_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"link"],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],12,1,13,3,14,4,20,15]}},{id:"bridge_street_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-opacity":["interpolate",["linear"],["zoom"],12,0,12.5,1],"line-width":["interpolate",["exponential",1.2],["zoom"],12,.5,13,1,14,4,20,25]}},{id:"bridge_path_pedestrian_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"bridge"],["match",["get","class"],["path","pedestrian"],!0,!1]],paint:{"line-color":"hsl(220, 20%, 85%)","line-dasharray":[1,0],"line-width":["interpolate",["exponential",1.2],["zoom"],14,1.5,20,18]}},{id:"bridge_secondary_tertiary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],8,1.5,20,17]}},{id:"bridge_trunk_primary_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"bridge_motorway_casing",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["!=",["get","ramp"],1],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(220, 20%, 85%)","line-width":["interpolate",["exponential",1.2],["zoom"],5,.4,6,.7,7,1.75,20,22]}},{id:"bridge_path_pedestrian",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["==",["get","brunnel"],"bridge"],["match",["get","class"],["path","pedestrian"],!0,!1]],paint:{"line-color":"hsl(0,0%,100%)","line-dasharray":[1,.3],"line-width":["interpolate",["exponential",1.2],["zoom"],14,.5,20,10]}},{id:"bridge_motorway_link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["==",["get","ramp"],1],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"bridge_service_track",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["service","track"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],15.5,0,16,2,20,7.5]}},{id:"bridge_link",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"link"],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(45, 90%, 72%)","line-width":["interpolate",["exponential",1.2],["zoom"],12.5,0,13,1.5,14,2.5,20,11.5]}},{id:"bridge_street",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["minor"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":["interpolate",["exponential",1.2],["zoom"],13.5,0,14,2.5,20,18]}},{id:"bridge_secondary_tertiary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],6.5,0,7,.5,20,10]}},{id:"bridge_trunk_primary",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","brunnel"],"bridge"],["match",["get","class"],["primary","trunk"],!0,!1]],layout:{"line-join":"round"},paint:{"line-color":"#ffffff","line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"bridge_motorway",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"motorway"],["!=",["get","ramp"],1],["==",["get","brunnel"],"bridge"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":["interpolate",["exponential",1.2],["zoom"],5,0,7,1,20,18]}},{id:"bridge_major_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"rail"],["==",["get","brunnel"],"bridge"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"bridge_major_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"rail"],["==",["get","brunnel"],"bridge"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"bridge_transit_rail",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"transit"],["==",["get","brunnel"],"bridge"]],paint:{"line-color":"#bbb","line-width":["interpolate",["exponential",1.4],["zoom"],14,.4,15,.75,20,2]}},{id:"bridge_transit_rail_hatching",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["==",["get","class"],"transit"],["==",["get","brunnel"],"bridge"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":["interpolate",["exponential",1.4],["zoom"],14.5,0,15,3,20,8]}},{id:"building",type:"fill",source:"openmaptiles","source-layer":"building",minzoom:13,maxzoom:14,paint:{"fill-color":"hsl(20, 15%, 85%)","fill-outline-color":["interpolate",["linear"],["zoom"],13,"hsla(35,6%,79%,0.32)",14,"hsl(35,6%,79%)"]}},{id:"building-3d",type:"fill-extrusion",source:"openmaptiles","source-layer":"building",minzoom:14,paint:{"fill-extrusion-base":["get","render_min_height"],"fill-extrusion-color":"hsl(20, 15%, 85%)","fill-extrusion-height":["get","render_height"],"fill-extrusion-opacity":.8}},{id:"boundary_3",type:"line",source:"openmaptiles","source-layer":"boundary",minzoom:5,filter:["all",["all",["has","admin_level"],[">=",["get","admin_level"],3]],["all",["has","admin_level"],["<=",["get","admin_level"],6]],["!=",["get","maritime"],1],["!=",["get","disputed"],1],["!",["has","claimed_by"]]],paint:{"line-color":"hsl(240, 40%, 72%)","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":"hsl(240, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],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":"hsl(240, 50%, 60%)","line-dasharray":[1,2],"line-width":["interpolate",["linear"],["zoom"],3,1,5,1.2,12,3]}},{id:"waterway_line_label",type:"symbol",source:"openmaptiles","source-layer":"waterway",minzoom:10,filter:["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],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":.2,"text-max-width":5,"text-size":14},paint:{"text-color":"#74aee9","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"water_name_point_label",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["match",["geometry-type"],["MultiPoint","Point"],!0,!1],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
2
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.2,"text-max-width":5,"text-size":["interpolate",["linear"],["zoom"],0,10,8,14]},paint:{"text-color":"#495e91","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"water_name_line_label",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],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":.2,"text-max-width":5,"text-size":14},paint:{"text-color":"#495e91","text-halo-color":"rgba(255,255,255,0.7)","text-halo-width":1.5}},{id:"poi_r20",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:17,filter:["all",["match",["geometry-type"],["MultiPoint","Point"],!0,!1],["all",["has","rank"],[">=",["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"],`
|
|
3
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],["all",["has","rank"],[">=",["get","rank"],7]],["all",["has","rank"],["<",["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"],`
|
|
4
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],["all",["has","rank"],[">=",["get","rank"],1]],["all",["has","rank"],["<",["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"],`
|
|
5
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[0,.6],"text-size":12},paint:{"text-color":"#666","text-halo-blur":.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"],!0,!1],layout:{"icon-image":["to-string",["get","class"]],"icon-size":.7,"text-anchor":"left","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
6
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-max-width":9,"text-offset":[.9,0],"text-size":12},paint:{"text-color":"#2e5a80","text-halo-blur":.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":"hsl(30,23%,62%)","text-halo-color":"#f8f4f0","text-halo-width":.5}},{id:"highway-name-minor",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15,filter:["all",["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","class"],["minor","service","track"],!0,!1]],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":"#666","text-halo-blur":.5,"text-halo-width":1}},{id:"highway-name-major",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:12.2,filter:["match",["get","class"],["primary","secondary","tertiary","trunk"],!0,!1],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":"#666","text-halo-blur":.5,"text-halo-width":1}},{id:"highway-shield-non-us",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:8,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-highway","us-interstate","us-state"],!1,!0]],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}},{id:"highway-shield-us-interstate",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:7,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-interstate"],!0,!1]],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}},{id:"road_shield_us",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:9,filter:["all",["all",["has","ref_length"],["<=",["get","ref_length"],6]],["match",["geometry-type"],["LineString","MultiLineString"],!0,!1],["match",["get","network"],["us-highway","us-state"],!0,!1]],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}},{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"],`
|
|
7
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":9,"text-offset":[0,.6],"text-optional":!0,"text-padding":2,"text-size":12},paint:{"text-color":"#666","text-halo-blur":.5,"text-halo-color":"#ffffff","text-halo-width":1}},{id:"label_other",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:8,filter:["match",["get","class"],["city","continent","country","state","town","village"],!1,!0],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
8
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.1,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],8,9,12,10],"text-transform":"uppercase"},paint:{"text-color":"#333","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_village",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:9,filter:["==",["get","class"],"village"],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":!1,"icon-size":.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
9
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_town",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:6,filter:["==",["get","class"],"town"],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",10,""],"icon-optional":!1,"icon-size":.2,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
10
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
11
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Italic"],"text-letter-spacing":.2,"text-max-width":9,"text-size":["interpolate",["linear"],["zoom"],5,10,8,14],"text-transform":"uppercase"},paint:{"text-color":"#333","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_city",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:3,filter:["all",["==",["get","class"],"city"],["!=",["get","capital"],2]],layout:{"icon-allow-overlap":!0,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":!1,"icon-size":.4,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
12
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Regular"],"text-max-width":8,"text-offset":[0,-.1],"text-size":["interpolate",["exponential",1.2],["zoom"],4,11,7,13,11,18]},paint:{"text-color":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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":!0,"icon-image":["step",["zoom"],"circle_11_black",9,""],"icon-optional":!1,"icon-size":.5,"text-anchor":"bottom","text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
13
|
+
`,["get","name:nonlatin"]],["coalesce",["get","name_en"],["get","name"]]],"text-font":["Noto Sans Bold"],"text-max-width":8,"text-offset":[0,-.2],"text-size":["interpolate",["exponential",1.2],["zoom"],4,12,7,14,11,20]},paint:{"text-color":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{id:"label_country_3",type:"symbol",source:"openmaptiles","source-layer":"place",minzoom:2,maxzoom:9,filter:["all",["==",["get","class"],"country"],["all",["has","rank"],[">=",["get","rank"],3]]],layout:{"text-field":["case",["has","name:nonlatin"],["concat",["get","name:latin"],`
|
|
14
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
15
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}},{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"],`
|
|
16
|
+
`,["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":"#000","text-halo-blur":1,"text-halo-color":"#fff","text-halo-width":1}}],name:"ExpoFP Streets (Mapbox-like)",metadata:{"expofp:base":"OpenFreeMap Liberty (CC0)","expofp:tuned-to":"mapbox://styles/mapbox/streets-v12 palette"}};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
1
|
+
import type { SceneDef } from '@expofp/renderer';
|
|
2
|
+
import { type Map as MaplibreMap } from 'maplibre-gl';
|
|
3
|
+
import { type RefObject } from 'react';
|
|
3
4
|
import { type GeoConfig } from './utils/geo-config';
|
|
4
5
|
/**
|
|
5
6
|
* Bundles all camera-related MobX reactions: moveToBooths, moveToRect,
|
|
6
7
|
* zoomBy, moveToLocation, and centerMap. Each watches a uiState trigger,
|
|
7
8
|
* moves the camera, and clears the trigger.
|
|
8
9
|
*/
|
|
9
|
-
export declare function useCameraReactions(mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null): void;
|
|
10
|
+
export declare function useCameraReactions(mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null, sceneDef: SceneDef | null): void;
|
|
10
11
|
//# sourceMappingURL=useCameraReactions.d.ts.map
|