@mapcomponents/react-maplibre 1.3.3 → 1.5.0-2
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/CHANGELOG.md +163 -38
- package/CODE_OF_CONDUCT.md +70 -70
- package/CONTRIBUTING.md +157 -149
- package/README.md +1 -1
- package/docs_md/anatomy_of_a_mapcomponent.md +34 -37
- package/eslint.config.cjs +3 -0
- package/package.json +193 -224
- package/project.json +21 -0
- package/tsconfig.lib.json +29 -0
- package/vite.config.ts +61 -0
- package/.eslintrc.cjs +0 -33
- package/dist/assets/index.cjs-Iqz0mZaU.css +0 -98
- package/dist/assets/index.esm-Iqz0mZaU.css +0 -98
- package/dist/index.cjs.js +0 -22120
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.esm.js +0 -22000
- package/dist/index.esm.js.map +0 -1
- package/dist/src/components/MapLibreMap/MapLibreMap.d.ts +0 -34
- package/dist/src/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +0 -120
- package/dist/src/components/MlCenterPosition/MlCenterPosition.d.ts +0 -36
- package/dist/src/components/MlClientSearch/MlClientSearch.d.ts +0 -30
- package/dist/src/components/MlClientSearch/lib/SearchContext.d.ts +0 -13
- package/dist/src/components/MlClientSearch/lib/SearchForm.d.ts +0 -2
- package/dist/src/components/MlClientSearch/lib/createGeojsonFeature.d.ts +0 -4
- package/dist/src/components/MlComponentTemplate/MlComponentTemplate.d.ts +0 -18
- package/dist/src/components/MlComponentTemplate/MlComponentTemplate.stories_.d.ts +0 -14
- package/dist/src/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +0 -22
- package/dist/src/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +0 -13
- package/dist/src/components/MlCreatePdfForm/lib/PdfContext.d.ts +0 -8
- package/dist/src/components/MlCreatePdfForm/lib/PdfForm.d.ts +0 -25
- package/dist/src/components/MlCreatePdfForm/lib/PdfPreview.d.ts +0 -26
- package/dist/src/components/MlCreatePdfForm/lib/pdf.templates.d.ts +0 -11
- package/dist/src/components/MlCreatePngButton/MlCreatePngButton.d.ts +0 -22
- package/dist/src/components/MlFeatureEditor/MlFeatureEditor.d.ts +0 -5
- package/dist/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.d.ts +0 -62
- package/dist/src/components/MlFollowGps/MlFollowGps.d.ts +0 -81
- package/dist/src/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +0 -98
- package/dist/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.d.ts +0 -9
- package/dist/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.d.ts +0 -9
- package/dist/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.d.ts +0 -4
- package/dist/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.d.ts +0 -5
- package/dist/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +0 -23
- package/dist/src/components/MlGlobeButton/MlGlobeButton.d.ts +0 -28
- package/dist/src/components/MlGpxViewer/MlGpxViewer.d.ts +0 -31
- package/dist/src/components/MlGpxViewer/util/GeoJsonContext.d.ts +0 -10
- package/dist/src/components/MlGpxViewer/util/GeoJsonProvider.d.ts +0 -5
- package/dist/src/components/MlGpxViewer/util/Metadata.d.ts +0 -7
- package/dist/src/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +0 -11
- package/dist/src/components/MlGpxViewer/util/MlGpxViewerInstructions.d.ts +0 -4
- package/dist/src/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +0 -39
- package/dist/src/components/MlLayer/MlLayer.d.ts +0 -33
- package/dist/src/components/MlLayerMagnify/MlLayerMagnify.d.ts +0 -33
- package/dist/src/components/MlLayerSwipe/MlLayerSwipe.d.ts +0 -26
- package/dist/src/components/MlLayerSwipe/assets/SwipeIcon.d.ts +0 -10
- package/dist/src/components/MlLayerSwitcher/MlLayerSwitcher.d.ts +0 -29
- package/dist/src/components/MlLayerSwitcher/components/LayerBox.d.ts +0 -10
- package/dist/src/components/MlMarker/MlMarker.d.ts +0 -29
- package/dist/src/components/MlMeasureTool/MlMeasureTool.d.ts +0 -37
- package/dist/src/components/MlMultiMeasureTool/MlMultiMeasureTool.d.ts +0 -55
- package/dist/src/components/MlNavigationCompass/MlNavigationCompass.d.ts +0 -33
- package/dist/src/components/MlNavigationCompass/assets/CompassBackground.d.ts +0 -9
- package/dist/src/components/MlNavigationCompass/assets/CompassNeedle.d.ts +0 -9
- package/dist/src/components/MlNavigationTools/MlNavigationTools.d.ts +0 -60
- package/dist/src/components/MlOgcApiFeatures/MlOgcApiFeatures.d.ts +0 -45
- package/dist/src/components/MlOrderLayers/MlOrderLayers.d.ts +0 -21
- package/dist/src/components/MlScaleReference/MlScaleReference.d.ts +0 -9
- package/dist/src/components/MlShareMapState/MlShareMapState.d.ts +0 -35
- package/dist/src/components/MlSketchTool/MlSketchTool.d.ts +0 -50
- package/dist/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +0 -40
- package/dist/src/components/MlSpatialElevationProfile/util/getElevationData.d.ts +0 -13
- package/dist/src/components/MlTemporalController/MlTemporalController.d.ts +0 -181
- package/dist/src/components/MlTemporalController/utils/MlTemporalControllerLabels.d.ts +0 -20
- package/dist/src/components/MlTemporalController/utils/TemporalControllerPlayer.d.ts +0 -22
- package/dist/src/components/MlTemporalController/utils/paintPicker.d.ts +0 -59
- package/dist/src/components/MlTemporalController/utils/useFilterData.d.ts +0 -14
- package/dist/src/components/MlTerrainLayer/MlTerrainLayer.d.ts +0 -28
- package/dist/src/components/MlThreeJsLayer/MlThreeJsLayer.d.ts +0 -13
- package/dist/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +0 -12
- package/dist/src/components/MlUseMapDebugger/MlUseMapDebugger.d.ts +0 -21
- package/dist/src/components/MlVectorTileLayer/MlVectorTileLayer.d.ts +0 -22
- package/dist/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.d.ts +0 -22
- package/dist/src/components/MlWmsLayer/MlWmsLayer.d.ts +0 -58
- package/dist/src/components/MlWmsLoader/MlWmsLoader.d.ts +0 -125
- package/dist/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.d.ts +0 -4
- package/dist/src/components/MlWmsLoader/utils/WMSLinks.d.ts +0 -8
- package/dist/src/contexts/LayerContext.d.ts +0 -59
- package/dist/src/contexts/MapContext.d.ts +0 -26
- package/dist/src/contexts/SimpleDataContext.d.ts +0 -4
- package/dist/src/contexts/SimpleDataProvider.d.ts +0 -12
- package/dist/src/decorators/EmptyMapDecorator.d.ts +0 -4
- package/dist/src/decorators/GeoJsonMapDecorator.d.ts +0 -4
- package/dist/src/decorators/LowZoomDecorator.d.ts +0 -4
- package/dist/src/decorators/MapContextDecorator.d.ts +0 -7
- package/dist/src/decorators/MapContextDecoratorHooks.d.ts +0 -4
- package/dist/src/decorators/MapContextReduxStoreDecorator.d.ts +0 -7
- package/dist/src/decorators/MultiMapContextDecorator.d.ts +0 -4
- package/dist/src/decorators/NoNavToolsDecorator.d.ts +0 -4
- package/dist/src/decorators/ThemeDecorator.d.ts +0 -5
- package/dist/src/hooks/useAddImage/useAddImage.d.ts +0 -20
- package/dist/src/hooks/useAddProtocol/useAddProtocol.d.ts +0 -23
- package/dist/src/hooks/useCameraFollowPath/useCameraFollowPath.d.ts +0 -35
- package/dist/src/hooks/useExportMap/index.d.ts +0 -11
- package/dist/src/hooks/useExportMap/lib.d.ts +0 -52
- package/dist/src/hooks/useFeatureEditor/useFeatureEditor.d.ts +0 -46
- package/dist/src/hooks/useFeatureEditor/utils/FeatureEditorStyle.d.ts +0 -116
- package/dist/src/hooks/useFitLayerBounds.d.ts +0 -8
- package/dist/src/hooks/useGpx/useGpx.d.ts +0 -26
- package/dist/src/hooks/useLayer.d.ts +0 -36
- package/dist/src/hooks/useLayerContext.d.ts +0 -2
- package/dist/src/hooks/useLayerFilter/useLayerFilter.d.ts +0 -8
- package/dist/src/hooks/useLayerHoverPopup/LayerHoverPopup.d.ts +0 -24
- package/dist/src/hooks/useMap.d.ts +0 -14
- package/dist/src/hooks/useMapState.d.ts +0 -37
- package/dist/src/hooks/useSource.d.ts +0 -17
- package/dist/src/hooks/useWms.d.ts +0 -26
- package/dist/src/index.d.ts +0 -126
- package/dist/src/omt_styles/bright.d.ts +0 -2495
- package/dist/src/omt_styles/config.d.ts +0 -7
- package/dist/src/omt_styles/gruvbox.d.ts +0 -2420
- package/dist/src/omt_styles/medieval_kingdom.d.ts +0 -2420
- package/dist/src/omt_styles/monokai.d.ts +0 -2420
- package/dist/src/omt_styles/oceanic_next.d.ts +0 -2420
- package/dist/src/omt_styles/solarized.d.ts +0 -2420
- package/dist/src/protocol_handlers/csv.d.ts +0 -8
- package/dist/src/protocol_handlers/mbtiles.d.ts +0 -74
- package/dist/src/protocol_handlers/osm.d.ts +0 -10
- package/dist/src/protocol_handlers/topojson.d.ts +0 -9
- package/dist/src/protocol_handlers/utils/getProtocolData.d.ts +0 -1
- package/dist/src/protocol_handlers/utils/protocolPathParser.d.ts +0 -7
- package/dist/src/protocol_handlers/xml.d.ts +0 -10
- package/dist/src/stores/map.store.d.ts +0 -105
- package/dist/src/ui_components/AddLayerButton/AddLayerButton.d.ts +0 -17
- package/dist/src/ui_components/AddLayerButton/AddLayerPopup.d.ts +0 -15
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/GeoJsonLayerForm.d.ts +0 -8
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/LayerTypeForm.d.ts +0 -10
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/MbtilesLayerForm.d.ts +0 -13
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/ProtocolHandlerLayerForm.d.ts +0 -10
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/WmsLayerForm.d.ts +0 -10
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/utils/CSVOptionsFomular.d.ts +0 -6
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/utils/MbtilesLayerPropFormular.d.ts +0 -7
- package/dist/src/ui_components/AddLayerButton/LayerConfigForms/utils/OsmOptionsFomular.d.ts +0 -6
- package/dist/src/ui_components/ColorPicker/ColorPicker.d.ts +0 -15
- package/dist/src/ui_components/ColorPicker/transformers.d.ts +0 -10
- package/dist/src/ui_components/ConfirmDialog.d.ts +0 -16
- package/dist/src/ui_components/DemoDescriptions.d.ts +0 -12
- package/dist/src/ui_components/Dropzone.d.ts +0 -6
- package/dist/src/ui_components/ImageLoader.d.ts +0 -10
- package/dist/src/ui_components/LayerList/LayerList.d.ts +0 -7
- package/dist/src/ui_components/LayerList/LayerListFolder.d.ts +0 -9
- package/dist/src/ui_components/LayerList/LayerListItem.d.ts +0 -26
- package/dist/src/ui_components/LayerList/LayerListItemFactory.d.ts +0 -18
- package/dist/src/ui_components/LayerList/util/LayerListItemVectorLayer.d.ts +0 -19
- package/dist/src/ui_components/LayerList/util/LayerPropertyForm.d.ts +0 -10
- package/dist/src/ui_components/LayerList/util/SortableContainer.d.ts +0 -7
- package/dist/src/ui_components/LayerList/util/input/ColorPicker.d.ts +0 -10
- package/dist/src/ui_components/LayerTree/LayerOnMap.d.ts +0 -7
- package/dist/src/ui_components/LayerTree/LayerTree.d.ts +0 -6
- package/dist/src/ui_components/LayerTree/LayerTreeListItem.d.ts +0 -18
- package/dist/src/ui_components/LayerTree/util/LayerPropertyForm.d.ts +0 -9
- package/dist/src/ui_components/LayerTree/util/input/ColorPicker.d.ts +0 -7
- package/dist/src/ui_components/LoadingOverlayContext.d.ts +0 -4
- package/dist/src/ui_components/MapcomponentsTheme.d.ts +0 -36
- package/dist/src/ui_components/SelectStyleButton/SelectStyleButton.d.ts +0 -20
- package/dist/src/ui_components/SelectStyleButton/SelectStylePopup.d.ts +0 -18
- package/dist/src/ui_components/Sidebar.d.ts +0 -13
- package/dist/src/ui_components/SpeedDial/SpeedDial.d.ts +0 -14
- package/dist/src/ui_components/TopToolbar.d.ts +0 -9
- package/dist/src/ui_components/UploadButton.d.ts +0 -8
- package/dist/src/util/BubbleForInstructions.d.ts +0 -16
- package/dist/src/util/Instructions.d.ts +0 -14
- package/eslint.config.mjs +0 -73
- package/rollup.config.mjs +0 -62
package/dist/index.cjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/components/MapLibreMap/lib/MapLibreGlWrapper.ts","../src/ui_components/MapcomponentsTheme.tsx","../src/omt_styles/config.ts","../src/contexts/LayerContext.tsx","../src/contexts/MapContext.tsx","../src/components/MapLibreMap/MapLibreMap.tsx","../src/hooks/useMapState.ts","../src/hooks/useMap.ts","../src/components/MlCenterPosition/MlCenterPosition.tsx","../src/components/MlComponentTemplate/MlComponentTemplate.tsx","../src/hooks/useExportMap/lib.ts","../src/hooks/useExportMap/index.ts","../src/components/MlCreatePdfButton/MlCreatePdfButton.tsx","../src/components/MlCreatePdfForm/lib/pdf.templates.ts","../src/components/MlCreatePdfForm/lib/PdfContext.tsx","../src/components/MlCreatePdfForm/lib/PdfPreview.tsx","../src/components/MlCreatePdfForm/lib/PdfForm.tsx","../src/components/MlCreatePdfForm/MlCreatePdfForm.tsx","../src/hooks/useFeatureEditor/utils/FeatureEditorStyle.tsx","../src/hooks/useFeatureEditor/useFeatureEditor.tsx","../src/components/MlFeatureEditor/MlFeatureEditor.tsx","../src/hooks/useLayer.ts","../src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx","../src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts","../src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts","../src/hooks/useSource.ts","../src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx","../src/components/MlFollowGps/MlFollowGps.tsx","../src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx","../src/components/MlMeasureTool/MlMeasureTool.tsx","../src/ui_components/LayerList/LayerList.tsx","../src/ui_components/LayerList/LayerListFolder.tsx","../src/ui_components/ColorPicker/transformers.ts","../src/ui_components/ColorPicker/ColorPicker.tsx","../src/ui_components/LayerList/util/input/ColorPicker.tsx","../src/ui_components/LayerList/util/LayerPropertyForm.tsx","../src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx","../src/ui_components/ConfirmDialog.tsx","../src/ui_components/LayerList/util/SortableContainer.tsx","../src/ui_components/LayerList/LayerListItem.tsx","../src/ui_components/Sidebar.tsx","../src/components/MlMultiMeasureTool/MlMultiMeasureTool.tsx","../src/components/MlNavigationCompass/assets/CompassBackground.tsx","../src/components/MlNavigationCompass/assets/CompassNeedle.tsx","../src/components/MlNavigationCompass/MlNavigationCompass.tsx","../src/components/MlGlobeButton/MlGlobeButton.tsx","../src/components/MlNavigationTools/MlNavigationTools.tsx","../src/components/MlLayer/MlLayer.tsx","../src/components/MlScaleReference/MlScaleReference.tsx","../src/components/MlLayerMagnify/MlLayerMagnify.tsx","../src/components/MlLayerSwipe/assets/SwipeIcon.tsx","../src/components/MlLayerSwipe/MlLayerSwipe.tsx","../src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js","../src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx","../src/components/MlMarker/MlMarker.tsx","../src/hooks/useGpx/lib/gpxConverter.js","../src/hooks/useGpx/useGpx.tsx","../src/hooks/useLayerHoverPopup/LayerHoverPopup.tsx","../src/components/MlGpxViewer/MlGpxViewer.tsx","../src/components/MlGpxViewer/util/GeoJsonContext.ts","../src/components/MlGpxViewer/util/GeoJsonProvider.tsx","../src/components/MlShareMapState/MlShareMapState.tsx","../src/components/MlSpatialElevationProfile/util/getElevationData.tsx","../src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx","../src/components/MlVectorTileLayer/MlVectorTileLayer.tsx","../src/components/MlOgcApiFeatures/MlOgcApiFeatures.tsx","../src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.tsx","../src/components/MlWmsLayer/MlWmsLayer.tsx","../src/hooks/useWms.ts","../src/components/MlWmsLoader/MlWmsLoader.tsx","../src/components/MlTemporalController/utils/paintPicker.tsx","../src/components/MlTemporalController/utils/MlTemporalControllerLabels.tsx","../src/components/MlTemporalController/utils/TemporalControllerPlayer.tsx","../src/components/MlTemporalController/utils/useFilterData.tsx","../src/components/MlTemporalController/MlTemporalController.tsx","../src/components/MlOrderLayers/MlOrderLayers.tsx","../src/components/MlTerrainLayer/MlTerrainLayer.tsx","../src/components/MlSketchTool/MlSketchTool.tsx","../src/hooks/useCameraFollowPath/useCameraFollowPath.tsx","../src/hooks/useLayerFilter/useLayerFilter.ts","../src/hooks/useLayerEvent.js","../src/hooks/useLayerContext.ts","../src/hooks/useAddProtocol/useAddProtocol.tsx","../src/protocol_handlers/utils/protocolPathParser.ts","../src/protocol_handlers/utils/getProtocolData.ts","../src/protocol_handlers/csv.ts","../src/protocol_handlers/osm.ts","../src/protocol_handlers/topojson.ts","../src/protocol_handlers/xml.ts","../src/hooks/useAddImage/useAddImage.tsx","../src/contexts/SimpleDataContext.tsx","../src/contexts/SimpleDataProvider.tsx","../src/ui_components/LayerList/LayerListItemFactory.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/GeoJsonLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/LayerTypeForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/WmsLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/CSVOptionsFomular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/OsmOptionsFomular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/ProtocolHandlerLayerForm.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/utils/MbtilesLayerPropFormular.tsx","../src/ui_components/AddLayerButton/LayerConfigForms/MbtilesLayerForm.tsx","../src/ui_components/AddLayerButton/AddLayerPopup.tsx","../src/ui_components/AddLayerButton/AddLayerButton.tsx","../src/ui_components/TopToolbar.tsx","../src/ui_components/UploadButton.tsx","../src/ui_components/SelectStyleButton/SelectStylePopup.tsx","../src/omt_styles/monokai.ts","../src/omt_styles/solarized.ts","../src/omt_styles/oceanic_next.ts","../src/omt_styles/medieval_kingdom.ts","../src/omt_styles/gruvbox.ts","../src/ui_components/SelectStyleButton/SelectStyleButton.tsx","../src/ui_components/SpeedDial/SpeedDial.tsx","../src/stores/map.store.ts","../src/ui_components/LayerTree/util/input/ColorPicker.tsx","../src/ui_components/LayerTree/util/LayerPropertyForm.tsx","../src/ui_components/LayerTree/LayerTreeListItem.tsx","../src/ui_components/LayerTree/LayerTree.tsx","../src/ui_components/LayerTree/LayerOnMap.tsx","../src/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport {\n\tMap,\n\tIControl,\n\tMapOptions as MapOptionsType,\n\tMapEventType,\n\tMapLayerEventType,\n\tStyleImageInterface,\n\tLayerSpecification,\n\tCustomLayerInterface,\n\tSourceSpecification,\n\tControlPosition,\n\tStyleImageMetadata,\n} from 'maplibre-gl';\nimport { Map as MapType, Style } from 'maplibre-gl';\n\ntype WrapperEventArgArray = [MapLibreGlWrapperEventName, MapLibreGlWrapperEventHandlerType];\ntype EventArgArray = [\n\tkeyof MapLayerEventType | keyof MapEventType,\n\tstring | ((arg0: unknown) => void),\n\t((arg0: unknown) => void)?,\n];\ntype LayerState = {\n\tid: string;\n\ttype: string;\n\tvisible: boolean;\n\tbaseLayer: boolean;\n};\ntype ViewportState = {\n\tcenter: { lng: number; lat: number };\n\tzoom: number;\n\tbearing: number;\n\tpitch: number;\n};\n\n\n/**\n * Creates a MapLibre-gl-js instance and offers all of the native MapLibre functions and properties as well as additional functionality such as element registration & cleanup and more events.\n *\n * @param {object} props\n *\n * @class\n */\n\n// @ts-ignore\ninterface MapLibreGlWrapper extends MapType {\n\taddImage: (\n\t\tid: string,\n\t\timage:\n\t\t\t| HTMLImageElement\n\t\t\t| ImageBitmap\n\t\t\t| ImageData\n\t\t\t| {\n\t\t\t\t\twidth: number;\n\t\t\t\t\theight: number;\n\t\t\t\t\tdata: Uint8Array | Uint8ClampedArray;\n\t\t\t }\n\t\t\t| StyleImageInterface,\n\t\tkey?: Partial<StyleImageMetadata> | string | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\taddLayer: (\n\t\tlayer:\n\t\t\t| (LayerSpecification & {\n\t\t\t\t\tsource?: string | SourceSpecification | undefined;\n\t\t\t })\n\t\t\t| (CustomLayerInterface & {\n\t\t\t\t\tsource?: string | SourceSpecification | undefined;\n\t\t\t }),\n\t\tbeforeId?: string | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\tcancelled: boolean;\n}\n\ninterface MapLibreGlWrapperEventHandlers {\n\tlayerchange: {\n\t\thandler: (ev: unknown) => void;\n\t\toptions?: object | string;\n\t}[];\n\tviewportchange: {\n\t\thandler: (ev: unknown) => void;\n\t\toptions?: object | string;\n\t}[];\n\taddsource: {\n\t\thandler: (\n\t\t\tev: unknown,\n\t\t\twrapper?: MapLibreGlWrapper,\n\t\t\tdata?: { [source_id: string]: string }\n\t\t) => void;\n\t}[];\n\taddlayer: {\n\t\thandler: (ev: unknown) => void;\n\t\toptions?: object | string;\n\t}[];\n}\n\nexport type MapLibreGlWrapperEventHandlerType =\n\t| MapLibreGlWrapperEventHandlers['layerchange'][number]['handler']\n\t| MapLibreGlWrapperEventHandlers['viewportchange'][number]['handler']\n\t| MapLibreGlWrapperEventHandlers['addsource'][number]['handler']\n\t| MapLibreGlWrapperEventHandlers['addlayer'][number]['handler'];\n\nexport type MapLibreGlEventName = keyof MapLayerEventType | keyof MapEventType | string;\n\nexport type MapLibreGlWrapperEventName = keyof MapLibreGlWrapperEventHandlers;\n\n\nclass MapLibreGlWrapper {\n\t[key: string]: any;\n\tregisteredElements: {\n\t\t[key: string]: {\n\t\t\tlayers: [string?];\n\t\t\tsources: [string?];\n\t\t\timages: [string?];\n\t\t\tcontrols: [(IControl | unknown)?];\n\t\t\tevents: [EventArgArray?];\n\t\t\twrapperEvents: [WrapperEventArgArray?];\n\t\t};\n\t};\n\tbaseLayers: [string?];\n\tfirstSymbolLayer: string | undefined;\n\teventHandlers: MapLibreGlWrapperEventHandlers;\n\twrapper: {\n\t\ton: (\n\t\t\teventName: MapLibreGlWrapperEventName,\n\t\t\thandler: MapLibreGlWrapperEventHandlerType,\n\t\t\toptions?: object | string,\n\t\t\tcomponentId?: string\n\t\t) => void;\n\t\toff: (type: string, handler: MapLibreGlWrapperEventHandlerType) => void;\n\t\tfire: (eventName: string, context?: unknown) => void;\n\t\tlayerState: LayerState[];\n\t\tlayerStateString: string;\n\t\toldLayerStateStrings: object;\n\t\tbuildLayerObject: (layer: ReturnType<Style['getLayer']>) => LayerState | undefined;\n\t\tbuildLayerObjects: () => LayerState[];\n\t\trefreshLayerState: () => void;\n\t\tviewportState: ViewportState;\n\t\tviewportStateString: string;\n\t\toldViewportStateString: string;\n\t\tgetViewport: () => {\n\t\t\tcenter: { lng: number; lat: number };\n\t\t\tzoom: number;\n\t\t\tbearing: number;\n\t\t\tpitch: number;\n\t\t};\n\t\trefreshViewport: () => void;\n\t};\n\tinitRegisteredElements: (componentId: string, force?: boolean | undefined) => void;\n\taddNativeMaplibreFunctionsAndProps: () => void;\n\tmap: MapType;\n\tstyle: Style;\n\n\tstyleJson: object;\n\taddSource: (id: string, source: SourceSpecification, componentId?: string | undefined) => this;\n\taddControl: (\n\t\tcontrol: IControl | unknown,\n\t\tposition?: ControlPosition | undefined,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\ton: (\n\t\ttype: MapLibreGlEventName,\n\t\tlayerId: string | ((ev: unknown) => void),\n\t\thandler?: ((ev: MapEventType & unknown) => Map | void) | string,\n\t\tcomponentId?: string | undefined\n\t) => this;\n\tcleanup: (componentId: string) => void;\n\n\tconstructor(props: {\n\t\tmapOptions: MapOptionsType;\n\t\tonReady: (map: MapType, context: unknown) => void;\n\t}) {\n\t\t// closure variable to safely point to the object context of the current MapLibreGlWrapper instance\n\t\t// eslint-disable-next-line @typescript-eslint/no-this-alias\n\t\tconst self = this;\n\n\t\t// element registration and cleanup on a component level is experimental\n\t\tthis.registeredElements = {};\n\n\t\t// array of base layer ids, all layers that have been added by the style passed to the MapLibreGl coonstructor\n\t\tthis.baseLayers = [];\n\n\t\t// layer id of the first symbol layer\n\t\tthis.firstSymbolLayer = undefined;\n\n\t\t// event handlers registered in MapLibreGlWrapper\n\t\tthis.eventHandlers = {\n\t\t\tlayerchange: [],\n\t\t\tviewportchange: [],\n\t\t\taddsource: [],\n\t\t\taddlayer: [],\n\t\t};\n\n\t\t// functions and properties provided by the wrapper\n\t\t// Add new functions and properties introduced by the wrapper to this object to prevent collisions due to future MapLibre API changes\n\t\tthis.wrapper = {\n\t\t\t/**\n\t\t\t * Subscribe the given event handler to an event\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {function} handler\n\t\t\t * @param {object} options\n\t\t\t * @param {string} componentId\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\ton: (\n\t\t\t\teventName: MapLibreGlWrapperEventName,\n\t\t\t\thandler: MapLibreGlWrapperEventHandlerType,\n\t\t\t\toptions?: object | string,\n\t\t\t\tcomponentId?: string\n\t\t\t) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tif (typeof options === 'string') {\n\t\t\t\t\tcomponentId = options;\n\t\t\t\t\toptions = {};\n\t\t\t\t}\n\n\t\t\t\tself.eventHandlers[eventName].push({ handler, options });\n\n\t\t\t\tconst _arguments: WrapperEventArgArray = [eventName, handler];\n\t\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\t\tself.registeredElements[componentId].wrapperEvents.push(_arguments);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Unsubscribes the given event handler from an event\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {function} handler\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\toff: (eventName: MapLibreGlWrapperEventName, handler: MapLibreGlWrapperEventHandlerType) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tself.eventHandlers[eventName] = self.eventHandlers[eventName].filter((item) => {\n\t\t\t\t\tif (!Object.is(item.handler, handler)) {\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Calls all event handlers that have been subscribed to the given eventName\n\t\t\t *\n\t\t\t * @param {string} eventName\n\t\t\t * @param {object} context\n\t\t\t * @returns {undefined}\n\t\t\t */\n\t\t\tfire: (eventName: MapLibreGlWrapperEventName, context: any) => {\n\t\t\t\tif (!self.eventHandlers[eventName]) return;\n\n\t\t\t\tconst scope = context || window;\n\t\t\t\tconst event = new Event(eventName);\n\n\t\t\t\tself.eventHandlers[eventName].forEach(function (\n\t\t\t\t\titem:\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['layerchange'][0]\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['viewportchange'][0]\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['addsource'][0]\n\t\t\t\t\t\t| MapLibreGlWrapper['eventHandlers']['addlayer'][0]\n\t\t\t\t) {\n\t\t\t\t\titem.handler.call(scope, event, self, context);\n\t\t\t\t});\n\t\t\t},\n\t\t\t/**\n\t\t\t * Array containing an object for each layer in the MapLibre instance providing information on visibility, loading state, order, paint & layout properties\n\t\t\t */\n\t\t\tlayerState: [],\n\t\t\t/**\n\t\t\t * Maps layerIds to layerState in JSON string form for quick deep comparisons\n\t\t\t */\n\t\t\tlayerStateString: '',\n\t\t\t/**\n\t\t\t * Previous Version of layerStateString\n\t\t\t */\n\t\t\toldLayerStateStrings: {},\n\t\t\t/**\n\t\t\t * Builds the layer info object for a given layer id\n\t\t\t *\n\t\t\t * @param {string} layer\n\t\t\t * @returns object\n\t\t\t */\n\t\t\tbuildLayerObject: (layer: ReturnType<Style['getLayer']>) => {\n\t\t\t\t//if (self.baseLayers.indexOf(layer.id) === -1) {\n\t\t\t\t//let paint = {};\n\t\t\t\t//let values = layer.paint?._values;\n\t\t\t\t//Object.keys(values || {}).map((propName) => {\n\t\t\t\t//\tpaint[propName] =\n\t\t\t\t//\t\ttypeof values[propName].value !== \"undefined\"\n\t\t\t\t//\t\t\t? values[propName].value.value\n\t\t\t\t//\t\t\t: values[propName];\n\t\t\t\t//});\n\t\t\t\t//let layout = {};\n\t\t\t\t//values = layer.layout?._values;\n\t\t\t\t//Object.keys(values || {}).map((propName) => {\n\t\t\t\t//\tlayout[propName] =\n\t\t\t\t//\t\ttypeof values[propName].value !== \"undefined\"\n\t\t\t\t//\t\t\t? values[propName].value.value\n\t\t\t\t//\t\t\t: values[propName];\n\t\t\t\t//});\n\t\t\t\tif (!layer) return;\n\t\t\t\treturn {\n\t\t\t\t\tid: layer.id,\n\t\t\t\t\ttype: layer.type,\n\t\t\t\t\tvisible: layer.visibility === 'none' ? false : true,\n\t\t\t\t\tbaseLayer: self.baseLayers.indexOf(layer.id) !== -1,\n\t\t\t\t\t//paint,\n\t\t\t\t\t//layout,\n\t\t\t\t\t//filter: layers[layerId].filter,\n\t\t\t\t\t//layout: layers[layerId].layout,\n\t\t\t\t\t//maxzoom: layers[layerId].maxzoom,\n\t\t\t\t\t//metadata: layers[layerId].metadata,\n\t\t\t\t\t//minzoom: layers[layerId].minzoom,\n\t\t\t\t\t//paint: layers[layerId].paint.get(),\n\t\t\t\t\t//source: layers[layerId].source,\n\t\t\t\t\t//sourceLayer: layers[layerId].sourceLayer,\n\t\t\t\t};\n\t\t\t\t//}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Returns an array of layer state info objects for all layers in the MapLibre instance\n\t\t\t *\n\t\t\t * @returns array\n\t\t\t */\n\t\t\tbuildLayerObjects: () => {\n\t\t\t\treturn self.map.style._order\n\t\t\t\t\t.map((layerId: string) => {\n\t\t\t\t\t\treturn self.wrapper.buildLayerObject(self.map.style._layers[layerId]);\n\t\t\t\t\t})\n\t\t\t\t\t.filter((n) => typeof n !== 'undefined') as LayerState[];\n\t\t\t},\n\t\t\t/**\n\t\t\t * Updates layer state info objects\n\t\t\t */\n\t\t\trefreshLayerState: () => {\n\t\t\t\tself.wrapper.layerState = self.wrapper.buildLayerObjects();\n\t\t\t\tif (JSON.stringify(self.wrapper.layerState) !== self.wrapper.layerStateString) {\n\t\t\t\t\tself.wrapper.fire('layerchange');\n\t\t\t\t\tself.wrapper.layerStateString = JSON.stringify(self.wrapper.layerState);\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Object containing information on the current viewport state\n\t\t\t */\n\t\t\tviewportState: {\n\t\t\t\tcenter: { lng: 0, lat: 0 },\n\t\t\t\tzoom: 0,\n\t\t\t\tbearing: 0,\n\t\t\t\tpitch: 0,\n\t\t\t},\n\t\t\t/**\n\t\t\t * The same data as viewportState in JSON string form for quick deep comparisons\n\t\t\t */\n\t\t\tviewportStateString: '{}',\n\t\t\t/**\n\t\t\t * Previous version of viewportStateString\n\t\t\t */\n\t\t\toldViewportStateString: '{}',\n\t\t\tgetViewport: () =>\n\t\t\t\ttypeof self.map.getCenter === 'function'\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tcenter: (({ lng, lat }) => ({ lng, lat }))(self.map.getCenter()),\n\t\t\t\t\t\t\tzoom: self.map.getZoom(),\n\t\t\t\t\t\t\tbearing: self.map.getBearing(),\n\t\t\t\t\t\t\tpitch: self.map.getPitch(),\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tcenter: { lng: 0, lat: 0 },\n\t\t\t\t\t\t\tzoom: 0,\n\t\t\t\t\t\t\tbearing: 0,\n\t\t\t\t\t\t\tpitch: 0,\n\t\t\t\t\t\t},\n\t\t\trefreshViewport: () => {\n\t\t\t\tself.wrapper.viewportState = self.wrapper.getViewport();\n\t\t\t},\n\t\t};\n\n\t\tthis.cancelled = false;\n\n\t\t/**\n\t\t * Initializes an empty registered elements object for the given componentId\n\t\t *\n\t\t * @param {string} componentId\n\t\t * @param {boolean} force\n\t\t */\n\t\tthis.initRegisteredElements = (componentId: string, force?: boolean | undefined) => {\n\t\t\tif (\n\t\t\t\ttypeof self.registeredElements[componentId] === 'undefined' ||\n\t\t\t\t(typeof force !== 'undefined' && force)\n\t\t\t) {\n\t\t\t\tself.registeredElements[componentId] = {\n\t\t\t\t\tlayers: [],\n\t\t\t\t\tsources: [],\n\t\t\t\t\timages: [],\n\t\t\t\t\tevents: [],\n\t\t\t\t\tcontrols: [],\n\t\t\t\t\twrapperEvents: [],\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addLayer function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {object} layer\n\t\t * @param {string} beforeId\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addLayer = (layer, beforeId, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof layer.id !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].layers.push(layer.id);\n\n\t\t\t\tif (layer?.source && typeof layer?.source !== 'string') {\n\t\t\t\t\tself.registeredElements[componentId].sources.push(layer.id);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tself.map.addLayer(layer, beforeId);\n\t\t\tself.wrapper.fire('addlayer', { layer_id: layer.id });\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addSource function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} sourceId\n\t\t * @param {object} source\n\t\t * @param {object} options\n\t\t * @param {string} componentId\n\t\t * @returns {undefined}\n\t\t */\n\t\tthis.addSource = (sourceId, source, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof sourceId !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].sources.push(sourceId);\n\t\t\t}\n\n\t\t\tself.map.addSource(sourceId, source);\n\t\t\tself.wrapper.fire('addsource', { source_id: sourceId });\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addImage function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} id\n\t\t * @param {*} image\n\t\t * @param {*} ref\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addImage = (id, image, meta, componentId) => {\n\t\t\tif (!self.map.style) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif (typeof meta === 'string' && typeof componentId === 'undefined') {\n\t\t\t\treturn self.addImage(id, image, undefined, meta);\n\t\t\t}\n\t\t\tif (componentId && typeof componentId === 'string' && typeof id !== 'undefined') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].images.push(id);\n\t\t\t}\n\n\t\t\tself.map.addImage(id, image, meta as Partial<StyleImageMetadata> | undefined);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js on function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {string} type\n\t\t * @param {string} layerId\n\t\t * @param {function} handler\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.on = (\n\t\t\ttype: MapLibreGlEventName,\n\t\t\tlayerId: string | ((ev: unknown) => void),\n\t\t\thandler: (ev: unknown) => void,\n\t\t\tcomponentId?: string\n\t\t) => {\n\t\t\tif (typeof handler === 'string' && typeof layerId === 'function') {\n\t\t\t\treturn self.on.call(self, type, undefined, layerId, handler);\n\t\t\t}\n\n\t\t\tlet _arguments: EventArgArray = [type as EventArgArray[0], layerId, handler];\n\t\t\tif (!layerId) {\n\t\t\t\t_arguments = [type, handler] as EventArgArray;\n\t\t\t}\n\n\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].events.push(_arguments);\n\t\t\t}\n\n\t\t\t \n\t\t\t// @ts-ignore\n\t\t\tself.map.on(..._arguments);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Overrides MapLibre-gl-js addControl function providing an additional componentId parameter for the wrapper element registration.\n\t\t *\n\t\t * @param {object} control\n\t\t * @param {string} position\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.addControl = (control, position, componentId) => {\n\t\t\tif (componentId && typeof componentId === 'string') {\n\t\t\t\tself.initRegisteredElements(componentId);\n\t\t\t\tself.registeredElements[componentId].controls.push(control);\n\t\t\t}\n\n\t\t\tself.map.addControl(control as IControl, position);\n\t\t\treturn this;\n\t\t};\n\n\t\t/**\n\t\t * Removes anything that has been added to the maplibre instance referenced with componentId\n\t\t *\n\t\t * @param {string} componentId\n\t\t */\n\t\tthis.cleanup = (componentId: string) => {\n\t\t\tif (self.map.style && typeof self.registeredElements[componentId] !== 'undefined') {\n\t\t\t\t// cleanup layers\n\t\t\t\tself.registeredElements[componentId].layers.forEach((item: string) => {\n\t\t\t\t\tif (self.map.style.getLayer(item)) {\n\t\t\t\t\t\tself.map.style.removeLayer(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup sources\n\t\t\t\tself.registeredElements[componentId].sources.forEach((item: string) => {\n\t\t\t\t\tif (self.map.style.getSource(item)) {\n\t\t\t\t\t\tself.map.style.removeSource(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup images\n\t\t\t\tself.registeredElements[componentId].images.forEach((item: string) => {\n\t\t\t\t\tif (self.map.hasImage(item)) {\n\t\t\t\t\t\tself.map.style.removeImage(item);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// cleanup events\n\t\t\t\tself.registeredElements[componentId].events.forEach((item: EventArgArray) => {\n\t\t\t\t\t \n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tself.map.off(...item);\n\t\t\t\t});\n\n\t\t\t\t// cleanup controls\n\t\t\t\tself.registeredElements[componentId].controls.forEach((item: IControl | unknown) => {\n\t\t\t\t\tself.map.removeControl(item as IControl);\n\t\t\t\t});\n\n\t\t\t\t// cleanup wrapper events\n\t\t\t\tself.registeredElements[componentId].wrapperEvents.forEach((item: WrapperEventArgArray) => {\n\t\t\t\t\tself.wrapper.off(...item);\n\t\t\t\t});\n\n\t\t\t\tself.initRegisteredElements(componentId, true);\n\t\t\t}\n\t\t};\n\n\t\t// add style prop functions that require map._update to be called afterwards\n\t\tconst updatingStyleFunctions = [\n\t\t\t'moveLayer',\n\t\t\t'removeLayer',\n\t\t\t'removeSource',\n\t\t\t'setPaintProperty',\n\t\t\t'setLayoutProperty',\n\t\t];\n\t\tupdatingStyleFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\t//@ts-ignore\n\t\t\t\tif (self.map && self.map.style && typeof self.map.style[item] === 'function') {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tself.map.style[item](...props);\n\t\t\t\t}\n\t\t\t\treturn self.map._update ? self.map._update(true) : undefined;\n\t\t\t};\n\t\t});\n\n\t\t// add style prop functions\n\t\tconst styleFunctions = [\n\t\t\t'getLayer',\n\t\t\t'getSource',\n\t\t\t'listImages',\n\t\t\t'getPaintProperty',\n\t\t\t'getLayoutProperty',\n\t\t\t'removeImage',\n\t\t];\n\t\tstyleFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\tif (self.map && self.map.style) {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn self.map.style[item](...props);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\t\t});\n\n\t\tthis.addNativeMaplibreFunctionsAndProps = () => {\n\t\t\t//\tadd MapLibre-gl functions\n\t\t\tObject.getOwnPropertyNames(Object.getPrototypeOf(this.map)).forEach((item) => {\n\t\t\t\tif (typeof this[item] === 'undefined') {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tthis[item] = (...props: any[]) => self.map[item](...props);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t//\tadd MapLibre-gl properties\n\t\t\tObject.keys(this.map).forEach((item) => {\n\t\t\t\tif (typeof this[item] === 'undefined') {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tthis[item] = self.map[item];\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// add functions that are missing on the MapLibre instances prototype\n\t\tconst missingFunctions = [\n\t\t\t'getZoom',\n\t\t\t'setZoom',\n\t\t\t'getCenter',\n\t\t\t'setCenter',\n\t\t\t'getBearing',\n\t\t\t'setBearing',\n\t\t\t'getPitch',\n\t\t\t'setPitch',\n\t\t\t'jumpTo',\n\t\t\t'flyTo',\n\t\t\t'panTo',\n\t\t\t'panBy',\n\t\t\t'panBy',\n\t\t\t'zoomTo',\n\t\t\t'zoomIn',\n\t\t\t'zoomOut',\n\t\t\t'getPadding',\n\t\t\t'setPadding',\n\t\t\t'rotateTo',\n\t\t\t'resetNorth',\n\t\t\t'resetNorthPitch',\n\t\t\t'snapToNorth',\n\t\t\t'cameraForBounds',\n\t\t\t'fitBounds',\n\t\t\t'fitScreenCoordinates',\n\t\t\t'getFreeCameraOptions',\n\t\t\t'setFreeCameraOptions',\n\t\t\t'easeTo',\n\t\t\t'stop',\n\t\t];\n\t\tmissingFunctions.forEach((item) => {\n\t\t\tthis[item] = (...props: any[]) => {\n\t\t\t\t//@ts-ignore\n\t\t\t\tif (typeof self.map[item] === 'function') {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\treturn self.map[item].call(self.map, ...props);\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t});\n\n\t\t// initialize the MapLibre-gl instance\n\t\tconst initializeMapLibre = async () => {\n\t\t\t// if mapOptions style URL is given and if it is not a mapbox URL fetch the json and initialize the mapbox object\n\t\t\tif (\n\t\t\t\ttypeof props.mapOptions.style === 'string' &&\n\t\t\t\tprops.mapOptions.style.indexOf('mapbox://') === -1\n\t\t\t) {\n\t\t\t\tawait fetch(props.mapOptions.style)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (response.ok) {\n\t\t\t\t\t\t\treturn response.json();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error('error loading map style.json');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.then((styleJson) => {\n\t\t\t\t\t\tstyleJson.layers.forEach((item: any) => {\n\t\t\t\t\t\t\tself.baseLayers.push(item.id);\n\t\t\t\t\t\t\tif (!self.firstSymbolLayer && item.type === 'symbol') {\n\t\t\t\t\t\t\t\tself.firstSymbolLayer = item.id;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tself.styleJson = styleJson;\n\t\t\t\t\t\tprops.mapOptions.style = styleJson;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tself.map = new Map(props.mapOptions) as MapType;\n\n\t\t\tself.addNativeMaplibreFunctionsAndProps();\n\t\t\tself.wrapper.refreshViewport();\n\t\t\tself.wrapper.fire('viewportchange');\n\n\t\t\tself.map.on('load', () => {\n\t\t\t\tself.addNativeMaplibreFunctionsAndProps();\n\t\t\t});\n\n\t\t\tself.map.on('move', () => {\n\t\t\t\tself.wrapper.viewportState = self.wrapper.getViewport();\n\t\t\t\tself.wrapper.fire('viewportchange');\n\t\t\t});\n\t\t\tself.map.on('idle', () => {\n\t\t\t\tself.wrapper.refreshLayerState();\n\t\t\t});\n\t\t\tself.map.on('data', () => {\n\t\t\t\tself.wrapper.refreshLayerState();\n\t\t\t});\n\t\t\tif (typeof props.onReady === 'function') {\n\t\t\t\tprops.onReady(self.map, self);\n\t\t\t}\n\t\t};\n\t\tinitializeMapLibre();\n\t}\n}\nexport default MapLibreGlWrapper;\n\nexport type { LayerState, ViewportState };\n","import { ListItemTextProps } from '@mui/material';\nimport { createTheme } from '@mui/material/styles';\nimport { Theme } from '@mui/system';\n\ndeclare module '@mui/material' {\n\tinterface Palette {\n\t\ttopToolbar: { barColor: string };\n\t\tnavigation: { buttonColor: string, navColor: string; navHover: string };\n\t\tGPS: { GPSActiveColor: string; GPSInactiveColor: string; GPSActiveBackgroundColor: string };\n\t\tcompass: {\n\t\t\tcompColor: string;\n\t\t\tcompHover: string;\n\t\t\tcompStroke: string;\n\t\t\tcompNorth: string;\n\t\t\tcompSouth: string;\n\t\t};\n\t}\n}\ndeclare module '@mui/material/Button' {\n\tinterface ButtonPropsVariantOverrides {\n\t\tnavtools: true;\n\t}\n}\ndeclare module '@mui/material' {\n\texport interface ListItemTextProps {\n\t\tvariant?: 'layerlist';\n\t}\n}\n\nconst lightDefault = createTheme({\n\tpalette: {\n\t\tmode: 'light',\n\t},\n});\nconst darkDefault = createTheme({\n\tpalette: {\n\t\tmode: 'dark',\n\t},\n});\n\nconst getDesignTokens = (mode: 'light' | 'dark') => ({\n\t...(mode === 'light' ? lightDefault : darkDefault),\n\tpalette: {\n\t\tmode,\n\t\t...(mode === 'dark'\n\t\t\t? {\n\t\t\t\t\tprimary: {\n\t\t\t\t\t\tmain: '#009EE0',\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: { main: '#747577' },\n\t\t\t\t\tbackground: { paper: '#313131' },\n\t\t\t\t\ttext: {\n\t\t\t\t\t\tprimary: '#FFF',\n\t\t\t\t\t\tcontrast: '#000',\n\t\t\t\t\t},\n\t\t\t\t\ttopToolbar: { barColor: '#000' },\n\t\t\t\t\tnavigation: { buttonColor: '#fff', navColor: '#313131', navHover: '#747577' },\n\t\t\t\t\tGPS: {\n\t\t\t\t\t\tGPSActiveColor: '#fff',\n\t\t\t\t\t\tGPSInactiveColor: '#fff',\n\t\t\t\t\t\tGPSActiveBackgroundColor: '#747577',\n\t\t\t\t\t},\n\t\t\t\t\tcompass: {\n\t\t\t\t\t\tcompColor: '#313131',\n\t\t\t\t\t\tcompHover: '#747577',\n\t\t\t\t\t\tcompStroke: '#d3dce1',\n\t\t\t\t\t\tcompNorth: '#cf003f',\n\t\t\t\t\t\tcompSouth: '#d3dcf0',\n\t\t\t\t\t},\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tprimary: {\n\t\t\t\t\t\tmain: '#009EE0',\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: { main: '#747577' },\n\t\t\t\t\ttext: {\n\t\t\t\t\t\tprimary: '#000',\n\t\t\t\t\t\tcontrast: '#fff',\n\t\t\t\t\t},\n\t\t\t\t\ttopToolbar: { barColor: '#fff' },\n\t\t\t\t\tnavigation: { buttonColor: '#747577', navColor: '#fff', navHover: '#f5f5f5' },\n\t\t\t\t\tGPS: {\n\t\t\t\t\t\tGPSActiveColor: '#009EE0',\n\t\t\t\t\t\tGPSInactiveColor: '#747577',\n\t\t\t\t\t\tGPSActiveBackgroundColor: '#fff',\n\t\t\t\t\t},\n\t\t\t\t\tcompass: {\n\t\t\t\t\t\tcompColor: '#fff',\n\t\t\t\t\t\tcompHover: '#f5f5f5',\n\t\t\t\t\t\tcompStroke: '#009ee0',\n\t\t\t\t\t\tcompNorth: '#cf003f',\n\t\t\t\t\t\tcompSouth: '#d3dcf0',\n\t\t\t\t\t},\n\t\t\t }),\n\t},\n});\nconst getTheme = (mode: 'light' | 'dark' | undefined) => {\n\tconst theme: Theme = getDesignTokens(\n\t\tmode && ['light', 'dark'].includes(mode as string) ?\n\t\t(mode) :\n\t\t'light');\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\treturn createTheme(theme, {\n\t\tcomponents: {\n\t\t\tMuiTypography: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\troot: {},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMuiAppBar: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\troot: {\n\t\t\t\t\t\tbackgroundColor: theme.palette.topToolbar.barColor,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMuiButton: {\n\t\t\t\tvariants: [\n\t\t\t\t\t{\n\t\t\t\t\t\tprops: { variant: 'navtools' },\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tminWidth: '20px',\n\t\t\t\t\t\t\tminHeight: '20px',\n\t\t\t\t\t\t\tfontWeight: 600,\n\t\t\t\t\t\t\t[theme.breakpoints.down('md')]: {\n\t\t\t\t\t\t\t\twidth: '50px',\n\t\t\t\t\t\t\t\theight: '50px',\n\t\t\t\t\t\t\t\tfontSize: '1.4em',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[theme.breakpoints.up('md')]: {\n\t\t\t\t\t\t\t\twidth: '30px',\n\t\t\t\t\t\t\t\theight: '30px',\n\t\t\t\t\t\t\t\tfontSize: '1.2em',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolor: theme.palette.text.primary,\n\t\t\t\t\t\t\tbackgroundColor: theme.palette.navigation.navColor,\n\t\t\t\t\t\t\tborderRadius: '23%',\n\t\t\t\t\t\t\tmargin: '0.15px',\n\t\t\t\t\t\t\tmarginTop: '4px',\n\t\t\t\t\t\t\t':hover': {\n\t\t\t\t\t\t\t\tbackgroundColor: theme.palette.navigation.navHover,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tMuiListItemText: {\n\t\t\t\tstyleOverrides: {\n\t\t\t\t\tprimary: ({ ownerState }: { ownerState: ListItemTextProps }) => {\n\t\t\t\t\t\tif (ownerState?.variant === 'layerlist') {\n\t\t\t\t\t\t\treturn { fontSize: '0.9rem' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t},\n\t\t\t\t\tsecondary: ({ ownerState }: { ownerState: ListItemTextProps }) => {\n\t\t\t\t\t\tif (ownerState?.variant === 'layerlist') {\n\t\t\t\t\t\t\treturn { fontSize: '0.7rem' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n};\n\nexport default getTheme;\n","export default {\n source_openmaptiles_url:'https://wms.wheregroup.com/tileserver/tile/world-0-14.json',\n sprite:'https://wms.wheregroup.com/tileserver/sprites/osm-bright',\n glyphs:'https://wms.wheregroup.com/tileserver/fonts/{fontstack}/{range}.pbf',\n sourceOptions_tiles:['https://wms.wheregroup.com/tileserver/tile/world-0-14/{z}/{x}/{y}.pbf']\n}","import { LayerSpecification, StyleSpecification } from 'maplibre-gl';\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { MlVectorTileLayerProps } from '../components/MlVectorTileLayer/MlVectorTileLayer';\nimport config from '../omt_styles/config';\nimport { MlGeoJsonLayerProps } from '../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Layer } from 'wms-capabilities';\n\nexport interface LayerContextProps {\n\tchildren: \n\tReact.ReactNode;\n}\n\nexport interface wmsLoaderConfigProps{\n\tgetFeatureInfoUrl: string,\nlayers: Layer[] , \nname: string,\nopen: boolean,\nvisible: boolean ,\nwmsUrl: string\n}\nexport interface wmsConfig{\nfeatureInfoActive?: boolean;\nconfig?: wmsLoaderConfigProps,\nurl: string\n}\n\nexport type WmsLayerConfig = {\n\ttype: 'wms';\n\tname?: string;\n\tid?: string;\n\tconfig: wmsConfig;\n};\nexport type GeojsonLayerConfig = {\n\ttype: 'geojson';\n\tname?: string;\n\tid?: string;\n\tconfig: MlGeoJsonLayerProps;\n};\nexport type VtLayerConfig = {\n\ttype: 'vt';\n\tname?: string;\n\tid?: string;\n\tconfig: MlVectorTileLayerProps;\n};\n\nexport type LayerConfig = WmsLayerConfig | GeojsonLayerConfig | VtLayerConfig;\n\nexport interface LayerContextType {\n\tlayers: LayerConfig[];\n\tsetLayers: (layers: LayerConfig[] | ((layers: LayerConfig[]) => LayerConfig[])) => void;\n\tbackgroundLayers: MlVectorTileLayerProps['layers'];\n\tsetBackgroundLayers: (\n\t\tlayers:\n\t\t\t| MlVectorTileLayerProps['layers']\n\t\t\t| ((layers: MlVectorTileLayerProps['layers']) => MlVectorTileLayerProps['layers'])\n\t) => void;\n\tsymbolLayers: MlVectorTileLayerProps['layers'];\n\tsetSymbolLayers: (\n\t\tlayers:\n\t\t\t| MlVectorTileLayerProps['layers']\n\t\t\t| ((layers: MlVectorTileLayerProps['layers']) => MlVectorTileLayerProps['layers'])\n\t) => void;\n\tupdateStyle: (style: StyleSpecification) => void;\n\tvtLayerConfig: Partial<MlVectorTileLayerProps>;\n\tsetTileUrl: (url: string) => void;\n\ttileUrl: string;\n\tmoveUp: (layerId: string) => void;\n\tmoveDown: (layerId: string) => void;\n\tmoveLayer: (layerId: string, getNewPos: (oldPos: number) => number) => void;\n}\n\nconst LayerContext = React.createContext({} as LayerContextType);\n\nfunction LayerContextProvider(props: LayerContextProps) {\n\tconst [layers, setLayers] = React.useState<LayerConfig[]>([]);\n\tconst [backgroundLayers, setBackgroundLayers] = React.useState<LayerSpecification[]>([]);\n\tconst [symbolLayers, setSymbolLayers] = React.useState<LayerSpecification[]>([]);\n\tconst [tileUrl, setTileUrl] = React.useState<string>(config.sourceOptions_tiles[0]);\n\n\tconst vtLayerConfig = useMemo<Partial<MlVectorTileLayerProps>>(\n\t\t() => ({\n\t\t\tlayerId: 'openmaptiles',\n\t\t\tsourceOptions: {\n\t\t\t\ttype: 'vector' as const,\n\t\t\t\ttiles: [tileUrl],\n\t\t\t},\n\t\t}),\n\t\t[tileUrl]\n\t);\n\n\tconst updateStyle = (style: StyleSpecification) => {\n\t\tif (!style) return;\n\n\t\tconst backgroundLayers: LayerSpecification[] = [];\n\t\tconst symbolLayers: LayerSpecification[] = [];\n\t\tstyle.layers.forEach((layer: LayerSpecification, idx: number) => {\n\t\t\tif (layer.type === 'symbol') {\n\t\t\t\tsymbolLayers.push(layer);\n\t\t\t} else {\n\t\t\t\tif (idx === 0) layer.id = style.name || 'background';\n\t\t\t\tbackgroundLayers.push(layer);\n\t\t\t}\n\t\t});\n\t\tsetBackgroundLayers(backgroundLayers);\n\t\tsetSymbolLayers(symbolLayers);\n\t};\n\n\tuseEffect(() => {\n\t\tif (layers.filter((el) => !el?.id).length) {\n\t\t\tconst _layers = [...layers];\n\t\t\t_layers.forEach((el) => {\n\t\t\t\tif (!el?.id) {\n\t\t\t\t\tel.id = uuidv4();\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetLayers(_layers);\n\t\t}\n\t}, [layers]);\n\n\tconst moveLayer = useCallback(\n\t\t(layerId: string, getNewPos: (oldPos: number) => number) => {\n\t\t\tconst targetLayer = layers?.filter?.((el) => el.id === layerId);\n\n\t\t\tif (targetLayer.length > 0) {\n\t\t\t\tconst newLayers = [...layers];\n\t\t\t\tconst element = targetLayer[0];\n\t\t\t\tconst idx = layers.indexOf(element);\n\t\t\t\tconst newPos = getNewPos(idx);\n\t\t\t\tif (newPos >= 0 && newPos <= layers.length - 1) {\n\t\t\t\t\tnewLayers.splice(idx, 1);\n\t\t\t\t\tnewLayers.splice(newPos, 0, element);\n\t\t\t\t\tsetLayers(newLayers);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[layers]\n\t);\n\n\tconst moveDown = useCallback(\n\t\t(layerId: string) => {\n\t\t\tmoveLayer(layerId, (idx) => idx + 1);\n\t\t},\n\t\t[moveLayer]\n\t);\n\n\tconst moveUp = useCallback(\n\t\t(layerId: string) => {\n\t\t\tmoveLayer(layerId, (idx) => idx - 1);\n\t\t},\n\t\t[moveLayer]\n\t);\n\n\tconst value = {\n\t\tlayers,\n\t\tsetLayers,\n\t\tbackgroundLayers,\n\t\tsetBackgroundLayers,\n\t\tsymbolLayers,\n\t\tsetSymbolLayers,\n\t\tupdateStyle,\n\t\tvtLayerConfig,\n\t\ttileUrl,\n\t\tsetTileUrl,\n\t\tmoveUp,\n\t\tmoveDown,\n\t\tmoveLayer,\n\t} as LayerContextType;\n\n\treturn <LayerContext.Provider value={value}>{props.children}</LayerContext.Provider>;\n}\n\nexport default LayerContext;\nexport { LayerContextProvider };\n","import React, { useState, useRef, ReactNode } from 'react';\nimport MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { ThemeProvider as MUIThemeProvider } from '@mui/material/styles';\nimport getTheme from '../ui_components/MapcomponentsTheme';\nimport { LayerContextProvider } from './LayerContext';\n\nexport interface MapContextType {\n\tmapIds: string[];\n\tmapExists: (map_id: string | undefined) => boolean;\n\tmaps: { [key: string]: MapLibreGlWrapper };\n\tmap: MapLibreGlWrapper | undefined;\n\tgetMap: (map_id: string | undefined) => MapLibreGlWrapper;\n\tsetMap: (map: MapLibreGlWrapper) => void;\n\tremoveMap: (map_id: string | undefined) => void;\n\tregisterMap: (map_id: string | undefined, map: MapLibreGlWrapper) => void;\n}\nconst MapContext = React.createContext({} as MapContextType);\n\n/**\n * MapComponentsProvider must be imported and wrapped around component where at least one of its child nodes requires access to a MapLibre-gl or openlayers instance that is registered in this mapContext.\nMapComponentsProvider must be used one level higher than the first use of MapContext.\n *\n * MapComponentsProvider requires at least one use of the MapLibreMap component somewhere down the component tree that will create the MapLibre-gl object and set the reference at MapContext.map. For MapLibre maps it is a good idea to provide a mapId attribute to the MapLibreMap Component even if you are only using a single map instance at start. It will make a later transition to using multiple instances within the same project much easier.\n */\n\nconst MapComponentsProvider = ({ children }: { children: ReactNode }) => {\n\tconst [map, setMap] = useState<MapLibreGlWrapper | undefined>(undefined);\n\tconst [mapIds, setMapIds] = useState<[...string[]]>([]);\n\tconst mapIds_raw = useRef<[...string[]]>([]);\n\tconst maps = useRef<{ [key: string]: MapLibreGlWrapper }>({});\n\n\tconst removeMap = (mapId: string) => {\n\t\tif (mapId) {\n\t\t\tif (typeof maps.current[mapId] !== 'undefined') {\n\t\t\t\tdelete maps.current[mapId];\n\t\t\t}\n\t\t\tconst mapIdIndex = mapIds_raw.current.indexOf(mapId);\n\t\t\tif (mapIdIndex > -1) {\n\t\t\t\tmapIds_raw.current.splice(mapIdIndex, 1);\n\t\t\t}\n\t\t\tsetMapIds([...mapIds_raw.current]);\n\n\t\t\tif (mapIds_raw.current.length === 0 && map) {\n\t\t\t\tsetMap(undefined);\n\t\t\t}\n\t\t} else {\n\t\t\tremoveMap('anonymous_map');\n\t\t}\n\t};\n\n\tconst setMapHandler = (mapInstance: MapLibreGlWrapper) => {\n\t\tsetMap(mapInstance);\n\n\t\tif (mapIds.length === 0) {\n\t\t\tconst mapId = 'anonymous_map';\n\t\t\tsetMapIds([...mapIds, mapId]);\n\t\t\tmaps.current[mapId] = mapInstance;\n\t\t}\n\t};\n\n\tconst value = {\n\t\tmap: map,\n\t\tsetMap: setMapHandler,\n\t\tmaps: maps.current,\n\t\tmapIds: mapIds,\n\t\tregisterMap: (mapId: string, mapInstance: MapLibreGlWrapper) => {\n\t\t\tif (mapId && mapInstance) {\n\t\t\t\tmaps.current[mapId] = mapInstance;\n\t\t\t\tmapIds_raw.current.push(mapId);\n\t\t\t\tsetMapIds([...mapIds_raw.current]);\n\n\t\t\t\tif (!map || map?.cancelled === true) {\n\t\t\t\t\tsetMap(mapInstance);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tremoveMap,\n\t\tmapExists: (mapId: string | undefined) => {\n\t\t\tif (mapId && Object.keys(maps.current).indexOf(mapId) === -1) {\n\t\t\t\treturn false;\n\t\t\t} else if (!mapId && !map) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tgetMap: (mapId: string): MapLibreGlWrapper | null => {\n\t\t\tif (mapId && mapIds.indexOf(mapId) !== -1) {\n\t\t\t\treturn maps.current[mapId];\n\t\t\t} else if (!mapId && map) {\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t} as unknown as MapContextType;\n\n\treturn (\n\t\t<MapContext.Provider value={value}>\n\t\t\t<LayerContextProvider>\n\t\t\t\t<MUIThemeProvider theme={getTheme('light')}>{children}</MUIThemeProvider>\n\t\t\t</LayerContextProvider>\n\t\t</MapContext.Provider>\n\t);\n};\n\nexport { MapComponentsProvider };\nexport default MapContext;\n","import React, { useRef, useEffect, useContext, FC, RefObject } from 'react';\n\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\nimport MapLibreGlWrapper from './lib/MapLibreGlWrapper';\n\nimport { MapOptions as MapOptionsType, Map } from 'maplibre-gl';\nimport 'maplibre-gl/dist/maplibre-gl.css';\n\nexport type MapLibreMapProps = {\n\t/**\n\t * Id of the MapLibreGl(Wrapper) instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Config object that is passed to the MapLibreGl constructor as first parameter.\n\t * See https://maplibre.org/maplibre-gl-js-docs/api/map/ for a formal documentation of al\n\t * available properties.\n\t */\n\toptions?: Partial<MapOptionsType>;\n\t/**\n\t * css style definition passed to the map container DOM element\n\t */\n\tstyle?: object;\n\n\n};\n\nconst defaultProps: MapLibreMapProps = {\n\tmapId: undefined,\n\toptions: {\n\t\tcenter: { lng: 8.607, lat: 53.1409349 },\n\t\tzoom: 11,\n\t\tcontainer: '',\n\t\tstyle: {\n\t\t\tversion: 8,\n\t\t\tname: 'blank',\n\t\t\tcenter: [0, 0],\n\t\t\tzoom: 0,\n\t\t\tsources: {},\n\t\t\tsprite: 'https://wms.wheregroup.com/tileserver/sprites/osm-bright',\n\t\t\tglyphs: 'https://wms.wheregroup.com/tileserver/fonts/{fontstack}/{range}.pbf',\n\t\t\tlayers: [\n\t\t\t\t{\n\t\t\t\t\tid: '_background',\n\t\t\t\t\ttype: 'background',\n\t\t\t\t\tpaint: {\n\t\t\t\t\t\t'background-color': 'rgba(0,0,0,0)',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\ntype MapLibreMapComponent = FC<MapLibreMapProps> & { defaultProps: MapLibreMapProps };\n\n/**\n * Creates a MapLibreGlWrapper instance and registers it in MapContext\n * after the MapLibre-gl load event has fired.\n *\n * MapLibreMap returns the html node that will be used by MapLibre-gl to render the map.\n * This Component must be kept unaware of any related components that interact with the MapLibre-gl\n * instance.\n *\n * @category Map components\n */\nconst MapLibreMap: MapLibreMapComponent = (props: MapLibreMapProps) => {\n\tconst mapRef = useRef<MapLibreGlWrapper | null>(null);\n\tconst mapContainer = useRef<HTMLDivElement | null>(null);\n\n\tconst mapContext = useContext<MapContextType>(MapContext);\n\n\tconst mapIdRef = useRef(props.mapId);\n\tconst initializedRef = useRef(false);\n\tconst currentStyle = useRef(props.options?.style);\n\n\tuseEffect(() => {\n\t\tconst mapId = mapIdRef.current;\n\n\t\treturn () => {\n\t\t\tinitializedRef.current = false;\n\t\t\tmapContext.removeMap(mapId);\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.map?.remove?.();\n\t\t\t\tmapRef.current.cancelled = true;\n\t\t\t\tmapRef.current = null;\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\n\t\tif (mapContainer.current) {\n\t\t\tinitializedRef.current = true;\n\t\t\tmapRef.current = new MapLibreGlWrapper({\n\t\t\t\tmapOptions: {\n\t\t\t\t\tstyle: '',\n\t\t\t\t\t...props.options,\n\t\t\t\t\t...(props?.options?.style ? {} : { style: defaultProps?.options?.style }),\n\t\t\t\t\tcontainer: mapContainer.current,\n\t\t\t\t},\n\t\t\t\tonReady: (map: Map, wrapper: MapLibreGlWrapper) => {\n\t\t\t\t\tmap.once('load', () => {\n\t\t\t\t\t\tif (!wrapper?.cancelled) {\n\t\t\t\t\t\t\t// add maplibre instance to window for debugging purposes\n\t\t\t\t\t\t\t(window as {[key:string]: any})['_map'] = map;\n\t\t\t\t\t\t\tif (props.mapId) {\n\t\t\t\t\t\t\t\tmapContext.registerMap(props.mapId, wrapper);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmapContext.setMap(wrapper);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmap.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [props.options, props.mapId]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmapRef.current?.map &&\n\t\t\tprops?.options?.style &&\n\t\t\tcurrentStyle.current !== props.options.style\n\t\t) {\n\t\t\tcurrentStyle.current = props.options.style;\n\t\t\tmapRef.current.map.setStyle(props.options.style);\n\t\t}\n\t}, [props?.options?.style]);\n\n\treturn (\n\t\t<div\n\t\t\tref={mapContainer as RefObject<HTMLDivElement>}\n\t\t\tclassName=\"mapContainer\"\n\t\t\tstyle={props.style}\n\t\t/>\n\t);\n};\n\nMapLibreMap.defaultProps = defaultProps;\n\nexport default MapLibreMap;\n","import { useContext, useCallback, useState, useEffect, useRef } from \"react\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapContext, { MapContextType } from \"../contexts/MapContext\";\nimport MapLibreGlWrapper, {\n\tLayerState,\n\tViewportState,\n} from \"../components/MapLibreMap/lib/MapLibreGlWrapper\";\n\ntype useMapStateType = {\n\tlayers: (LayerState | undefined)[];\n\tviewport: ViewportState | undefined;\n};\n\n/**\n * React hook that allows subscribing to map state changes\n *\n * @component\n */\nfunction useMapState(props: {\n\tmapId?: string;\n\twatch?: {\n\t\tlayers?: boolean;\n\t\tsources?: boolean;\n\t\tviewport?: boolean;\n\t};\n\tfilter?: {\n\t\tincludeBaseLayers?: boolean;\n\t\tmatchLayerIds?: RegExp | string;\n\t\tmatchSourceIds?: RegExp | string;\n\t};\n}): useMapStateType {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext<MapContextType>(MapContext);\n\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper | null>(null);\n\n\tconst [viewport, setViewport] = useState<ViewportState | undefined>();\n\tconst viewportRef = useRef(undefined);\n\n\tconst [layers, setLayers] = useState<(LayerState | undefined)[]>([]);\n\tconst layersRef = useRef<string>(\"\");\n\t//const mapRef = useRef(props.map);\n\tconst componentId = useRef(uuidv4());\n\n\t/**\n\t * returns the element if it matches the defined filter criteria\n\t * to be used as filter function on the layers array\n\t *\n\t * @param {object} layer\n\t */\n\tconst layerIdFilter = useCallback(\n\t\t(layer:LayerState) => {\n\t\t\tif (!props?.filter?.includeBaseLayers && layer?.baseLayer) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (typeof props.filter?.matchLayerIds !== \"undefined\") {\n\t\t\t\tif (props.filter.matchLayerIds instanceof RegExp) {\n\t\t\t\t\treturn props.filter.matchLayerIds.test(layer.id);\n\t\t\t\t} else {\n\t\t\t\t\treturn layer.id.includes(props.filter.matchLayerIds);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\t[props.filter]\n\t);\n\n\tconst refreshLayerState = useCallback(() => {\n\t\tif (!mapRef.current) return;\n\n\t\tconst _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);\n\t\tconst _layerStateString = JSON.stringify(_layerState);\n\t\tif (layersRef.current !== _layerStateString) {\n\t\t\tlayersRef.current = _layerStateString;\n\t\t\tsetLayers(_layerState);\n\t\t}\n\t}, [layerIdFilter]);\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\treturn () => {\n\t\t\t// cleanup all event listeners\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = null;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapContext.mapExists(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\n\t\tif (!mapRef.current) {\n\t\t\tinitializedRef.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (props?.watch?.viewport) {\n\t\t\tsetViewport(mapRef.current.wrapper.viewportState);\n\n\t\t\t// register viewportchange event handler\n\t\t\tmapRef.current.wrapper.on(\n\t\t\t\t\"viewportchange\",\n\t\t\t\t() => {\n\t\t\t\t\tif (viewportRef.current !== mapRef.current?.wrapper.viewportStateString) {\n\t\t\t\t\t\tsetViewport(mapRef.current?.wrapper.viewportState);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomponentId.current\n\t\t\t);\n\t\t}\n\n\t\t// register layerchange event handler\n\t\tif (props?.watch?.layers) {\n\t\t\trefreshLayerState();\n\n\t\t\tmapRef.current.wrapper.on(\n\t\t\t\t\"layerchange\",\n\t\t\t\trefreshLayerState,\n\t\t\t\t{\n\t\t\t\t\tincludeBaseLayers: props?.filter?.includeBaseLayers,\n\t\t\t\t\tmatchLayerIds: props?.filter?.matchLayerIds,\n\t\t\t\t},\n\t\t\t\tcomponentId.current\n\t\t\t);\n\t\t}\n\t}, [mapContext.mapIds, mapContext, props.mapId, refreshLayerState, props]);\n\n\treturn {\n\t\tlayers,\n\t\tviewport,\n\t};\n}\n\nuseMapState.defaultProps = {\n\tmapId: undefined,\n\twatch: {\n\t\tlayers: true,\n\t\tsources: false,\n\t\tviewport: false,\n\t},\n\tfilter: {\n\t\tincludeBaseLayers: false,\n\t},\n};\n\nexport default useMapState;\n","import { useContext, useState, useEffect, useRef } from \"react\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapContext, { MapContextType } from \"../contexts/MapContext\";\nimport useMapState from \"./useMapState\";\nimport MapLibreGlWrapper, { LayerState } from \"../components/MapLibreMap/lib/MapLibreGlWrapper\";\n\ntype useMapType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tmapIsReady: boolean;\n\tcomponentId: string;\n\tlayers: (LayerState | undefined)[];\n\tcleanup: () => void;\n};\n\nfunction useMap(props?: { mapId?: string; waitForLayer?: string }): useMapType {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst [state, setState] = useState<{map:MapLibreGlWrapper | undefined, ready: boolean}>({map:undefined,ready:false});\n\n\tconst mapState = useMapState({\n\t\tmapId: props?.mapId,\n\t\twatch: {\n\t\t\tviewport: false,\n\t\t\tlayers: props?.waitForLayer ? true : false,\n\t\t\tsources: false,\n\t\t},\n\t\tfilter: {\n\t\t\tincludeBaseLayers: true,\n\t\t},\n\t});\n\n\tconst mapRef = useRef<MapLibreGlWrapper | null>(null);\n\n\tconst componentId = useRef(uuidv4());\n\n\n\tconst cleanup = () => {\n\t\tif (mapRef.current) {\n\t\t\tmapRef.current.cleanup(componentId.current);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tcleanup();\n\t\t\tmapRef.current = null;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif(mapRef.current && mapRef.current.cancelled === true){\n\t\t\tmapRef.current = null\n\t\t\tsetState({map:undefined, ready: false})\n\t\t}\n\t\tif (mapRef.current || !mapContext.mapExists(props?.mapId)) return;\n\n\t\t// check if waitForLayer (string, layer id of the layer this hook is supposed to wait for)\n\t\t// exists as layer in the MapLibre instance\n\t\tif (props?.waitForLayer) {\n\t\t\tlet layerFound = false;\n\n\t\t\tmapState?.layers?.forEach((layer: any) => {\n\t\t\t\tif (layer.id === props?.waitForLayer) {\n\t\t\t\t\tlayerFound = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!layerFound) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tmapRef.current = mapContext.getMap(props?.mapId);\n\t\tsetState({map:mapRef.current, ready: true});\n\t}, [mapContext.mapIds, mapState.layers, mapContext, props]);\n\n\treturn {\n\t\tmap: state.map,\n\t\tmapIsReady: state.ready,\n\t\tcomponentId: componentId.current,\n\t\tlayers: mapState.layers,\n\t\tcleanup,\n\t};\n}\n\nexport default useMap;\n\nexport type { useMapType };\n","import React, { useState, useCallback } from \"react\";\nimport useMap from \"../../hooks/useMap\";\nimport { Button, SxProps, Theme } from '@mui/material';\nimport FilterCenterFocusIcon from '@mui/icons-material/FilterCenterFocus';\n\nexport interface MlCenterPositionProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Active button font color\n\t */\n\tonColor?: string;\n\t/**\n\t * Inactive button font color\n\t */\n\toffColor?: string;\n\t/**\n\t * CSS style object that is applied to the button component\n\t */\n\tstyle?: SxProps<Theme> | undefined;\n}\n\n/**\n * Component template\n *\n */\nconst MlCenterPosition = (props: MlCenterPositionProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [locationAccessDenied, setLocationAccessDenied] = useState(false);\n\n\tconst centerCurrentLocation = () => {\n\t\tnavigator.geolocation.getCurrentPosition(getLocationSuccess, getLocationError);\n\t};\n\n\tconst getLocationSuccess = useCallback(\n\t\t(location: GeolocationPosition) => {\n\t\t\tmapHook.map?.map.setCenter?.([location.coords.longitude, location.coords.latitude]);\n\t\t},\n\t\t[mapHook.map]\n\t);\n\n\tconst getLocationError = () => {\n\t\tconsole.log('Access of user location denied');\n\t\tsetLocationAccessDenied(true);\n\t};\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"navtools\"\n\t\t\t\tsx={(theme) => ({\n\t\t\t\t\tzIndex: 1002,\n\t\t\t\t\tcolor: !locationAccessDenied\n\t\t\t\t\t\t? (props.onColor ?? theme.palette.navigation.buttonColor)\n\t\t\t\t\t\t: (props.offColor ?? theme.palette.navigation.buttonColor),\n\t\t\t\t})}\n\t\t\t\tonClick={centerCurrentLocation}\n\t\t\t\tdisabled={locationAccessDenied}\n\t\t\t>\n\t\t\t\t<FilterCenterFocusIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlCenterPosition.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlCenterPosition;\n","import React from \"react\";\nimport useMap from \"../../hooks/useMap\";\n\nexport interface MlComponentTemplateProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\n/**\n * Component description\n *\n */\nconst MlComponentTemplate = (props: MlComponentTemplateProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\tconsole.log(mapHook.componentId + \" remove this log\");\n\n\treturn <></>;\n};\n\nMlComponentTemplate.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlComponentTemplate;\n","import { Map, SourceSpecification } from 'maplibre-gl';\nimport jsPDF from 'jspdf';\nimport MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { BBox } from 'geojson';\n\ninterface createExportOptions {\n\tmap: MapLibreGlWrapper;\n\twidth: number;\n\theight: number;\n\tbbox: BBox;\n\tbboxUnrotated: BBox;\n\tbearing: number;\n\tformat: string;\n\torientation: string;\n}\n\nexport type { createExportOptions };\n\nconst createExport = (options: createExportOptions) => {\n\tconst width = options.width;\n\tconst height = options.height;\n\n\t// Create map container\n\tconst hiddenContainer = document.createElement('div');\n\thiddenContainer.className = 'hidden-map';\n\thiddenContainer.style.width = '0px';\n\thiddenContainer.style.height = '0px';\n\thiddenContainer.style.overflow = 'hidden';\n\tdocument.body.appendChild(hiddenContainer);\n\tconst container = document.createElement('div');\n\tcontainer.style.width = width + 'px';\n\tcontainer.style.height = height + 'px';\n\thiddenContainer.appendChild(container);\n\n\tconst style = options.map.map.getStyle();\n\n\t// delete undefined source properties\n\tfor (const name in style.sources) {\n\t\tconst src = style.sources[name];\n\n\t\tObject.keys(src).forEach((key: keyof SourceSpecification) => {\n\t\t\t// delete property if value is undefined.\n\t\t\t// for instance, raster-dem might have undefined value in \"url\" and \"bounds\"\n\t\t\tif (!src[key]) {\n\t\t\t\tdelete (src as Record<string, unknown>)[key];\n\t\t\t}\n\t\t});\n\t}\n\n\t// Create a new MapLibre-gl instance\n\tconst renderMap = new Map({\n\t\tcontainer: container,\n\t\tcenter: options.map.map.getCenter(),\n\t\tzoom: options.map.map.getZoom(),\n\t\tbearing: 0,\n\t\tpitch: 0,\n\t\tinteractive: false,\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-expect-error\n\t\tpreserveDrawingBuffer: true,\n\t\tfadeDuration: 0,\n\t\tattributionControl: false,\n\t\tstyle: style,\n\t});\n\n\tconst bboxCamera = renderMap._cameraForBoxAndBearing(\n\t\t[options.bboxUnrotated[0], options.bboxUnrotated[1]],\n\t\t[options.bboxUnrotated[2], options.bboxUnrotated[3]],\n\t\toptions.bearing + options.map.map.getBearing()\n\t);\n\n\trenderMap._fitInternal(bboxCamera);\n\treturn new Promise<createExportResolverParams>((resolve) => {\n\t\tconsole.log('before idle');\n\n\t\trenderMap.once('idle', function () {\n\t\t\tconst params: createExportResolverParams = {\n\t\t\t\t...options,\n\t\t\t\trenderMap,\n\t\t\t\thiddenContainer,\n\t\t\t\tcreatePdf: (_options?: createJsPdfOptions) =>\n\t\t\t\t\tcreateJsPdf({ ...options, renderMap, hiddenContainer, ..._options }),\n\t\t\t\tcreatePng: (_options?: createPngOptions) =>\n\t\t\t\t\tcreatePng({ ...options, renderMap, hiddenContainer, ..._options }),\n\t\t\t};\n\n\t\t\tresolve(params);\n\t\t});\n\t});\n};\n\ninterface createExportResolverParams extends createExportOptions {\n\tcreatePdf: (_options?: createJsPdfOptions) => Promise<createPdfResolverParams>;\n\tcreatePng: (_options?: createPngOptions) => Promise<createPngResolverParams>;\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\n\nexport type { createExportResolverParams };\n\ninterface createJsPdfOptions extends createExportOptions {\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\n\nexport type { createJsPdfOptions };\n\nfunction createJsPdf(options: createJsPdfOptions) {\n\tconst pdf = new jsPDF({\n\t\torientation: options?.orientation === 'portrait' ? 'p' : 'l',\n\t\tunit: 'mm',\n\t\tcompress: true,\n\t\tformat: options.format,\n\t});\n\tObject.defineProperty(window, 'devicePixelRatio', {\n\t\tget: function () {\n\t\t\treturn 300 / 96;\n\t\t},\n\t});\n\n\treturn new Promise<createPdfResolverParams>((resolve) => {\n\t\t//Render map image\n\t\tpdf.addImage(\n\t\t\toptions.renderMap.getCanvas().toDataURL('image/png'),\n\t\t\t'png',\n\t\t\t0,\n\t\t\t0,\n\t\t\tpdf.internal.pageSize.getWidth(),\n\t\t\tpdf.internal.pageSize.getHeight(),\n\t\t\tundefined,\n\t\t\t'FAST'\n\t\t);\n\n\t\t// remove DOM Elements\n\t\toptions.renderMap.remove();\n\t\toptions.hiddenContainer.parentNode?.removeChild(options.hiddenContainer);\n\n\t\tconst params: createPdfResolverParams = {\n\t\t\t...options,\n\t\t\tpdf,\n\t\t\tdownloadPdf: (_options?: downloadPdfOptions) => downloadPdf({ ...params, ..._options }),\n\t\t\tformData: new FormData(),\n\t\t};\n\n\t\tresolve(params);\n\t});\n}\n\ninterface createPdfResolverParams extends createJsPdfOptions {\n\tformData: FormData;\n\tpdf: jsPDF;\n\tdownloadPdf: (_options?: downloadPdfOptions) => Promise<downloadPdfOptions>;\n}\n\ninterface downloadPdfOptions extends createJsPdfOptions {\n\tpdf: jsPDF;\n}\n\nfunction downloadPdf(options: downloadPdfOptions) {\n\toptions.pdf.save('Map.pdf');\n\n\treturn new Promise<downloadPdfOptions>(function (resolve) {\n\t\tresolve({ ...options });\n\t});\n}\n\nexport type { createPdfResolverParams };\n\nfunction createPng(options: createPngOptions) {\n\treturn new Promise<createPngResolverParams>((resolve) => {\n\t\tconst png = options.renderMap.getCanvas().toDataURL('image/png');\n\t\tconst params: createPngResolverParams = {\n\t\t\t...options,\n\t\t\tpng,\n\t\t\tdownloadPng: (_options?: downloadPngOptions) => downloadPng({ ...params, ..._options }),\n\t\t};\n\n\t\tresolve(params);\n\t});\n}\n\ninterface createPngOptions extends createExportOptions {\n\trenderMap: Map;\n\thiddenContainer: HTMLDivElement;\n}\n\nexport type { createPngOptions };\n\ninterface createPngResolverParams extends createPngOptions {\n\tpng: string;\n\tdownloadPng: (_options?: downloadPngOptions) => Promise<downloadPngOptions>;\n}\n\nexport type { createPngResolverParams };\n\ninterface downloadPngOptions extends createPngOptions {\n\t// png image as data url\n\tpng: string;\n\t// filename of the downloaded png\n\tname?: string;\n}\n\nfunction downloadPng(options: downloadPngOptions) {\n\tconst _a = document.createElement('a');\n\t_a.download = options?.name ? options.name + '.png' : 'map.png';\n\t_a.href = options.png;\n\tdocument.body.appendChild(_a);\n\t_a.click();\n\tdocument.body.removeChild(_a);\n\n\treturn new Promise<downloadPngOptions>(function (resolve) {\n\t\tresolve({ ...options });\n\t});\n}\n\nexport { createExport };\n","import { useMemo } from 'react';\nimport useMap from '../useMap';\nimport { createExport, createExportOptions } from './lib';\nimport MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';\n\ninterface exportMapProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\nexport default function useExportMap(props: exportMapProps) {\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tconst _createExport = useMemo(() => {\n\t\tif (mapHook.map) {\n\t\t\treturn (\n\t\t\t\toptions: Omit<createExportOptions, 'map'> & Partial<Pick<createExportOptions, 'map'>>\n\t\t\t) => {\n\t\t\t\treturn createExport({ map: mapHook.map as MapLibreGlWrapper, ...options });\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [mapHook.map]);\n\n\treturn {\n\t\tcreateExport: _createExport,\n\t};\n}\n","import React from 'react';\nimport useMap from '../../hooks/useMap';\nimport PrinterIcon from '@mui/icons-material/Print';\nimport Button from '@mui/material/Button';\nimport { CircularProgress } from '@mui/material';\nimport useExportMap from '../../hooks/useExportMap';\nimport {BBox} from 'geojson';\nimport { createExportOptions } from 'src/hooks/useExportMap/lib';\n\nexport interface MlCreatePdfButtonProps {\n\t/**\n\t * ID of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Option overrides for the createExport function\n\t */\n\texportOptions?: createExportOptions\n}\n\n/**\n * Renders a button that will create a PDF version of the current map view (dimensions adjusted to fit Din A4 Paper).\n */\nconst MlCreatePdfButton = (props: MlCreatePdfButtonProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\tconst exportMap = useExportMap({ mapId: props.mapId });\n\tconst [loading, setLoading] = React.useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tcolor=\"primary\"\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tonClick={() => {\n\t\t\t\t\tif (mapHook.map && exportMap?.createExport) {\n\t\t\t\t\t\tsetLoading(true);\n\t\t\t\t\t\tconst bounds = mapHook.map.getBounds();\n\t\t\t\t\t\tconst bbox: BBox = [\n\t\t\t\t\t\t\tbounds.getWest(),\n\t\t\t\t\t\t\tbounds.getSouth(),\n\t\t\t\t\t\t\tbounds.getEast(),\n\t\t\t\t\t\t\tbounds.getNorth(),\n\t\t\t\t\t\t];\n\t\t\t\t\t\texportMap\n\t\t\t\t\t\t\t.createExport({\n\t\t\t\t\t\t\t\twidth: 595 * 1.4,\n\t\t\t\t\t\t\t\theight: 842 * 1.4,\n\t\t\t\t\t\t\t\tbbox: bbox,\n\t\t\t\t\t\t\t\tbboxUnrotated: bbox,\n\t\t\t\t\t\t\t\tbearing: mapHook.map.getBearing(),\n\t\t\t\t\t\t\t\tformat: 'a4',\n\t\t\t\t\t\t\t\torientation: 'portrait',\n\t\t\t\t\t\t\t\t...props.exportOptions,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((res) => res.createPdf())\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\t\treturn res.downloadPdf();\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\t\tconsole.log(error);\n\t\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{loading ? (\n\t\t\t\t\t<CircularProgress\n\t\t\t\t\t\tsize={24}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tcolor: '#fff',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<PrinterIcon />\n\t\t\t\t)}\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlCreatePdfButton.defaultProps = {\n\tmapId: undefined,\n};\n\nexport default MlCreatePdfButton;\n","interface PdfTemplateType{\n\twidth: number;\n\theight: number;\n};\ninterface PdfTemplateObject{\n\t[key:string]:({[key:string]:PdfTemplateType});\n};\n\nconst PdfTemplates:PdfTemplateObject = {\n\tA4: {\n\t\t'300dpi': {\n\t\t\twidth: 2480,\n\t\t\theight: 3508,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 1240,\n\t\t\theight: 1754,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 595,\n\t\t\theight: 842,\n\t\t},\n\t},\n\tA3: {\n\t\t'300dpi': {\n\t\t\twidth: 3505,\n\t\t\theight: 4961,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 1754,\n\t\t\theight: 2480,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 842,\n\t\t\theight: 1191,\n\t\t},\n\t},\n\tA2: {\n\t\t'300dpi': {\n\t\t\twidth: 4961,\n\t\t\theight: 7016,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 2480,\n\t\t\theight: 3508,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 1191,\n\t\t\theight: 1684,\n\t\t},\n\t},\n\tA1: {\n\t\t'300dpi': {\n\t\t\twidth: 7016,\n\t\t\theight: 9933,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 3508,\n\t\t\theight: 4967,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 1684,\n\t\t\theight: 2384,\n\t\t},\n\t},\n\tA0: {\n\t\t'300dpi': {\n\t\t\twidth: 9933,\n\t\t\theight: 14043,\n\t\t},\n\t\t'150dpi': {\n\t\t\twidth: 4967,\n\t\t\theight: 7022,\n\t\t},\n\t\t'72dpi': {\n\t\t\twidth: 2384,\n\t\t\theight: 3370,\n\t\t},\n\t},\n};\n\nexport default PdfTemplates;","import React, { useState, useRef, useMemo } from 'react';\nimport templates from './pdf.templates';\nimport { PdfContextInterface, PdfPreviewOptions } from './pdfContext';\n\n\nconst PdfContext = React.createContext<PdfContextInterface>({} as PdfContextInterface);\n\nconst defaultTemplate = templates['A4']['72dpi'];\nconst PdfContextProvider = ({ children }: { children: React.ReactNode }) => {\n\tconst [format, setFormat] = useState('A4');\n\tconst [quality, setQuality] = useState('72dpi');\n\tconst [options, setOptions] = useState<PdfPreviewOptions>({\n\t\tcenter: undefined,\n\t\tscale: undefined,\n\t\trotate: 0,\n\t\twidth: 210,\n\t\theight: 297,\n\t\torientation: 'portrait',\n\t\tfixedScale: 0,\n\t});\n\n\tconst geojsonRef = useRef<any | null>(null);\n\n\tconst template = useMemo(() => {\n\t\tif (typeof templates[format][quality] !== 'undefined') {\n\t\t\treturn options.orientation === 'portrait'\n\t\t\t\t? templates[format][quality]\n\t\t\t\t: {\n\t\t\t\t\t\twidth: templates[format][quality].height,\n\t\t\t\t\t\theight: templates[format][quality].width,\n\t\t\t\t };\n\t\t}\n\t\treturn defaultTemplate;\n\t}, [format, quality, options.orientation]);\n\n\tconst value = {\n\t\toptions,\n\t\tsetOptions,\n\t\tformat,\n\t\tsetFormat,\n\t\tquality,\n\t\tsetQuality,\n\t\tgeojsonRef,\n\t\ttemplate,\n\t};\n\n\treturn <PdfContext.Provider value={value}>{children}</PdfContext.Provider>;\n};\n\nexport { PdfContextProvider };\nexport default PdfContext;\n","import React, { useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport Moveable from 'react-moveable';\nimport useMap from '../../../hooks/useMap';\nimport useMapState from '../../../hooks/useMapState';\nimport * as turf from '@turf/turf';\nimport { PdfPreviewOptions } from './pdfContext';\nimport { LngLatLike, Map as MapType, PointLike } from 'maplibre-gl';\nimport { Units } from '@turf/turf';\nimport {Feature} from 'geojson';\n\ntype Props = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Polygon GeoJson Feature representing the printing area\n\t */\n\tgeojsonRef: React.MutableRefObject<\n\t\t| Feature\n\t\t| undefined\n\t>;\n\t/**\n\t * a state variable containing the PDF previews current state\n\t */\n\toptions: PdfPreviewOptions;\n\t/**\n\t * setter function to update the current PDF preview state\n\t */\n\tsetOptions: (arg1: (val: PdfPreviewOptions) => PdfPreviewOptions) => void;\n};\n\nfunction getTargetRotationAngle(target: HTMLDivElement) {\n\tconst el_style = window.getComputedStyle(target, null);\n\tconst el_transform = el_style.getPropertyValue('transform');\n\n\tlet deg = 0;\n\n\tif (el_transform !== 'none') {\n\t\tconst values = el_transform.split('(')[1].split(')')[0].split(',');\n\t\tconst a = parseFloat(values[0]);\n\t\tconst b = parseFloat(values[1]);\n\t\tdeg = Math.round(Math.atan2(b, a) * (180 / Math.PI));\n\t}\n\n\treturn deg < 0 ? deg + 360 : deg;\n}\n\nfunction calcElemTransformedPoint(\n\tel: HTMLDivElement,\n\tpoint: [number, number],\n\ttransformOrigin: [number, number]\n): PointLike {\n\tconst style = getComputedStyle(el);\n\tconst p = [point[0] - transformOrigin[0], point[1] - transformOrigin[1]];\n\n\tconst matrix = new DOMMatrixReadOnly(style.transform);\n\n\t// transform pixel coordinates according to the css transform state of \"el\" (target)\n\treturn [\n\t\tp[0] * matrix.a + p[1] * matrix.c + matrix.e + transformOrigin[0],\n\t\tp[0] * matrix.b + p[1] * matrix.d + matrix.f + transformOrigin[1],\n\t];\n}\n\n// measure distance in pixels that is used to determine the current css transform.scale relative to the maps viewport.zoom\nconst scaleAnchorInPixels = 10;\n\n// used to determine the MapZoomScale modifier which is multiplied with props.options.scale to relate the scale to the current map viewport.zoom\nfunction getMapZoomScaleModifier(point: [number, number], _map: MapType) {\n\tconst left = _map.unproject(point);\n\tconst right = _map.unproject([point[0] + scaleAnchorInPixels, point[1]]);\n\tconst maxMeters = left.distanceTo(right);\n\treturn scaleAnchorInPixels / maxMeters;\n}\n\n/**\n * PdfPreview component renders a transformable (drag, scale, rotate) preview of the desired export or print content\n */\nexport default function PdfPreview(props: Props) {\n\tconst mapState = useMapState({ mapId: props.mapId, watch: { layers: false, viewport: true } });\n\tconst targetRef = useRef<HTMLDivElement>(null);\n\tconst fixedScaleRef = useRef<number | null>(null);\n\tconst moveableRef = useRef<Moveable>(null);\n\tconst mapContainerRef = useRef<HTMLDivElement>(document.querySelector('.mapContainer'));\n\t//const [transform, setTransform] = useState('translate(452.111px, 15.6148px)');\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!mapState?.viewport?.zoom || !mapHook.map) return;\n\t\t// if the component was initialized with scale or center as undefined derive those values from the current map view state\n\n\t\t//initialize props if not defined\n\t\tconst _centerX = Math.round(mapHook.map.map._container.clientWidth / 2);\n\t\tconst _centerY = Math.round(mapHook.map.map._container.clientHeight / 2);\n\n\t\tif (!props.options.scale) {\n\t\t\t//const scale = parseFloat(/(14/mapState.viewport.zoom));\n\t\t\tconst scale = 1 / getMapZoomScaleModifier([_centerX, _centerY], mapHook.map.map);\n\n\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scale, scale] }));\n\t\t}\n\t\tif (!props.options.center) {\n\t\t\tconst _center = mapHook.map.map.unproject([_centerX, _centerY]);\n\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t...val,\n\t\t\t\tcenter: [_center.lng, _center.lat],\n\t\t\t}));\n\t\t}\n\t}, [mapHook.map, mapState.viewport?.zoom]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.map.setPitch(0);\n\t\tconst _maxPitch = mapHook.map.map.getMaxPitch();\n\t\tmapHook.map.map.setMaxPitch(0);\n\t\treturn () => {\n\t\t\tmapHook.map?.map.setMaxPitch(_maxPitch);\n\t\t};\n\t}, [mapHook.map]);\n\n\tconst transformOrigin = useMemo<[number, number]>(() => {\n\t\tif (props.options.orientation === 'portrait') {\n\t\t\treturn [props.options.width / 2, props.options.height / 2];\n\t\t} else {\n\t\t\treturn [props.options.height / 2, props.options.width / 2];\n\t\t}\n\t}, [props.options.orientation, props.options.width, props.options.height]);\n\n\tconst transform = useMemo(() => {\n\t\tif (!mapHook.map || !props.options.scale) return 'none';\n\n\t\tconst centerInPixels = mapHook.map.map.project(props.options.center as LngLatLike);\n\n\t\tconst x = centerInPixels.x;\n\t\tconst y = centerInPixels.y;\n\t\tconst scale = props.options.scale[0] * getMapZoomScaleModifier([x, y], mapHook.map.map);\n\n\t\tconst viewportBearing = mapState?.viewport?.bearing ? mapState.viewport?.bearing : 0;\n\n\t\tconst _transform = `translate(${Math.floor(\n\t\t\tcenterInPixels.x - transformOrigin[0]\n\t\t)}px,${Math.floor(centerInPixels.y - transformOrigin[1])}px) rotate(${\n\t\t\tprops.options.rotate - viewportBearing\n\t\t}deg) scale(${scale},${scale})`;\n\n\t\tif (targetRef.current) targetRef.current.style.transform = _transform;\n\n\t\treturn _transform;\n\t}, [\n\t\tmapHook.map,\n\t\tmapState.viewport,\n\t\tprops.options.scale,\n\t\tprops.options.rotate,\n\t\tprops.options.center,\n\t\ttransformOrigin,\n\t]);\n\n\tuseEffect(() => {\n\t\tmoveableRef.current?.updateTarget();\n\t}, [transform]);\n\n\tuseEffect(() => {\n\t\t// update props.options.scale if fixedScale was changed\n\t\tif (\n\t\t\t!mapHook.map ||\n\t\t\t!props.options.center ||\n\t\t\t!props.options.fixedScale ||\n\t\t\t(typeof props.options.fixedScale !== 'undefined' &&\n\t\t\t\tfixedScaleRef.current === props.options.fixedScale)\n\t\t)\n\t\t\treturn;\n\n\t\tfixedScaleRef.current = props.options.fixedScale;\n\t\tconst point = turf.point(props.options.center);\n\t\tconst distance = props.options.fixedScale * (props.options.width / 1000);\n\n\t\tconst bearing = 90;\n\t\tconst options = { units: 'meters' as Units };\n\t\tconst destination = turf.destination(point, distance, bearing, options);\n\n\t\tconst centerInPixels = mapHook.map.map.project(point.geometry.coordinates as LngLatLike);\n\t\tconst destinationInPixels = mapHook.map.map.project(\n\t\t\tdestination.geometry.coordinates as LngLatLike\n\t\t);\n\n\t\tconst scaleFactor =\n\t\t\t(Math.round(destinationInPixels.x - centerInPixels.x) / props.options.width) *\n\t\t\t(1 / getMapZoomScaleModifier([centerInPixels.x, centerInPixels.y], mapHook.map.map));\n\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scaleFactor, scaleFactor] }));\n\t}, [mapHook.map, props.options.width, props.options.center, props.options.fixedScale]);\n\n\t// update props.geoJsonRef\n\tuseEffect(() => {\n\t\tif (targetRef.current && mapHook.map) {\n\t\t\t// apply orientation\n\t\t\tlet _width = props.options.width;\n\t\t\tlet _height = props.options.height;\n\t\t\tif (props.options.orientation === 'portrait') {\n\t\t\t\ttargetRef.current.style.width = props.options.width + 'px';\n\t\t\t\ttargetRef.current.style.height = props.options.height + 'px';\n\t\t\t} else {\n\t\t\t\ttargetRef.current.style.width = props.options.height + 'px';\n\t\t\t\ttargetRef.current.style.height = props.options.width + 'px';\n\t\t\t\t_width = props.options.height;\n\t\t\t\t_height = props.options.width;\n\t\t\t}\n\t\t\tmoveableRef.current?.updateTarget();\n\n\t\t\tconst topLeft = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [0, 0], transformOrigin)\n\t\t\t);\n\t\t\tconst topRight = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [_width, 0], transformOrigin)\n\t\t\t);\n\t\t\tconst bottomLeft = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [0, _height], transformOrigin)\n\t\t\t);\n\t\t\tconst bottomRight = mapHook.map.map.unproject(\n\t\t\t\tcalcElemTransformedPoint(targetRef.current, [_width, _height], transformOrigin)\n\t\t\t);\n\n\t\t\tconst _geoJson = {\n\t\t\t\ttype: 'Feature',\n\t\t\t\tbbox: [topLeft.lng, topLeft.lat, bottomRight.lng, bottomRight.lat],\n\t\t\t\tgeometry: {\n\t\t\t\t\ttype: 'Polygon',\n\t\t\t\t\tcoordinates: [\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[topLeft.lng, topLeft.lat],\n\t\t\t\t\t\t\t[topRight.lng, topRight.lat],\n\t\t\t\t\t\t\t[bottomRight.lng, bottomRight.lat],\n\t\t\t\t\t\t\t[bottomLeft.lng, bottomLeft.lat],\n\t\t\t\t\t\t\t[topLeft.lng, topLeft.lat],\n\t\t\t\t\t\t],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tproperties: { bearing: getTargetRotationAngle(targetRef.current) },\n\t\t\t} as Feature;\n\t\t\tprops.geojsonRef.current = _geoJson;\n\t\t}\n\n\t\treturn undefined;\n\t}, [\n\t\tmapHook,\n\t\ttransform,\n\t\tprops.options.orientation,\n\t\tprops.geojsonRef,\n\t\tmapState,\n\t\ttargetRef.current,\n\t\ttransformOrigin,\n\t]);\n\n\treturn mapContainerRef.current ? ReactDOM.createPortal(\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName=\"target\"\n\t\t\t\tref={targetRef}\n\t\t\t\tstyle={{ transform: transform, transformOrigin: 'center center' }}\n\t\t\t></div>\n\t\t\t<Moveable\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\t// @ts-ignore:\n\t\t\t\tref={moveableRef}\n\t\t\t\ttarget={targetRef}\n\t\t\t\tcontainer={null}\n\t\t\t\torigin={true}\n\t\t\t\tkeepRatio={true}\n\t\t\t\t/* draggable */\n\t\t\t\tdraggable={true}\n\t\t\t\tonDrag={(e) => {\n\t\t\t\t\tif (mapHook.map) {\n\n\t\t\t\t\t\tlet _transformParts = e.transform.split('translate(');\n\t\t\t\t\t\t_transformParts = _transformParts[1].split('px)')[0].split('px, ');\n\t\t\t\t\t\tconst _center = mapHook.map?.map.unproject([\n\t\t\t\t\t\t\tparseInt(_transformParts[0]) + transformOrigin[0],\n\t\t\t\t\t\t\tparseInt(_transformParts[1]) + transformOrigin[1],\n\t\t\t\t\t\t]);\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\tcenter: [_center.lng, _center.lat],\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t/* scalable */\n\t\t\t\tscalable={props.options.fixedScale ? false : true}\n\t\t\t\tonScale={(e) => {\n\t\t\t\t\tif (mapHook.map) {\n\t\t\t\t\t\tlet _transformParts = e.drag.transform.split('scale(');\n\t\t\t\t\t\t_transformParts = _transformParts[1].split(')')[0].split(', ');\n\n\t\t\t\t\t\tconst centerInPixels = mapHook.map.map.project(props.options.center as LngLatLike);\n\n\t\t\t\t\t\tconst x = centerInPixels.x;\n\t\t\t\t\t\tconst y = centerInPixels.y;\n\n\t\t\t\t\t\tconst scale =\n\t\t\t\t\t\t\tparseFloat(_transformParts[0]) *\n\t\t\t\t\t\t\t(1 / getMapZoomScaleModifier([x, y], mapHook.map.map));\n\n\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({ ...val, scale: [scale, scale] }));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\t/* rotatable */\n\t\t\t\trotatable={true}\n\t\t\t\tonRotate={(e) => {\n\t\t\t\t\tif (mapHook.map && mapState.viewport) {\n\t\t\t\t\t\tconst _transformParts = e.drag.transform.split('rotate(');\n\t\t\t\t\t\tconst _transformPartString = _transformParts[1].split('deg)')[0];\n\t\t\t\t\t\tconst viewportBearing = mapState?.viewport?.bearing ? mapState.viewport.bearing : 0;\n\n\t\t\t\t\t\tprops.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\trotate: parseFloat(_transformPartString) + viewportBearing,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>,\n\t\tmapContainerRef.current\n\t):<></>;\n}\n","import React, { useContext, useMemo, useCallback, useState } from 'react';\nimport PdfContext from './PdfContext';\nimport PdfPreview from './PdfPreview';\nimport {\n\tFormControl,\n\tMenuItem,\n\tSelect,\n\tInputLabel,\n\tButton,\n\tFormLabel,\n\tFormControlLabel,\n\tRadio,\n\tRadioGroup,\n\tCircularProgress,\n\tuseMediaQuery,\n\tSxProps,\n} from '@mui/material';\n\nimport useMap from '../../../hooks/useMap';\nimport useExportMap from '../../../hooks/useExportMap';\nimport { createPdfResolverParams } from '../../../hooks/useExportMap/lib';\n\nimport * as turf from '@turf/turf';\n\nimport templates from './pdf.templates';\nimport { PdfPreviewOptions } from './pdfContext';\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 0,\n\t\tlabel: 'free scale',\n\t},\n\t{\n\t\tvalue: 250,\n\t\tlabel: '1/250',\n\t},\n\t{\n\t\tvalue: 500,\n\t\tlabel: '1/500',\n\t},\n\t{\n\t\tvalue: 750,\n\t\tlabel: '1/750',\n\t},\n\t{\n\t\tvalue: 1000,\n\t\tlabel: '1/1000',\n\t},\n\t{\n\t\tvalue: 1500,\n\t\tlabel: '1/1500',\n\t},\n\t{\n\t\tvalue: 2000,\n\t\tlabel: '1/2000',\n\t},\n\t{\n\t\tvalue: 10000,\n\t\tlabel: '1/10000',\n\t},\n\t{\n\t\tvalue: 100000,\n\t\tlabel: '1/100000',\n\t},\n];\nconst qualityOptions = [\n\t{\n\t\tvalue: '72dpi',\n\t\tlabel: 'Draft (72dpi)',\n\t},\n\t{\n\t\tvalue: '150dpi',\n\t\tlabel: 'Medium (150dpi)',\n\t},\n\t{\n\t\tvalue: '300dpi',\n\t\tlabel: 'High (300dpi)',\n\t},\n];\n\nexport interface PdfFormProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Function that will be called before the PDF is created.\n\t * Allowing to access and manipulate the jspdf instance before the PDF is created.\n\t */\n\tonCreatePdf?: (options: createPdfResolverParams) => createPdfResolverParams;\n\t/**\n\t * sx props that will be applied to the form control components\n\t */\n\tformControlStyles?: SxProps;\n\t/**\n\t * Define additional form fields that will be added to the bottom of the create-PDF form.\n\t * Values of form elements added this way are accessible inside the function passed to the onCreatePdf property using options.formData.get('{form_el_name}').\n\t * Make sure all form elements added this way have a name property defined to be able to access the value when rendering the PDF.\n\t */\n\tadditionalFields?: React.ReactNode;\n}\n\nexport default function PdfForm(props: PdfFormProps) {\n\tconst [loading, setLoading] = useState(false);\n\tconst pdfContext = useContext(PdfContext);\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\tconst mapExporter = useExportMap({ mapId: props.mapId });\n\n\tconst createPdfHandler = useCallback(() => {\n\t\tif (\n\t\t\tmapHook.map &&\n\t\t\tmapExporter.createExport &&\n\t\t\tpdfContext.template &&\n\t\t\tpdfContext.format &&\n\t\t\tpdfContext.options?.orientation &&\n\t\t\tpdfContext.geojsonRef?.current?.bbox &&\n\t\t\tpdfContext.geojsonRef?.current\n\t\t) {\n\t\t\tsetLoading(true);\n\t\t\tconst bbox = turf.bbox(pdfContext.geojsonRef.current);\n\n\t\t\tmapExporter\n\t\t\t\t.createExport({\n\t\t\t\t\twidth: pdfContext.template.width,\n\t\t\t\t\theight: pdfContext.template.height,\n\t\t\t\t\tbbox: bbox,\n\t\t\t\t\tbboxUnrotated: pdfContext.geojsonRef.current.bbox,\n\t\t\t\t\tbearing: (pdfContext.geojsonRef.current?.properties?.bearing as number) || 0,\n\t\t\t\t\tformat: pdfContext.format.toLowerCase(),\n\t\t\t\t\torientation: pdfContext.options.orientation,\n\t\t\t\t})\n\t\t\t\t.then((res) => res.createPdf())\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (typeof props.onCreatePdf === 'function') {\n\t\t\t\t\t\tres.formData = new FormData(\n\t\t\t\t\t\t\tdocument.getElementById('createPdfFormID') as HTMLFormElement\n\t\t\t\t\t\t);\n\t\t\t\t\t\tprops.onCreatePdf(res);\n\t\t\t\t\t}\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\treturn res.downloadPdf();\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t});\n\t\t}\n\t}, [mapHook.map, pdfContext]);\n\n\tconst mediaIsMobile = useMediaQuery('(max-width: 950px)');\n\n\tconst formControlStyles = useMemo(\n\t\t() => {\n\t\t\treturn {\n\t\t\t\tmargin: mediaIsMobile ? '1px 0 8px 0 ' : '5px 0 15px 0 ',\n\t\t\t\t...(props?.formControlStyles?{...props.formControlStyles}:{}),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tmediaIsMobile,\n\t\t\tprops.formControlStyles\n\t\t]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<form id=\"createPdfFormID\">\n\t\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\tclassName=\"createPdfButton\"\n\t\t\t\t\t\tonClick={createPdfHandler}\n\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\tsx={{ marginBottom: '16px' }}\n\t\t\t\t\t>\n\t\t\t\t\t\tcreate PDF\n\t\t\t\t\t</Button>\n\t\t\t\t\t{loading && (\n\t\t\t\t\t\t<CircularProgress\n\t\t\t\t\t\t\tsize={24}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tcolor: 'primary.main',\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttop: '25%',\n\t\t\t\t\t\t\t\tleft: '50%',\n\t\t\t\t\t\t\t\tmarginTop: '-12px',\n\t\t\t\t\t\t\t\tmarginLeft: '-12px',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</FormControl>\n\t\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t\t<InputLabel sx={{ marginTop: '3px' }} id=\"format-select-label\">\n\t\t\t\t\t\tFormat\n\t\t\t\t\t</InputLabel>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabelId=\"format-select-label\"\n\t\t\t\t\t\tid=\"format-select\"\n\t\t\t\t\t\tlabel=\"Format\"\n\t\t\t\t\t\tvalue={pdfContext.format}\n\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\tpdfContext.setFormat?.(event.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{Object.keys(templates).map((el) => (\n\t\t\t\t\t\t\t<MenuItem key={el} value={el}>\n\t\t\t\t\t\t\t\t{el}\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Select>\n\t\t\t\t</FormControl>\n\t\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t\t<FormLabel id=\"orientation-radio-buttons-group-label\">Orientation</FormLabel>\n\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\trow\n\t\t\t\t\t\taria-labelledby=\"orientation-radio-buttons-group-label\"\n\t\t\t\t\t\tname=\"orientation-radio-buttons-group\"\n\t\t\t\t\t\tvalue={pdfContext.options?.orientation}\n\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\tif (!pdfContext.setOptions) return;\n\n\t\t\t\t\t\t\tpdfContext.setOptions((val: PdfPreviewOptions) => ({\n\t\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\t\torientation: event.target.value as 'landscape' | 'portrait',\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FormControlLabel value=\"portrait\" control={<Radio />} label=\"Portrait\" />\n\t\t\t\t\t\t<FormControlLabel value=\"landscape\" control={<Radio />} label=\"Landscape\" />\n\t\t\t\t\t</RadioGroup>\n\t\t\t\t</FormControl>\n\t\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t\t<InputLabel id=\"quality-select-label\">Quality</InputLabel>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabelId=\"quality-select-label\"\n\t\t\t\t\t\tid=\"quality-select\"\n\t\t\t\t\t\tlabel=\"Quality\"\n\t\t\t\t\t\tvalue={pdfContext.quality}\n\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\tpdfContext.setQuality?.(event.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{qualityOptions.map((el) => (\n\t\t\t\t\t\t\t<MenuItem key={el.value} value={el.value}>\n\t\t\t\t\t\t\t\t{el.label}\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Select>\n\t\t\t\t</FormControl>\n\t\t\t\t<FormControl fullWidth sx={formControlStyles}>\n\t\t\t\t\t<InputLabel id=\"scale-select-label\">Scale</InputLabel>\n\t\t\t\t\t<Select\n\t\t\t\t\t\tlabelId=\"scale-select-label\"\n\t\t\t\t\t\tid=\"scale-select\"\n\t\t\t\t\t\tlabel=\"Scale\"\n\t\t\t\t\t\tvalue={pdfContext?.options?.fixedScale}\n\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\tpdfContext.setOptions?.((val) => ({\n\t\t\t\t\t\t\t\t...val,\n\t\t\t\t\t\t\t\tfixedScale: event.target.value as number,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{scaleOptions.map((el, idx) => (\n\t\t\t\t\t\t\t<MenuItem key={idx} value={el.value}>\n\t\t\t\t\t\t\t\t{el.label}\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</Select>\n\t\t\t\t</FormControl>\n\t\t\t\t{props?.additionalFields}\n\t\t\t\t{pdfContext.options && pdfContext.setOptions && (\n\t\t\t\t\t<PdfPreview\n\t\t\t\t\t\toptions={pdfContext.options}\n\t\t\t\t\t\tsetOptions={pdfContext.setOptions}\n\t\t\t\t\t\tgeojsonRef={pdfContext.geojsonRef}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</form>\n\t\t</>\n\t);\n}\n","import React from 'react';\nimport PdfForm, { PdfFormProps } from './lib/PdfForm';\nimport { PdfContextProvider } from './lib/PdfContext';\n\n\n/**\n * Create PDF Form Component\n *\n */\nconst MlCreatePdfForm = (props: PdfFormProps) => {\n\treturn (\n\t\t<>\n\t\t\t<PdfContextProvider>\n\t\t\t\t<PdfForm {...props} />\n\t\t\t</PdfContextProvider>\n\t\t</>\n\t);\n};\n\nMlCreatePdfForm.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlCreatePdfForm;\n","import { Theme, useMediaQuery } from '@mui/material';\n\nfunction featureEditorStyle() {\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tconst featureEditorStyle = [\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-inactive',\n\t\t\ttype: 'fill',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Polygon'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#009EE0',\n\t\t\t\t'fill-outline-color': '#009EE0',\n\t\t\t\t'fill-opacity': 0.3,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-active',\n\t\t\ttype: 'fill',\n\t\t\tfilter: ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#009EE0',\n\t\t\t\t'fill-outline-color': '#009EE0',\n\t\t\t\t'fill-opacity': 0.2,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-inactive',\n\t\t\ttype: 'line',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Polygon'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#009EE0',\n\t\t\t\t'line-width': 3,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-active',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'active', 'true'], ['==', '$type', 'Polygon']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#009EE0',\n\t\t\t\t'line-dasharray': [0.2, 2],\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\n\t\t{\n\t\t\tid: 'gl-draw-line-inactive',\n\t\t\ttype: 'line',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#009EE0',\n\t\t\t\t'line-width': 4,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-line-active',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['==', 'active', 'true']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#009EE0',\n\t\t\t\t'line-dasharray': [0.2, 2],\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-midpoint',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'meta', 'midpoint']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 5 : 4,\n\t\t\t\t'circle-color': '#ffffff',\n\t\t\t\t'circle-stroke-color': '#009EE0',\n\t\t\t\t'circle-stroke-width': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-and-line-vertex-stroke-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8 : 6,\n\t\t\t\t'circle-color': '#fff',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-and-line-vertex-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'meta', 'vertex'], ['==', '$type', 'Point'], ['!=', 'mode', 'static']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 7 : 5,\n\t\t\t\t'circle-color': '#ffffff',\n\t\t\t\t'circle-stroke-color': '#009EE0',\n\t\t\t\t'circle-stroke-width': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-point-stroke-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'meta', 'feature'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 10 : 9,\n\t\t\t\t'circle-opacity': 1,\n\t\t\t\t'circle-color': '#009EE0',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-inactive',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'active', 'false'],\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'meta', 'feature'],\n\t\t\t\t['!=', 'mode', 'static'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 7.5 : 6.5,\n\t\t\t\t'circle-color': '#009EE0',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-stroke-active',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['==', 'active', 'true'],\n\t\t\t\t['!=', 'meta', 'midpoint'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 11 : 10,\n\t\t\t\t'circle-color': '#fff',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-active',\n\t\t\ttype: 'circle',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['!=', 'meta', 'midpoint'],\n\t\t\t\t['==', 'active', 'true'],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8.5 : 7.5,\n\t\t\t\t'circle-color': '#009EE0',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-fill-static',\n\t\t\ttype: 'fill',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#404040',\n\t\t\t\t'fill-outline-color': '#404040',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-polygon-stroke-static',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Polygon']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#404040',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-line-static',\n\t\t\ttype: 'line',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'LineString']],\n\t\t\tlayout: {\n\t\t\t\t'line-cap': 'round',\n\t\t\t\t'line-join': 'round',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#404040',\n\t\t\t\t'line-width': 2,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'gl-draw-point-static',\n\t\t\ttype: 'circle',\n\t\t\tfilter: ['all', ['==', 'mode', 'static'], ['==', '$type', 'Point']],\n\t\t\tpaint: {\n\t\t\t\t'circle-radius': mediaIsMobile ? 8.5 : 6.5,\n\t\t\t\t'circle-color': '#404040',\n\t\t\t},\n\t\t},\n\t];\n\treturn featureEditorStyle;\n}\n\nexport default featureEditorStyle;\n","import { useState, useEffect, useRef, useCallback } from 'react';\n\n\nimport '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';\nimport MapboxDraw from '@mapbox/mapbox-gl-draw';\n\nimport useMap from '../useMap';\nimport { Feature } from 'geojson';\nimport { MapEventType } from 'maplibre-gl';\nimport featureEditorStyle from './utils/FeatureEditorStyle';\nimport { MapLibreGlEventName } from 'src/components/MapLibreMap/lib/MapLibreGlWrapper';\n\nexport interface useFeatureEditorProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Input GeoJson data at initialization\n\t */\n\tgeojson?: Feature;\n\t/**\n\t * Callback function that is called each time the GeoJson data has changed within MlFeatureEditor.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonChange?: (para: Feature[]) => void;\n\t/**\n\t * Callback function that is called each time the GeoJson data within has been finished within MlFeatureEditor.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonFinish?: () => void;\n\t/**\n\t * Feature editor modes:\n\t * - draw_line_string\n\t * - draw_polygon\n\t * - draw_point\n\t * - simple_select\n\t * - direct_select\n\t */\n\tmode?: keyof MapboxDraw.Modes;\n}\n\n/**\n * GeoJson Feature editor that allows to create or manipulate GeoJson data\n */\nconst useFeatureEditor = (props: useFeatureEditorProps) => {\n\tconst draw = useRef<MapboxDraw | null>(null);\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst drawToolsInitialized = useRef(false);\n\tconst [drawToolsReady, setDrawToolsReady] = useState(false);\n\tconst [feature, setFeature] = useState<Feature[]>();\n\tconst style = featureEditorStyle();\n\n\tconst modeChangeHandler = useCallback(\n\t\t(e: MapEventType & { mode: keyof MapboxDraw.Modes }) => {\n\t\t\tconsole.log('MlFeatureEditor mode change to ' + e.mode);\n\t\t\t//setDrawMode(e.mode);\n\t\t\tif (typeof props.onFinish === 'function' && e.mode === 'simple_select') {\n\t\t\t\tprops.onFinish();\n\t\t\t}\n\t\t},\n\t\t[props.onFinish]\n\t);\n\n\tuseEffect(() => {\n\t\tif (mapHook.map && !drawToolsInitialized.current) {\n\t\t\tdrawToolsInitialized.current = true;\n\n\t\t\tif (\n\t\t\t\tmapHook.map.map.style &&\n\t\t\t\tmapHook.map.map.getSource('mapbox-gl-draw-cold') &&\n\t\t\t\tdraw.current\n\t\t\t) {\n\t\t\t\t// remove old Mapbox-gl-Draw from Mapbox instance when hot-reloading this component during development\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tdraw.current?.remove();\n\t\t\t}\n\n\t\t\tdraw.current = new MapboxDraw({\n\t\t\t\tdisplayControlsDefault: false,\n\t\t\t\tdefaultMode: props.mode || 'simple_select',\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tmodes: Object.assign({}, MapboxDraw.modes),\n\t\t\t\tuserProperties: true,\n\t\t\t\tstyles: style,\n\t\t\t});\n\n\t\t\tmapHook.map.addControl(draw.current, 'top-left', mapHook.componentId);\n\n\t\t\tmapHook.map.on('draw.modechange' as MapLibreGlEventName, modeChangeHandler, mapHook.componentId);\n\n\t\t\tsetDrawToolsReady(true);\n\t\t}\n\t}, [mapHook.map, props, drawToolsInitialized, modeChangeHandler]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !drawToolsReady) return;\n\n\t\tconst changeHandler = () => {\n\t\t\tif (draw.current) {\n\t\t\t\t// update drawnFeatures state object\n\t\t\t\tconst currentFeatureCollection = draw.current.getAll?.();\n\t\t\t\tsetFeature(currentFeatureCollection?.features);\n\t\t\t\tif (typeof props.onChange === 'function') {\n\t\t\t\t\tprops.onChange(currentFeatureCollection?.features);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tmapHook.map.on('mouseup', changeHandler);\n\t\tmapHook.map.on('touchend', changeHandler);\n\n\t\treturn () => {\n\t\t\tif (!mapHook.map) return;\n\n\t\t\tmapHook.map.map.off('mouseup', changeHandler);\n\t\t\tmapHook.map.map.off('touchend', changeHandler);\n\t\t};\n\t}, [drawToolsReady, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (draw.current && props.geojson?.geometry) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tdraw.current.set({ type: 'FeatureCollection', features: [props.geojson] });\n\t\t}\n\t}, [props.geojson, drawToolsReady]);\n\n\tuseEffect(() => {\n\t\tif (props.mode && draw.current && draw.current?.getMode?.() !== props.mode) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t// @ts-ignore\n\t\t\tdraw.current?.changeMode?.(props.mode);\n\t\t\tif (props.mode !== 'simple_select' && props.mode !== 'direct_select') {\n\t\t\t\tdraw.current.set({ type: 'FeatureCollection', features: [] });\n\t\t\t}\n\t\t}\n\t}, [props.mode, mapHook.map]);\n\n\treturn {\n\t\tfeature,\n\t\tdrawToolsReady,\n\t\tdraw: draw.current,\n\t};\n};\n\nexport default useFeatureEditor;\n","import React from 'react';\nimport useFeatureEditor, { useFeatureEditorProps } from '../../hooks/useFeatureEditor/useFeatureEditor';\nimport './MlFeatureEditor.css';\n\nconst MlFeatureEditor: React.FC<useFeatureEditorProps> = (props) => {\n\tuseFeatureEditor({\n\t\tmode: props.mode,\n\t\tgeojson: props.geojson,\n\t\tonChange: props.onChange,\n\t\tonFinish: props.onFinish,\n\t\tmapId: props.mapId,\n\t});\n\n\treturn (\n\t\t<>\n\t\t</>\n\t);\n};\n\nexport default MlFeatureEditor;","import { useState, useEffect, useCallback, useRef } from 'react';\n\nimport useMap, { useMapType } from './useMap';\n\nimport {\n\tGeoJSONSourceSpecification,\n\tLayerSpecification,\n\tMapMouseEvent,\n\tStyle,\n\tMapEventType,\n\tMap,\n\tFilterSpecification,\n\tMapGeoJSONFeature,\n} from 'maplibre-gl';\n\nimport MapLibreGlWrapper, {\n\tMapLibreGlWrapperEventHandlerType,\n} from '../components/MapLibreMap/lib/MapLibreGlWrapper';\n\nimport { Feature, FeatureCollection, GeoJsonObject } from 'geojson';\n\ntype getLayerType = Style['getLayer'];\n\ntype useLayerType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tlayer: ReturnType<getLayerType> | undefined;\n\tlayerId: string;\n\tcomponentId: string;\n\tmapHook: useMapType;\n};\n\nexport type MapEventHandler = (\n\tev: MapMouseEvent & {\n\t\tfeatures?: Feature[] | undefined;\n\t} & Record<string, unknown>\n) => void;\n\nexport interface useLayerProps {\n\tmapId?: string;\n\tlayerId?: string;\n\tidPrefix?: string;\n\tinsertBeforeLayer?: string;\n\tinsertBeforeFirstSymbolLayer?: boolean;\n\tgeojson?: GeoJsonObject | Feature | FeatureCollection;\n\toptions: Partial<\n\t\tLayerSpecification & {\n\t\t\tsource?: GeoJSONSourceSpecification | string;\n\t\t\tid?: string;\n\t\t\tfilter?: FilterSpecification;\n\t\t}\n\t>;\n\tonHover?: (ev: MapEventType & unknown) => Map | void;\n\tonClick?: (ev: MapEventType & unknown) => Map | void;\n\tonLeave?: (ev: MapEventType & unknown) => Map | void;\n}\ntype PaintPropsKeyType = keyof useLayerProps['options']['paint'];\n\nconst legalLayerTypes = [\n\t'fill',\n\t'line',\n\t'symbol',\n\t'circle',\n\t'heatmap',\n\t'fill-extrusion',\n\t'raster',\n\t'hillshade',\n\t'background',\n];\n\nfunction determineSource(props: useLayerProps) {\n\tif (typeof props.options.source === 'string') {\n\t\treturn {\n\t\t\tsource: props.options.source,\n\t\t};\n\t} else if (\n\t\tprops.geojson &&\n\t\t(!props.options?.source ||\n\t\t\t(typeof props?.options?.source !== 'string' &&\n\t\t\t\tprops.options?.source?.attribution &&\n\t\t\t\t!props.options?.source?.type))\n\t) {\n\t\treturn {\n\t\t\tsource: {\n\t\t\t\ttype: 'geojson',\n\t\t\t\tdata: props.geojson || '',\n\t\t\t\tattribution:\n\t\t\t\t\ttypeof props?.options?.source !== 'string' && props.options.source?.attribution\n\t\t\t\t\t\t? props.options.source?.attribution\n\t\t\t\t\t\t: '',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction determineInsertionPoint(props: useLayerProps, mapHook: useMapType) {\n\tif (props?.insertBeforeLayer) return props.insertBeforeLayer;\n\tif (props?.insertBeforeFirstSymbolLayer) return mapHook?.map?.firstSymbolLayer;\n\treturn undefined;\n}\n\nfunction useLayer(props: useLayerProps): useLayerType {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst layerTypeRef = useRef<string>('');\n\tconst layerPaintConfRef = useRef<string>('');\n\tconst layerLayoutConfRef = useRef<string>('');\n\n\tconst [layer, setLayer] = useState<ReturnType<getLayerType>>();\n\n\tconst layerId = useRef(\n\t\tprops.layerId || (props.idPrefix ? props.idPrefix : 'Layer-') + mapHook.componentId\n\t);\n\n\tconst createLayer = useCallback(() => {\n\t\tif (!mapHook.map || mapHook?.map.cancelled) return;\n\n\t\tif (mapHook.map.map.getLayer(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\t\tif (typeof props?.options?.source !== 'string' && mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.map.map.removeSource(layerId.current);\n\t\t}\n\n\t\tif (typeof props.options.source === 'string') {\n\t\t\tif (props.options.source === '' || !mapHook.map.map.getSource(props.options.source)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\ttypeof props?.options?.source !== 'string' &&\n\t\t\t!props.geojson &&\n\t\t\t!props?.options?.source?.data &&\n\t\t\tprops?.options?.type !== 'background'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof props.options.type === 'undefined') {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tmapHook.map.addLayer(\n\t\t\t\t{\n\t\t\t\t\t...props.options,\n\t\t\t\t\t...determineSource(props),\n\t\t\t\t\tid: layerId.current,\n\t\t\t\t} as LayerSpecification,\n\t\t\t\tdetermineInsertionPoint(props, mapHook),\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error('Failed to add layer:', error);\n\t\t}\n\t\tsetLayer(() => mapHook.map?.map.getLayer(layerId.current));\n\n\t\t// recreate layer if style has changed\n\t\tconst styledataEventHandler = () => {\n\t\t\tif (!mapHook.map?.map.getLayer(layerId.current)) {\n\t\t\t\tcreateLayer();\n\t\t\t}\n\t\t};\n\t\tmapHook.map.on('styledata', styledataEventHandler, mapHook.componentId);\n\t\tconst addSourceHandler = (\n\t\t\t_ev: any,\n\t\t\t_wrapper: MapLibreGlWrapper,\n\t\t\t{ source_id }: { source_id: string }\n\t\t) => {\n\t\t\tif (\n\t\t\t\tmapHook.map &&\n\t\t\t\ttypeof props?.options?.source === 'string' &&\n\t\t\t\tprops.options.source === source_id\n\t\t\t) {\n\t\t\t\tcreateLayer();\n\t\t\t}\n\t\t};\n\t\tmapHook.map.wrapper.on(\n\t\t\t'addsource',\n\t\t\taddSourceHandler as unknown as MapLibreGlWrapperEventHandlerType,\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\tlayerPaintConfRef.current = JSON.stringify(props.options?.paint);\n\t\tlayerLayoutConfRef.current = JSON.stringify(props.options?.layout);\n\t\tlayerTypeRef.current = props.options.type as LayerSpecification['type'];\n\t}, [props, mapHook]);\n\n\n\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (!props.geojson && !props.options.source && props?.options?.type !== 'background') return;\n\n\t\tif (\n\t\t\tmapHook.map?.cancelled === false &&\n\t\t\tmapHook?.map?.map?.getLayer?.(layerId.current) &&\n\t\t\t(legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) === -1 ||\n\t\t\t\t(legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) !== -1 &&\n\t\t\t\t\tprops.options.type === layerTypeRef.current))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tcreateLayer();\n\t}, [mapHook.map, mapHook.mapIsReady, props, createLayer]);\n\n\tuseEffect(() => {\n\t\tif (mapHook.map?.cancelled === true || !mapHook.map?.map?.getSource?.(layerId.current)) return;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore setData only exists on GeoJsonSource\n\t\tmapHook.map.map.getSource(layerId.current)?.setData?.(props.geojson);\n\t}, [props.geojson, mapHook.map, props.options.type]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tmapHook.map?.cancelled === true ||\n\t\t\t!mapHook.map ||\n\t\t\t!mapHook.map?.map?.getLayer?.(layerId.current) ||\n\t\t\tprops.options.type !== layerTypeRef.current\n\t\t)\n\t\t\treturn;\n\n\t\tlet key;\n\n\t\tconst layoutString = JSON.stringify(props.options.layout);\n\t\tif (props.options.layout && layoutString !== layerLayoutConfRef.current) {\n\t\t\tconst oldLayout = JSON.parse(layerLayoutConfRef.current);\n\n\t\t\tfor (key in props.options.layout) {\n\t\t\t\tif (\n\t\t\t\t\tprops.options.layout?.[key as PaintPropsKeyType] &&\n\t\t\t\t\tprops.options.layout[key as PaintPropsKeyType] !== oldLayout[key]\n\t\t\t\t) {\n\t\t\t\t\tmapHook.map.map.setLayoutProperty(\n\t\t\t\t\t\tlayerId.current,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tprops.options.layout[key as PaintPropsKeyType]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlayerLayoutConfRef.current = layoutString;\n\t\t}\n\n\t\tconst paintString = JSON.stringify(props.options.paint);\n\t\tif (paintString !== layerPaintConfRef.current) {\n\t\t\tconst oldPaint = JSON.parse(layerPaintConfRef.current);\n\t\t\tfor (key in props.options.paint) {\n\t\t\t\tif (\n\t\t\t\t\tprops.options.paint?.[key as PaintPropsKeyType] &&\n\t\t\t\t\tprops.options.paint[key as PaintPropsKeyType] !== oldPaint[key]\n\t\t\t\t) {\n\t\t\t\t\tmapHook.map.map.setPaintProperty(\n\t\t\t\t\t\tlayerId.current,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tprops.options.paint[key as PaintPropsKeyType]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlayerPaintConfRef.current = paintString;\n\t\t}\n\t}, [props.options, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!props.insertBeforeLayer ||\n\t\t\t!mapHook.map ||\n\t\t\t!mapHook.map.getLayer(props.insertBeforeLayer) ||\n\t\t\t!mapHook.map.getLayer(layerId.current)\n\t\t)\n\t\t\treturn;\n\n\t\tmapHook.map.moveLayer(layerId.current, props.insertBeforeLayer);\n\t}, [mapHook.map, props.insertBeforeLayer]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tmapHook.cleanup();\n\t\t};\n\t}, []);\n\n\n\tuseEffect(() => {\n\t\tif (typeof props?.options?.source !== 'string' || !mapHook.map) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst findSourceHandler = () => {\n\t\t\tif (\n\t\t\t\ttypeof props?.options?.source === 'string' &&\n\t\t\t\tmapHook?.map?.getSource?.(props.options.source) &&\n\t\t\t\t!mapHook.map.getLayer(layerId.current)\n\t\t\t) {\n\t\t\t\tcreateLayer();\n\t\t\t}\n\t\t};\n\n\t\tmapHook.map.on('sourcedataloading', findSourceHandler);\n\n\t\tconst addSourceHandler = (\n\t\t\t_ev: any,\n\t\t\t_wrapper: MapLibreGlWrapper,\n\t\t\t{ source_id }: { source_id: string }\n\t\t) => {\n\t\t\tif (\n\t\t\t\tmapHook.map &&\n\t\t\t\ttypeof props?.options?.source === 'string' &&\n\t\t\t\tprops.options.source === source_id\n\t\t\t) {\n\t\t\t\tcreateLayer();\n\t\t\t}\n\t\t};\n\t\tmapHook.map.wrapper.on(\n\t\t\t'addsource',\n\t\t\taddSourceHandler as unknown as MapLibreGlWrapperEventHandlerType\n\t\t);\n\t\treturn () => {\n\t\t\tif (mapHook?.map) {\n\t\t\t\tmapHook.map.off('sourcedataloading', findSourceHandler);\n\t\t\t\tmapHook.map.wrapper.off(\n\t\t\t\t\t'addsource',\n\t\t\t\t\taddSourceHandler as unknown as MapLibreGlWrapperEventHandlerType\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.options?.source]);\n\n\t// Reload onClick-handlers when they change\n\tuseEffect(() => {\n\t\tif(!props.onClick || !mapHook?.map || !mapHook?.map?.getLayer?.(layerId.current))return;\n\n\t\tconst onClickHandler = props.onClick;\n\t\tmapHook.map?.on('click', layerId.current, onClickHandler);\n\n\t\treturn () => {\n\t\t\tif (onClickHandler && mapHook?.map) {\n\t\t\t\tmapHook.map?.off('click', layerId.current, onClickHandler as unknown as (ev: MapMouseEvent & { features?: MapGeoJSONFeature[] | undefined; } & any) => void)\n\t\t\t}\n\t\t}\n\t}, [mapHook.map, props.onClick]);\n\n\t// Reload onHover-handlers when they change\n\tuseEffect(() => {\n\t\tif(!props.onHover || !mapHook?.map || !mapHook?.map?.getLayer?.(layerId.current))return;\n\n\t\tconst onHoverHandler = props.onHover;\n\t\tmapHook.map?.on('mousemove', layerId.current, onHoverHandler);\n\n\t\treturn () => {\n\t\t\tif (onHoverHandler && mapHook?.map) {\n\t\t\t\tmapHook.map?.off('mousemove', layerId.current, onHoverHandler as unknown as (ev: MapMouseEvent & { features?: MapGeoJSONFeature[] | undefined; } & any) => void)\n\t\t\t}\n\t\t}\n\t}, [mapHook.map, props.onHover]);\n\n\t// Reload onLeave-handlers when they change\n\tuseEffect(() => {\n\t\tif(!props.onLeave || !mapHook?.map || !mapHook?.map?.getLayer?.(layerId.current))return;\n\n\t\tconst onLeaveHandler = props.onLeave;\n\t\tmapHook.map?.on('mouseleave', layerId.current, onLeaveHandler);\n\n\t\treturn () => {\n\t\t\tif (onLeaveHandler && mapHook?.map) {\n\t\t\t\tmapHook.map?.off('mouseleave', layerId.current, onLeaveHandler as unknown as (ev: MapMouseEvent & { features?: MapGeoJSONFeature[] | undefined; } & any) => void)\n\t\t\t}\n\t\t}\n\t}, [mapHook.map, props.onLeave]);\n\n\treturn {\n\t\tmap: mapHook.map,\n\t\tlayer: layer,\n\t\tlayerId: layerId.current,\n\t\tcomponentId: mapHook.componentId,\n\t\tmapHook: mapHook,\n\t};\n}\n\nuseLayer.defaultProps = {};\n\nexport default useLayer;\n","import React from \"react\";\n\nimport { v4 as uuidv4 } from \"uuid\";\nimport useLayer from \"../../hooks/useLayer\";\n\nexport interface MlFillExtrusionLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component\n\t */\n\tlayerId?: string;\n\t/**\n\t * Paint properties of the config object that is passed to the MapLibreGl.addLayer call. All\n\t * available properties are documented in the MapLibreGl documentation\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill-extrusion\n\t */\n\tpaint?: object;\n\t/**\n\t * Source id of a vector tile source containing the geometries to use for this fill-extrusion\n\t * layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#source-layer\n\t */\n\tsourceId?: string;\n\t/**\n\t * Layer id from a vector tile source containing the geometries to use for this fill-extrusion\n\t * layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#source-layer\n\t */\n\tsourceLayer?: string;\n\t/**\n\t * This layer will be hidden for zoom levels lower than defined on this property\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#minzoom\n\t */\n\tminZoom?: number;\n}\n\n/**\n * Adds a fill extrusion layer to the MapLibre instance reference by props.mapId\n *\n */\nconst MlFillExtrusionLayer = (props: MlFillExtrusionLayerProps) => {\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\tlayerId: props.layerId || \"MlFillExtrusionLayer-\" + uuidv4(),\n\t\toptions: {\n\t\t\tid: \"\",\n\t\t\ttype: \"fill-extrusion\",\n\t\t\tsource: props.sourceId || \"openmaptiles\",\n\t\t\t\"source-layer\": props.sourceLayer || \"building\",\n\t\t\tminzoom: props.minZoom || 6,\n\t\t\tpaint: {\n\t\t\t\t...props.paint,\n\t\t\t},\n\t\t},\n\t\tinsertBeforeFirstSymbolLayer: true,\n\t});\n\n\treturn <></>;\n};\n\nMlFillExtrusionLayer.defaultProps = {\n\tmapId: undefined,\n\tpaint: {\n\t\t\"fill-extrusion-color\": \"hsl(196, 61%, 83%)\",\n\t\t\"fill-extrusion-height\": {\n\t\t\tproperty: \"render_height\",\n\t\t\ttype: \"identity\",\n\t\t},\n\t\t\"fill-extrusion-base\": {\n\t\t\tproperty: \"render_min_height\",\n\t\t\ttype: \"identity\",\n\t\t},\n\t\t\"fill-extrusion-opacity\": 1,\n\t},\n};\n\nexport default MlFillExtrusionLayer;\n","import { LayerSpecification, RasterLayerSpecification } from 'maplibre-gl';\n\nconst getDefaultPaintPropsByType = (\n\ttype: string,\n\tdefaultPaintOverrides?: { [key: string]: unknown }\n): Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']> => {\n\tswitch (type) {\n\t\tcase 'fill':\n\t\t\tif (defaultPaintOverrides?.fill) {\n\t\t\t\treturn defaultPaintOverrides.fill;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// 'fill-color': 'rgba(10,240,256,0.6)',\n\t\t\t\t// 'fill-outline-color': 'rgba(20,230,256,0.8)',\n\t\t\t\t'fill-color': '#009EE0',\n\t\t\t\t'fill-outline-color': '#009EE0'\n\t\t\t};\n\t\tcase 'line':\n\t\t\tif (defaultPaintOverrides?.line) {\n\t\t\t\tconsole.log(defaultPaintOverrides.line);\n\t\t\t\treturn defaultPaintOverrides.line;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// // 'line-color': 'rgb(203,211,2)',\n\t\t\t\t// 'line-width': 5,\n\t\t\t\t// 'line-blur': 0,\n\t\t\t\t'line-color': '#009EE0',\n\t\t\t\t'line-width': 4,\n\t\t\t\t'line-blur': 0,\n\t\t\t};\n\t\tcase 'circle':\n\t\t\tif (defaultPaintOverrides?.circle) {\n\t\t\t\treturn defaultPaintOverrides.circle;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t// 'circle-color': 'rgba(10,240,256,0.8)',\n\t\t\t\t// 'circle-stroke-color': '#fff',\n\t\t\t\t// 'circle-stroke-width': 2,\n\t\t\t\t// 'circle-radius': 4,\n\t\t\t\t'circle-color': '#009EE0',\n\t\t\t\t'circle-stroke-color': '#fff',\n\t\t\t\t'circle-stroke-width': 2,\n\t\t\t\t'circle-radius': 5,\n\t\t\n\t\t\t};\n\t\tdefault:\n\t\t\treturn {};\n\t}\n};\n\nexport default getDefaultPaintPropsByType;\n","import { Feature, FeatureCollection } from \"geojson\";\nimport { LayerSpecification } from \"maplibre-gl\";\n\nconst mapGeometryTypesToLayerTypes: Record<string, LayerSpecification[\"type\"]> = {\n\tPosition: \"circle\",\n\tPoint: \"circle\",\n\tMultiPoint: \"circle\",\n\tLineString: \"line\",\n\tMultiLineString: \"line\",\n\tPolygon: \"fill\",\n\tMultiPolygon: \"fill\",\n\tGeometryCollection: \"circle\",\n};\n\nconst getDefaulLayerTypeByGeometry = (\n\tgeojson: Feature | FeatureCollection | undefined\n): LayerSpecification['type'] => {\n\tif (geojson?.type === \"Feature\") {\n\t\treturn mapGeometryTypesToLayerTypes?.[geojson?.geometry?.type]\n\t\t\t? mapGeometryTypesToLayerTypes[geojson.geometry.type]\n\t\t\t: \"circle\";\n\t}\n\tif (geojson?.type === \"FeatureCollection\") {\n\t\tif (geojson.features.length) {\n\t\t\treturn getDefaulLayerTypeByGeometry(geojson.features[0]);\n\t\t}\n\t\treturn \"circle\";\n\t}\n\treturn \"fill\";\n};\nexport default getDefaulLayerTypeByGeometry;\n","import { useEffect, useRef, useCallback, useState } from 'react';\nimport useMap, { useMapType } from './useMap';\nimport MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';\nimport { Source, SourceSpecification } from 'maplibre-gl';\n\ntype useSourceType = {\n\tmap: MapLibreGlWrapper | undefined;\n\tsource: Source | undefined;\n\tcomponentId: string;\n\tmapHook: useMapType;\n};\ninterface useSourceProps {\n\tmapId?: string;\n\tidPrefix?: string;\n\tsource: SourceSpecification;\n\tsourceId: string;\n}\n\nfunction useSource(props: useSourceProps): useSourceType {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n\tconst [source, setSource] = useState<Source>();\n\tconst sourceId = useRef(\n\t\tprops.sourceId || (props.idPrefix ? props.idPrefix : 'Source-') + mapHook.componentId\n\t);\n\n\tconst removeSource = useCallback(() => {\n\t\tif (mapHook.map && mapHook.map?.style?._layers) {\n\t\t\tfor (const [layerId, layer] of Object.entries(mapHook.map.style._layers)) {\n\t\t\t\tif (layer.source === sourceId.current) {\n\t\t\t\t\tmapHook.map.removeLayer(layerId);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (mapHook.map.getSource(sourceId.current)) {\n\t\t\t\tmapHook.map.removeSource(sourceId.current);\n\t\t\t}\n\t\t}\n\t}, [mapHook.map]);\n\n\tconst createSource = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (props.source.type === 'geojson' && !props.source.data) return;\n\n\t\tif (mapHook.map.map.getSource(sourceId.current)) {\n\t\t\tremoveSource();\n\t\t}\n\n\t\tmapHook.map?.addSource(sourceId.current, {\n\t\t\t...props.source,\n\t\t});\n\n\t\tsetSource(mapHook.map.map.getSource(sourceId.current));\n\t}, [props, mapHook, removeSource]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map?.map?.getSource(sourceId.current)) return;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore setData only exists on GeoJsonSource\n\t\tmapHook.map.map.getSource(sourceId.current)?.setData?.(props.source.data);\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t//@ts-ignore data only exists on GeoJsonSource\n\t}, [props.source?.data]);\n\n\tuseEffect(() => {\n\t\tif (mapHook?.map?.map?.getSource?.(props.sourceId) && props.sourceId === sourceId.current)\n\t\t\treturn;\n\n\t\tsourceId.current = props.sourceId;\n\t\tcreateSource();\n\t}, [mapHook.map, props, createSource]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tconst checkSourceHandler = () => {\n\t\t\tif (!mapHook?.map?.getSource?.(props.sourceId)) {\n\t\t\t\tcreateSource();\n\t\t\t}\n\t\t};\n\n\t\tmapHook.map.on('styledata', checkSourceHandler);\n\n\t\treturn () => {\n\t\t\tif (mapHook?.map) {\n\t\t\t\tmapHook.map.off('styledata', checkSourceHandler);\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, createSource]);\n\t//cleanup\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tremoveSource();\n\t\t};\n\t}, [removeSource]);\n\n\treturn {\n\t\tmap: mapHook.map,\n\t\tsource: source,\n\t\tcomponentId: mapHook.componentId,\n\t\tmapHook: mapHook,\n\t};\n}\n\nexport default useSource;\n","import React, { useEffect, useRef } from 'react';\n\nimport useLayer from '../../hooks/useLayer';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport getDefaultPaintPropsByType from './util/getDefaultPaintPropsByType';\nimport getDefaulLayerTypeByGeometry from './util/getDefaultLayerTypeByGeometry';\nimport { Feature, FeatureCollection,GeoJSON } from 'geojson';\nimport { useLayerProps } from '../../hooks/useLayer';\nimport useSource from '../../hooks/useSource';\n\nimport {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tLayerSpecification,\n\tRasterLayerSpecification,\n} from 'maplibre-gl';\n\nexport type MlGeoJsonLayerProps = {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t * This layer will not be added to the maplibre-gl instance until a layer with an\n\t * id that matches the value of insertBeforeLayer is created.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the new layer and source that are added to the MapLibre instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson?: Feature | FeatureCollection | undefined;\n\t/**\n\t * Type of the layer that will be added to the MapLibre instance.\n\t * All types from LayerSpecification union type are supported except the type from\n\t * RasterLayerSpecification\n\t */\n\ttype?: Exclude<LayerSpecification['type'], RasterLayerSpecification['type']>;\n\t/**\n\t * @deprecated The property should not be used. Please use the options.paint property instead. This will be removed in the next major release.\n\t * Paint property object, that is passed to the addLayer call.\n\t * Possible props depend on the layer type.\n\t * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/\n\t * Some examples are:\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t * All paint types from LayerSpecification union type are supported except the paint type from\n\t * RasterLayerSpecification\n\t */\n\n\tpaint?: Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']>;\n\t/**\n\t * @deprecated The property should not be used. Please use the options.layout property instead. This will be removed in the next major release.\n\t * Layout property object, that is passed to the addLayer call.\n\t * Possible props depend on the layer type.\n\t * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/\n\t * Some examples are:\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t * All layout types from LayerSpecification union type are supported except the layout type from\n\t * RasterLayerSpecification\n\n\t */\n\tlayout?: LayerSpecification['layout'];\n\n\t/**\n\t * Javascript object that is spread into the addLayer commands first parameter.\n\t */\n\toptions?: useLayerProps['options'];\n\t/**\n\t * Javascript object with optional properties \"fill\", \"line\", \"circle\" to override implicit layer type default paint properties.\n\t */\n\tdefaultPaintOverrides?: {\n\t\tcircle?: CircleLayerSpecification['paint'];\n\t\tfill?: FillLayerSpecification['paint'];\n\t\tline?: LineLayerSpecification['paint'];\n\t};\n\t/**\n\t * Property name in the GeoJSON object to be used as a label.\n\t */\n\tlabelProp?: string;\n\t/**\n\t * Label configuration options.\n\t */\n\tlabelOptions?: useLayerProps['options'];\n\n\t/**\n\t * Hover event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\tonHover?: useLayerProps['onHover'];\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is clicked.\n\t */\n\tonClick?: useLayerProps['onClick'];\n\t/**\n\t * Leave event handler that is executed whenever a geometry rendered by this component is\n\t * left/unhovered.\n\t */\n\tonLeave?: useLayerProps['onLeave'];\n};\n\n/**\n * Adds source and layer to display GeoJSON data on the map.\n *\n * @component\n */\n\nconst MlGeoJsonLayer = (props: MlGeoJsonLayerProps) => {\n\tconst layerType = props.type || getDefaulLayerTypeByGeometry(props.geojson);\n\tconst layerId = useRef(props.layerId || 'MlGeoJsonLayer-' + uuidv4());\n\tconst labelLayerId = `label-${layerId.current}`;\n\n\tuseEffect(() => {\n\t\tif (!props.layerId) {\n\t\t\tlayerId.current = 'MlGeoJsonLayer-' + uuidv4();\n\t\t} else {\n\t\t\tlayerId.current = props.layerId;\n\t\t}\n\t}, [props.layerId]);\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: 'source-' + layerId.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: props.geojson as unknown as (string | GeoJSON),\n\t\t\t...(typeof props?.options?.source !== 'undefined' &&\n\t\t\ttypeof props?.options?.source !== 'string'\n\t\t\t\t? props.options.source\n\t\t\t\t: {}),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\tlayerId: layerId.current,\n\t\toptions: {\t\t\t\t\t\n\t\t\t...(typeof props?.options?.source !== 'undefined' &&\n\t\t\t\t\t\ttypeof props?.options?.source === 'string'\n\t\t\t\t\t\t\t? {source: props.options.source}\n\t\t\t\t\t\t\t: {source: 'source-' + layerId.current}),\t\t\t\t\n\t\t\tpaint: {\n\t\t\t\t...(props.paint || getDefaultPaintPropsByType(layerType, props.defaultPaintOverrides)),\n\t\t\t\t...props?.options?.paint,\n\t\t\t},\n\t\t\tlayout: {\n\t\t\t\t...(props?.layout || {}),\n\t\t\t\t...props?.options?.layout,\n\t\t\t},\n\t\t\ttype: layerType as LayerSpecification['type'],\n\t\t} as useLayerProps['options'],\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t\tonHover: props.onHover,\n\t\tonClick: props.onClick,\n\t\tonLeave: props.onLeave,\n\t});\n\n\t// Label useLayer hook can't be called conditionally.\n\t// Using it with geojson and options.source undefined will cause it to return without creating a layer.\n\tuseLayer({\n\t\tmapId: props.mapId,\n\t\toptions: {\n\t\t\t...(typeof props?.options?.source !== 'undefined' &&\n\t\t\t\t\t\ttypeof props?.options?.source === 'string'\n\t\t\t\t\t\t\t? {source: props.options.source}\n\t\t\t\t\t\t\t: {source: 'source-' + layerId.current}),\t\t\t\t\t\t\n\t\t\tid: labelLayerId,\n\t\t\ttype: 'symbol',\n\t\t\tmaxzoom: 24,\n\t\t\tminzoom: 1,\n\t\t\t...(props?.labelOptions ? props.labelOptions : {}),\n\t\t\t...(props?.options?.filter ? { filter: props.options.filter } : {}),\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': `{${props.labelProp}}`,\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t...(props?.labelOptions?.layout ? props.labelOptions.layout : {}),\n\t\t\t\t...(props?.layout?.visibility ? { visibility: props.layout.visibility } : {}),\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#fefefe',\n\t\t\t\t'text-color': '#121212',\n\t\t\t\t...(props?.labelOptions?.paint ? props.labelOptions.paint : {}),\n\t\t\t},\n\t\t} as useLayerProps['options'],\n\t});\n\n\treturn <></>;\n};\n\nexport default MlGeoJsonLayer;\n","import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';\nimport useMap from '../../hooks/useMap';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\n\nimport { Button } from '@mui/material';\nimport GpsFixedIcon from '@mui/icons-material/GpsFixed';\n\nimport {\n\tpoint,\n\tcircle,\n\tlineArc,\n\tbbox,\n\tbooleanContains,\n\tbboxPolygon,\n} from '@turf/turf';\nimport {Feature, Point, BBox} from 'geojson';\nimport { CircleLayerSpecification, FillLayerSpecification, LngLatBoundsLike } from 'maplibre-gl';\n\nexport interface MlFollowGpsProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * By default a dot will be shown on the map at the user's location. Set to false to disable.\n\t */\n\tshowUserLocation?: boolean;\n\t/**\n\t * By default a cone will be shown on the map at the user's location to indicate the device's orientation.\n\t * Set to false to disable.\n\t */\n\tshowOrientation?: boolean;\n\t/**\n\t * By default, if showUserLocation is true, a transparent circle will be drawn around the user location\n\t * indicating the accuracy (95% confidence level) of the user's location. Set to false to disable.\n\t */\n\tshowAccuracyCircle?: boolean;\n\t/**\n\t * Use the MapLibre.flyTo function to center the map to the current users position if true.\n\t * Otherwise the MapLibre.setCenter function is used.\n\t */\n\tuseFlyTo?: boolean;\n\t/**\n\t * Center map to current position once updated location data is recieved.\n\t * \"false\" will center the map once on component activation and then display the updated user location on the map.\n\t */\n\tcenterUserPosition?: boolean;\n\t/**\n\t * Orientation cone paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the orientation cone polygon.\n\t * Use any available paint prop from layer type \"fill\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\torientationConePaint?: FillLayerSpecification['paint'];\n\t/**\n\t * Position circle paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the position circle.\n\t * Use any available paint prop from layer type \"circle\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t */\n\tcirclePaint?: CircleLayerSpecification['paint'];\n\t/**\n\t * Active button font color\n\t */\n\tonColor?: string;\n\t/**\n\t * Inactive button font color\n\t */\n\toffColor?: string;\n\t/**\n\t * Accuracy paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the accuracy polygon.\n\t * Use any available paint prop from layer type \"fill\".\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\taccuracyPaint?: FillLayerSpecification['paint'];\n}\n\n/**\n * Adds a button that makes the map follow the users GPS position using\n * navigator.geolocation.watchPosition if activated\n *\n */\nconst MlFollowGps = (props: MlFollowGpsProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [isFollowed, setIsFollowed] = useState(false);\n\tconst [userLocationGeoJson, setUserLocationGeoJson] = useState<Feature<Point>>();\n\tconst [locationAccessDenied, setLocationAccessDenied] = useState(false);\n\tconst [accuracyGeoJson, setAccuracyGeoJson] = useState<Feature>();\n\tconst [deviceOrientation, setDeviceOrientation] = useState(0);\n\tconst initiallyCentered = useRef(false);\n\n\tconst getLocationSuccess = useCallback(\n\t\t(pos: GeolocationPosition) => {\n\t\t\tif (!mapHook.map) return;\n\n\t\t\tif ((!props.centerUserPosition && !initiallyCentered.current) || props.centerUserPosition) {\n\t\t\t\tif (props.useFlyTo) {\n\t\t\t\t\tmapHook.map.map.flyTo({\n\t\t\t\t\t\tcenter: [pos.coords.longitude, pos.coords.latitude],\n\t\t\t\t\t\tzoom: 18,\n\t\t\t\t\t\tspeed: 1,\n\t\t\t\t\t\tcurve: 1,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tmapHook.map.map.setCenter([pos.coords.longitude, pos.coords.latitude]);\n\t\t\t\t}\n\n\t\t\t\tinitiallyCentered.current = true;\n\t\t\t}\n\t\t\tif (!props.showUserLocation) return;\n\t\t\tconst geoJsonPoint = point([pos.coords.longitude, pos.coords.latitude]);\n\t\t\tsetUserLocationGeoJson(geoJsonPoint);\n\t\t\tsetAccuracyGeoJson(circle(geoJsonPoint, pos.coords.accuracy / 1000));\n\t\t},\n\t\t[mapHook.map, props]\n\t);\n\n\tconst getLocationError = () => {\n\t\tconsole.log('Access of user location denied');\n\t\tsetLocationAccessDenied(true);\n\t};\n\n\tconst orientationCone = useMemo(() => {\n\t\tif (!userLocationGeoJson) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst radius = 0.02;\n\t\tconst bearing1 = deviceOrientation - 15;\n\t\tconst bearing2 = deviceOrientation + 15;\n\t\tconst options = { steps: 65 };\n\t\tconst arc = lineArc(userLocationGeoJson, radius, bearing1, bearing2, options);\n\t\tconst copy = arc;\n\t\tcopy.geometry.coordinates.push(userLocationGeoJson.geometry.coordinates);\n\t\tcopy.geometry.coordinates.slice(0, 0);\n\t\treturn copy;\n\t}, [deviceOrientation, userLocationGeoJson]);\n\n\tconst handleOrientation = (event: DeviceOrientationEvent) => {\n\t\tif (event?.alpha) {\n\t\t\tsetDeviceOrientation(-event.alpha);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (isFollowed) {\n\t\t\tconst _handleOrientation = handleOrientation;\n\t\t\twindow.addEventListener('deviceorientation', _handleOrientation);\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener('deviceorientation', _handleOrientation);\n\t\t\t};\n\t\t} else {\n\t\t\tinitiallyCentered.current = false;\n\t\t}\n\t\treturn;\n\t}, [isFollowed]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (isFollowed) {\n\t\t\tconst _watchId = navigator.geolocation.watchPosition(getLocationSuccess, getLocationError);\n\n\t\t\treturn () => {\n\t\t\t\tnavigator.geolocation.clearWatch(_watchId);\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [mapHook.map, isFollowed, getLocationSuccess]);\n\n\tuseEffect(() => {\n\t\tif (accuracyGeoJson?.type) {\n\t\t\tconst getBounds = mapHook.map?.getBounds();\n\t\t\tconst actualBounds = [\n\t\t\t\tgetBounds?._ne.lng,\n\t\t\t\tgetBounds?._ne.lat,\n\t\t\t\tgetBounds?._sw.lng,\n\t\t\t\tgetBounds?._sw.lat,\n\t\t\t];\n\t\t\tconst accurancyBounds = bbox(accuracyGeoJson) as LngLatBoundsLike;\n\t\t\tconst contained = booleanContains(\n\t\t\t\tbboxPolygon(actualBounds as BBox),\n\t\t\t\tbboxPolygon(accurancyBounds as BBox)\n\t\t\t);\n\n\t\t\tif (!contained) {\n\t\t\t\tmapHook.map?.fitBounds(accurancyBounds, {\n\t\t\t\t\tpadding: { top: 25, bottom: 25 },\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [accuracyGeoJson]);\n\n\treturn (\n\t\t<>\n\t\t\t{isFollowed && userLocationGeoJson && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={accuracyGeoJson}\n\t\t\t\t\ttype={'fill'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'fill-color': '#cbd300',\n\t\t\t\t\t\t'fill-opacity': 0.3,\n\t\t\t\t\t\t...props.accuracyPaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{isFollowed && orientationCone && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={orientationCone}\n\t\t\t\t\ttype={'fill'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'fill-color': '#0000ff',\n\t\t\t\t\t\t'fill-antialias': false,\n\t\t\t\t\t\t'fill-opacity': 0.3,\n\t\t\t\t\t\t...props.orientationConePaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{isFollowed && userLocationGeoJson && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={userLocationGeoJson}\n\t\t\t\t\ttype={'circle'}\n\t\t\t\t\tpaint={{\n\t\t\t\t\t\t'circle-color': '#009ee0',\n\t\t\t\t\t\t'circle-radius': 5,\n\t\t\t\t\t\t'circle-stroke-color': '#fafaff',\n\t\t\t\t\t\t'circle-stroke-width': 1,\n\t\t\t\t\t\t...props.circlePaint,\n\t\t\t\t\t}}\n\t\t\t\t\tinsertBeforeLayer={props.insertBeforeLayer}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<Button\n\t\t\t\tvariant=\"navtools\"\n\t\t\t\tdata-testid=\"mlFollowGpsBtn\"\n\t\t\t\tsx={{\n\t\t\t\t\tzIndex: 1002,\n\t\t\t\t\tcolor: isFollowed\n\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveColor\n\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSInactiveColor,\n\t\t\t\t\tbackgroundColor: isFollowed\n\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveBackgroundColor\n\t\t\t\t\t\t: (theme) => theme.palette.navigation.navColor,\n\t\t\t\t}}\n\t\t\t\tdisabled={locationAccessDenied}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetIsFollowed(!isFollowed);\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<GpsFixedIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t</Button>\n\t\t</>\n\t);\n};\n\nMlFollowGps.defaultProps = {\n\tmapId: undefined,\n\toffColor: '#666',\n\tshowAccuracyCircle: true,\n\tshowUserLocation: true,\n\tshowOrientation: true,\n\tcenterUserPosition: true,\n\tuseFlyTo: false,\n};\n\nexport default MlFollowGps;\n","import React, { useRef, useEffect, useState } from 'react';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLayer from '../../hooks/useLayer';\nimport useMap from '../../hooks/useMap';\nimport { SymbolLayerSpecification } from 'maplibre-gl';\nimport { Feature, FeatureCollection } from 'geojson';\n\nexport interface MlImageMarkerLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component to the maplibre-gl instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * Id of the image that will be added by this component to the maplibre-gl instance\n\t */\n\timageId?: string;\n\t/**\n\t * Path or URL to a supported raster image\n\t */\n\timgSrc?: string;\n\t/**\n\t * Javascript object that is passed the addLayer command as first parameter.\n\t */\n\toptions?: {\n\t\tsource?: { type?: string | undefined; data: Feature | FeatureCollection | undefined };\n\t\tlayout?: SymbolLayerSpecification['layout'];\n\t\tpaint?: SymbolLayerSpecification['paint'];\n\t};\n}\n\nconst MlImageMarkerLayer = (props: MlImageMarkerLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [imageId, setImageId] = useState<string>();\n\tconst imageIdRef = useRef(props.imageId || 'img_' + uuidv4());\n\tconst layerId = useRef(props.layerId || 'MlImageMarkerLayer-' + mapHook.componentId);\n\n\tuseLayer({\n\t\tgeojson: props.options?.source?.data,\n\t\tlayerId: layerId.current,\n\t\toptions: {\n\t\t\ttype: 'symbol',\n\t\t\tlayout: {\n\t\t\t\t...props.options?.layout,\n\t\t\t\t'icon-image': imageId || imageIdRef.current,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t...props.options?.paint,\n\t\t\t},\n\t\t},\n\t});\n\n\tconst createImage = (mapHook: ReturnType<typeof useMap>, props: MlImageMarkerLayerProps) => {\n\t\tif (!mapHook.map) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (props.imgSrc && !mapHook.map.map.hasImage(imageIdRef.current)) {\n\t\t\tmapHook.map.map.loadImage(props.imgSrc).then(function (res) {\n\t\t\t\tif (!res?.data){\n\t\t\t\t\tconsole.log('image ' + props.imgSrc + 'could not be loaded');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!mapHook.map || mapHook.map.map.hasImage(imageIdRef.current)) return;\n\n\t\t\t\tmapHook.map.addImage(\n\t\t\t\t\timageIdRef.current,\n\t\t\t\t\tres.data as unknown as ImageData,\n\t\t\t\t\tmapHook.componentId\n\t\t\t\t);\n\n\t\t\t\tsetImageId(imageIdRef.current);\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (props.imgSrc) {\n\t\t\tcreateImage(mapHook, props);\n\t\t}\n\t}, [props, mapHook]);\n\n\treturn <></>;\n};\n\nexport default MlImageMarkerLayer;\n","import React, { useEffect, useState } from 'react';\nimport MlFeatureEditor from '../MlFeatureEditor/MlFeatureEditor';\nimport * as turf from '@turf/turf';\nimport { Feature } from 'geojson';\n\nexport interface MlMeasureToolOnChangeOptions {\n\tvalue: number;\n\tunit: string | undefined;\n\tgeojson: Feature;\n\tgeometries?: [];\n}\nexport interface MlMeasureToolProps {\n\t/**\n\t * String that specify if the Tool measures an area (\"polygon\") or length (\"line\")\n\t */\n\tmeasureType?: 'polygon' | 'line';\n\t/**\n\t * String that dictates which unit of measurement is used\n\t */\n\tunit?: turf.Units;\n\t/**\n\t * Callback function that is called each time measurment geometry within has changed within MlMeasureTool.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonChange?: (options: MlMeasureToolOnChangeOptions) => void;\n\t/**\n\t * Callback function that is called by the end of drawing geometries.\n\t */\n\tonFinish?: () => void;\n}\n\nfunction unitMultiplier(unit: string | undefined) {\n\tswitch (unit) {\n\t\tcase 'meters':\n\t\t\treturn 1;\n\t\tcase 'millimeters':\n\t\t\treturn 1000;\n\t\tcase 'centimeters':\n\t\t\treturn 100;\n\t\tcase 'kilometers':\n\t\t\treturn 0.001;\n\t\tcase 'miles':\n\t\t\treturn 1 / 1609.344; // Meters in Miles\n\t\tcase 'nauticalmiles':\n\t\t\treturn 1 / 1852; // Meters in Nautical Miles\n\t\tcase 'inches':\n\t\t\treturn 39.3701; // Meters in Inches\n\t\tcase 'yards':\n\t\t\treturn 1.09361; // Meters in Yards\n\t\tcase 'feet':\n\t\t\treturn 3.28084; // Meters in Feet\n\t\t// case 'acres':\n\t\t// \treturn 1 / 4046.8564224; // Square meters in an acre\n\t\t// case 'hectares':\n\t\t// \treturn 1 / 10000; // Square meters in a hectare\n\t\tdefault:\n\t\t\treturn 1;\n\t}\n}\n\nfunction unitLabel(unit: string | undefined) {\n\tswitch (unit) {\n\t\tcase 'miles':\n\t\t\treturn 'mi';\n\t\tcase 'acres':\n\t\t\treturn 'ac';\n\t\tcase 'kilometers':\n\t\t\treturn 'km';\n\t\tcase 'meters':\n\t\t\treturn 'm';\n\t\tcase 'millimeters':\n\t\t\treturn 'mm';\n\t\tcase 'centimeters':\n\t\t\treturn 'cm';\n\t\tcase 'nauticalmiles':\n\t\t\treturn 'nm';\n\t\tcase 'inches':\n\t\t\treturn 'in';\n\t\tcase 'yards':\n\t\t\treturn 'yd';\n\t\tcase 'feet':\n\t\t\treturn 'ft';\n\t\tcase 'hectares':\n\t\t\treturn 'ha';\n\t\tdefault:\n\t\t\treturn 'm';\n\t}\n}\n\nconst MlMeasureTool = (props: MlMeasureToolProps) => {\n\tconst [displayValue, setDisplayValue] = useState({ value: 0, label: '' });\n\tconst [currentFeatures, setCurrentFeatures] = useState<Feature[]>([]);\n\n\tuseEffect(() => {\n\t\tif (currentFeatures[0]) {\n\t\t\tlet result: number = 0;\n\t\t\tif (props.measureType === 'polygon') {\n\t\t\t\t// Calculate area in square meters\n\t\t\t\tresult = turf.area(currentFeatures[0] as Feature);\n\n\t\t\t\t// Convert area depending on the unit (square meters -> selected area unit)\n\t\t\t\tif (props.unit) {\n\t\t\t\t\tconst unit = props.unit as string;\n\t\t\t\t\tif (unit === 'acres') {\n\t\t\t\t\t\tresult = result / 4046.8564224;\n\t\t\t\t\t} else if (unit === 'hectares') {\n\t\t\t\t\t\tresult = result / 10000;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = result * unitMultiplier(props.unit) ** 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tresult = turf.length(currentFeatures[0] as Feature, { units: props.unit });\n\t\t\t}\n\n\t\t\tif (typeof props.onChange === 'function') {\n\t\t\t\tprops.onChange({ value: result, unit: props.unit, geojson: currentFeatures[0] });\n\t\t\t}\n\n\t\t\tif (result >= 0.1) {\n\t\t\t\tsetDisplayValue({ value: result, label: unitLabel(props.unit) });\n\t\t\t}\n\t\t}\n\t}, [props.unit, currentFeatures]);\n\n\treturn (\n\t\t<>\n\t\t\t<MlFeatureEditor\n\t\t\t\tonChange={(features) => {\n\t\t\t\t\tfeatures && setCurrentFeatures(features);\n\t\t\t\t}}\n\t\t\t\tmode={props.measureType === 'polygon' ? 'draw_polygon' : 'draw_line_string'}\n\t\t\t\tonFinish={props.onFinish}\n\t\t\t/>\n\t\t\t{displayValue.value.toLocaleString('de-DE', {\n\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t})}{' '}\n\t\t\t{unitLabel(props.unit)}\n\t\t\t{displayValue.label &&\n\t\t\tprops.measureType === 'polygon' &&\n\t\t\t!['hectares', 'acres'].includes(props.unit || '')\n\t\t\t\t? ' ²'\n\t\t\t\t: ''}\n\t\t</>\n\t);\n};\n\nMlMeasureTool.defaultProps = {\n\tmapId: undefined,\n\tmeasureType: 'line',\n\tunit: 'meters',\n};\nexport default MlMeasureTool;\n","import React from 'react';\nimport { List, styled } from '@mui/material';\n\nconst ListStyled = styled(List)({\n\tmarginTop: '15px',\n});\ninterface LayerListProps {\n\tmapId?: string;\n\tchildren?: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction LayerList(props: LayerListProps) {\n\treturn <ListStyled>{props?.children}</ListStyled>;\n}\n\nexport default LayerList;\n","import React, { ReactNode, useMemo, useState } from 'react';\nimport { Box, styled } from '@mui/system';\nimport { Checkbox, IconButton, List, ListItem, ListItemIcon, ListItemText } from '@mui/material';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nconst ListItemStyled = styled(ListItem)({\n\tpaddingRight: 0,\n\tpaddingLeft: 0,\n\tpaddingTop: 0,\n\tpaddingBottom: '4px',\n});\nconst ListItemIconStyled = styled(ListItemIcon)({\n\tminWidth: '30px',\n});\nconst IconButtonStyled = styled(IconButton)({\n\tmarginRight: '0px',\n\tpadding: '0px',\n});\nconst CheckboxStyled = styled(Checkbox)({\n\tpadding: 0,\n\tmarginRight: '5px',\n});\nconst BoxStyled = styled(Box)<{ open: boolean }>(({ open }) => ({\n\tdisplay: open ? 'block' : 'none',\n}));\nconst ListStyled = styled(List)({\n\tmarginLeft: '50px',\n});\n\ninterface LayerListFolderProps {\n\tvisible: boolean;\n\tname?: string | ReactNode;\n\tchildren: React.JSX.Element | React.JSX.Element[];\n\tsetVisible?: (visible: boolean | ((val: unknown) => boolean)) => void;\n}\n\nfunction LayerListFolder({ visible = true, name, children, setVisible }: LayerListFolderProps) {\n\tconst [open, setOpen] = useState(false);\n\tconst [localVisible, setLocalVisible] = useState(true);\n\tconst _visible = useMemo(() => {\n\t\tif (!visible) {\n\t\t\treturn false;\n\t\t}\n\t\treturn localVisible;\n\t}, [visible, localVisible]);\n\n\tconst _children = useMemo(() => {\n\t\tif (children) {\n\t\t\tif (Array.isArray(children)) {\n\t\t\t\treturn children.map((element) => {\n\t\t\t\t\treturn React.cloneElement(element, {\n\t\t\t\t\t\tvisible: _visible,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn React.cloneElement(children, {\n\t\t\t\tvisible: _visible,\n\t\t\t});\n\t\t}\n\t\treturn <></>;\n\t}, [_visible]);\n\n\treturn (\n\t\t<>\n\t\t\t<ListItemStyled>\n\t\t\t\t<ListItemIconStyled>\n\t\t\t\t\t<IconButtonStyled edge=\"end\" aria-label=\"open\" onClick={() => setOpen(!open)}>\n\t\t\t\t\t\t{open ? <ExpandMoreIcon /> : <ExpandLessIcon />}\n\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\tdisabled={setVisible ? false : !visible}\n\t\t\t\t\t\tchecked={setVisible ? visible : localVisible}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (setVisible) {\n\t\t\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetLocalVisible((val) => !val);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</ListItemIconStyled>\n\t\t\t\t<ListItemText primary={name} variant=\"layerlist\" />\n\t\t\t</ListItemStyled>\n\t\t\t<BoxStyled open={open}>\n\t\t\t\t<ListStyled disablePadding>{_children}</ListStyled>\n\t\t\t</BoxStyled>\n\t\t</>\n\t);\n}\n\nexport default LayerListFolder;\n","\nimport { ColorResult } from 'react-color';\n\nexport const DEFAULT_CONVERTER = 'rgba_hex'\nexport const converters = {\n rgba: (c:ColorResult) => `rgba(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b}, ${c.rgb.a})`,\n rgb: (c:ColorResult) => `rgb(${c.rgb.r}, ${c.rgb.g}, ${c.rgb.b})`,\n hex: (c:ColorResult) => c.hex,\n\n rgba_rgb: (c:ColorResult) => c.rgb.a === 1 ? converters.rgb(c) : converters.rgba(c),\n rgba_hex: (c:ColorResult) => c.rgb.a === 1 ? converters.hex(c) : converters.rgba(c)\n}\n\nexport default converters","import React, { useState } from 'react';\n\nimport { ChromePicker } from 'react-color';\nimport { Button, Grid } from '@mui/material';\nimport { converters } from './transformers';\n\nexport interface ColorPickerProps {\n\tonChange?: (value: string) => void;\n\tconvert: 'rgb' | 'rgba' | 'rgba_hex' | 'hex' | 'rgba_rgb';\n\tvalue?: string;\n}\n\nconst ColorPicker = ({ convert, ...props }: ColorPickerProps) => {\n\tconst [showPicker, setShowPicker] = useState(false);\n\tconst value = props?.value || '';\n\n\treturn (\n\t\t<>\n\t\t\t<Grid container sx={{ flexWrap: 'nowrap' }}>\n\t\t\t\t<Grid size={12}>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\tonClick={() => setShowPicker(true)}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tminWidth: '100%',\n\t\t\t\t\t\t\tpadding: '5px',\n\t\t\t\t\t\t\tmarginBottom: '10px',\n\t\t\t\t\t\t\tjustifyContent: 'flex-start',\n\t\t\t\t\t\t\tborderColor: (theme) => theme.palette.text.primary,\n\t\t\t\t\t\t\tcolor: (theme) => theme.palette.text.primary,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: '25px',\n\t\t\t\t\t\t\t\theight: '25px',\n\t\t\t\t\t\t\t\tmarginRight: '10px',\n\t\t\t\t\t\t\t\tbackgroundColor: value,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{value}\n\t\t\t\t\t</Button>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\t\t\t{showPicker && (\n\t\t\t\t<div style={{ position: 'relative', marginTop: 0 }}>\n\t\t\t\t\t<div style={{ position: 'absolute', zIndex: 1000 }}>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{ position: 'fixed', top: '0px', right: '0px', bottom: '0px', left: '0px' }}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetShowPicker(false);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ChromePicker\n\t\t\t\t\t\t\tcolor={value}\n\t\t\t\t\t\t\tonChange={(c) => {\n\t\t\t\t\t\t\t\tconst newValue = converters[convert](c);\n\t\t\t\t\t\t\t\tprops?.onChange?.(newValue);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nColorPicker.defaultProps = {\n\tconvert: 'rgba_hex',\n\tlabel: 'Color',\n\tname: 'color',\n};\n\nexport default ColorPicker;\n","import React from 'react';\nimport { paintPropsType } from '../LayerPropertyForm';\nimport ColorPicker from '../../../ColorPicker/ColorPicker';\n\ninterface PaintPropsColorPickerProps {\n\tkey: string;\n\tvalue: string;\n\tpropKey: string;\n\tsetPaintProps: (\n\t\tpaintProps: paintPropsType | ((current: paintPropsType) => paintPropsType)\n\t) => void;\n}\n\nfunction PaintPropsColorPicker({ propKey, value, setPaintProps }: PaintPropsColorPickerProps) {\n\treturn (\n\t\t<ColorPicker\n\t\t\tvalue={value}\n\t\t\tlabel=\"Color\"\n\t\t\tonChange={(value: string) => {\n\t\t\t\tsetPaintProps((current: paintPropsType): paintPropsType => {\n\t\t\t\t\tconst newProps = {\n\t\t\t\t\t\t...current,\n\t\t\t\t\t\t[propKey]: value,\n\t\t\t\t\t};\n\t\t\t\t\treturn newProps;\n\t\t\t\t});\n\t\t\t}}\n\t\t/>\n\t);\n}\nexport default PaintPropsColorPicker;\n","import React, { useRef, useCallback } from 'react';\nimport {\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tLineLayerSpecification,\n} from 'maplibre-gl';\nimport { Box, ListItem, Paper, Slider, TextField, Typography, styled } from '@mui/material';\nimport ColorPicker from './input/ColorPicker';\n\nconst PaperStyled = styled(Paper)({\n\tmarginLeft: '-100px',\n\tmarginRight: '-21px',\n\tpaddingLeft: '53px',\n\tborderRadius: '0px',\n\tboxShadow: 'none',\n\tbackgroundColor: 'rgb(0, 0, 0, 0)',\n});\nconst BoxStyled = styled(Box)({\n\tmarginLeft: '61px',\n});\n\nconst mapPropKeyToFormInputType = {\n\t'circle-color': 'colorpicker',\n\t'circle-radius': 'slider',\n\t'circle-stroke-color': 'colorpicker',\n\t'circle-stroke-width': 'slider',\n\t'fill-color': 'colorpicker',\n\t'fill-outline-color': 'colorpicker',\n\t'line-color': 'colorpicker',\n\t'line-width': 'slider',\n\t'line-blur': 'slider',\n};\nconst mapPropKeyToFormInputTypeKeys = Object.keys(mapPropKeyToFormInputType);\n\nconst inputPropsByPropKey:{[key:string]:{ [K in \"step\" | \"min\" | \"max\"]: number }} = {\n\t'circle-stroke-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 20,\n\t},\n\t'circle-radius': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-blur': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n};\n\nexport type paintPropsType =\n\t| CircleLayerSpecification['paint']\n\t| FillLayerSpecification['paint']\n\t| LineLayerSpecification['paint'];\n\ninterface LayerPropertyFormProps {\n\tpaintProps: paintPropsType;\n\tsetPaintProps: (\n\t\tpaintProps: paintPropsType | ((current: paintPropsType) => paintPropsType)\n\t) => void;\n\tlayerType: string;\n}\n\n\nfunction LayerPropertyForm({ paintProps = {}, setPaintProps }: LayerPropertyFormProps) {\n\tconst key = useRef(Math.round(Math.random() * 10000000000));\n\n\tconst getFormInputByType = useCallback(\n\t\t(key: keyof paintPropsType) => {\n\t\t\tif (\n\t\t\t\tmapPropKeyToFormInputTypeKeys.indexOf(key) !== -1 &&\n\t\t\t\t(typeof paintProps[key] === 'number' || typeof paintProps[key] === 'string')\n\t\t\t) {\n\t\t\t\tconst label = (\n\t\t\t\t\t<Typography id={key + '_label'} gutterBottom>\n\t\t\t\t\t\t{key}\n\t\t\t\t\t</Typography>\n\t\t\t\t);\n\t\t\t\tswitch (mapPropKeyToFormInputType[key]) {\n\t\t\t\t\tcase 'slider':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t{...inputPropsByPropKey[key]}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\tvalueLabelDisplay=\"auto\"\n\t\t\t\t\t\t\t\t\tonChange={(_ev: Event, value: number) => {\n\t\t\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t\t\tsetPaintProps((current) => ({ ...current, [key]: value }));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'numberfield':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\t\tinputProps={{ inputMode: 'decimal', pattern: '[0-9]*' }}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\tonChange={(ev: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\t\t\tif (ev?.target?.value) {\n\t\t\t\t\t\t\t\t\t\t\tsetPaintProps((current) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\t\t\t\t\t\t[key]: parseInt(ev.target.value),\n\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'colorpicker':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Box sx={{ '& > div': { width: 'initial !important' } }}>\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\t\tpropKey={key}\n\t\t\t\t\t\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t[paintProps]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PaperStyled>\n\t\t\t\t<ListItem key={key + '_paintPropForm'}>\n\t\t\t\t\t<BoxStyled>\n\t\t\t\t\t\t{Object.keys(paintProps).map((el) => getFormInputByType(el as keyof paintPropsType))}\n\t\t\t\t\t</BoxStyled>\n\t\t\t\t</ListItem>\n\t\t\t</PaperStyled>\n\t\t</>\n\t);\n}\nexport default LayerPropertyForm;\n","import React, { useEffect, useState } from 'react';\nimport { ListItem, IconButton, ListItemIcon, Checkbox, ListItemText, styled } from '@mui/material';\nimport TuneIcon from '@mui/icons-material/Tune';\nimport LayerPropertyForm from './LayerPropertyForm';\nimport { MlVectorTileLayerProps } from '../../../components/MlVectorTileLayer/MlVectorTileLayer';\n\nexport const ListItemStyled = styled(ListItem)((configurable) => ({\n\tpaddingRight: configurable ? '56px' : 0,\n\tpaddingLeft: 0,\n\tpaddingTop: 0,\n\tpaddingBottom: '4px',\n}));\nconst TuneIconButton = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n});\nexport const CheckboxListItemIcon = styled(ListItemIcon)({\n\tminWidth: '30px',\n});\nexport const CheckboxStyled = styled(Checkbox)({\n\tpadding: 0,\n});\n\ninterface LayerListItemVectorLayerProps {\n\tid: string;\n\tconfigurable?: boolean;\n\tvtProps: MlVectorTileLayerProps;\n\tsetVtProps: ((state: unknown) => void) | undefined;\n\tvisibleMaster?: boolean;\n}\n\ntype idIsStringObject = {[key:string]:any}\n\nfunction LayerListItemVectorLayer({\n\tconfigurable,\n\tvtProps,\n\tsetVtProps,\n\tid,\n\t...props\n}: LayerListItemVectorLayerProps) {\n\tconst [paintPropsFormVisible, setPaintPropsFormVisible] = useState(false);\n\tconst [visible, setVisible] = useState(true);\n\tconst [paintProps, setPaintProps] = useState((vtProps.layers as idIsStringObject)[id].paint);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!setVtProps ||\n\t\t\t(typeof (vtProps.layers as idIsStringObject)[id]?.layout?.visibility === 'undefined' && visible) ||\n\t\t\t(!visible && (vtProps.layers as idIsStringObject)[id]?.layout?.visibility === 'none') ||\n\t\t\t(visible && (vtProps.layers as idIsStringObject)[id]?.layout?.visibility === 'visible')\n\t\t)\n\t\t\treturn;\n\n\t\tconst _layers = [...vtProps.layers];\n\t\tif (!(_layers as idIsStringObject)[id].layout) {\n\t\t\t(_layers as idIsStringObject)[id].layout = { visibility: visible ? 'visible' : 'none' };\n\t\t} else {\n\t\t\t(_layers as idIsStringObject)[id].layout.visibility = visible ? 'visible' : 'none';\n\t\t}\n\n\t\tsetVtProps({ ...vtProps, layers: _layers });\n\t}, [visible, id, setVtProps, vtProps]);\n\n\tuseEffect(() => {\n\t\tsetVisible(!!props.visibleMaster);\n\t}, [props.visibleMaster]);\n\n\tuseEffect(() => {\n\t\tif (!setVtProps) return;\n\n\t\tif (JSON.stringify(paintProps) !== JSON.stringify((vtProps.layers as idIsStringObject)[id].paint)) {\n\t\t\tconst _paintProps = { ...paintProps };\n\t\t\tconst _layers = [...vtProps.layers];\n\t\t\t(_layers as idIsStringObject)[id].paint = _paintProps;\n\t\t\tsetVtProps({ ...vtProps, layers: _layers });\n\t\t}\n\t}, [paintProps, id, setVtProps, vtProps]);\n\n\treturn (\n\t\t<>\n\t\t\t<ListItemStyled\n\t\t\t\tkey={id}\n\t\t\t\tsecondaryAction={\n\t\t\t\t\tconfigurable ? (\n\t\t\t\t\t\t<TuneIconButton\n\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\taria-label=\"comments\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetPaintPropsFormVisible((current) => {\n\t\t\t\t\t\t\t\t\treturn !current;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TuneIcon />\n\t\t\t\t\t\t</TuneIconButton>\n\t\t\t\t\t) : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\tchecked={visible}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t<ListItemText primary={(vtProps.layers as idIsStringObject)[id].id} variant=\"layerlist\" />\n\t\t\t</ListItemStyled>\n\t\t\t{configurable && paintPropsFormVisible && (\n\t\t\t\t<LayerPropertyForm\n\t\t\t\t\tpaintProps={paintProps}\n\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\tlayerType={(vtProps.layers as idIsStringObject)[id].type}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nLayerListItemVectorLayer.defaultProps = {\n\tconfigurable: true,\n};\n\nexport default LayerListItemVectorLayer;\n","import * as React from 'react';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nexport interface ConfirmDialogProps {\n open: boolean;\n title: string;\n text: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\n\nexport default function ConfirmDialog(props: ConfirmDialogProps) {\n\n return (\n <>\n <Dialog\n open={props.open}\n onClose={props.onCancel}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">\n {props.title}\n </DialogTitle>\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n {props.text}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={props.onCancel}>Cancel</Button>\n <Button onClick={props.onConfirm} autoFocus>\n Confirm\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nConfirmDialog.defaultProps = {\n title: 'Confirm',\n text: 'Are you sure?',\n};","import React, { ReactNode } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\ninterface SortableContainerProps {\n\tchildren: ReactNode;\n\tlayerId: string;\n}\n\nfunction SortableContainer({ children, layerId }: SortableContainerProps) {\n\tconst { attributes, listeners, setNodeRef, transform } = useSortable({\n\t\tid: layerId,\n\t});\n\tconst style = {\n\t\ttransform: CSS.Transform.toString(transform),\n\t};\n\n\treturn (\n\t\t<li ref={setNodeRef} style={style} {...attributes} {...listeners}>\n\t\t\t{children}\n\t\t</li>\n\t);\n}\n\nexport default SortableContainer;\n","import React, { ReactNode, useEffect, useMemo, useRef, useState } from 'react';\nimport { LayerSpecification } from 'maplibre-gl';\nimport { IconButton, ListItemText, styled, SxProps } from '@mui/material';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport TuneIcon from '@mui/icons-material/Tune';\nimport LayerListFolder from './LayerListFolder';\nimport LayerPropertyForm from './util/LayerPropertyForm';\nimport LayerListItemVectorLayer, {\n\tCheckboxListItemIcon,\n\tCheckboxStyled,\n\tListItemStyled,\n} from './util/LayerListItemVectorLayer';\nimport ConfirmDialog from '../ConfirmDialog';\nimport getDefaultLayerTypeByGeometry from '../../components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry';\nimport getDefaultPaintPropsByType from '../../components/MlGeoJsonLayer/util/getDefaultPaintPropsByType';\nimport SortableContainer from './util/SortableContainer';\n\nconst TuneIconButton = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n});\nconst DeleteIconButton = styled(IconButton)({\n\tmarginLeft: '20px',\n});\n\ninterface LayerListItemProps {\n\tlayerComponent: React.JSX.Element;\n\tvisible: boolean;\n\tconfigurable: boolean;\n\ttype?: 'background' | 'background-labels' | 'layer' | 'wms-layer' | 'vector-tile-layer';\n\tname: string | ReactNode;\n\tdescription?: string;\n\tsetLayerState?: (state: unknown) => void;\n\tshowDeleteButton?: boolean;\n\tlistItemSx?: SxProps;\n\tbuttons?: React.JSX.Element;\n\tlayerId?: string;\n\tsortable?: boolean;\n}\n\nfunction LayerListItem({\n\tlayerComponent,\n\tvisible,\n\ttype,\n\tname,\n\tdescription,\n\tconfigurable,\n\tsetLayerState,\n\t...props\n}: LayerListItemProps) {\n\tconst [localVisible, setLocalVisible] = useState(true);\n\tconst [paintPropsFormVisible, setPaintPropsFormVisible] = useState(false);\n\tconst [showDeletionConfirmationDialog, setShowDeletionConfirmationDialog] = useState(false);\n\tconst deletedRef = useRef<boolean>(false);\n\tconst visibleRef = useRef<boolean>(visible);\n\n\t// this state variable is used for layer components that provide a paint attribute\n\tconst [paintProps, setPaintProps] = useState(\n\t\tlayerComponent?.props?.paint ||\n\t\t\tlayerComponent?.props?.options?.paint ||\n\t\t\tgetDefaultPaintPropsByType(\n\t\t\t\tlayerComponent?.props?.type || getDefaultLayerTypeByGeometry(layerComponent.props.geojson)\n\t\t\t)\n\t);\n\n\tconst _visible = useMemo(() => {\n\t\tif (!visible) {\n\t\t\treturn false;\n\t\t}\n\t\treturn localVisible;\n\t}, [visible, localVisible]);\n\n\tuseEffect(() => {\n\t\tif (!setLayerState || !layerComponent?.props?.layers || _visible === visibleRef.current) return;\n\n\t\tvisibleRef.current = _visible;\n\n\t\tconst state = { ...layerComponent?.props };\n\t\tswitch (layerComponent.type.name) {\n\t\t\tcase 'MlWmsLayer':\n\t\t\t\tbreak;\n\t\t\tcase 'MlVectorTileLayer':\n\t\t\t\tif (layerComponent?.props?.layers && !deletedRef.current) {\n\t\t\t\t\tstate.layers = layerComponent?.props?.layers.map((el: LayerSpecification) => {\n\t\t\t\t\t\tif (el.layout) {\n\t\t\t\t\t\t\tel.layout['visibility'] = _visible ? 'visible' : 'none';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.layout = { visibility: _visible ? 'visible' : 'none' };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn el;\n\t\t\t\t\t});\n\t\t\t\t\tconsole.log('setLayerState', state.layers);\n\t\t\t\t\tsetLayerState(state);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'MlGeoJsonLayer':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}, [_visible, setLayerState, layerComponent]);\n\n\tuseEffect(() => {\n\t\tif (!setLayerState || deletedRef.current || !paintProps || layerComponent?.props?.layers)\n\t\t\treturn;\n\n\t\tif (JSON.stringify(paintProps) === JSON.stringify(layerComponent.props?.paint)) return;\n\n\t\tsetLayerState({ ...layerComponent.props, paint: paintProps });\n\t}, [paintProps, setLayerState, layerComponent.props?.paint]);\n\n\tconst _layerComponent = useMemo(() => {\n\t\tif (layerComponent && type === 'layer') {\n\t\t\tswitch (layerComponent.type.displayName) {\n\t\t\t\tcase 'MlWmsLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\t...layerComponent?.props,\n\t\t\t\t\t\tvisible: _visible,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'MlVectorTileLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\t...layerComponent?.props,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\tcase 'MlGeoJsonLayer':\n\t\t\t\t\treturn React.cloneElement(layerComponent, {\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tvisibility: _visible ? 'visible' : 'none',\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t...layerComponent?.props?.options,\n\t\t\t\t\t\t\t...(setLayerState ? {} : { paint: paintProps }),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn <></>;\n\t}, [type, layerComponent, paintProps, _visible, layerComponent?.props?.layers, setLayerState]);\n\n\tconst layerType = useMemo(() => {\n\t\tif (layerComponent && type === 'layer') {\n\t\t\tif (layerComponent.props.type) {\n\t\t\t\treturn layerComponent.props.type;\n\t\t\t}\n\t\t\tif (layerComponent.props.geojson) {\n\t\t\t\treturn getDefaultLayerTypeByGeometry(layerComponent.props.geojson);\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}, [layerComponent]);\n\tconst listContent = (\n\t\t<ListItemStyled\n\t\t\tsx={{ ...props.listItemSx }}\n\t\t\tsecondaryAction={\n\t\t\t\tconfigurable && Object.keys(paintProps)?.length > 0 ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{props?.buttons}\n\t\t\t\t\t\t<TuneIconButton\n\t\t\t\t\t\t\tedge={'end'}\n\t\t\t\t\t\t\taria-label=\"settings\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetPaintPropsFormVisible((current) => {\n\t\t\t\t\t\t\t\t\treturn !current;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TuneIcon />\n\t\t\t\t\t\t</TuneIconButton>\n\t\t\t\t\t</>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t>\n\t\t\t<CheckboxListItemIcon>\n\t\t\t\t<CheckboxStyled\n\t\t\t\t\tdisabled={!visible}\n\t\t\t\t\tchecked={localVisible}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetLocalVisible((val) => !val);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</CheckboxListItemIcon>\n\t\t\t<ListItemText\n\t\t\t\tvariant=\"layerlist\"\n\t\t\t\tprimary={name}\n\t\t\t\tsecondary={description}\n\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t/>\n\t\t</ListItemStyled>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{props.sortable && props.layerId && !layerComponent?.props?.layers && (\n\t\t\t\t<SortableContainer layerId={props.layerId}>{listContent}</SortableContainer>\n\t\t\t)}\n\t\t\t{!props.sortable && !layerComponent?.props?.layers && listContent}\n\t\t\t{_layerComponent}\n\t\t\t{!layerComponent?.props?.layers &&\n\t\t\t\tObject.keys(paintProps).length > 0 &&\n\t\t\t\tconfigurable &&\n\t\t\t\tpaintPropsFormVisible && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{props.showDeleteButton && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<DeleteIconButton\n\t\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\t\taria-label=\"delete\"\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (typeof setLayerState === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(true);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t\t</DeleteIconButton>\n\t\t\t\t\t\t\t\t{showDeletionConfirmationDialog && (\n\t\t\t\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\t\t\t\topen={showDeletionConfirmationDialog}\n\t\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\t\tif (typeof setLayerState === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedRef.current = true;\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayerState(false);\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Delete layer\"\n\t\t\t\t\t\t\t\t\t\ttext=\"Are you sure you want to delete this layer?\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<LayerPropertyForm\n\t\t\t\t\t\t\tpaintProps={paintProps}\n\t\t\t\t\t\t\tsetPaintProps={setPaintProps}\n\t\t\t\t\t\t\tlayerType={layerType}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\n\t\t\t{layerComponent?.props?.layers && (\n\t\t\t\t<LayerListFolder visible={localVisible} setVisible={setLocalVisible} name={name}>\n\t\t\t\t\t{layerComponent?.props?.layers?.map?.((_el: LayerSpecification, idx: number) => (\n\t\t\t\t\t\t<LayerListItemVectorLayer\n\t\t\t\t\t\t\tvtProps={layerComponent?.props}\n\t\t\t\t\t\t\tsetVtProps={setLayerState}\n\t\t\t\t\t\t\tid={'' + idx}\n\t\t\t\t\t\t\tkey={'' + idx}\n\t\t\t\t\t\t\tvisibleMaster={_visible}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</LayerListFolder>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nLayerListItem.defaultProps = {\n\ttype: 'layer',\n\tvisible: true,\n\tshowDeleteButton: false,\n\tbuttons: <></>,\n};\n\nexport default LayerListItem;\n","import React, { useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { Paper, Drawer, IconButton, PaperProps, DrawerProps, Theme } from '@mui/material';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport Box from '@mui/material/Box';\nimport { Global } from '@emotion/react';\nimport { Typography, SwipeableDrawer } from '@mui/material';\n\nconst DrawerHeader = styled('div')(() => ({\n\tdisplay: 'flex',\n\talignItems: 'center',\n}));\n\ninterface SidebarProps {\n\tdrawerPaperProps?: PaperProps;\n\tdrawerHeaderProps?: Headers;\n\tchildren?: React.ReactNode;\n\topen?: boolean;\n\tsetOpen?: (val: boolean) => void;\n\tname?: string;\n\tdrawerBleeding?: number;\n}\n\nconst defaultDrawerBleeding = 56;\n\nconst Puller = styled(Box)(({ theme }) => ({\n\twidth: 30,\n\theight: 6,\n\tbackgroundColor: theme.palette.text.primary,\n\tborderRadius: 3,\n\tposition: 'absolute',\n\ttop: 8,\n\tleft: 'calc(50% - 15px)',\n}));\n\nexport default function Sidebar({\n\tdrawerPaperProps,\n\tdrawerHeaderProps,\n\tsetOpen,\n\t...props\n}: SidebarProps & DrawerProps) {\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('sm'));\n\n\tconst [drawerOpen, setDrawerOpen] = useState(false);\n\tconst drawerBleeding = props.drawerBleeding ? props.drawerBleeding : defaultDrawerBleeding;\n\treturn (\n\t\t<>\n\t\t\t{!mediaIsMobile ? (\n\t\t\t\t<Box sx={{ display: { xs: 'none', sm: 'flex' }, mr: 1 }}>\n\t\t\t\t\t<Drawer\n\t\t\t\t\t\ttransitionDuration={0}\n\t\t\t\t\t\tvariant=\"persistent\"\n\t\t\t\t\t\tanchor=\"left\"\n\t\t\t\t\t\topen={typeof props.open === 'undefined' ? drawerOpen : props.open}\n\t\t\t\t\t\tPaperProps={{\n\t\t\t\t\t\t\t...drawerPaperProps,\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\tmaxWidth: { lg: '30%', md: '40%', sm: '50%', xs: '78%' },\n\t\t\t\t\t\t\t\tpadding: { sm: '84px 20px 20px 20px', xs: '74px 10px 10px 10px' },\n\t\t\t\t\t\t\t\twidth: {\n\t\t\t\t\t\t\t\t\txs: '80%',\n\t\t\t\t\t\t\t\t\tsm: '60%',\n\t\t\t\t\t\t\t\t\tmd: '350px',\n\t\t\t\t\t\t\t\t\tlg: '350px',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t\t\t...drawerPaperProps?.sx,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\tzIndex: 105,\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\tmaxWidth: { lg: '30%', md: '40%', sm: '50%', xs: '78%' },\n\t\t\t\t\t\t\t...(drawerOpen ? {} : { left: mediaIsMobile ? '-90vw' : '-20vw' }),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DrawerHeader {...drawerHeaderProps}>\n\t\t\t\t\t\t\t<Typography variant=\"h6\">{props.name}</Typography>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen?.(false);\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(false);\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\t\tright: '20px',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CloseIcon />\n\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t</DrawerHeader>\n\t\t\t\t\t\t<Box>{props.children}</Box>\n\t\t\t\t\t</Drawer>\n\t\t\t\t</Box>\n\t\t\t) : (\n\t\t\t\t<Box sx={{ display: { xs: 'flex', sm: 'none' } }}>\n\t\t\t\t\t<Global\n\t\t\t\t\t\tstyles={{\n\t\t\t\t\t\t\t'.MuiDrawer-root > .MuiPaper-root': {\n\t\t\t\t\t\t\t\theight: `calc(50% - ${drawerBleeding}px)`,\n\t\t\t\t\t\t\t\toverflow: 'visible',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<SwipeableDrawer\n\t\t\t\t\t\tanchor=\"bottom\"\n\t\t\t\t\t\topen={typeof props.open === 'undefined' ? drawerOpen : props.open}\n\t\t\t\t\t\tonClose={\n\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\tsetOpen?.(false);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(false);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOpen={\n\t\t\t\t\t\t\tsetOpen\n\t\t\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\t\t\tsetOpen?.(true);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: () => {\n\t\t\t\t\t\t\t\t\t\tsetDrawerOpen(true);\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswipeAreaWidth={drawerBleeding}\n\t\t\t\t\t\tdisableSwipeToOpen={false}\n\t\t\t\t\t\thideBackdrop={true}\n\t\t\t\t\t\tModalProps={{\n\t\t\t\t\t\t\tkeepMounted: true,\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\ttop: `calc(90%)`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttop: -drawerBleeding,\n\t\t\t\t\t\t\t\tborderTopLeftRadius: 8,\n\t\t\t\t\t\t\t\tborderTopRightRadius: 8,\n\t\t\t\t\t\t\t\tvisibility: 'visible',\n\t\t\t\t\t\t\t\tright: 0,\n\t\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Puller />\n\t\t\t\t\t\t\t<Typography variant=\"h6\" sx={{ p: '13px' }}>\n\t\t\t\t\t\t\t\t{props.name}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</Paper>\n\n\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpx: '15px',\n\t\t\t\t\t\t\t\tpb: '15px',\n\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t\t\tpaddingTop: '20px',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.children}\n\t\t\t\t\t\t</Paper>\n\t\t\t\t\t</SwipeableDrawer>\n\t\t\t\t</Box>\n\t\t\t)}\n\t\t\t;\n\t\t</>\n\t);\n}\n","import React, { Fragment, useEffect, useState } from 'react';\nimport { Button, FormControl, InputLabel, MenuItem, Select, SxProps, Tooltip } from '@mui/material';\nimport Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport * as turf from '@turf/turf';\nimport PolylineIcon from '@mui/icons-material/Polyline';\nimport PentagonIcon from '@mui/icons-material/Pentagon';\nimport { Feature } from 'geojson';\nimport MlMeasureTool from '../MlMeasureTool/MlMeasureTool';\nimport LayerList from '../../ui_components/LayerList/LayerList';\nimport LayerListItem from '../../ui_components/LayerList/LayerListItem';\nimport Sidebar from '../../ui_components/Sidebar';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport useMap from '../../hooks/useMap';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport GpsFixedIcon from '@mui/icons-material/GpsFixed';\nimport { LngLatLike } from 'maplibre-gl';\n\nexport interface MlMultiMeasureToolProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style attribute for the button-style\n\t * https://mui.com/system/getting-started/the-sx-prop/\n\t */\n\tbuttonStyleOverride?: SxProps;\n\t/**\n\t * String that specify if the Tool measures an area (\"polygon\") or length (\"line\")\n\t */\n\tmeasureType?: 'polygon' | 'line';\n\t/**\n\t * Boolean which decides if the user can switch between measure modes\n\t */\n\tmultiType?: boolean;\n\t/**\n\t * String that dictates which unit of measurement is used\n\t */\n\tunit?: turf.Units;\n\t/**\n\t * Callback function that is called each time measurment geometry within has changed within MlMeasureTool.\n\t * First parameter is the new GeoJson feature.\n\t */\n\tonChange?: (options: { value: number; unit?: string; geojson: Feature; geometries?: [] }) => void;\n\n\t/**\n\t * Callback function that is called by the end of drawing geometries.\n\t */\n\tonFinish?: () => void;\n}\n\ntype MeasureStateType = {\n\tmeasure: number;\n\tunit?: string;\n\tselectedGeoJson?: Feature;\n\tactiveGeometryIndex?: number;\n\tgeometries?: Feature[];\n\tgeojson?: Feature;\n\tdrawMode?: keyof MapboxDraw.Modes;\n};\n\nconst MlMultiMeasureTool = (props: MlMultiMeasureToolProps) => {\n\tconst [openSidebar, setOpenSidebar] = useState(true);\n\tconst [selectedMode, setSelectedMode] = useState(props.measureType);\n\tconst [hoveredGeometry, setHoveredGeometry] = useState<Feature>();\n\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [measureState, setMeasureState] = useState<MeasureStateType | undefined>();\n\tconst [selectedUnit, setSelectedUnit] = useState<turf.Units>('kilometers');\n\n\tconst [measureList, setMeasureList] = useState<any>([]);\n\n\tconst [reload, setReload] = useState(false);\n\n\tconst unitSwitch = () => {\n\t\tif (selectedUnit === 'kilometers') {\n\t\t\tsetSelectedUnit('miles');\n\t\t}\n\t\tif (selectedUnit === 'miles') {\n\t\t\tsetSelectedUnit('kilometers');\n\t\t}\n\t};\n\n\tconst handleDelete = (Index: number) => {\n\t\tsetMeasureList((current: any) => {\n\t\t\tconst newList = [...current];\n\t\t\tnewList.splice(Index, 1);\n\t\t\tsetHoveredGeometry(undefined);\n\t\t\treturn newList;\n\t\t});\n\t};\n\n\tconst handleMeasureChange = (options: { value: number; unit?: string; geojson?: Feature }) => {\n\t\tsetMeasureState({\n\t\t\tmeasure: options.value,\n\t\t\tunit: options.unit,\n\t\t\tgeojson: options.geojson,\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (reload) {\n\t\t\tsetReload(false);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tmeasureState &&\n\t\t\t\tsetMeasureList((current: any) => {\n\t\t\t\t\tconst newList = [...current];\n\t\t\t\t\tnewList.push(measureState);\n\t\t\t\t\treturn newList;\n\t\t\t\t});\n\t\t}\n\t}, [reload]);\n\n\tuseEffect(() => {\n\t\tsetMeasureState(undefined);\n\t}, [selectedUnit]);\n\n\treturn (\n\t\t<>\n\t\t\t<Sidebar open={openSidebar} setOpen={setOpenSidebar} name={'Multi Measure Tool'}>\n\t\t\t\t<Box sx={{ flexGrow: 1 }}>\n\t\t\t\t\t<br />\n\t\t\t\t\t<Grid container spacing={4} justifyContent=\"flex-start\">\n\t\t\t\t\t\t<Grid size={3}>\n\t\t\t\t\t\t\t<Tooltip title=\"Measure Area\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\t\t\t\tselectedMode === 'polygon'\n\t\t\t\t\t\t\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveColor\n\t\t\t\t\t\t\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSActiveBackgroundColor,\n\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\tselectedMode === 'polygon'\n\t\t\t\t\t\t\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveBackgroundColor\n\t\t\t\t\t\t\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSActiveColor,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMode('polygon');\n\t\t\t\t\t\t\t\t\t\tsetMeasureState(undefined);\n\t\t\t\t\t\t\t\t\t\tsetReload(true);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PentagonIcon />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t\t<Grid size={3}>\n\t\t\t\t\t\t\t<Tooltip title=\"Measure Distance\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\t\t\t\tselectedMode === 'line'\n\t\t\t\t\t\t\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveColor\n\t\t\t\t\t\t\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSActiveBackgroundColor,\n\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\tselectedMode === 'line'\n\t\t\t\t\t\t\t\t\t\t\t\t? (theme) => theme.palette.GPS.GPSActiveBackgroundColor\n\t\t\t\t\t\t\t\t\t\t\t\t: (theme) => theme.palette.GPS.GPSActiveColor,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMode('line');\n\t\t\t\t\t\t\t\t\t\tsetMeasureState(undefined);\n\t\t\t\t\t\t\t\t\t\tsetReload(true);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PolylineIcon />\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t</Grid>\n\t\t\t\t</Box>\n\n\t\t\t\t<br />\n\n\t\t\t\t<Grid size={4}>\n\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t<InputLabel id=\"unit-select-label\">Unit</InputLabel>\n\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\tlabelId=\"unit-select-label\"\n\t\t\t\t\t\t\tid=\"unit-select\"\n\t\t\t\t\t\t\tvalue={selectedUnit}\n\t\t\t\t\t\t\tlabel=\"Unit\"\n\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\tsetSelectedUnit(e.target.value as turf.Units);\n\t\t\t\t\t\t\t\tsetMeasureState(undefined);\n\t\t\t\t\t\t\t\tsetReload(true);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<MenuItem value=\"kilometers\">Kilometers</MenuItem>\n\t\t\t\t\t\t\t<MenuItem value=\"miles\">Miles</MenuItem>\n\t\t\t\t\t\t</Select>\n\t\t\t\t\t</FormControl>\n\t\t\t\t</Grid>\n\n\t\t\t\t<br />\n\n\t\t\t\t{!reload && (\n\t\t\t\t\t<MlMeasureTool\n\t\t\t\t\t\tmeasureType={selectedMode}\n\t\t\t\t\t\tunit={selectedUnit}\n\t\t\t\t\t\tonChange={handleMeasureChange}\n\t\t\t\t\t\t{...unitSwitch}\n\t\t\t\t\t\tonFinish={() => {\n\t\t\t\t\t\t\tsetReload(true);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<LayerList>\n\t\t\t\t\t{measureList?.map(\n\t\t\t\t\t\t(measure: { measure: number; unit?: string; geojson: Feature }, Index: number) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Box key={measure.measure} sx={{ display: 'flex', flexDirection: 'column' }}>\n\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\t\tflexDirection={'row'}\n\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgb(177, 177, 177, 0.2)',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tmarginTop: '25px',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t\t\tsetHoveredGeometry(measure.geojson);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\t\t\tsetHoveredGeometry(undefined);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Fragment key={measure.measure + '-' + Index}>\n\t\t\t\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={measure.measure}\n\t\t\t\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgeojson={measure.geojson as Feature}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tvisible={true}\n\t\t\t\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"layer\"\n\t\t\t\t\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t\t\t\t\tmeasure.geojson.geometry?.type === 'LineString'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? measure.measure.toFixed(3).toString() + ' ' + measure.unit\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: measure.measure.toFixed(3).toString() + ' ' + measure.unit + '²'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip title=\"Delete\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Button onClick={() => handleDelete(Index)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<DeleteIcon />{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip title=\"Center Location\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmapHook?.map?.map.setCenter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmeasure.geojson.geometry.type === 'Point'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (measure.geojson.geometry.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: (turf.centerOfMass(measure.geojson).geometry\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<GpsFixedIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t\t{hoveredGeometry && (\n\t\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t\t\tgeojson={{ type: 'FeatureCollection', features: [hoveredGeometry] }}\n\t\t\t\t\t\t\tlayerId={'highlightBorder'}\n\t\t\t\t\t\t\tdefaultPaintOverrides={{\n\t\t\t\t\t\t\t\tcircle: {\n\t\t\t\t\t\t\t\t\t'circle-color': '#dd9900',\n\t\t\t\t\t\t\t\t\t'circle-opacity': 0.4,\n\t\t\t\t\t\t\t\t\t'circle-radius': 10,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\t\t\t'line-color': '#dd9900',\n\t\t\t\t\t\t\t\t\t'line-opacity': 0.4,\n\t\t\t\t\t\t\t\t\t'line-width': 10,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tfill: {\n\t\t\t\t\t\t\t\t\t'fill-color': '#dd9900',\n\t\t\t\t\t\t\t\t\t'fill-opacity': 0.4,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</LayerList>\n\t\t\t</Sidebar>\n\t\t</>\n\t);\n};\n\nMlMultiMeasureTool.defaultProps = {\n\tmapId: undefined,\n\tmeasureType: 'polygon',\n\tbuttonStyleOverride: {},\n};\n\nexport default MlMultiMeasureTool;\n","import React from 'react';\n\ninterface CompassBackgroundProps {\n className?: string;\n title?: string;\n onClick?: () => void;\n style?: React.CSSProperties;\n}\n\nconst CompassBackground: React.FC<CompassBackgroundProps> = ({ \n className = '', \n title,\n onClick,\n style\n}) => {\n return (\n <svg \n width=\"52\" \n height=\"53\" \n viewBox=\"0 0 52 53\" \n fill=\"none\" \n className={className}\n onClick={onClick}\n role={title ? 'img' : 'presentation'}\n aria-hidden={!title}\n style={style}\n >\n {title && <title>{title}</title>}\n <circle cx=\"26.0001\" cy=\"26.1843\" r=\"24\" fill=\"white\" stroke=\"#009EE0\" strokeWidth=\"2\"/>\n <path d=\"M26.4915 7.59161C26.3524 8.07338 25.6698 8.07338 25.5307 7.59161L24.2998 3.3276C24.2075 3.0079 24.4474 2.68893 24.7802 2.68893H27.242C27.5748 2.68893 27.8147 3.0079 27.7224 3.3276L26.4915 7.59161Z\" fill=\"#009EE0\"/>\n <path d=\"M25.5085 44.7598C25.6476 44.278 26.3302 44.278 26.4693 44.7598L27.7002 49.0238C27.7925 49.3435 27.5526 49.6625 27.2198 49.6625H24.758C24.4252 49.6625 24.1853 49.3435 24.2776 49.0238L25.5085 44.7598Z\" fill=\"#009EE0\"/>\n <path d=\"M44.6641 26.4915C44.1823 26.3524 44.1823 25.6698 44.6641 25.5307L48.9281 24.2998C49.2478 24.2075 49.5668 24.4474 49.5668 24.7802V27.242C49.5668 27.5747 49.2478 27.8147 48.9281 27.7224L44.6641 26.4915Z\" fill=\"#009EE0\"/>\n <path d=\"M7.3959 25.6085C7.87766 25.7476 7.87766 26.4302 7.3959 26.5693L3.13189 27.8002C2.81218 27.8925 2.49321 27.6526 2.49321 27.3198L2.49321 24.858C2.49321 24.5253 2.81218 24.2853 3.13189 24.3776L7.3959 25.6085Z\" fill=\"#009EE0\"/>\n </svg>\n );\n};\n\nexport default CompassBackground;","import React from 'react';\n\ninterface CompassNeedleProps {\n className?: string;\n title?: string;\n onClick?: () => void;\n style?: React.CSSProperties;\n}\n\nconst CompassNeedle: React.FC<CompassNeedleProps> = ({ \n className = '', \n title,\n onClick,\n style\n}) => {\n return (\n <svg \n width=\"10\" \n height=\"40\" \n viewBox=\"0 0 10 40\" \n fill=\"none\" \n className={className}\n onClick={onClick}\n role={title ? 'img' : 'presentation'}\n aria-hidden={!title}\n style={style}\n >\n {title && <title>{title}</title>}\n <g transform=\"translate(0.67544,-1.25e-5)\">\n <path d=\"m 3.34715,4.52028 c 0.22737,-1.05154 1.72745,-1.05154 1.95482,0 L 8.64912,20 H 0 Z\" fill=\"#cf003d\" />\n <path d=\"m 3.34715,35.4797 c 0.22737,1.0516 1.72745,1.0516 1.95482,0 L 8.64912,20 H 0 Z\" fill=\"#d3dcf0\" />\n </g>\n </svg>\n );\n};\n\nexport default CompassNeedle;","import React, { useState, useEffect, CSSProperties } from 'react';\nimport { Box, styled } from '@mui/material';\nimport useMap from '../../hooks/useMap';\nimport CompassBackground from './assets/CompassBackground';\nimport CompassNeedle from './assets/CompassNeedle';\n\nconst BoxStyled = styled(Box)(({ theme }) => ({\n\tzIndex: 1000,\n\tcursor: 'pointer',\n\ttransform: 'scale(1)',\n\t[theme.breakpoints.down('md')]: {\n\t\ttransform: 'scale(1.6)',\n\t},\n}));\nconst CompassBox = styled(Box)(({ theme }) => ({\n\tposition: 'absolute',\n\tright: '-10px',\n\ttop: '-52px',\n\twidth: '52px',\n\theight: '52px',\n\tdisplay: 'flex',\n\tflexDirection: 'row',\n\tjustifyContent: 'center',\n\talignItems: 'center',\n\t[theme.breakpoints.down('md')]: {\n\t\tright: '0px',\n\t\ttop: '-52px',\n\t},\n\tcircle: {\n\t\tfill: theme.palette.compass.compColor,\n\t\tstroke: theme.palette.compass.compStroke,\n\t},\n\tpath: {\n\t\tfill: theme.palette.compass.compStroke,\n\t},\n\t'&:hover circle': {\n\t\tfill: theme.palette.compass.compHover,\n\t},\n}));\nconst NeedleBox = styled(Box)(({ theme }) => ({\n\tdisplay: 'flex',\n\tflexDirection: 'row',\n\t'path:nth-of-type(2)': {\n\t\tfill: theme.palette.compass.compSouth,\n\t},\n\t'path:nth-of-type(1)': {\n\t\tfill: theme.palette.compass.compNorth,\n\t},\n}));\n\nexport interface MlNavigationCompassProps {\n\t/**\n\t * Id of the target MapLibre instance in mapHook\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style object to adjust css definitions of the component.\n\t */\n\tstyle?: CSSProperties;\n\t/**\n\t * Style object to adjust css definitions of the background.\n\t */\n\tbackgroundStyle?: CSSProperties;\n\t/**\n\t * Style object to adjust css definitions of the compass needle.\n\t */\n\tneedleStyle?: CSSProperties;\n}\n/**\n * Navigation component that displays a compass component which indicates the current oriantation of the map it is registered for and offers controls to turn the bearing 90° left/right or reset north to point up.\n *\n * All style props are applied using @mui/material/styled to allow more complex css selectors.\n *\n * @component\n */\nconst MlNavigationCompass = (props: MlNavigationCompassProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [bearing, setBearing] = useState(0);\n\tconst _updateBearing = () => {\n\t\tif (!mapHook.map?.map?.getBearing) return;\n\t\tsetBearing(Math.round(mapHook.map.map.getBearing()));\n\t};\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.on('rotate', _updateBearing, mapHook.componentId);\n\t\t_updateBearing();\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off('rotate', _updateBearing);\n\t\t};\n\t}, [mapHook.map, props.mapId]);\n\n\tconst rotate = () => {\n\t\tif (bearing == 0) {\n\t\t\tmapHook.map?.map.setBearing(-90);\n\t\t} else if (bearing == -90) {\n\t\t\tmapHook.map?.map.setBearing(180);\n\t\t} else if (bearing == 180) {\n\t\t\tmapHook.map?.map.setBearing(90);\n\t\t} else {\n\t\t\tmapHook.map?.map.setBearing(0);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BoxStyled sx={{ ...props.style }}>\n\t\t\t\t<CompassBox onClick={rotate} sx={{ ...props.backgroundStyle }}>\n\t\t\t\t\t<CompassBackground style={{ position: 'absolute', top: 0, left: 0 }} />\n\t\t\t\t\t<NeedleBox onClick={rotate} sx={{ ...props.needleStyle }}>\n\t\t\t\t\t\t<CompassNeedle\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\ttransform: 'rotate(' + (bearing > 0 ? '-' + bearing : -1 * bearing) + 'deg)',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</NeedleBox>\n\t\t\t\t</CompassBox>\n\t\t\t</BoxStyled>\n\t\t</>\n\t);\n};\n\nexport default MlNavigationCompass;\n","import React, { useState, useEffect, CSSProperties } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { Button, styled } from '@mui/material';\nimport MapIcon from '@mui/icons-material/Map';\nimport PublicIcon from '@mui/icons-material/Public';\n\nexport interface MlGlobeButtonProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style object to adjust css definitions of the component.\n\t */\n\tstyle?: CSSProperties;\n\t/**\n\t * Initial projection mode of the map.\n\t */\n\tmode?: 'globe' | 'mercator';\n}\n\n/**\n * Projection component that displays the map as a globe or as a mercator projection.\n * @component\n */\n\nconst GlobeButtonStyled = styled(Button)(({ theme }) => ({\n\tzIndex: 1000,\n\tcolor: theme.palette.navigation.buttonColor,\n\ttransform: 'scale(1)',\n}));\n\nconst MlGlobeButton = (props: MlGlobeButtonProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [projection, setProjection] = useState<'globe' | 'mercator'>(props.mode || 'mercator');\n\n\tuseEffect(() => {\n\t\tconst current = mapHook.map?.map.getProjection?.()?.type;\n\t\tif (current !== projection) {\n\t\t\tmapHook.map?.setProjection({ type: projection });\n\t\t}\n\t}, [mapHook.map]);\n\n\tconst handleClick = () => {\n\t\tif (!mapHook.map) return;\n\t\tconst next = projection === 'globe' ? 'mercator' : 'globe';\n\t\tmapHook.map.setProjection({ type: next });\n\t\tsetProjection(next);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GlobeButtonStyled variant=\"navtools\" onClick={handleClick} style={props.style}>\n\t\t\t\t{projection === 'globe' ? (\n\t\t\t\t\t<PublicIcon data-testid=\"PublicIcon\" sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t) : (\n\t\t\t\t\t<MapIcon data-testid=\"MapIcon\" sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t)}\n\t\t\t</GlobeButtonStyled>\n\t\t</>\n\t);\n};\n\nMlGlobeButton.defaultProps = {\n\tmapId: undefined,\n\tmode: 'mercator',\n};\nexport default MlGlobeButton;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport Button from '@mui/material/Button';\nimport ButtonGroup from '@mui/material/ButtonGroup';\nimport AddIcon from '@mui/icons-material/Add';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport Box from '@mui/material/Box';\nimport { Divider, Paper, SxProps, Theme } from '@mui/material';\nimport MlNavigationCompass from '../MlNavigationCompass/MlNavigationCompass';\nimport MlFollowGps from '../MlFollowGps/MlFollowGps';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport useMap from '../../hooks/useMap';\nimport MlCenterPosition from '../MlCenterPosition/MlCenterPosition';\nimport MlGlobeButton from '../MlGlobeButton/MlGlobeButton';\nimport { useTheme } from '@mui/material';\n\nexport interface MlNavigationToolsProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Show 3D button\n\t */\n\tshow3DButton?: boolean;\n\t/**\n\t * Show global button\n\t */\n\tshowGlobeButton?: boolean;\n\t/**\n\t * Show zoom button\n\t */\n\tshowZoomButtons?: boolean;\n\t/**\n\t * Show follow GPS button\n\t */\n\tshowFollowGpsButton?: boolean;\n\t/**\n\t * Show center on current position button\n\t */\n\tshowCenterLocationButton?: boolean;\n\t/**\n\t * Additional JSX Elements to be rendered below MlNavigationTools buttons\n\t */\n\tchildren?: React.JSX.Element;\n\t/**\n\t * Style attribute for NavigationTools container\n\t */\n\tsx?: SxProps;\n\t/**\n\t * Style attribute for NavigationTools container\n\t */\n\tmediaIsMobile?: boolean;\n}\n\n/**\n * @component\n */\n\nconst MlNavigationTools = (props: MlNavigationToolsProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [pitch, setPitch] = useState(0);\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tconst theme = useTheme();\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.on(\n\t\t\t'pitchend',\n\t\t\t() => {\n\t\t\t\tif (!mapHook.map) return;\n\n\t\t\t\tsetPitch(mapHook.map.getPitch());\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t\tsetPitch(mapHook.map.getPitch());\n\t}, [mapHook.map, props.mapId]);\n\n\tconst zoomIn = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.easeTo({ zoom: mapHook.map.getZoom() + 0.5 });\n\t}, [mapHook.map]);\n\n\tconst zoomOut = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tmapHook.map.easeTo({ zoom: mapHook.map.getZoom() - 0.5 });\n\t}, [mapHook.map]);\n\n\tconst adjustPitch = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tsetPitch(mapHook.map.getPitch());\n\t\tconst targetPitch = mapHook.map.getPitch() !== 0 ? 0 : 60;\n\t\tmapHook.map.easeTo({ pitch: targetPitch });\n\t}, [mapHook.map]);\n\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tzIndex: 501,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\tright: mediaIsMobile ? '15px' : '25px',\n\t\t\t\tbottom: mediaIsMobile ? '20px' : '40px',\n\t\t\t\t...(mediaIsMobile ? { margin: '80px 10px 50px 10px' } : { marginTop: '50px' }),\n\t\t\t\t...props.sx,\n\t\t\t}}\n\t\t>\n\t\t\t<MlNavigationCompass />\n\t\t\t{props.show3DButton && (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"navtools\"\n\t\t\t\t\tonClick={adjustPitch}\n\t\t\t\t\tsx={{ color: (theme) => theme.palette.navigation.buttonColor }}\n\t\t\t\t>\n\t\t\t\t\t{pitch < 29 ? '2D' : '3D'}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t{props.showGlobeButton && <MlGlobeButton />}\n\t\t\t{props.showFollowGpsButton && <MlFollowGps />}\n\t\t\t{props.showCenterLocationButton && <MlCenterPosition />}\n\t\t\t<ButtonGroup\n\t\t\t\torientation=\"vertical\"\n\t\t\t\tsx={{\n\t\t\t\t\tborder: 'none',\n\t\t\t\t\tButton: { minWidth: '20px !important', color: theme.palette.navigation.buttonColor },\n\t\t\t\t\t'Button:hover': { border: 'none' },\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{props.showZoomButtons && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"navtools\"\n\t\t\t\t\t\t\tonClick={zoomIn}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tborderBottomLeftRadius: 0,\n\t\t\t\t\t\t\t\tborderBottomRightRadius: 0,\n\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AddIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Paper\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tbackgroundColor: '#fff',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Divider\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\tmarginLeft: '6px',\n\t\t\t\t\t\t\t\t\tmarginRight: '6px',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Paper>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"navtools\"\n\t\t\t\t\t\t\tonClick={zoomOut}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\tborderTopLeftRadius: 0,\n\t\t\t\t\t\t\t\tborderTopRightRadius: 0,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RemoveIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t\t{props.children && React.cloneElement(props.children, {})}\n\t\t</Box>\n\t);\n};\n\nMlNavigationTools.defaultProps = {\n\tmapId: undefined,\n\tshow3DButton: true,\n\tshowGlobeButton: false,\n\tshowFollowGpsButton: true,\n\tshowCenterLocationButton: false,\n\tshowZoomButtons: true,\n};\n\nexport default MlNavigationTools;\n","import React from 'react';\nimport useLayer, { useLayerProps } from '../../hooks/useLayer';\nimport { Feature, FeatureCollection } from 'geojson';\n\ninterface MlLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Id of the layer that will be added by this component to the maplibre-gl instance\n\t */\n\tlayerId?: string;\n\t/**\n\t * Javascript object that is passed the addLayer command as first parameter.\n\t */\n\toptions?: useLayerProps['options'];\n\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson?: Feature | FeatureCollection | undefined;\n}\n\n/**\n * Basic layer component that create a layer in a MapLibre-gl instance and keeps it updated according to it attribute configuration.\n *\n * @category Map components\n */\nconst MlLayer = (props: MlLayerProps) => {\n\tuseLayer({\n\t\tidPrefix: 'MlLayer-',\n\t\tlayerId: props.layerId,\n\t\tmapId: props.mapId,\n\t\tgeojson: props.geojson || undefined,\n\n\t\toptions: {\n\t\t\ttype: 'background',\n\t\t\tpaint: {\n\t\t\t\t...(props?.options?.type && props.options.type !== 'background'\n\t\t\t\t\t? {}\n\t\t\t\t\t: { 'background-color': 'rgba(0,0,0,0)' }),\n\t\t\t},\n\t\t\t...props.options,\n\t\t} as useLayerProps['options'],\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\treturn <></>;\n};\n\nexport default MlLayer;\n","import React, { useRef, useEffect, useState, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\n\nexport interface MlScaleReferenceProps {\n\tmapId?: string;\n\tinsertBeforeLayer?: string | undefined;\n\tmaxWidth?: number;\n\tunit?: string;\n}\n\nconst MlScaleReference = (props: MlScaleReferenceProps) => {\n\tconst zoomRef = useRef(0);\n\tconst mapHook = useMap({ mapId: props.mapId, waitForLayer: props.insertBeforeLayer });\n\n\tconst [pxWidth, setPxWidth] = useState(0);\n\tconst [text, setText] = useState('');\n\n\tconst updateScale = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tif (mapHook.map?.map.getZoom() === zoomRef.current) {\n\t\t\treturn;\n\t\t}\n\n\t\tzoomRef.current = mapHook.map?.map.getZoom();\n\t\t// Calculation from MapLibre\n\t\t// A horizontal scale is imagined to be present at center of the map\n\t\t// Using spherical law of cosines approximation, the real distance is\n\t\t// found between the two coordinates.\n\t\tconst maxWidth = props.maxWidth || 100;\n\n\t\tconst y = mapHook.map.map._container.clientHeight / 2;\n\t\tconst left = mapHook.map.map.unproject([0, y]);\n\t\tconst right = mapHook.map.map.unproject([maxWidth, y]);\n\t\tconst maxMeters = left.distanceTo(right);\n\t\t// The real distance corresponding to 100px scale length is rounded off to\n\t\t// near pretty number and the scale length for the same is found out.\n\t\t// Default unit of the scale is based on User's locale.\n\t\tif (props.unit === 'imperial') {\n\t\t\tconst maxFeet = 3.2808 * maxMeters;\n\t\t\tif (maxFeet > 5280) {\n\t\t\t\tconst maxMiles = maxFeet / 5280;\n\t\t\t\tsetScale(maxWidth, maxMiles, mapHook.map.map._getUIString('ScaleControl.Miles'));\n\t\t\t} else {\n\t\t\t\tsetScale(maxWidth, maxFeet, mapHook.map.map._getUIString('ScaleControl.Feet'));\n\t\t\t}\n\t\t} else if (props.unit === 'nautical') {\n\t\t\tconst maxNauticals = maxMeters / 1852;\n\t\t\tsetScale(maxWidth, maxNauticals, mapHook.map.map._getUIString('ScaleControl.NauticalMiles'));\n\t\t} else if (maxMeters >= 1000) {\n\t\t\tsetScale(maxWidth, maxMeters / 1000, mapHook.map.map._getUIString('ScaleControl.Kilometers'));\n\t\t} else {\n\t\t\tsetScale(maxWidth, maxMeters, mapHook.map.map._getUIString('ScaleControl.Meters'));\n\t\t}\n\t}, [mapHook.map, props.unit, props.maxWidth]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tconst _updateScale = updateScale;\n\t\tmapHook.map.on('move', _updateScale, mapHook.componentId);\n\t\tupdateScale();\n\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off('move', _updateScale);\n\t\t};\n\t}, [mapHook.map, updateScale]);\n\n\tconst setScale = (maxWidth: number, maxDistance: number, unit: string) => {\n\t\tconst distance = getRoundNum(maxDistance);\n\t\tconst ratio = distance / maxDistance;\n\t\tsetPxWidth(maxWidth * ratio);\n\t\tsetText(distance + ' ' + unit);\n\t};\n\n\tconst getDecimalRoundNum = (d: number) => {\n\t\tconst multiplier = Math.pow(10, Math.ceil(-Math.log(d) / Math.LN10));\n\t\treturn Math.round(d * multiplier) / multiplier;\n\t};\n\n\tconst getRoundNum = (num: number) => {\n\t\tconst pow10 = Math.pow(10, `${Math.floor(num)}`.length - 1);\n\t\tlet d = num / pow10;\n\n\t\td = d >= 10 ? 10 : d >= 5 ? 5 : d >= 3 ? 3 : d >= 2 ? 2 : d >= 1 ? 1 : getDecimalRoundNum(d);\n\n\t\treturn pow10 * d;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'hsla(0,0%,100%,.75)',\n\t\t\t\t\tfontSize: '10px',\n\t\t\t\t\tborder: '2px solid #333',\n\t\t\t\t\tborderTop: '#333',\n\t\t\t\t\tpadding: '0 5px',\n\t\t\t\t\tcolor: '#333',\n\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\twidth: pxWidth + 'px',\n\t\t\t\t\tfontFamily: 'sans-serif',\n\t\t\t\t}}\n\t\t\t\tdangerouslySetInnerHTML={{ __html: text }}\n\t\t\t></div>\n\t\t</>\n\t);\n};\n\nexport default MlScaleReference;\n","import React, { useContext, useCallback, useRef, useEffect, useState, useMemo } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport syncMove from '@mapbox/mapbox-gl-sync-move';\nimport './style.css';\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\n\nexport interface MlLayerMagnifyProps {\n\t/**\n\t * Id of the first MapLibre instance\n\t */\n\tmap1Id: string;\n\t/**\n\t * Id of the second MapLibre instance\n\t */\n\tmap2Id: string;\n\t/**\n\t * Size of the \"magnifier\"-circle\n\t */\n\tmagnifierRadius?: number;\n\t/**\n\t * object (React.CSSProperties) that is added to the magnifier default style\n\t */\n\tmagnifierStyle: React.CSSProperties | undefined;\n}\n\n/**\n *\n * Hides the MapLibreMap referenced by props.map2Id except for the \"magnifier\"-circle that reveals\n * the map and can be dragged around on top of the MapLibreMap referenced by props.map1Id\n */\nconst MlLayerMagnify = (props: MlLayerMagnifyProps) => {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst syncMoveInitializedRef = useRef(false);\n\tconst syncCleanupFunctionRef = useRef(() => {});\n\n\tconst [swipeX, setSwipeX] = useState(50);\n\tconst swipeXRef = useRef(50);\n\tconst [swipeY, setSwipeY] = useState(50);\n\tconst swipeYRef = useRef(50);\n\n\tconst magnifierRadius = useMemo(() => {\n\t\treturn props.magnifierRadius || 200;\n\t}, [props.magnifierRadius]);\n\n\tconst mapExists = useCallback(() => {\n\t\tif (!props.map1Id || !props.map2Id) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!mapContext.getMap(props.map1Id) || !mapContext.getMap(props.map2Id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, [props, mapContext]);\n\n\tconst onResize = useRef(() => {\n\t\tif (!mapExists()) return;\n\n\t\tonMove({\n\t\t\tclientX: swipeXRef.current,\n\t\t\tclientY: swipeYRef.current,\n\t\t} as (TouchEvent & MouseEvent));\n\t});\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', onResize.current);\n\t\tconst _onResize = onResize.current;\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', _onResize);\n\t\t\tsyncCleanupFunctionRef.current();\n\t\t};\n\t}, []);\n\n\tconst onMove = useCallback(\n\t\t(e:(TouchEvent & MouseEvent)) => {\n\t\t\tif (!mapExists()) return;\n\n\t\t\tconst bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();\n\t\t\tlet clientX =\n\t\t\t\te?.clientX ||\n\t\t\t\t(typeof e?.touches !== 'undefined' && typeof e?.touches[0] !== 'undefined'\n\t\t\t\t\t? e?.touches[0].clientX\n\t\t\t\t\t: 0);\n\t\t\tlet clientY =\n\t\t\t\te?.clientY ||\n\t\t\t\t(typeof e.touches !== 'undefined' && typeof e.touches[0] !== 'undefined'\n\t\t\t\t\t? e.touches[0].clientY\n\t\t\t\t\t: 0);\n\n\t\t\tclientX -= bounds.x;\n\t\t\tclientY -= bounds.y;\n\t\t\tconst swipeX_tmp = parseFloat(((clientX / bounds.width) * 100).toFixed(2));\n\t\t\tconst swipeY_tmp = parseFloat(((clientY / bounds.height) * 100).toFixed(2));\n\n\t\t\tif (swipeXRef.current !== swipeX_tmp || swipeYRef.current !== swipeY_tmp) {\n\t\t\t\tsetSwipeX(swipeX_tmp);\n\t\t\t\tswipeXRef.current = swipeX_tmp;\n\t\t\t\tsetSwipeY(swipeY_tmp);\n\t\t\t\tswipeYRef.current = swipeY_tmp;\n\n\t\t\t\tmapContext.maps[props.map2Id].getContainer().style.clipPath =\n\t\t\t\t\t`circle(${magnifierRadius}px at ` +\n\t\t\t\t\t(swipeXRef.current * bounds.width) / 100 +\n\t\t\t\t\t'px ' +\n\t\t\t\t\t(swipeYRef.current * bounds.height) / 100 +\n\t\t\t\t\t'px)';\n\t\t\t}\n\t\t},\n\t\t[mapContext, mapExists, props, magnifierRadius]\n\t);\n\n\tuseEffect(() => {\n\t\tif (!mapExists() || syncMoveInitializedRef.current) return;\n\n\t\tsyncMoveInitializedRef.current = true;\n\t\tsyncCleanupFunctionRef.current = syncMove(\n\t\t\tmapContext.getMap(props.map1Id).map,\n\t\t\tmapContext.getMap(props.map2Id).map\n\t\t);\n\n\t\tonMove({\n\t\t\tclientX: swipeXRef.current,\n\t\t\tclientY: swipeYRef.current,\n\t\t} as (TouchEvent & MouseEvent));\n\t\t/*\n\t\tautomatically adjust radius for small screens\n\t\tif (\n\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight &&\n\t\t\tmagnifierRadius * 2 >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight\n\t\t) {\n\t\t\tmagnifierRadius = Math.floor(\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight / 2\n\t\t\t);\n\t\t\tsetMagnifierRadius(magnifierRadius);\n\t\t}\n\n\t\tif (\n\t\t\tmapContext.maps[props.map1Id].getCanvas().clientHeight >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth &&\n\t\t\tmagnifierRadius * 2 >\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth\n\t\t) {\n\t\t\tmagnifierRadius = Math.floor(\n\t\t\t\tmapContext.maps[props.map1Id].getCanvas().clientWidth / 2\n\t\t\t);\n\t\t\tsetMagnifierRadius(magnifierRadius);\n\t\t}\n\t\t*/\n\n\t\tonMove({\n\t\t\tclientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,\n\t\t\tclientY: mapContext.maps[props.map1Id].getCanvas().clientHeight / 2,\n\t\t} as (TouchEvent & MouseEvent));\n\t}, [mapContext.mapIds, mapContext, mapExists, props, onMove]);\n\n\tconst onDown = (e: React.MouseEvent | React.TouchEvent) => {\n\t\tif (e.nativeEvent instanceof TouchEvent) {\n\t\t\tdocument.addEventListener('touchmove', onMove);\n\t\t\tdocument.addEventListener('touchend', onTouchEnd);\n\t\t} else {\n\t\t\tdocument.addEventListener('mousemove', onMove);\n\t\t\tdocument.addEventListener('mouseup', onMouseUp);\n\t\t}\n\t};\n\n\tconst onTouchEnd = () => {\n\t\tdocument.removeEventListener('touchmove', onMove);\n\t\tdocument.removeEventListener('touchend', onTouchEnd);\n\t};\n\n\tconst onMouseUp = () => {\n\t\tdocument.removeEventListener('mousemove', onMove);\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\n\tconst onWheel = (e: React.WheelEvent) => {\n\t\tconst evCopy = new WheelEvent(e.type, e as unknown as WheelEventInit);\n\t\tmapContext.map?.map.getCanvas().dispatchEvent(evCopy);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: swipeX + '%',\n\t\t\t\ttop: swipeY + '%',\n\t\t\t\tborderRadius: '50%',\n\t\t\t\twidth: magnifierRadius * 2 - 2 + 'px',\n\t\t\t\theight: magnifierRadius * 2 - 2 + 'px',\n\t\t\t\tbackground: 'rgba(0,0,0,0)',\n\t\t\t\tborder: '2px solid #fafafa',\n\t\t\t\tboxShadow: '1px 2px 2px rgba(19, 19, 19, .5), inset 1px 1px 1px rgba(19, 19, 19, .2)',\n\t\t\t\tcursor: 'pointer',\n\t\t\t\tzIndex: '110',\n\t\t\t\tmarginLeft: magnifierRadius * -1 - 1 + 'px',\n\t\t\t\tmarginTop: magnifierRadius * -1 - 1 + 'px',\n\t\t\t\ttextAlign: 'center',\n\t\t\t\tlineHeight: '91px',\n\t\t\t\tfontSize: '2em',\n\t\t\t\tcolor: '#fafafa',\n\t\t\t\tuserSelect: 'none',\n\t\t\t\t...props.magnifierStyle,\n\t\t\t}}\n\t\t\tonTouchStart={onDown}\n\t\t\tonMouseDown={onDown}\n\t\t\tonWheel={onWheel}\n\t\t></div>\n\t);\n};\n\nMlLayerMagnify.defaultProps = {\n\tmagnifierRadius: 200,\n\tmagnifierStyle: {},\n};\n\nexport default MlLayerMagnify;\n","import React from 'react';\n\ninterface SwipeIconProps {\n\tclassName?: string;\n\ttitle?: string;\n\tonClick?: () => void;\n\tstyle?: React.CSSProperties;\n\tcolor?: string;\n}\n\nconst SwipeIcon:React.FC<SwipeIconProps> = ({ className = '', title, onClick, style, color}) => {\n\treturn (\n\t\t<svg\n\t\t\tviewBox=\"0 0 47 30\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tclassName={className}\n\t\t\tonClick={onClick}\n\t\t\trole={title ? 'img' : 'presentation'}\n\t\t\taria-hidden={!title}\n\t\t\tstyle={style}\n\t\t\tcolor={color}\n\t\t>\n\t\t\t<path d=\"M29.5 21.25L35.75 15L29.5 8.75V21.25Z\" fill=\"#009EE0\" />\n\t\t\t<path d=\"M17.5 8.75L11.25 15L17.5 21.25V8.75Z\" fill=\"#009EE0\" />\n\t\t</svg>\n\t);\n};\n\nexport default SwipeIcon;\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport syncMove from '@mapbox/mapbox-gl-sync-move';\nimport './style.css';\nimport MapContext, { MapContextType } from '../../contexts/MapContext';\nimport SwipeIcon from './assets/SwipeIcon';\n\nexport interface MlLayerSwipeProps {\n\t/**\n\t * Id of the first MapLibre instance.\n\t */\n\tmap1Id: string;\n\t/**\n\t * Id of the second MapLibre instance.\n\t */\n\tmap2Id: string;\n\t/**\n\t * object (React.CSSProperties) that is added to the button default style\n\t */\n\tbuttonStyle: React.CSSProperties | undefined;\n}\n\n/**\n *\tcreates a split view of 2 synchronised maplibre instances\n */\n\nconst MlLayerSwipe = (props: MlLayerSwipeProps) => {\n\tconst mapContext: MapContextType = useContext(MapContext);\n\tconst initializedRef = useRef(false);\n\n\tconst [swipeX, setSwipeX] = useState(50);\n\tconst swipeXRef = useRef(0);\n\n\tconst syncCleanupFunctionRef = useRef(() => {});\n\n\tconst mapExists = useCallback(() => {\n\t\tif (!props.map1Id || !props.map2Id) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!mapContext.getMap(props.map1Id) || !mapContext.getMap(props.map2Id)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}, [mapContext, props.map1Id, props.map2Id]);\n\n\tconst cleanup = () => {\n\t\tsyncCleanupFunctionRef.current();\n\t};\n\n\tconst onMove = useCallback(\n\t\t(e: TouchEvent & MouseEvent) => {\n\t\t\tif (!mapExists()) return;\n\n\t\t\tconst bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();\n\t\t\tlet clientX =\n\t\t\t\te.clientX ||\n\t\t\t\t(typeof e.touches !== 'undefined' && typeof e.touches[0] !== 'undefined'\n\t\t\t\t\t? e.touches[0].clientX\n\t\t\t\t\t: 0);\n\n\t\t\tclientX -= bounds.x;\n\t\t\tconst swipeX_tmp = parseFloat(((clientX / bounds.width) * 100).toFixed(2));\n\n\t\t\tif (swipeXRef.current !== swipeX_tmp) {\n\t\t\t\tsetSwipeX(swipeX_tmp);\n\t\t\t\tswipeXRef.current = swipeX_tmp;\n\n\t\t\t\tconst clipA = 'rect(0, ' + (swipeXRef.current * bounds.width) / 100 + 'px, 999em, 0)';\n\n\t\t\t\tmapContext.maps[props.map2Id].getContainer().style.clip = clipA;\n\t\t\t}\n\t\t},\n\t\t[mapContext, mapExists, props.map1Id, props.map2Id]\n\t);\n\n\tuseEffect(() => {\n\t\treturn cleanup;\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapExists() || initializedRef.current) return;\n\n\t\tinitializedRef.current = true;\n\t\tsyncCleanupFunctionRef.current = syncMove(\n\t\t\tmapContext.getMap(props.map1Id).map,\n\t\t\tmapContext.getMap(props.map2Id).map\n\t\t);\n\t\tonMove({\n\t\t\tclientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,\n\t\t} as TouchEvent & MouseEvent);\n\t}, [mapContext.mapIds, mapContext, props, onMove, mapExists]);\n\n\tconst onDown = (e: React.MouseEvent | React.TouchEvent) => {\n\t\tif (window?.TouchEvent && e.nativeEvent instanceof window.TouchEvent) {\n\t\t\tdocument.addEventListener('touchmove', onMove);\n\t\t\tdocument.addEventListener('touchend', onTouchEnd);\n\t\t} else {\n\t\t\tdocument.addEventListener('mousemove', onMove);\n\t\t\tdocument.addEventListener('mouseup', onMouseUp);\n\t\t}\n\t};\n\n\tconst onTouchEnd = () => {\n\t\tdocument.removeEventListener('touchmove', onMove);\n\t\tdocument.removeEventListener('touchend', onTouchEnd);\n\t};\n\n\tconst onMouseUp = () => {\n\t\tdocument.removeEventListener('mousemove', onMove);\n\t\tdocument.removeEventListener('mouseup', onMouseUp);\n\t};\n\n\tfunction adjustWindowSize() {\n\t\tconst clipWidth = parseFloat(mapContext.maps[props.map2Id]\n\t\t\t.getContainer()\n\t\t\t.style.clip.split(',')[1]\n\t\t\t.replace('px', ''));\n\t\tconst canvasWidth = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect().width;\n\n\t\tif (clipWidth < canvasWidth) {\n\t\t\tconst newPosition = parseFloat(((clipWidth / canvasWidth) * 100).toFixed(2));\n\t\t\tsetSwipeX(newPosition);\n\t\t} else {\n\t\t\tconst newClip = 'rect(0, ' + canvasWidth / 2 + 'px, 999em, 0)';\n\t\t\tmapContext.maps[props.map2Id].getContainer().style.clip = newClip;\n\t\t\tsetSwipeX(50);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('resize', adjustWindowSize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', adjustWindowSize);\n\t\t};\n\t}, [mapContext]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: swipeX + '%',\n\t\t\t\ttop: '50%',\n\t\t\t\tborderRadius: '50%',\n\t\t\t\twidth: '65px',\n\t\t\t\theight: '65px',\n\t\t\t\tbackground: 'rgba(234, 235, 241, 0.75)',\n\t\t\t\tborder: '2px solid rgba(0, 158, 224, 0.75)',\n\t\t\t\tcursor: 'pointer',\n\t\t\t\tzIndex: '110',\n\t\t\t\tmarginLeft: '-35px',\n\t\t\t\tmarginTop: '-50px',\n\t\t\t\ttextAlign: 'center',\n\n\t\t\t\tlineHeight: '91px',\n\t\t\t\tfontSize: '2em',\n\t\t\t\tcolor: '#fafafa',\n\t\t\t\tuserSelect: 'none',\n\t\t\t\t...props.buttonStyle,\n\t\t\t}}\n\t\t\tonTouchStart={onDown}\n\t\t\tonMouseDown={onDown}\n\t\t>\n\t\t\t<SwipeIcon\n\t\t\t\tcolor=\"#0066ff\"\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: '65px',\n\t\t\t\t\theight: '65px',\n\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\tzIndex: 1100,\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\nMlLayerSwipe.defaultProps = {\n\tbuttonStyle: {},\n};\n\nexport default MlLayerSwipe;\n","import * as turf from \"@turf/turf\";\n\nconst _showNextTransitionSegment = function (\n\tprops,\n\tmap,\n\ttransitionInProgressRef,\n\ttransitionGeojsonDataRef,\n\ttransitionGeojsonCommonDataRef,\n\tcurrentTransitionStepRef,\n\tmsPerStep,\n\ttransitionTimeoutRef,\n\tsetDisplayGeojson\n) {\n\tif (typeof transitionGeojsonDataRef.current[currentTransitionStepRef.current] !== \"undefined\") {\n\t\t// if at last transition step set to target geojson\n\t\t// else to an assembled LineString from common geometry and the current transition step geometry\n\t\tlet newData =\n\t\t\tcurrentTransitionStepRef.current + 1 === transitionGeojsonDataRef.current.length\n\t\t\t\t? props.geojson\n\t\t\t\t: turf.lineString([\n\t\t\t\t\t\t...transitionGeojsonCommonDataRef.current,\n\t\t\t\t\t\t...transitionGeojsonDataRef.current[currentTransitionStepRef.current].geometry\n\t\t\t\t\t\t\t.coordinates,\n\t\t\t\t\t]);\n\n\t\tsetDisplayGeojson(newData);\n\n\t\tif (typeof props.onTransitionFrame === \"function\") {\n\t\t\tprops.onTransitionFrame(newData);\n\t\t}\n\n\t\tcurrentTransitionStepRef.current++;\n\t\tif (\n\t\t\ttransitionInProgressRef.current &&\n\t\t\tcurrentTransitionStepRef.current < transitionGeojsonDataRef.current.length\n\t\t) {\n\t\t\ttransitionTimeoutRef.current = setTimeout(\n\t\t\t\t() => _showNextTransitionSegment(...arguments),\n\t\t\t\tmsPerStep\n\t\t\t);\n\t\t} else {\n\t\t\tif (typeof props.onTransitionEnd === \"function\") {\n\t\t\t\tprops.onTransitionEnd(props.geojson);\n\t\t\t}\n\t\t\ttransitionInProgressRef.current = false;\n\t\t}\n\t}\n};\n\nconst _transitionToGeojson = (\n\tprops,\n\ttransitionGeojsonCommonDataRef,\n\ttransitionGeojsonDataRef,\n\ttransitionInProgressRef,\n\toldGeojsonRef,\n\tmsPerStep,\n\tcurrentTransitionStepRef,\n\tmap,\n\ttransitionTimeoutRef,\n\tsetDisplayGeojson\n) => {\n\t// create the transition geojson between oldGeojsonRef.current and props.geojson\n\n\t// create a geojson that contains no common point between the two line features\n\tlet transitionCoordinatesShort = [];\n\tlet transitionCoordinatesLong = [];\n\tlet targetCoordinates = [];\n\tlet srcCoordinates = [];\n\ttransitionGeojsonCommonDataRef.current = [];\n\tlet sourceGeojson = oldGeojsonRef.current || {\n\t\tgeometry: {\n\t\t\ttype: \"LineString\",\n\t\t\tcoordinates: [],\n\t\t},\n\t\tproperties: {},\n\t\ttype: \"Feature\",\n\t};\n\n\tlet targetGeojson = props.geojson;\n\n\tlet longerGeojson = targetGeojson;\n\tlet shorterGeojson = sourceGeojson;\n\tlet reverseOrder = false;\n\t// In case one geojson is missing completely use the first two coordinates of the other geojson\n\tif (\n\t\ttypeof longerGeojson.geometry === \"undefined\" &&\n\t\ttypeof shorterGeojson.geometry !== \"undefined\" &&\n\t\tshorterGeojson.geometry.coordinates.length > 1\n\t) {\n\t\tlongerGeojson = turf.lineString(shorterGeojson.geometry.coordinates.slice(0, 2));\n\t} else if (\n\t\ttypeof shorterGeojson.geometry === \"undefined\" &&\n\t\ttypeof longerGeojson.geometry !== \"undefined\" &&\n\t\tlongerGeojson.geometry.coordinates.length > 1\n\t) {\n\t\tshorterGeojson = turf.lineString(longerGeojson.geometry.coordinates.slice(0, 2));\n\t} else if (\n\t\ttypeof shorterGeojson.geometry === \"undefined\" &&\n\t\ttypeof longerGeojson.geometry === \"undefined\"\n\t) {\n\t\treturn;\n\t}\n\n\tif (longerGeojson.geometry.coordinates.length < shorterGeojson.geometry.coordinates.length) {\n\t\tlongerGeojson = sourceGeojson;\n\t\tshorterGeojson = targetGeojson;\n\t\treverseOrder = true;\n\t}\n\n\tif (longerGeojson && shorterGeojson) {\n\t\tfor (var i = 0, len = longerGeojson.geometry.coordinates.length; i < len; i++) {\n\t\t\tif (\n\t\t\t\ttypeof shorterGeojson.geometry.coordinates[i] !== \"undefined\" &&\n\t\t\t\tlongerGeojson.geometry.coordinates[i][0] === shorterGeojson.geometry.coordinates[i][0] &&\n\t\t\t\tlongerGeojson.geometry.coordinates[i][1] === shorterGeojson.geometry.coordinates[i][1]\n\t\t\t) {\n\t\t\t\t// if coordinates are equal\n\t\t\t\ttransitionGeojsonCommonDataRef.current.push(longerGeojson.geometry.coordinates[i]);\n\t\t\t} else {\n\t\t\t\tif (typeof longerGeojson.geometry.coordinates[i] !== \"undefined\") {\n\t\t\t\t\ttransitionCoordinatesLong.push(longerGeojson.geometry.coordinates[i]);\n\t\t\t\t}\n\t\t\t\tif (typeof shorterGeojson.geometry.coordinates[i] !== \"undefined\") {\n\t\t\t\t\ttransitionCoordinatesShort.push(shorterGeojson.geometry.coordinates[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (reverseOrder) {\n\t\ttargetCoordinates = transitionCoordinatesShort;\n\t\tsrcCoordinates = transitionCoordinatesLong;\n\t} else {\n\t\ttargetCoordinates = transitionCoordinatesLong;\n\t\tsrcCoordinates = transitionCoordinatesShort;\n\t}\n\n\tif (targetCoordinates.length < 2 && srcCoordinates < 2) return;\n\t// create props.transitionTime / msPerStep (=: transitionSteps) Versions of transitionGeojsonCommonDataRef.current + transitionCoordinates making the transitionCoordinates transitionCoordinatesDistance / transitionSteps longer on each step\n\n\tlet transitionSteps = props.transitionTime / msPerStep;\n\tlet srcCoordinatesDistance =\n\t\tsrcCoordinates.length > 1 ? Math.round(turf.length(turf.lineString(srcCoordinates))) : 0;\n\tlet targetCoordinatesDistance =\n\t\ttargetCoordinates.length > 1 ? Math.round(turf.length(turf.lineString(targetCoordinates))) : 0;\n\tlet transitionDistance = targetCoordinatesDistance + srcCoordinatesDistance;\n\n\tlet srcCoordinatesShare = srcCoordinatesDistance / transitionDistance;\n\tlet srcTransitionSteps = Math.round(transitionSteps * srcCoordinatesShare);\n\tlet srcPerStepDistance = Math.round((srcCoordinatesDistance / srcTransitionSteps) * 100) / 100;\n\n\tlet targetCoordinatesShare = targetCoordinatesDistance / transitionDistance;\n\tlet targetTransitionSteps = Math.round(transitionSteps * targetCoordinatesShare);\n\tlet targetPerStepDistance =\n\t\tMath.round((targetCoordinatesDistance / targetTransitionSteps) * 100) / 100;\n\n\t// use srcPerStepDistance as src coordinates are always animated backwards\n\tlet loopStepDistance = srcCoordinatesDistance;\n\tif (loopStepDistance <= 0) {\n\t\tloopStepDistance = 0.1;\n\t}\n\n\t// create transition step data as an array of all required FeatureCollection states until the transition is complete\n\tlet transitionStepData;\n\n\ttransitionStepData = [\n\t\t...createTransitionSteps(srcCoordinates, srcPerStepDistance, srcTransitionSteps),\n\t];\n\ttransitionStepData.reverse();\n\n\ttransitionStepData = [\n\t\t...transitionStepData,\n\t\t...createTransitionSteps(targetCoordinates, targetPerStepDistance, targetTransitionSteps),\n\t];\n\n\ttransitionStepData.push(targetGeojson);\n\n\ttransitionGeojsonDataRef.current = transitionStepData;\n\n\tcurrentTransitionStepRef.current = 1;\n\ttransitionInProgressRef.current = true;\n\ttransitionTimeoutRef.current = setTimeout(\n\t\t() =>\n\t\t\t_showNextTransitionSegment(\n\t\t\t\tprops,\n\t\t\t\tmap,\n\t\t\t\ttransitionInProgressRef,\n\t\t\t\ttransitionGeojsonDataRef,\n\t\t\t\ttransitionGeojsonCommonDataRef,\n\t\t\t\tcurrentTransitionStepRef,\n\t\t\t\tmsPerStep,\n\t\t\t\ttransitionTimeoutRef,\n\t\t\t\tsetDisplayGeojson\n\t\t\t),\n\t\tmsPerStep\n\t);\n};\n\nlet createTransitionSteps = (linestringCoordinates, perStepDistance, stepCnt) => {\n\tlet transitionSteps = [];\n\n\tif (linestringCoordinates.length > 1) {\n\t\tlet tmpChunks = turf.lineChunk(turf.lineString(linestringCoordinates), perStepDistance);\n\t\t// tmpLineString contains all coordinates of all previous plus current loop iteration\n\t\tlet tmpLinestring = tmpChunks.features[0];\n\t\tfor (let i = 0; i < stepCnt; i++) {\n\t\t\ttransitionSteps.push(tmpLinestring);\n\t\t\tif (typeof tmpChunks.features[i] !== \"undefined\") {\n\t\t\t\ttmpLinestring = turf.lineString([\n\t\t\t\t\t...tmpLinestring.geometry.coordinates,\n\t\t\t\t\t...tmpChunks.features[i].geometry.coordinates,\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn transitionSteps;\n};\n\nexport { _showNextTransitionSegment, _transitionToGeojson };\n","import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport * as turf from '@turf/turf';\nimport useMap from '../../hooks/useMap';\nimport { _transitionToGeojson } from './util/transitionFunctions';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport { Feature, FeatureCollection } from 'geojson';\nimport { MlGeoJsonLayerProps } from '../MlGeoJsonLayer/MlGeoJsonLayer';\n\nconst msPerStep = 50;\n\nexport type MlTransitionGeoJsonLayerProps = MlGeoJsonLayerProps & {\n\ttransitionTime?: number;\n\tgeojson?: Feature | FeatureCollection | null;\n};\n\n/**\n * Adds source and layer of types \"line\", \"fill\" or \"circle\" to display GeoJSON data on the map.\n */\nconst MlTransitionGeoJsonLayer = (props: MlTransitionGeoJsonLayerProps) => {\n\t// ignore eslint. Only using `geojson` for destructuring\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst { geojson, ...restProps } = props;\n\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst initializedRef = useRef(false);\n\n\t// transition effect variables\n\tconst oldGeojsonRef = useRef<Feature | FeatureCollection | null>(null);\n\tconst transitionInProgressRef = useRef(false);\n\tconst transitionTimeoutRef = useRef(undefined);\n\tconst currentTransitionStepRef = useRef(false);\n\tconst transitionGeojsonDataRef = useRef([]);\n\tconst transitionGeojsonCommonDataRef = useRef([]);\n\tconst [displayGeojson, setDisplayGeojson] = useState(turf.featureCollection([]));\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\tif (transitionTimeoutRef.current) {\n\t\t\t\tclearTimeout(transitionTimeoutRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tconst transitionToGeojson = useCallback(() => {\n\t\t_transitionToGeojson(\n\t\t\tprops,\n\t\t\ttransitionGeojsonCommonDataRef,\n\t\t\ttransitionGeojsonDataRef,\n\t\t\ttransitionInProgressRef,\n\t\t\toldGeojsonRef,\n\t\t\tmsPerStep,\n\t\t\tcurrentTransitionStepRef,\n\t\t\tmapHook.map,\n\t\t\ttransitionTimeoutRef,\n\t\t\tsetDisplayGeojson\n\t\t);\n\t}, [props, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\n\t\tif (\n\t\t\ttypeof props.transitionTime !== 'undefined' &&\n\t\t\tprops.type === 'line' &&\n\t\t\toldGeojsonRef.current\n\t\t) {\n\t\t\ttransitionInProgressRef.current = false;\n\t\t\tcurrentTransitionStepRef.current = false;\n\t\t\ttransitionGeojsonDataRef.current = [];\n\t\t\ttransitionGeojsonCommonDataRef.current = [];\n\t\t\ttransitionToGeojson();\n\t\t}\n\t\tif (props.geojson) {\n\t\t\toldGeojsonRef.current = props.geojson;\n\t\t}\n\t}, [mapHook.map, transitionToGeojson, props]);\n\n\tconst startTransition = useCallback(() => {\n\t\tif (\n\t\t\tprops.type === 'line' &&\n\t\t\ttypeof props.transitionTime !== 'undefined' &&\n\t\t\tprops.transitionTime &&\n\t\t\ttypeof props.geojson !== 'undefined' &&\n\t\t\tJSON.stringify(oldGeojsonRef.current) !== JSON.stringify(props.geojson)\n\t\t) {\n\t\t\ttransitionToGeojson();\n\t\t\toldGeojsonRef.current = props.geojson;\n\t\t}\n\t}, [props, transitionToGeojson]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.mapIsReady || !props.geojson) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tstartTransition();\n\t}, [mapHook.mapIsReady, startTransition, props]);\n\n\treturn (\n\t\t<>\n\t\t\t<MlGeoJsonLayer {...restProps} geojson={displayGeojson} />\n\t\t</>\n\t);\n};\n\nexport default MlTransitionGeoJsonLayer;\n","import React, { useRef, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport useMap from '../../hooks/useMap';\nimport maplibregl from 'maplibre-gl';\nimport { Box } from '@mui/material';\n\nexport interface MlMarkerProps {\n\t/** ID of the map to add the marker to */\n\tmapId?: string;\n\t/** Layer ID before which to insert the marker */\n\tinsertBeforeLayer?: string;\n\t/** Longitude of the marker position */\n\tlng: number;\n\t/** Latitude of the marker position */\n\tlat: number;\n\t/** HTML content for the marker popup */\n\tcontent?: string;\n\t/** CSS properties to apply to the marker dot */\n\tmarkerStyle?: React.CSSProperties;\n\t/** CSS properties to apply to the content container */\n\tcontainerStyle?: React.CSSProperties;\n\t/** CSS properties to apply to the iframe element */\n\tiframeStyle?: React.CSSProperties;\n\t/** CSS properties to apply to the body of the iframe */\n\tiframeBodyStyle?: React.CSSProperties;\n\t/** Offset in pixels between the marker and its content */\n\tcontentOffset?: number;\n\t/** Whether mouse events pass through the marker content */\n\tpassEventsThrough?: boolean;\n\t/** Anchor position of the marker relative to its coordinates */\n\tanchor?:\n\t| 'top'\n\t| 'bottom'\n\t| 'left'\n\t| 'right'\n\t| 'top-left'\n\t| 'top-right'\n\t| 'bottom-left'\n\t| 'bottom-right';\n}\n\nconst getBoxTransform = (anchor: MlMarkerProps['anchor'] = 'top') => {\n\tswitch (anchor) {\n\t\tcase 'bottom':\n\t\t\treturn 'translate(-50%, 0%)';\n\t\tcase 'left':\n\t\t\treturn 'translate(-100%, -50%)';\n\t\tcase 'right':\n\t\t\treturn 'translate(0%, -50%)';\n\t\tcase 'top-left':\n\t\t\treturn 'translate(-100%, -100%)';\n\t\tcase 'top-right':\n\t\t\treturn 'translate(0%, -100%)';\n\t\tcase 'bottom-left':\n\t\t\treturn 'translate(-100%, 0%)';\n\t\tcase 'bottom-right':\n\t\t\treturn 'translate(0%, 0%)';\n\t\tdefault:\n\t\tcase 'top':\n\t\t\treturn 'translate(-50%, -100%)';\n\t}\n};\n\nfunction getBoxMargins(anchor: MlMarkerProps['anchor'], offset: number, style?: React.CSSProperties) {\n\tconst w = parseInt(String(style?.width || 14), 10);\n\tconst h = parseInt(String(style?.height || 14), 10);\n\tconst m: Record<string, string> = {};\n\tswitch (anchor) {\n\t\tcase 'bottom': m.marginTop = `${offset}px`; break;\n\t\tcase 'left': m.marginLeft = `-${offset}px`; break;\n\t\tcase 'right': m.marginLeft = `${w + offset}px`; break;\n\t\tcase 'top-left': m.marginTop = `-${h + offset}px`; m.marginLeft = `-${offset}px`; break;\n\t\tcase 'top-right': m.marginTop = `-${h + offset}px`; m.marginLeft = `${w + offset}px`; break;\n\t\tcase 'bottom-left': m.marginTop = `${offset}px`; m.marginLeft = `-${offset}px`; break;\n\t\tcase 'bottom-right': m.marginTop = `${offset}px`; m.marginLeft = `${w + offset}px`; break;\n\t\tcase 'top': default: m.marginTop = `-${h + offset}px`; break;\n\t}\n\treturn m;\n}\n\nconst MlMarker = ({ passEventsThrough = true, contentOffset = 5, ...props }: MlMarkerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst [marker, setMarker] = useState<maplibregl.Marker | null>(null);\n\tconst container = useRef<HTMLDivElement | null>(null);\n\tconst iframeRef = useRef<HTMLIFrameElement | null>(null);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tcontainer.current = document.createElement('div');\n\n\t\tconst defaultMarkerStyle = {\n\t\t\twidth: '12px',\n\t\t\theight: '12px',\n\t\t\tbackground: 'linear-gradient(135deg, rgb(186, 208, 218) 0%, rgb(96, 209, 253) 100%)',\n\t\t\tborder: '1px solid rgba(255, 255, 255, 0.7)',\n\t\t\tboxShadow: '0 2px 6px rgba(90, 0, 0, 0.2), 0 0 0 2px rgba(240, 147, 251, 0.2)',\n\t\t\tborderRadius: '50%',\n\t\t};\n\t\tconst markerStyle = {\n\t\t\t...defaultMarkerStyle,\n\t\t\t...props.markerStyle,\n\t\t};\n\n\t\tconst maplibreMarker = new maplibregl.Marker({\n\t\t\telement: container.current,\n\t\t\tanchor: 'center',\n\t\t})\n\t\t\t.setLngLat([props.lng, props.lat])\n\t\t\t.addTo(mapHook.map.map);\n\n\t\tsetMarker(maplibreMarker);\n\n\t\tconst markerDot = document.createElement('div');\n\t\tObject.entries(markerStyle).forEach(([key, value]) => {\n\t\t\tmarkerDot.style.setProperty(\n\t\t\t\tkey.replace(/([A-Z])/g, '-$1').toLowerCase(),\n\t\t\t\tString(value)\n\t\t\t);\n\t\t});\n\t\tcontainer.current.appendChild(markerDot);\n\n\t\treturn () => {\n\t\t\tmarkerDot.remove();\n\t\t\tmaplibreMarker.remove();\n\t\t\tcontainer.current?.remove();\n\t\t};\n\t}, [mapHook.map, props.lng, props.lat, props.markerStyle, props.anchor]);\n\n\tuseEffect(() => {\n\t\tif (marker) {\n\t\t\tmarker.setLngLat([props.lng, props.lat]);\n\t\t}\n\t}, [marker, props.lng, props.lat]);\n\n\tfunction handleIframeLoad() {\n\t\tconst iframeDoc = iframeRef.current?.contentWindow?.document;\n\t\tif (iframeDoc && iframeRef.current?.parentElement) {\n\t\t\tconst scrollHeight = iframeDoc.documentElement.scrollHeight;\n\t\t\tiframeRef.current.parentElement.style.height = `${scrollHeight}px`;\n\t\t}\n\t}\n\n\treturn (\n\t\tcontainer.current &&\n\t\tcreatePortal(\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\twidth: '300px',\n\t\t\t\t\tmaxHeight: '500px',\n\t\t\t\t\topacity: passEventsThrough ? 1 : 0.7,\n\t\t\t\t\tzIndex: -1,\n\t\t\t\t\ttransform: getBoxTransform(props.anchor),\n\t\t\t\t\t...getBoxMargins(props.anchor, contentOffset, props.markerStyle),\n\t\t\t\t\tpointerEvents: passEventsThrough ? 'none' : 'auto',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t},\n\t\t\t\t\t...props.containerStyle,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<iframe\n\t\t\t\t\tref={iframeRef}\n\t\t\t\t\tonLoad={handleIframeLoad}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\tborderStyle: 'none',\n\t\t\t\t\t\t...props.iframeStyle,\n\t\t\t\t\t}}\n\t\t\t\t\tsrcDoc={`<div>\n\t<style>\n\t\tbody {\n\t\t\t${Object.entries(props.iframeBodyStyle || {})\n\t\t\t\t\t\t\t.map(([key, val]) => `${key.replace(/([A-Z])/g, '-$1').toLowerCase()}: ${val};`)\n\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t}\n\t\t}\n\t</style>\n\t${props.content || ''}\n</div>`}\n\t\t\t\t\tsandbox=\"allow-same-origin allow-popups-to-escape-sandbox allow-scripts\"\n\t\t\t\t\ttitle={mapHook.componentId}\n\t\t\t\t/>\n\t\t\t</Box>,\n\t\t\tcontainer.current\n\t\t)\n\t);\n};\n\nexport default MlMarker;\n","import * as xmldom from '@xmldom/xmldom';\n\n/**\n * https://github.com/mapbox/togeojson\n *\n * Copyright (c) 2016 Mapbox All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n *\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n *\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\nvar toGeoJSON = (function () {\n\tvar removeSpace = /\\s*/g,\n\t\ttrimSpace = /^\\s*|\\s*$/g,\n\t\tsplitSpace = /\\s+/;\n\t// generate a short, numeric hash of a string\n\tfunction okhash(x) {\n\t\tif (!x || !x.length) return 0;\n\t\tfor (var i = 0, h = 0; i < x.length; i++) {\n\t\t\th = ((h << 5) - h + x.charCodeAt(i)) | 0;\n\t\t}\n\t\treturn h;\n\t}\n\t// all Y children of X\n\tfunction get(x, y) {\n\t\treturn x.getElementsByTagName(y);\n\t}\n\tfunction attr(x, y) {\n\t\treturn x.getAttribute(y);\n\t}\n\tfunction attrf(x, y) {\n\t\treturn parseFloat(attr(x, y));\n\t}\n\t// one Y child of X, if any, otherwise null\n\tfunction get1(x, y) {\n\t\tvar n = get(x, y);\n\t\treturn n.length ? n[0] : null;\n\t}\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize\n\tfunction norm(el) {\n\t\tif (el.normalize) {\n\t\t\tel.normalize();\n\t\t}\n\t\treturn el;\n\t}\n\t// cast array x into numbers\n\tfunction numarray(x) {\n\t\tfor (var j = 0, o = []; j < x.length; j++) {\n\t\t\to[j] = parseFloat(x[j]);\n\t\t}\n\t\treturn o;\n\t}\n\t// get the content of a text node, if any\n\tfunction nodeVal(x) {\n\t\tif (x) {\n\t\t\tnorm(x);\n\t\t}\n\t\treturn (x && x.textContent) || '';\n\t}\n\t// get the contents of multiple text nodes, if present\n\tfunction getMulti(x, ys) {\n\t\tvar o = {},\n\t\t\tn,\n\t\t\tk;\n\t\tfor (k = 0; k < ys.length; k++) {\n\t\t\tn = get1(x, ys[k]);\n\t\t\tif (n) o[ys[k]] = nodeVal(n);\n\t\t}\n\t\treturn o;\n\t}\n\t// add properties of Y to X, overwriting if present in both\n\tfunction extend(x, y) {\n\t\tfor (var k in y) x[k] = y[k];\n\t}\n\t// get one coordinate from a coordinate array, if any\n\tfunction coord1(v) {\n\t\treturn numarray(v.replace(removeSpace, '').split(','));\n\t}\n\t// get all coordinates from a coordinate array as [[],[]]\n\tfunction coord(v) {\n\t\tvar coords = v.replace(trimSpace, '').split(splitSpace),\n\t\t\to = [];\n\t\tfor (var i = 0; i < coords.length; i++) {\n\t\t\to.push(coord1(coords[i]));\n\t\t}\n\t\treturn o;\n\t}\n\tfunction coordPair(x) {\n\t\tvar ll = [attrf(x, 'lon'), attrf(x, 'lat')],\n\t\t\tele = get1(x, 'ele'),\n\t\t\t// handle namespaced attribute in browser\n\t\t\theartRate = get1(x, 'gpxtpx:hr') || get1(x, 'hr'),\n\t\t\ttime = get1(x, 'time'),\n\t\t\te;\n\t\tif (ele) {\n\t\t\te = parseFloat(nodeVal(ele));\n\t\t\tif (!isNaN(e)) {\n\t\t\t\tll.push(e);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tcoordinates: ll,\n\t\t\ttime: time ? nodeVal(time) : null,\n\t\t\theartRate: heartRate ? parseFloat(nodeVal(heartRate)) : null,\n\t\t};\n\t}\n\n\t// create a new feature collection parent object\n\tfunction fc() {\n\t\treturn {\n\t\t\ttype: 'FeatureCollection',\n\t\t\tfeatures: [],\n\t\t};\n\t}\n\n\tvar serializer;\n\tif (typeof XMLSerializer !== 'undefined') {\n\t\t/* istanbul ignore next */\n\t\tserializer = new XMLSerializer();\n\t} else {\n\t\tvar isNodeEnv = typeof process === 'object' && !process.browser;\n\t\tvar isTitaniumEnv = typeof Titanium === 'object';\n\t\tif (typeof exports === 'object' && (isNodeEnv || isTitaniumEnv)) {\n\t\t\tserializer = xmldom.XMLSerializer;\n\t\t} else {\n\t\t\tthrow new Error('Unable to initialize serializer');\n\t\t}\n\t}\n\tfunction xml2str(str) {\n\t\t// IE9 will create a new XMLSerializer but it'll crash immediately.\n\t\t// This line is ignored because we don't run coverage tests in IE9\n\t\t/* istanbul ignore next */\n\t\tif (str.xml !== undefined) return str.xml;\n\t\treturn serializer.serializeToString(str);\n\t}\n\n\tvar t = {\n\t\tkml: function (doc) {\n\t\t\tvar gj = fc(),\n\t\t\t\t// styleindex keeps track of hashed styles in order to match features\n\t\t\t\tstyleIndex = {},\n\t\t\t\tstyleByHash = {},\n\t\t\t\t// stylemapindex keeps track of style maps to expose in properties\n\t\t\t\tstyleMapIndex = {},\n\t\t\t\t// atomic geospatial types supported by KML - MultiGeometry is\n\t\t\t\t// handled separately\n\t\t\t\tgeotypes = ['Polygon', 'LineString', 'Point', 'Track', 'gx:Track'],\n\t\t\t\t// all root placemarks in the file\n\t\t\t\tplacemarks = get(doc, 'Placemark'),\n\t\t\t\tstyles = get(doc, 'Style'),\n\t\t\t\tstyleMaps = get(doc, 'StyleMap');\n\n\t\t\tfor (var k = 0; k < styles.length; k++) {\n\t\t\t\tvar hash = okhash(xml2str(styles[k])).toString(16);\n\t\t\t\tstyleIndex['#' + attr(styles[k], 'id')] = hash;\n\t\t\t\tstyleByHash[hash] = styles[k];\n\t\t\t}\n\t\t\tfor (var l = 0; l < styleMaps.length; l++) {\n\t\t\t\tstyleIndex['#' + attr(styleMaps[l], 'id')] = okhash(xml2str(styleMaps[l])).toString(16);\n\t\t\t\tvar pairs = get(styleMaps[l], 'Pair');\n\t\t\t\tvar pairsMap = {};\n\t\t\t\tfor (var m = 0; m < pairs.length; m++) {\n\t\t\t\t\tpairsMap[nodeVal(get1(pairs[m], 'key'))] = nodeVal(get1(pairs[m], 'styleUrl'));\n\t\t\t\t}\n\t\t\t\tstyleMapIndex['#' + attr(styleMaps[l], 'id')] = pairsMap;\n\t\t\t}\n\t\t\tfor (var j = 0; j < placemarks.length; j++) {\n\t\t\t\tgj.features = gj.features.concat(getPlacemark(placemarks[j]));\n\t\t\t}\n\t\t\tfunction kmlColor(v) {\n\t\t\t\tvar color, opacity;\n\t\t\t\tv = v || '';\n\t\t\t\tif (v.substr(0, 1) === '#') {\n\t\t\t\t\tv = v.substr(1);\n\t\t\t\t}\n\t\t\t\tif (v.length === 6 || v.length === 3) {\n\t\t\t\t\tcolor = v;\n\t\t\t\t}\n\t\t\t\tif (v.length === 8) {\n\t\t\t\t\topacity = parseInt(v.substr(0, 2), 16) / 255;\n\t\t\t\t\tcolor = '#' + v.substr(6, 2) + v.substr(4, 2) + v.substr(2, 2);\n\t\t\t\t}\n\t\t\t\treturn [color, isNaN(opacity) ? undefined : opacity];\n\t\t\t}\n\t\t\tfunction gxCoord(v) {\n\t\t\t\treturn numarray(v.split(' '));\n\t\t\t}\n\t\t\tfunction gxCoords(root) {\n\t\t\t\tvar elems = get(root, 'coord', 'gx'),\n\t\t\t\t\tcoords = [],\n\t\t\t\t\ttimes = [];\n\t\t\t\tif (elems.length === 0) elems = get(root, 'gx:coord');\n\t\t\t\tfor (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));\n\t\t\t\tvar timeElems = get(root, 'when');\n\t\t\t\tfor (var j = 0; j < timeElems.length; j++) times.push(nodeVal(timeElems[j]));\n\t\t\t\treturn {\n\t\t\t\t\tcoords: coords,\n\t\t\t\t\ttimes: times,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getGeometry(root) {\n\t\t\t\tvar geomNode,\n\t\t\t\t\tgeomNodes,\n\t\t\t\t\ti,\n\t\t\t\t\tj,\n\t\t\t\t\tk,\n\t\t\t\t\tgeoms = [],\n\t\t\t\t\tcoordTimes = [];\n\t\t\t\tif (get1(root, 'MultiGeometry')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'MultiGeometry'));\n\t\t\t\t}\n\t\t\t\tif (get1(root, 'MultiTrack')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'MultiTrack'));\n\t\t\t\t}\n\t\t\t\tif (get1(root, 'gx:MultiTrack')) {\n\t\t\t\t\treturn getGeometry(get1(root, 'gx:MultiTrack'));\n\t\t\t\t}\n\t\t\t\tfor (i = 0; i < geotypes.length; i++) {\n\t\t\t\t\tgeomNodes = get(root, geotypes[i]);\n\t\t\t\t\tif (geomNodes) {\n\t\t\t\t\t\tfor (j = 0; j < geomNodes.length; j++) {\n\t\t\t\t\t\t\tgeomNode = geomNodes[j];\n\t\t\t\t\t\t\tif (geotypes[i] === 'Point') {\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'Point',\n\t\t\t\t\t\t\t\t\tcoordinates: coord1(nodeVal(get1(geomNode, 'coordinates'))),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'LineString') {\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\t\t\t\tcoordinates: coord(nodeVal(get1(geomNode, 'coordinates'))),\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'Polygon') {\n\t\t\t\t\t\t\t\tvar rings = get(geomNode, 'LinearRing'),\n\t\t\t\t\t\t\t\t\tcoords = [];\n\t\t\t\t\t\t\t\tfor (k = 0; k < rings.length; k++) {\n\t\t\t\t\t\t\t\t\tcoords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'Polygon',\n\t\t\t\t\t\t\t\t\tcoordinates: coords,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else if (geotypes[i] === 'Track' || geotypes[i] === 'gx:Track') {\n\t\t\t\t\t\t\t\tvar track = gxCoords(geomNode);\n\t\t\t\t\t\t\t\tgeoms.push({\n\t\t\t\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\t\t\t\tcoordinates: track.coords,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tif (track.times.length) coordTimes.push(track.times);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tgeoms: geoms,\n\t\t\t\t\tcoordTimes: coordTimes,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getPlacemark(root) {\n\t\t\t\tvar geomsAndTimes = getGeometry(root),\n\t\t\t\t\ti,\n\t\t\t\t\tproperties = {},\n\t\t\t\t\tname = nodeVal(get1(root, 'name')),\n\t\t\t\t\taddress = nodeVal(get1(root, 'address')),\n\t\t\t\t\tstyleUrl = nodeVal(get1(root, 'styleUrl')),\n\t\t\t\t\tdescription = nodeVal(get1(root, 'description')),\n\t\t\t\t\ttimeSpan = get1(root, 'TimeSpan'),\n\t\t\t\t\ttimeStamp = get1(root, 'TimeStamp'),\n\t\t\t\t\textendedData = get1(root, 'ExtendedData'),\n\t\t\t\t\tlineStyle = get1(root, 'LineStyle'),\n\t\t\t\t\tpolyStyle = get1(root, 'PolyStyle'),\n\t\t\t\t\tvisibility = get1(root, 'visibility');\n\n\t\t\t\tif (!geomsAndTimes.geoms.length) return [];\n\t\t\t\tif (name) properties.name = name;\n\t\t\t\tif (address) properties.address = address;\n\t\t\t\tif (styleUrl) {\n\t\t\t\t\tif (styleUrl[0] !== '#') {\n\t\t\t\t\t\tstyleUrl = '#' + styleUrl;\n\t\t\t\t\t}\n\n\t\t\t\t\tproperties.styleUrl = styleUrl;\n\t\t\t\t\tif (styleIndex[styleUrl]) {\n\t\t\t\t\t\tproperties.styleHash = styleIndex[styleUrl];\n\t\t\t\t\t}\n\t\t\t\t\tif (styleMapIndex[styleUrl]) {\n\t\t\t\t\t\tproperties.styleMapHash = styleMapIndex[styleUrl];\n\t\t\t\t\t\tproperties.styleHash = styleIndex[styleMapIndex[styleUrl].normal];\n\t\t\t\t\t}\n\t\t\t\t\t// Try to populate the lineStyle or polyStyle since we got the style hash\n\t\t\t\t\tvar style = styleByHash[properties.styleHash];\n\t\t\t\t\tif (style) {\n\t\t\t\t\t\tif (!lineStyle) lineStyle = get1(style, 'LineStyle');\n\t\t\t\t\t\tif (!polyStyle) polyStyle = get1(style, 'PolyStyle');\n\t\t\t\t\t\tvar iconStyle = get1(style, 'IconStyle');\n\t\t\t\t\t\tif (iconStyle) {\n\t\t\t\t\t\t\tvar icon = get1(iconStyle, 'Icon');\n\t\t\t\t\t\t\tif (icon) {\n\t\t\t\t\t\t\t\tvar href = nodeVal(get1(icon, 'href'));\n\t\t\t\t\t\t\t\tif (href) properties.icon = href;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (description) properties.description = description;\n\t\t\t\tif (timeSpan) {\n\t\t\t\t\tvar begin = nodeVal(get1(timeSpan, 'begin'));\n\t\t\t\t\tvar end = nodeVal(get1(timeSpan, 'end'));\n\t\t\t\t\tproperties.timespan = { begin: begin, end: end };\n\t\t\t\t}\n\t\t\t\tif (timeStamp) {\n\t\t\t\t\tproperties.timestamp = nodeVal(get1(timeStamp, 'when'));\n\t\t\t\t}\n\t\t\t\tif (lineStyle) {\n\t\t\t\t\tvar linestyles = kmlColor(nodeVal(get1(lineStyle, 'color'))),\n\t\t\t\t\t\tcolor = linestyles[0],\n\t\t\t\t\t\topacity = linestyles[1],\n\t\t\t\t\t\twidth = parseFloat(nodeVal(get1(lineStyle, 'width')));\n\t\t\t\t\tif (color) properties.stroke = color;\n\t\t\t\t\tif (!isNaN(opacity)) properties['stroke-opacity'] = opacity;\n\t\t\t\t\tif (!isNaN(width)) properties['stroke-width'] = width;\n\t\t\t\t}\n\t\t\t\tif (polyStyle) {\n\t\t\t\t\tvar polystyles = kmlColor(nodeVal(get1(polyStyle, 'color'))),\n\t\t\t\t\t\tpcolor = polystyles[0],\n\t\t\t\t\t\tpopacity = polystyles[1],\n\t\t\t\t\t\tfill = nodeVal(get1(polyStyle, 'fill')),\n\t\t\t\t\t\toutline = nodeVal(get1(polyStyle, 'outline'));\n\t\t\t\t\tif (pcolor) properties.fill = pcolor;\n\t\t\t\t\tif (!isNaN(popacity)) properties['fill-opacity'] = popacity;\n\t\t\t\t\tif (fill) properties['fill-opacity'] = fill === '1' ? properties['fill-opacity'] || 1 : 0;\n\t\t\t\t\tif (outline)\n\t\t\t\t\t\tproperties['stroke-opacity'] = outline === '1' ? properties['stroke-opacity'] || 1 : 0;\n\t\t\t\t}\n\t\t\t\tif (extendedData) {\n\t\t\t\t\tvar datas = get(extendedData, 'Data'),\n\t\t\t\t\t\tsimpleDatas = get(extendedData, 'SimpleData');\n\n\t\t\t\t\tfor (i = 0; i < datas.length; i++) {\n\t\t\t\t\t\tproperties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));\n\t\t\t\t\t}\n\t\t\t\t\tfor (i = 0; i < simpleDatas.length; i++) {\n\t\t\t\t\t\tproperties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (visibility) {\n\t\t\t\t\tproperties.visibility = nodeVal(visibility);\n\t\t\t\t}\n\t\t\t\tif (geomsAndTimes.coordTimes.length) {\n\t\t\t\t\tproperties.coordTimes =\n\t\t\t\t\t\tgeomsAndTimes.coordTimes.length === 1\n\t\t\t\t\t\t\t? geomsAndTimes.coordTimes[0]\n\t\t\t\t\t\t\t: geomsAndTimes.coordTimes;\n\t\t\t\t}\n\t\t\t\tvar feature = {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tgeometry:\n\t\t\t\t\t\tgeomsAndTimes.geoms.length === 1\n\t\t\t\t\t\t\t? geomsAndTimes.geoms[0]\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\ttype: 'GeometryCollection',\n\t\t\t\t\t\t\t\t\tgeometries: geomsAndTimes.geoms,\n\t\t\t\t\t\t\t },\n\t\t\t\t\tproperties: properties,\n\t\t\t\t};\n\t\t\t\tif (attr(root, 'id')) feature.id = attr(root, 'id');\n\t\t\t\treturn [feature];\n\t\t\t}\n\t\t\treturn gj;\n\t\t},\n\t\tgpx: function (doc) {\n\t\t\tvar i,\n\t\t\t\ttracks = get(doc, 'trk'),\n\t\t\t\troutes = get(doc, 'rte'),\n\t\t\t\twaypoints = get(doc, 'wpt'),\n\t\t\t\t// a feature collection\n\t\t\t\tgj = fc(),\n\t\t\t\tfeature;\n\t\t\tfor (i = 0; i < tracks.length; i++) {\n\t\t\t\tfeature = getTrack(tracks[i]);\n\t\t\t\tif (feature) gj.features.push(feature);\n\t\t\t}\n\t\t\tfor (i = 0; i < routes.length; i++) {\n\t\t\t\tfeature = getRoute(routes[i]);\n\t\t\t\tif (feature) gj.features.push(feature);\n\t\t\t}\n\t\t\tfor (i = 0; i < waypoints.length; i++) {\n\t\t\t\tgj.features.push(getPoint(waypoints[i]));\n\t\t\t}\n\t\t\tfunction initializeArray(arr, size) {\n\t\t\t\tfor (var h = 0; h < size; h++) {\n\t\t\t\t\tarr.push(null);\n\t\t\t\t}\n\t\t\t\treturn arr;\n\t\t\t}\n\t\t\tfunction getPoints(node, pointname) {\n\t\t\t\tvar pts = get(node, pointname),\n\t\t\t\t\tline = [],\n\t\t\t\t\ttimes = [],\n\t\t\t\t\theartRates = [],\n\t\t\t\t\tl = pts.length;\n\t\t\t\tif (l < 2) return {}; // Invalid line in GeoJSON\n\t\t\t\tfor (var i = 0; i < l; i++) {\n\t\t\t\t\tvar c = coordPair(pts[i]);\n\t\t\t\t\tline.push(c.coordinates);\n\t\t\t\t\tif (c.time) times.push(c.time);\n\t\t\t\t\tif (c.heartRate || heartRates.length) {\n\t\t\t\t\t\tif (!heartRates.length) initializeArray(heartRates, i);\n\t\t\t\t\t\theartRates.push(c.heartRate || null);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tline: line,\n\t\t\t\t\ttimes: times,\n\t\t\t\t\theartRates: heartRates,\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getTrack(node) {\n\t\t\t\tvar segments = get(node, 'trkseg'),\n\t\t\t\t\ttrack = [],\n\t\t\t\t\ttimes = [],\n\t\t\t\t\theartRates = [],\n\t\t\t\t\tline;\n\t\t\t\tfor (var i = 0; i < segments.length; i++) {\n\t\t\t\t\tline = getPoints(segments[i], 'trkpt');\n\t\t\t\t\tif (line) {\n\t\t\t\t\t\tif (line.line) track.push(line.line);\n\t\t\t\t\t\tif (line.times && line.times.length) times.push(line.times);\n\t\t\t\t\t\tif (heartRates.length || (line.heartRates && line.heartRates.length)) {\n\t\t\t\t\t\t\tif (!heartRates.length) {\n\t\t\t\t\t\t\t\tfor (var s = 0; s < i; s++) {\n\t\t\t\t\t\t\t\t\theartRates.push(initializeArray([], track[s].length));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (line.heartRates && line.heartRates.length) {\n\t\t\t\t\t\t\t\theartRates.push(line.heartRates);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\theartRates.push(initializeArray([], line.line.length || 0));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (track.length === 0) return;\n\t\t\t\tvar properties = getProperties(node);\n\t\t\t\textend(properties, getLineStyle(get1(node, 'extensions')));\n\t\t\t\tif (times.length) properties.coordTimes = track.length === 1 ? times[0] : times;\n\t\t\t\tif (heartRates.length)\n\t\t\t\t\tproperties.heartRates = track.length === 1 ? heartRates[0] : heartRates;\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: properties,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: track.length === 1 ? 'LineString' : 'MultiLineString',\n\t\t\t\t\t\tcoordinates: track.length === 1 ? track[0] : track,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getRoute(node) {\n\t\t\t\tvar line = getPoints(node, 'rtept');\n\t\t\t\tif (!line.line) return;\n\t\t\t\tvar prop = getProperties(node);\n\t\t\t\textend(prop, getLineStyle(get1(node, 'extensions')));\n\t\t\t\tvar routeObj = {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: prop,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: 'LineString',\n\t\t\t\t\t\tcoordinates: line.line,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treturn routeObj;\n\t\t\t}\n\t\t\tfunction getPoint(node) {\n\t\t\t\tvar prop = getProperties(node);\n\t\t\t\textend(prop, getMulti(node, ['sym']));\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'Feature',\n\t\t\t\t\tproperties: prop,\n\t\t\t\t\tgeometry: {\n\t\t\t\t\t\ttype: 'Point',\n\t\t\t\t\t\tcoordinates: coordPair(node).coordinates,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction getLineStyle(extensions) {\n\t\t\t\tvar style = {};\n\t\t\t\tif (extensions) {\n\t\t\t\t\tvar lineStyle = get1(extensions, 'line');\n\t\t\t\t\tif (lineStyle) {\n\t\t\t\t\t\tvar color = nodeVal(get1(lineStyle, 'color')),\n\t\t\t\t\t\t\topacity = parseFloat(nodeVal(get1(lineStyle, 'opacity'))),\n\t\t\t\t\t\t\twidth = parseFloat(nodeVal(get1(lineStyle, 'width')));\n\t\t\t\t\t\tif (color) style.stroke = color;\n\t\t\t\t\t\tif (!isNaN(opacity)) style['stroke-opacity'] = opacity;\n\t\t\t\t\t\t// GPX width is in mm, convert to px with 96 px per inch\n\t\t\t\t\t\tif (!isNaN(width)) style['stroke-width'] = (width * 96) / 25.4;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t}\n\t\t\tfunction getProperties(node) {\n\t\t\t\tvar prop = getMulti(node, ['name', 'cmt', 'desc', 'type', 'time', 'keywords']),\n\t\t\t\t\tlinks = get(node, 'link');\n\t\t\t\tif (links.length) prop.links = [];\n\t\t\t\tfor (var i = 0, link; i < links.length; i++) {\n\t\t\t\t\tlink = { href: attr(links[i], 'href') };\n\t\t\t\t\textend(link, getMulti(links[i], ['text', 'type']));\n\t\t\t\t\tprop.links.push(link);\n\t\t\t\t}\n\t\t\t\treturn prop;\n\t\t\t}\n\t\t\treturn gj;\n\t\t},\n\t};\n\treturn t;\n})();\n\nexport default toGeoJSON;\n","import { useState, useEffect } from 'react';\nimport toGeoJSON from './lib/gpxConverter';\nimport { FeatureCollection } from 'geojson';\n\nexport interface useGpxProps {\n\t/**\n\t * a string containing GPX data that is supposed to be parsed and converted to GeoJSON by this hook\n\t */\n\tdata?: string;\n}\n\nexport interface MetadataType {\n\ttitle: string;\n\tvalue: string;\n\tid: number;\n}\n\n/**\n * useGpx hook converts GPX data to GeoJSON\n *\n */\nconst useGpx = (props: useGpxProps) => {\n\tconst [geojson, setGeojson] = useState<FeatureCollection | undefined>();\n\tconst [metadata, setMetadata] = useState<MetadataType[]>([]);\n\n\tconst parseGpx = (gpxAsString: string) => {\n\t\ttry {\n\t\t\tsetMetadata([]);\n\t\t\tconst domParser = new DOMParser();\n\t\t\tconst gpxDoc = domParser.parseFromString(gpxAsString, 'application/xml');\n\t\t\tconst metadata = gpxDoc.querySelector('metadata');\n\t\t\tmetadata?.childNodes.forEach((node: Element) => {\n\t\t\t\tlet value = node.textContent;\n\t\t\t\tconst title = node.nodeName;\n\n\t\t\t\tif (node.nodeName === 'link') {\n\t\t\t\t\tvalue = node.getAttribute('href');\n\t\t\t\t}\n\t\t\t\tif (value?.trim().length) {\n\t\t\t\t\tconst metaDataEntry = {\n\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tid: new Date().getTime(),\n\t\t\t\t\t};\n\t\t\t\t\tsetMetadata((prevState) => [...prevState, metaDataEntry]);\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst data = toGeoJSON.gpx(gpxDoc);\n\t\t\tsetGeojson(data as FeatureCollection);\n\t\t} catch (e) {\n\t\t\tconsole.log(e);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!props.data) return;\n\n\t\tparseGpx(props.data);\n\t}, [props.data]);\n\n\treturn {\n\t\tgeojson,\n\t\tmetadata,\n\t};\n};\n\nuseGpx.defaultProps = {\n\tdata: undefined,\n};\nexport default useGpx;\n","import React, { useRef, useEffect } from 'react';\nimport useMap from '../useMap';\nimport {\n\tLngLatLike,\n\tPopup,\n\tMapEventType,\n} from 'maplibre-gl';\nimport { Feature } from 'geojson';\n\nexport interface LayerHoverPopupProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance this event will be registered to\n\t */\n\tlayerId?: string;\n\tgetPopupContent: (feature: Feature) => string;\n}\n\n/**\n * useLayerHoverPopup hook registers a mouseenter event to display feature properties in a MapLibre popup if a feature on the configured layer is hovered\n *\n */\nconst LayerHoverPopup = (props: LayerHoverPopupProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.layerId,\n\t});\n\tconst popup = useRef(\n\t\tnew Popup({\n\t\t\tcloseButton: false,\n\t\t\tcloseOnClick: true,\n\t\t})\n\t);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !props.layerId) return;\n\t\tmapHook.map.on(\n\t\t\t'mouseenter',\n\t\t\tprops.layerId,\n\t\t\t(\n\t\t\t\te: MapEventType & {\n\t\t\t\t\tfeatures?: ({[key:string]:string} & { geometry:{coordinates:[number,number]}})[] | undefined;\n\t\t\t\t\tlngLat: { lng: number; lat: number };\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\tif (!mapHook.map) return;\n\t\t\t\t// Change the cursor style as a UI indicator.\n\n\t\t\t\tconst coordinates = e?.features?.[0].geometry.coordinates.slice();\n\t\t\t\t//const description = e.features[0].properties.desc;\n\t\t\t\tlet content = '';\n\t\t\t\tif (e?.features?.[0] && typeof props.getPopupContent === 'function') {\n\t\t\t\t\tcontent = props.getPopupContent(e.features[0] as unknown as Feature);\n\t\t\t\t}\n\n\t\t\t\tif (coordinates?.[0]) {\n\t\t\t\t\t// Ensure that if the map is zoomed out such that multiple\n\t\t\t\t\t// copies of the feature are visible, the popup appears\n\t\t\t\t\t// over the copy being pointed to.\n\t\t\t\t\twhile (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {\n\t\t\t\t\t\tcoordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Populate the popup and set its coordinates\n\n\t\t\t\t\t// based on the feature found.\n\t\t\t\t\tpopup.current.setLngLat(coordinates as LngLatLike).setHTML(content).addTo(mapHook.map.map);\n\t\t\t\t}\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t}, [mapHook.map]);\n\n\treturn <></>;\n};\n\nLayerHoverPopup.defaultProps = {\n\tmapId: undefined,\n};\nexport default LayerHoverPopup;\n","import React, { useEffect, useRef } from 'react';\nimport { bbox, featureCollection } from '@turf/turf';\nimport { FeatureCollection, GeoJSON } from 'geojson';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport useMap from '../../hooks/useMap';\nimport useGpx, { MetadataType } from '../../hooks/useGpx/useGpx';\nimport useLayerHoverPopup from '../../hooks/useLayerHoverPopup/LayerHoverPopup';\nimport useSource from '../../hooks/useSource';\nimport useLayer from '../../hooks/useLayer';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport interface MlGpxViewerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapHook\n\t */\n\tmapId?: string;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance\n\t */\n\tidPrefix?: string;\n\tgpxData: string | undefined;\n\tonParseGpxData: (arg0: {\n\t\tgeojson: FeatureCollection | undefined;\n\t\tmetadata: MetadataType[];\n\t}) => void;\n}\n\n/**\n * MlGpxViewer visualizes a given GPX Track on the map\n */\nconst MlGpxViewer = (props: MlGpxViewerProps) => {\n\tconst parsedGpx = useGpx({ data: props.gpxData });\n\tconst mapHook = useMap({ mapId: props.mapId, waitForLayer: props.insertBeforeLayer });\n\tconst sourceName = useRef('gpx-viewer-source-' + uuidv4());\n\tconst layerNameLines = useRef('importer-layer-lines-' + uuidv4());\n\tconst layerNamePoints = useRef('importer-layer-points-' + uuidv4());\n\n\tuseLayerHoverPopup({\n\t\tlayerId: layerNamePoints.current,\n\t\tgetPopupContent: (feature) => feature?.properties?.name,\n\t});\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: sourceName.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: (parsedGpx.geojson || featureCollection([])) as (string | GeoJSON),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerNameLines.current,\n\t\toptions: {\n\t\t\ttype: 'line',\n\t\t\tpaint: {\n\t\t\t\t'line-width': 4,\n\t\t\t\t'line-color': 'rgba(212, 55, 23,0.5)',\n\t\t\t},\n\t\t\tsource: sourceName.current,\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerNamePoints.current,\n\t\toptions: {\n\t\t\ttype: 'circle',\n\t\t\tpaint: {\n\t\t\t\t'circle-color': 'rgba(72, 77, 99,0.5)',\n\t\t\t\t'circle-radius': 7,\n\t\t\t},\n\t\t\tfilter: ['==', '$type', 'Point'],\n\t\t\tsource: sourceName.current,\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !parsedGpx.geojson) return;\n\n\t\tif (typeof props.onParseGpxData === 'function') {\n\t\t\tprops.onParseGpxData(parsedGpx);\n\t\t}\n\n\t\t// fit map view to GeoJSON bbox\n\n\t\tconst bounds = bbox(parsedGpx.geojson);\n\t\tmapHook.map.map.fitBounds(bounds as LngLatBoundsLike);\n\t}, [parsedGpx]);\n\n\treturn <></>;\n};\n\nMlGpxViewer.defaultProps = {};\n\nexport default MlGpxViewer;\n","import React from \"react\";\nimport { FeatureCollection } from \"geojson\";\n\ntype ContextProps = {\n\tdata: FeatureCollection;\n\tsetData: (data: FeatureCollection) => void;\n\tgetEmptyFeatureCollection: () => FeatureCollection;\n};\n\nconst GeoJsonContext = React.createContext<Partial<ContextProps>>({});\n\nexport const GeoJsonContextProvider = GeoJsonContext.Provider;\nexport default GeoJsonContext;\n","import React, { useState } from \"react\";\nimport { GeoJsonContextProvider } from \"./GeoJsonContext\";\nimport { FeatureCollection } from 'geojson';\n\ninterface geoJsonProviderValue {\n\tdata: FeatureCollection;\n\tsetData: (data: FeatureCollection) => void;\n\tgetEmptyFeatureCollection: () => FeatureCollection;\n}\n\nconst GeoJsonProvider = ({ children }:{children:React.JSX.Element}) => {\n\tconst [data, setData] = useState<FeatureCollection>({\n\t\ttype: \"FeatureCollection\",\n\t\tfeatures: [],\n\t});\n\tconst getEmptyFeatureCollection: () => FeatureCollection = () => {\n\t\treturn {\n\t\t\ttype: \"FeatureCollection\",\n\t\t\tfeatures: [],\n\t\t};\n\t};\n\tconst value: geoJsonProviderValue = {\n\t\tdata,\n\t\tsetData,\n\t\tgetEmptyFeatureCollection,\n\t};\n\n\treturn <GeoJsonContextProvider value={value}>{children}</GeoJsonContextProvider>;\n};\n\nexport default GeoJsonProvider;\n","import React, { useRef, useEffect, useContext, useState, useCallback } from 'react';\n\nimport MapContext from '../../contexts/MapContext';\nimport { v4 as uuidv4 } from 'uuid';\nimport useMapState from '../../hooks/useMapState';\nimport MapLibreGlWrapper from '../MapLibreMap/lib/MapLibreGlWrapper';\n\nexport interface MapState {\n\tlat?: number;\n\tlng?: number;\n\tzoom?: number;\n\tbearing?: number;\n\tpitch?: number;\n\tlayers?: {\n\t\tvisible: boolean;\n\t\tid: string;\n\t}[];\n}\n\nconst getCurrentUrlParameters = (): MapState => {\n\tconst currentParams = Object.fromEntries(new URLSearchParams(window.location.search));\n\tcurrentParams.layers = JSON.parse(currentParams?.layers ? currentParams.layers : '[]');\n\n\treturn currentParams;\n};\n\nconst initialUrlParams = getCurrentUrlParameters();\n\n/**\n * TODO: Add short & useful description\n *\n * @param {object} props\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n *\n * @component\n */\n\nexport interface MlShareMapStateProps {\n\t//\n\tmapId?: string;\n\tidPrefix?: string;\n\tactive?: boolean;\n}\n\nexport interface LayerStatesInterface {\n\t//\n\t[key: string]: boolean;\n}\n\nconst MlShareMapState = (props: MlShareMapStateProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext(MapContext);\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper | null>(null);\n\tconst [map, setMap] = useState<MapLibreGlWrapper | undefined>(undefined);\n\tconst layersFromUrlParamsRef = useRef({});\n\tconst componentId = useRef((props.idPrefix ? props.idPrefix : 'MlShareMapState-') + uuidv4());\n\tconst mapState = useMapState({\n\t\twatch: {\n\t\t\tviewport: false,\n\t\t\tlayers: true,\n\t\t\tsources: false,\n\t\t},\n\t\tfilter: {\n\t\t\tincludeBaseLayers: false,\n\t\t},\n\t});\n\n\tconst allStatesRestoredRef = useRef(false);\n\tconst layerStatesRestored = useRef<LayerStatesInterface | null>(null);\n\tconst restoredStatesRef = useRef({\n\t\tviewport: {\n\t\t\tcenter: false,\n\t\t\tbearing: false,\n\t\t\tpitch: false,\n\t\t\tzoom: false,\n\t\t},\n\t\tlayers: {\n\t\t\t...layersFromUrlParamsRef,\n\t\t},\n\t});\n\n\t// initial URL-Params\n\tconst mapStateRef = useRef<MapState>({});\n\n\tconst refreshUrlParameters = useCallback(() => {\n\t\tif (!props.active) return;\n\n\t\tconst mapLayers = [];\n\t\tfor (const x in mapState.layers) {\n\t\t\tmapLayers.push({\n\t\t\t\tid: mapState.layers[x]?.id,\n\t\t\t\ttype: mapState.layers[x]?.type,\n\t\t\t\tvisible: mapState.layers[x]?.visible,\n\t\t\t});\n\t\t}\n\t\trefreshMapState();\n\t\tconst urlParams = new URLSearchParams({\n\t\t\t...(getCurrentUrlParameters() as Record<string, string>),\n\t\t\t...(mapStateRef.current as Record<string, string>),\n\t\t\tlayers: JSON.stringify(mapLayers),\n\t\t});\n\t\tJSON.parse(Object.fromEntries(urlParams).layers).forEach((el: { id: number }) => {\n\t\t\t// is iD a number?\n\t\t\t(layersFromUrlParamsRef.current as {[key:string]:any})[el.id] = false;\n\t\t});\n\n\t\tconst currentParams = new URLSearchParams(window.location.search);\n\t\tif (urlParams.toString() !== currentParams.toString()) {\n\t\t\twindow.history.pushState(\n\t\t\t\t{ ...mapStateRef.current },\n\t\t\t\tdocument.title,\n\t\t\t\t'?' + urlParams.toString()\n\t\t\t);\n\t\t}\n\t}, [mapState.layers, props.active]);\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\tmapStateRef.current = getCurrentUrlParameters();\n\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\t// try to remove anything this component has added to the MapLibre-gl instance\n\t\t\t// e.g.: remove the layer\n\t\t\t// mapContext.getMap(props.mapId).removeLayer(layerRef.current);\n\t\t\t// check for the existence of map.style before calling getLayer or getSource\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = null;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current) return;\n\n\t\trefreshUrlParameters();\n\t}, [refreshUrlParameters]);\n\n\tuseEffect(() => {\n\t\tif (!mapRef.current) return;\n\n\t\tconst _refreshUrlParameters = refreshUrlParameters;\n\n\t\tmapRef.current.on('moveend', _refreshUrlParameters, componentId.current);\n\n\t\treturn () => {\n\t\t\tmapRef.current?.map.off('moveend', _refreshUrlParameters);\n\t\t};\n\t}, [refreshUrlParameters, map]);\n\n\tuseEffect(() => {\n\t\tif (!mapContext?.mapExists?.(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\t\tsetMap(mapRef.current);\n\t\tif (mapStateRef.current.lat && mapStateRef.current.lng) {\n\t\t\trestoreViewportState();\n\t\t}\n\t}, [mapContext.mapIds, mapContext, props.mapId, props.active]);\n\n\tuseEffect(() => {\n\t\tif (!mapState?.layers?.length) return;\n\n\t\tif (typeof layerStatesRestored.current === 'undefined') {\n\t\t\tlayerStatesRestored.current = null;\n\t\t\tinitialUrlParams?.layers?.forEach((layer: { id: string }) => {\n\t\t\t\tif (layerStatesRestored.current?.[layer.id]) {\n\t\t\t\t\tlayerStatesRestored.current[layer.id] = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfor (const key in layerStatesRestored.current) {\n\t\t\tlet _allDone = true;\n\t\t\tif (layerStatesRestored.current[key] === false) {\n\t\t\t\t_allDone = false;\n\t\t\t}\n\t\t\tif (_allDone) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (initialUrlParams.layers) {\n\t\t\tinitialUrlParams.layers.forEach((layer) => {\n\t\t\t\tif (\n\t\t\t\t\tmapRef.current?.map.getLayer(layer.id) && //number oder str?\n\t\t\t\t\tlayerStatesRestored.current?.[layer.id] === false\n\t\t\t\t) {\n\t\t\t\t\tlayerStatesRestored.current[layer.id] = true;\n\t\t\t\t\tmapRef.current.map\n\t\t\t\t\t\t?.getLayer(layer.id)\n\t\t\t\t\t\t?.setLayoutProperty('visibility', layer.visible ? 'visible' : 'none');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [mapState.layers, props.mapId, props.active]);\n\n\tuseEffect(() => {\n\t\tif (!map) return;\n\t\tif (!mapState.layers) return;\n\n\t\tif (!props.active) {\n\t\t\tmap.cleanup(componentId.current);\n\t\t}\n\t}, [props.active, map, mapState.layers]);\n\n\t//ist .current?.map. richtig?\n\n\tconst refreshMapState = () => {\n\t\tmapStateRef.current.lat = mapRef.current?.map.getCenter().lat;\n\t\tmapStateRef.current.lng = mapRef.current?.map.getCenter().lng;\n\t\tmapStateRef.current.zoom = mapRef.current?.map.getZoom();\n\t\tmapStateRef.current.bearing = mapRef.current?.map.getBearing();\n\t\tmapStateRef.current.pitch = mapRef.current?.map.getPitch();\n\t};\n\n\tconst restoreViewportState = () => {\n\t\tif (!restoredStatesRef.current.viewport.center) {\n\t\t\trestoredStatesRef.current.viewport.center = true;\n\n\t\t\tif (mapStateRef.current.lng && mapStateRef.current.lat) {\n\t\t\t\tmapRef.current?.map.setCenter([mapStateRef.current.lng, mapStateRef.current.lat]);\n\t\t\t}\n\t\t\tif (mapStateRef.current.zoom) {\n\t\t\t\tmapRef.current?.map.setZoom(mapStateRef.current.zoom);\n\t\t\t}\n\t\t\tif (mapStateRef.current.bearing) {\n\t\t\t\tmapRef.current?.map.setBearing(mapStateRef.current.bearing);\n\t\t\t}\n\t\t\tif (mapStateRef.current.pitch) {\n\t\t\t\tmapRef.current?.map.setPitch(mapStateRef.current.pitch);\n\t\t\t}\n\t\t}\n\n\t\tallStatesRestoredRef.current = true;\n\t};\n\n\twindow.onpopstate = (event) => {\n\t\tif (event.state && event.state.lng && event.state.lat && event.state.zoom) {\n\t\t\tmapRef.current?.map.easeTo({\n\t\t\t\t// so möglich?\n\t\t\t\tzoom: event.state.zoom,\n\t\t\t\tcenter: [event.state.lng, event.state.lat],\n\t\t\t});\n\t\t}\n\t};\n\n\treturn <></>;\n};\n\nMlShareMapState.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlShareMapState;\n","import { distance, lineOffset } from '@turf/turf';\nimport { featureCollection, lineString, polygon } from '@turf/helpers';\nimport { Feature, FeatureCollection } from 'geojson';\n\ninterface geometry {\n\tcoordinates: Array<number>;\n}\n\ninterface line {\n\tgeometry: geometry;\n}\n\ninterface _geojsonInfo {\n\tline: line;\n\tmin: number;\n}\n\ntype coordinateObject = {[key: number]: any};\n\nexport default function getElevationData(\n\t_geojsonInfo: _geojsonInfo,\n\televationFactor: number\n): FeatureCollection {\n\tconst createStep = (x: number, y: number, z: number, x2: number, y2: number) => {\n\t\t//const summand = 0.0002;\n\t\tconst line = lineString([\n\t\t\t[x, y],\n\t\t\t[x2, y2],\n\t\t]);\n\t\tconst offsetLine = lineOffset(line, 5, { units: 'meters' });\n\t\tconst x3 = offsetLine.geometry.coordinates[0][0];\n\t\tconst y3 = offsetLine.geometry.coordinates[0][1];\n\t\tconst x4 = offsetLine.geometry.coordinates[1][0];\n\t\tconst y4 = offsetLine.geometry.coordinates[1][1];\n\n\t\treturn polygon(\n\t\t\t[\n\t\t\t\t[\n\t\t\t\t\t[x, y],\n\t\t\t\t\t[x2, y2],\n\n\t\t\t\t\t[x4, y4],\n\t\t\t\t\t[x3, y3],\n\t\t\t\t\t[x, y],\n\t\t\t\t],\n\t\t\t],\n\t\t\t{ height: z * elevationFactor }\n\t\t);\n\t};\n\n\tconst lerp = (x: number, y: number, a: number) => x * (1 - a) + y * a;\n\tconst points: Feature[] = [];\n\n\t_geojsonInfo.line.geometry.coordinates.forEach((coordinate: number, index: number) => {\n\t\t//const point = createPoint(coordinate[0],coordinate[1],coordinate[2]-min);\n\t\t//points.push(point);\n\t\tif (_geojsonInfo.line.geometry.coordinates[index + 1] && Array.isArray(coordinate)) {\n\n\t\t\tconst wayLength = distance(\n\t\t\t\t[coordinate[0], coordinate[1]],\n\t\t\t\t[\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][0],\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][1],\n\t\t\t\t],\n\t\t\t\t{ units: 'kilometers' }\n\t\t\t);\n\t\t\tlet listLength = ~~((wayLength * 1000) / 10);\n\t\t\tlistLength = listLength < 1 ? 1 : listLength;\n\t\t\tfor (let i = 0; i < listLength; i++) {\n\t\t\t\tconst x = lerp(\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index][0],\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][0],\n\t\t\t\t\ti / listLength\n\t\t\t\t);\n\t\t\t\tconst y = lerp(\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index][1],\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][1],\n\t\t\t\t\ti / listLength\n\t\t\t\t);\n\t\t\t\tconst z = lerp(\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index][2] - _geojsonInfo.min,\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][2] - _geojsonInfo.min,\n\t\t\t\t\ti / listLength\n\t\t\t\t);\n\n\t\t\t\tconst x2 = lerp(\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index][0],\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][0],\n\t\t\t\t\t(i + 1) / listLength\n\t\t\t\t);\n\t\t\t\tconst y2 = lerp(\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index][1],\n\t\t\t\t\t(_geojsonInfo.line.geometry.coordinates as coordinateObject)[index + 1][1],\n\t\t\t\t\t(i + 1) / listLength\n\t\t\t\t);\n\n\t\t\t\tconst point = createStep(x, y, z, x2, y2);\n\t\t\t\tpoints.push(point as unknown as Feature);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst output = featureCollection(points);\n\n\treturn output;\n}\n","import React, { useRef, useMemo } from 'react';\nimport { featureCollection } from '@turf/helpers';\nimport { Feature, FeatureCollection, GeoJSON } from 'geojson';\nimport { v4 as uuidv4 } from 'uuid';\nimport useSource from '../../hooks/useSource';\nimport useLayer from '../../hooks/useLayer';\nimport getElevationData from './util/getElevationData';\nimport { Coordinates, DataDrivenPropertyValueSpecification } from 'maplibre-gl';\n\nconst defaultFillExtrusionColor: (string | number | string[])[] = [\n\t'interpolate',\n\t['linear'],\n\t['get', 'height'],\n\t0,\n\t'rgba(0, 0, 255, 0)',\n\t0.1,\n\t'royalblue',\n\t0.3,\n\t'cyan',\n\t0.5,\n\t'lime',\n\t0.7,\n\t'yellow',\n\t1,\n\t'yellow',\n];\n/**\n * MlSpatialElevationProfile returns a Button that will add a standard OSM tile layer to the maplibre-gl instance.\n *\n * @component\n */\n\ninterface geojson {\n\tfeatures: Feature | FeatureCollection | undefined;\n}\n\nexport interface MlSpatialElevationProfileProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\t//geojson: {features: Feature | FeatureCollection | undefined };\n\tgeojson: geojson | FeatureCollection | undefined;\n\t/**\n\t * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance\n\t */\n\tidPrefix?: string;\n\t/**\n\t * Number describes the factor of the height of the elevation\n\t */\n\televationFactor?: number;\n\t/**\n\t * The layerId of an existing layer this layer should be rendered visually beneath\n\t * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see \"beforeId\" property\n\t */\n\tinsertBeforeLayer?: string;\n}\n\nconst MlSpatialElevationProfile = (props: MlSpatialElevationProfileProps) => {\n\tconst sourceName = useRef('elevationprofile-' + uuidv4());\n\tconst layerName = useRef('elevationprofile-layer-' + uuidv4());\n\tconst elevationFactor =\n\t\tprops.elevationFactor || MlSpatialElevationProfile.defaultProps.elevationFactor;\n\n\tconst _geojsonInfo = useMemo(() => {\n\t\tif (!props?.geojson?.features) return;\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore\n\t\tconst line = props.geojson.features?.find((element: Feature) => {\n\t\t\treturn element.geometry.type === 'LineString';\n\t\t});\n\n\t\tif (!line || !line.geometry) return;\n\n\t\tconst heights = line.geometry.coordinates.map((coordinate: Coordinates) => {\n\t\t\treturn coordinate[2];\n\t\t});\n\n\t\tconst min = Math.min(...heights);\n\n\t\tlet max = Math.max(...heights) - min;\n\n\t\tmax = max === 0 ? 1 : max;\n\n\t\treturn { max, min, line };\n\t}, [props.geojson]);\n\n\tconst _fillExtrusionColor: (string | number | string[])[] = useMemo(() => {\n\t\tif (!_geojsonInfo) return defaultFillExtrusionColor;\n\n\t\treturn [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', 'height'],\n\t\t\t0,\n\t\t\t'rgb(0,255,55)',\n\t\t\t_geojsonInfo.max * elevationFactor,\n\t\t\t'rgb(255,0,0)',\n\t\t];\n\t}, [_geojsonInfo, props.elevationFactor]);\n\n\tconst _geojson = useMemo(() => {\n\t\tif (!props.geojson?.features || !_geojsonInfo) return;\n\n\t\tconst newData = getElevationData(_geojsonInfo, elevationFactor);\n\t\treturn newData;\n\t}, [_geojsonInfo, elevationFactor]);\n\n\tuseSource({\n\t\tmapId: props.mapId,\n\t\tsourceId: sourceName.current,\n\t\tsource: {\n\t\t\ttype: 'geojson',\n\t\t\tdata: (_geojson || featureCollection([])) as (string | GeoJSON),\n\t\t},\n\t});\n\n\tuseLayer({\n\t\tlayerId: layerName.current,\n\t\toptions: {\n\t\t\tsource: sourceName.current,\n\t\t\ttype: 'fill-extrusion',\n\t\t\tpaint: {\n\t\t\t\t'fill-extrusion-height': ['get', 'height'],\n\t\t\t\t'fill-extrusion-opacity': 0.9,\n\t\t\t\t'fill-extrusion-color': (_fillExtrusionColor ||\n\t\t\t\t\tdefaultFillExtrusionColor) as DataDrivenPropertyValueSpecification<string>,\n\t\t\t},\n\t\t},\n\t\tinsertBeforeLayer: props.insertBeforeLayer,\n\t});\n\n\treturn <></>;\n};\n\nMlSpatialElevationProfile.defaultProps = {\n\televationFactor: 1,\n};\n\nexport default MlSpatialElevationProfile;\n","import React, { useRef, useEffect, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { LayerSpecification } from 'maplibre-gl';\nimport { VectorSourceSpecification } from 'maplibre-gl';\n\nexport type ExtendedLayerSpecification = LayerSpecification & {\n\tmasterVisible?: boolean;\n};\n\nexport type MlVectorTileLayerProps = {\n\tmapId?: string;\n\tinsertBeforeLayer?: string;\n\tlayerId?: string;\n\tsourceOptions?: VectorSourceSpecification;\n\turl?: string;\n\tlayers: ExtendedLayerSpecification[];\n};\n\n/**\n * Adds a vector-tile source and 0...n vector-tile-layers to the MapLibre instance referenced by\n * props.mapId\n *\n * @component\n */\nconst MlVectorTileLayer = (props: MlVectorTileLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst layerId = useRef(props.layerId || 'MlVectorTileLayer-' + mapHook.componentId);\n\tconst layerPaintConfsRef = useRef<{[key: string]: string }>({});\n\tconst layerLayoutConfsRef = useRef<{[key: string]: string }>({});\n\tconst initializedRef = useRef(false);\n\n\tconst createLayers = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tif (mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\n\t\t// Add the new layer to the maplibre instance once it is available\n\t\tif (!mapHook.map.map.getSource(layerId.current)) {\n\t\t\tmapHook.map.addSource(\n\t\t\t\tlayerId.current,\n\t\t\t\t{\n\t\t\t\t\ttype: 'vector',\n\t\t\t\t\ttiles: [props.url || ''],\n\t\t\t\t\tattribution: '',\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 14,\n\t\t\t\t\t...props.sourceOptions,\n\t\t\t\t},\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t}\n\n\t\tprops.layers.forEach((layer) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tmapHook.map.addLayer(\n\t\t\t\t{\n\t\t\t\t\tsource: layerId.current,\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 22,\n\t\t\t\t\tlayout: {},\n\t\t\t\t\tpaint: {\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t'line-opacity': 0.5,\n\t\t\t\t\t\t'line-color': 'rgb(80, 80, 80)',\n\t\t\t\t\t\t'line-width': 2,\n\t\t\t\t\t},\n\t\t\t\t\t...layer,\n\t\t\t\t},\n\t\t\t\tprops.insertBeforeLayer,\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t\tlayerPaintConfsRef.current[layer.id] = JSON.stringify(layer.paint);\n\t\t\tlayerLayoutConfsRef.current[layer.id] = JSON.stringify(layer.layout);\n\n\t\t\t// recreate layer if style has changed\n\t\t\tmapHook.map.on(\n\t\t\t\t'styledata',\n\t\t\t\t() => {\n\t\t\t\t\tif (initializedRef.current && !mapHook.map?.map.getSource(layerId.current)) {\n\t\t\t\t\t\tconsole.log('Recreate Layer ' + layerId.current);\n\t\t\t\t\t\tcreateLayers();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmapHook.componentId\n\t\t\t);\n\t\t});\n\t}, [mapHook.map, props]);\n\n\tconst updateLayers = useCallback(() => {\n\t\tif (!initializedRef.current) return;\n\n\t\tprops.layers.forEach((layer) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tif (mapHook.map.map.getLayer(layer.id)) {\n\t\t\t\t// update changed paint property\n\t\t\t\tconst layerPaintConfString = JSON.stringify(layer.paint);\n\n\t\t\t\tif (layerPaintConfString !== layerPaintConfsRef.current[layer.id]) {\n\t\t\t\t\tfor (const paintKey in layer.paint) {\n\t\t\t\t\t\tmapHook.map.setPaintProperty(layer.id, paintKey, layer.paint[paintKey as keyof typeof layer.paint]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlayerPaintConfsRef.current[layer.id] = layerPaintConfString;\n\n\t\t\t\t// update changed layout property\n\t\t\t\tconst layerLayoutConfString = JSON.stringify(layer.layout);\n\n\t\t\t\tif (layerLayoutConfString !== layerLayoutConfsRef.current[layer.id]) {\n\t\t\t\t\tfor (const layoutKey in layer.layout) {\n\t\t\t\t\t\tmapHook.map.setLayoutProperty(layer.id, layoutKey, layer.layout[layoutKey as keyof typeof layer.layout]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlayerLayoutConfsRef.current[layer.id] = layerLayoutConfString;\n\t\t\t}\n\t\t});\n\t}, [mapHook.map, props.layers]);\n\n\t// initial layer creation\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\t\tcreateLayers();\n\t}, [createLayers]);\n\n\t// if layers get removed or added\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\t\tcreateLayers();\n\t}, [props.layers.length, mapHook.map]);\n\n\t// on layout/paint update\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\t\tupdateLayers();\n\t}, [props.layers, mapHook.map]);\n\n\treturn <></>;\n};\n\nexport default MlVectorTileLayer;\n","import React, { useEffect, useRef, useState } from 'react';\nimport useMap from '../../hooks/useMap';\nimport MlGeoJsonLayer, { MlGeoJsonLayerProps } from '../MlGeoJsonLayer/MlGeoJsonLayer';\nexport type MlOgcApiFeaturesProps = {\n\tvisible?: boolean;\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * The url of OGC API\n\t */\n\togcApiUrl: URL;\n\t/**\n\t * The additional query parameters of OGC API\n\t */\n\togcApiFeatureParams?: OgcApiFeaturesParamsTypes;\n\t/**\n\t * Fetches the features everytime (based on the current bbox) when the map gets moved\n\t */\n\treloadFeaturesOnMapMove?: boolean;\n\t/**\n\t * Geojson Layer props. But omit 'geojson' because it gets set from the OGC API Feature call\n\t */\n\tmlGeoJsonLayerProps?: Omit<MlGeoJsonLayerProps, 'geojson'>;\n};\nexport type OgcApiFeaturesParamsTypes = {\n\tbbox?: string;\n\tbbox_crs?: string;\n\tlimit?: number;\n\toffset?: number;\n\tcrs?: string;\n\tdatetime?: string;\n\tproperties?: string;\n\tsortby?: string;\n\tf?: string;\n\tfilter?: string;\n\tlang?: string;\n\tq?: string;\n\tproperties_crs?: string;\n\tid?: string;\n\tfilter_lang?: string;\n\tfilter_crs?: string;\n};\n\nconst MlOgcApiFeatures = (props: MlOgcApiFeaturesProps) => {\n\tconst [geojson, setGeojson] = useState();\n\tconst mapHook = useMap({ mapId: props.mapId });\n\tconst layerId = useRef(\n\t\tprops.mlGeoJsonLayerProps?.layerId || 'MlOgcApiFeature-' + mapHook.componentId\n\t);\n\n\tconst buildOgcApiUrl = () => {\n\t\tconst url = new URL(props.ogcApiUrl);\n\t\tif (props.ogcApiFeatureParams) {\n\t\t\tObject.entries(props.ogcApiFeatureParams).forEach(([key, value]) => {\n\t\t\t\tif (value !== undefined && value !== null) {\n\t\t\t\t\turl.searchParams.append(key, value.toString());\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (props.reloadFeaturesOnMapMove) {\n\t\t\tconst southWest = mapHook?.map?.getBounds().getSouthWest();\n\t\t\tconst northEast = mapHook?.map?.getBounds().getNorthEast();\n\t\t\tconst bbox = `${southWest?.lng},${southWest?.lat},${northEast?.lng},${northEast?.lat}`;\n\t\t\turl.searchParams.append('bbox', bbox);\n\t\t}\n\t\treturn url.toString();\n\t};\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tconst getDataHandler = () => {\n\t\t\tconst generatedOgcApiUrl = buildOgcApiUrl();\n\t\t\tfetch(generatedOgcApiUrl)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (!res.ok) throw new Error('Error fetching OGC features');\n\t\t\t\t\treturn res.json();\n\t\t\t\t})\n\t\t\t\t.then((data) => {\n\t\t\t\t\tsetGeojson(data);\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t\tsetGeojson(undefined);\n\t\t\t\t});\n\t\t};\n\t\tgetDataHandler();\n\t\tif (props.reloadFeaturesOnMapMove) {\n\t\t\tmapHook.map.on('moveend', getDataHandler);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (mapHook?.map?.off) {\n\t\t\t\tmapHook.map.off('moveend', getDataHandler);\n\t\t\t}\n\t\t}\n\t}, [mapHook.map, props.ogcApiFeatureParams, props.ogcApiUrl]);\n\n\tuseEffect(() => {\n\t\t// if layer is not yet on map return\n\t\tif (!mapHook.map || !mapHook.map.map.style.getLayer(layerId.current)) return;\n\n\t\t// if layer is already on map: toggle layer visibility by changing the layout object's visibility property\n\t\tif (props.visible) {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'visible');\n\t\t} else {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'none');\n\t\t}\n\t}, [props.visible, mapHook.map]);\n\n\treturn (\n\t\t<>\n\t\t\t{geojson && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\tgeojson={geojson}\n\t\t\t\t\tlayerId={layerId.current}\n\t\t\t\t\t{...props.mlGeoJsonLayerProps}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\nexport default MlOgcApiFeatures;\n","import React, { useRef, useEffect, useContext } from \"react\";\n\nimport MapContext from \"../../contexts/MapContext\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport MapLibreGlWrapper from \"../MapLibreMap/lib/MapLibreGlWrapper\";\n\nexport interface MlWmsFeatureInfoPopupProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n/**\n * TODO: Add short & useful description\n *\n * @param {object} props\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n *\n * @component\n */\nconst MlWmsFeatureInfoPopup = (props:MlWmsFeatureInfoPopupProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst mapContext = useContext(MapContext);\n\n\tconst initializedRef = useRef(false);\n\tconst mapRef = useRef<MapLibreGlWrapper | undefined>(undefined);\n\tconst componentId = useRef((\"MlWmsFeatureInfoPopup-\") + uuidv4());\n\n\tuseEffect(() => {\n\t\tconst _componentId = componentId.current;\n\n\t\treturn () => {\n\t\t\t// This is the cleanup function, it is called when this react component is removed from react-dom\n\t\t\t// try to remove anything this component has added to the MapLibre-gl instance\n\t\t\t// e.g.: remove the layer\n\t\t\t// mapContext.getMap(props.mapId).removeLayer(layerRef.current);\n\t\t\t// check for the existence of map.style before calling getLayer or getSource\n\n\t\t\tif (mapRef.current) {\n\t\t\t\tmapRef.current.cleanup(_componentId);\n\t\t\t\tmapRef.current = undefined;\n\t\t\t}\n\t\t\tinitializedRef.current = false;\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (!mapContext.mapExists(props.mapId) || initializedRef.current) return;\n\t\t// the MapLibre-gl instance (mapContext.getMap(props.mapId)) is accessible here\n\t\t// initialize the layer and add it to the MapLibre-gl instance or do something else with it\n\t\tinitializedRef.current = true;\n\t\tmapRef.current = mapContext.getMap(props.mapId);\n\n\t\tmapRef.current.setCenter([7.132122000552613, 50.716405378037706]);\n\t}, [mapContext.mapIds, mapContext, props.mapId]);\n\n\treturn <></>;\n};\n\nMlWmsFeatureInfoPopup.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlWmsFeatureInfoPopup;\n","import React, { useMemo, useRef, useEffect, useCallback } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { RasterLayerSpecification, RasterSourceSpecification } from 'maplibre-gl';\n\nconst defaultProps = {\n\tvisible: true,\n\turlParameters: {\n\t\tbbox: '{bbox-epsg-3857}',\n\t\tformat: 'image/png',\n\t\tservice: 'WMS',\n\t\tversion: '1.1.1',\n\t\trequest: 'GetMap',\n\t\tsrs: 'EPSG:3857',\n\t\twidth: 256,\n\t\theight: 256,\n\t\tstyles: '',\n\t},\n\tattribution: '',\n\tsourceOptions: {\n\t\tminZoom: 0,\n\t\tmaxZoom: 20,\n\t},\n\tlayerOptions: {\n\t\tminZoom: 0,\n\t\tmaxZoom: 20,\n\t},\n};\n\nexport interface MlWmsLayerProps {\n\turlParameters?: { [key: string]: string };\n\turl: string;\n\tvisible?: boolean;\n\tattribution?: string;\n\tmapId?: string;\n\tsourceOptions?: RasterSourceSpecification;\n\tlayerOptions?: RasterLayerSpecification;\n\tinsertBeforeLayer?: string;\n\tlayerId?: string;\n}\n/**\n * Adds a WMS raster source & layer to the maplibre-gl instance\n *\n * @param {object} props\n * @param {object} props.urlParameters URL query parameters that will be added to the WMS URL. A layers property (string) is mandatory. Any value defined on this attribute will extend the default object\n * @param {string} props.url WMS URL\n * @param {bool}\t props.visible Sets layer \"visibility\" property to \"visible\" if true or \"none\" if false\n * @param {string} props.attribution MapLibre attribution shown in the bottom right of the map, if this layer is visible\n * @param {string} props.mapId Id of the target MapLibre instance in mapContext\n * @param {object} props.sourceOptions Object that is passed to the MapLibre.addSource call as config option parameter\n * @param {object} props.layerOptions Object that is passed to the MapLibre.addLayer call as config option parameter\n * @param {string} props.insertBeforeLayer Id of an existing layer in the mapLibre instance to help specify the layer order\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t This layer will be visually beneath the layer with the \"insertBeforeLayer\" id\n *\n * @component\n */\nconst MlWmsLayer = (props: MlWmsLayerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tconst initializedRef = useRef(false);\n\tconst layerId = useRef(props.layerId || 'MlWmsLayer-' + mapHook.componentId);\n\n\tconst tileUrl = useMemo(() => {\n\t\tlet _propsUrlParams;\n\t\tlet _wmsUrl = props.url;\n\t\tif (props.url.indexOf('?') !== -1) {\n\t\t\t_propsUrlParams = props.url.split('?');\n\t\t\t_wmsUrl = _propsUrlParams[0];\n\t\t}\n\t\tconst _urlParamsFromUrl = new URLSearchParams(_propsUrlParams?.[1]);\n\t\t// first spread in default props manually to enable overriding a single parameter without replacing the whole default urlParameters object\n\t\tconst urlParamsObj = {\n\t\t\t...defaultProps.urlParameters,\n\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t...props.urlParameters,\n\t\t};\n\t\tconst urlParams = new URLSearchParams(urlParamsObj as unknown as Record<string, string>);\n\t\tconst urlParamsStr =\n\t\t\tdecodeURIComponent(urlParams.toString()) + ''.replace(/%2F/g, '/').replace(/%3A/g, ':');\n\n\t\treturn _wmsUrl + '?' + urlParamsStr;\n\t}, [props.urlParameters, props.url]);\n\n\tconst createLayer = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tinitializedRef.current = true;\n\n\t\tif (mapHook.map.map.getLayer(layerId.current)) {\n\t\t\tmapHook.cleanup();\n\t\t}\n\n\t\tmapHook.map.addSource(\n\t\t\tlayerId.current,\n\t\t\t{\n\t\t\t\ttype: 'raster',\n\t\t\t\ttiles: [tileUrl],\n\t\t\t\ttileSize: 256,\n\t\t\t\tattribution: props.attribution,\n\t\t\t\t...props.sourceOptions,\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\tmapHook.map.addLayer(\n\t\t\t{\n\t\t\t\tid: layerId.current,\n\t\t\t\ttype: 'raster',\n\t\t\t\tsource: layerId.current,\n\t\t\t\t...props.layerOptions,\n\t\t\t},\n\t\t\tprops.insertBeforeLayer,\n\t\t\tmapHook.componentId\n\t\t);\n\n\t\t// recreate layer if map style.json has changed\n\t\tmapHook.map.on(\n\t\t\t'styledata',\n\t\t\t() => {\n\t\t\t\tif (initializedRef.current && !mapHook.map?.map.getLayer(layerId.current)) {\n\t\t\t\t\tconsole.log('Recreate Layer ' + layerId.current);\n\t\t\t\t\tcreateLayer();\n\t\t\t\t}\n\t\t\t},\n\t\t\tmapHook.componentId\n\t\t);\n\t\tif (!props.visible) {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'none');\n\t\t}\n\t}, [mapHook.map, props, tileUrl]);\n\n\tuseEffect(() => {\n\t\tif (initializedRef.current) return;\n\n\t\tcreateLayer();\n\t}, [createLayer]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !mapHook.map?.map?.style?.sourceCaches?.[layerId.current] || !initializedRef.current) return;\n\n\t\tconst source = mapHook.map.map.getSource(layerId.current) as RasterSourceSpecification;\n\t\tsource.tiles = [tileUrl];\n\n\t\tmapHook.map.map.style.sourceCaches[layerId.current].clearTiles();\n\n\t\tmapHook.map.map.style.sourceCaches[layerId.current].update(mapHook.map.map.transform);\n\n\t\tmapHook.map.map.triggerRepaint();\n\t}, [mapHook.map, tileUrl]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !initializedRef.current) return;\n\n\t\t// toggle layer visibility by changing the layout object's visibility property\n\t\tif (props.visible) {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'visible');\n\t\t} else {\n\t\t\tmapHook.map.map.setLayoutProperty(layerId.current, 'visibility', 'none');\n\t\t}\n\t}, [props.visible, mapHook.map]);\n\n\treturn <></>;\n};\n\nMlWmsLayer.defaultProps = {\n\t...defaultProps,\n};\n\nexport default MlWmsLayer;\n","import { useState, useEffect } from \"react\";\nimport WMSCapabilities, { WMSCapabilitiesJSON } from \"wms-capabilities\";\n\nexport interface useWmsProps{\n\turl?:string;\n\turlParameters?:{[key: string]: string};\n}\n\nexport interface useWmsReturnType{\n\t\tcapabilities:WMSCapabilitiesJSON | null | undefined;\n\t\tgetFeatureInfoUrl:string | undefined;\n\t\twmsUrl:string | undefined;\n\t\terror:string | undefined;\n\t\tsetUrl:(value:string|undefined) => void;\n}\n\nfunction useWms(props:useWmsProps):useWmsReturnType {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\tconst [getFeatureInfoUrl, setGetFeatureInfoUrl] = useState<string>();\n\tconst [url, setUrl] = useState(props.url);\n\tconst [wmsUrl, setWmsUrl] = useState(\"\");\n\tconst [capabilities, setCapabilities] = useState<WMSCapabilitiesJSON | null | undefined>();\n\tconst [error, setError] = useState();\n\n\tconst clearState = () => {\n\t\tsetGetFeatureInfoUrl(undefined);\n\t\tsetCapabilities(undefined);\n\t\t//setLayers([]);\n\t\tsetWmsUrl(\"\");\n\t};\n\n\tuseEffect(() => {\n\t\t// extract URL parameters from the given URL\n\t\tclearState();\n\t\tsetError(undefined);\n\n\t\tif (!url) return;\n\n\t\tlet _propsUrlParams;\n\t\tlet _wmsUrl = url;\n\t\tif (url.indexOf(\"?\") !== -1) {\n\t\t\t_propsUrlParams = url.split(\"?\");\n\t\t\t_wmsUrl = _propsUrlParams[0];\n\t\t}\n\t\tconst _urlParamsFromUrl = new URLSearchParams(_propsUrlParams?.[1]);\n\n\t\tconst urlParamsObj = {\n\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t...props.urlParameters,\n\t\t};\n\t\t// create URLSearchParams object to assemble the URL Parameters\n\t\tconst urlParams = new URLSearchParams(urlParamsObj);\n\n\t\tconst urlParamsStr =\n\t\t\tdecodeURIComponent(urlParams.toString()) + \"\".replace(/%2F/g, \"/\").replace(/%3A/g, \":\");\n\n\t\tfetch(_wmsUrl + \"?\" + urlParamsStr)\n\t\t\t.then((res) => {\n\t\t\t\tif (!res.ok) {\n\t\t\t\t\tthrow Error(res.statusText + \" (\" + res.status + \" - \" + res.type + \")\");\n\t\t\t\t} else {\n\t\t\t\t\treturn res.text();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((data:string) => {\n\t\t\t\tsetCapabilities(new WMSCapabilities(data, window.DOMParser).toJSON());\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t//reset local state\n\t\t\t\tclearState();\n\t\t\t\tconsole.log(error);\n\t\t\t\tsetError(error.message);\n\t\t\t});\n\t}, [url, props.urlParameters]);\n\n\tuseEffect(() => {\n\t\tif (!capabilities?.Service) return;\n\n\t\tsetWmsUrl(capabilities.Capability?.Request?.GetMap?.DCPType?.[0]?.HTTP?.Get?.OnlineResource);\n\t\t// set getFeatureInfo url\n\t\tsetGetFeatureInfoUrl(\n\t\t\tcapabilities.Capability?.Request?.GetFeatureInfo?.DCPType?.[0]?.HTTP?.Get?.OnlineResource\n\t\t);\n\t}, [capabilities]);\n\n\treturn {\n\t\tcapabilities,\n\t\tgetFeatureInfoUrl,\n\t\twmsUrl,\n\t\terror,\n\t\tsetUrl,\n\t};\n}\n\nuseWms.defaultProps = {\n\turl: \"\",\n\turlParameters: {\n\t\tSERVICE: \"WMS\",\n\t\tVERSION: \"1.3.0\",\n\t\tREQUEST: \"GetCapabilities\",\n\t},\n};\n\nexport default useWms;\n","import React, { useEffect, useCallback, useState, useMemo } from 'react';\n\nimport MlWmsLayer from '../MlWmsLayer/MlWmsLayer';\nimport MlMarker from '../MlMarker/MlMarker';\nimport useWms, { useWmsProps } from '../../hooks/useWms';\n\nimport InfoIcon from '@mui/icons-material/Info';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport IconButton from '@mui/material/IconButton';\nimport { LngLat, MapMouseEvent } from 'maplibre-gl';\nimport { Layer2, Layer3 } from 'wms-capabilities';\nimport { useWmsReturnType } from '../../hooks/useWms';\nimport useMap from '../../hooks/useMap';\nimport { Box, Checkbox, ListItemIcon, Snackbar } from '@mui/material';\nimport ExpandLessIcon from '@mui/icons-material/ExpandLess';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport ConfirmDialog from '../../ui_components/ConfirmDialog';\n\nimport * as turf from '@turf/turf';\nimport SortableContainer from '../../ui_components/LayerList/util/SortableContainer';\n\nconst originShift = (2 * Math.PI * 6378137) / 2.0;\nconst lngLatToMeters = function (lnglat: LngLat, accuracy = { enable: true, decimal: 1 }) {\n\tconst lng = lnglat.lng;\n\tconst lat = lnglat.lat;\n\tlet x = (lng * originShift) / 180.0;\n\tlet y = Math.log(Math.tan(((90 + lat) * Math.PI) / 360.0)) / (Math.PI / 180.0);\n\ty = (y * originShift) / 180.0;\n\tif (accuracy.enable) {\n\t\tx = Number(x.toFixed(accuracy.decimal));\n\t\ty = Number(y.toFixed(accuracy.decimal));\n\t}\n\treturn [x, y];\n};\n\nexport interface WmsConfig {\n\t/**\n\t * The URL to use for the getFeatureInfo request\n\t */\n\tgetFeatureInfoUrl: useWmsReturnType['getFeatureInfoUrl'];\n\t/**\n\t * The URL of the WMS service\n\t */\n\twmsUrl: useWmsReturnType['wmsUrl'];\n\t/**\n\t * The layers to display on the map\n\t */\n\tlayers: LayerType[];\n\t/**\n\t * If true, the WMS layer is visible\n\t */\n\tvisible: boolean;\n\t/**\n\t * If true, the WMS layer is open\n\t */\n\topen: boolean;\n\t/**\n\t * The name of the WMS layer\n\t */\n\tname?: string;\n}\n\nexport interface MlWmsLoaderProps {\n\t/**\n\t * WMS URL\n\t */\n\turl: string;\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\tlayerId?: string;\n\tinsertBeforeLayer?: string;\n\t/**\n\t * URL parameters that will be used in the getCapabilities request\n\t */\n\turlParameters?: useWmsProps['urlParameters'];\n\t/**\n\t * URL parameters that will be added when requesting WMS capabilities\n\t */\n\twmsUrlParameters?: { [key: string]: string };\n\t/**\n\t * If true, zooms to the extent of the WMS layer after loading the getCapabilities response\n\t */\n\tzoomToExtent?: boolean;\n\t/**\n\t * The name of the ListItem element representing the WmsLoader\n\t */\n\tname?: string;\n\t/**\n\t * If true, enables the feature info functionality\n\t */\n\tfeatureInfoEnabled?: boolean;\n\t/**\n\t * If true, the feature info functionality is active\n\t */\n\tfeatureInfoActive?: boolean;\n\t/**\n\t * A function to set the feature info active state\n\t */\n\tsetFeatureInfoActive?: (val: boolean | ((current: boolean) => boolean)) => void;\n\t/**\n\t * The WMS configuration object\n\t */\n\tconfig?: WmsConfig;\n\t/**\n\t * A function to handle changes to the WMS configuration\n\t */\n\tonConfigChange?: (config: WmsConfig | false) => void;\n\t/**\n\t * A function to update a LayerType config array that is passed to this component at props.config.layers\n\t */\n\tsetLayers?: (layers: LayerType[]) => void;\n\t/**\n\t * If true, shows the delete button for the WMSLoader\n\t */\n\tshowDeleteButton?: boolean;\n\t/**\n\t * Custom buttons to display for the WMSLoader\n\t */\n\tbuttons?: React.JSX.Element;\n\tsortable?: boolean;\n}\n\nexport type LayerType = {\n\tvisible: boolean;\n\tName: string;\n\tAttribution?: { Title: string };\n} & Omit<Layer2, 'Layer' | 'CRS'> &\n\tPartial<Pick<Layer2, 'Layer'>>;\n/**\n * Loads a WMS getCapabilities xml document and adds a MlWmsLayer component for each layer that is\n * offered by the WMS.\n *\n * @component\n */\nconst MlWmsLoader = (props: MlWmsLoaderProps) => {\n\n\tconst {\n\t\tcapabilities: _capabilities,\n\t\terror,\n\t\tsetUrl,\n\t\tgetFeatureInfoUrl: _getFeatureInfoUrl,\n\t\twmsUrl: _wmsUrl,\n\t}: useWmsReturnType = useWms({\n\t\turlParameters: props.urlParameters,\n\t});\n\tconst [open, setOpen] = useState(props?.config?.open || false);\n\tconst [visible, setVisible] = useState<boolean>(props?.config?.visible || true);\n\tconst [showDeletionConfirmationDialog, setShowDeletionConfirmationDialog] = useState(false);\n\n\tconst mapHook = useMap({ mapId: props?.mapId });\n\tconst [_layers, _setLayers] = useState<Array<LayerType>>(props?.config?.layers || []);\n\n\tconst [featureInfoEventsEnabled, setFeatureInfoEventsEnabled] = useState<boolean>(false);\n\tconst [featureInfoLngLat, setFeatureInfoLngLat] = useState<\n\t\t{ lng: number; lat: number } | undefined\n\t>();\n\tconst [featureInfoContent, setFeatureInfoContent] = useState<string | undefined>(undefined);\n\n\tuseEffect(() => {\n\t\tif (props.config) return;\n\t\tsetUrl(props.url);\n\t}, [props.url]);\n\n\tconst wmsUrl = useMemo(() => {\n\t\treturn props?.config?.wmsUrl || _wmsUrl;\n\t}, [props?.config?.wmsUrl, _wmsUrl]);\n\n\tconst getFeatureInfoUrl = useMemo(() => {\n\t\treturn props?.config?.getFeatureInfoUrl || _getFeatureInfoUrl;\n\t}, [props?.config?.getFeatureInfoUrl, _getFeatureInfoUrl]);\n\n\tconst capabilities = useMemo(() => {\n\t\treturn _capabilities;\n\t}, [_capabilities]);\n\n\tconst name = useMemo(() => {\n\t\treturn props?.name || props?.config?.name || capabilities?.Service?.Title;\n\t}, [props?.name, props?.config?.name, capabilities?.Service?.Title]);\n\n\tconst layers = useMemo(() => {\n\t\tif (!props?.setLayers) return _layers;\n\t\treturn props?.config?.layers || _layers;\n\t}, [props?.config?.layers, _layers]);\n\n\tconst setLayers = useMemo(() => {\n\t\treturn props?.setLayers || _setLayers;\n\t}, [props?.setLayers, _setLayers]);\n\n\tuseEffect(() => {\n\t\tprops?.onConfigChange?.({\n\t\t\tlayers,\n\t\t\t//capabilities,\n\t\t\tgetFeatureInfoUrl,\n\t\t\twmsUrl,\n\t\t\tvisible,\n\t\t\topen,\n\t\t\tname,\n\t\t});\n\t}, [layers, capabilities, getFeatureInfoUrl, wmsUrl, visible, open, name]);\n\n\tconst attribution = useMemo(() => {\n\t\treturn layers\n\t\t\t.filter((el: LayerType) => el.visible && el?.Attribution?.Title)\n\t\t\t.map((el: LayerType) => el?.Attribution?.Title)\n\t\t\t.filter((value: string, index: number, self: string[]) => self.indexOf(value) === index)\n\t\t\t.join(' ');\n\t}, [layers]);\n\n\tconst resetFeatureInfo = function () {\n\t\tsetFeatureInfoLngLat(undefined);\n\t\tsetFeatureInfoContent(undefined);\n\t};\n\n\tconst getFeatureInfo = useCallback(\n\t\t(ev: MapMouseEvent & unknown) => {\n\t\t\tif (!mapHook.map) return;\n\t\t\tresetFeatureInfo();\n\t\t\tconst unprojected = mapHook.map.unproject([ev.point.x, ev.point.y]);\n\t\t\tconst point = turf.point([unprojected.lng, unprojected.lat]);\n\t\t\tconst buffered = turf.buffer(point, 50, { units: 'meters' });\n\t\t\tconst _bbox = buffered && turf.bbox(buffered);\n\t\t\tconst _sw = _bbox && lngLatToMeters({ lng: _bbox[0], lat: _bbox[1] } as LngLat);\n\t\t\tconst _ne = _bbox && lngLatToMeters({ lng: _bbox[2], lat: _bbox[3] } as LngLat);\n\t\t\tconst bbox = _sw && _ne && [_sw[0], _sw[1], _ne[0], _ne[1]];\n\t\t\tconst _getFeatureInfoUrlParams = {\n\t\t\t\tREQUEST: 'GetFeatureInfo',\n\n\t\t\t\tBBOX: bbox?.join(','),\n\t\t\t\tSERVICE: 'WMS',\n\t\t\t\tINFO_FORMAT:\n\t\t\t\t\tcapabilities?.Capability?.Request?.GetFeatureInfo.Format.indexOf('text/html') !== -1\n\t\t\t\t\t\t? 'text/html'\n\t\t\t\t\t\t: 'text/plain',\n\t\t\t\tFEATURE_COUNT: '10',\n\t\t\t\tLAYERS: layers\n\t\t\t\t\t.map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Name : undefined))\n\t\t\t\t\t.filter((n) => n),\n\t\t\t\tQUERY_LAYERS: layers\n\t\t\t\t\t.map((layer: LayerType) => (layer.visible && layer.queryable ? layer.Name : undefined))\n\t\t\t\t\t.filter((n) => n),\n\t\t\t\tWIDTH: 100,\n\t\t\t\tHEIGHT: 100,\n\t\t\t\tsrs: 'EPSG:3857',\n\t\t\t\tCRS: 'EPSG:3857',\n\t\t\t\tversion: '1.3.0',\n\t\t\t\tX: 50,\n\t\t\t\tY: 50,\n\t\t\t\tI: 50,\n\t\t\t\tJ: 50,\n\t\t\t\tbuffer: '50',\n\t\t\t};\n\n\t\t\tlet _gfiUrl: string | undefined = getFeatureInfoUrl;\n\t\t\tlet _gfiUrlParts;\n\t\t\tif (_gfiUrl?.indexOf?.('?') !== -1) {\n\t\t\t\t_gfiUrlParts = props.url.split('?');\n\t\t\t\t_gfiUrl = _gfiUrlParts[0];\n\t\t\t}\n\t\t\tconst _urlParamsFromUrl = new URLSearchParams(_gfiUrlParts?.[1]);\n\n\t\t\tconst urlParamsObj = {\n\t\t\t\t...Object.fromEntries(_urlParamsFromUrl),\n\t\t\t\t..._getFeatureInfoUrlParams,\n\t\t\t};\n\t\t\t// create URLSearchParams object to assemble the URL Parameters\n\t\t\t// \"as any\" can be removed once the URLSearchParams ts spec is fixed\n\t\t\tconst urlParams = new URLSearchParams(urlParamsObj as unknown as Record<string, string>);\n\n\t\t\tfetch(props.url + '?' + urlParams.toString())\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (!res.ok) {\n\t\t\t\t\t\tthrow new Error('FeatureInfo could not be fetched');\n\t\t\t\t\t}\n\t\t\t\t\treturn res.text();\n\t\t\t\t})\n\t\t\t\t.then((text) => {\n\t\t\t\t\tsetFeatureInfoLngLat(ev.lngLat);\n\t\t\t\t\tsetFeatureInfoContent(text);\n\t\t\t\t})\n\t\t\t\t.catch((error) => console.log(error));\n\t\t},\n\t\t[capabilities, getFeatureInfoUrl, props, mapHook, layers]\n\t);\n\n\tconst _featureInfoEventsEnabled = useMemo(() => {\n\t\treturn (\n\t\t\t((typeof props?.featureInfoActive !== 'undefined' && props.featureInfoActive) ||\n\t\t\t\tfeatureInfoEventsEnabled) &&\n\t\t\tlayers?.some((layer) => layer.visible && layer.queryable) &&\n\t\t\t!!mapHook.map\n\t\t);\n\t}, [props?.featureInfoActive, featureInfoEventsEnabled, layers, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!_featureInfoEventsEnabled) {\n\t\t\tresetFeatureInfo();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst _getFeatureInfo = getFeatureInfo;\n\n\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t// @ts-ignore: ts appears not to consider overloads\n\t\tmapHook.map.map.on('click', _getFeatureInfo);\n\t\treturn () => {\n\t\t\tmapHook.map?.map.off?.('click', _getFeatureInfo);\n\t\t};\n\t}, [_featureInfoEventsEnabled, getFeatureInfo, mapHook.map]);\n\n\tuseEffect(() => {\n\t\tif (!capabilities?.Service) return;\n\n\t\tif (\n\t\t\tcapabilities?.Capability?.Layer?.CRS?.indexOf?.('EPSG:3857') === -1 &&\n\t\t\tcapabilities?.Capability?.Layer?.CRS?.indexOf?.('CRS:84') === -1\n\t\t) {\n\t\t\tconsole.log(\n\t\t\t\t'MlWmsLoader (' + capabilities.Service.Title + '): No WGS 84/Pseudo-Mercator support'\n\t\t\t);\n\t\t} else {\n\t\t\tconsole.log(\n\t\t\t\t'MlWmsLoader (' + capabilities.Service.Title + '): WGS 84/Pseudo-Mercator supported'\n\t\t\t);\n\n\t\t\tlet _LatLonBoundingBox: Array<number> = [];\n\n\t\t\t// collect queriable Layer2 layers\n\t\t\tlet _layers: LayerType[] = capabilities?.Capability?.Layer?.Layer.filter(\n\t\t\t\t(el) => !el.Layer?.length\n\t\t\t).map((layer: Layer2 & { Name: string }, idx: number) => {\n\t\t\t\tif (idx === 0) {\n\t\t\t\t\t_LatLonBoundingBox = layer.EX_GeographicBoundingBox;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tvisible: capabilities?.Capability?.Layer?.Layer?.length > 2 ? idx > 1 : true,\n\t\t\t\t\tAttribution: { Title: '' },\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\t\t...(({ CRS, ..._layer }) => _layer)(layer),\n\t\t\t\t};\n\t\t\t});\n\n\t\t\t// collect queriable Layer3 layers\n\t\t\tcapabilities?.Capability?.Layer?.Layer.forEach((el) => {\n\t\t\t\tconst tmpLayers = el?.Layer?.filter((el) => el.CRS.length).map(\n\t\t\t\t\t(layer: Layer3, idx: number) => {\n\t\t\t\t\t\tif (idx === 0) {\n\t\t\t\t\t\t\t_LatLonBoundingBox = layer.EX_GeographicBoundingBox;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvisible: false,\n\t\t\t\t\t\t\tAttribution: { Title: '' },\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\t\t\t\t...(({ CRS, ..._layer }) => _layer)(layer),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif (tmpLayers) {\n\t\t\t\t\t_layers = [..._layers, ...tmpLayers];\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsetLayers(_layers);\n\n\t\t\t// zoom to extent of first layer\n\t\t\tif (props.zoomToExtent && mapHook?.map && _LatLonBoundingBox.length > 3) {\n\t\t\t\tmapHook?.map.fitBounds([\n\t\t\t\t\t[_LatLonBoundingBox[0], _LatLonBoundingBox[1]],\n\t\t\t\t\t[_LatLonBoundingBox[2], _LatLonBoundingBox[3]],\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}, [capabilities, mapHook.map]);\n\tconst listContent = (\n\t\t<ListItem\n\t\t\tsecondaryAction={\n\t\t\t\t<>\n\t\t\t\t\t{props.buttons}\n\t\t\t\t\t{props.featureInfoEnabled && (\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tpadding: '4px',\n\t\t\t\t\t\t\t\tmarginTop: '-3px',\n\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\tbackground: (theme) => {\n\t\t\t\t\t\t\t\t\tif (!layers?.some((layer) => layer.visible && layer.queryable)) return 'initial';\n\t\t\t\t\t\t\t\t\tif (_featureInfoEventsEnabled) return theme.palette.info.light;\n\t\t\t\t\t\t\t\t\treturn theme.palette.grey[300];\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label=\"featureinfo\"\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tif (typeof props?.setFeatureInfoActive === 'function') {\n\t\t\t\t\t\t\t\t\tprops.setFeatureInfoActive((current: boolean) => !current);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetFeatureInfoEventsEnabled((current: boolean) => !current);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={!layers?.some((layer) => layer.visible && layer.queryable)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<InfoIcon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t)}\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tedge={props.showDeleteButton ? false : 'end'}\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tpadding: '4px',\n\t\t\t\t\t\t\tmarginTop: '-3px',\n\t\t\t\t\t\t\t...(props.showDeleteButton ? { marginRight: '4px' } : {}),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-label=\"open\"\n\t\t\t\t\t\tonClick={() => setOpen((current) => !current)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{open ? <ExpandLessIcon /> : <ExpandMoreIcon />}\n\t\t\t\t\t</IconButton>\n\t\t\t\t\t{props.showDeleteButton && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\taria-label=\"delete\"\n\t\t\t\t\t\t\t\tedge=\"end\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tif (typeof props.onConfigChange === 'function') {\n\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(true);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsx={{ padding: '4px', marginTop: '-3px' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t</IconButton>\n\n\t\t\t\t\t\t\t{showDeletionConfirmationDialog && (\n\t\t\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\t\t\topen={showDeletionConfirmationDialog}\n\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\tif (typeof props.onConfigChange === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tprops.onConfigChange(false);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\ttitle=\"Delete layer\"\n\t\t\t\t\t\t\t\t\ttext=\"Are you sure you want to delete this layer?\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t}\n\t\t\tsx={{\n\t\t\t\tpaddingRight: 0,\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingBottom: '4px',\n\t\t\t}}\n\t\t>\n\t\t\t<ListItemIcon sx={{ minWidth: '30px' }}>\n\t\t\t\t<Checkbox\n\t\t\t\t\tsx={{ padding: 0 }}\n\t\t\t\t\tchecked={visible}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetVisible((val) => !val);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</ListItemIcon>\n\t\t\t<ListItemText primary={name} variant=\"layerlist\" />\n\t\t</ListItem>\n\t);\n\treturn (\n\t\t<>\n\t\t\t{error && (\n\t\t\t\t<Snackbar>\n\t\t\t\t\t<Box>{error}</Box>\n\t\t\t\t</Snackbar>\n\t\t\t)}\n\t\t\t{wmsUrl && (\n\t\t\t\t<>\n\t\t\t\t\t{props.layerId && props.sortable && (\n\t\t\t\t\t\t<SortableContainer layerId={props.layerId}>{listContent}</SortableContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{props.layerId && !props.sortable && (\n\t\t\t\t\t\tlistContent\n\t\t\t\t\t)}\n\t\t\t\t\t<Box sx={{ display: open ? 'block' : 'none' }}>\n\t\t\t\t\t\t<List dense component=\"div\" disablePadding sx={{ paddingLeft: '18px' }}>\n\t\t\t\t\t\t\t{wmsUrl &&\n\t\t\t\t\t\t\t\tlayers?.map?.((layer, idx) => {\n\t\t\t\t\t\t\t\t\treturn layer?.Name ? (\n\t\t\t\t\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.Name + idx}\n\t\t\t\t\t\t\t\t\t\t\tsecondaryAction={<>{layer?.queryable && <InfoIcon />}</>}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<ListItemIcon sx={{ minWidth: '30px' }}>\n\t\t\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={layer.visible}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsx={{ padding: 0 }}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers: Array<LayerType> = [...layers];\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].visible = !_layers[idx].visible;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetLayers([..._layers]);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t\t\t\t<ListItemText primary={layer?.Title} variant=\"layerlist\" />\n\t\t\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<></>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</List>\n\t\t\t\t\t\t{wmsUrl && layers?.length && (\n\t\t\t\t\t\t\t<MlWmsLayer\n\t\t\t\t\t\t\t\tkey={mapHook.componentId}\n\t\t\t\t\t\t\t\turl={wmsUrl}\n\t\t\t\t\t\t\t\tattribution={attribution}\n\t\t\t\t\t\t\t\tvisible={visible}\n\t\t\t\t\t\t\t\turlParameters={{\n\t\t\t\t\t\t\t\t\t...props.wmsUrlParameters,\n\t\t\t\t\t\t\t\t\tlayers: layers\n\t\t\t\t\t\t\t\t\t\t?.filter?.((layer) => layer.visible)\n\t\t\t\t\t\t\t\t\t\t.map((el) => el.Name)\n\t\t\t\t\t\t\t\t\t\t.reverse()\n\t\t\t\t\t\t\t\t\t\t.join(','),\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinsertBeforeLayer={props?.insertBeforeLayer}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\n\t\t\t\t\t{props.featureInfoEnabled && featureInfoLngLat && (\n\t\t\t\t\t\t<MlMarker {...featureInfoLngLat} content={featureInfoContent} />\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</>\n\t);\n};\n//<p key=\"description\" style={{ fontSize: '.7em' }}>\n//\t{capabilities?.Capability?.Layer?.['Abstract']}\n//</p>\n\nMlWmsLoader.defaultProps = {\n\tmapId: undefined,\n\turl: '',\n\turlParameters: {\n\t\tSERVICE: 'WMS',\n\t\tVERSION: '1.3.0',\n\t\tREQUEST: 'GetCapabilities',\n\t},\n\twmsUrlParameters: {\n\t\tTRANSPARENT: 'TRUE',\n\t},\n\tfeatureInfoEnabled: true,\n\tzoomToExtent: false,\n\tshowDeleteButton: false,\n};\n\nexport default MlWmsLoader;\n","import {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\n} from 'maplibre-gl';\n\ninterface paintPickerProps {\n\ttype: 'fill' | 'line' | 'circle' | undefined,\n\ttimeField: string,\n\tcurrentVal: number,\n\tminVal: number,\n\tisPlaying: boolean,\n\tfadeIn: number ,\n\tfadeOut: number,\n\tstep: number,\n\tfeaturesColor: string,\n\taccumulate: boolean,\n\tuserPaint: CircleLayerSpecification['paint']\n\t| FillLayerSpecification['paint']\n\t| LineLayerSpecification['paint'];\n}\n\nexport default function paintPicker(props: paintPickerProps) {\n\tconst circleNoShow = { 'circle-color': 'rgba(0,0,0,0)' };\n\tconst fillNoShow = { 'fill-color': 'rgba(0,0,0,0)', 'fill-outline-color':'rgba(0,0,0,0)' };\n\tconst lineNoShow = {'line-color': 'rgba(0,0,0,0)'}\n\n\n\tconst opacityInterpolate = [\n\t\t'interpolate',\n\t\t['linear'],\n\t\t['get', props.timeField],\n\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t0,\n\t\tprops.currentVal,\n\t\t1,\n\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t0,\n\t];\n\n\tconst accumulatedOpacityInterpolate = [\n\t\t'interpolate',\n\t\t['linear'],\n\t\t['get', props.timeField],\n\t\tprops.currentVal,\n\t\t1,\n\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t0,\n\t];\n\n\tconst defaultFillPaint = {\n\t\t'fill-color': props.featuresColor,\n\t\t'fill-opacity': opacityInterpolate,\n\t\t'fill-outline-color': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t\tprops.currentVal,\n\t\t\t'rgb(0,0,0)',\n\t\t\tprops.currentVal + props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t],\n\t};\n\n\tconst defaultCirclePaint = {\n\t\t'circle-color': props.featuresColor,\n\t\t'circle-radius': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal - props.fadeIn * props.step,\n\t\t\t1,\n\t\t\tprops.currentVal,\n\t\t\t20,\n\t\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t\t1,\n\t\t],\n\t\t'circle-opacity': opacityInterpolate,\n\t};\n\tconst defaultLinePaint = {\n'line-color': props.featuresColor,\n'line-width': 3,\n'line-opacity': opacityInterpolate\n\n\t};\n\n\tconst circleAccumulatePaint = {\n\t\t'circle-color': props.featuresColor,\n\n\t\t'circle-radius': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal,\n\t\t\t20,\n\t\t\tprops.currentVal + props.fadeOut * props.step,\n\t\t\t1,\n\t\t],\n\n\t\t'circle-opacity': accumulatedOpacityInterpolate,\n\t};\n\n\tconst fillAccumulatePaint = {\n\t\t'fill-color': props.featuresColor,\n\t\t'fill-opacity': accumulatedOpacityInterpolate,\n\t\t'fill-outline-color': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\tprops.currentVal,\n\t\t\t'rgb(0,0,0)',\n\t\t\tprops.currentVal + props.fadeIn * props.step,\n\t\t\t'rgba(255, 0, 0, 0)',\n\t\t],\n\t};\n\n\tconst lineAccumulatePaint = {\n\t\t'line-color': props.featuresColor,\n\t\t'line-width': 3,\n\t\t'line-opacity': accumulatedOpacityInterpolate\n\t};\n\n\tif (props.userPaint !== undefined) {\n\t\treturn props.userPaint;\n\t} else {\n\t\tswitch (props.type) {\n\t\t\tcase 'circle':\n\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\treturn circleNoShow;\n\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\treturn circleAccumulatePaint;\n\t\t\t\t} else {\n\t\t\t\t\treturn defaultCirclePaint;\n\t\t\t\t}\n\t\t\t\t\n\t\t\tcase 'fill':\n\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\treturn fillNoShow;\n\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\treturn fillAccumulatePaint;\n\t\t\t\t} else {\n\t\t\t\t\treturn defaultFillPaint;\n\t\t\t\t}\n\n\t\t\t\tcase 'line':\n\t\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\t\treturn lineNoShow;\n\t\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\t\treturn lineAccumulatePaint;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn defaultLinePaint;\n\t\t\t\t\t}\n\t\t\t\tcase undefined:\n\t\t\t\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\t\t\t\treturn circleNoShow;\n\t\t\t\t\t} else if (props.accumulate ) {\n\t\t\t\t\t\treturn circleAccumulatePaint;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn defaultCirclePaint;\n\t\t\t\t\t}\n\t\t}\n\t}\n}\n","import React from 'react';\n\nimport MlLayer from '../../MlLayer/MlLayer';\nimport {\n\tSymbolLayerSpecification,\n\tSymbolLayoutProps,\n} from 'maplibre-gl';\nimport { FeatureCollection } from 'geojson';\nimport { useLayerProps } from '../../../hooks/useLayer';\n\n\ninterface MlTemporalControllerLabelsProps {\n\tdata: FeatureCollection;\n\tcurrentVal: number;\n\tfadeIn: number;\n\tfadeOut: number;\n\tstep: number;\n\tlabelField: string;\n\tlabelColor: string;\n\ttimeField: string;\n\tminVal: number;\n\taccumulate: boolean;\n\tisPlaying: boolean;\n\tlabelLayout?: SymbolLayoutProps;\n\tlabelPaint?: SymbolLayerSpecification;\n\t}\n\nexport default function MlTemporalControllerLabels(props: MlTemporalControllerLabelsProps) {\n\nconst fadeInSteps = props.currentVal - props.fadeIn * props.step;\nconst fadeOutSteps = props.currentVal + props.fadeIn * props.step;\n\nconst noShow: SymbolLayerSpecification[\"paint\"] = { 'text-color': 'rgba(0,0,0,0)' };\nconst defaultPaint: SymbolLayerSpecification[\"paint\"] = {\n\t\t'text-color': props.labelColor,\n\t\t'text-opacity': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\t\n\t\t\tfadeInSteps,\n\t\t\t0,\n\t\t\tprops.currentVal,\n\t\t\t1,\n\t\t\tfadeOutSteps,\n\t\t\t0,\n\t\t\n\t\t]\t \n\t}; \n\n\tconst accumulatePaint: SymbolLayerSpecification[\"paint\"] = {\n\t\t'text-color': props.labelColor,\n\t\t'text-opacity': [\n\t\t\t'interpolate',\n\t\t\t['linear'],\n\t\t\t['get', props.timeField],\n\t\t\t\n\t\t\tprops.currentVal,\n\t\t\t1,\n\t\t\tfadeOutSteps,\n\t\t\t0,\n\t\t]\t\n\t}\n\n\tconst currentPaint = ()=>{\n\t\tif (props.currentVal === props.minVal && !props.isPlaying) {\n\t\t\treturn noShow;\n\t\t}\n\t\tif (props.accumulate) {\n\t\t\treturn accumulatePaint;\n\t\t} else {\n\t\t\treturn defaultPaint;\n\t\t}\n\t}\n\n\t\n\tconst defaultLayout: SymbolLayerSpecification[\"layout\"] = {\n\t\t'text-field': ['get', props.labelField],\n\t\t'text-font': ['Metropolis Regular'],\n\t}\n\n\n\treturn (\n\t\t<MlLayer\n\t\t\toptions={{\n\t\t\t\ttype: 'symbol',\n\t\t\t\tlayout: props.labelLayout || defaultLayout,\n\t\t\t\tpaint: props.labelPaint || currentPaint(),\n\t\t\t} as useLayerProps['options']}\n\t\t\tgeojson={props.data}\n\t\t\tlayerId={'timeControllerLabels'}\n\t\t/>\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport PlayArrowIcon from '@mui/icons-material/PlayArrow';\nimport PauseIcon from '@mui/icons-material/Pause';\nimport StopIcon from '@mui/icons-material/Stop';\nimport FastForwardIcon from '@mui/icons-material/FastForward';\nimport FastRewindIcon from '@mui/icons-material/FastRewind';\nimport { Button, Drawer, Grid, Slider, Theme, Typography, useMediaQuery } from '@mui/material';\n\nexport interface TemporalControllerPlayerProps {\n\tcurrentVal: number;\n\tisPlaying: boolean;\n\tstep: number;\n\tinterval: number;\n\tminVal: number;\n\tmaxVal: number;\n\treturnCurrent: React.Dispatch<React.SetStateAction<number>>;\n\treturnPlaying: React.Dispatch<React.SetStateAction<boolean>>;\n\tfadeIn: number;\n\topen: boolean;\n\tfadeOut: number;\n\tfeaturesColor: string;\n\tlabels: boolean;\n\tlabelColor: string;\n\tlabelFadeIn: number;\n\tlabelFadeOut: number;\n\taccumulate: boolean;\n\tdisplay: boolean;\n}\n\nconst bigScreenBoxStyle = {\n\tmarginLeft: '15%',\n\tmarginBottom: '3%',\n\twidth: '70%',\n\theight: '90px',\n\talignItems: 'center',\n};\n\nconst mobileScreenBoxStyle = {\n\ttop: '10%',\n\t//width: '100%',\n\theight: '100px',\n\talignItems: 'center',\n};\n\nexport default function TemporalControllerPlayer(props: TemporalControllerPlayerProps) {\n\tconst [currentVal, setCurrentVal] = useState(props.currentVal);\n\tconst [isPlaying, setIsPlaying] = useState(props.isPlaying);\n\tconst range = props.maxVal - props.minVal;\n\tconst intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\n\tconst mediaIsMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'));\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (intervalRef.current) {\n\t\t\t\tclearInterval(intervalRef.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tprops.returnCurrent(currentVal);\n\t\tprops.returnPlaying(isPlaying);\n\t}, [currentVal, isPlaying]);\n\n\tconst play = React.useCallback(() => {\n\t\tlet counter = currentVal - props.minVal;\n\t\tif (intervalRef.current) {\n\t\t\tclearInterval(intervalRef.current);\n\t\t}\n\n\t\tintervalRef.current = setInterval(function() {\n\t\t\tif (counter >= range) {\n\t\t\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\t\t\tsetIsPlaying(false);\n\t\t\t} else {\n\t\t\t\tsetCurrentVal((val) => val + props.step);\n\t\t\t}\n\t\t\tcounter = counter + props.step;\n\t\t}, props.interval);\n\t}, [props.step, props.maxVal, currentVal]);\n\n\t// Player buttons\n\n\tconst handlePlayPause = () => {\n\t\tif (!isPlaying) {\n\t\t\tsetIsPlaying(true);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetIsPlaying(false);\n\t\t\tif (isPlaying) {\n\t\t\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleStop = () => {\n\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\tsetCurrentVal(props.minVal);\n\t\tsetIsPlaying(false);\n\t};\n\n\tconst handleFastRewind = () => {\n\t\tif (isPlaying) {\n\t\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\t\tsetCurrentVal(currentVal - range / 10);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetCurrentVal(currentVal - range / 10);\n\t\t}\n\t};\n\tconst handleFastForward = () => {\n\t\tif (isPlaying) {\n\t\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\t\tsetCurrentVal(currentVal + range / 10);\n\t\t\tplay();\n\t\t} else {\n\t\t\tsetCurrentVal(currentVal + range / 10);\n\t\t}\n\t};\n\n\t//Slider\n\n\tconst handleChange = (e: Event, newValue: number | number[]) => {\n\t\tif (!isPlaying) {\n\t\t\tsetCurrentVal(newValue as number);\n\t\t} else {\n\t\t\tif (e) {\n\t\t\t\tif (intervalRef.current) clearInterval(intervalRef.current);\n\t\t\t\tsetCurrentVal(newValue as number);\n\t\t\t\tplay();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t<Drawer\n\t\t\tanchor=\"bottom\"\n\t\t\topen={props.open || true}\n\t\t\tvariant=\"persistent\"\n\t\t\tsx={{\n\t\t\t\tflexShrink: 0,\n\t\t\t\t'& .MuiDrawer-paper': mediaIsMobile ? mobileScreenBoxStyle : bigScreenBoxStyle,\n\t\t\t}}\n\t\t>\n\t\t\t<Grid container alignItems=\"center\" justifyContent=\"space-between\">\n\t\t\t\t{/* Buttons - Centered */}\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t{/*@ts-expect-error*/}\n\t\t\t\t<Grid item xs={12} sm={10} textAlign=\"center\">\n\t\t\t\t\t<Button onClick={handleFastRewind}>\n\t\t\t\t\t\t<FastRewindIcon />\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button onClick={handleStop}>\n\t\t\t\t\t\t<StopIcon />\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button onClick={handlePlayPause}>\n\t\t\t\t\t\t{isPlaying ? <PauseIcon /> : <PlayArrowIcon />}\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button onClick={handleFastForward}>\n\t\t\t\t\t\t<FastForwardIcon />\n\t\t\t\t\t</Button>\n\t\t\t\t</Grid>\n\t\t\t\t{props.display && !mediaIsMobile && (\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t<Grid item xs={12} sm={5} textAlign=\"right\">\n\t\t\t\t<Typography variant={'h5'} sx={{ paddingRight: '25px' }}>\n\t\t\t\t\t{Math.floor(currentVal)}\n\t\t\t\t</Typography>\n\t\t\t</Grid>\n\t\t\t)}\n\t\t</Grid>\n\n\t\t<Slider\n\t\t\tsx={{\n\t\t\t\tposition: 'flex',\n\t\t\t\twidth: '95%',\n\t\t\t\tpaddingTop: '10px',\n\t\t\t\talignSelf: 'center',\n\t\t\t}}\n\t\t\taria-label=\"Custom marks\"\n\t\t\tdefaultValue={props.minVal}\n\t\t\tvalue={currentVal}\n\t\t\tstep={props.step}\n\t\t\tonChange={handleChange}\n\t\t\tmin={props.minVal}\n\t\t\tmax={props.maxVal}\n\t\t/>\n\t\t{mediaIsMobile && props.display && (\n\t\t\t<Typography variant={'body1'} textAlign={'right'}>\n\t\t\t\t{Math.floor(currentVal)}\n\t\t\t</Typography>\n\t\t)}\n\t\t</Drawer>\n</>\n)\n\t;\n}\n","import { featureCollection } from '@turf/turf';\nimport { FeatureCollection } from 'geojson';\nimport { useMemo } from 'react';\nimport useMap from '../../../hooks/useMap';\n\nexport interface useTemporalControllerProps {\n\tgeojson: FeatureCollection;\n\ttimeField: string;\n\tinitialVal?: number;\n\tminVal?: number;\n\tmaxVal?: number;\n\tmapId: string | undefined;\n\t}\n\nfunction getMinVal(geojson: FeatureCollection | undefined, timeField: string) {\n\tif (geojson?.features) {\n\t\tconst tempFeatures = [...(geojson.features ? geojson.features : [])];\n\t\ttempFeatures.sort((a, b) => (a.properties?.[timeField] < b.properties?.[timeField] ? 1 : -1));\n\t\treturn tempFeatures[tempFeatures.length - 1]?.properties?.[timeField] || 0;\n\t}\n\treturn 0;\n}\n\nfunction getMaxVal(geojson: FeatureCollection | undefined, timeField: string) {\n\tif (geojson?.features) {\n\t\tconst tempFeatures = [...(geojson?.features ? geojson.features : [])];\n\t\ttempFeatures.sort((a, b) => (a.properties?.[timeField] < b.properties?.[timeField] ? -1 : 1));\n\t\treturn tempFeatures[tempFeatures.length - 1]?.properties?.[timeField] || 0;\n\t}\n\treturn 0;\n}\n\nexport default function useFilterData(props: useTemporalControllerProps) {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t});\n\n const minVal = useMemo(() => {\n\t\tif (props.minVal) {\n\t\t\treturn props.minVal;\n\t\t} \n\t\tif (minVal === undefined){\n\t\t\treturn getMinVal(props.geojson, props.timeField);\n\t\t}\n\t\t\n\t}, [props.minVal, props.geojson, props.timeField]);\n\n\tconst maxVal = useMemo(() => {\n\t\tif (props.maxVal) {\n\t\t\treturn props.maxVal;\n\t\t}\n\t\tif (maxVal === undefined){\n\t\treturn getMaxVal(props.geojson, props.timeField);\n\t\t}\n\t}, [props.maxVal, props.geojson, props.timeField]);\n\n\n\n\t\n\t// filter geojson\n\tconst filteredData = useMemo<FeatureCollection | undefined>(() => {\n\t\tif (props.geojson !== undefined && mapHook.map && minVal && maxVal) {\n\t\t\treturn featureCollection(\n\t\t\t\tprops.geojson.features.filter((e) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\te.properties?.[props.timeField] >= minVal &&\n\t\t\t\t\t\te.properties?.[props.timeField] <= maxVal\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t\treturn;\n\t}, [props.geojson, mapHook.map, props.timeField]);\n\n\n return {filteredData, minVal, maxVal }\n}\n","import React, { useEffect, useState } from 'react';\nimport useMap from '../../hooks/useMap';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport { bbox } from '@turf/turf';\nimport { FeatureCollection } from 'geojson';\nimport {\n\tLineLayerSpecification,\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tSymbolLayoutProps,\n\tSymbolPaintProps,\n\tLngLatBoundsLike,\n\tMapEventType,\n} from 'maplibre-gl';\nimport usePaintPicker from './utils/paintPicker';\nimport MlTemporalControllerLabels from './utils/MlTemporalControllerLabels';\nimport TemporalControllerPlayer from './utils/TemporalControllerPlayer';\nimport useFilterData from './utils/useFilterData';\nimport { useTheme } from '@mui/material/styles';\nimport { useLayerProps } from 'src/hooks/useLayer';\n\nexport interface MlTemporalControllerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order.\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * GeoJSON data that is supposed to be rendered by this component.\n\t */\n\tgeojson: FeatureCollection;\n\t/**\n\t * If true,the component creates and loads a MlGeoJsonLayer to show the data.\n\t */\n\townLayer?: boolean;\n\t/**\n\t * MapLibre attribution shown in the bottom right of the map, if this layer is visible\n\t */\n\tattribution?: string;\n\t/**\n\t * Type of the layer that will be added to the MapLibre instance.\n\t * Possible values: \"line\", \"circle\", \"fill\"\n\t */\n\ttype?: 'fill' | 'line' | 'circle';\n\t/**\n\t * Property field where the time informations is available.\n\t */\n\ttimeField: string;\n\t/**\n\t * Lowest time value to be shown in the time line.\n\t * By default, it is set to the lowest value in the time field.\n\t */\n\tminVal?: number;\n\t/**\n\t *When true, a label layer will be added by the component. In that case, the \"labelField\" propertie is mandatory.\n\t */\n\tlabel?: boolean;\n\t/**\n\t * Property field where the label information is available.\n\t */\n\tlabelField?: string;\n\t/**\n\t * Highest time value to be shown in the time line.\n\t * By default, it is set to the highest value in the time field.\n\t */\n\tmaxVal?: number;\n\t/**\n\t * the value at which the component is to be loaded.\n\t * If not specified, the component starts at the minimum value.\n\t */\n\tinitialVal?: number;\n\t/**\n\t * When true, the features will be accumulated in the map.\n\t * This option ist by default false.\n\t */\n\taccumulate?: boolean;\n\t/**\n\t * When true, the component will fit the map bounds to the shown features.\n\t * This option ist by default true.\n\t */\n\tfitBounds?: boolean;\n\t/**\n\t * Boolean value that disables and enables the controls drawer.\n\t */\n\tshowControls?: boolean;\n\t/**\n\t * Paint property object for the features layer.\n\t * Possible props depend on the layer type.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill\n\t */\n\tpaint?:\n\t\t| CircleLayerSpecification['paint']\n\t\t| FillLayerSpecification['paint']\n\t\t| LineLayerSpecification['paint'];\n\t/**\n\t * Sets the color of the features rendered by this component.\n\t */\n\tfeaturesColor?: string;\n\t/**\n\t * How many units the timeline runs through at each step.\n\t * By default it is set to 1.\n\t */\n\tstep?: number;\n\t/**\n\t * The time between each addition to the counter, expressed in milliseconds. \n\t * By default, 200 ms.\n\t */\n interval?: number;\n\t/**\n\t * A numeric value that sets how many steps before the feature starts to appear.\n\t * By default it is set to 5 steps.\n\t */\n\tfadeIn?: number;\n\t/**\n\t * A numeric value that sets how many steps the feature fades out after it proper time value.\n\t * By default it is set to 5 steps.\n\t */\n\tfadeOut?: number;\n\t/**\n\t * Sets the color of the features rendered by this component.\n\t */\n\tlabelColor?: string;\n\t/**\n\t * Layout property object, that is passed to the labels layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#symbol\n\t */\n\tlabelLayout?: SymbolLayoutProps;\n\t// | SymbolLayoutArray;\n\n\t/**\n\t * Paint property object for the features layer.\n\t * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#symbol\n\t */\n\tlabelPaint?: SymbolPaintProps;\n\t/**\n\t * Hover event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\t/**\n\t * A numeric value that sets how many steps before the labels start to appear.\n\t * By default it is set to 5 steps.\n\t */\n\tlabelFadeIn?: number;\n\t/**\n\t * A numeric value that sets how many steps the labels fade out after their proper time value.\n\t * By default it is set to 5 steps.\n\t */\n\tlabelFadeOut?: number;\n\t/**\n\t * If true, the current time value will be displayed in the controlls panel.\n\t */\n\tdisplayCurrentValue?: boolean;\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is clicked.\n\t */\n\tonClick?: useLayerProps['onClick'];\n\t/**\n\t * Click event handler that is executed whenever a geometry rendered by this component is hovered.\n\t */\n\tonHover?: useLayerProps['onHover'];\n\t/**\n\t * Leave event handler that is executed whenever a geometry rendered by this component is\n\t * left/unhovered.\n\t */\n\tonLeave?: useLayerProps['onLeave'];\n\t/**\n\t * Callback function defined by the user to recive the current time value and paint property in the parent component.\n\t */\n\tonStateChange?: React.Dispatch<React.SetStateAction<TemporalControllerValues | undefined>>;\n}\n\n/**\n * Select a GeoJSON object to be displayed in a temporal line.\n *@component\n */\n\nexport interface TemporalControllerValues {\n\tcurrent: number;\n\tpaint:\n\t\t| CircleLayerSpecification['paint']\n\t\t| FillLayerSpecification['paint']\n\t\t| LineLayerSpecification['paint'];\n}\n\nconst MlTemporalController = (props: MlTemporalControllerProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst labelField = props.labelField || props.geojson?.features[0]?.properties?.[0] || '';\n\n\tconst { filteredData, minVal, maxVal } = useFilterData({\n\t\tgeojson: props.geojson,\n\t\ttimeField: props.timeField,\n\t\tminVal: props.minVal,\n\t\tmaxVal: props.maxVal,\n\t\tinitialVal: props.initialVal,\n\t\tmapId: props.mapId,\n\t});\n\tconst theme = useTheme();\n\tconst [currentVal, setCurrentVal] = useState<number>(props.initialVal || minVal);\n\tconst featuresColor = props.featuresColor || theme.palette.primary.main;\n\tconst labelColor = props.labelColor || theme.palette.text.primary;\n\tconst [isPlaying, setIsPlaying] = useState(false);\n\n\tconst paint = usePaintPicker({\n\t\ttype: props.type,\n\t\ttimeField: props.timeField,\n\t\tcurrentVal: currentVal,\n\t\tminVal: minVal,\n\t\tisPlaying: isPlaying,\n\t\tfadeIn: props.fadeIn as number,\n\t\tfadeOut: props.fadeOut as number,\n\t\tstep: props.step as number,\n\t\tfeaturesColor: featuresColor,\n\t\taccumulate: props.accumulate as boolean,\n\t\tuserPaint: props.paint,\n\t});\n\n\t//Set Initial values and clear references\n\tuseEffect(() => {\n\t\tif (!props.initialVal && minVal) {\n\t\t\tsetCurrentVal(minVal);\n\t\t} else if (props.initialVal) {\n\t\t\tsetCurrentVal(props.initialVal);\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (typeof props.onStateChange === 'function') {\n\t\t\tprops.onStateChange({\n\t\t\t\tcurrent: currentVal,\n\t\t\t\tpaint: paint as CircleLayerSpecification['paint'] | FillLayerSpecification['paint'] | LineLayerSpecification['paint'],\n\t\t\t});\n\t\t}\n\t}, [props.onStateChange]);\n\n\t// Fit map to bbox\n\tuseEffect(() => {\n\t\tif (props.fitBounds && typeof filteredData !== 'undefined') {\n\t\t\tconst geojsonBbox = bbox(filteredData);\n\t\t\tmapHook.map?.map.fitBounds(geojsonBbox as LngLatBoundsLike);\n\t\t}\n\t}, [filteredData]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tlet _onClick: ((ev: MapEventType) => void) | undefined,\n\t\t\t_onHover: ((ev: MapEventType) => void) | undefined,\n\t\t\t_onLeave: ((ev: MapEventType) => void) | undefined;\n\t\tif (props.onClick) {\n\t\t\t_onClick = props.onClick;\n\t\t\tmapHook.map?.on('click', 'timeController', _onClick);\n\t\t}\n\t\tif (props.onHover) {\n\t\t\t_onHover = props.onHover;\n\t\t\tmapHook.map?.on('mouseenter', 'timeController', _onHover);\n\t\t}\n\t\tif (props.onLeave) {\n\t\t\t_onLeave = props.onLeave;\n\t\t\tmapHook.map?.on('mouseleave', 'timeController', _onLeave);\n\t\t}\n\t\treturn () => {\n\t\t\tif (_onClick) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('click', 'timeController', _onClick);\n\t\t\t}\n\t\t\tif (_onHover) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('mouseenter', 'timeController', _onHover);\n\t\t\t}\n\t\t\tif (_onLeave) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t// @ts-ignore ignore supposedly incompatible function definition\n\t\t\t\tmapHook.map?.off('mouseleave', 'timeController', _onLeave);\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.onClick, props.onHover, props.onLeave]);\n\n\treturn (\n\t\t<>\n\t\t\t{filteredData && props.ownLayer && (\n\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\ttype={props.type}\n\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t//layerId=\"timeController\"\n\t\t\t\t\t//insertBeforeLayer={props.insertBeforeLayer || 'timeControllerLabels'}\n\t\t\t\t\tpaint={\n\t\t\t\t\t\tprops.paint ||\n\t\t\t\t\t\t(paint as\n\t\t\t\t\t\t\t| CircleLayerSpecification['paint']\n\t\t\t\t\t\t\t| FillLayerSpecification['paint']\n\t\t\t\t\t\t\t| LineLayerSpecification['paint'])\n\t\t\t\t\t}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\t\t\tattribution: props.attribution as string,\n\t\t\t\t\t\t\tdata: filteredData\n\t\t\t\t\t\t} as useLayerProps['options']['source'],\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{filteredData && props.label && (\n\t\t\t\t<MlTemporalControllerLabels\n\t\t\t\t\tdata={(filteredData as FeatureCollection)}\n\t\t\t\t\tcurrentVal={currentVal}\n\t\t\t\t\tfadeIn={props.labelFadeIn as number}\n\t\t\t\t\tfadeOut={props.labelFadeOut as number}\n\t\t\t\t\tstep={props.step as number}\n\t\t\t\t\tlabelField={labelField}\n\t\t\t\t\tlabelColor={labelColor}\n\t\t\t\t\ttimeField={props.timeField}\n\t\t\t\t\tminVal={minVal}\n\t\t\t\t\taccumulate={props.accumulate as boolean}\n\t\t\t\t\tisPlaying={isPlaying}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<TemporalControllerPlayer\n\t\t\t\tcurrentVal={currentVal}\n\t\t\t\tisPlaying={isPlaying}\n\t\t\t\tstep={props.step as number}\n\t\t\t\tinterval={props.interval as number}\n\t\t\t\tminVal={minVal}\n\t\t\t\tmaxVal={maxVal}\n\t\t\t\treturnCurrent={setCurrentVal}\n\t\t\t\treturnPlaying={setIsPlaying}\n\t\t\t\topen={false}\n\t\t\t\tfadeIn={props.fadeIn as number}\n\t\t\t\tfadeOut={props.fadeOut as number}\n\t\t\t\tfeaturesColor={featuresColor}\n\t\t\t\tlabels={props.label as boolean}\n\t\t\t\tlabelColor={labelColor}\n\t\t\t\tlabelFadeIn={props.labelFadeIn as number}\n\t\t\t\tlabelFadeOut={props.labelFadeOut as number}\n\t\t\t\taccumulate={props.accumulate as boolean}\n\t\t\t\tdisplay={(props.displayCurrentValue as boolean)}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nMlTemporalController.defaultProps = {\n\tmapId: undefined,\n\townLayer: true,\n\ttype: 'circle',\n\tstep: 1,\n\tinterval: 200,\n\tfadeIn: 5,\n\tfadeOut: 5,\n\tlabelFadeIn: 5,\n\tlabelFadeOut: 5,\n\taccumulate: false,\n\tfitBounds: true,\n\tlabel: true,\n\tattribution: '',\n\tdisplayCurrentValue: false\n};\n\nexport default MlTemporalController;\n","import React from 'react';\nimport MlLayer from '../MlLayer/MlLayer';\nimport { useLayerProps } from '../../hooks/useLayer';\n\nexport interface MlOrderLayersProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\tlayerIds: string[];\n\tinsertBeforeLayer?: string;\n}\n\n/**\n * Creates an invisible layer for each entry in props.layerIds with the id `order-{entry}` and a reliable order\n *\n */\nconst MlOrderLayers = (props: MlOrderLayersProps) => {\n\treturn (\n\t\t<>\n\t\t\t{props?.layerIds?.map((layer, idx) => (\n\t\t\t\t<MlLayer\n\t\t\t\t\tlayerId={layer}\n\t\t\t\t\toptions={{\n\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t} as useLayerProps['options']}\n\t\t\t\t\tkey={layer}\n\t\t\t\t\t{...(idx > 0\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tinsertBeforeLayer: props?.layerIds?.[idx - 1],\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: { insertBeforeLayer: props.insertBeforeLayer })}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</>\n\t);\n};\n\nMlOrderLayers.defaultProps = {\n\tmapId: undefined,\n\tinsertBeforeLayer: undefined,\n};\nexport default MlOrderLayers;\n","import React, { useEffect } from 'react';\nimport useMap from '../../hooks/useMap';\nimport { TerrainSpecification } from 'maplibre-gl';\n\ninterface MlTerrainLayerProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Source of tiles with possibles options\n\t */\n\tsourceOptions?: object;\n\t/**\n\t * Options for new exaggeration value\n\t */\n\tterrainOptions?: TerrainSpecification;\n}\n\nexport type { MlTerrainLayerProps };\n\n/**\n * Create Terrain Layer Component\n *\n */\nconst MlTerrainLayer = (props: MlTerrainLayerProps) => {\n\tconst mapHook = useMap({ mapId: 'map_1' });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\n\t\tif (!mapHook.map.map.getSource('terrain')) {\n\t\t\tmapHook.map.map.addSource('terrain', {\n\t\t\t\ttype: 'raster-dem',\n\t\t\t\tencoding: 'mapbox',\n\t\t\t\tmaxzoom: 12,\n\t\t\t\tminzoom: 4,\n\t\t\t\t...props.sourceOptions,\n\t\t\t});\n\t\t}\n\t\tmapHook.map.map.setTerrain({\n\t\t\tsource: 'terrain',\n\t\t\texaggeration: 1,\n\t\t\t...props.terrainOptions,\n\t\t});\n\n\t\tmapHook.map.addLayer({\n\t\t\tid: 'hills',\n\t\t\ttype: 'hillshade',\n\t\t\tsource: 'terrain',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'hillshade-shadow-color': 'rgba(71,59,36,0.4)' },\n\t\t});\n\n\t\treturn () => {\n\t\t\tmapHook.map?.map.setTerrain(null as unknown as TerrainSpecification);\n\t\t\tif (mapHook.map?.map.getSource('terrain')) {\n\t\t\t\tmapHook.map.map.removeLayer('hills');\n\t\t\t\tmapHook.map.map.removeSource('terrain');\n\t\t\t}\n\t\t};\n\t}, [mapHook.map, props.sourceOptions, props.terrainOptions]);\n\n\treturn <></>;\n};\n\nMlTerrainLayer.defaultProps = {\n\tmapId: undefined,\n};\nexport default MlTerrainLayer;\n","import React, { useEffect, useState } from 'react';\nimport PentagonIcon from '@mui/icons-material/Pentagon';\nimport { Box } from '@mui/system';\nimport MlFeatureEditor from '../MlFeatureEditor/MlFeatureEditor';\nimport List from '@mui/material/List';\nimport EditIcon from '@mui/icons-material/Edit';\nimport MlGeoJsonLayer from '../MlGeoJsonLayer/MlGeoJsonLayer';\nimport useMap from '../../hooks/useMap';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport * as turf from '@turf/turf';\nimport ButtonGroup from '@mui/material/ButtonGroup';\nimport Tooltip from '@mui/material/Tooltip';\nimport LayerListItem from '../../ui_components/LayerList/LayerListItem';\nimport GpsFixedIcon from '@mui/icons-material/GpsFixed';\nimport { Feature } from 'geojson';\nimport { LngLatLike } from 'maplibre-gl';\nimport { SxProps } from '@mui/system/styleFunctionSx/styleFunctionSx';\nimport { Button, Checkbox, FormControlLabel, FormGroup, Theme, Typography } from '@mui/material';\nimport ScatterPlotIcon from '@mui/icons-material/ScatterPlot';\nimport PolylineIcon from '@mui/icons-material/Polyline';\n\nconst sketchTools = [\n\t{ name: 'Point', mode: 'draw_point', icon: <ScatterPlotIcon /> },\n\t{ name: 'LineString', mode: 'draw_line_string', icon: <PolylineIcon /> },\n\t{ name: 'Polygon', mode: 'draw_polygon', icon: <PentagonIcon /> },\n];\n\nexport interface MlSketchToolProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/**\n\t * Style attribute for the button-style\n\t * https://mui.com/system/getting-started/the-sx-prop/\n\t */\n\tbuttonStyleOverride?: SxProps;\n\t/**\n\t * Callback function that is called each time GeoJson data has changed within MlSketchTool.\n\t * First parameter contains all geometries in the `geometries` prop.\n\t */\n\tonChange?: (para: SketchStateType) => void;\n\t/**\n\t * Determines whether the instruction text should be shown.\n\t */\n\tshowInstruction?: boolean;\n\t/**\n\t * Callback function triggered when the \"Show instructions\" checkbox is toggled.\n\t */\n\tonShowInstructionChange?: (value: boolean) => void;\n}\n\ntype SketchStateType = {\n\tselectedGeoJson?: Feature;\n\tactiveGeometryIndex?: number;\n\tgeometries: Feature[];\n\tdrawMode?: keyof MapboxDraw.Modes;\n};\n\n/**\n * Component template\n *\n */\n\nconst MlSketchTool = (props: MlSketchToolProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\tconst [hoveredGeometry, setHoveredGeometry] = useState<Feature>();\n\tconst [sketchState, setSketchState] = useState<SketchStateType>({\n\t\tactiveGeometryIndex: undefined,\n\t\tselectedGeoJson: undefined,\n\t\tgeometries: [],\n\t\tdrawMode: undefined,\n\t});\n\n\tconsole.log(sketchState);\n\n\tuseEffect(() => {\n\t\tif (!(typeof props.onChange === 'function')) return;\n\n\t\tprops.onChange(sketchState);\n\t}, [sketchState, props.onChange]);\n\n\tconst buttonStyle = {\n\t\t...props.buttonStyleOverride,\n\t};\n\n\t// const buttonClickHandler = (buttonDrawMode: keyof MapboxDraw.Modes) => {\n\t// \tsetSketchState((_state) => ({\n\t// \t\tdrawMode: _state.drawMode !== buttonDrawMode ? buttonDrawMode : undefined,\n\t// \t\tgeometries: _state.geometries,\n\t// \t\tactiveGeometryIndex: undefined,\n\t// \t\tselectedGeoJson: undefined,\n\t// \t}));\n\t// };\n\tconst buttonClickHandler = (buttonDrawMode: keyof MapboxDraw.Modes) => {\n\t\tlet modeRef: string | undefined = undefined;\n\t\tsetSketchState((prevState) => {\n\t\t\tmodeRef = prevState.drawMode;\n\t\t\treturn {\n\t\t\t\t...prevState,\n\t\t\t\tdrawMode: undefined,\n\t\t\t\tactiveGeometryIndex: undefined,\n\t\t\t\tselectedGeoJson: undefined,\n\t\t\t};\n\t\t});\n\n\t\trequestAnimationFrame(() => {\n\t\t\tsetSketchState((prevState) => {\n\t\t\t\tif (\n\t\t\t\t\t(modeRef === 'draw_polygon' || modeRef === 'draw_line_string') &&\n\t\t\t\t\tbuttonDrawMode === 'draw_point'\n\t\t\t\t) {\n\t\t\t\t\treturn { ...prevState, drawMode: undefined };\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\t...prevState,\n\t\t\t\t\tdrawMode: buttonDrawMode,\n\t\t\t\t};\n\t\t\t});\n\t\t});\n\t};\n\n\tconst removeGeoJson = (geoJson: Feature): void => {\n\t\tsetSketchState((_sketchState) => {\n\t\t\tconst _geometries = [..._sketchState.geometries];\n\t\t\t_geometries.splice(_geometries.indexOf(geoJson), 1);\n\n\t\t\treturn {\n\t\t\t\t..._sketchState,\n\t\t\t\tdrawMode: undefined,\n\t\t\t\tgeometries: _geometries,\n\t\t\t\tactiveGeometryIndex: _sketchState.activeGeometryIndex\n\t\t\t\t\t? _sketchState.activeGeometryIndex - 1\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t});\n\t};\n\n\tconst handleCheckboxChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n\t\tprops.onShowInstructionChange?.(event.target.checked);\n\t};\n\n\tconst SketchToolButtons = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{sketchTools.map((el) => {\n\t\t\t\t\tconst stateColor = (theme: Theme) => {\n\t\t\t\t\t\tif (sketchState.drawMode === el.mode) {\n\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tconst stateIconColor = (theme: Theme) => {\n\t\t\t\t\t\tif (sketchState.drawMode !== el.mode) {\n\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Tooltip title={el.name}>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={el.name}\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tcolor: stateIconColor,\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: stateColor,\n\n\t\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: stateColor,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t...buttonStyle,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClick={() => buttonClickHandler(el.mode as keyof MapboxDraw.Modes)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{el.icon}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Box\n\t\t\t\tsx={{\n\t\t\t\t\tzIndex: 104,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<SketchToolButtons />\n\t\t\t\t</ButtonGroup>\n\t\t\t</Box>\n\n\t\t\t<Box sx={{ marginTop: '10px' }}>\n\t\t\t\t<FormGroup>\n\t\t\t\t\t<FormControlLabel\n\t\t\t\t\t\tcontrol={\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tchecked={props.showInstruction}\n\t\t\t\t\t\t\t\tonChange={handleCheckboxChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel=\"Show instructions\"\n\t\t\t\t\t/>\n\t\t\t\t</FormGroup>\n\t\t\t</Box>\n\n\t\t\t{sketchState.drawMode && (\n\t\t\t\t<MlFeatureEditor\n\t\t\t\t\tmode={sketchState.drawMode}\n\t\t\t\t\tgeojson={sketchState.selectedGeoJson}\n\t\t\t\t\tonChange={(feature: Feature[]) => {\n\t\t\t\t\t\tconsole.log(feature);\n\t\t\t\t\t\tif (!feature?.[0]) return;\n\n\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\tconst _geometries = [...sketchState.geometries];\n\t\t\t\t\t\t\tif (typeof _sketchState.activeGeometryIndex === 'undefined') {\n\t\t\t\t\t\t\t\tconst tempFeature = feature[0];\n\t\t\t\t\t\t\t\tif (tempFeature && tempFeature.properties) {\n\t\t\t\t\t\t\t\t\ttempFeature.properties.id = tempFeature.id;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconsole.error('tempFeature or tempFeature.properties is null or undefined');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t_sketchState.activeGeometryIndex = _geometries.length;\n\t\t\t\t\t\t\t\t_geometries.push(tempFeature);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t_geometries[_sketchState.activeGeometryIndex] = feature[0];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Check if the geometry type is point and if the coordinates have changed to exit draw mode after editing\n\t\t\t\t\t\t\tconst changedPoint = () => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t_sketchState.selectedGeoJson &&\n\t\t\t\t\t\t\t\t\ttypeof _sketchState.activeGeometryIndex !== 'undefined' &&\n\t\t\t\t\t\t\t\t\t_sketchState.geometries[_sketchState.activeGeometryIndex] &&\n\t\t\t\t\t\t\t\t\t_sketchState.geometries[_sketchState.activeGeometryIndex].geometry.type ===\n\t\t\t\t\t\t\t\t\t\t'Point'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tconst selectedCoords = (\n\t\t\t\t\t\t\t\t\t\t_sketchState.selectedGeoJson?.geometry as\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.Point\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.LineString\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.Polygon\n\t\t\t\t\t\t\t\t\t)?.coordinates;\n\t\t\t\t\t\t\t\t\tconst activeCoords = (\n\t\t\t\t\t\t\t\t\t\t_sketchState.geometries[_sketchState.activeGeometryIndex]?.geometry as\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.Point\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.LineString\n\t\t\t\t\t\t\t\t\t\t\t| GeoJSON.Polygon\n\t\t\t\t\t\t\t\t\t)?.coordinates;\n\n\t\t\t\t\t\t\t\t\t// Compare coordinates\n\t\t\t\t\t\t\t\t\treturn JSON.stringify(selectedCoords) !== JSON.stringify(activeCoords);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tif (changedPoint()) {\n\t\t\t\t\t\t\t\t_sketchState.drawMode = undefined;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\tgeometries: _geometries,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tonFinish={() => {\n\t\t\t\t\t\tsetSketchState((_sketchState) => ({\n\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\tdrawMode: undefined,\n\t\t\t\t\t\t\tactiveGeometryIndex: undefined,\n\t\t\t\t\t\t\tselectedGeoJson: undefined,\n\t\t\t\t\t\t}));\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<List sx={{ zIndex: 105, marginBottom: '-10px' }}>\n\t\t\t\t{sketchState.geometries.map((el, index) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Box key={el.id} sx={{ display: 'flex', flexDirection: 'column' }}>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\tflexDirection={'row'}\n\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: 'rgb(177, 177, 177, 0.2)',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tmarginTop: '25px',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\tsetHoveredGeometry(el);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\tsetHoveredGeometry(undefined);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Input field for user-defined name */}\n\t\t\t\t\t\t\t\t{!el.properties?.customName && (\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\tvalue={el.properties?.name || ''}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Assign name\"\n\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newName = e.target.value;\n\t\t\t\t\t\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst updatedGeometries = [..._sketchState.geometries];\n\t\t\t\t\t\t\t\t\t\t\t\tif (!updatedGeometries[index].properties) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties = {};\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties!.name = newName;\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\t\t\t\t\t\tgeometries: updatedGeometries,\n\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\tpadding: '5px',\n\t\t\t\t\t\t\t\t\t\t\tborder: '1px solid #ccc',\n\t\t\t\t\t\t\t\t\t\t\tborderRadius: '4px',\n\t\t\t\t\t\t\t\t\t\t\toutline: 'none',\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={(e) => (e.target.style.borderColor = '#009ee0')}\n\t\t\t\t\t\t\t\t\t\tonBlur={(e) => {\n\t\t\t\t\t\t\t\t\t\t\te.target.style.borderColor = '#ccc';\n\t\t\t\t\t\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst updatedGeometries = [..._sketchState.geometries];\n\t\t\t\t\t\t\t\t\t\t\t\tif (!updatedGeometries[index].properties) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties = {};\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties!.customName = true;\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\t\t\t\t\t\tgeometries: updatedGeometries,\n\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n\t\t\t\t\t\t\t\t{/* @ts-ignore-next-line */}\n\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\tlistItemSx={buttonStyle}\n\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\t\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t\t\t\t\t\t\tgeojson={el}\n\t\t\t\t\t\t\t\t\t\t\tlayerId={String(el.id)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultPaintOverrides={{\n\t\t\t\t\t\t\t\t\t\t\t\tfill: { 'fill-opacity': 0.5 },\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttype={'layer'}\n\t\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst updatedGeometries = [..._sketchState.geometries];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!updatedGeometries[index].properties) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tupdatedGeometries[index].properties!.customName = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgeometries: updatedGeometries,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{el.properties?.name || String(el.id)}\n\t\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdescription={el.geometry.type}\n\t\t\t\t\t\t\t\t></LayerListItem>\n\t\t\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\tpadding: '3px 30px',\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ButtonGroup size=\"small\">\n\t\t\t\t\t\t\t\t\t\t<Tooltip title=\"Center\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: (theme) => theme.palette.primary.main,\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: (theme) => theme.palette.navigation.navColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t...buttonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmapHook?.map?.map.setCenter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tel.geometry.type === 'Point'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (el.geometry.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: (turf.centerOfMass(el).geometry.coordinates as LngLatLike)\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<GpsFixedIcon />\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\n\t\t\t\t\t\t\t\t\t\t<Tooltip title=\"Edit\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: (theme) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsketchState.drawMode === 'simple_select' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsketchState.selectedGeoJson?.id === el.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: (theme) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsketchState.drawMode === 'simple_select' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsketchState.selectedGeoJson?.id === el.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn theme.palette.primary.main;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn theme.palette.navigation.navColor;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t...buttonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSketchState((_sketchState) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst newDrawMode =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_sketchState.drawMode === 'simple_select' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_sketchState.selectedGeoJson?.id === el.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'simple_select';\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._sketchState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedGeoJson: el,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveGeometryIndex: _sketchState.geometries.indexOf(el),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdrawMode: newDrawMode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<EditIcon />\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\n\t\t\t\t\t\t\t\t\t\t<Tooltip title=\"Delete\">\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolor: (theme) => theme.palette.primary.main,\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor: (theme) => theme.palette.navigation.navColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t...buttonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tremoveGeoJson(el);\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetHoveredGeometry(undefined);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</>\n\t\t\t\t))}\n\t\t\t\t{hoveredGeometry && (\n\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\tmapId={props.mapId}\n\t\t\t\t\t\tgeojson={{ type: 'FeatureCollection', features: [hoveredGeometry] }}\n\t\t\t\t\t\tlayerId={'highlightBorder'}\n\t\t\t\t\t\tdefaultPaintOverrides={{\n\t\t\t\t\t\t\tcircle: {\n\t\t\t\t\t\t\t\t'circle-color': '#000000',\n\t\t\t\t\t\t\t\t'circle-opacity': 0.2,\n\t\t\t\t\t\t\t\t'circle-radius': 10,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tline: {\n\t\t\t\t\t\t\t\t'line-color': '#000000',\n\t\t\t\t\t\t\t\t'line-opacity': 0.2,\n\t\t\t\t\t\t\t\t'line-width': 10,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tfill: {\n\t\t\t\t\t\t\t\t'fill-color': '#000000',\n\t\t\t\t\t\t\t\t'fill-opacity': 0.2,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</List>\n\t\t</>\n\t);\n};\n\nMlSketchTool.defaultProps = {\n\tmapId: undefined,\n\tbuttonStyleOverride: {},\n};\nexport default MlSketchTool;\n","import { useEffect, useCallback, useRef } from 'react';\n\nimport * as turf from '@turf/turf';\nimport useMap from '../useMap';\nimport { LngLatBoundsLike, LngLatLike } from 'maplibre-gl';\n\ninterface useCameraFollowPathProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n\t/**\n\t * Id of an existing layer in the mapLibre instance to help specify the layer order\n\t * This layer will be visually beneath the layer with the \"insertBeforeLayer\" id.\n\t */\n\tinsertBeforeLayer?: string;\n\t/* pause is an useRef const and is triggerd in the storie */\n\tpause?: boolean;\n\t/* zoom is an useRef const and is triggerd in the storie */\n\tzoom?: number;\n\t/* pitch is an useRef const and is triggerd in the storie */\n\tpitch?: number;\n\t/* speed is an useRef const and is triggerd in the storie */\n\tspeed?: number;\n\t/* kmPerStep is an useRef const */\n\tkmPerStep?: number;\n\t/* route is a json file, which is defined loaded in the storie */\n\troute?: any;\n\t/* stepDuration is a const */\n\tstepDuration?: number;\n\t/* timeoutId is an useRef const */\n\ttimeoutId?: number;\n}\nexport type { useCameraFollowPathProps };\n\n/**\n * Component template\n *\n */\nconst useCameraFollowPath = (props: useCameraFollowPathProps) => {\n\t// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks\n\t// without the requirement of adding it to the dependency list (ignore the false eslint exhaustive deps warning)\n\tconst initializedRef = useRef(false);\n\tconst pause = useRef<boolean | undefined>(props.pause);\n\tconst zoom = useRef<number | undefined>(props.zoom);\n\tconst pitch = useRef<number | undefined>(props.pitch);\n\tconst step = useRef(1);\n\tconst speed = useRef<number | undefined>(props.speed);\n\tconst timeoutId = useRef<any | null>(null);\n\n\tconst kmPerStep = props.kmPerStep || 0.01;\n\tconst routeDistance = turf.length(props.route);\n\tconst stepDuration = props.stepDuration || 70;\n\n\tconst mapHook = useMap({\n\t\tmapId: props.mapId,\n\t\twaitForLayer: props.insertBeforeLayer,\n\t});\n\n\tuseEffect(() => {\n\t\tpause.current = props.pause;\n\t\tif (!pause.current) {\n\t\t\tplay();\n\t\t}\n\t}, [props.pause]);\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tzoom.current = props.zoom;\n\t\tif (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {\n\t\t\tmapHook.map.map.setZoom(zoom.current);\n\t\t}\n\t}, [mapHook.map, props.zoom]);\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return;\n\t\tpitch.current = props.pitch;\n\t\tif (typeof pitch.current !== 'undefined' && pitch.current !== mapHook.map.map.getPitch()) {\n\t\t\tmapHook.map.map.setPitch(pitch.current);\n\t\t}\n\t}, [mapHook.map, props.pitch]);\n\tuseEffect(() => {\n\t\tspeed.current = props.speed;\n\t}, [props.speed]);\n\n\tconst disableInteractivity = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.map['scrollZoom'].disable();\n\t\tmapHook.map.map['boxZoom'].disable();\n\t\tmapHook.map.map['dragRotate'].disable();\n\t\tmapHook.map.map['dragPan'].disable();\n\t\tmapHook.map.map['keyboard'].disable();\n\t\tmapHook.map.map['doubleClickZoom'].disable();\n\t\tmapHook.map.map['touchZoomRotate'].disable();\n\t}, [mapHook.map]);\n\tconst enableInteractivity = useCallback(() => {\n\t\tif (!mapHook.map) return;\n\t\tmapHook.map.map['scrollZoom'].enable();\n\t\tmapHook.map.map['boxZoom'].enable();\n\t\tmapHook.map.map['dragRotate'].enable();\n\t\tmapHook.map.map['dragPan'].enable();\n\t\tmapHook.map.map['keyboard'].enable();\n\t\tmapHook.map.map['doubleClickZoom'].enable();\n\t\tmapHook.map.map['touchZoomRotate'].enable();\n\t}, [mapHook.map]);\n\n\tfunction centerRoute() {\n\t\tif (!mapHook.map || !props.route) return;\n\t\tconst bbox = turf.bbox(props.route);\n\t\tlet bounds: LngLatBoundsLike;\n\t\tif (bbox && bbox.length > 3) {\n\t\t\tbounds = [\n\t\t\t\t[bbox[0], bbox[1]],\n\t\t\t\t[bbox[2], bbox[3]],\n\t\t\t];\n\t\t\tmapHook.map.map.fitBounds(bounds, { padding: 100 });\n\t\t}\n\t}\n\tfunction play() {\n\t\tif (!mapHook.map) return;\n\n\t\tif (!pause.current) {\n\t\t\tdisableInteractivity();\n\t\t\tif (typeof zoom.current !== 'undefined' && mapHook.map.map.getZoom() !== zoom.current) {\n\t\t\t\tmapHook.map.map.setZoom(zoom.current);\n\t\t\t}\n\n\t\t\tconst alongRoutelati: number[] = turf.along(props.route, step.current * kmPerStep).geometry\n\t\t\t\t.coordinates;\n\n\t\t\tif (step.current * kmPerStep < routeDistance) {\n\t\t\t\tmapHook.map.map.easeTo({\n\t\t\t\t\tcenter: alongRoutelati as LngLatLike,\n\t\t\t\t\tbearing: turf.bearing(\n\t\t\t\t\t\tturf.point([mapHook.map.map.getCenter().lng, mapHook.map.map.getCenter().lat]),\n\t\t\t\t\t\tturf.point(alongRoutelati)\n\t\t\t\t\t),\n\t\t\t\t\tduration: stepDuration,\n\t\t\t\t\tessential: true,\n\t\t\t\t});\n\t\t\t\tif (typeof speed.current !== 'undefined') {\n\t\t\t\t\tstep.current = step.current + speed.current;\n\t\t\t\t} else {\n\t\t\t\t\tstep.current++;\n\t\t\t\t}\n\t\t\t\tconsole.log('PAN MOVE');\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tplay();\n\t\t\t\t}, 100);\n\t\t\t} else {\n\t\t\t\tmapHook.map.map.setPitch(0);\n\t\t\t\tcenterRoute();\n\t\t\t\tenableInteractivity();\n\t\t\t\tconsole.log('ENABLE CONTROLS');\n\t\t\t\tstep.current = 1;\n\t\t\t}\n\t\t} else {\n\t\t\tenableInteractivity();\n\t\t}\n\t}\n\n\tfunction reset() {\n\t\tif (!mapHook.map) return;\n\t\tcenterRoute();\n\t\tenableInteractivity();\n\t\tstep.current = 1;\n\t}\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || initializedRef.current) return;\n\t\tinitializedRef.current = true;\n\t\tcenterRoute();\n\t}, [mapHook.map]);\n\n\tuseEffect(() => {\n\t\treturn () => {\n\t\t\tif (timeoutId.current) {\n\t\t\t\tclearTimeout(timeoutId.current);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\treturn {\n\t\tplay: play,\n\t\treset: reset,\n\t};\n};\n\nuseCameraFollowPath.defaultProps = {\n\tmapId: undefined,\n\tzoom: 18,\n};\n\nexport default useCameraFollowPath;\n","import { useEffect } from 'react';\nimport useMap from '../useMap';\nimport { FilterSpecification } from 'maplibre-gl';\n\nexport interface UseLayerFilterProps {\n\tmapId?: string;\n\tlayerId?: string;\n\tfilter?: FilterSpecification;\n}\n\nfunction useLayerFilter(props: UseLayerFilterProps) {\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !props.layerId || !props.filter) return;\n\n\t\tif (mapHook.map.map.getLayer(props.layerId)) {\n\t\t\tconst _layerId = props.layerId;\n\n\t\t\tmapHook.map.map.setFilter(_layerId, props.filter);\n\t\t\treturn () => {\n\t\t\t\tif (mapHook.map) {\n\t\t\t\t\tmapHook.map.map.setFilter(_layerId, null);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}, [props, mapHook.map]);\n\n\treturn {};\n}\n\nexport default useLayerFilter;\n","import { useEffect } from 'react';\nimport useMapState from './useMapState';\nimport useMap from './useMap';\n\nconst touchEquivalents = {\n\tmousedown: 'touchstart',\n\tmouseup: 'touchend',\n\tmousemove: 'touchmove',\n};\nconst touchEquivalentsKeys = Object.keys(touchEquivalents);\nfunction useLayerEvent(props) {\n\tconst mapState = useMapState({ mapId: props.mapId, watch: { layers: true } });\n\tconst mapHook = useMap({ mapId: props.mapId });\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map) return true;\n\t\tif (typeof props.condition !== 'undefined' && props.condition === false) return;\n\t\t//console.log('useLayerEvent');\n\t\t//console.log(mapState);\n\n\t\tif (mapHook.map.map.getLayer(props.layerId)) {\n\t\t\t//console.log(\"layer avail\");\n\t\t\tvar _event = props.event;\n\t\t\tvar _layerId = props.layerId;\n\t\t\tvar _eventHandler = props.eventHandler;\n\n\t\t\t//console.log(_event);\n\t\t\tmapHook.map.on(_event, _layerId, _eventHandler, mapHook.componentId);\n\t\t\tif (props?.addTouchEvents === true) {\n\t\t\t\tif (touchEquivalentsKeys.indexOf(_event) !== -1) {\n\t\t\t\t\tmapHook.map.on(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn () => {\n\t\t\t\tmapHook.map.off(_event, _layerId, _eventHandler);\n\t\t\t\tif (props?.addTouchEvents === true) {\n\t\t\t\t\tif (touchEquivalentsKeys.indexOf(_event) !== -1) {\n\t\t\t\t\t\tmapHook.map.off(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, [props, mapState, mapHook.map]);\n\n\treturn {};\n}\n\nexport default useLayerEvent;\n","import { useContext } from 'react';\nimport LayerContext from '../contexts/LayerContext';\n\n\nconst useLayerContext = () => {\n\tconst layerContext = useContext(LayerContext);\n\treturn layerContext;\n};\nexport default useLayerContext;\n","import maplibregl, { AddProtocolAction } from 'maplibre-gl';\nimport { useEffect } from 'react';\n\nexport interface useAddProtocolProps {\n\t/**\n\t * the protocol string, for example `mbtiles`\n\t * In this example the handler function is called for all tile requests that start with the string `mbtiles://`\n\t */\n\tprotocol: string;\n\t/**\n\t * Custom load tile function that will be called when using a source that starts with a custom url schema.\n\t */\n\thandler: AddProtocolAction;\n}\n\n/**\n * Enables the use of custom protocols (basically custom tile load functions) in the maplibre-gl-js library.\n *\n */\nconst useAddProtocol = (props: useAddProtocolProps) => {\n\tuseEffect(() => {\n\t\tif (!props.protocol || typeof props.handler !== 'function') return;\n\n\t\tmaplibregl.addProtocol(props.protocol, props.handler);\n\n\t\treturn () => {\n\t\t\tmaplibregl.removeProtocol(props.protocol);\n\t\t};\n\t}, [props]);\n\n\treturn {};\n};\n\nuseAddProtocol.defaultProps = {\n\tmapId: undefined,\n};\nexport default useAddProtocol;\n","\nexport default function protocolPathParser(url: string){\n\tconst test = url.split('?')\n\tconst urlParts = test[0].split('://');\n const protocolId = urlParts[0];\n\tconst csvUrl = urlParts.length >2 ? urlParts[1] + '://' + urlParts[2] : urlParts[1] ;\n\tconst csvParts = csvUrl.split('/');\n\tconst filename = csvParts.join('/');\n\n\tconst optionsString = decodeURI(test[1]);\n const options = Object.fromEntries(new URLSearchParams(optionsString))\n\n\treturn {\n protocolId,\n\t\tfilename,\n\t\toptions,\n\t};\n};","\nexport default async function getProtocolData(path: string) {\n\ttry {\n\n\t\tconst response = await fetch(path);\n\t\tconst rawData = await response.text();\n\t\t\n\t\treturn rawData;\n\t} catch (error) {\n\t\tconsole.error('File could not be loaded: ', error);\n\t\treturn error;\n\t}\n//}\n\t\n}","import { RequestParameters } from 'maplibre-gl';\nimport { FeatureCollection } from 'geojson';\nimport * as csv2geojsonType from './csv2geojson';\nimport * as csv2geojson from 'csv2geojson';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertCsv(filename: string, options: csv2geojsonType.csvOptions ): Promise<FeatureCollection> {\n\n\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\n\t\tconst useOptions: csv2geojsonType.csvOptions= options || {};\n\t \tconst extension = filename.substring(filename.length -3)\n\n\t\t\t\t\t\t\n\t\tif(extension === 'tsv'){\n\t\t\toptions.delimiter = '\\t';\n\t\t}\n\n\t\tgetProtocolData(filename).then((rawData) => {\n\t\t// Use the csv2geojson library to convert the CSV to GeoJSON\t\n\t\t\n\t\tcsv2geojson.csv2geojson(rawData, useOptions, (err: string, data: FeatureCollection) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst CSVProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertCsv(parsedParams.filename, parsedParams.options);\n\t\tif (data !== undefined) {\n\t\t\treturn {data:data}\n\t\t}\n\t\t\tthrow new Error('CSV not found ' + parsedParams.filename);\n};\n\nexport { CSVProtocolHandler, convertCsv };\n","import { RequestParameters} from 'maplibre-gl';\nimport { FeatureCollection } from 'geojson';\nimport osm2geojson from 'osm2geojson-lite';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertOSM(params: {\n\tfilename: string;\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-expect-error\n\toptions: osm2geojson.Options;\n}): Promise<FeatureCollection> {\n\tconst options = params.options || {};\n\n\t// Use the csv2geojson library to convert the CSV to GeoJSON\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\tconst newData: FeatureCollection = osm2geojson(\n\t\t\t\trawData,\n\t\t\t\toptions\n\t\t\t) as FeatureCollection;\n\n\t\t\tif (!newData) {\n\t\t\t\treject('Conversion failed');\n\t\t\t} else {\n\t\t\t\tresolve(newData);\n\t\t\t}\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\nconst OSMProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertOSM(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('OSM File not found ' + parsedParams.filename);\n};\n\nexport { OSMProtocolHandler, convertOSM };\n","import { LngLatLike, RequestParameters } from 'maplibre-gl';\nimport { Feature, FeatureCollection } from 'geojson';\nimport { feature as topojsonFeature } from 'topojson-client';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\nimport { Topology } from 'topojson-specification';\n\ntype TopoJson = {\n\ttype?: 'Topology';\n\tobjects?: { key: string; features?: Feature | FeatureCollection };\n\tarcs?: LngLatLike[];\n\ttransform?: { scale: [number, number]; translate: LngLatLike };\n};\n\nfunction reduceFeatures(geojson: FeatureCollection) {\n\tconst newFeatures: Feature[] = [];\n\tgeojson.features.forEach((e: any) => {\n\t\tif (!e.features) {\n\t\t\tnewFeatures.push({\n\t\t\t\ttype: e.type,\n\t\t\t\tgeometry: e.geometry,\n\t\t\t\tproperties: e.properties,\n\t\t\t});\n\t\t} else {\n\t\t\te.features.forEach((el: Feature) => {\n\t\t\t\tnewFeatures.push({ type: el.type, geometry: el.geometry, properties: el.properties });\n\t\t\t});\n\t\t}\n\t});\n\treturn newFeatures as Feature[];\n}\n\nasync function convertTopojson(params: { filename: string }): Promise<FeatureCollection> {\n\t/**\n\t * Loads TopoJSON data and converts it into a GeoJSON FeatureCollection\n\t */\n\tconst geojson = await new Promise<FeatureCollection>((resolve) => {\n\t\tlet topoJsonData: TopoJson = {\n\t\t\ttype: 'Topology',\n\t\t\tobjects: { key: '' },\n\t\t\tarcs: [],\n\t\t};\n\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\ttry {\n\t\t\t\ttopoJsonData = JSON.parse(rawData);\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Error converting topojson', e);\n\t\t\t\tthrow 'Invalid TopoJson';\n\t\t\t}\n\t\t\t// Convert the data\n\t\t\tlet result: FeatureCollection = {\n\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\tfeatures: [],\n\t\t\t};\n\n\t\t\tif (topoJsonData.type === 'Topology' && topoJsonData.objects !== undefined) {\n\t\t\t\tconst topoJsonDataObjects: {[key:string]:any} = topoJsonData.objects;\n\t\t\t\t// add the \"fromObject\" property in each topojson feature\n\t\t\t\tObject.keys(topoJsonData.objects).map((key) => {\n\t\t\t\t\tif (topoJsonDataObjects?.[key].type === 'GeometryCollection') {\n\t\t\t\t\t\ttopoJsonDataObjects?.[key].geometries?.forEach(\n\t\t\t\t\t\t\t(e: Feature) => (e.properties = { fromObject: key, ...e.properties })\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttopoJsonDataObjects?.[key] &&\n\t\t\t\t\t\ttopoJsonDataObjects?.[key]?.type !== 'GeometryCollection'\n\t\t\t\t\t) {\n\t\t\t\t\t\ttopoJsonDataObjects[key].properties = {\n\t\t\t\t\t\t\tfromObject: key,\n\t\t\t\t\t\t\t...topoJsonDataObjects?.[key].properties,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t//convert the data into a geoJson object\n\t\t\t\tresult = {\n\t\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\t\tfeatures: Object.keys(topoJsonData.objects).map((key) =>\n\t\t\t\t\t\ttopojsonFeature(topoJsonData as unknown as Topology, key)\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t\tresult.features = reduceFeatures(result);\n\t\t\t}\n\n\t\t\tresolve(result);\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\nconst TopojsonProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertTopojson(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('Topojson not found ' + parsedParams.filename);\n};\n\nexport { TopojsonProtocolHandler, convertTopojson };\n","import { RequestParameters } from 'maplibre-gl';\nimport { FeatureCollection} from 'geojson';\nimport * as externParser from '@tmcw/togeojson';\nimport toGeoJSON from '../hooks/useGpx/lib/gpxConverter';\nimport protocolPathParser from './utils/protocolPathParser';\nimport getProtocolData from './utils/getProtocolData';\n\nasync function convertXML(params: {\n\tfilename: string;\n\tprotocolId: string;\n}): Promise<FeatureCollection> {\n\tconst geojson = await new Promise<FeatureCollection>((resolve, reject) => {\n\t\tgetProtocolData(params.filename).then((rawData) => {\n\t\t\tconst newData = () => {\n\t\t\t\t// use an extern converter for tcx files\n\n\t\t\t\tif (params.protocolId === 'tcx') {\n\t\t\t\t\treturn externParser[params.protocolId](\n\t\t\t\t\t\tnew DOMParser().parseFromString(rawData, 'text/xml')\n\t\t\t\t\t) as FeatureCollection;\n\n\t\t\t\t\t// use the projects gpxConverter function for gpx and kml files\n\t\t\t\t} else {\n\t\t\t\t\treturn (toGeoJSON as {[key:string]:any})[params.protocolId](\n\t\t\t\t\t\tnew DOMParser().parseFromString(rawData, 'text/xml')\n\t\t\t\t\t) as FeatureCollection;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (!newData()) {\n\t\t\t\treject('Conversion failed');\n\t\t\t} else {\n\t\t\t\tresolve(newData());\n\t\t\t}\n\t\t});\n\t});\n\n\treturn geojson;\n}\n\nconst XMLProtocolHandler = async (params: RequestParameters) => {\n\tconst parsedParams = protocolPathParser(params.url);\n\n\tconst data = await convertXML(parsedParams);\n\tif (data !== undefined) {\n\t\treturn { data: data };\n\t}\n\tthrow new Error('XML not found ' + parsedParams.filename);\n};\n\nexport { XMLProtocolHandler, convertXML };\n","import { useEffect, useRef } from 'react';\nimport useMap from '../useMap';\n\nexport interface useAddImageProps {\n\t/**\n\t *\n\t */\n\timageId: string;\n\t/**\n\t *\n\t */\n\timagePath: string;\n}\n\n/**\n *\n */\nconst useAddImage = (props: useAddImageProps) => {\n\tconst mapHook = useMap({\n\t\tmapId: undefined,\n\t});\n\n\tconst initializedRef = useRef(false);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || initializedRef.current) return;\n\n\t\tmapHook.map?.loadImage(props.imagePath).then(function (res) {\n\t\t\tif (!res?.data) {\n\t\t\t\tconsole.log('image ' + props.imagePath + 'could not be loaded');\n\t\t\t\treturn; \n\t\t\t}\n\n\t\t\tmapHook.map?.addImage(props.imageId, res.data);\n\t\t\treturn; \n\t\t});\n\t\treturn () => {\n\t\t\tmapHook.map?.removeImage(props.imageId);\n\t\t};\n\t}, [mapHook.map, props]);\n\n\treturn;\n};\n\nuseAddImage.defaultProps = {\n\tmapId: undefined,\n};\nexport default useAddImage;\n","import React from \"react\";\n\nconst SimpleDataContext = React.createContext({});\n\nexport const SimpleDataContextProvider = SimpleDataContext.Provider;\nexport default SimpleDataContext;\n","import React, { useEffect, useState } from \"react\";\nimport { SimpleDataContextProvider } from \"./SimpleDataContext\";\nimport * as d3 from \"d3\";\n\n\nexport interface SimpleDataProviderProps{\nurl: string;\nformat: 'json' | 'csv' | 'xml';\nnodeType:string;\ndata_property:string;\nformatData?:(data:any) => any;\nonData: () => void;\nchildren: React.ReactNode\n}\n\nconst SimpleDataProvider = (props:SimpleDataProviderProps) => {\n\tconst [data, setData] = useState<any[] | undefined>();\n\tuseEffect(() => {\n\t\tif (!props.url) return;\n\n\t\tlet data_promise = null;\n\t\tif (props.format === \"json\") {\n\t\t\tdata_promise = d3.json(props.url);\n\t\t} else if (props.format === \"csv\") {\n\t\t\tdata_promise = d3.csv(props.url);\n\t\t} else if (props.format === \"xml\") {\n\t\t\tdata_promise = d3.xml(props.url);\n\t\t}\n\n\t\tif (data_promise) {\n\t\t\tdata_promise.then((received_data) => {\n\t\t\t\tif (props.format === \"xml\") {\n\t\t\t\t\tif (props.nodeType) {\n\t\t\t\t\t\tconst dataTmp:any[] = [];\n\t\t\t\t\t\t(received_data as XMLDocument).querySelectorAll(props.nodeType).forEach((el) => {\n\n\t\t\t\t\tif (typeof props.formatData === \"function\") {\n\t\t\t\t\t\t\tdataTmp.push(props.formatData(el));\n\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetData(dataTmp);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet dataTmp:any[] = received_data as any[];\n\t\t\t\t\tif (props.data_property) {\n\t\t\t\t\t\tdataTmp = (received_data as any)[props.data_property] as any[];\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof props.formatData === \"function\") {\n\t\t\t\t\t\tsetData(dataTmp.map(props.formatData));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetData(dataTmp);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (typeof props.onData === \"function\") {\n\t\t\t\t\tprops.onData();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}, [props.url, props]);\n\n\tconst value = {\n\t\tdata: data,\n\t\tsetData: setData,\n\t};\n\n\treturn (\n\t\t<SimpleDataContextProvider value={value}>\n\t\t\t{props.children}\n\t\t</SimpleDataContextProvider>\n\t);\n};\n\nexport default SimpleDataProvider;\n","import React, { useMemo } from 'react';\nimport { IconButton, styled } from '@mui/material';\nimport ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown';\nimport ArrowCircleUpIcon from '@mui/icons-material/ArrowCircleUp';\nimport CenterFocusWeakIcon from '@mui/icons-material/CenterFocusWeak';\nimport LayerListItem from './LayerListItem';\nimport MlGeoJsonLayer from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport MlWmsLoader from '../../components/MlWmsLoader/MlWmsLoader';\nimport MlOrderLayers from '../../components/MlOrderLayers/MlOrderLayers';\nimport { MlGeoJsonLayerProps } from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport { MlWmsLoaderProps } from '../../components/MlWmsLoader/MlWmsLoader';\nimport MlVectorTileLayer, {\n\tMlVectorTileLayerProps,\n} from '../../components/MlVectorTileLayer/MlVectorTileLayer';\nimport useLayerContext from '../../hooks/useLayerContext';\nimport { LayerConfig, wmsConfig } from '../../contexts/LayerContext';\nimport {\n\tclosestCenter,\n\tDndContext,\n\tuseSensor,\n\tPointerSensor,\n\tMouseSensor,\n\tuseSensors,\n\tUniqueIdentifier,\n\tDragEndEvent,\n} from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\nimport useMap from '../../hooks/useMap';\nimport { bbox } from '@turf/turf';\nimport { LngLatBoundsLike, FitBoundsOptions } from 'maplibre-gl';\nimport { Feature, FeatureCollection } from 'geojson';\n\nconst IconButtonStyled = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n\tbackground: 'none',\n\t'&:hover': {\n\t\tbackground: 'none',\n\t},\n});\n\nexport interface LayerListItemFactoryProps {\n\tmapId?: string;\n\tlayers: LayerConfig[];\n\tsetLayers?: (layers: LayerConfig[] | ((state: LayerConfig[]) => LayerConfig[])) => void;\n\tinsertBeforeLayer?: string;\n\tsortable?: boolean;\n\tfitBoundsOptions?: FitBoundsOptions;\n}\n\nfunction LayerListItemFactory(props: LayerListItemFactoryProps) {\n\tconst layerContext = useLayerContext();\n\tconst mapHook = useMap({ mapId: undefined });\n\n\t//useCallback Hook\n\tfunction fitLayer(layer: LayerConfig) {\n\t\tconst layerSource =\n\t\t\tlayer.id && mapHook.map?.getLayer(layer.id)?.source\n\t\t\t\t? mapHook.map?.getLayer(layer.id)?.source\n\t\t\t\t: undefined;\n\n\t\tlet _bbox: LngLatBoundsLike | null = null;\n\t\tswitch (layer.type) {\n\t\t\tcase 'geojson':\n\t\t\t\tif (layer.config?.geojson) {\n\t\t\t\t\tmapHook.map?.fitBounds(\n\t\t\t\t\t\tbbox(layer.config?.geojson) as LngLatBoundsLike,\n\t\t\t\t\t\tprops.fitBoundsOptions\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tif (!layerSource) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst _geojson = {\n\t\t\t\t\t\ttype: 'FeatureCollection',\n\t\t\t\t\t\tfeatures: mapHook.map?.querySourceFeatures(layerSource) as Feature[],\n\t\t\t\t\t};\n\n\t\t\t\t\tif ((_geojson as FeatureCollection).features.length === 0) {\n\t\t\t\t\t\tmapHook.map?.zoomTo(1);\n\t\t\t\t\t\t_geojson.features = mapHook.map?.querySourceFeatures(layerSource) as Feature[];\n\t\t\t\t\t}\n\n\t\t\t\t\t_bbox = bbox(_geojson as FeatureCollection) as LngLatBoundsLike;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'vt':\n\t\t\t\tconsole.log('vt');\n\t\t\t\tbreak;\n\t\t\tcase 'wms':\n\t\t\t\t_bbox = (layer?.config as wmsConfig)?.config?.layers?.[0]\n\t\t\t\t\t?.EX_GeographicBoundingBox as LngLatBoundsLike;\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t\tif (_bbox) {\n\t\t\tmapHook.map?.fitBounds(_bbox, props.fitBoundsOptions);\n\t\t}\n\t}\n\n\tconst orderLayers = useMemo(() => {\n\t\tconst layerIds = [\n\t\t\t'order-background',\n\t\t\t...[...layerContext.layers].map((_el, idx) => 'content_order_' + idx),\n\t\t\t'order-labels',\n\t\t];\n\n\t\treturn layerIds.reverse();\n\t}, [layerContext.layers]);\n\n\tconst layers: LayerConfig[] = useMemo(() => {\n\t\tif (props.layers) return props.layers;\n\t\tif (layerContext?.layers) return layerContext.layers;\n\t\treturn [];\n\t}, [props.layers, layerContext.layers]);\n\n\tconst setLayers: (arg1: LayerConfig[] | ((arg: LayerConfig[]) => void)) => void = useMemo(() => {\n\t\tif (props.setLayers) return props.setLayers;\n\t\treturn layerContext.setLayers;\n\t}, [props.setLayers, layerContext.setLayers]);\n\tconst pointerSensor = useSensor(PointerSensor, {\n\t\tactivationConstraint: {\n\t\t\tdistance: 5,\n\t\t},\n\t});\n\tconst mouseSensor = useSensor(MouseSensor, {\n\t\tactivationConstraint: {\n\t\t\tdistance: 5,\n\t\t},\n\t});\n\tconst sensors = useSensors(mouseSensor, pointerSensor);\n\n\tfunction dragEnd(event: DragEndEvent) {\n\t\tconst dragLayerId = event.active.id;\n\t\tconst dragLayerNewPosition = event.over?.data?.current?.sortable.index;\n\t\tlayerContext.moveLayer(String(dragLayerId), () => dragLayerNewPosition);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MlOrderLayers layerIds={orderLayers} insertBeforeLayer=\"_background\" />\n\t\t\t{layerContext?.symbolLayers?.length > 0 && (\n\t\t\t\t<LayerListItem\n\t\t\t\t\tkey={'background_labels'}\n\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t{...layerContext.vtLayerConfig}\n\t\t\t\t\t\t\tlayers={layerContext.symbolLayers}\n\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\tinsertBeforeLayer={'order-labels'}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\tsetLayerState={(state: MlVectorTileLayerProps) =>\n\t\t\t\t\t\tlayerContext.setSymbolLayers(state?.layers)\n\t\t\t\t\t}\n\t\t\t\t\tvisible={true}\n\t\t\t\t\tconfigurable={true}\n\t\t\t\t\ttype=\"layer\"\n\t\t\t\t\tname=\"Labels\"\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<DndContext\n\t\t\t\tcollisionDetection={closestCenter}\n\t\t\t\tsensors={sensors}\n\t\t\t\tonDragEnd={(event) => dragEnd(event)}\n\t\t\t\tmodifiers={[restrictToVerticalAxis]}\n\t\t\t>\n\t\t\t\t<SortableContext\n\t\t\t\t\titems={layers as { id: UniqueIdentifier }[]}\n\t\t\t\t\tstrategy={verticalListSortingStrategy}\n\t\t\t\t>\n\t\t\t\t\t{[...layers].map((layer: LayerConfig, idx: number) => {\n\t\t\t\t\t\tif (!layer?.id) return null;\n\n\t\t\t\t\t\tswitch (layer.type) {\n\t\t\t\t\t\t\tcase 'geojson':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\tsortable={props.sortable}\n\t\t\t\t\t\t\t\t\t\tname={layer?.name || layer?.config?.type + ' layer' || 'unnamed layer'}\n\t\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\t\t\t\t\t\t\t{...layer.config}\n\t\t\t\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'content_order_' + (layers.length - 1 - idx)}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterFocusWeakIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tsetLayerState={(layerConfig: MlGeoJsonLayerProps | false) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tcase 'wms':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MlWmsLoader\n\t\t\t\t\t\t\t\t\t\t\t{...(layer.config as unknown as MlWmsLoaderProps)}\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tsortable={props.sortable}\n\t\t\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'content_order_' + (layers.length - 1 - idx)}\n\t\t\t\t\t\t\t\t\t\t\tonConfigChange={(layerConfig) => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps).config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tfeatureInfoActive={layer?.config?.featureInfoActive || false}\n\t\t\t\t\t\t\t\t\t\t\tsetFeatureInfoActive={(updateFunction) => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (typeof updateFunction === 'function') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps).featureInfoActive =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdateFunction(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(_layers[idx].config as MlWmsLoaderProps)?.featureInfoActive ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterFocusWeakIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tcase 'vt':\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<React.Fragment key={layer?.id + '_listItem'}>\n\t\t\t\t\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\tname={layer?.name || layer?.type + ' layer' || 'unnamed layer'}\n\t\t\t\t\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t\t\t\t\t\t\tlayers={layer?.config?.layers || []}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\tmapId={layer?.config.mapId}\n\t\t\t\t\t\t\t\t\t\t\t\t\tsourceOptions={layer?.config?.sourceOptions}\n\t\t\t\t\t\t\t\t\t\t\t\t\tlayerId={layer.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\turl={layer?.config?.url}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tbuttons={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id + '_button1'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === layers.length - 1}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveDown(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layer.id + '_button2'}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={idx === 0}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayerContext.moveUp(layer.id || '');\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<IconButtonStyled onClick={() => fitLayer(layer)}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CenterFocusWeakIcon />\n\t\t\t\t\t\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetLayerState={(layerConfig: MlVectorTileLayerProps | false) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetLayers?.((current: LayerConfig[]) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst _layers = [...current];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (layerConfig === false) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers.splice(idx, 1);\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_layers[idx].config = layerConfig;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _layers;\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\t\t\t\t\tshowDeleteButton={true}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t})}\n\t\t\t\t\t{layerContext?.backgroundLayers?.length > 0 && (\n\t\t\t\t\t\t<LayerListItem\n\t\t\t\t\t\t\tkey={'background_geometry'}\n\t\t\t\t\t\t\tlayerComponent={\n\t\t\t\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\t\t\t\t{...layerContext.vtLayerConfig}\n\t\t\t\t\t\t\t\t\tlayers={layerContext.backgroundLayers}\n\t\t\t\t\t\t\t\t\tmapId={props?.mapId}\n\t\t\t\t\t\t\t\t\tinsertBeforeLayer={'order-background'}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetLayerState={(state: MlVectorTileLayerProps) => {\n\t\t\t\t\t\t\t\tlayerContext.setBackgroundLayers(state?.layers);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvisible={true}\n\t\t\t\t\t\t\tconfigurable={true}\n\t\t\t\t\t\t\ttype=\"layer\"\n\t\t\t\t\t\t\tname=\"Background\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</SortableContext>\n\t\t\t</DndContext>\n\t\t</>\n\t);\n}\n\nLayerListItemFactory.defaultProps = {\n\tmapId: undefined,\n};\n\nexport default LayerListItemFactory;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tSelectChangeEvent,\n} from '@mui/material';\nimport React, { useMemo } from 'react';\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\n\n\nexport interface GeoJsonLayerFormProps {\n\tconfig?: MlGeoJsonLayerProps;\n\tonSubmit: (config: MlGeoJsonLayerProps) => void;\n\tonCancel: () => void;\n}\n\nconst types: string[] = [\n\t'fill',\n\t'line',\n\t'circle',\n];\nexport default function GeoJsonLayerForm(props: GeoJsonLayerFormProps) {\n\n\tconst [config, setConfig] = React.useState<Partial<MlGeoJsonLayerProps>>({ type: 'circle' });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.type || !config?.geojson) return false;\n\n\t\treturn true;\n\t}, [config]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>GeoJSON layer</DialogTitle>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<InputLabel id=\"type-label\">Type</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"type-label\"\n\t\t\t\t\tvalue={config.type}\n\t\t\t\t\tlabel=\"Type\"\n\t\t\t\t\tonChange={(ev: SelectChangeEvent) =>\n\t\t\t\t\t\tsetConfig((current) => ({\n\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\ttype: ev.target.value as MlGeoJsonLayerProps['type'],\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{types.map((type) => (\n\t\t\t\t\t\t<MenuItem key={type} value={type}>\n\t\t\t\t\t\t\t{type}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tUpload File\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tev.target.files?.[0]\n\t\t\t\t\t\t\t\t.text()\n\t\t\t\t\t\t\t\t.then((data) =>\n\t\t\t\t\t\t\t\t\tsetConfig((current) => ({ ...current, geojson: JSON.parse(data) }))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t</FormControl>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config as MlGeoJsonLayerProps)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React from 'react';\n\nimport {\n\tAvatar,\n\tDialogTitle,\n\tList,\n\tListItem,\n\tListItemAvatar,\n\tListItemButton,\n\tListItemText,\n} from '@mui/material';\nimport DynamicFeedIcon from '@mui/icons-material/DynamicFeed';\n\nexport interface LayerTypeFormProps {\n\tonSelect: (type: string) => void;\n\tlayerTypes: string[]\n}\n\nconst LayerTypeForm = (props: LayerTypeFormProps) => {\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>{props.layerTypes.length > 1 ? \"Select a layer type\": \"Load new layer\"}</DialogTitle>\n\t\t\t<List>\n\t\t\t\t{props.layerTypes.map((type, idx) => (\n\t\t\t\t\t<ListItem disableGutters key={idx}>\n\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops.onSelect(type);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemAvatar>\n\t\t\t\t\t\t\t\t<Avatar>\n\t\t\t\t\t\t\t\t\t<DynamicFeedIcon />\n\t\t\t\t\t\t\t\t</Avatar>\n\t\t\t\t\t\t\t</ListItemAvatar>\n\t\t\t\t\t\t\t<ListItemText primary={type} />\n\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t</ListItem>\n\t\t\t\t))}\n\t\t\t</List>\n\t\t</>\n\t);\n};\n\nLayerTypeForm.defaultProps = {};\n\nexport default LayerTypeForm;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tOutlinedInput,\n} from '@mui/material';\nimport React, { useMemo } from 'react';\nimport { wmsConfig } from 'src/contexts/LayerContext';\n\nexport interface WmsLayerConfig {\n\turl: string;\n}\n\nexport interface WmsLayerFormProps {\n\tonSubmit: (config: wmsConfig) => void;\n\tonCancel: () => void;\n}\n\nexport default function WmsLayerForm(props: WmsLayerFormProps) {\n\tconst [config, setConfig] = React.useState<wmsConfig>({ url: '' });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.url) return false;\n\n\t\treturn true;\n\t}, [config]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>WMS layer</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<FormControl fullWidth sx={{ marginTop: '10px' }}>\n\t\t\t\t\t<InputLabel htmlFor=\"wms-url-input\">WMS URL</InputLabel>\n\t\t\t\t\t<OutlinedInput\n\t\t\t\t\t\tid=\"wms-url-input\"\n\t\t\t\t\t\tlabel=\"WMS URL\"\n\t\t\t\t\t\tvalue={config.url}\n\t\t\t\t\t\tonChange={(ev) => setConfig({ ...config, url: ev.target.value })}\n\t\t\t\t\t/>\n\t\t\t\t</FormControl>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React, { useState } from 'react';\nimport { List, ListItem, TextField, Typography, Button } from '@mui/material';\nimport AddBoxIcon from '@mui/icons-material/AddBox';\nimport IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox';\n\ninterface CSVOptionsFormulaProps {\n\tsetter: any;\n}\n\nconst optionFields = ['latfield', 'lonfield', 'delimiter'];\n\nfunction CSVOptionsFormular(props: CSVOptionsFormulaProps) {\n\tconst [open, setOpen] = useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography> Options </Typography>\n\t\t\t<Button onClick={() => setOpen(!open)}>\n\t\t\t\t{open ? <IndeterminateCheckBoxIcon /> : <AddBoxIcon />}\n\t\t\t</Button>\n\n\t\t\t<List>\n\t\t\t\t{open &&\n\t\t\t\t\toptionFields?.map((el) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<Typography> {el} </Typography>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newObject = {};\n\t\t\t\t\t\t\t\t\t\t\t(newObject as {[key:string]:any})[el] = ev.target.value;\n\t\t\t\t\t\t\t\t\t\t\tprops.setter(newObject);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</List>\n\t\t</>\n\t);\n}\n\nexport default CSVOptionsFormular;\n","import React, { useState } from 'react';\nimport { List, ListItem, Checkbox, Typography, Button } from '@mui/material';\nimport AddBoxIcon from '@mui/icons-material/AddBox';\nimport IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox';\n\ninterface OsmOptionsFomularProps {\n\tsetter: any;\n}\n\nconst optionFields = [\n\t'completeFeature',\n\t'allFeatures',\n\t'renderTagged',\n\t'excludeWay',\n\t'suppressWay',\n];\n\nfunction OsmOptionsFomular(props: OsmOptionsFomularProps) {\n\tconst [open, setOpen] = useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography> Options </Typography>\n\t\t\t<Button onClick={() => setOpen(!open)}>\n\t\t\t\t{open ? <IndeterminateCheckBoxIcon /> : <AddBoxIcon />}\n\t\t\t</Button>\n\t\t\t<List>\n\t\t\t\t{open &&\n\t\t\t\t\toptionFields?.map((el) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ListItem>\n\t\t\t\t\t\t\t\t\t<Typography> {el} </Typography>\n\t\t\t\t\t\t\t\t\t<Checkbox\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\t\t\t\t\tconst newObject = {};\n\t\t\t\t\t\t\t\t\t\t\t(newObject as {[key:string]:any})[el] = ev.target.value === 'on' ? true : false;\n\t\t\t\t\t\t\t\t\t\t\tprops.setter(newObject);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ListItem>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</List>\n\t\t</>\n\t);\n}\n\nexport default OsmOptionsFomular;\n","import {\n\tButton,\n\tDialogActions,\n\tDialogTitle,\n\tFormControl,\n\tInputLabel,\n\tMenuItem,\n\tSelect,\n\tSelectChangeEvent,\n} from '@mui/material';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport useAddProtocol from '../../../hooks/useAddProtocol/useAddProtocol';\nimport CSVOptionsFormular from './utils/CSVOptionsFomular';\nimport OsmOptionsFomular from './utils/OsmOptionsFomular';\nimport useMap from '../../../hooks/useMap';\nimport { CSVProtocolHandler } from '../../../protocol_handlers/csv';\nimport { TopojsonProtocolHandler } from '../../../protocol_handlers/topojson';\nimport { OSMProtocolHandler } from '../../../protocol_handlers/osm';\nimport { XMLProtocolHandler } from '../../../protocol_handlers/xml';\n//import { mbTilesProtocolHandler } from '../../../protocol_handlers/mbtiles';\nimport * as csv2geojsonType from '../../../protocol_handlers/csv2geojson';\n\nexport interface ProtocolHandlerLayerFormProps {\n\toriginType: string;\n\tconfig?: MlGeoJsonLayerProps;\n\tmapId?: string;\n\tonSubmit: (config: MlGeoJsonLayerProps) => void;\n\tonCancel: () => void;\n}\n\n\nconst handlers = {\n\tcsv: CSVProtocolHandler,\n\ttopojson: TopojsonProtocolHandler, \n\tosm: OSMProtocolHandler,\n\tgpx: XMLProtocolHandler, \n\tkml: XMLProtocolHandler,\n\ttcx: XMLProtocolHandler,\n\t//mbtiles: mbTilesProtocolHandler\n};\n\nconst types: string[] = ['fill', 'line', 'circle'];\nexport default function ProtocolHandlerLayerForm(props: ProtocolHandlerLayerFormProps) {\n\tconst [config, setConfig] = useState<Partial<MlGeoJsonLayerProps>>({ type: 'circle' });\n\tconst [fileName, setFileName] = useState<string>();\n\tconst [filePath, setFilePath] = useState<string>();\n\tconst [optionsObject, setOptionsObject] = useState<csv2geojsonType.csvOptions>({})\n\tconst mapHook = useMap({ mapId: props.mapId });\n \tconst optionsURL = '?' + new URLSearchParams(optionsObject as string).toString();\n\n\t\n\tuseAddProtocol({\n\t \tprotocol: props.originType,\n\t\thandler: (handlers as {[key:string]:any})[props.originType],\n\t });\n\n\tconst configIsValid = useMemo(() => {\n\t\tif (!config?.type) return false;\n\t\tif(filePath && fileName) return true;\n\t\telse return false\n\t}, [config, filePath, fileName]);\n\n\tuseEffect(() => {\n\t\tif (typeof fileName !== 'undefined' && typeof filePath !== 'undefined') {\n\t\t\tif (!mapHook.map?.getSource(fileName)) \n\t\t\tmapHook.map?.addSource(fileName, {\n\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\tdata: optionsObject ? props.originType + '://' + filePath + optionsURL : props.originType + '://' + filePath ,\n\t\t\t\t});\n\t\t\t\tconfig.options = { source: fileName };\t\t\t\t\t\n\t\t}\n\n\t\treturn () => {};\n\t}, [fileName, mapHook.map, filePath]);\n\n\t//the temporally storage adress of the uploaded file will be revoked, after source and layer are loaded in the map \n\tuseEffect(() => {\n\t\tif (filePath && fileName && mapHook.map?.getLayer(fileName)) {\n\t\t\tURL.revokeObjectURL(filePath);\n\t\t}\n\t}, [fileName, filePath, mapHook.map]);\n\n\tfunction addOption(newObject: JSON){\nconst newOptions = {...optionsObject, ...newObject}\n\n\t\treturn setOptionsObject(newOptions)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle>Layer from {props.originType}</DialogTitle>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<InputLabel id=\"type-label\">Type</InputLabel>\n\t\t\t\t<Select\n\t\t\t\t\tlabelId=\"type-label\"\n\t\t\t\t\tvalue={config.type}\n\t\t\t\t\tlabel=\"Type\"\n\t\t\t\t\tonChange={(ev: SelectChangeEvent) =>\n\t\t\t\t\t\tsetConfig((current) => ({\n\t\t\t\t\t\t\t...current,\n\t\t\t\t\t\t\ttype: ev.target.value as MlGeoJsonLayerProps['type'],\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{types.map((type) => (\n\t\t\t\t\t\t<MenuItem key={type} value={type}>\n\t\t\t\t\t\t\t{type}\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</FormControl>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tSelect origin file\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\taccept={props.originType}\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tsetFileName(ev.target.files?.[0].name);\n\n\t\t\t\t\t\t\tif (ev.target.files?.[0]) {\n\t\t\t\t\t\t\t\tconst dataUrl = URL.createObjectURL(ev.target.files?.[0]);\n\t\t\t\t\t\t\t\tsetFilePath(dataUrl);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\t\t\t\t{props.originType === 'csv' && <CSVOptionsFormular setter={addOption}/>}\n\t\t\t\t{props.originType === 'osm' && <OsmOptionsFomular setter={addOption} />}\n\t\t\t\t\n\t\t\t</FormControl>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button\n\t\t\t\t\tdisabled={!configIsValid}\n\t\t\t\t\tonClick={() => props.onSubmit(config as MlGeoJsonLayerProps)}\n\t\t\t\t>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import React, { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { Button, FormControl, TextField } from '@mui/material';\nimport { LayerSpecification } from 'maplibre-gl';\n\ninterface MbtilesLayerPropFormularProps {\n\tsetter: Dispatch<SetStateAction<LayerSpecification[]>>;\n}\n\nconst LayerSpecificationKeys = [\n\t'id',\n\t'type',\n\t'metadata',\n\t'source',\n\t'source-layer',\n\t'layout',\n\t'paint',\n\t'options',\n];\n\n\nexport default function MbtilesLayerPropFormular(props: MbtilesLayerPropFormularProps) {\n\tconst [layers, setLayers] = useState<LayerSpecification[]>([]);\n\tconst newLayer: {[key:string]: any} = {\n\t};\n\tconst toJSON = ['paint', 'layout', 'options', 'metadata'];\n\n\n\tuseEffect(() => {\n\t\tprops.setter(layers);\n\t}, [layers]);\n\n\tconst TextFields = () => {\n\t\t\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{LayerSpecificationKeys.map((key: string) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<React.Fragment key={key + '_fragment'}>\n\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\tlabel={key}\n\t\t\t\t\t\t\t\tonChange={(ev) =>\n\t\t\t\t\t\t\t\t\tnewLayer[key] = ev.target.value\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\tfunction addLayer() {\n\n\t\ttoJSON.map((key)=>{\n\t\t\tif (typeof newLayer[key] !== 'undefined'){\n\t\t\t\ttry{\n\t\t\t\t\tnewLayer[key] = JSON.parse(newLayer[key])\n\t\t\t\t} catch{\n\t\t\t\t\talert(\"Invalid JSON format, try again\")\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t})\n\n\t\tsetLayers((current) => {\n\t\t\tif (current.length > 0) {\n\t\t\t\treturn [ newLayer, ...current] as LayerSpecification[];\n\t\t\t} else {\n\t\t\t\treturn [newLayer] as LayerSpecification[];\n\t\t\t}\n\t\t});\n\t}\n\treturn (\n\t\t<>\n\t\t\t<FormControl fullWidth>\n\t\t\t\t<TextFields />\n\t\t\t</FormControl>\n\t\t\t<Button onClick={addLayer}> Add</Button>\n\t\t</>\n\t);\n}\n","import {\n\tAccordion,\n\tAccordionSummary,\n\tButton,\n\tDialogActions,\n\tDialogContent,\n\tDialogTitle,\n\tTypography,\n} from '@mui/material';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport useMap from '../../../hooks/useMap';\nimport { MlVectorTileLayerProps } from 'src/components/MlVectorTileLayer/MlVectorTileLayer';\nimport { LayerSpecification } from 'maplibre-gl';\nimport MbtilesLayerPropFormular from './utils/MbtilesLayerPropFormular';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';\n\nexport interface WmsLayerConfig {\n\turl: string;\n}\n\nexport interface MbtilesLayerFormProps {\n\toriginType: string;\n\tconfig: MlVectorTileLayerProps;\n\tmapId?: string;\n\tonSubmit: (config: MlVectorTileLayerProps) => void;\n\tonCancel: () => void;\n}\n\nexport default function MbtilesLayerForm(props: MbtilesLayerFormProps) {\n\tconst [config, setConfig] = React.useState<MlVectorTileLayerProps>(props.config);\n\tconst [fileName, setFileName] = useState<string>();\n\tconst [filePath, setFilePath] = useState<string>();\n\tconst [layers, setLayers] = useState<LayerSpecification[]>([]);\n\tconst mapHook = useMap({ mapId: props.mapId });\n\tconst [expanded, setExpanded] = useState<boolean>(false);\n\n\tconsole.log(layers)\n\n\tconst LayersToCall = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{layers.map((el, idx) => (\n\t\t\t\t\t<Typography variant=\"body2\" key={idx}>\n\t\t\t\t\t\t{idx + 1}: {JSON.stringify(el)}\n\t\t\t\t\t</Typography>\n\t\t\t\t))}\n\t\t\t</>\n\t\t);\n\t};\n\n\t/**\n\t * A Vector Tile layer configuration with a mbtile Protocol url will passed to the onComplete function of the addLayerButton.\n\t * In order to visdualize the file content, a mbtiles ProtocolHandler must be added to the map Instanz.\n\t * See the MapComponents AddLayerButton demo and the documentation of useAddProtocolHook to find out more about Protocol handlers.\n\t */\n\n\t/* example values: \n\t*\t \tid: 'countries',\n\t*\t\ttype: 'fill',\n\t*\t\t'source-layer': 'countries',\n\t* layout: {},\n\t* paint: { \"fill-color\": \"#f9a5f5\", \"fill-opacity\": 0.5 },\t\t\n\t*/\n\t\t\t\t\t\t\t\n\t\t\n\tconst configIsValid = useMemo(() => {\n\t\tif (!fileName) return false;\n\n\t\treturn true;\n\t}, [fileName]);\n\n\tuseEffect(() => {\n\t\tif (typeof fileName !== 'undefined' && typeof filePath !== 'undefined') {\n\t\t\tsetConfig({\n\t\t\t\turl: 'mbtiles://' + filePath + '/{z}/{x}/{y}',\n\t\t\t\tlayers: layers,\n\t\t\t\tlayerId: fileName,\n\t\t\t\tsourceOptions: {\n\t\t\t\t\ttype: 'vector',\n\t\t\t\t\tminzoom: 0,\n\t\t\t\t\tmaxzoom: 1,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}, [fileName, mapHook.map, filePath, layers]);\n\n\treturn (\n\t\t<>\n\t\t\t<DialogTitle> Layer from mbtiles file</DialogTitle>\n\t\t\t<DialogContent>\n\t\t\t\t<Button variant=\"contained\" component=\"label\" sx={{ marginTop: '10px' }}>\n\t\t\t\t\tSelect origin file\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\thidden\n\t\t\t\t\t\taccept={props.originType}\n\t\t\t\t\t\tonChange={(ev) => {\n\t\t\t\t\t\t\tsetFileName(ev.target.files?.[0].name);\n\n\t\t\t\t\t\t\tif (ev.target.files?.[0]) {\n\t\t\t\t\t\t\t\tconst dataUrl = URL.createObjectURL(ev.target.files?.[0]);\n\t\t\t\t\t\t\t\tsetFilePath(dataUrl);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</Button>\n\n\t\t\t\t<Accordion expanded={expanded}>\n\t\t\t\t\t<AccordionSummary aria-controls=\"panel1d-content\" id=\"panel1d-header\">\n\t\t\t\t\t\t<Typography>MB-Tile Layer properties</Typography>\n\t\t\t\t\t\t<Button onClick={() => setExpanded(!expanded)}>\n\t\t\t\t\t\t\t{expanded ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</AccordionSummary>\n\t\t\t\t\t<Typography variant=\"body1\"> Layers</Typography>\n\t\t\t\t\t{layers.length > 0 ? <LayersToCall /> : <Typography variant=\"body2\"> 0 </Typography>}\n\t\t\t\t\t<MbtilesLayerPropFormular setter={setLayers} />\n\t\t\t\t</Accordion>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions>\n\t\t\t\t<Button onClick={props.onCancel}>Cancel</Button>\n\t\t\t\t<Button disabled={!configIsValid} onClick={() => props.onSubmit(config)}>\n\t\t\t\t\tAdd\n\t\t\t\t</Button>\n\t\t\t</DialogActions>\n\t\t</>\n\t);\n}\n","import { Dialog } from '@mui/material';\nimport React, { useState } from 'react';\nimport GeoJsonLayerForm from './LayerConfigForms/GeoJsonLayerForm';\nimport LayerTypeForm from './LayerConfigForms/LayerTypeForm';\nimport WmsLayerForm from './LayerConfigForms/WmsLayerForm';\nimport { LayerConfig } from 'src/contexts/LayerContext';\nimport ProtocolHandlerLayerForm from './LayerConfigForms/ProtocolHandlerLayerForm';\nimport MbtilesLayerForm from './LayerConfigForms/MbtilesLayerForm';\nimport { MlVectorTileLayerProps } from 'src/components/MlVectorTileLayer/MlVectorTileLayer';\n\nexport interface AddLayerPopupProps {\n\topen: boolean;\n\tconfig?: LayerConfig;\n\tlayerTypes: string[];\n\tsetOpen: (open: boolean) => void;\n\tonChange?: (config: LayerConfig) => void;\n\tonComplete?: (config: LayerConfig) => void;\n}\n\ntype validTypes =\n\t| LayerConfig['type']\n\t| 'csv'\n\t| 'mbtiles'\n\t| 'topojson'\n\t| 'osm'\n\t| 'gpx'\n\t| 'kml'\n\t| 'tcx';\n\nconst AddLayerPopup = (props: AddLayerPopupProps) => {\n\tconst [layerConfig, setLayerConfig] = useState<LayerConfig | undefined>(props?.config);\n\tconst [originType, setOriginType] = useState<string>();\n\tconst layerTypes = props.layerTypes;\n\tconst supportedProtocols = layerTypes.filter(\n\t\t(el) => el !== 'wms' && el !== 'geojson' && el !== 'mbtiles'\n\t);\n\n\n\tconst updateLayerType = (type: validTypes) => {\n\t\tsetOriginType(type);\n\t\tif (supportedProtocols.includes(type)) {\n\t\t\tsetLayerConfig({ type: 'geojson', config: {} } as LayerConfig);\n\t\t} else if (type === 'mbtiles') {\n\t\t\tsetLayerConfig({ type: 'vt', config: {layers: []} } );\n\t\t} else {\n\t\t\tsetLayerConfig({ type, config: {} } as LayerConfig);\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tprops.setOpen(false);\n\t\tsetLayerConfig(undefined);\n\t};\n\n\tconst ProtocolTypeFormulars = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{supportedProtocols.map((el, idx) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{layerConfig?.type === 'geojson' && originType === el && (\n\t\t\t\t\t\t\t\t<ProtocolHandlerLayerForm\n\t\t\t\t\t\t\t\t\tkey={idx}\n\t\t\t\t\t\t\t\t\toriginType={el}\n\t\t\t\t\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\t\t\t\t\tprops?.onComplete?.({\n\t\t\t\t\t\t\t\t\t\t\t...layerConfig,\n\t\t\t\t\t\t\t\t\t\t\tconfig: config,\n\t\t\t\t\t\t\t\t\t\t\ttype: 'geojson',\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn (\n\t\t<Dialog open={props.open} onClose={handleCancel} PaperProps={{ sx: { padding: '20px' } }}>\n\t\t\t{!layerConfig?.type && <LayerTypeForm onSelect={updateLayerType} layerTypes={layerTypes} />}\n\t\t\t{layerConfig?.type === 'geojson' && originType === 'geojson' && (\n\t\t\t\t<GeoJsonLayerForm\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config });\n\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{layerConfig?.type === 'wms' && (\n\t\t\t\t<WmsLayerForm\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config });\n\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\n\t\t{layerConfig?.type === 'vt' && originType !== undefined && (\n\t\t\t\t<MbtilesLayerForm\n\t\t\t\tconfig={layerConfig as unknown as MlVectorTileLayerProps} \n\t\t\t\toriginType={originType}\n\t\t\t\t\tonSubmit={(config) => {\n\t\t\t\t\t\tif (layerConfig) {\n\t\t\t\t\t\t\tprops?.onComplete?.({ ...layerConfig, config: config } as LayerConfig);\n\t\t\t\t\t\t\thandleCancel();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonCancel={handleCancel}\n\t\t\t\t/>\n\t\t\t)}\t\n\t\t\t<ProtocolTypeFormulars key={'protocol'} />\n\t\t</Dialog>\n\t);\n};\n\nAddLayerPopup.defaultProps = {};\n\nexport default AddLayerPopup;\n\n","import { Button, SxProps } from '@mui/material';\nimport React from 'react';\nimport PlaylistAddIcon from '@mui/icons-material/PlaylistAdd';\nimport AddLayerPopup from './AddLayerPopup';\nimport { LayerConfig } from '../../contexts/LayerContext';\n//import useAddProtocol, { useAddProtocolProps } from '../../hooks/useAddProtocol/useAddProtocol';\n\n//function AddProtocol(props: useAddProtocolProps) {\n//\tuseAddProtocol({\n//\t\tprotocol: props.protocol,\n//\t\thandler: props.handler,\n//\t});\n//\treturn <></>;\n//}\nexport interface AddLayerButtonProps {\n\tsx?: SxProps;\n\t/**\n\t * An string array, to filter the supported file types that would be shown to the user\n\t * Default is: ['geojson', 'wms', 'csv', 'topojson', 'osm', 'gpx', 'kml', 'tcx']\n\t */\n\tlayerTypes?: string[];\n\tonComplete?: (config: LayerConfig) => void;\n}\n\nconst AddLayerButton = (props: AddLayerButtonProps) => {\n\tconst [popupOpen, setPopupOpen] = React.useState<boolean>(false);\n\tconst layerTypes = props.layerTypes || [\n\t\t'geojson',\n\t\t'wms',\n\t\t//'mbtiles',\n\t\t'csv',\n\t\t'topojson',\n\t\t'osm',\n\t\t'gpx',\n\t\t'kml',\n\t\t'tcx',\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tsx={{ marginTop: '10px', ...props.sx }}\n\t\t\t\tonClick={() => setPopupOpen(true)}\n\t\t\t>\n\t\t\t\t<PlaylistAddIcon />\n\t\t\t</Button>\n\t\t\t<AddLayerPopup\n\t\t\t\topen={popupOpen}\n\t\t\t\tsetOpen={setPopupOpen}\n\t\t\t\tonComplete={props?.onComplete}\n\t\t\t\tlayerTypes={layerTypes}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nAddLayerButton.defaultProps = {};\n\nexport default AddLayerButton;\n","import * as React from 'react';\nimport { useState } from 'react';\nimport AppBar from '@mui/material/AppBar';\nimport Box from '@mui/material/Box';\nimport Toolbar from '@mui/material/Toolbar';\nimport IconButton from '@mui/material/IconButton';\nimport Menu from '@mui/material/Menu';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { useTheme } from '@mui/material/styles';\n\nexport interface TopToolbarProps {\n\tchildren?: React.ReactNode;\n\tunmovableButtons?: React.ReactNode;\n\tbuttons?: React.ReactNode;\n\tlogo?: React.ReactNode;\n}\n\nconst ghPagesUrl = 'https://mapcomponents.github.io/react-map-components-maplibre/';\nconst logoUrl = ghPagesUrl + 'assets/WG-MapComponents-Logo_rgb.svg';\nconst logoUrl_dark = ghPagesUrl + 'assets/WG-MapComponents-Logo_rgb-weisse-schrift.svg';\nconst logoUrl_mobile = ghPagesUrl + 'assets/mapcomponents_logo.png';\n\nfunction TopToolbar(props: TopToolbarProps) {\n\tconst theme = useTheme();\n\n\tconst [anchorElNav, setAnchorElNav] = useState<null | HTMLElement>(null);\n\n\tconst handleOpenNavMenu = (event: React.MouseEvent<HTMLElement>) => {\n\t\tsetAnchorElNav(event.currentTarget);\n\t};\n\n\tconst handleCloseNavMenu = () => {\n\t\tsetAnchorElNav(null);\n\t};\n\n\treturn (\n\t\t<AppBar\n\t\t\tsx={{\n\t\t\t\tminHeight: '62px',\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: 1300,\n\t\t\t\ttop: 0,\n\t\t\t}}\n\t\t>\n\t\t\t<Toolbar disableGutters>\n\t\t\t\t{props.logo || (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmarginLeft: '25px',\n\t\t\t\t\t\t\t\tdisplay: { xs: 'none', md: 'flex' },\n\t\t\t\t\t\t\t\tflexGrow: { md: '30' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={theme.palette.mode === 'dark' ? logoUrl_dark : logoUrl}\n\t\t\t\t\t\t\t\tstyle={{ width: '100%', maxWidth: '250px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t<Box\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tmarginLeft: '25px',\n\t\t\t\t\t\t\t\tdisplay: { xs: 'flex', sm: 'flex', md: 'none' },\n\t\t\t\t\t\t\t\tflexGrow: { xs: '500' },\n\t\t\t\t\t\t\t\tmr: { sm: '0px' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<img src={logoUrl_mobile} width=\"50px\" height=\"50px\" />\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t\t<Box sx={{ flexGrow: 1, display: { xs: 'flex' } }}>{props.unmovableButtons}</Box>\n\t\t\t\t{props.buttons ? (\n\t\t\t\t\t<Box sx={{ flexGrow: 22, display: { xs: 'flex', sm: 'none' } }}>\n\t\t\t\t\t\t<IconButton onClick={handleOpenNavMenu}>\n\t\t\t\t\t\t\t<MenuIcon />\n\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t<Menu\n\t\t\t\t\t\t\tid=\"menu-appbar\"\n\t\t\t\t\t\t\tanchorEl={anchorElNav}\n\t\t\t\t\t\t\tanchorOrigin={{\n\t\t\t\t\t\t\t\tvertical: 'bottom',\n\t\t\t\t\t\t\t\thorizontal: 'left',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tkeepMounted\n\t\t\t\t\t\t\ttransformOrigin={{\n\t\t\t\t\t\t\t\tvertical: 'top',\n\t\t\t\t\t\t\t\thorizontal: 'left',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\topen={Boolean(anchorElNav)}\n\t\t\t\t\t\t\tonClose={handleCloseNavMenu}\n\t\t\t\t\t\t\tPaperProps={{\n\t\t\t\t\t\t\t\televation: 24,\n\t\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\t\toverflow: 'visible',\n\t\t\t\t\t\t\t\t\tmt: '15px',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\t\tdisplay: { xs: 'block', sm: 'none' },\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Box sx={{ paddingLeft: '10px', paddingRight: '10px' }} onClick={handleCloseNavMenu}>\n\t\t\t\t\t\t\t\t{props.buttons}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t</Menu>\n\t\t\t\t\t</Box>\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t\t<Box sx={{ marginRight: '25px', display: { xs: 'none', sm: 'flex' } }}>{props.buttons}</Box>\n\t\t\t</Toolbar>\n\t\t</AppBar>\n\t);\n}\n\nexport default TopToolbar;\n","import React, { useRef } from 'react';\nimport FileCopy from '@mui/icons-material/FileCopy';\nimport { Button } from '@mui/material';\n\ntype Props = {\n\tsetData: (data: string) => void;\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tbuttonComponent: any;\n\taccept?: string\n};\n\nexport default function UploadButton(props: Props) {\n\tconst fileupload = useRef<HTMLInputElement>(null);\n\tconst fileUploadOnChange = () => {\n\t\tif (!fileupload.current) return false;\n\n\t\tconst file = fileupload.current?.files?.[0];\n\t\tif (!file) return false;\n\t\tconst reader = new FileReader();\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\treader.onload = (payload: any) => {\n\t\t\tif (!payload) return;\n\n\t\t\tif (typeof props.setData === 'function') {\n\t\t\t\tprops.setData(payload.currentTarget?.result);\n\t\t\t}\n\t\t};\n\n\t\treader.readAsText(file);\n\n\t\treturn;\n\t};\n\n\tconst upload = () => {\n\t\tif (!fileupload.current) return;\n\n\t\tfileupload.current.click();\n\t};\n\treturn (\n\t\t<>\n\t\t\t{props.buttonComponent ? (\n\t\t\t\tReact.cloneElement(props.buttonComponent, { onClick: upload })\n\t\t\t) : (\n\t\t\t\t<Button onClick={upload}>\n\t\t\t\t\t<FileCopy />\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t\t<input\n\t\t\t\tref={fileupload}\n\t\t\t\tonChange={fileUploadOnChange}\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept={props.accept}\n\t\t\t\tid=\"input\"\n\t\t\t\tmultiple\n\t\t\t\tstyle={{ display: 'none' }}\t\t\t\n\t\t\t></input>\n\t\t</>\n\t);\n}\n","import {\n\tAvatar,\n\tDialog,\n\tDialogTitle,\n\tList,\n\tListItem,\n\tListItemAvatar,\n\tListItemButton,\n\tListItemText,\n} from '@mui/material';\nimport React from 'react';\nimport { StyleSpecification } from 'maplibre-gl';\n\nexport interface SelectStylePopupProps {\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\tstyles?: StyleSpecification[];\n\tonSelect?: (style: StyleSpecification) => void;\n\tstyleThumbnailPaths?: { [key: string]: string };\n}\n\nconst SelectStylePopup = (props: SelectStylePopupProps) => {\n\tconst handleCancel = () => {\n\t\tprops.setOpen(false);\n\t};\n\n\treturn (\n\t\t<Dialog open={props.open} onClose={handleCancel} PaperProps={{ sx: { padding: '20px' } }}>\n\t\t\t<DialogTitle>Select a style</DialogTitle>\n\t\t\t<List>\n\t\t\t\t{props?.styles?.map((style) => (\n\t\t\t\t\t<ListItem disableGutters key={style.name}>\n\t\t\t\t\t\t<ListItemButton\n\t\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tprops?.onSelect?.(style);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ListItemAvatar>\n\t\t\t\t\t\t\t\t<Avatar\n\t\t\t\t\t\t\t\t\tsx={{ width: '50px', height: '50px' }}\n\t\t\t\t\t\t\t\t\talt={style.name}\n\t\t\t\t\t\t\t\t\tsrc={style?.name && props?.styleThumbnailPaths?.[style.name]}\n\t\t\t\t\t\t\t\t></Avatar>\n\t\t\t\t\t\t\t</ListItemAvatar>\n\t\t\t\t\t\t\t<ListItemText primary={style.name} />\n\t\t\t\t\t\t</ListItemButton>\n\t\t\t\t\t</ListItem>\n\t\t\t\t))}\n\t\t\t</List>\n\t\t</Dialog>\n\t);\n};\n\nSelectStylePopup.defaultProps = {\n\tstyleThumbnailPaths: {\n\t},\n};\n\nexport default SelectStylePopup;\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Monokai',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#AE81FF',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#75715E' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#837f6e' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#918d7e' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#A6C22E',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(166,194,46,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#e0ebad' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#FD971F' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(253,151,31,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(18,5,68,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#A6E22E',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#A6C22E', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#A6C22E', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#66D9EF',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#21c8e8' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#AE81FF',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#E6DB74', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#eee69f',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(249,38,114,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(249,38,114,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb70a2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#e60657',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(249,38,114,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F8F8F2',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fc89b2',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(18,5,68,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(18,5,68,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fa5892',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F8F8F2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#F92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f92672',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b40544',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#E69F66',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#E69F66',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#66D9EF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Solarized',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#073642' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#657b83' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#74888f' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#84959c' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#859900',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(133,153,0,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#f2ff99' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#d30102' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(211,1,2,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(58,63,144,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#859900', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#859900', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#268bd2',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#1a6091' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#2aa198',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#eee8d5', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#fdfcf9',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(108,113,196,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(108,113,196,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#a3a6da',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#484fb5',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(108,113,196,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#cb4b16',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#e58ab6',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(58,63,144,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(58,63,144,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d33682',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#9094d3',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#cb4b16',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#6c71c4',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#3a3f90',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#268bd2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Oceanic Next',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#a3be8c' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#acc598' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#b5cba3' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a3be8c',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(163,19,14,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#cbdabe' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#b48ead' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(18,142,173,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(118,51,8,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#a3be8c', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#a3be8c', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#8fbcbb',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#5f9f9e' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#81a1c1',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#65737e', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#7e8d98',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(235,219,178,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(214,93,14,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a6480b',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(214,93,14,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b48ead',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f49456',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#b48ead',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8fbcbb',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Medieval Kingdom',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#ffd1a8' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#bfa677' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#c5af85' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#ccb892' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#556B2F',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(85,107,47,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#d1e0b8' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#FFC0CB' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(255,192,203,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(149,46,46,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#556B2F', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#556B2F', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#1E90FF',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#006ad1' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#228B22',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#f9e9cb', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#fefcf9',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(139,94,6,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(205,92,92,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#df9797',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#bc3a3a',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(205,92,92,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#FFC0CB',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#e5aaaa',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(149,46,46,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(149,46,46,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#CD5C5C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d98383',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#FFC0CB',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8B5E3C',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#8b5e3c',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#952e2e',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#A0522D',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#A0522D',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#1E90FF',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import config from './config';\n\nexport default {\n\tversion: 8,\n\tname: 'Gruvbox',\n\tcenter: [8.542, 47.372],\n\tzoom: 11.6,\n\tbearing: 0,\n\tpitch: 0,\n\tsources: {\n\t\topenmaptiles: {\n\t\t\ttype: 'vector',\n\t\t\turl: config.source_openmaptiles_url,\n\t\t},\n\t},\n\tsprite: config.sprite,\n\tglyphs: config.glyphs,\n\tlayers: [\n\t\t{ id: 'background', type: 'background', paint: { 'background-color': '#282822' } },\n\t\t{\n\t\t\tid: 'landcover-glacier',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'glacier'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-residential',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'residential'],\n\t\t\tpaint: { 'fill-color': '#b8bb26' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-commercial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'commercial']],\n\t\t\tpaint: { 'fill-color': '#bfc23c' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-industrial',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['==', 'class', 'industrial']],\n\t\t\tpaint: { 'fill-color': '#c6c951' },\n\t\t},\n\t\t{\n\t\t\tid: 'park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#b8bb26',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1.8,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[12, 0.2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'park-outline',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: {},\n\t\t\tpaint: { 'line-color': 'rgba(184,187,38,0.6)', 'line-dasharray': [3, 3] },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-cemetery',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'cemetery'],\n\t\t\tpaint: { 'fill-color': '#eceeaa' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-hospital',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'hospital'],\n\t\t\tpaint: { 'fill-color': '#fe8019' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-school',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'school'],\n\t\t\tpaint: { 'fill-color': 'rgba(254,128,25,0.8)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landuse-railway',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landuse',\n\t\t\tfilter: ['==', 'class', 'railway'],\n\t\t\tpaint: { 'fill-color': 'rgba(118,51,8,0.4)' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-wood',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'wood'],\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': 0.1,\n\t\t\t\t'fill-outline-color': 'hsla(0, 0%, 0%, 0.03)',\n\t\t\t\t'fill-antialias': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, false],\n\t\t\t\t\t\t[9, true],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'class', 'grass'],\n\t\t\tpaint: { 'fill-color': '#b8bb26', 'fill-opacity': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-grass-park',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849388993.3071' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'park',\n\t\t\tfilter: ['==', 'class', 'public_park'],\n\t\t\tpaint: { 'fill-color': '#b8bb26', 'fill-opacity': 0.8 },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-other',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['!in', 'class', 'canal', 'river', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-stream-canal',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['in', 'class', 'canal', 'stream'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.3,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0.5],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-river',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tfilter: ['==', 'class', 'river'],\n\t\t\tlayout: { 'line-cap': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 0.8],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water-offset',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tmaxzoom: 8,\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': 1,\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, [2, 0]],\n\t\t\t\t\t\t[8, [0, 0]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'water',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-color': '#5c7f72' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-pattern',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: { 'fill-translate': [0, 2.5], 'fill-pattern': 'wave' },\n\t\t},\n\t\t{\n\t\t\tid: 'landcover-ice-shelf',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849382550.77' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'landcover',\n\t\t\tfilter: ['==', 'subclass', 'ice_shelf'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#83a598',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.9],\n\t\t\t\t\t\t[10, 0.3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'building',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tpaint: { 'fill-color': '#928374', 'fill-antialias': true },\n\t\t},\n\t\t{\n\t\t\tid: 'building-top',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849364238.8171' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'building',\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-translate': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, [0, 0]],\n\t\t\t\t\t\t[16, [-2, -2]],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-outline-color': '#dfdbd7',\n\t\t\t\t'fill-color': '#a89c91',\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[16, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1],\n\t\t\t\t\t\t[16, 4],\n\t\t\t\t\t\t[20, 11],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-dasharray': [0.5, 0.25],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-service-track',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'service', 'track']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15.5, 0],\n\t\t\t\t\t\t[16, 2],\n\t\t\t\t\t\t[20, 7.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'minor_road']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(235,219,178,0.8)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'tunnel-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849354174.1904' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'tunnel'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [2, 2],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 2],\n\t\t\t\t\t\t[17, 12],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['in', 'class', 'runway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 5],\n\t\t\t\t\t\t[17, 55],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': 1,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['==', '$type', 'Polygon'], ['in', 'class', 'runway', 'taxiway']],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 0],\n\t\t\t\t\t\t[14, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'fill-color': 'rgba(214,93,14,0.5)',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-taxiway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'taxiway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 1],\n\t\t\t\t\t\t[17, 10],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'aeroway-runway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'aeroway',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['in', 'class', 'runway'], ['==', '$type', 'LineString']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f2853e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.5,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 4],\n\t\t\t\t\t\t[17, 50],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[11, 0],\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-area',\n\t\t\ttype: 'fill',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['==', '$type', 'Polygon'],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'fill-color': '#a6480b',\n\t\t\t\t'fill-outline-color': '#cfcdca',\n\t\t\t\t'fill-opacity': 0.9,\n\t\t\t\t'fill-antialias': false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(214,93,14,0.8)',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0],\n\t\t\t\t\t\t[12.5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 0.5],\n\t\t\t\t\t\t[13, 1],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 0],\n\t\t\t\t\t\t[8, 0.6],\n\t\t\t\t\t\t[9, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 4,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fe8019',\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 12,\n\t\t\tfilter: ['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 13,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-minor',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!=', 'brunnel', 'tunnel'], ['in', 'class', 'minor', 'service', 'track']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f49456',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13.5, 0],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t['in', 'class', 'secondary', 'tertiary'],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[8, 0.5],\n\t\t\t\t\t\t[20, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'primary']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8.5, 0],\n\t\t\t\t\t\t[9, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-trunk',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['in', 'class', 'trunk']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tminzoom: 5,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['!in', 'brunnel', 'bridge', 'tunnel'], ['==', 'class', 'motorway']],\n\t\t\t],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round', visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[20, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-service-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'class', 'rail'], ['has', 'service']],\n\t\t\t],\n\t\t\tlayout: { visibility: 'visible' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': 'rgba(118,51,8,0.7)',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 2],\n\t\t\t\t\t\t[20, 6],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849345966.4436' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t[\n\t\t\t\t\t'all',\n\t\t\t\t\t['!has', 'service'],\n\t\t\t\t\t['!in', 'brunnel', 'bridge', 'tunnel'],\n\t\t\t\t\t['==', 'class', 'rail'],\n\t\t\t\t],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 1],\n\t\t\t\t\t\t[13, 3],\n\t\t\t\t\t\t[14, 4],\n\t\t\t\t\t\t[20, 15],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-opacity': 1,\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[8, 1.5],\n\t\t\t\t\t\t[20, 28],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 26],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#d65d0e',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[5, 0.4],\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[7, 1.5],\n\t\t\t\t\t\t[20, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path-casing',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#f17626',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-path',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'path']],\n\t\t\t],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fe8019',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[15, 1.2],\n\t\t\t\t\t\t[20, 4],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-dasharray': [1.5, 0.75],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway_link']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-link',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', 'brunnel', 'bridge'],\n\t\t\t\t['in', 'class', 'primary_link', 'secondary_link', 'tertiary_link', 'trunk_link'],\n\t\t\t],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12.5, 0],\n\t\t\t\t\t\t[13, 1.5],\n\t\t\t\t\t\t[14, 2.5],\n\t\t\t\t\t\t[20, 11.5],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-secondary-tertiary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'secondary', 'tertiary']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 20],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-trunk-primary',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['in', 'class', 'primary', 'trunk']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-motorway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'motorway']],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#ebdbb2',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6.5, 0],\n\t\t\t\t\t\t[7, 0.5],\n\t\t\t\t\t\t[20, 18],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14, 0.4],\n\t\t\t\t\t\t[15, 0.75],\n\t\t\t\t\t\t[20, 2],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'bridge-railway-hatching',\n\t\t\ttype: 'line',\n\t\t\tmetadata: { 'mapbox:group': '1444849334699.1902' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation',\n\t\t\tfilter: ['all', ['==', 'brunnel', 'bridge'], ['==', 'class', 'rail']],\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#763308',\n\t\t\t\t'line-dasharray': [0.2, 8],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[14.5, 0],\n\t\t\t\t\t\t[15, 3],\n\t\t\t\t\t\t[20, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-4',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 4, 6, 8], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb4934',\n\t\t\t\t'line-dasharray': [3, 1, 1, 1],\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1.4,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[4, 0.4],\n\t\t\t\t\t\t[5, 1],\n\t\t\t\t\t\t[12, 3],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-land-level-2',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['==', 'admin_level', 2], ['!=', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#fb4934',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'boundary-water',\n\t\t\ttype: 'line',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'boundary',\n\t\t\tfilter: ['all', ['in', 'admin_level', 2, 4], ['==', 'maritime', 1]],\n\t\t\tlayout: { 'line-cap': 'round', 'line-join': 'round' },\n\t\t\tpaint: {\n\t\t\t\t'line-color': '#83a598',\n\t\t\t\t'line-width': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 0.6],\n\t\t\t\t\t\t[4, 1.4],\n\t\t\t\t\t\t[5, 2],\n\t\t\t\t\t\t[12, 8],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'line-opacity': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[6, 0.6],\n\t\t\t\t\t\t[10, 1],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'waterway-name-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'waterway',\n\t\t\tminzoom: 13,\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-lakeline-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'LineString'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-ocean-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['==', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'water-name-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'water_name',\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['!in', 'class', 'ocean'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Italic'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[0, 10],\n\t\t\t\t\t\t[6, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 5,\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t\t'symbol-placement': 'point',\n\t\t\t\t'symbol-spacing': 350,\n\t\t\t\t'text-letter-spacing': 0.2,\n\t\t\t\tvisibility: 'visible',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fefefe', 'text-halo-width': 1.5, 'text-halo-color': '#74aee9' },\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 16,\n\t\t\tfilter: ['all', ['==', '$type', 'Point'], ['>=', 'rank', 25], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 24], ['>=', 'rank', 15]],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'poi-level-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'poi',\n\t\t\tminzoom: 14,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'Point'],\n\t\t\t\t['all', ['<=', 'rank', 14], ['has', 'name']],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-padding': 2,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-anchor': 'top',\n\t\t\t\t'icon-image': '{class}_11',\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-offset': [0, 0.6],\n\t\t\t\t'text-size': 12,\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 0.5,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 1,\n\t\t\t\t'text-halo-color': '#633',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-path-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15.5,\n\t\t\tfilter: ['all', ['==', 'class', 'path'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-color': '#f8f4f0',\n\t\t\t\t'text-color': 'hsl(30, 23%, 62%)',\n\t\t\t\t'text-halo-width': 0.5,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-minor-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 15,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'class', 'minor', 'service', 'track'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['!has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:latin} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-name-major-en',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 12.2,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['in', 'class', 'primary', 'secondary', 'tertiary', 'trunk'],\n\t\t\t\t['has', 'name:de'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[13, 12],\n\t\t\t\t\t\t[14, 13],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-field': '{name:de} {name:nonlatin}',\n\t\t\t\t'symbol-placement': 'line',\n\t\t\t\t'text-rotation-alignment': 'map',\n\t\t\t},\n\t\t\tpaint: { 'text-halo-blur': 0.5, 'text-color': '#765', 'text-halo-width': 1 },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 8,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['!in', 'network', 'us-interstate', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': 'road_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: {},\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-interstate',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 7,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-interstate'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 'point'],\n\t\t\t\t\t\t[7, 'line'],\n\t\t\t\t\t\t[8, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'highway-shield-us-other',\n\t\t\ttype: 'symbol',\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'transportation_name',\n\t\t\tminzoom: 9,\n\t\t\tfilter: [\n\t\t\t\t'all',\n\t\t\t\t['<=', 'ref_length', 6],\n\t\t\t\t['==', '$type', 'LineString'],\n\t\t\t\t['in', 'network', 'us-highway', 'us-state'],\n\t\t\t],\n\t\t\tlayout: {\n\t\t\t\t'text-size': 10,\n\t\t\t\t'icon-image': '{network}_{ref_length}',\n\t\t\t\t'icon-rotation-alignment': 'viewport',\n\t\t\t\t'symbol-spacing': 200,\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'symbol-placement': {\n\t\t\t\t\tbase: 1,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 'point'],\n\t\t\t\t\t\t[11, 'line'],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-rotation-alignment': 'viewport',\n\t\t\t\t'icon-size': 1,\n\t\t\t\t'text-field': '{ref}',\n\t\t\t},\n\t\t\tpaint: { 'text-color': 'rgba(0, 0, 0, 1)' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-other-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!in', 'class', 'city', 'town', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-letter-spacing': 0.1,\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[12, 10],\n\t\t\t\t\t\t[15, 14],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 9,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-village-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'village'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 12],\n\t\t\t\t\t\t[15, 22],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-town-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'town'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Regular'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[10, 14],\n\t\t\t\t\t\t[15, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['!=', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-city-capital-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'capital', 2], ['==', 'class', 'city'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Semibold'],\n\t\t\t\t'text-size': {\n\t\t\t\t\tbase: 1.2,\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[7, 14],\n\t\t\t\t\t\t[11, 24],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-max-width': 8,\n\t\t\t\t'icon-image': 'star_11',\n\t\t\t\t'text-offset': [0.4, 0],\n\t\t\t\t'icon-size': 0.8,\n\t\t\t\t'text-anchor': 'left',\n\t\t\t},\n\t\t\tpaint: { 'text-color': '#fdfdfd', 'text-halo-width': 1.2, 'text-halo-color': '#433' },\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-3-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['>=', 'rank', 3], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[3, 11],\n\t\t\t\t\t\t[7, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-2-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 2], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[2, 11],\n\t\t\t\t\t\t[5, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-country-1-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tfilter: ['all', ['==', 'class', 'country'], ['==', 'rank', 1], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': {\n\t\t\t\t\tstops: [\n\t\t\t\t\t\t[1, 11],\n\t\t\t\t\t\t[4, 17],\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['!has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:latin}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'place-continent-en',\n\t\t\ttype: 'symbol',\n\t\t\tmetadata: { 'mapbox:group': '1444849242106.713' },\n\t\t\tsource: 'openmaptiles',\n\t\t\t'source-layer': 'place',\n\t\t\tmaxzoom: 1,\n\t\t\tfilter: ['all', ['==', 'class', 'continent'], ['has', 'name:de']],\n\t\t\tlayout: {\n\t\t\t\t'text-font': ['Open Sans Bold'],\n\t\t\t\t'text-field': '{name:de}\\n{name:nonlatin}',\n\t\t\t\t'text-size': 14,\n\t\t\t\t'text-max-width': 6.25,\n\t\t\t\t'text-transform': 'uppercase',\n\t\t\t},\n\t\t\tpaint: {\n\t\t\t\t'text-halo-blur': 1,\n\t\t\t\t'text-color': '#fdfdfd',\n\t\t\t\t'text-halo-width': 2,\n\t\t\t\t'text-halo-color': '#433',\n\t\t\t},\n\t\t},\n\t],\n};\n","import { Button, SxProps } from '@mui/material';\nimport React from 'react';\nimport SelectStylePopup from './SelectStylePopup';\nimport WallpaperIcon from '@mui/icons-material/Wallpaper';\nimport LayerContext from '../../contexts/LayerContext';\nimport MonokaiStyle from '../../omt_styles/monokai';\nimport SolarizedStyle from '../../omt_styles/solarized';\nimport OceanicNextStyle from '../../omt_styles/oceanic_next';\nimport MedievalKingdomStyle from '../../omt_styles/medieval_kingdom';\nimport GruvboxStyle from '../../omt_styles/gruvbox';\n\nimport { StyleSpecification } from 'maplibre-gl';\n\nexport interface SelectStyleButtonProps {\n\tsx?: SxProps;\n\tonComplete?: (config: StyleSpecification[]) => void;\n\tstyles?: StyleSpecification[];\n\tdefaultStyles?: boolean;\n\tstyleThumbnailPaths?: { [key: string]: string };\n}\n\nconst defaultStyleThumbnailPath =\n\t'https://mapcomponents.github.io/react-map-components-maplibre/assets/style_thumbnails/';\n\nconst SelectStyleButton = (props: SelectStyleButtonProps) => {\n\tconst layerContext = React.useContext(LayerContext);\n\tconst [popupOpen, setPopupOpen] = React.useState<boolean>(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"contained\"\n\t\t\t\tsx={{ marginTop: '10px', ...props.sx }}\n\t\t\t\tonClick={() => setPopupOpen(true)}\n\t\t\t>\n\t\t\t\t<WallpaperIcon />\n\t\t\t</Button>\n\t\t\t<SelectStylePopup\n\t\t\t\tstyles={\n\t\t\t\t\t[\n\t\t\t\t\t\t...(props.defaultStyles\n\t\t\t\t\t\t\t? [MonokaiStyle, SolarizedStyle, OceanicNextStyle, MedievalKingdomStyle, GruvboxStyle]\n\t\t\t\t\t\t\t: []),\n\t\t\t\t\t\t...(props.styles || []),\n\t\t\t\t\t] as StyleSpecification[]\n\t\t\t\t}\n\t\t\t\tstyleThumbnailPaths={{\n\t\t\t\t\t...props?.styleThumbnailPaths,\n\t\t\t\t\t...(props.defaultStyles\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tMonokai: defaultStyleThumbnailPath + 'monokai.png',\n\t\t\t\t\t\t\t\tGruvbox: defaultStyleThumbnailPath + 'gruvbox.png',\n\t\t\t\t\t\t\t\t'Oceanic Next': defaultStyleThumbnailPath + 'oceanic_next.png',\n\t\t\t\t\t\t\t\tSolarized: defaultStyleThumbnailPath + 'solarized.png',\n\t\t\t\t\t\t\t\t'Medieval Kingdom': defaultStyleThumbnailPath + 'medieval_kingdom.png',\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {}),\n\t\t\t\t}}\n\t\t\t\topen={popupOpen}\n\t\t\t\tsetOpen={setPopupOpen}\n\t\t\t\tonSelect={(style) => {\n\t\t\t\t\t// Todo: should be possible without clearing bg layers first & setTimeout\n\t\t\t\t\tlayerContext.setBackgroundLayers([]);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tlayerContext.updateStyle(style);\n\t\t\t\t\t}, 100);\n\t\t\t\t\tsetPopupOpen(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nSelectStyleButton.defaultProps = {\n\tstyle: [],\n\tdefaultStyles: true,\n};\n\nexport default SelectStyleButton;\n","import React, {useState} from 'react';\nimport Box from '@mui/material/Box';\nimport { default as MuiSpeedDial, OpenReason } from '@mui/material/SpeedDial';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\nimport SpeedDialAction from '@mui/material/SpeedDialAction';\nimport CloseIcon from '@mui/icons-material/Close';\nimport WallpaperIcon from '@mui/icons-material/Wallpaper';\nimport LayersIcon from '@mui/icons-material/Layers';\nimport DesignServicesIcon from '@mui/icons-material/DesignServices';\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\n\nconst actions = [\n\t{ icon: <PictureAsPdfIcon />, name: 'Create PDF' },\n\t{ icon: <DesignServicesIcon />, name: 'Sketch' },\n\t{ icon: <LayersIcon />, name: 'Layers' },\n\t{ icon: <WallpaperIcon />, name: 'Background' },\n];\n\nexport interface SpeedDialProps {\n\t/**\n\t * Id of the target MapLibre instance in mapContext\n\t */\n\tmapId?: string;\n}\n\n/*\n * SpeedDial Button, which opens up options for Background, Layers, Sketch and Create PDF\n */\n\nconst SpeedDial = () => {\n\tconst [open, setOpen] = useState(false);\n\n\tconst handleOpen = (_event: React.SyntheticEvent<Event>, reason: OpenReason) => {\n\t\tif (reason === 'toggle') {\n\t\t\tsetOpen(true);\n\t\t}\n\t};\n\tconst handleClose = () => setOpen(false);\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\theight: 330,\n\t\t\t\ttransform: 'translateZ(0px)',\n\t\t\t\tflexGrow: 1,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tbottom: 0,\n\t\t\t\tright: 0,\n\t\t\t\twidth: '100px',\n\t\t\t\tzIndex: '1000',\n\t\t\t}}\n\t\t>\n\t\t\t<MuiSpeedDial\n\t\t\t\tariaLabel=\"SpeedDial tooltip example\"\n\t\t\t\tsx={{ position: 'absolute', bottom: 16, right: 16 }}\n\t\t\t\ticon={open ? <CloseIcon fontSize=\"large\" /> : <MoreVertIcon fontSize=\"large\" />}\n\t\t\t\tonClick={open ? handleClose : (handleOpen as () => void)}\n\t\t\t\tonOpen={handleOpen}\n\t\t\t\topen={open}\n\t\t\t>\n\t\t\t\t{actions.map((action) => (\n\t\t\t\t\t<SpeedDialAction\n\t\t\t\t\t\tkey={action.name}\n\t\t\t\t\t\ticon={action.icon}\n\t\t\t\t\t\ttooltipTitle={action.name}\n\t\t\t\t\t\ttooltipOpen\n\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\tFabProps={{ sx: { color: 'text.primary' } }}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</MuiSpeedDial>\n\t\t</Box>\n\t);\n};\n\nSpeedDial.defaultProps = {\n\tmapId: undefined,\n};\nexport default SpeedDial;\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport { MlVectorTileLayerProps } from 'src/components/MlVectorTileLayer/MlVectorTileLayer';\nimport { Layer } from 'wms-capabilities';\nimport { configureStore, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { MlWmsLayerProps } from '../components/MlWmsLayer/MlWmsLayer';\n\nexport interface wmsLoaderConfigProps {\n\tgetFeatureInfoUrl: string;\n\tlayers: Layer[];\n\tname: string;\n\topen: boolean;\n\tvisible: boolean;\n\twmsUrl: string;\n}\n\nexport interface wmsConfig {\n\tfeatureInfoActive?: boolean;\n\tconfig?: wmsLoaderConfigProps;\n\turl: string;\n}\n\nexport type WmsLayerConfig = {\n\ttype: 'wms';\n\tuuid: string;\n\tname?: string;\n\tid?: string;\n\tconfig?: MlWmsLayerProps;\n\tmasterVisible?: boolean;\n};\n\nexport type GeojsonLayerConfig = {\n\ttype: 'geojson';\n\tuuid: string;\n\tname?: string;\n\tid?: string;\n\tconfig: MlGeoJsonLayerProps;\n\tmasterVisible?: boolean;\n\tconfigurable?: boolean;\n};\n\nexport type VtLayerConfig = {\n\ttype: 'vt';\n\tuuid: string;\n\tname?: string;\n\tid?: string;\n\tconfig: MlVectorTileLayerProps;\n\tvisible?: boolean;\n\tmasterVisible?: boolean;\n};\n\nexport type FolderLayerConfig = {\n\ttype: 'folder';\n\tuuid: string;\n\tname?: string;\n\tvisible?: boolean;\n\tmasterVisible?: boolean;\n\tid?: string;\n\tconfig?: undefined;\n};\n\nexport type LayerConfig = WmsLayerConfig | GeojsonLayerConfig | VtLayerConfig | FolderLayerConfig;\n\nexport interface MapProps {\n\tcenter: [number, number];\n\tzoom: number;\n}\n\nexport interface LayerOrderItem {\n\tuuid: string;\n\tlayers?: LayerOrderItem[];\n}\n\nexport interface MapConfig {\n\t/*uuid: string;*/\n\tname: string;\n\tmapProps: MapProps;\n\tlayers: LayerConfig[];\n\tlayerOrder: LayerOrderItem[];\n}\n\nexport type MapState = {\n\tmapConfigs: { [key: string]: MapConfig };\n};\n\nexport type RootState = {\n\tmapConfig: MapState;\n};\n\nfunction processLayerOrderItems(\n\taction: (item: LayerOrderItem, parent?: LayerOrderItem) => void,\n\titems: LayerOrderItem[],\n\tparent?: LayerOrderItem\n): void {\n\titems.forEach((item) => {\n\t\taction(item, parent);\n\t\tif (item.layers && item.layers.length > 0) {\n\t\t\tprocessLayerOrderItems(action, item.layers, item);\n\t\t}\n\t});\n}\n\nexport const initialState: MapState = {\n\tmapConfigs: {},\n};\n//@ts-ignore\nconst mapConfigSlice = createSlice({\n\tname: 'mapConfig',\n\tinitialState,\n\treducers: {\n\t\t// Add or update a MapConfig\n\t\tsetMapConfig: (state, action: PayloadAction<{ key: string; mapConfig: MapConfig }>) => {\n\t\t\tconst mapConfig = action.payload.mapConfig;\n\t\t\tconst key = action.payload.key;\n\t\t\t//@ts-ignore\n\t\t\tstate.mapConfigs[key] = mapConfig;\n\t\t},\n\t\t// Remove a MapConfig by its uuid\n\t\tremoveMapConfig: (state: MapState, action: PayloadAction<{ key: string }>) => {\n\t\t\tdelete state.mapConfigs[action.payload.key];\n\t\t},\n\t\t// Add or update a layer within a MapConfig\n\t\tsetLayerInMapConfig: (\n\t\t\tstate: MapState,\n\t\t\taction: PayloadAction<{\n\t\t\t\tmapConfigKey: string;\n\t\t\t\tlayer: LayerConfig;\n\t\t\t}>\n\t\t) => {\n\t\t\tconst { mapConfigKey, layer: updatedLayer } = action.payload;\n\t\t\tconst mapConfig = state.mapConfigs[mapConfigKey];\n\t\t\tif (mapConfig) {\n\t\t\t\tfor (let i = 0; i < mapConfig.layers.length; i++) {\n\t\t\t\t\tif (mapConfig.layers[i].uuid === updatedLayer.uuid) {\n\t\t\t\t\t\tmapConfig.layers[i] = updatedLayer;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Remove a layer from a MapConfig\n\t\tremoveLayerFromMapConfig: (\n\t\t\tstate: MapState,\n\t\t\taction: PayloadAction<{\n\t\t\t\tmapConfigKey: string;\n\t\t\t\tlayerUuid: string;\n\t\t\t}>\n\t\t) => {\n\t\t\tconst { mapConfigKey, layerUuid } = action.payload;\n\t\t\tconst mapConfig = state.mapConfigs[mapConfigKey];\n\n\t\t\tif (mapConfig) {\n\t\t\t\tconst targetLayerIndex = mapConfig.layers.findIndex((el) => el.uuid === layerUuid);\n\t\t\t\tif (targetLayerIndex !== -1) {\n\t\t\t\t\tdelete mapConfig.layers[targetLayerIndex];\n\t\t\t\t\tprocessLayerOrderItems(function (_, parent?: LayerOrderItem): void {\n\t\t\t\t\t\tif (parent && parent.layers) {\n\t\t\t\t\t\t\tparent.layers = parent.layers.filter((child) => child.uuid !== layerUuid);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, mapConfig.layerOrder);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateLayerOrder: (\n\t\t\tstate: MapState,\n\t\t\taction: PayloadAction<{ mapConfigKey: string; newOrder: LayerOrderItem[] }>\n\t\t) => {\n\t\t\tconst { mapConfigKey, newOrder } = action.payload;\n\t\t\tconst mapConfig = state.mapConfigs[mapConfigKey];\n\t\t\tif (mapConfig) {\n\t\t\t\tmapConfig.layerOrder = newOrder;\n\t\t\t}\n\t\t},\n\t\t// masterVisible property will be applied to all children of a folder that is set to be not visible\n\t\t// masterVisible will over rule the actual layer config if set to false\n\t\t// if masterVisible is true the actual layerConfig visibility setting is respected\n\t\tsetMasterVisible(\n\t\t\tstate: MapState,\n\t\t\taction: PayloadAction<{ mapConfigKey: string; layerId: string; masterVisible: boolean }>\n\t\t) {\n\t\t\tconst { mapConfigKey, layerId, masterVisible } = action.payload;\n\t\t\tconst mapConfig = state.mapConfigs[mapConfigKey];\n\t\t\tif (mapConfig) {\n\t\t\t\tconst targetLayerIndex = mapConfig.layers.findIndex((el) => el.uuid === layerId);\n\t\t\t\tif (targetLayerIndex !== -1) {\n\t\t\t\t\tconst layerConfig = mapConfig.layers[targetLayerIndex];\n\t\t\t\t\tif (layerConfig) {\n\t\t\t\t\t\tconst updatedLayers = [...mapConfig.layers];\n\t\t\t\t\t\tif (layerConfig.type === 'folder') {\n\t\t\t\t\t\t\tmapConfig.layerOrder.forEach((folder) => {\n\t\t\t\t\t\t\t\tif (folder.uuid === layerId) {\n\t\t\t\t\t\t\t\t\tfolder.layers?.forEach((childUuid) => {\n\t\t\t\t\t\t\t\t\t\tconst childLayerIndex = mapConfig.layers.findIndex(\n\t\t\t\t\t\t\t\t\t\t\t(el) => el.uuid === childUuid.uuid\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\tconst childLayer = updatedLayers[childLayerIndex];\n\n\t\t\t\t\t\t\t\t\t\tupdatedLayers[childLayerIndex] = {\n\t\t\t\t\t\t\t\t\t\t\t...childLayer,\n\t\t\t\t\t\t\t\t\t\t\tmasterVisible,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif (childLayer?.type === 'vt' && childLayer?.config?.layers) {\n\t\t\t\t\t\t\t\t\t\t\tchildLayer.config.layers = childLayer.config.layers.map((layer) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t...layer,\n\t\t\t\t\t\t\t\t\t\t\t\tmasterVisible,\n\t\t\t\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (layerConfig.type === 'vt' && layerConfig?.config?.layers) {\n\t\t\t\t\t\t\tlayerConfig.config.layers = layerConfig.config.layers.map((layer) => ({\n\t\t\t\t\t\t\t\t...layer,\n\t\t\t\t\t\t\t\tmasterVisible,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.mapConfigs[mapConfigKey].layers = updatedLayers;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n});\nexport const getLayerByUuid = (state: MapState, uuid: string): LayerConfig | null => {\n\tconst mapConfigs = state.mapConfigs;\n\n\tfor (const key in mapConfigs) {\n\t\tconst mapConfig = mapConfigs[key];\n\t\tconst targetLayerIndex = mapConfig.layers.findIndex((el) => el.uuid === uuid);\n\t\tconst foundLayer = mapConfig.layers[targetLayerIndex];\n\t\tif (foundLayer) return foundLayer;\n\t}\n\treturn null;\n};\n\nexport const extractUuidsFromLayerOrder = (state: RootState, mapConfigKey: string): string[] => {\n\tconst mapConfig = state.mapConfig.mapConfigs[mapConfigKey];\n\tif (!mapConfig) {\n\t\treturn [];\n\t}\n\tconst layerOrder = mapConfig.layerOrder;\n\tconst uuids: string[] = [];\n\tfunction extractUuids(items: LayerOrderItem[]): void {\n\t\titems.forEach((item) => {\n\t\t\tuuids.push(item.uuid);\n\t\t\tif (item.layers && item.layers.length > 0) {\n\t\t\t\textractUuids(item.layers);\n\t\t\t}\n\t\t});\n\t}\n\n\textractUuids(layerOrder);\n\treturn uuids;\n};\n\nconst store = configureStore({\n\treducer: {\n\t\tmapConfig: mapConfigSlice.reducer,\n\t},\n});\n\nexport const {\n\tsetMapConfig,\n\tremoveMapConfig,\n\tsetLayerInMapConfig,\n\tremoveLayerFromMapConfig,\n\tupdateLayerOrder,\n\tsetMasterVisible,\n} = mapConfigSlice.actions;\nexport default store;\n","import React from 'react';\nimport ColorPicker from '../../../ColorPicker/ColorPicker';\n\ninterface PaintPropsColorPickerProps {\n\tvalue: string;\n\tonChange: (value: string) => void;\n}\n\nfunction PaintPropsColorPicker(props: PaintPropsColorPickerProps) {\n\treturn (\n\t\t<ColorPicker\n\t\t\tvalue={props.value}\n\t\t\tlabel=\"Color\"\n\t\t\tonChange={(value: string) => {\n\t\t\t\tif (typeof props.onChange === 'function') {\n\t\t\t\t\tprops.onChange(value);\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n}\nexport default PaintPropsColorPicker;\n","import React, { useRef, useCallback, useMemo } from 'react';\nimport {\n\tCircleLayerSpecification,\n\tFillLayerSpecification,\n\tLineLayerSpecification,\n} from 'maplibre-gl';\nimport {\n\tBox,\n\tListItem,\n\tPaper,\n\tSlider,\n\tSliderProps,\n\tTextField,\n\tTypography,\n\tstyled,\n} from '@mui/material';\nimport ColorPicker from './input/ColorPicker';\nimport {\n\tgetLayerByUuid,\n\tLayerConfig,\n\tRootState,\n\tsetLayerInMapConfig,\n} from '../../../stores/map.store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { MlGeoJsonLayerProps } from 'src/components/MlGeoJsonLayer/MlGeoJsonLayer';\n\nconst PaperStyled = styled(Paper)({\n\tmarginLeft: '-100px',\n\tmarginRight: '-21px',\n\tpaddingLeft: '53px',\n\tborderRadius: '0px',\n\tboxShadow: 'none',\n\tbackgroundColor: 'rgb(0, 0, 0, 0)',\n});\nconst BoxStyled = styled(Box)({\n\tmarginLeft: '61px',\n});\n\nconst mapPropKeyToFormInputType: { [key: string]: string } = {\n\t'circle-color': 'colorpicker',\n\t'circle-radius': 'slider',\n\t'circle-stroke-color': 'colorpicker',\n\t'circle-stroke-width': 'slider',\n\t'fill-color': 'colorpicker',\n\t'fill-outline-color': 'colorpicker',\n\t'line-color': 'colorpicker',\n\t'line-width': 'slider',\n\t'line-blur': 'slider',\n};\nconst mapPropKeyToFormInputTypeKeys = Object.keys(mapPropKeyToFormInputType);\n\nconst inputPropsByPropKey: { [key: string]: { [propKey: string]: number | string } } = {\n\t'circle-stroke-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 20,\n\t},\n\t'circle-radius': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-blur': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n\t'line-width': {\n\t\tstep: 1,\n\t\tmin: 1,\n\t\tmax: 100,\n\t},\n};\n\nexport type paintPropsType =\n\t| CircleLayerSpecification['paint']\n\t| FillLayerSpecification['paint']\n\t| LineLayerSpecification['paint'];\n\ninterface LayerPropertyFormProps {\n\tlayerUuid: string;\n\tmapConfigKey: string;\n}\n\nfunction LayerPropertyForm(props: LayerPropertyFormProps) {\n\tconst key = useRef(Math.round(Math.random() * 10000000000));\n\tconst layer = getLayerByUuid(\n\t\tuseSelector((state: RootState) => state.mapConfig),\n\t\tprops.layerUuid\n\t);\n\tconst dispatch = useDispatch();\n\n\tconst paintProps = useMemo(() => {\n\t\tif ((layer?.config as MlGeoJsonLayerProps | undefined)?.options?.paint) {\n\t\t\treturn (layer?.config as MlGeoJsonLayerProps | undefined)?.options?.paint;\n\t\t}\n\t\treturn {};\n\t}, [(layer?.config as MlGeoJsonLayerProps | undefined)?.options?.paint]);\n\n\tconst updatePaintProp = (key: keyof paintPropsType, value: number | string) => {\n\t\tconst updatedLayer = {\n\t\t\t...layer,\n\t\t\tconfig: {\n\t\t\t\t...layer?.config,\n\t\t\t\toptions: {\n\t\t\t\t\t...(layer?.config as MlGeoJsonLayerProps | undefined)?.options,\n\t\t\t\t\tpaint: {\n\t\t\t\t\t\t...(layer?.config as MlGeoJsonLayerProps | undefined)?.options?.paint,\n\t\t\t\t\t\t[key]: value,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t} as LayerConfig;\n\n\t\tdispatch(\n\t\t\tsetLayerInMapConfig({\n\t\t\t\tmapConfigKey: props.mapConfigKey,\n\t\t\t\tlayer: updatedLayer,\n\t\t\t})\n\t\t);\n\t};\n\n\tconst getFormInputByType = useCallback(\n\t\t(key: keyof paintPropsType) => {\n\t\t\tif (\n\t\t\t\tpaintProps?.[key] &&\n\t\t\t\tmapPropKeyToFormInputTypeKeys.indexOf(key) !== -1 &&\n\t\t\t\t(typeof paintProps[key] === 'number' || typeof paintProps[key] === 'string')\n\t\t\t) {\n\t\t\t\tconst label = (\n\t\t\t\t\t<Typography id={key + '_label'} gutterBottom>\n\t\t\t\t\t\t{key}\n\t\t\t\t\t</Typography>\n\t\t\t\t);\n\t\t\t\tswitch (mapPropKeyToFormInputType[key]) {\n\t\t\t\t\tcase 'slider':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Slider\n\t\t\t\t\t\t\t\t\t{...(inputPropsByPropKey[key] as SliderProps)}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key] as number | number[] | undefined}\n\t\t\t\t\t\t\t\t\tvalueLabelDisplay=\"auto\"\n\t\t\t\t\t\t\t\t\tonChange={(_ev: Event, value: number) => {\n\t\t\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t\t\tupdatePaintProp(key, value);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'numberfield':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<TextField\n\t\t\t\t\t\t\t\t\tinputProps={{ inputMode: 'decimal', pattern: '[0-9]*' }}\n\t\t\t\t\t\t\t\t\tvalue={paintProps[key]}\n\t\t\t\t\t\t\t\t\tonChange={(ev: React.ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\t\t\t\tif (ev?.target?.value) {\n\t\t\t\t\t\t\t\t\t\t\tupdatePaintProp(key, parseInt(ev.target.value));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'colorpicker':\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<React.Fragment key={key}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t<Box sx={{ '& > div': { width: 'initial !important' } }}>\n\t\t\t\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\tvalue={paintProps[key] as string}\n\t\t\t\t\t\t\t\t\t\tonChange={(value: string) => {\n\t\t\t\t\t\t\t\t\t\t\tupdatePaintProp(key, value);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\t[paintProps]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PaperStyled>\n\t\t\t\t<ListItem key={key.current + '_paintPropForm'}>\n\t\t\t\t\t<BoxStyled>\n\t\t\t\t\t\t{paintProps &&\n\t\t\t\t\t\t\tObject.keys(paintProps).map((el: keyof paintPropsType) => getFormInputByType(el))}\n\t\t\t\t\t</BoxStyled>\n\t\t\t\t</ListItem>\n\t\t\t</PaperStyled>\n\t\t</>\n\t);\n}\nexport default LayerPropertyForm;\n","import React, { useState } from 'react';\nimport {\n\tBox,\n\tIconButton,\n\tList,\n\tListItem,\n\tListItemIcon,\n\tListItemText,\n\tstyled,\n\tSxProps,\n} from '@mui/material';\nimport { CheckboxListItemIcon, CheckboxStyled } from '../LayerList/util/LayerListItemVectorLayer';\nimport {\n\tgetLayerByUuid,\n\tLayerConfig,\n\tLayerOrderItem,\n\tRootState,\n\tsetLayerInMapConfig,\n\tsetMasterVisible,\n\tupdateLayerOrder,\n\tWmsLayerConfig,\n} from '../../stores/map.store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport TuneIcon from '@mui/icons-material/Tune';\nimport ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown';\nimport ArrowCircleUpIcon from '@mui/icons-material/ArrowCircleUp';\nimport ConfirmDialog from '../ConfirmDialog';\nimport LayerPropertyForm from './util/LayerPropertyForm';\n\ninterface LayerTreeListItemProps {\n\tvisible?: boolean;\n\ttype?: 'background' | 'background-labels' | 'layer' | 'wms-layer' | 'vector-tile-layer';\n\tname?: string;\n\tdescription?: string;\n\tsetLayerState?: (state: unknown) => void;\n\tshowDeleteButton?: boolean;\n\tlistItemSx?: SxProps;\n\tbuttons?: React.JSX.Element;\n\tsortable?: boolean;\n\tmapConfigKey: string;\n\tlayerOrderConfig: LayerOrderItem;\n}\n\nconst TuneIconButton = styled(IconButton)({\n\tpadding: '4px',\n\tmarginTop: '-3px',\n});\nconst DeleteIconButton = styled(IconButton)({\n\tmarginLeft: '20px',\n});\nconst ListItemStyled = styled(ListItem)({\n\tpaddingRight: 0,\n\tpaddingLeft: 0,\n\tpaddingTop: 0,\n\tpaddingBottom: '4px',\n});\nconst ListItemIconStyled = styled(ListItemIcon)({\n\tminWidth: '30px',\n});\nconst IconButtonStyled = styled(IconButton)({\n\tmarginRight: '0px',\n\tpadding: '0px',\n});\nconst BoxStyled = styled(Box)<{ open: boolean }>(({ open }) => ({\n\tdisplay: open ? 'block' : 'none',\n}));\nconst ListStyled = styled(List)({\n\tmarginLeft: '50px',\n});\n\nfunction LayerTreeListItem(props: LayerTreeListItemProps) {\n\tconst [paintPropsFormVisible, setPaintPropsFormVisible] = useState(false);\n\tconst [showDeletionConfirmationDialog, setShowDeletionConfirmationDialog] = useState(false);\n\tconst layer = getLayerByUuid(\n\t\tuseSelector((state: RootState) => state.mapConfig),\n\t\tprops.layerOrderConfig.uuid\n\t);\n\tconst [open, setOpen] = useState(false);\n\n\tconst dispatch = useDispatch();\n\n\tconst mapConfig = useSelector(\n\t\t(state: RootState) => state.mapConfig.mapConfigs[props.mapConfigKey]\n\t);\n\n\tfunction moveLayer(uuid: string, getNewPos: (oldPos: number) => number) {\n\t\tconst newLayerOrder = JSON.parse(JSON.stringify(mapConfig.layerOrder));\n\t\tconst findAndMove = (layers: LayerOrderItem[]): boolean => {\n\t\t\tlet found = false;\n\t\t\tlayers.forEach((layer, index) => {\n\t\t\t\tif (found) return;\n\t\t\t\tif (layer.uuid === uuid) {\n\t\t\t\t\tconst newPos = getNewPos(index);\n\t\t\t\t\tif (newPos < 0 || newPos >= layers.length) {\n\t\t\t\t\t\tthrow new Error('New position is out of bounds');\n\t\t\t\t\t}\n\t\t\t\t\tconst [item] = layers.splice(index, 1);\n\t\t\t\t\tlayers.splice(newPos, 0, item);\n\t\t\t\t\tfound = true;\n\t\t\t\t} else if (layer.layers) {\n\t\t\t\t\tif (findAndMove(layer.layers)) {\n\t\t\t\t\t\tfound = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn found;\n\t\t};\n\t\tfindAndMove(newLayerOrder);\n\t\tdispatch(updateLayerOrder({ mapConfigKey: props.mapConfigKey, newOrder: newLayerOrder }));\n\t}\n\n\tconst moveDown = (uuid: string) => {\n\t\tmoveLayer(uuid, (idx) => idx + 1);\n\t};\n\n\tconst moveUp = (uuid: string) => {\n\t\tmoveLayer(uuid, (idx) => idx - 1);\n\t};\n\n\tfunction handleToggleVisibility(visible: boolean, specificLayerId = '') {\n\t\tconst nextVisible = !visible;\n\t\tif (layer) {\n\t\t\ttoggleVisible(layer, nextVisible, specificLayerId);\n\t\t\tif (layer.type === 'folder' || (layer.type === 'vt' && specificLayerId === '')) {\n\t\t\t\tdispatch(\n\t\t\t\t\tsetMasterVisible({\n\t\t\t\t\t\tmapConfigKey: props.mapConfigKey,\n\t\t\t\t\t\tlayerId: layer.uuid,\n\t\t\t\t\t\tmasterVisible: nextVisible,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction toggleVisible(\n\t\tlayer: LayerConfig,\n\t\tnextVisible: boolean,\n\t\tspecificLayerId: string\n\t): LayerConfig {\n\t\t//TODO: update layout for all layer types\n\t\tlet updatedLayer: LayerConfig = { ...layer };\n\t\tif (layer?.type === 'folder') {\n\t\t\tupdatedLayer = {\n\t\t\t\t...layer,\n\t\t\t\tvisible: !layer.visible,\n\t\t\t};\n\t\t} else {\n\t\t\tswitch (layer?.type) {\n\t\t\t\tcase 'geojson': {\n\t\t\t\t\tupdatedLayer = {\n\t\t\t\t\t\t...layer,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t...layer.config,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t...layer?.config?.options,\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...layer?.config?.options?.layout,\n\t\t\t\t\t\t\t\t\tvisibility: nextVisible ? 'visible' : 'none',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} as LayerConfig;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'vt': {\n\t\t\t\t\tlet updateSublayerOnly = false;\n\t\t\t\t\tconst updatedSubLayers = layer.config.layers.map((layer) => {\n\t\t\t\t\t\tif (layer.id === specificLayerId) {\n\t\t\t\t\t\t\tupdateSublayerOnly = true;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...layer,\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...layer.layout,\n\t\t\t\t\t\t\t\t\tvisibility: nextVisible ? 'visible' : 'none',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn layer;\n\t\t\t\t\t});\n\t\t\t\t\tif (updateSublayerOnly) {\n\t\t\t\t\t\tupdatedLayer = {\n\t\t\t\t\t\t\t...layer,\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\t...layer.config,\n\t\t\t\t\t\t\t\tlayers: updatedSubLayers,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} as LayerConfig;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdatedLayer = {\n\t\t\t\t\t\t\t...layer,\n\t\t\t\t\t\t\tvisible: nextVisible,\n\t\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t\t...layer.config,\n\t\t\t\t\t\t\t\tlayers: updatedSubLayers,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} as LayerConfig;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'wms': {\n\t\t\t\t\tupdatedLayer = {\n\t\t\t\t\t\t...layer,\n\t\t\t\t\t\tvisible: nextVisible,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\t...layer.config,\n\t\t\t\t\t\t\tvisible: nextVisible,\n\t\t\t\t\t\t},\n\t\t\t\t\t} as WmsLayerConfig;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdispatch(\n\t\t\tsetLayerInMapConfig({\n\t\t\t\tmapConfigKey: props.mapConfigKey,\n\t\t\t\tlayer: updatedLayer,\n\t\t\t})\n\t\t);\n\t\treturn updatedLayer;\n\t}\n\n\tfunction renderLayerItem(layer: LayerConfig): React.ReactNode {\n\t\tlet visible = true;\n\t\tif (layer?.type === 'geojson') {\n\t\t\tvisible = layer?.config?.options?.layout?.visibility !== 'none';\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ListItemStyled\n\t\t\t\t\t\tkey={layer.uuid}\n\t\t\t\t\t\tsx={{ ...props.listItemSx }}\n\t\t\t\t\t\tsecondaryAction={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{props?.buttons}\n\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tmoveDown(layer.uuid);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ArrowCircleDownIcon />\n\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t<IconButtonStyled\n\t\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tmoveUp(layer.uuid);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ArrowCircleUpIcon />\n\t\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t\t{layer.configurable && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TuneIconButton\n\t\t\t\t\t\t\t\t\t\t\tedge={'end'}\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"settings\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetPaintPropsFormVisible((current) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn !current;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<TuneIcon />\n\t\t\t\t\t\t\t\t\t\t</TuneIconButton>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\t\t\tchecked={visible}\n\t\t\t\t\t\t\t\tdisabled={layer.masterVisible === false}\n\t\t\t\t\t\t\t\tonClick={() => handleToggleVisibility(visible)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t\t\t<ListItemText\n\t\t\t\t\t\t\tvariant=\"layerlist\"\n\t\t\t\t\t\t\tprimary={layer.name || ''}\n\t\t\t\t\t\t\tsecondary={props.description}\n\t\t\t\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{props.buttons}\n\t\t\t\t\t</ListItemStyled>\n\t\t\t\t\t{layer.configurable && paintPropsFormVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{props.showDeleteButton && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<DeleteIconButton edge=\"end\" aria-label=\"delete\" onClick={() => {}}>\n\t\t\t\t\t\t\t\t\t\t<DeleteIcon />\n\t\t\t\t\t\t\t\t\t</DeleteIconButton>\n\t\t\t\t\t\t\t\t\t{showDeletionConfirmationDialog && (\n\t\t\t\t\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\t\t\t\t\topen={showDeletionConfirmationDialog}\n\t\t\t\t\t\t\t\t\t\t\tonConfirm={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonCancel={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeletionConfirmationDialog(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\ttitle=\"Delete layer\"\n\t\t\t\t\t\t\t\t\t\t\ttext=\"Are you sure you want to delete this layer?\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<LayerPropertyForm layerUuid={layer.uuid} mapConfigKey={props.mapConfigKey} />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\t\tif (layer?.type === 'vt') {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ListItemStyled key={layer.uuid} sx={{ ...props.listItemSx }} secondaryAction={undefined}>\n\t\t\t\t\t\t<ListItemIconStyled>\n\t\t\t\t\t\t\t<IconButtonStyled edge=\"end\" aria-label=\"open\" onClick={() => setOpen(!open)}>\n\t\t\t\t\t\t\t\t{open ? <ExpandMoreIcon /> : <KeyboardArrowRightIcon />}\n\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\t\t\t\tchecked={layer.visible}\n\t\t\t\t\t\t\t\t\tdisabled={layer.masterVisible === false}\n\t\t\t\t\t\t\t\t\tonClick={() => handleToggleVisibility(layer.visible ?? false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t\t\t</ListItemIconStyled>\n\t\t\t\t\t\t<ListItemText\n\t\t\t\t\t\t\tprimary={layer.name}\n\t\t\t\t\t\t\tsecondary={props.description}\n\t\t\t\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ListItemStyled>\n\t\t\t\t\t<BoxStyled key={layer.uuid + '_list'} open={open}>\n\t\t\t\t\t\t<ListStyled disablePadding>\n\t\t\t\t\t\t\t{layer.config?.layers?.map((subLayer) => (\n\t\t\t\t\t\t\t\t<ListItemStyled\n\t\t\t\t\t\t\t\t\tkey={subLayer.id}\n\t\t\t\t\t\t\t\t\tsx={{ ...props.listItemSx }}\n\t\t\t\t\t\t\t\t\tsecondaryAction={undefined}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t\t<ListItemIconStyled>\n\t\t\t\t\t\t\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t\t\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={(subLayer?.layout?.visibility ?? 'visible') === 'visible'}\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={subLayer?.masterVisible === false}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVisibility(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubLayer?.layout?.visibility === 'visible',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubLayer.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t\t\t\t\t\t</ListItemIconStyled>\n\t\t\t\t\t\t\t\t\t<ListItemText\n\t\t\t\t\t\t\t\t\t\tkey={subLayer.id}\n\t\t\t\t\t\t\t\t\t\tvariant=\"layerlist\"\n\t\t\t\t\t\t\t\t\t\tprimary={(subLayer as {[key:string]:any})['source-layer']}\n\t\t\t\t\t\t\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ListItemStyled>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ListStyled>\n\t\t\t\t\t</BoxStyled>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\t\tif (layer?.type === 'wms') {\n\t\t\tconst visible = layer.config?.visible ?? true;\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ListItemStyled key={layer.uuid} sx={{ ...props.listItemSx }} secondaryAction={undefined}>\n\t\t\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\t\t\tchecked={visible}\n\t\t\t\t\t\t\t\tdisabled={layer.masterVisible === false}\n\t\t\t\t\t\t\t\tonClick={() => handleToggleVisibility(visible)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t\t\t<ListItemText\n\t\t\t\t\t\t\tprimary={layer.name}\n\t\t\t\t\t\t\tsecondary={props.description}\n\t\t\t\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ListItemStyled>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\t\tif (layer.type === 'folder') {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<ListItemStyled key={layer.uuid} sx={{ ...props.listItemSx }}>\n\t\t\t\t\t\t<ListItemIconStyled>\n\t\t\t\t\t\t\t<IconButtonStyled edge=\"end\" aria-label=\"open\" onClick={() => setOpen(!open)}>\n\t\t\t\t\t\t\t\t{open ? <ExpandMoreIcon /> : <KeyboardArrowRightIcon />}\n\t\t\t\t\t\t\t</IconButtonStyled>\n\t\t\t\t\t\t\t<CheckboxListItemIcon>\n\t\t\t\t\t\t\t\t<CheckboxStyled\n\t\t\t\t\t\t\t\t\tchecked={layer.visible}\n\t\t\t\t\t\t\t\t\tdisabled={layer.masterVisible}\n\t\t\t\t\t\t\t\t\tonClick={() => handleToggleVisibility(layer.visible ? layer.visible : false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</CheckboxListItemIcon>\n\t\t\t\t\t\t</ListItemIconStyled>\n\t\t\t\t\t\t<ListItemText\n\t\t\t\t\t\t\tprimary={layer.name}\n\t\t\t\t\t\t\tsecondary={props.description}\n\t\t\t\t\t\t\tprimaryTypographyProps={{ overflow: 'hidden' }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ListItemStyled>\n\t\t\t\t\t<BoxStyled key={layer.uuid + '_list'} open={open}>\n\t\t\t\t\t\t<ListStyled disablePadding>\n\t\t\t\t\t\t\t{props?.layerOrderConfig?.layers?.map((subLayer) => (\n\t\t\t\t\t\t\t\t<LayerTreeListItem\n\t\t\t\t\t\t\t\t\tlayerOrderConfig={subLayer}\n\t\t\t\t\t\t\t\t\tkey={subLayer.uuid}\n\t\t\t\t\t\t\t\t\tmapConfigKey={props.mapConfigKey}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ListStyled>\n\t\t\t\t\t</BoxStyled>\n\t\t\t\t</>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <></>;\n\t\t}\n\t}\n\n\treturn <>{layer && renderLayerItem(layer)}</>;\n}\n\nexport default LayerTreeListItem;\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { LayerOrderItem, RootState } from '../../stores/map.store';\nimport LayerTreeListItem from './LayerTreeListItem';\nimport { List, styled } from '@mui/material';\n\ninterface LayerTreeProps {\n\tmapConfigKey: string;\n}\n\nconst ListStyled = styled(List)({\n\tmarginTop: '15px',\n});\n\nfunction LayerTree(props: LayerTreeProps) {\n\tconst layerOrder = useSelector(\n\t\t(state: RootState) => state.mapConfig.mapConfigs?.[props.mapConfigKey]?.layerOrder\n\t);\n\n\treturn (\n\t\t<ListStyled>\n\t\t\t{layerOrder?.map?.((el: LayerOrderItem) => (\n\t\t\t\t<LayerTreeListItem\n\t\t\t\t\tkey={el.uuid}\n\t\t\t\t\tlayerOrderConfig={el}\n\t\t\t\t\tmapConfigKey={props.mapConfigKey}\n\t\t\t\t></LayerTreeListItem>\n\t\t\t))}\n\t\t</ListStyled>\n\t);\n}\n\nexport default LayerTree;\n","import React, { useEffect, useMemo, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport {\n\textractUuidsFromLayerOrder,\n\tLayerOrderItem,\n\tRootState,\n} from '../../stores/map.store';\nimport MlGeoJsonLayer from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';\nimport useMap from '../../hooks/useMap';\nimport MlVectorTileLayer, {\n\tExtendedLayerSpecification,\n} from '../../components/MlVectorTileLayer/MlVectorTileLayer';\nimport MlOrderLayers from '../../components/MlOrderLayers/MlOrderLayers';\nimport MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';\nimport MlWmsLayer from '../../components/MlWmsLayer/MlWmsLayer';\n\ninterface LayerOnMapProps {\n\tmapConfigKey: string;\n\tmapId?: string;\n}\n\nfunction LayerOnMap(props: LayerOnMapProps) {\n\tconst layers = useSelector(\n\t\t(state: RootState) => state.mapConfig.mapConfigs?.[props.mapConfigKey]?.layers\n\t);\n\tconst layerStoreOrder = useSelector(\n\t\t(state: RootState) => state.mapConfig.mapConfigs?.[props.mapConfigKey]?.layerOrder\n\t);\n\tconst mapHook = useMap({ mapId: props?.mapId });\n\tconst layerStoreOrderIds = useSelector((state: RootState) =>\n\t\textractUuidsFromLayerOrder(state, props.mapConfigKey)\n\t);\n\n\tconst previousLayerStoreOrderRef = useRef<LayerOrderItem[]>([]);\n\n\tuseEffect(() => {\n\t\tif (!mapHook.map || !layerStoreOrder) return;\n\n\t\tconst adjustLayerOrderAtLevel = (\n\t\t\tlayers: LayerOrderItem[],\n\t\t\tpreviousLayers: LayerOrderItem[],\n\t\t\tmap: MapLibreGlWrapper\n\t\t) => {\n\t\t\tfor (let i = 0; i < layers.length; i++) {\n\t\t\t\tconst currentLayer = layers[i];\n\t\t\t\tconst previousLayer = previousLayers ? previousLayers[i] : null;\n\t\t\t\tif (currentLayer.uuid !== previousLayer?.uuid) {\n\t\t\t\t\tif (map.getLayer(currentLayer.uuid)) {\n\t\t\t\t\t\tconst beforeLayer = i > 0 ? layers[i - 1].uuid : undefined;\n\t\t\t\t\t\tmap.moveLayer(currentLayer.uuid, beforeLayer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (currentLayer.layers && currentLayer.layers.length > 0) {\n\t\t\t\t\tconst previousSubLayers = previousLayer?.layers || [];\n\t\t\t\t\tadjustLayerOrderAtLevel(currentLayer.layers, previousSubLayers, map);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst previousLayerStoreOrder = previousLayerStoreOrderRef.current;\n\t\tadjustLayerOrderAtLevel(layerStoreOrder, previousLayerStoreOrder, mapHook.map);\n\t\tpreviousLayerStoreOrderRef.current = layerStoreOrder;\n\t}, [layerStoreOrder, mapHook.map]);\n\n\tconst orderLayers = useMemo(() => {\n\t\tconst layerIds = [\n\t\t\t'order-background',\n\t\t\t...layerStoreOrderIds.map((el) => 'layer_id_' + el),\n\t\t\t'order-labels',\n\t\t];\n\t\treturn layerIds;\n\t}, [layerStoreOrderIds]);\n\n\tfunction renderLayer(layer: LayerOrderItem): React.ReactNode {\n\t\tconst targetLayerIndex = layers.findIndex((el) => el.uuid === layer.uuid);\n\t\tconst layerConfig = layers[targetLayerIndex];\n\t\tswitch (layerConfig?.type) {\n\t\t\tcase 'geojson':\n\t\t\t\treturn (\n\t\t\t\t\t<MlGeoJsonLayer\n\t\t\t\t\t\tkey={layerConfig.uuid}\n\t\t\t\t\t\tlayerId={layerConfig.uuid}\n\t\t\t\t\t\tinsertBeforeLayer={'layer_id_' + layerConfig.uuid}\n\t\t\t\t\t\t{...layerConfig.config}\n\t\t\t\t\t\toptions={{\n\t\t\t\t\t\t\t...layerConfig.config.options,\n\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t...layerConfig?.config?.options?.layout,\n\t\t\t\t\t\t\t\tvisibility:\n\t\t\t\t\t\t\t\t\tlayerConfig.masterVisible === false\n\t\t\t\t\t\t\t\t\t\t? 'none'\n\t\t\t\t\t\t\t\t\t\t: layerConfig?.config?.options?.layout?.visibility\n\t\t\t\t\t\t\t\t\t\t\t? layerConfig?.config?.options?.layout?.visibility\n\t\t\t\t\t\t\t\t\t\t\t: 'visible',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'vt': {\n\t\t\t\tconst l = layerConfig.config.layers.map((layer: ExtendedLayerSpecification) => {\n\t\t\t\t\tconst newLayer = { ...layer };\n\n\t\t\t\t\tif (newLayer.layout) {\n\t\t\t\t\t\tnewLayer.layout = {\n\t\t\t\t\t\t\t...newLayer.layout,\n\t\t\t\t\t\t\tvisibility:\n\t\t\t\t\t\t\t\tnewLayer.masterVisible === false ? 'none' : newLayer.layout.visibility ?? 'visible',\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn newLayer;\n\t\t\t\t});\n\n\t\t\t\treturn (\n\t\t\t\t\t<MlVectorTileLayer\n\t\t\t\t\t\tkey={layerConfig.uuid}\n\t\t\t\t\t\tlayerId={layerConfig.uuid}\n\t\t\t\t\t\tinsertBeforeLayer={'layer_id_' + layerConfig.uuid}\n\t\t\t\t\t\turl={layerConfig.config.url}\n\t\t\t\t\t\tlayers={l}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'wms': {\n\t\t\t\tconst visible = layerConfig.masterVisible === false ? false : layerConfig.config?.visible;\n\t\t\t\treturn (\n\t\t\t\t\t<MlWmsLayer\n\t\t\t\t\t\tkey={layerConfig.uuid}\n\t\t\t\t\t\tlayerId={layerConfig.uuid}\n\t\t\t\t\t\tinsertBeforeLayer={'layer_id_' + layerConfig.uuid}\n\t\t\t\t\t\turl={layerConfig.config?.url || ''}\n\t\t\t\t\t\turlParameters={layerConfig.config?.urlParameters}\n\t\t\t\t\t\tvisible={visible}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'folder':\n\t\t\t\treturn layer?.layers ? (\n\t\t\t\t\tlayer.layers.map((subLayer: LayerOrderItem) => renderLayer(subLayer))\n\t\t\t\t) : (\n\t\t\t\t\t<></>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<MlOrderLayers layerIds={orderLayers}></MlOrderLayers>\n\t\t\t{layerStoreOrder?.map?.((layerOrderItem) => renderLayer(layerOrderItem))}\n\t\t</>\n\t);\n}\n\nexport default LayerOnMap;\n","export { default as MapLibreGlWrapper } from './components/MapLibreMap/lib/MapLibreGlWrapper';\nexport { default as MapLibreMap } from './components/MapLibreMap/MapLibreMap';\n\nexport { default as MlCenterPosition } from './components/MlCenterPosition/MlCenterPosition';\n\n//export { default as MlClientSearch } from './components/MlClientSearch/MlClientSearch';\n\nexport { default as MlComponentTemplate } from './components/MlComponentTemplate/MlComponentTemplate';\n\nexport { default as MlCreatePdfButton } from './components/MlCreatePdfButton/MlCreatePdfButton';\n\nexport { default as MlCreatePdfForm } from './components/MlCreatePdfForm/MlCreatePdfForm';\nexport { default as MlPdfPreview } from './components/MlCreatePdfForm/lib/PdfPreview';\nexport { default as PdfContext } from './components/MlCreatePdfForm/lib/PdfContext';\nexport { default as PdfForm } from './components/MlCreatePdfForm/lib/PdfForm';\n\nexport { default as MlFeatureEditor } from './components/MlFeatureEditor/MlFeatureEditor';\n\nexport { default as MlFillExtrusionLayer } from './components/MlFillExtrusionLayer/MlFillExtrusionLayer';\n\nexport { default as MlFollowGps } from './components/MlFollowGps/MlFollowGps';\n\nexport { default as MlGeoJsonLayer } from './components/MlGeoJsonLayer/MlGeoJsonLayer';\n\nexport { default as MlImageMarkerLayer } from './components/MlImageMarkerLayer/MlImageMarkerLayer';\n\nexport { default as MlMeasureTool } from './components/MlMeasureTool/MlMeasureTool';\nexport { default as MlMultiMeasureTool } from './components/MlMultiMeasureTool/MlMultiMeasureTool';\nexport { default as MlNavigationTools } from './components/MlNavigationTools/MlNavigationTools';\nexport { default as MlNavigationCompass } from './components/MlNavigationCompass/MlNavigationCompass';\nexport { default as MlLayer } from './components/MlLayer/MlLayer';\nexport { default as MlScaleReference } from './components/MlScaleReference/MlScaleReference';\n\nexport { default as MlLayerMagnify } from './components/MlLayerMagnify/MlLayerMagnify';\nexport { default as MlLayerSwipe } from './components/MlLayerSwipe/MlLayerSwipe';\n\nexport { default as MlTransitionGeoJsonLayer } from './components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer';\nexport { default as MlMarker } from './components/MlMarker/MlMarker';\n\nexport { default as MlGpxViewer } from './components/MlGpxViewer/MlGpxViewer';\nexport { default as GeoJsonProvider } from './components/MlGpxViewer/util/GeoJsonProvider';\nexport { default as GeoJsonContext } from './components/MlGpxViewer/util/GeoJsonContext';\n\nexport { default as MlShareMapState } from './components/MlShareMapState/MlShareMapState';\n\nexport { default as MlSpatialElevationProfile } from './components/MlSpatialElevationProfile/MlSpatialElevationProfile';\nexport { default as MlVectorTileLayer } from './components/MlVectorTileLayer/MlVectorTileLayer';\nexport { default as MlOgcApiFeatures } from './components/MlOgcApiFeatures/MlOgcApiFeatures';\n\nexport { default as MlWmsFeatureInfoPopup } from './components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup';\nexport { default as MlWmsLayer } from './components/MlWmsLayer/MlWmsLayer';\nexport { default as MlWmsLoader } from './components/MlWmsLoader/MlWmsLoader';\n\nexport { default as MlTemporalController } from './components/MlTemporalController/MlTemporalController';\nexport { default as MlOrderLayers } from './components/MlOrderLayers/MlOrderLayers';\nexport { default as MlTerrainLayer } from './components/MlTerrainLayer/MlTerrainLayer';\nexport { default as MlSketchTool } from './components/MlSketchTool/MlSketchTool';\n\nexport { default as useCameraFollowPath } from './hooks/useCameraFollowPath/useCameraFollowPath';\nexport { default as useExportMap } from './hooks/useExportMap';\nexport { default as useGpx } from './hooks/useGpx/useGpx';\nexport { default as useLayerFilter } from './hooks/useLayerFilter/useLayerFilter';\nexport { default as useLayerHoverPopup } from './hooks/useLayerHoverPopup/LayerHoverPopup';\nexport { default as useLayer } from './hooks/useLayer';\nexport { default as useLayerEvent } from './hooks/useLayerEvent';\nexport { default as useMap } from './hooks/useMap';\nexport { default as useMapState } from './hooks/useMapState';\nexport { default as useSource } from './hooks/useSource';\nexport { default as useWms } from './hooks/useWms';\nexport { default as useFilterData } from './components/MlTemporalController/utils/useFilterData';\nexport { default as useLayerContext } from './hooks/useLayerContext';\nexport { default as useFeatureEditor } from './hooks/useFeatureEditor/useFeatureEditor';\nexport { default as useAddProtocol } from './hooks/useAddProtocol/useAddProtocol';\nexport { CSVProtocolHandler, convertCsv } from './protocol_handlers/csv';\nexport { OSMProtocolHandler, convertOSM } from './protocol_handlers/osm';\nexport { TopojsonProtocolHandler, convertTopojson } from './protocol_handlers/topojson';\nexport { XMLProtocolHandler, convertXML } from './protocol_handlers/xml';\nexport { default as useAddImage } from './hooks/useAddImage/useAddImage';\n\n// Context\nexport { MapComponentsProvider } from './contexts/MapContext';\nexport { default as MapContext } from './contexts/MapContext';\nexport { default as SimpleDataProvider } from './contexts/SimpleDataProvider';\nexport { default as SimpleDataContext } from './contexts/SimpleDataContext';\nexport { default as LayerContext } from './contexts/LayerContext';\nexport { LayerContextProvider } from './contexts/LayerContext';\n\n// Theme\nexport { default as getTheme } from './ui_components/MapcomponentsTheme';\n\n// UI Components\nexport { default as LayerList } from './ui_components/LayerList/LayerList';\nexport { default as LayerListItem } from './ui_components/LayerList/LayerListItem';\nexport { default as LayerListFolder } from './ui_components/LayerList/LayerListFolder';\nexport { default as LayerPropertyForm } from './ui_components/LayerList/util/LayerPropertyForm';\nexport { default as LayerListItemVectorLayer } from './ui_components/LayerList/util/LayerListItemVectorLayer';\nexport { default as LayerListItemFactory } from './ui_components/LayerList/LayerListItemFactory';\nexport { default as AddLayerButton } from './ui_components/AddLayerButton/AddLayerButton';\nexport { default as AddLayerPopup } from './ui_components/AddLayerButton/AddLayerPopup';\nexport { default as GeoJsonLayerForm } from './ui_components/AddLayerButton/LayerConfigForms/GeoJsonLayerForm';\nexport { default as LayerTypeForm } from './ui_components/AddLayerButton/LayerConfigForms/LayerTypeForm';\nexport { default as WmsLayerForm } from './ui_components/AddLayerButton/LayerConfigForms/WmsLayerForm';\nexport { default as ColorPicker } from './ui_components/LayerList/util/input/ColorPicker';\nexport { default as TopToolbar } from './ui_components/TopToolbar';\nexport { default as Sidebar } from './ui_components/Sidebar';\nexport { default as UploadButton } from './ui_components/UploadButton';\nexport { default as SelectStyleButton } from './ui_components/SelectStyleButton/SelectStyleButton';\nexport { default as SelectStylePopup } from './ui_components/SelectStyleButton/SelectStylePopup';\nexport { default as ConfirmDialog } from './ui_components/ConfirmDialog';\nexport { default as SpeedDial } from './ui_components/SpeedDial/SpeedDial';\n\nexport { default as LayerTree } from './ui_components/LayerTree/LayerTree';\nexport { default as LayerOnMap } from './ui_components/LayerTree/LayerOnMap';\nexport { default as LayerTreeListItem } from './ui_components/LayerTree/LayerTreeListItem';\n\n// Styles\nexport { default as GruvboxStyle } from './omt_styles/gruvbox';\nexport { default as MedievalKingdomStyle } from './omt_styles/medieval_kingdom';\nexport { default as MonokaiStyle } from './omt_styles/monokai';\nexport { default as OceanicNextStyle } from './omt_styles/oceanic_next';\nexport { default as SolarizedStyle } from './omt_styles/solarized';\n\n// Redux\nimport {\n\tdefault as MapStore_store,\n\tsetMapConfig,\n\tremoveMapConfig,\n\tsetLayerInMapConfig,\n\tremoveLayerFromMapConfig,\n\tupdateLayerOrder,\n\tsetMasterVisible,\n} from './stores/map.store';\n\nconst MapStore = {\n\tstore: MapStore_store,\n\tsetMapConfig,\n\tremoveMapConfig,\n\tsetLayerInMapConfig,\n\tremoveLayerFromMapConfig,\n\tupdateLayerOrder,\n\tsetMasterVisible,\n};\n\nexport { MapStore };\n"],"names":["Map","createTheme","useMemo","useEffect","uuidv4","useCallback","useState","useRef","MUIThemeProvider","defaultProps","useContext","Button","CircularProgress","templates","turf","useMediaQuery","FormControl","InputLabel","Select","MenuItem","FormLabel","RadioGroup","FormControlLabel","Radio","point","circle","lineArc","bbox","booleanContains","bboxPolygon","ListStyled","styled","List","ListItemStyled","ListItem","ListItemIconStyled","ListItemIcon","IconButtonStyled","IconButton","CheckboxStyled","Checkbox","BoxStyled","Box","ListItemText","Grid","ChromePicker","PaintPropsColorPicker","PaperStyled","Paper","mapPropKeyToFormInputType","mapPropKeyToFormInputTypeKeys","inputPropsByPropKey","LayerPropertyForm","Typography","Slider","TextField","ColorPicker","TuneIconButton","React","useSortable","CSS","DeleteIconButton","getDefaultLayerTypeByGeometry","Drawer","Global","SwipeableDrawer","Tooltip","Fragment","useTheme","Divider","_showNextTransitionSegment","props","map","transitionInProgressRef","transitionGeojsonDataRef","transitionGeojsonCommonDataRef","currentTransitionStepRef","msPerStep","transitionTimeoutRef","setDisplayGeojson","_arguments","arguments","current","newData","length","geojson","lineString","concat","_toConsumableArray","geometry","coordinates","onTransitionFrame","setTimeout","apply","onTransitionEnd","_transitionToGeojson","oldGeojsonRef","transitionCoordinatesShort","transitionCoordinatesLong","targetCoordinates","srcCoordinates","sourceGeojson","type","properties","targetGeojson","longerGeojson","shorterGeojson","reverseOrder","slice","i","len","push","transitionSteps","transitionTime","srcCoordinatesDistance","Math","round","targetCoordinatesDistance","transitionDistance","srcCoordinatesShare","srcTransitionSteps","srcPerStepDistance","targetCoordinatesShare","targetTransitionSteps","targetPerStepDistance","transitionStepData","createTransitionSteps","reverse","linestringCoordinates","perStepDistance","stepCnt","tmpChunks","lineChunk","tmpLinestring","features","createPortal","toGeoJSON","removeSpace","trimSpace","splitSpace","okhash","x","h","charCodeAt","get","y","getElementsByTagName","attr","getAttribute","attrf","parseFloat","get1","n","norm","el","normalize","numarray","j","o","nodeVal","textContent","getMulti","ys","k","extend","coord1","v","replace","split","coord","coords","coordPair","ll","ele","heartRate","time","e","isNaN","fc","serializer","XMLSerializer","isNodeEnv","process","_typeof","browser","isTitaniumEnv","Titanium","exports","xmldom","Error","xml2str","str","xml","undefined","serializeToString","t","kml","doc","gj","styleIndex","styleByHash","styleMapIndex","geotypes","placemarks","styles","styleMaps","hash","toString","l","pairs","pairsMap","m","getPlacemark","kmlColor","color","opacity","substr","parseInt","gxCoord","gxCoords","root","elems","times","timeElems","getGeometry","geomNode","geomNodes","geoms","coordTimes","rings","track","geomsAndTimes","name","address","styleUrl","description","timeSpan","timeStamp","extendedData","lineStyle","polyStyle","visibility","styleHash","styleMapHash","normal","style","iconStyle","icon","href","begin","end","timespan","timestamp","linestyles","width","stroke","polystyles","pcolor","popacity","fill","outline","datas","simpleDatas","feature","geometries","id","gpx","tracks","routes","waypoints","getTrack","getRoute","getPoint","initializeArray","arr","size","getPoints","node","pointname","pts","line","heartRates","c","segments","s","getProperties","getLineStyle","prop","routeObj","extensions","links","link","Popup","useLayerHoverPopup","featureCollection","lineOffset","polygon","distance","Snackbar","usePaintPicker","FormGroup","touchEquivalents","mousedown","mouseup","mousemove","touchEquivalentsKeys","Object","keys","useLayerEvent","mapState","useMapState","mapId","watch","layers","mapHook","useMap","condition","getLayer","layerId","_event","event","_layerId","_eventHandler","eventHandler","on","componentId","addTouchEvents","indexOf","off","csv2geojson","topojsonFeature","externParser","d3","useSensor","PointerSensor","MouseSensor","useSensors","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy","types","DialogTitle","DialogActions","ListItemButton","ListItemAvatar","Avatar","DialogContent","OutlinedInput","optionFields","Accordion","AccordionSummary","Dialog","createSlice","configureStore","useSelector","useDispatch","MapStore_store"],"mappings":"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"}
|