@mapcomponents/react-maplibre 0.1.56 → 0.1.58
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/.eslintignore +11 -0
- package/.eslintrc.js +20 -0
- package/.github/workflows/check-formatting.yml +46 -0
- package/.prettierignore +11 -0
- package/.prettierrc.json +6 -0
- package/CHANGELOG.md +20 -0
- package/coverage/clover.xml +232 -80
- package/coverage/coverage-final.json +43 -37
- package/coverage/lcov-report/index.html +71 -26
- package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +83 -83
- package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +30 -30
- package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
- package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +202 -0
- package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +116 -0
- package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +99 -99
- package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +66 -66
- package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +221 -221
- package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +308 -308
- package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +497 -497
- package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +85 -85
- package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +469 -0
- package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +116 -0
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +140 -140
- package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +37 -37
- package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +179 -179
- package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +113 -113
- package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
- package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +181 -181
- package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +58 -58
- 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.tsx.html +108 -108
- package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
- package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +39 -39
- package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +183 -183
- package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
- package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +163 -163
- package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +50 -50
- package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +30 -30
- package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +89 -89
- package/coverage/lcov-report/src/components/MlScaleReference/index.html +11 -11
- package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +204 -204
- package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +180 -180
- package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
- package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +163 -163
- package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +136 -136
- package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +53 -53
- package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
- package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +123 -123
- package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +35 -35
- package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +155 -155
- package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
- package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +255 -255
- package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
- package/coverage/lcov-report/src/contexts/MapContext.tsx.html +66 -66
- package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
- package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +48 -48
- package/coverage/lcov-report/src/contexts/index.html +1 -1
- package/coverage/lcov-report/src/hooks/exportMap/index.html +131 -0
- package/coverage/lcov-report/src/hooks/exportMap/index.ts.html +175 -0
- package/coverage/lcov-report/src/hooks/exportMap/lib.ts.html +646 -0
- package/coverage/lcov-report/src/hooks/index.html +48 -18
- package/coverage/lcov-report/src/hooks/useLayer.ts.html +230 -188
- package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +232 -0
- package/coverage/lcov-report/src/hooks/useMap.ts.html +72 -69
- package/coverage/lcov-report/src/hooks/useMapState.ts.html +145 -145
- package/coverage/lcov-report/src/hooks/useSource.ts.html +337 -0
- package/coverage/lcov-report/src/hooks/useWms.js.html +72 -72
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/index.ts.html +14 -2
- package/coverage/lcov.info +450 -153
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +24 -0
- package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +21 -0
- package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +10 -0
- package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +13 -0
- package/dist/components/MlCreatePdfForm/lib/pdf.templates.d.ts +11 -0
- package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +22 -0
- package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +10 -0
- package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +1 -1
- package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +2 -2
- package/dist/decorators/MapContextDecoratorHooks.d.ts +2 -0
- package/dist/decorators/ThemeWrapper.d.ts +1 -0
- package/dist/hooks/exportMap/index.d.ts +11 -0
- package/dist/hooks/exportMap/lib.d.ts +36 -0
- package/dist/hooks/useLayer.d.ts +6 -5
- package/dist/hooks/useLayerEvent.d.ts +2 -0
- package/dist/hooks/useMap.d.ts +1 -1
- package/dist/hooks/useMapState.stories.d.ts +2 -2
- package/dist/hooks/useSource.d.ts +17 -0
- package/dist/hooks/useSources.stories.d.ts +13 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.esm.js +479 -190
- package/dist/index.esm.js.map +1 -1
- package/eslintErrorTest.js +10 -0
- package/package.json +7 -1
- package/public/thumbnails/MlCreatePdfForm.png +0 -0
- package/src/components/MapLibreMap/MapLibreMap.stories.js +72 -72
- package/src/components/MapLibreMap/MapLibreMap.test.js +60 -60
- package/src/components/MapLibreMap/MapLibreMap.tsx +82 -82
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +343 -343
- package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +619 -619
- package/src/components/MlBasicComponent.js +25 -25
- package/src/components/MlCenterPosition/MlCenterPosition.stories.js +6 -6
- package/src/components/MlCenterPosition/MlCenterPosition.tsx +65 -65
- package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +5 -5
- package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +23 -23
- package/src/components/MlCreatePdfButton/{MlCreatePdfButton.meta.json → MlCreatePdfButton.meta_.json} +0 -0
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +16 -16
- package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +29 -29
- package/src/components/MlCreatePdfButton/lib/createPdf.ts +175 -175
- package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +51 -51
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +3 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +15 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +152 -0
- package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +39 -0
- package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +53 -0
- package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +161 -0
- package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +399 -0
- package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +82 -0
- package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +55 -55
- package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +105 -105
- package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +119 -119
- package/src/components/MlFeatureEditor/custom-direct-select-mode.js +208 -208
- package/src/components/MlFeatureEditor/custom-polygon-mode.js +148 -148
- package/src/components/MlFeatureEditor/custom-select-mode.js +314 -314
- package/src/components/MlFeatureEditor/lib/common_selectors.js +34 -34
- package/src/components/MlFeatureEditor/lib/constants.js +61 -61
- package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +51 -51
- package/src/components/MlFeatureEditor/lib/create_midpoint.js +30 -30
- package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +82 -82
- package/src/components/MlFeatureEditor/lib/create_vertex.js +16 -16
- package/src/components/MlFeatureEditor/lib/double_click_zoom.js +23 -23
- package/src/components/MlFeatureEditor/lib/euclidean_distance.js +3 -3
- package/src/components/MlFeatureEditor/lib/features_at.js +23 -23
- package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +15 -15
- package/src/components/MlFeatureEditor/lib/is_click.js +8 -8
- package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +2 -2
- package/src/components/MlFeatureEditor/lib/is_tap.js +6 -6
- package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -4
- package/src/components/MlFeatureEditor/lib/mode_handler.js +105 -105
- package/src/components/MlFeatureEditor/lib/mouse_event_point.js +5 -5
- package/src/components/MlFeatureEditor/lib/move_features.js +33 -33
- package/src/components/MlFeatureEditor/lib/sort_features.js +25 -25
- package/src/components/MlFeatureEditor/lib/string_set.js +36 -36
- package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +2 -2
- package/src/components/MlFeatureEditor/lib/theme.js +230 -230
- package/src/components/MlFeatureEditor/lib/to_dense_array.js +1 -1
- package/src/components/MlFeatureEditor/lib/utils.js +40 -40
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +9 -9
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +4 -4
- package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +65 -65
- package/src/components/MlFollowGps/MlFollowGps.stories.js +6 -6
- package/src/components/MlFollowGps/MlFollowGps.test.js +44 -44
- package/src/components/MlFollowGps/MlFollowGps.tsx +220 -220
- package/src/components/MlGPXViewer/MlGPXViewer.stories.js +15 -15
- package/src/components/MlGPXViewer/MlGPXViewer.test.js +12 -12
- package/src/components/MlGPXViewer/MlGPXViewer.tsx +345 -345
- package/src/components/MlGPXViewer/gpxConverter.js +496 -496
- package/src/components/MlGPXViewer/util/GeoJsonContext.ts +4 -4
- package/src/components/MlGPXViewer/util/GeoJsonProvider.tsx +16 -16
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +34 -34
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +8 -8
- package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +84 -84
- package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +21 -21
- package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +27 -27
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +3 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +15 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.js +19 -0
- package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +128 -0
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +28 -28
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +8 -8
- package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +162 -162
- package/src/components/MlLayer/MlLayer.stories.js +5 -5
- package/src/components/MlLayer/MlLayer.test.js +86 -86
- package/src/components/MlLayer/MlLayer.tsx +36 -36
- package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +21 -21
- package/src/components/MlLayerMagnify/MlLayerMagnify.test.js +54 -54
- package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +201 -201
- package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +20 -20
- package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +54 -54
- package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +130 -130
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +194 -194
- package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +85 -85
- package/src/components/MlLayerSwitcher/components/LayerBox.js +57 -57
- package/src/components/MlMarker/MlMarker.stories.js +7 -7
- package/src/components/MlMarker/MlMarker.tsx +119 -119
- package/src/components/MlMeasureTool/MlMeasureTool.stories.js +64 -64
- package/src/components/MlMeasureTool/MlMeasureTool.tsx +38 -38
- package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +45 -45
- package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +40 -40
- package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +192 -192
- package/src/components/MlNavigationTools/MlNavigationTools.stories.js +18 -18
- package/src/components/MlNavigationTools/MlNavigationTools.tsx +173 -173
- package/src/components/MlOsmLayer/MlOsmLayer.js +49 -49
- package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +29 -29
- package/src/components/MlOsmLayer/MlOsmLayer.test.js +8 -8
- package/src/components/MlScaleReference/MlScaleReference.js +82 -82
- package/src/components/MlScaleReference/MlScaleReference.stories.js +33 -35
- package/src/components/MlShareMapState/MlShareMapState.js +203 -203
- package/src/components/MlShareMapState/MlShareMapState.stories.js +68 -68
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +201 -201
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +35 -35
- package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +8 -8
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +186 -186
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.js +21 -21
- package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +24 -24
- package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +3327 -3327
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +31 -30
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +8 -8
- package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +146 -146
- package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +207 -207
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +52 -52
- package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +13 -13
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +27 -27
- package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +137 -137
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +34 -34
- package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.js +7 -7
- package/src/components/MlWmsLayer/MlWmsLayer.stories.js +26 -26
- package/src/components/MlWmsLayer/MlWmsLayer.test.js +8 -8
- package/src/components/MlWmsLayer/MlWmsLayer.tsx +167 -167
- package/src/components/MlWmsLoader/MlWmsLoader.stories.js +27 -27
- package/src/components/MlWmsLoader/MlWmsLoader.tsx +254 -254
- package/src/contexts/MapComponentsProvider.test.js +229 -229
- package/src/contexts/MapContext.tsx +65 -65
- package/src/contexts/SimpleDataProvider.js +47 -47
- package/src/contexts/SimpleDataProvider.test.js +29 -29
- package/src/custom.d.tsx +14 -14
- package/src/decorators/MapContextDecorator.js +23 -25
- package/src/decorators/MapContextDecoratorHooks.js +34 -0
- package/src/decorators/MultiMapContextDecorator.js +63 -63
- package/src/decorators/NoNavToolsDecorator.js +17 -17
- package/src/decorators/ThemeWrapper.jsx +9 -0
- package/src/hooks/assets/pointWG.json +13 -0
- package/src/hooks/exportMap/index.ts +30 -0
- package/src/hooks/exportMap/lib.ts +187 -0
- package/src/hooks/useLayer.test.js +188 -188
- package/src/hooks/useLayer.ts +194 -180
- package/src/hooks/useLayerEvent.js +49 -0
- package/src/hooks/useMap.ts +67 -66
- package/src/hooks/useMapState.stories.js +78 -78
- package/src/hooks/useMapState.ts +161 -161
- package/src/hooks/useSource.ts +84 -0
- package/src/hooks/useSources.stories.js +232 -0
- package/src/hooks/useWms.js +71 -71
- package/src/index.ts +4 -0
- package/src/setupTests.js +86 -86
- package/src/ui_components/ImageLoader.js +62 -62
- package/src/ui_components/Legend.js +34 -34
- package/src/ui_components/LoadingOverlay.js +29 -29
- package/src/ui_components/LoadingOverlayContext.js +68 -68
- package/src/ui_components/Sidebar.js +80 -80
- package/src/ui_components/Tooltip.js +9 -9
- package/src/ui_components/TopToolbar.js +23 -23
- package/src/util/layerRemovalTest.js +111 -111
- package/src/util/sourceRemovalTest.js +103 -103
package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html
CHANGED
|
@@ -527,82 +527,82 @@ import { css } from "@emotion/css";
|
|
|
527
527
|
import useMap from "../../hooks/useMap";
|
|
528
528
|
|
|
529
529
|
const NeedleButton = styled.div`
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
530
|
+
width: 40%;
|
|
531
|
+
display: flex;
|
|
532
|
+
align-items: center;
|
|
533
533
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
534
|
+
&:hover {
|
|
535
|
+
cursor: pointer;
|
|
536
|
+
}
|
|
537
|
+
path {
|
|
538
|
+
filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, 0.2));
|
|
539
|
+
}
|
|
540
|
+
&:hover path {
|
|
541
|
+
filter: drop-shadow(0px 0px 13px rgba(255, 255, 255, 0.1));
|
|
542
|
+
}
|
|
543
|
+
path:nth-of-type(2) {
|
|
544
|
+
fill: #343434;
|
|
545
|
+
}
|
|
546
|
+
&:hover path:nth-of-type(2) {
|
|
547
|
+
fill: #434343;
|
|
548
|
+
}
|
|
549
|
+
path:nth-of-type(1) {
|
|
550
|
+
fill: #e90318;
|
|
551
|
+
}
|
|
552
|
+
&:hover path:nth-of-type(1) {
|
|
553
|
+
fill: #fb4052;
|
|
554
|
+
}
|
|
555
555
|
`;
|
|
556
556
|
const NeedleContainer = styled.div`
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
557
|
+
pointer-events: none;
|
|
558
|
+
display: flex;
|
|
559
|
+
z-index: 1002;
|
|
560
|
+
position: absolute;
|
|
561
|
+
align-items: center;
|
|
562
562
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
563
|
+
margin-left: -30%;
|
|
564
|
+
path:nth-of-type(2) {
|
|
565
|
+
}
|
|
566
|
+
svg g {
|
|
567
|
+
transform: translate(-76.7053, -29.7727) scale(2, 1);
|
|
568
|
+
}
|
|
569
|
+
svg {
|
|
570
|
+
z-index: 9990;
|
|
571
|
+
height: 150px;
|
|
572
|
+
width: 200px;
|
|
573
|
+
}
|
|
574
574
|
`;
|
|
575
575
|
const RotateButton = styled.div`
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
576
|
+
width: 30%;
|
|
577
|
+
margin-top: 14px;
|
|
578
|
+
z-index: 999;
|
|
579
|
+
display: flex;
|
|
580
580
|
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
581
|
+
svg:hover {
|
|
582
|
+
cursor: pointer;
|
|
583
|
+
}
|
|
584
|
+
svg:hover path {
|
|
585
|
+
fill: #ececec;
|
|
586
|
+
filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
|
|
587
|
+
}
|
|
588
|
+
path {
|
|
589
|
+
fill: #bbb;
|
|
590
|
+
}
|
|
591
|
+
svg {
|
|
592
|
+
transform: scale(0.6);
|
|
593
|
+
z-index: 9990;
|
|
594
|
+
height: 172px;
|
|
595
|
+
}
|
|
596
596
|
`;
|
|
597
597
|
|
|
598
598
|
interface MlNavigationCompassProps {
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
599
|
+
mapId?: string;
|
|
600
|
+
insertBeforeLayer?: string;
|
|
601
|
+
style?: any;
|
|
602
|
+
backgroundStyle?: any;
|
|
603
|
+
needleStyle?: any;
|
|
604
|
+
rotateRightStyle?: any;
|
|
605
|
+
rotateLeftStyle?: any;
|
|
606
606
|
}
|
|
607
607
|
/**
|
|
608
608
|
* 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.
|
|
@@ -612,132 +612,132 @@ interface MlNavigationCompassProps {
|
|
|
612
612
|
* @component
|
|
613
613
|
*/
|
|
614
614
|
const MlNavigationCompass = (props: MlNavigationCompassProps) => {
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
615
|
+
const mapHook = useMap({
|
|
616
|
+
mapId: props.mapId,
|
|
617
|
+
waitForLayer: props.insertBeforeLayer,
|
|
618
|
+
});
|
|
619
|
+
const [bearing, setBearing] = useState(0);
|
|
620
620
|
|
|
621
|
-
|
|
622
|
-
|
|
621
|
+
useEffect(() => {
|
|
622
|
+
if (!mapHook.map) return;
|
|
623
623
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
<span class="cstat-no" title="statement not covered" >
|
|
627
|
-
|
|
624
|
+
let _updateBearing = () => {
|
|
625
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!mapHook.map?.map?.getBearing) return;
|
|
626
|
+
<span class="cstat-no" title="statement not covered" > setBearing(Math.round(mapHook.map.map.getBearing()));</span>
|
|
627
|
+
};
|
|
628
628
|
|
|
629
|
-
|
|
630
|
-
|
|
629
|
+
mapHook.map.on("rotate", _updateBearing, mapHook.componentId);
|
|
630
|
+
_updateBearing();
|
|
631
631
|
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
632
|
+
return () => {
|
|
633
|
+
mapHook.map?.map.off("rotate", _updateBearing);
|
|
634
|
+
};
|
|
635
|
+
}, [mapHook.map, props.mapId]);
|
|
636
636
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
<span class="cstat-no" title="statement not covered" >
|
|
637
|
+
return (
|
|
638
|
+
<>
|
|
639
|
+
<div
|
|
640
|
+
className={css({
|
|
641
|
+
zIndex: 1000,
|
|
642
|
+
top: 0,
|
|
643
|
+
position: "absolute",
|
|
644
|
+
...props.style,
|
|
645
|
+
})}
|
|
646
|
+
>
|
|
647
|
+
<div
|
|
648
|
+
className={css({
|
|
649
|
+
position: "absolute",
|
|
650
|
+
border: "10px solid #bcbcbc",
|
|
651
|
+
backgroundColor: "#717171",
|
|
652
|
+
background: "radial-gradient(#717171, #414141)",
|
|
653
|
+
height: "200px",
|
|
654
|
+
width: "200px",
|
|
655
|
+
borderRadius: "50%",
|
|
656
|
+
display: "flex",
|
|
657
|
+
justifyContent: "center",
|
|
658
|
+
transform: "scale(0.2) translateX(-448px) translateY(-448px)",
|
|
659
|
+
...props.backgroundStyle,
|
|
660
|
+
})}
|
|
661
|
+
>
|
|
662
|
+
<RotateButton className={css({ ...props.rotateRightStyle })}>
|
|
663
|
+
<RotateRightIcon
|
|
664
|
+
onClick={<span class="fstat-no" title="function not covered" >()</span> => {
|
|
665
|
+
<span class="cstat-no" title="statement not covered" > if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
666
666
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
<span class="cstat-no" title="statement not covered" >
|
|
670
|
-
<span class="cstat-no" title="statement not covered" >
|
|
671
|
-
|
|
672
|
-
<span class="cstat-no" title="statement not covered" >
|
|
673
|
-
<span class="cstat-no" title="statement not covered" >
|
|
674
|
-
|
|
675
|
-
<span class="cstat-no" title="statement not covered" >
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
<span class="cstat-no" title="statement not covered" >
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
<span class="cstat-no" title="statement not covered" >
|
|
667
|
+
let bearing = <span class="cstat-no" title="statement not covered" >Math.round(mapHook.map.map.getBearing());</span>
|
|
668
|
+
let rest = <span class="cstat-no" title="statement not covered" >Math.round(bearing % 90);</span>
|
|
669
|
+
<span class="cstat-no" title="statement not covered" > if (bearing > 0) {</span>
|
|
670
|
+
<span class="cstat-no" title="statement not covered" > rest = 90 - rest;</span>
|
|
671
|
+
}
|
|
672
|
+
<span class="cstat-no" title="statement not covered" > if (rest === 0) {</span>
|
|
673
|
+
<span class="cstat-no" title="statement not covered" > rest = 90;</span>
|
|
674
|
+
}
|
|
675
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map.map.setBearing(Math.round(bearing + Math.abs(rest)));</span>
|
|
676
|
+
}}
|
|
677
|
+
></RotateRightIcon>
|
|
678
|
+
</RotateButton>
|
|
679
|
+
<NeedleButton
|
|
680
|
+
className={css({ ...props.needleStyle })}
|
|
681
|
+
onClick={<span class="fstat-no" title="function not covered" >()</span> => {
|
|
682
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map?.map.setBearing(0);</span>
|
|
683
|
+
}}
|
|
684
|
+
>
|
|
685
|
+
<NeedleContainer
|
|
686
|
+
style={{
|
|
687
|
+
transform: "rotate(" + (bearing>0?<span class="branch-0 cbranch-no" title="branch not covered" >"-"+bearing:</span>-1*bearing) + "deg)",
|
|
688
|
+
}}
|
|
689
|
+
>
|
|
690
|
+
<NeedleIcon />
|
|
691
|
+
</NeedleContainer>
|
|
692
|
+
</NeedleButton>
|
|
693
|
+
<RotateButton className={css({ ...props.rotateLeftStyle })}>
|
|
694
|
+
<RotateLeftIcon
|
|
695
|
+
onClick={<span class="fstat-no" title="function not covered" >()</span> => {
|
|
696
|
+
<span class="cstat-no" title="statement not covered" > if(!mapHook.map)<span class="cstat-no" title="statement not covered" >return;</span></span>
|
|
697
697
|
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
<span class="cstat-no" title="statement not covered" >
|
|
701
|
-
<span class="cstat-no" title="statement not covered" >
|
|
702
|
-
|
|
703
|
-
<span class="cstat-no" title="statement not covered" >
|
|
704
|
-
<span class="cstat-no" title="statement not covered" >
|
|
705
|
-
|
|
706
|
-
<span class="cstat-no" title="statement not covered" >
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
698
|
+
let bearing = <span class="cstat-no" title="statement not covered" >Math.round(mapHook.map.map.getBearing());</span>
|
|
699
|
+
let rest = <span class="cstat-no" title="statement not covered" >Math.round(bearing % 90);</span>
|
|
700
|
+
<span class="cstat-no" title="statement not covered" > if (bearing < 0) {</span>
|
|
701
|
+
<span class="cstat-no" title="statement not covered" > rest = 90 + rest;</span>
|
|
702
|
+
}
|
|
703
|
+
<span class="cstat-no" title="statement not covered" > if (rest === 0) {</span>
|
|
704
|
+
<span class="cstat-no" title="statement not covered" > rest = 90;</span>
|
|
705
|
+
}
|
|
706
|
+
<span class="cstat-no" title="statement not covered" > mapHook.map.map.setBearing(Math.round(bearing - Math.abs(rest)));</span>
|
|
707
|
+
}}
|
|
708
|
+
></RotateLeftIcon>
|
|
709
|
+
</RotateButton>
|
|
710
|
+
</div>
|
|
711
|
+
</div>
|
|
712
|
+
</>
|
|
713
|
+
);
|
|
714
714
|
};
|
|
715
715
|
|
|
716
716
|
MlNavigationCompass.propTypes = {
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
717
|
+
/**
|
|
718
|
+
* Component id prefix
|
|
719
|
+
*/
|
|
720
|
+
idPrefix: PropTypes.string,
|
|
721
|
+
/**
|
|
722
|
+
* Style object to adjust css definitions of the component.
|
|
723
|
+
*/
|
|
724
|
+
style: PropTypes.object,
|
|
725
|
+
/**
|
|
726
|
+
* Style object to adjust css definitions of the background.
|
|
727
|
+
*/
|
|
728
|
+
backgroundStyle: PropTypes.object,
|
|
729
|
+
/**
|
|
730
|
+
* Style object to adjust css definitions of the compass needle.
|
|
731
|
+
*/
|
|
732
|
+
needleStyle: PropTypes.object,
|
|
733
|
+
/**
|
|
734
|
+
* Style object to adjust css definitions of the rotate right button.
|
|
735
|
+
*/
|
|
736
|
+
rotateRightStyle: PropTypes.object,
|
|
737
|
+
/**
|
|
738
|
+
* Style object to adjust css definitions of the rotate left button.
|
|
739
|
+
*/
|
|
740
|
+
rotateLeftStyle: PropTypes.object,
|
|
741
741
|
};
|
|
742
742
|
|
|
743
743
|
export default MlNavigationCompass;
|
|
@@ -748,7 +748,7 @@ export default MlNavigationCompass;
|
|
|
748
748
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
749
749
|
Code coverage generated by
|
|
750
750
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
751
|
-
at
|
|
751
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
752
752
|
</div>
|
|
753
753
|
<script src="../../../prettify.js"></script>
|
|
754
754
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at Tue Oct 04 2022 11:59:51 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../../prettify.js"></script>
|
|
107
107
|
<script>
|