@mapcomponents/react-maplibre 0.1.32 → 0.1.35
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/.babelrc +3 -0
- package/.github/workflows/storybook.yml +1 -1
- package/.storybook/.babelrc +26 -0
- package/.storybook/main.js +15 -1
- package/.storybook/mapcomponents_logo.png +0 -0
- package/CHANGELOG.md +10 -0
- package/config/env.js +106 -0
- package/config/getHttpsConfig.js +66 -0
- package/config/jest/babelTransform.js +29 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +40 -0
- package/config/modules.js +134 -0
- package/config/paths.js +75 -0
- package/config/pnpTs.js +35 -0
- package/config/webpack.config.js +757 -0
- package/config/webpackDevServer.config.js +130 -0
- package/coverage/clover.xml +822 -900
- package/coverage/coverage-final.json +23 -24
- package/coverage/lcov-report/index.html +135 -150
- package/coverage/lcov-report/src/components/MapLibreMap/{MapLibreMap.js.html → MapLibreMap.tsx.html} +77 -68
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +6 -6
- package/coverage/lcov-report/src/components/MlCreatePdfButton/{MlCreatePdfButton.js.html → MlCreatePdfButton.tsx.html} +40 -43
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +10 -10
- package/coverage/lcov-report/src/components/MlFeatureEditor/{MlFeatureEditor.js.html → MlFeatureEditor.tsx.html} +145 -85
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +21 -21
- package/coverage/lcov-report/src/components/{MlImageMarkerLayer/MlImageMarkerLayer.js.html → MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html} +141 -111
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +20 -20
- package/coverage/lcov-report/src/components/MlFollowGps/{MlFollowGps.js.html → MlFollowGps.tsx.html} +177 -138
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +15 -15
- package/coverage/lcov-report/src/components/MlGPXViewer/{MlGPXViewer.js.html → MlGPXViewer.tsx.html} +134 -80
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +16 -16
- package/coverage/lcov-report/src/components/{MlLayer/MlLayer.js.html → MlGeoJsonLayer/MlGeoJsonLayer.tsx.html} +151 -154
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +19 -19
- package/coverage/lcov-report/src/components/{MlFillExtrusionLayer/MlFillExtrusionLayer.js.html → MlImageMarkerLayer/MlImageMarkerLayer.tsx.html} +151 -223
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +16 -16
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +229 -0
- package/coverage/lcov-report/src/components/MlLayer/index.html +21 -21
- package/coverage/lcov-report/src/components/MlLayerMagnify/{MlLayerMagnify.js.html → MlLayerMagnify.tsx.html} +134 -77
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +20 -20
- package/coverage/lcov-report/src/components/MlLayerSwipe/{MlLayerSwipe.js.html → MlLayerSwipe.tsx.html} +83 -41
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +2 -2
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +3 -15
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMarker/{MlMarker.js.html → MlMarker.tsx.html} +89 -137
- package/coverage/lcov-report/src/components/MlMarker/index.html +10 -10
- package/coverage/lcov-report/src/components/MlNavigationCompass/{MlNavigationCompass.js.html → MlNavigationCompass.tsx.html} +76 -25
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +17 -17
- package/coverage/lcov-report/src/components/MlNavigationTools/{MlNavigationTools.js.html → MlNavigationTools.tsx.html} +67 -52
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +10 -10
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +3 -3
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +5 -5
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js.html → MlTransitionGeoJsonLayer.tsx.html} +127 -118
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +11 -11
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/{MlVectorTileLayer.js.html → MlVectorTileLayer.tsx.html} +59 -11
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +2 -2
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/{MlWmsLayer.js.html → MlWmsLayer.tsx.html} +56 -11
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +2 -2
- package/coverage/lcov-report/src/components/MlWmsLoader/{MlWmsLoader.js.html → MlWmsLoader.tsx.html} +102 -78
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +8 -8
- package/coverage/lcov-report/src/hooks/index.html +44 -29
- package/coverage/lcov-report/src/{components/MlGeoJsonLayer/MlGeoJsonLayer.js.html → hooks/useLayer.ts.html} +328 -184
- package/coverage/lcov-report/src/hooks/{useMap.js.html → useMap.ts.html} +140 -50
- package/coverage/lcov-report/src/hooks/{useMapState.js.html → useMapState.ts.html} +166 -61
- package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
- package/coverage/lcov-report/src/index.html +15 -15
- package/coverage/lcov-report/src/{i18n.js.html → index.ts.html} +50 -32
- package/coverage/lcov.info +1540 -1669
- package/dist/index.esm.css +195 -0
- package/dist/index.esm.js +17304 -4936
- package/dist/index.esm.js.map +1 -1
- package/docs-build/0.d0c23b79.iframe.bundle.js +2 -0
- package/docs-build/0.d0c23b79.iframe.bundle.js.map +1 -0
- package/docs-build/0.fd1aa3ea21956d993519.manager.bundle.js +1 -0
- package/docs-build/1.34075652.iframe.bundle.js +10 -0
- package/docs-build/1.34075652.iframe.bundle.js.map +1 -0
- package/docs-build/16.ca488dae.iframe.bundle.js +2 -0
- package/docs-build/16.ca488dae.iframe.bundle.js.map +1 -0
- package/docs-build/17.e40eac7f.iframe.bundle.js +17 -0
- package/docs-build/17.e40eac7f.iframe.bundle.js.map +1 -0
- package/docs-build/18.62af0912.iframe.bundle.js +14 -0
- package/docs-build/18.62af0912.iframe.bundle.js.map +1 -0
- package/docs-build/19.0a217189.iframe.bundle.js +2 -0
- package/docs-build/19.0a217189.iframe.bundle.js.map +1 -0
- package/docs-build/2.f15ae19a.iframe.bundle.js +2 -0
- package/docs-build/2.f15ae19a.iframe.bundle.js.map +1 -0
- package/docs-build/20.4c43e27c.iframe.bundle.js +4 -0
- package/docs-build/20.4c43e27c.iframe.bundle.js.map +1 -0
- package/docs-build/21.19c21085.iframe.bundle.js +22 -0
- package/docs-build/21.19c21085.iframe.bundle.js.map +1 -0
- package/docs-build/3.5dd9e88b.iframe.bundle.js +2 -0
- package/docs-build/3.5dd9e88b.iframe.bundle.js.map +1 -0
- package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js +2 -0
- package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js.LICENSE.txt +8 -0
- package/docs-build/5.d4de191e7daeefb036ca.manager.bundle.js +1 -0
- package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js +2 -0
- package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js.LICENSE.txt +12 -0
- package/docs-build/7.7c16aea8ec7ea6e91994.manager.bundle.js +1 -0
- package/docs-build/8.52fa838fdf937b29676a.manager.bundle.js +1 -0
- package/docs-build/assets/dop.png +0 -0
- package/docs-build/assets/historic.png +0 -0
- package/docs-build/assets/marker.png +0 -0
- package/docs-build/assets/osm.png +0 -0
- package/docs-build/assets/sample.gpx +716 -0
- package/docs-build/{.gitkeep → catalogue/.gitkeep} +0 -0
- package/docs-build/catalogue/mc_meta.json +1 -0
- package/docs-build/favicon.ico +0 -0
- package/docs-build/iframe.html +348 -0
- package/docs-build/index.html +59 -0
- package/docs-build/logo.png +0 -0
- package/docs-build/main.8a7ec710ea1c16b5e13f.manager.bundle.js +1 -0
- package/docs-build/main~24120820.ba6665a8.iframe.bundle.js +2 -0
- package/docs-build/main~24120820.ba6665a8.iframe.bundle.js.map +1 -0
- package/docs-build/manifest.json +25 -0
- package/docs-build/robots.txt +3 -0
- package/docs-build/runtime~main.67aa1de2d72f40a81164.manager.bundle.js +1 -0
- package/docs-build/static/media/mapcomponents_logo.98b01a05.png +0 -0
- package/docs-build/static/media/wg-marker.bf3eeb2d.png +0 -0
- package/docs-build/stories.json +331 -0
- package/docs-build/thumbnails/MapLibreMap.png +0 -0
- package/docs-build/thumbnails/MlCameraFollowPath.png +0 -0
- package/docs-build/thumbnails/MlCreatePdfButton.png +0 -0
- package/docs-build/thumbnails/MlDeckGlLayer.png +0 -0
- package/docs-build/thumbnails/MlDeckGlTerrainLayer.png +0 -0
- package/docs-build/thumbnails/MlDemoDashboard.png +0 -0
- package/docs-build/thumbnails/MlFeatureEditor.png +0 -0
- package/docs-build/thumbnails/MlFillExtrusionLayer.png +0 -0
- package/docs-build/thumbnails/MlFollowGps.png +0 -0
- package/docs-build/thumbnails/MlGPXViewer.png +0 -0
- package/docs-build/thumbnails/MlGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlHillshadeLayer.png +0 -0
- package/docs-build/thumbnails/MlIconLayer.png +0 -0
- package/docs-build/thumbnails/MlLaermkarte.png +0 -0
- package/docs-build/thumbnails/MlLayerMagnify.png +0 -0
- package/docs-build/thumbnails/MlLayerSwipe.png +0 -0
- package/docs-build/thumbnails/MlMapDrawTools.png +0 -0
- package/docs-build/thumbnails/MlMobilerImker.png +0 -0
- package/docs-build/thumbnails/MlNavigationCompass.png +0 -0
- package/docs-build/thumbnails/MlNavigationTools.png +0 -0
- package/docs-build/thumbnails/MlOsmLayer.png +0 -0
- package/docs-build/thumbnails/MlScaleReference.png +0 -0
- package/docs-build/thumbnails/MlSpatialElevationProfile.png +0 -0
- package/docs-build/thumbnails/MlThreeJsLayer.png +0 -0
- package/docs-build/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
- package/docs-build/thumbnails/MlVectorTileLayer.png +0 -0
- package/docs-build/thumbnails/MlWanderApp.png +0 -0
- package/docs-build/thumbnails/MlWmsLayer.png +0 -0
- package/docs-build/thumbnails/MlWmsLoader.png +0 -0
- package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js +2 -0
- package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js.LICENSE.txt +101 -0
- package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js +8 -0
- package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js +8 -0
- package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js +293 -0
- package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js +7 -0
- package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js +21 -0
- package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js +89 -0
- package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js +68 -0
- package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js +2 -0
- package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js.map +1 -0
- package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js +107 -0
- package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js.map +1 -0
- package/package.json +133 -117
- package/public/favicon.ico +0 -0
- package/public/logo.png +0 -0
- package/rollup.config.js +26 -3
- package/scripts/start.js +166 -0
- package/scripts/test.js +53 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +14 -5
- package/src/components/MapLibreMap/MapLibreMap.test.js +1 -1
- package/src/components/MapLibreMap/{MapLibreMap.js → MapLibreMap.tsx} +40 -37
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +636 -0
- package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +0 -2
- package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +42 -0
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +0 -5
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +51 -0
- package/src/components/MlCreatePdfButton/lib/{createPdf.js → createPdf.ts} +26 -23
- package/src/components/MlCreatePdfButton/lib/{nominatimMap.js → nominatimMap.ts} +3 -3
- package/src/components/MlFeatureEditor/MlFeatureEditor.doc.en.md +1 -0
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +139 -0
- package/src/components/MlFeatureEditor/custom-direct-select-mode.js +12 -8
- package/src/components/MlFeatureEditor/custom-polygon-mode.js +9 -5
- package/src/components/MlFeatureEditor/custom-select-mode.js +11 -7
- package/src/components/MlFeatureEditor/lib/LICENSE.md +18 -0
- package/src/components/MlFeatureEditor/lib/common_selectors.js +4 -0
- package/src/components/MlFeatureEditor/lib/constants.js +4 -0
- package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_midpoint.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +4 -0
- package/src/components/MlFeatureEditor/lib/create_vertex.js +4 -0
- package/src/components/MlFeatureEditor/lib/double_click_zoom.js +4 -0
- package/src/components/MlFeatureEditor/lib/euclidean_distance.js +4 -0
- package/src/components/MlFeatureEditor/lib/features_at.js +4 -0
- package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_click.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +4 -0
- package/src/components/MlFeatureEditor/lib/is_tap.js +4 -0
- package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -0
- package/src/components/MlFeatureEditor/lib/mode_handler.js +4 -0
- package/src/components/MlFeatureEditor/lib/mouse_event_point.js +4 -0
- package/src/components/MlFeatureEditor/lib/move_features.js +4 -0
- package/src/components/MlFeatureEditor/lib/sort_features.js +4 -0
- package/src/components/MlFeatureEditor/lib/string_set.js +4 -0
- package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +4 -0
- package/src/components/MlFeatureEditor/lib/theme.js +4 -0
- package/src/components/MlFeatureEditor/lib/to_dense_array.js +4 -0
- package/src/components/MlFeatureEditor/lib/utils.js +4 -0
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.en.md +1 -0
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +6 -11
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +85 -0
- package/src/components/MlFollowGps/MlFollowGps.doc.en.md +1 -0
- package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -2
- package/src/components/MlFollowGps/{MlFollowGps.js → MlFollowGps.tsx} +99 -86
- package/src/components/MlGPXViewer/MlGPXViewer.doc.en.md +1 -0
- package/src/components/MlGPXViewer/{MlGPXViewer.js → MlGPXViewer.tsx} +68 -50
- package/src/components/MlGPXViewer/util/GeoJsonContext.ts +13 -0
- package/src/components/MlGPXViewer/util/{GeoJsonProvider.js → GeoJsonProvider.tsx} +3 -7
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.en.md +1 -0
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +8 -3
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +106 -0
- package/src/components/MlGeoJsonLayer/util/{getDefaultLayerTypeByGeometry.js → getDefaultLayerTypeByGeometry.ts} +6 -1
- package/src/components/MlGeoJsonLayer/util/{getDefaultPaintPropsByType.js → getDefaultPaintPropsByType.ts} +1 -1
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +1 -4
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +129 -0
- package/src/components/MlLayer/MlLayer.stories.js +0 -2
- package/src/components/MlLayer/MlLayer.tsx +48 -0
- package/src/components/MlLayerMagnify/MlLayerMagnify.doc.en.md +1 -0
- package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +3 -3
- package/src/components/MlLayerMagnify/{MlLayerMagnify.js → MlLayerMagnify.tsx} +62 -43
- package/src/components/MlLayerSwipe/MlLayerSwipe.doc.en.md +1 -0
- package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +0 -2
- package/src/components/MlLayerSwipe/{MlLayerSwipe.js → MlLayerSwipe.tsx} +38 -24
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -4
- package/src/components/MlMarker/MlMarker.tsx +140 -0
- package/src/components/MlNavigationCompass/MlNavigationCompass.doc.en.md +1 -0
- package/src/components/MlNavigationCompass/{MlNavigationCompass.js → MlNavigationCompass.tsx} +27 -10
- package/src/components/MlNavigationTools/MlNavigationTools.doc.en.md +1 -0
- package/src/components/MlNavigationTools/{MlNavigationTools.js → MlNavigationTools.tsx} +37 -32
- package/src/components/MlScaleReference/MlScaleReference.doc.en.md +1 -0
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.en.md +1 -0
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.en.md +1 -0
- package/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js → MlTransitionGeoJsonLayer.tsx} +76 -73
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.en.md +1 -0
- package/src/components/MlVectorTileLayer/{MlVectorTileLayer.js → MlVectorTileLayer.tsx} +23 -7
- package/src/components/MlWmsLayer/{MlWmsLayer.js → MlWmsLayer.tsx} +22 -7
- package/src/components/MlWmsLoader/MlWmsLoader.doc.en.md +1 -0
- package/src/components/MlWmsLoader/{MlWmsLoader.js → MlWmsLoader.tsx} +55 -47
- package/src/custom.d.tsx +26 -0
- package/src/hooks/useLayer.ts +221 -0
- package/src/hooks/{useMap.js → useMap.ts} +48 -17
- package/src/hooks/{useMapState.js → useMapState.ts} +42 -7
- package/src/{index.js → index.ts} +15 -8
- package/tsconfig.json +18 -24
- package/.env +0 -1
- package/.storybook/main.bck.js +0 -56
- package/babel.config.json +0 -4
- package/coverage/lcov-report/src/translations/english.js.html +0 -94
- package/coverage/lcov-report/src/translations/german.js.html +0 -94
- package/coverage/lcov-report/src/translations/index.html +0 -131
- package/jest.config.json +0 -16
- package/jsdoc.json +0 -21
- package/public/assets/3D/posttower.gltf +0 -103
- package/public/assets/3D/posttower_simple.gltf +0 -103
- package/public/assets/3D/posttower_wh.gltf.glb +0 -0
- package/public/bee.png +0 -0
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +0 -528
- package/src/components/MlComponentTemplate/MlComponentTemplate.js +0 -39
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.js +0 -52
- package/src/components/MlFeatureEditor/MlFeatureEditor.js +0 -119
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js +0 -153
- package/src/components/MlGPXViewer/util/GeoJsonContext.js +0 -6
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +0 -173
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +0 -75
- package/src/components/MlLayer/MlLayer.js +0 -107
- package/src/components/MlLayerMagnify/utils/compareMagnify.js +0 -173
- package/src/components/MlLayerSwipe/utils/swipeCompare.js +0 -220
- package/src/components/MlMarker/MlMarker.js +0 -156
- package/src/components/index.js +0 -6
- package/src/i18n.js +0 -28
- package/src/react-app-env.d.ts +0 -1
- package/src/stories/IntroductionCore.stories.mdx +0 -3
- package/src/stories/assets/code-brackets.svg +0 -1
- package/src/stories/assets/colors.svg +0 -1
- package/src/stories/assets/comments.svg +0 -1
- package/src/stories/assets/direction.svg +0 -1
- package/src/stories/assets/flow.svg +0 -1
- package/src/stories/assets/plugin.svg +0 -1
- package/src/stories/assets/repo.svg +0 -1
- package/src/stories/assets/stackalt.svg +0 -1
- package/src/stories/components/ComponentTeaser.js +0 -64
- package/src/translations/english.js +0 -4
- package/src/translations/german.js +0 -4
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback, useRef } from "react";
|
|
2
|
+
|
|
3
|
+
import useMap, { useMapType } from "./useMap";
|
|
4
|
+
|
|
5
|
+
import { LayerSpecification } from "maplibre-gl";
|
|
6
|
+
|
|
7
|
+
import MapLibreGlWrapper from "../components/MapLibreMap/lib/MapLibreGlWrapper";
|
|
8
|
+
|
|
9
|
+
type useLayerType = {
|
|
10
|
+
map: MapLibreGlWrapper | undefined;
|
|
11
|
+
layer: LayerSpecification;
|
|
12
|
+
layerId: string;
|
|
13
|
+
componentId: string;
|
|
14
|
+
mapHook: useMapType;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
interface useLayerProps {
|
|
18
|
+
mapId?: string;
|
|
19
|
+
layerId?: string;
|
|
20
|
+
idPrefix?: string;
|
|
21
|
+
insertBeforeLayer?: string;
|
|
22
|
+
insertBeforeFirstSymbolLayer?: boolean;
|
|
23
|
+
geojson?: object;
|
|
24
|
+
options: LayerSpecification;
|
|
25
|
+
onHover?: Function;
|
|
26
|
+
onClick?: Function;
|
|
27
|
+
onLeave?: Function;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const legalLayerTypes = [
|
|
31
|
+
"fill",
|
|
32
|
+
"line",
|
|
33
|
+
"symbol",
|
|
34
|
+
"circle",
|
|
35
|
+
"heatmap",
|
|
36
|
+
"fill-extrusion",
|
|
37
|
+
"raster",
|
|
38
|
+
"hillshade",
|
|
39
|
+
"background",
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
function useLayer(props: useLayerProps): useLayerType {
|
|
43
|
+
const mapHook = useMap({
|
|
44
|
+
mapId: props.mapId,
|
|
45
|
+
waitForLayer: props.insertBeforeLayer,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const layerTypeRef = useRef<string>("");
|
|
49
|
+
const layerPaintConfRef = useRef<string>("");
|
|
50
|
+
const layerLayoutConfRef = useRef<string>("");
|
|
51
|
+
|
|
52
|
+
const [layer, setLayer] = useState<any>();
|
|
53
|
+
|
|
54
|
+
const initializedRef = useRef<boolean>(false);
|
|
55
|
+
const layerId = useRef(
|
|
56
|
+
props.layerId ||
|
|
57
|
+
(props.idPrefix ? props.idPrefix : "Layer-") + mapHook.componentId
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
const createLayer = useCallback(() => {
|
|
61
|
+
if (initializedRef.current || !mapHook.map) return;
|
|
62
|
+
initializedRef.current = true;
|
|
63
|
+
|
|
64
|
+
mapHook.map.addLayer(
|
|
65
|
+
{
|
|
66
|
+
...props.options,
|
|
67
|
+
...(props.geojson
|
|
68
|
+
? {
|
|
69
|
+
source: {
|
|
70
|
+
type: "geojson",
|
|
71
|
+
data: props.geojson,
|
|
72
|
+
},
|
|
73
|
+
}
|
|
74
|
+
: {}),
|
|
75
|
+
id: layerId.current,
|
|
76
|
+
},
|
|
77
|
+
props.insertBeforeLayer
|
|
78
|
+
? props.insertBeforeLayer
|
|
79
|
+
: props.insertBeforeFirstSymbolLayer
|
|
80
|
+
? mapHook.map.firstSymbolLayer
|
|
81
|
+
: undefined,
|
|
82
|
+
mapHook.componentId
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
setLayer(mapHook.map.map.getLayer(layerId.current));
|
|
86
|
+
|
|
87
|
+
if (typeof props.onHover !== "undefined") {
|
|
88
|
+
mapHook.map.on(
|
|
89
|
+
"mousemove",
|
|
90
|
+
layerId.current,
|
|
91
|
+
props.onHover,
|
|
92
|
+
mapHook.componentId
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (typeof props.onClick !== "undefined") {
|
|
97
|
+
mapHook.map.on(
|
|
98
|
+
"click",
|
|
99
|
+
layerId.current,
|
|
100
|
+
props.onClick,
|
|
101
|
+
mapHook.componentId
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (typeof props.onLeave !== "undefined") {
|
|
106
|
+
mapHook.map.on(
|
|
107
|
+
"mouseleave",
|
|
108
|
+
layerId.current,
|
|
109
|
+
props.onLeave,
|
|
110
|
+
mapHook.componentId
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
layerPaintConfRef.current = JSON.stringify(props.options?.paint);
|
|
115
|
+
layerLayoutConfRef.current = JSON.stringify(props.options?.layout);
|
|
116
|
+
layerTypeRef.current = props.options.type;
|
|
117
|
+
}, [props, mapHook.map]);
|
|
118
|
+
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
if (!mapHook.map) return;
|
|
121
|
+
|
|
122
|
+
if (
|
|
123
|
+
initializedRef.current &&
|
|
124
|
+
legalLayerTypes.indexOf(props.options.type) !== -1 &&
|
|
125
|
+
layerTypeRef.current &&
|
|
126
|
+
props.options.type !== layerTypeRef.current
|
|
127
|
+
) {
|
|
128
|
+
// remove (cleanup) & reinitialize the layer if type has changed
|
|
129
|
+
cleanup();
|
|
130
|
+
} else if (
|
|
131
|
+
initializedRef.current &&
|
|
132
|
+
(legalLayerTypes.indexOf(props.options.type) === -1 ||
|
|
133
|
+
(legalLayerTypes.indexOf(props.options.type) !== -1 &&
|
|
134
|
+
props.options.type === layerTypeRef.current))
|
|
135
|
+
) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
createLayer();
|
|
140
|
+
}, [mapHook.map, props.options, createLayer]);
|
|
141
|
+
|
|
142
|
+
useEffect(() => {
|
|
143
|
+
if (
|
|
144
|
+
!initializedRef.current ||
|
|
145
|
+
!mapHook?.map?.map.getSource(layerId.current)
|
|
146
|
+
)
|
|
147
|
+
return;
|
|
148
|
+
|
|
149
|
+
// @ts-ignore
|
|
150
|
+
mapHook.map.map.getSource(layerId.current).setData(props.geojson);
|
|
151
|
+
}, [props.geojson, mapHook.map, props.options.type]);
|
|
152
|
+
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
if (
|
|
155
|
+
!mapHook.map ||
|
|
156
|
+
!mapHook.map?.map?.getLayer?.(layerId.current) ||
|
|
157
|
+
!initializedRef.current
|
|
158
|
+
)
|
|
159
|
+
return;
|
|
160
|
+
|
|
161
|
+
var key;
|
|
162
|
+
|
|
163
|
+
let layoutString = JSON.stringify(props.options.layout);
|
|
164
|
+
if (props.options.layout && layoutString !== layerLayoutConfRef.current) {
|
|
165
|
+
let oldLayout = JSON.parse(layerLayoutConfRef.current);
|
|
166
|
+
|
|
167
|
+
for (key in props.options.layout) {
|
|
168
|
+
if (
|
|
169
|
+
props.options.layout?.[key] &&
|
|
170
|
+
props.options.layout[key] !== oldLayout[key]
|
|
171
|
+
) {
|
|
172
|
+
mapHook.map.map.setLayoutProperty(
|
|
173
|
+
layerId.current,
|
|
174
|
+
key,
|
|
175
|
+
props.options.layout[key]
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
layerLayoutConfRef.current = layoutString;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
let paintString = JSON.stringify(props.options.paint);
|
|
183
|
+
if (paintString !== layerPaintConfRef.current) {
|
|
184
|
+
let oldPaint = JSON.parse(layerPaintConfRef.current);
|
|
185
|
+
for (key in props.options.paint) {
|
|
186
|
+
if (
|
|
187
|
+
props.options.paint?.[key] &&
|
|
188
|
+
props.options.paint[key] !== oldPaint[key]
|
|
189
|
+
) {
|
|
190
|
+
mapHook.map.map.setPaintProperty(
|
|
191
|
+
layerId.current,
|
|
192
|
+
key,
|
|
193
|
+
props.options.paint[key]
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
layerPaintConfRef.current = paintString;
|
|
198
|
+
}
|
|
199
|
+
}, [props.options, mapHook.map]);
|
|
200
|
+
|
|
201
|
+
const cleanup = () => {
|
|
202
|
+
initializedRef.current = false;
|
|
203
|
+
mapHook.cleanup();
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
useEffect(() => {
|
|
207
|
+
return () => {
|
|
208
|
+
cleanup();
|
|
209
|
+
};
|
|
210
|
+
}, []);
|
|
211
|
+
|
|
212
|
+
return {
|
|
213
|
+
map: mapHook.map,
|
|
214
|
+
layer: layer,
|
|
215
|
+
layerId: layerId.current,
|
|
216
|
+
componentId: mapHook.componentId,
|
|
217
|
+
mapHook: mapHook,
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export default useLayer;
|
|
@@ -1,11 +1,30 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
useContext,
|
|
3
|
+
useState,
|
|
4
|
+
useEffect,
|
|
5
|
+
useRef,
|
|
6
|
+
MutableRefObject,
|
|
7
|
+
} from "react";
|
|
2
8
|
import { v4 as uuidv4 } from "uuid";
|
|
9
|
+
// @ts-ignore
|
|
3
10
|
import { MapContext } from "@mapcomponents/react-core";
|
|
4
11
|
import useMapState from "./useMapState";
|
|
12
|
+
import MapLibreGlWrapper, {
|
|
13
|
+
LayerState,
|
|
14
|
+
} from "../components/MapLibreMap/lib/MapLibreGlWrapper";
|
|
5
15
|
|
|
6
|
-
|
|
16
|
+
type useMapType = {
|
|
17
|
+
map: MapLibreGlWrapper | undefined;
|
|
18
|
+
mapIsReady: boolean;
|
|
19
|
+
componentId: string;
|
|
20
|
+
layers: (LayerState | undefined)[];
|
|
21
|
+
cleanup: Function
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
function useMap(props: { mapId?: string; waitForLayer?: string }): useMapType {
|
|
7
25
|
// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
|
|
8
|
-
const mapContext = useContext(MapContext);
|
|
26
|
+
const mapContext: MapContextType = useContext(MapContext);
|
|
27
|
+
const [map, setMap] = useState();
|
|
9
28
|
|
|
10
29
|
const mapState = useMapState({
|
|
11
30
|
mapId: props.mapId,
|
|
@@ -20,23 +39,24 @@ function useMap(props) {
|
|
|
20
39
|
});
|
|
21
40
|
|
|
22
41
|
const initializedRef = useRef(false);
|
|
23
|
-
const mapRef
|
|
42
|
+
const mapRef: MutableRefObject<MapLibreGlWrapper | undefined> =
|
|
43
|
+
useRef(undefined);
|
|
24
44
|
|
|
25
45
|
const componentId = useRef(uuidv4());
|
|
26
46
|
|
|
27
47
|
const [mapIsReady, setMapIsReady] = useState(false);
|
|
28
48
|
|
|
29
|
-
|
|
30
|
-
|
|
49
|
+
const cleanup = () => {
|
|
50
|
+
if (mapRef.current) {
|
|
51
|
+
mapRef.current.cleanup(componentId.current);
|
|
52
|
+
mapRef.current = undefined;
|
|
53
|
+
}
|
|
54
|
+
initializedRef.current = false;
|
|
55
|
+
setMapIsReady(false);
|
|
56
|
+
};
|
|
31
57
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
mapRef.current.cleanup(_componentId);
|
|
35
|
-
mapRef.current = undefined;
|
|
36
|
-
}
|
|
37
|
-
initializedRef.current = false;
|
|
38
|
-
setMapIsReady(false);
|
|
39
|
-
};
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
return cleanup;
|
|
40
60
|
}, []);
|
|
41
61
|
|
|
42
62
|
useEffect(() => {
|
|
@@ -47,7 +67,7 @@ function useMap(props) {
|
|
|
47
67
|
if (props.waitForLayer) {
|
|
48
68
|
let layerFound = false;
|
|
49
69
|
|
|
50
|
-
mapState?.layers?.forEach((layer) => {
|
|
70
|
+
mapState?.layers?.forEach((layer: any) => {
|
|
51
71
|
if (layer.id === props.waitForLayer) {
|
|
52
72
|
layerFound = true;
|
|
53
73
|
}
|
|
@@ -60,15 +80,26 @@ function useMap(props) {
|
|
|
60
80
|
// initialize the layer and add it to the MapLibre-gl instance or do something else with it
|
|
61
81
|
initializedRef.current = true;
|
|
62
82
|
mapRef.current = mapContext.getMap(props.mapId);
|
|
83
|
+
// @ts-ignore
|
|
84
|
+
setMap(mapRef.current);
|
|
63
85
|
setMapIsReady(true);
|
|
64
|
-
}, [
|
|
86
|
+
}, [
|
|
87
|
+
mapContext.mapIds,
|
|
88
|
+
mapState.layers,
|
|
89
|
+
mapContext,
|
|
90
|
+
props.waitForLayer,
|
|
91
|
+
props.mapId,
|
|
92
|
+
]);
|
|
65
93
|
|
|
66
94
|
return {
|
|
67
|
-
map:
|
|
95
|
+
map: map,
|
|
68
96
|
mapIsReady,
|
|
69
97
|
componentId: componentId.current,
|
|
70
98
|
layers: mapState.layers,
|
|
99
|
+
cleanup
|
|
71
100
|
};
|
|
72
101
|
}
|
|
73
102
|
|
|
74
103
|
export default useMap;
|
|
104
|
+
|
|
105
|
+
export type {useMapType};
|
|
@@ -1,25 +1,53 @@
|
|
|
1
1
|
import { useContext, useCallback, useState, useEffect, useRef } from "react";
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
|
+
// @ts-ignore
|
|
4
5
|
import { MapContext } from "@mapcomponents/react-core";
|
|
5
|
-
|
|
6
|
+
import MapLibreGlWrapper, {
|
|
7
|
+
LayerState,
|
|
8
|
+
ViewportState,
|
|
9
|
+
} from "../components/MapLibreMap/lib/MapLibreGlWrapper";
|
|
10
|
+
|
|
11
|
+
type useMapStateType = {
|
|
12
|
+
layers: (LayerState | undefined)[];
|
|
13
|
+
viewport: ViewportState | undefined;
|
|
14
|
+
};
|
|
15
|
+
type MapContext = {
|
|
16
|
+
mapIds: [string?];
|
|
17
|
+
mapExists: Function;
|
|
18
|
+
maps: [];
|
|
19
|
+
getMap: Function;
|
|
20
|
+
setMap: Function;
|
|
21
|
+
};
|
|
6
22
|
/**
|
|
7
23
|
* React hook that allows subscribing to map state changes
|
|
8
24
|
*
|
|
9
25
|
* @component
|
|
10
26
|
*/
|
|
11
|
-
function useMapState(props
|
|
27
|
+
function useMapState(props: {
|
|
28
|
+
mapId?: string;
|
|
29
|
+
watch?: {
|
|
30
|
+
layers?: boolean;
|
|
31
|
+
sources?: boolean;
|
|
32
|
+
viewport?: boolean;
|
|
33
|
+
};
|
|
34
|
+
filter?: {
|
|
35
|
+
includeBaseLayers?: boolean;
|
|
36
|
+
matchLayerIds?: RegExp | string;
|
|
37
|
+
matchSourceIds?: RegExp | string;
|
|
38
|
+
};
|
|
39
|
+
}): useMapStateType {
|
|
12
40
|
// Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
|
|
13
|
-
const mapContext = useContext(MapContext);
|
|
41
|
+
const mapContext: MapContext = useContext(MapContext);
|
|
14
42
|
|
|
15
43
|
const initializedRef = useRef(false);
|
|
16
|
-
const mapRef = useRef(
|
|
44
|
+
const mapRef = useRef<MapLibreGlWrapper>();
|
|
17
45
|
|
|
18
|
-
const [viewport, setViewport] = useState(
|
|
46
|
+
const [viewport, setViewport] = useState<ViewportState | undefined>();
|
|
19
47
|
const viewportRef = useRef(undefined);
|
|
20
48
|
|
|
21
|
-
const [layers, setLayers] = useState(undefined);
|
|
22
|
-
const layersRef = useRef(
|
|
49
|
+
const [layers, setLayers] = useState<(LayerState | undefined)[]>([]);
|
|
50
|
+
const layersRef = useRef<string>();
|
|
23
51
|
//const mapRef = useRef(props.map);
|
|
24
52
|
const componentId = useRef(uuidv4());
|
|
25
53
|
|
|
@@ -49,6 +77,8 @@ function useMapState(props) {
|
|
|
49
77
|
);
|
|
50
78
|
|
|
51
79
|
const refreshLayerState = useCallback(() => {
|
|
80
|
+
if (!mapRef.current) return;
|
|
81
|
+
|
|
52
82
|
let _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);
|
|
53
83
|
let _layerStateString = JSON.stringify(_layerState);
|
|
54
84
|
if (layersRef.current !== _layerStateString) {
|
|
@@ -77,6 +107,11 @@ function useMapState(props) {
|
|
|
77
107
|
initializedRef.current = true;
|
|
78
108
|
mapRef.current = mapContext.getMap(props.mapId);
|
|
79
109
|
|
|
110
|
+
if (!mapRef.current) {
|
|
111
|
+
initializedRef.current = false;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
|
|
80
115
|
if (props?.watch?.viewport) {
|
|
81
116
|
setViewport(mapRef.current.wrapper.viewportState);
|
|
82
117
|
|
|
@@ -1,27 +1,34 @@
|
|
|
1
1
|
export { default as MapLibreMap } from "./components/MapLibreMap/MapLibreMap";
|
|
2
2
|
export { default as MlComponentTemplate } from "./components/MlComponentTemplate/MlComponentTemplate";
|
|
3
|
+
export { default as MlCreatePdfButton } from "./components/MlCreatePdfButton/MlCreatePdfButton";
|
|
4
|
+
export { default as MlFeatureEditor } from "./components/MlFeatureEditor/MlFeatureEditor";
|
|
3
5
|
export { default as MlFillExtrusionLayer } from "./components/MlFillExtrusionLayer/MlFillExtrusionLayer";
|
|
4
6
|
export { default as MlFollowGps } from "./components/MlFollowGps/MlFollowGps";
|
|
5
|
-
export { default as MlCreatePdfButton } from "./components/MlCreatePdfButton/MlCreatePdfButton";
|
|
6
7
|
export { default as MlGeoJsonLayer } from "./components/MlGeoJsonLayer/MlGeoJsonLayer";
|
|
7
8
|
export { default as MlImageMarkerLayer } from "./components/MlImageMarkerLayer/MlImageMarkerLayer";
|
|
8
9
|
export { default as MlNavigationTools } from "./components/MlNavigationTools/MlNavigationTools";
|
|
9
10
|
export { default as MlNavigationCompass } from "./components/MlNavigationCompass/MlNavigationCompass";
|
|
10
11
|
export { default as MlLayer } from "./components/MlLayer/MlLayer";
|
|
11
|
-
export { default as MlOsmLayer } from "./components/MlOsmLayer/MlOsmLayer";
|
|
12
12
|
export { default as MlVectorTileLayer } from "./components/MlVectorTileLayer/MlVectorTileLayer";
|
|
13
13
|
export { default as MlWmsLayer } from "./components/MlWmsLayer/MlWmsLayer";
|
|
14
|
-
|
|
15
|
-
export { default as MlBasicComponent } from "./components/MlBasicComponent";
|
|
14
|
+
|
|
16
15
|
export { default as MlLayerMagnify } from "./components/MlLayerMagnify/MlLayerMagnify";
|
|
17
16
|
export { default as MlLayerSwipe } from "./components/MlLayerSwipe/MlLayerSwipe";
|
|
17
|
+
|
|
18
|
+
export { default as MlTransitionGeoJsonLayer } from "./components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer";
|
|
19
|
+
export { default as MlMarker } from "./components/MlMarker/MlMarker";
|
|
20
|
+
|
|
18
21
|
export { default as MlGPXViewer } from "./components/MlGPXViewer/MlGPXViewer";
|
|
19
22
|
export { default as GeoJsonProvider } from "./components/MlGPXViewer/util/GeoJsonProvider";
|
|
20
23
|
export { default as GeoJsonContext } from "./components/MlGPXViewer/util/GeoJsonContext";
|
|
21
|
-
export { default as MlSpatialElevationProfile } from "./components/MlSpatialElevationProfile/MlSpatialElevationProfile";
|
|
22
|
-
export { default as MlTransitionGeoJsonLayer } from "./components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer";
|
|
23
|
-
export { default as MlMarker } from "./components/MlMarker/MlMarker";
|
|
24
24
|
|
|
25
|
+
export { default as MlSpatialElevationProfile } from "./components/MlSpatialElevationProfile/MlSpatialElevationProfile.js";
|
|
26
|
+
|
|
27
|
+
export { default as MlOsmLayer } from "./components/MlOsmLayer/MlOsmLayer.js";
|
|
28
|
+
export { default as MlBasicComponent } from "./components/MlBasicComponent.js";
|
|
29
|
+
|
|
30
|
+
export { default as useLayer } from "./hooks/useLayer";
|
|
25
31
|
export { default as useMapState } from "./hooks/useMapState";
|
|
26
32
|
export { default as useMap } from "./hooks/useMap";
|
|
27
|
-
export { default as useWms } from "./hooks/useWms";
|
|
33
|
+
export { default as useWms } from "./hooks/useWms.js";
|
|
34
|
+
//
|
package/tsconfig.json
CHANGED
|
@@ -1,33 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"
|
|
4
|
-
"declarationDir": "build",
|
|
3
|
+
"outDir": "build/esm",
|
|
5
4
|
"module": "esnext",
|
|
6
5
|
"target": "es5",
|
|
7
|
-
"lib": [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"es2016",
|
|
11
|
-
"es2017"
|
|
12
|
-
],
|
|
13
|
-
"sourceMap": true,
|
|
14
|
-
"jsx": "react-jsx",
|
|
6
|
+
"lib": ["es6", "dom", "es2016", "es2017"],
|
|
7
|
+
"jsx": "react",
|
|
8
|
+
"declaration": true,
|
|
15
9
|
"moduleResolution": "node",
|
|
16
|
-
"
|
|
10
|
+
"noUnusedLocals": true,
|
|
11
|
+
"noUnusedParameters": true,
|
|
17
12
|
"esModuleInterop": true,
|
|
13
|
+
"noImplicitReturns": true,
|
|
14
|
+
"noImplicitThis": true,
|
|
15
|
+
"noImplicitAny": true,
|
|
16
|
+
"strictNullChecks": true,
|
|
17
|
+
"suppressImplicitAnyIndexErrors": true,
|
|
18
|
+
"allowSyntheticDefaultImports": true,
|
|
18
19
|
"allowJs": true,
|
|
19
|
-
"skipLibCheck": true,
|
|
20
|
-
"strict": true,
|
|
21
|
-
"forceConsistentCasingInFileNames": true,
|
|
22
|
-
"noFallthroughCasesInSwitch": true,
|
|
23
|
-
"resolveJsonModule": true,
|
|
24
|
-
"isolatedModules": true,
|
|
25
|
-
"noEmit": true
|
|
26
20
|
},
|
|
27
|
-
"include": [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
|
|
21
|
+
"include": ["src", "src/custom.d.tsx"],
|
|
22
|
+
"exclude": ["node_modules", "lib"],
|
|
23
|
+
"typedocOptions": {
|
|
24
|
+
"entryPoints": ["src/index.ts"],
|
|
25
|
+
"out": "docs",
|
|
26
|
+
}
|
|
33
27
|
}
|
package/.env
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
SKIP_PREFLIGHT_CHECK=true
|
package/.storybook/main.bck.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const path = require("path");
|
|
2
|
-
const fs = require("fs");
|
|
3
|
-
const { merge } = require("webpack-merge");
|
|
4
|
-
|
|
5
|
-
function getPackageDir(filepath) {
|
|
6
|
-
let currDir = path.dirname(require.resolve(filepath));
|
|
7
|
-
while (true) {
|
|
8
|
-
if (fs.existsSync(path.join(currDir, "package.json"))) {
|
|
9
|
-
return currDir;
|
|
10
|
-
}
|
|
11
|
-
const { dir, root } = path.parse(currDir);
|
|
12
|
-
if (dir === root) {
|
|
13
|
-
throw new Error(
|
|
14
|
-
`Could not find package.json in the parent directories starting from ${filepath}.`
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
currDir = dir;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
module.exports = {
|
|
22
|
-
stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
|
|
23
|
-
addons: [
|
|
24
|
-
"@storybook/addon-links",
|
|
25
|
-
"@storybook/addon-essentials",
|
|
26
|
-
"@storybook/preset-create-react-app",
|
|
27
|
-
],
|
|
28
|
-
webpackFinal: async (config, { configType }) => {
|
|
29
|
-
config.module.rules.push({
|
|
30
|
-
test: /\.(js)$/,
|
|
31
|
-
loader: require.resolve("babel-loader"),
|
|
32
|
-
options: {
|
|
33
|
-
plugins: ["@emotion"],
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
// split into more chunks
|
|
38
|
-
config.optimization = {
|
|
39
|
-
splitChunks: {
|
|
40
|
-
chunks: "all",
|
|
41
|
-
minSize: 30 * 1024, // 30KB
|
|
42
|
-
maxSize: 1024 * 1024, // 1MB
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
return merge(config, {
|
|
47
|
-
resolve: {
|
|
48
|
-
alias: {
|
|
49
|
-
"@emotion/core": getPackageDir("@emotion/react"),
|
|
50
|
-
"@emotion/styled": getPackageDir("@emotion/styled"),
|
|
51
|
-
"emotion-theming": getPackageDir("@emotion/react"),
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
},
|
|
56
|
-
};
|
package/babel.config.json
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/translations/english.js</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/translations</a> english.js</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">0% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/1</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/0</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">100% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/0</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">0% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/1</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line low'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
70
|
-
<span class="cline-any cline-neutral"> </span>
|
|
71
|
-
<span class="cline-any cline-neutral"> </span>
|
|
72
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const english = <span class="cstat-no" title="statement not covered" >{</span>
|
|
73
|
-
"en": { "Layer": "Layer" }
|
|
74
|
-
}
|
|
75
|
-
export default english;</pre></td></tr></table></pre>
|
|
76
|
-
|
|
77
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
78
|
-
</div><!-- /wrapper -->
|
|
79
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
|
-
Code coverage generated by
|
|
81
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at Tue Mar 15 2022 11:25:03 GMT+0000 (Coordinated Universal Time)
|
|
83
|
-
</div>
|
|
84
|
-
<script src="../../prettify.js"></script>
|
|
85
|
-
<script>
|
|
86
|
-
window.onload = function () {
|
|
87
|
-
prettyPrint();
|
|
88
|
-
};
|
|
89
|
-
</script>
|
|
90
|
-
<script src="../../sorter.js"></script>
|
|
91
|
-
<script src="../../block-navigation.js"></script>
|
|
92
|
-
</body>
|
|
93
|
-
</html>
|
|
94
|
-
|