@mapcomponents/react-maplibre 0.1.62 → 0.1.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/.babelrc +21 -2
  2. package/.editorconfig +1 -1
  3. package/.eslintrc.js +11 -1
  4. package/.github/workflows/check-catalogue-metadata-schema.yml +19 -0
  5. package/.storybook/main.js +0 -1
  6. package/.storybook/preview.js +0 -2
  7. package/CHANGELOG.md +43 -0
  8. package/coverage/clover.xml +864 -1037
  9. package/coverage/coverage-final.json +32 -21
  10. package/coverage/lcov-report/favicon.png +0 -0
  11. package/coverage/lcov-report/index.html +170 -95
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +24 -24
  14. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +5 -5
  16. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  17. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +2 -2
  18. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  19. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +148 -0
  20. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +1 -1
  21. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +22 -7
  22. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +72 -42
  23. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +15 -15
  24. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  25. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  27. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  28. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +86 -35
  29. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  30. package/coverage/lcov-report/src/components/{MlSpatialElevationProfile/MlSpatialElevationProfile.js.html → MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html} +215 -320
  31. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +649 -0
  32. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +112 -0
  33. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +115 -0
  34. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +161 -0
  35. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +1 -1
  36. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  37. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +394 -0
  38. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +116 -0
  39. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +63 -285
  40. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +21 -21
  41. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  42. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  43. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +58 -76
  44. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +58 -61
  46. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +11 -11
  47. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  48. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +30 -21
  49. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  51. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  52. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  53. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  54. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  55. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  56. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  57. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  58. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  60. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  61. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  62. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  63. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  64. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  65. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  66. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +214 -0
  67. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +121 -0
  68. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +412 -0
  69. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +463 -0
  70. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +161 -0
  71. package/coverage/lcov-report/src/components/{MlGPXViewer/MlGPXViewer.tsx.html → MlSketchTool/MlSketchTool.tsx.html} +271 -589
  72. package/coverage/lcov-report/src/components/{MlGPXViewer → MlSketchTool}/index.html +22 -37
  73. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +514 -0
  74. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +21 -21
  75. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  76. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  77. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +20 -206
  78. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  79. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  80. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  81. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +10 -7
  82. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +5 -5
  83. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  84. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  85. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +111 -57
  86. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +19 -19
  87. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +201 -144
  88. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +9 -9
  89. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +23 -23
  90. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  91. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  92. package/coverage/lcov-report/src/contexts/index.html +1 -1
  93. package/coverage/lcov-report/src/hooks/index.html +50 -50
  94. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +1 -1
  95. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +1 -1
  96. package/coverage/lcov-report/src/hooks/useExportMap/index.html +1 -1
  97. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  98. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +1 -1
  99. package/coverage/lcov-report/src/hooks/useGpx/index.html +116 -0
  100. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +295 -0
  101. package/coverage/lcov-report/src/hooks/useLayer.ts.html +132 -66
  102. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +1 -1
  103. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +116 -0
  104. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +331 -0
  105. package/coverage/lcov-report/src/hooks/useMap.ts.html +47 -47
  106. package/coverage/lcov-report/src/hooks/useMapState.ts.html +54 -54
  107. package/coverage/lcov-report/src/hooks/useSource.ts.html +57 -57
  108. package/coverage/lcov-report/src/hooks/{useWms.js.html → useWms.ts.html} +54 -15
  109. package/coverage/lcov-report/src/index.html +1 -1
  110. package/coverage/lcov-report/src/index.ts.html +6 -6
  111. package/coverage/lcov.info +1724 -1974
  112. package/cypress/support/commands.ts +37 -0
  113. package/cypress/support/component-index.html +12 -0
  114. package/cypress/support/component.ts +46 -0
  115. package/cypress.config.ts +101 -0
  116. package/dist/components/MapLibreMap/MapLibreMap.d.ts +1 -1
  117. package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +53 -27
  118. package/dist/components/MlCenterPosition/MlCenterPosition.d.ts +3 -2
  119. package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +35 -16
  120. package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +1 -1
  121. package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +12 -9
  122. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +1 -1
  123. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +12 -9
  124. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.cy.d.ts +1 -0
  125. package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +1 -1
  126. package/dist/components/MlFeatureEditor/MlFeatureEditor.d.ts +10 -4
  127. package/dist/components/MlFeatureEditor/lib/double_click_zoom.d.ts +0 -2
  128. package/dist/components/MlFeatureEditor/lib/theme.d.ts +1 -1
  129. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +23 -12
  130. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +12 -11
  131. package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.d.ts +2 -0
  132. package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.d.ts +2 -0
  133. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.d.ts +3 -0
  134. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.d.ts +3 -0
  135. package/dist/components/MlGpxViewer/MlGpxViewer.d.ts +30 -0
  136. package/dist/components/MlGpxViewer/MlGpxViewer.stories.d.ts +17 -0
  137. package/dist/components/MlGpxViewer/MlGpxViewer.test.d.ts +1 -0
  138. package/dist/components/MlGpxViewer/util/GeoJsonContext.d.ts +10 -0
  139. package/dist/components/MlGpxViewer/util/GeoJsonProvider.d.ts +4 -0
  140. package/dist/components/MlGpxViewer/util/MetadataDrawer.d.ts +7 -0
  141. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +10 -0
  142. package/dist/components/MlGpxViewer/util/MlGpxViewerInstructions.d.ts +3 -0
  143. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +11 -2
  144. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +7 -9
  145. package/dist/components/MlLayerMagnify/MlLayerMagnify.d.ts +8 -2
  146. package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +13 -9
  147. package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +13 -3
  148. package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +12 -10
  149. package/dist/components/MlSketchTool/LayerList/ColorPicker.d.ts +9 -0
  150. package/dist/components/MlSketchTool/LayerList/LayerList.d.ts +5 -0
  151. package/dist/components/MlSketchTool/LayerList/LayerListItem.d.ts +11 -0
  152. package/dist/components/MlSketchTool/LayerList/LayerPropertyForm.d.ts +9 -0
  153. package/dist/components/MlSketchTool/MlSketchTool.d.ts +29 -0
  154. package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +10 -0
  155. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +33 -14
  156. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +18 -15
  157. package/dist/components/MlSpatialElevationProfile/util/getElevationData.d.ts +14 -0
  158. package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +3 -67
  159. package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +7 -4
  160. package/dist/components/MlWmsLoader/MlWmsLoader.d.ts +17 -10
  161. package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +23 -12
  162. package/dist/components/MlWmsLoader/utils/MlWmsLoaderInstructions.d.ts +3 -0
  163. package/dist/components/MlWmsLoader/utils/WMSLinks.d.ts +6 -0
  164. package/dist/contexts/SimpleDataProvider.d.ts +1 -1
  165. package/dist/custom.d.d.ts +1 -1
  166. package/dist/decorators/ThemeWrapper.d.ts +3 -1
  167. package/dist/hooks/useGpx/lib/gpxConverter.d.ts +11 -0
  168. package/dist/hooks/useGpx/useGpx.d.ts +26 -0
  169. package/dist/hooks/useGpx/useGpx.stories.d.ts +10 -0
  170. package/dist/hooks/useLayer.d.ts +14 -8
  171. package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.d.ts +23 -0
  172. package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.d.ts +10 -0
  173. package/dist/hooks/useMap.d.ts +2 -2
  174. package/dist/hooks/useMap.test.d.ts +1 -0
  175. package/dist/hooks/useMapState.d.ts +3 -3
  176. package/dist/hooks/useSource.d.ts +3 -3
  177. package/dist/hooks/useWms.d.ts +24 -16
  178. package/dist/index.d.ts +5 -5
  179. package/dist/index.esm.css +1 -1
  180. package/dist/index.esm.js +9327 -14844
  181. package/dist/index.esm.js.map +1 -1
  182. package/dist/setupTests.d.ts +6 -5
  183. package/dist/ui_components/Dropzone.d.ts +5 -0
  184. package/dist/ui_components/ImageLoader.d.ts +8 -1
  185. package/dist/ui_components/LoadingOverlayContext.d.ts +11 -11
  186. package/dist/ui_components/Sidebar.d.ts +10 -1
  187. package/dist/ui_components/Tooltip.d.ts +1 -1
  188. package/dist/ui_components/TopToolbar.d.ts +7 -1
  189. package/dist/ui_components/UploadButton.d.ts +6 -0
  190. package/dist/util/BubbleForInstructions.d.ts +2 -0
  191. package/dist/util/Instructions.d.ts +13 -0
  192. package/package.json +195 -185
  193. package/public/assets/sample1.gpx +3003 -0
  194. package/public/assets/sample2.gpx +1264 -0
  195. package/public/assets/sample3.gpx +912 -0
  196. package/{src/components/MlImageMarkerLayer → public}/assets/wg-marker.png +0 -0
  197. package/public/index.html +0 -4
  198. package/public/thumbnails/MlSketchTool.png +0 -0
  199. package/public/thumbnails/useCameraFollowPath.png +0 -0
  200. package/scripts/build-catalogue-meta.js +35 -11
  201. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +230 -188
  202. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +1 -2
  203. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +20 -0
  204. package/src/components/MlCenterPosition/MlCenterPosition.tsx +4 -4
  205. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +1 -2
  206. package/src/components/MlComponentTemplate/{MlComponentTemplate.stories.js → MlComponentTemplate.stories.tsx} +2 -2
  207. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +1 -1
  208. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +1 -2
  209. package/src/components/MlCreatePdfButton/{MlCreatePdfButton.stories.js → MlCreatePdfButton.stories.tsx} +1 -1
  210. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +1 -1
  211. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +21 -0
  212. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +1 -2
  213. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +1 -3
  214. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +25 -2
  215. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +2 -3
  216. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +39 -29
  217. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +1 -2
  218. package/src/components/MlFollowGps/MlFollowGps.meta.json +1 -2
  219. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +1 -2
  220. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +191 -0
  221. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +47 -30
  222. package/src/components/MlGeoJsonLayer/assets/earthquake.json +109937 -0
  223. package/src/components/MlGeoJsonLayer/assets/sample_1.json +138 -24
  224. package/src/components/MlGeoJsonLayer/assets/sample_2.json +140 -20
  225. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +65 -0
  226. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +189 -0
  227. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +188 -0
  228. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +9 -0
  229. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +10 -0
  230. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +1 -2
  231. package/src/components/{MlGPXViewer/MlGPXViewer.doc.de.md → MlGpxViewer/MlGpxViewer.doc.de.md} +0 -0
  232. package/src/components/{MlGPXViewer/MlGPXViewer.doc.en.md → MlGpxViewer/MlGpxViewer.doc.en.md} +0 -0
  233. package/src/components/{MlGPXViewer/MlGPXViewer.meta.json → MlGpxViewer/MlGpxViewer.meta.json} +2 -3
  234. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +109 -0
  235. package/src/components/MlGpxViewer/MlGpxViewer.test.js +53 -0
  236. package/src/components/MlGpxViewer/MlGpxViewer.tsx +103 -0
  237. package/src/components/{MlGPXViewer → MlGpxViewer}/util/GeoJsonContext.ts +0 -0
  238. package/src/components/{MlGPXViewer → MlGpxViewer}/util/GeoJsonProvider.tsx +0 -0
  239. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +38 -0
  240. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +128 -0
  241. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +68 -0
  242. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +1 -2
  243. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +41 -0
  244. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +27 -8
  245. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +41 -115
  246. package/src/components/MlLayer/MlLayer.meta_.json +1 -2
  247. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +1 -2
  248. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +44 -0
  249. package/src/components/MlLayerMagnify/{MlLayerMagnify.test.js → MlLayerMagnify.test.tsx} +15 -18
  250. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +55 -61
  251. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +1 -2
  252. package/src/components/MlLayerSwipe/{MlLayerSwipe.stories.js → MlLayerSwipe.stories.tsx} +9 -11
  253. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +47 -48
  254. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +1 -2
  255. package/src/components/MlLayerSwitcher/components/LayerBox.js +22 -19
  256. package/src/components/MlMarker/MlMarker.meta_.json +1 -2
  257. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +1 -2
  258. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +1 -2
  259. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +1 -2
  260. package/src/components/MlScaleReference/MlScaleReference.meta.json +1 -2
  261. package/src/components/MlShareMapState/MlShareMapState.meta_.json +1 -2
  262. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +43 -0
  263. package/src/components/MlSketchTool/LayerList/LayerList.tsx +12 -0
  264. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +109 -0
  265. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +126 -0
  266. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +3 -0
  267. package/src/components/MlSketchTool/MlSketchTool.meta.json +14 -0
  268. package/src/components/MlSketchTool/MlSketchTool.stories.js +26 -0
  269. package/src/components/MlSketchTool/MlSketchTool.tsx +271 -0
  270. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +1 -2
  271. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +121 -0
  272. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +30 -1
  273. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +143 -0
  274. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +103 -0
  275. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +1 -2
  276. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +3 -4
  277. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +2 -3
  278. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +17 -79
  279. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +1 -2
  280. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +1 -2
  281. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +3 -2
  282. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +1 -2
  283. package/src/components/MlWmsLayer/MlWmsLayer.tsx +59 -41
  284. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +1 -2
  285. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +89 -0
  286. package/src/components/MlWmsLoader/MlWmsLoader.tsx +141 -122
  287. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +50 -0
  288. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +128 -0
  289. package/src/decorators/MapContextDecorator.js +1 -1
  290. package/src/decorators/MapContextDecoratorHooks.js +1 -1
  291. package/src/decorators/ThemeWrapper.tsx +9 -0
  292. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +1 -2
  293. package/src/{components/MlGPXViewer → hooks/useGpx/lib}/gpxConverter.js +1 -0
  294. package/src/hooks/useGpx/useGpx.doc.de.md +3 -0
  295. package/src/hooks/useGpx/useGpx.meta_.json +15 -0
  296. package/src/{components/MlCenterPosition/MlCenterPosition.stories.js → hooks/useGpx/useGpx.stories.js} +4 -5
  297. package/src/hooks/useGpx/useGpx.tsx +70 -0
  298. package/src/hooks/useLayer.ts +32 -10
  299. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +3 -0
  300. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +15 -0
  301. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +20 -0
  302. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +82 -0
  303. package/src/hooks/useMap.test.tsx +48 -0
  304. package/src/hooks/useMap.ts +8 -8
  305. package/src/hooks/useSource.ts +4 -4
  306. package/src/hooks/{useWms.js → useWms.ts} +24 -11
  307. package/src/index.ts +5 -5
  308. package/src/setupTests.js +18 -15
  309. package/src/ui_components/Dropzone.tsx +104 -0
  310. package/src/ui_components/{ImageLoader.js → ImageLoader.tsx} +30 -25
  311. package/src/ui_components/{LoadingOverlayContext.js → LoadingOverlayContext.tsx} +12 -15
  312. package/src/ui_components/Sidebar.tsx +82 -0
  313. package/src/ui_components/Tooltip.tsx +17 -0
  314. package/src/ui_components/TopToolbar.tsx +26 -0
  315. package/src/ui_components/UploadButton.tsx +57 -0
  316. package/src/util/BubbleForInstructions.js +46 -0
  317. package/src/util/Instructions.tsx +60 -0
  318. package/tsconfig.json +39 -58
  319. package/config/getHttpsConfig.js +0 -66
  320. package/config/modules.js +0 -134
  321. package/config/pnpTs.js +0 -35
  322. package/config/webpack.config.js +0 -757
  323. package/config/webpackDevServer.config.js +0 -130
  324. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +0 -1645
  325. package/scripts/start.js +0 -166
  326. package/src/components/MlGPXViewer/MlGPXViewer.stories.js +0 -31
  327. package/src/components/MlGPXViewer/MlGPXViewer.test.js +0 -28
  328. package/src/components/MlGPXViewer/MlGPXViewer.tsx +0 -377
  329. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +0 -66
  330. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +0 -45
  331. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +0 -41
  332. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +0 -224
  333. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +0 -57
  334. package/src/components/MlWmsLoader/MlWmsLoader.stories.js +0 -47
  335. package/src/decorators/ThemeWrapper.jsx +0 -9
  336. package/src/ui_components/Legend.js +0 -44
  337. package/src/ui_components/LoadingOverlay.js +0 -41
  338. package/src/ui_components/Sidebar.js +0 -100
  339. package/src/ui_components/Tooltip.js +0 -21
  340. package/src/ui_components/TopToolbar.js +0 -29
@@ -1,41 +0,0 @@
1
- import React from "react";
2
-
3
- import MlLayerMagnify from "./MlLayerMagnify";
4
- import MlWmsLayer from "../MlWmsLayer/MlWmsLayer";
5
-
6
- import multiMapContextDecorator from "../../decorators/MultiMapContextDecorator";
7
-
8
- const storyoptions = {
9
- title: "MapComponents/MlLayerMagnify",
10
- component: MlLayerMagnify,
11
- argTypes: {
12
- },
13
- decorators: multiMapContextDecorator,
14
- };
15
- export default storyoptions;
16
-
17
- const Template = (args) => (
18
- <>
19
- <MlWmsLayer
20
- url="https://www.wms.nrw.de/geobasis/wms_nw_uraufnahme"
21
- urlParameters={{
22
- layers: "nw_uraufnahme_rw",
23
- }}
24
- sourceOptions={{
25
- minzoom: 13,
26
- maxzoom: 20,
27
- }}
28
- mapId={args.wmsLayerMapId}
29
- />
30
- <MlLayerMagnify map1Id="map_1" map2Id="map_2" magnifierRadius={args.magnifierRadius} />
31
- </>
32
- );
33
-
34
- export const ExampleConfig = Template.bind({});
35
- ExampleConfig.parameters = {
36
-
37
- };
38
- ExampleConfig.args = {
39
- wmsLayerMapId: "map_2",
40
- magnifierRadius: 200,
41
- };
@@ -1,224 +0,0 @@
1
- import React, { useCallback, useRef, useContext, useEffect } from "react";
2
- import MapContext from "../../contexts/MapContext";
3
- import GeoJsonContext from "../MlGPXViewer/util/GeoJsonContext";
4
- import { polygon, lineString } from "@turf/helpers";
5
- import { distance, lineOffset } from "@turf/turf";
6
- import { v4 as uuidv4 } from "uuid";
7
- import PropTypes from "prop-types";
8
-
9
- /**
10
- * MlSpatialElevationProfile returns a Button that will add a standard OSM tile layer to the maplibre-gl instance.
11
- *
12
- * @component
13
- */
14
- const MlSpatialElevationProfile = (props) => {
15
- const mapContext = useContext(MapContext);
16
-
17
- const componentId = useRef(
18
- (props.idPrefix ? props.idPrefix : "MlSpatialElevationProfile-") + uuidv4()
19
- );
20
- const mapRef = useRef(null);
21
- const initializedRef = useRef(false);
22
-
23
- const dataSource = useContext(GeoJsonContext);
24
- const sourceName = useRef("elevationprofile-" + uuidv4());
25
- const layerName = useRef("elevationprofile-layer-" + uuidv4());
26
-
27
- const createStep = useCallback(
28
- (x, y, z, x2, y2) => {
29
- //const summand = 0.0002;
30
- const line = lineString([
31
- [x, y],
32
- [x2, y2],
33
- ]);
34
- const offsetLine = lineOffset(line, 5, { units: "meters" });
35
- const x3 = offsetLine.geometry.coordinates[0][0];
36
- const y3 = offsetLine.geometry.coordinates[0][1];
37
- const x4 = offsetLine.geometry.coordinates[1][0];
38
- const y4 = offsetLine.geometry.coordinates[1][1];
39
-
40
- return polygon(
41
- [
42
- [
43
- [x, y],
44
- [x2, y2],
45
-
46
- [x4, y4],
47
- [x3, y3],
48
- [x, y],
49
- ],
50
- ],
51
- { height: z * props.elevationFactor }
52
- );
53
- },
54
- [props.elevationFactor]
55
- );
56
-
57
- useEffect(() => {
58
- let _componentId = componentId.current;
59
- return () => {
60
- // This is the cleanup function, it is called when this react component is removed from react-dom
61
- if (mapRef.current) {
62
- mapRef.current.cleanup(_componentId);
63
-
64
- mapRef.current = null;
65
- }
66
- };
67
- }, []);
68
-
69
- useEffect(() => {
70
- if (!mapContext.mapExists(props.mapId) || initializedRef.current) return;
71
-
72
- initializedRef.current = true;
73
- mapRef.current = mapContext.getMap(props.mapId);
74
-
75
- mapRef.current.addSource(
76
- sourceName.current,
77
- {
78
- type: "geojson",
79
- data: dataSource.data,
80
- },
81
- componentId.current
82
- );
83
- mapRef.current.addLayer(
84
- {
85
- id: layerName.current,
86
- source: sourceName.current,
87
- type: "fill-extrusion",
88
- paint: {
89
- "fill-extrusion-height": ["get", "height"],
90
- "fill-extrusion-opacity": 0.9,
91
- "fill-extrusion-color": [
92
- "interpolate",
93
- ["linear"],
94
- ["get", "height"],
95
- 0,
96
- "rgba(0, 0, 255, 0)",
97
- 0.1,
98
- "royalblue",
99
- 0.3,
100
- "cyan",
101
- 0.5,
102
- "lime",
103
- 0.7,
104
- "yellow",
105
- 1,
106
- "yellow",
107
- ],
108
- },
109
- },
110
- props.insertBeforeLayer,
111
- componentId.current
112
- );
113
- }, [mapContext.mapIds, props.insertBeforeLayer, props.mapId, dataSource, mapContext]);
114
-
115
- useEffect(() => {
116
- if (!mapRef.current || !mapRef.current.getLayer(layerName.current)) return;
117
- const { data } = dataSource;
118
- if (!data || !data.features) return;
119
-
120
- const line = data.features.find((element) => {
121
- return element.geometry.type === "LineString";
122
- });
123
- if (!line || !line.geometry) return;
124
- const heights = line.geometry.coordinates.map((coordinate, index) => {
125
- return coordinate[2];
126
- });
127
-
128
- const min = Math.min(...heights);
129
-
130
- let max = Math.max(...heights) - min;
131
-
132
- max = max === 0 ? 1 : max;
133
-
134
- mapRef.current.setPaintProperty(layerName.current, "fill-extrusion-color", [
135
- "interpolate",
136
- ["linear"],
137
- ["get", "height"],
138
- 0,
139
- "rgb(0,255,55)",
140
- max * props.elevationFactor,
141
- "rgb(255,0,0)",
142
- ]);
143
- const lerp = (x, y, a) => x * (1 - a) + y * a;
144
- const points = [];
145
-
146
- line.geometry.coordinates.forEach((coordinate, index) => {
147
- //const point = createPoint(coordinate[0],coordinate[1],coordinate[2]-min);
148
- //points.push(point);
149
- if (line.geometry.coordinates[index + 1]) {
150
- const wayLength = distance(
151
- [coordinate[0], coordinate[1]],
152
- [line.geometry.coordinates[index + 1][0], line.geometry.coordinates[index + 1][1]],
153
- { units: "kilometers" }
154
- );
155
- let listLength = ~~((wayLength * 1000) / 10);
156
- listLength = listLength < 1 ? 1 : listLength;
157
- for (let i = 0; i < listLength; i++) {
158
- const x = lerp(
159
- line.geometry.coordinates[index][0],
160
- line.geometry.coordinates[index + 1][0],
161
- i / listLength
162
- );
163
- const y = lerp(
164
- line.geometry.coordinates[index][1],
165
- line.geometry.coordinates[index + 1][1],
166
- i / listLength
167
- );
168
- const z = lerp(
169
- line.geometry.coordinates[index][2] - min,
170
- line.geometry.coordinates[index + 1][2] - min,
171
- i / listLength
172
- );
173
-
174
- const x2 = lerp(
175
- line.geometry.coordinates[index][0],
176
- line.geometry.coordinates[index + 1][0],
177
- (i + 1) / listLength
178
- );
179
- const y2 = lerp(
180
- line.geometry.coordinates[index][1],
181
- line.geometry.coordinates[index + 1][1],
182
- (i + 1) / listLength
183
- );
184
-
185
- const point = createStep(x, y, z, x2, y2);
186
- points.push(point);
187
- }
188
- }
189
- });
190
-
191
- const newData = dataSource.getEmptyFeatureCollection();
192
- newData.features = points;
193
-
194
- mapRef.current.getSource(sourceName.current)?.setData(newData);
195
- }, [dataSource.data, createStep, dataSource, props.elevationFactor, mapContext]);
196
-
197
- return <></>;
198
- };
199
-
200
- MlSpatialElevationProfile.defaultProps = {
201
- elevationFactor: 1,
202
- };
203
-
204
- MlSpatialElevationProfile.propTypes = {
205
- /**
206
- * Id of the target MapLibre instance in mapContext
207
- */
208
- mapId: PropTypes.string,
209
- /**
210
- * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance
211
- */
212
- idPrefix: PropTypes.string,
213
- /**
214
- * Number describes the factor of the height of the elevation
215
- */
216
- elevationFactor: PropTypes.number,
217
- /**
218
- * The layerId of an existing layer this layer should be rendered visually beneath
219
- * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
220
- */
221
- insertBeforeLayer: PropTypes.string,
222
- };
223
-
224
- export default MlSpatialElevationProfile;
@@ -1,57 +0,0 @@
1
- import React from "react";
2
-
3
- import MlSpatialElevationProfile from "./MlSpatialElevationProfile";
4
- import MlGPXViewer from "../MlGPXViewer/MlGPXViewer";
5
-
6
- import mapContextDecorator from "../../decorators/MapContextDecorator";
7
- import GeoJsonProvider from "../MlGPXViewer/util/GeoJsonProvider";
8
- import FileDownloadIcon from "@mui/icons-material/FileDownload";
9
- import IconButton from "@mui/material/IconButton";
10
- import useMediaQuery from "@mui/material/useMediaQuery";
11
-
12
- const storyoptions = {
13
- title: "MapComponents/MlSpatialElevationProfile",
14
- component: MlSpatialElevationProfile,
15
- argTypes: {
16
- options: {
17
- control: {
18
- type: "object",
19
- },
20
- },
21
- },
22
- decorators: mapContextDecorator,
23
- };
24
- export default storyoptions;
25
-
26
- const Template = (args) => {
27
-
28
- const mediaIsMobile = useMediaQuery("(max-width:900px)");
29
-
30
- return(
31
- <>
32
- <IconButton
33
- style={{
34
- position: "absolute",
35
- right: "5px",
36
- bottom: mediaIsMobile ? "145px" : "125px",
37
- backgroundColor: "rgba(255,255,255,1)",
38
-
39
- zIndex: 1000,
40
- }}
41
- title="Download sample-data"
42
- size="large"
43
- href="assets/sample.gpx"
44
- target="blank"
45
- >
46
- <FileDownloadIcon />
47
- </IconButton>
48
- <GeoJsonProvider>
49
- <MlGPXViewer />
50
- <MlSpatialElevationProfile />
51
- </GeoJsonProvider>
52
- </>
53
- );
54
- }
55
-
56
- export const ExampleConfig = Template.bind({});
57
- ExampleConfig.parameters = {};
@@ -1,47 +0,0 @@
1
- import React, { useState } from "react";
2
-
3
- import MlWmsLoader from "./MlWmsLoader";
4
-
5
- import TextField from "@mui/material/TextField";
6
- import mapContextDecorator from "../../decorators/MapContextDecorator";
7
- import Sidebar from "../../ui_components/Sidebar";
8
-
9
- const storyoptions = {
10
- title: "MapComponents/MlWmsLoader",
11
- component: MlWmsLoader,
12
- argTypes: {
13
- url: {},
14
- layer: {},
15
- },
16
- decorators: mapContextDecorator,
17
- };
18
- export default storyoptions;
19
-
20
- const Template = (props) => {
21
- const [url, setUrl] = useState(props.url);
22
-
23
- return (
24
- <>
25
- <Sidebar sx={{ wordBreak: "break-word" }}>
26
- <TextField
27
- label="WMS Url"
28
- variant="standard"
29
- value={url}
30
- onChange={(ev) => setUrl(ev.target.value)}
31
- />
32
- <MlWmsLoader {...props} url={url} />
33
- </Sidebar>
34
- </>
35
- );
36
- };
37
-
38
- export const ExampleConfig = Template.bind({});
39
- ExampleConfig.parameters = {};
40
- ExampleConfig.args = {
41
- /**
42
- * try https://maps.heigit.org/histosm/wms or https://magosm.magellium.com/geoserver/wms
43
- * https://www.wms.nrw.de/wms/kitas
44
- * https://www.wms.nrw.de/geobasis/wms_nw_vdop
45
- */
46
- url: "https://www.wms.nrw.de/geobasis/wms_nw_vdop",
47
- };
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- import { ThemeProvider } from "@mui/styles";
3
- import { createTheme } from "@mui/material";
4
-
5
- const theme = createTheme({});
6
-
7
- export default function ThemeWrapper(props) {
8
- return <ThemeProvider theme={theme}>{props?.children}</ThemeProvider>;
9
- }
@@ -1,44 +0,0 @@
1
- import React from "react";
2
- import makeStyles from '@mui/styles/makeStyles';
3
- import Drawer from "@mui/material/Drawer";
4
-
5
- const useStyles = makeStyles(() => ({
6
- drawer: {
7
- boxShadow: "0px 2px 3px 2px rgb(0,0,0, .4)",
8
- flexGrow: 1,
9
- zIndex: 110,
10
- position: "absolute",
11
- top: "100px",
12
- left: 0,
13
- height: "275px",
14
- backgroundColor: "#aecaec",
15
- },
16
- drawerPaper: {
17
- position: "static",
18
- display: "flex",
19
- alignItems: "stretch",
20
- alignContent: "stretch",
21
- flexDirection: "column",
22
- padding: "10px 10px 10px 10px",
23
- boxSizing: "border-box",
24
- minWidth: "170px",
25
- },
26
- }));
27
-
28
- export default function Legend(props) {
29
- const classes = useStyles();
30
-
31
- return (
32
- <Drawer
33
- className={classes.drawer}
34
- variant="persistent"
35
- anchor={"left"}
36
- open={true}
37
- classes={{
38
- paper: classes.drawerPaper,
39
- }}
40
- >
41
- {props.children}
42
- </Drawer>
43
- );
44
- }
@@ -1,41 +0,0 @@
1
- import React, { useContext } from "react";
2
-
3
- import { LoadingOverlayContext } from "../ui_components/LoadingOverlayContext";
4
-
5
- import FadeLoader from "react-spinners/FadeLoader";
6
- import "./LoadingOverlay.css";
7
-
8
- function LoadingOverlay() {
9
- const loadingOverlayContext = useContext(LoadingOverlayContext);
10
- let { fadeoutAnimation, visible } = loadingOverlayContext;
11
-
12
- return (
13
- <div
14
- className={
15
- fadeoutAnimation ? "loadingOverlay-fadeout" : "loadingOverlay-fadein"
16
- }
17
- style={{
18
- position: "fixed",
19
- top: 0,
20
- left: 0,
21
- bottom: 0,
22
- right: 0,
23
- backgroundColor: "#000",
24
- zIndex: 1000000,
25
- overflow: "hidden",
26
- display: visible ? "flex" : "none",
27
- alignItems: "center",
28
- justifyContent: "center",
29
- }}
30
- >
31
- <FadeLoader
32
- color={"#ababab"}
33
- loading={visible}
34
- css={{ display: "block", borderColor: "red" }}
35
- size={50}
36
- />
37
- </div>
38
- );
39
- }
40
-
41
- export default LoadingOverlay;
@@ -1,100 +0,0 @@
1
- import React, {useState} from "react";
2
- import { styled } from "@mui/material/styles";
3
- import makeStyles from "@mui/styles/makeStyles";
4
- import Drawer from "@mui/material/Drawer";
5
- import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
6
- import MenuIcon from '@mui/icons-material/Menu';
7
- import { IconButton } from "@mui/material";
8
- import useMediaQuery from "@mui/material/useMediaQuery";
9
-
10
- const useStyles = makeStyles((theme) => ({
11
- drawer: {
12
- flexGrow: 1,
13
- zIndex: 105,
14
- position: "absolute",
15
- top: 0,
16
- left: 0,
17
- bottom: 0,
18
- backgroundColor: "#fafafa",
19
- display: "flex",
20
- flexDirection: "column",
21
- alignItems: "stretch",
22
- alignContent: "stretch",
23
- },
24
- drawerPaper: {
25
- position: "initial !important",
26
- boxSizing: "border-box",
27
- padding: "40px",
28
- visibility: "visible !important",
29
- zIndex: "initial !important",
30
- },
31
- drawerHeader: {
32
- alignContent: "flex-start",
33
- display: "flex",
34
- },
35
- drawerContent: {},
36
- }));
37
-
38
- const DrawerHeader = styled("div")(({ theme }) => ({
39
- display: "flex",
40
- alignItems: "center",
41
- }));
42
-
43
- export default function Sidebar(props) {
44
- const classes = useStyles();
45
- const mediaIsMobile = useMediaQuery("(max-width:900px)");
46
-
47
- const [drawerOpen, setDrawerOpen] = useState(true);
48
-
49
- const handleDrawerOpen = () => {
50
- setDrawerOpen(true);
51
- };
52
- const handleDrawerClose = () => {
53
- setDrawerOpen(false);
54
- };
55
-
56
- return (
57
- <>
58
- <IconButton
59
- onClick={handleDrawerOpen}
60
- style={{
61
- zIndex: 101,
62
- position: "relative",
63
- padding: "20px",
64
- }}
65
- >
66
- <MenuIcon />
67
- </IconButton>
68
- <Drawer
69
- transitionDuration={0}
70
- className={classes.drawer}
71
- variant="persistent"
72
- anchor="left"
73
- open={drawerOpen}
74
- classes={{
75
- paper: classes.drawerPaper,
76
- }}
77
- sx={{
78
- ...props.sx,
79
- ...{
80
- maxWidth: mediaIsMobile ? "90vw" : "20vw",
81
- },
82
- ...(drawerOpen ? {} : { left: mediaIsMobile ? "-90vw" : "-20vw" }),
83
- }}
84
- >
85
- <DrawerHeader className={classes.drawerHeader}>
86
- <IconButton onClick={handleDrawerClose}>
87
- <ChevronLeftIcon
88
- style={
89
- {
90
- //paddingBottom: "40px",
91
- }
92
- }
93
- />
94
- </IconButton>
95
- </DrawerHeader>
96
- <div style={{ maxWidth: "100%" }}>{props.children}</div>
97
- </Drawer>
98
- </>
99
- );
100
- }
@@ -1,21 +0,0 @@
1
- import React from "react";
2
- import { useTheme } from "@mui/material/styles";
3
- import makeStyles from '@mui/styles/makeStyles';
4
- import Drawer from "@mui/material/Drawer";
5
- import Divider from "@mui/material/Divider";
6
-
7
- const useStyles = makeStyles((theme) => ({
8
- tooltip: {
9
- position: "fixed",
10
- top: "100px",
11
- left: "100px",
12
- zIndex: 100000,
13
- },
14
- }));
15
-
16
- export default function Legend(props) {
17
- const classes = useStyles();
18
- const theme = useTheme();
19
-
20
- return <div className={classes.tooltip}>tooltip</div>;
21
- }
@@ -1,29 +0,0 @@
1
- import React from "react";
2
- import AppBar from "@mui/material/AppBar";
3
- import Toolbar from "@mui/material/Toolbar";
4
-
5
- export default function TopToolbar(props) {
6
- return (
7
- <div
8
- style={{
9
- flexGrow: 1,
10
- zIndex: 120,
11
- position: "absolute",
12
- top: 0,
13
- left: 0,
14
- right: 0,
15
- }}
16
- >
17
- <AppBar
18
- sx={{
19
- minHeight: "62px",
20
- backgroundColor: "#f1f1f1",
21
- }}
22
- color="primary"
23
- position="static"
24
- >
25
- <Toolbar>{props.children}</Toolbar>
26
- </AppBar>
27
- </div>
28
- );
29
- }