@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
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.24% </span>
26
+ <span class="strong">75.71% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>49/66</span>
28
+ <span class='fraction'>53/70</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">64.7% </span>
33
+ <span class="strong">71.42% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>44/68</span>
35
+ <span class='fraction'>50/70</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">87.5% </span>
40
+ <span class="strong">88.88% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>7/8</span>
42
+ <span class='fraction'>8/9</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">74.6% </span>
47
+ <span class="strong">75.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/63</span>
49
+ <span class='fraction'>50/66</span>
50
50
  </div>
51
51
 
52
52
 
@@ -275,7 +275,44 @@
275
275
  <a name='L210'></a><a href='#L210'>210</a>
276
276
  <a name='L211'></a><a href='#L211'>211</a>
277
277
  <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
316
  <span class="cline-any cline-neutral">&nbsp;</span>
280
317
  <span class="cline-any cline-neutral">&nbsp;</span>
281
318
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -321,42 +358,44 @@
321
358
  <span class="cline-any cline-neutral">&nbsp;</span>
322
359
  <span class="cline-any cline-neutral">&nbsp;</span>
323
360
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">102x</span>
361
+ <span class="cline-any cline-yes">185x</span>
325
362
  <span class="cline-any cline-neutral">&nbsp;</span>
326
363
  <span class="cline-any cline-neutral">&nbsp;</span>
327
364
  <span class="cline-any cline-neutral">&nbsp;</span>
328
365
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">102x</span>
330
- <span class="cline-any cline-yes">102x</span>
331
- <span class="cline-any cline-yes">102x</span>
366
+ <span class="cline-any cline-yes">185x</span>
367
+ <span class="cline-any cline-yes">185x</span>
368
+ <span class="cline-any cline-yes">185x</span>
332
369
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">102x</span>
370
+ <span class="cline-any cline-yes">185x</span>
334
371
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">102x</span>
336
- <span class="cline-any cline-yes">102x</span>
372
+ <span class="cline-any cline-yes">185x</span>
373
+ <span class="cline-any cline-yes">185x</span>
337
374
  <span class="cline-any cline-neutral">&nbsp;</span>
338
375
  <span class="cline-any cline-neutral">&nbsp;</span>
339
376
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">102x</span>
341
- <span class="cline-any cline-yes">26x</span>
377
+ <span class="cline-any cline-yes">185x</span>
378
+ <span class="cline-any cline-yes">46x</span>
342
379
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-yes">26x</span>
380
+ <span class="cline-any cline-yes">46x</span>
344
381
  <span class="cline-any cline-yes">3x</span>
345
382
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">26x</span>
383
+ <span class="cline-any cline-yes">46x</span>
347
384
  <span class="cline-any cline-no">&nbsp;</span>
348
385
  <span class="cline-any cline-neutral">&nbsp;</span>
349
386
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">26x</span>
351
- <span class="cline-any cline-no">&nbsp;</span>
387
+ <span class="cline-any cline-yes">46x</span>
388
+ <span class="cline-any cline-yes">16x</span>
352
389
  <span class="cline-any cline-no">&nbsp;</span>
353
390
  <span class="cline-any cline-neutral">&nbsp;</span>
354
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-yes">46x</span>
393
+ <span class="cline-any cline-no">&nbsp;</span>
355
394
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">26x</span>
357
395
  <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">26x</span>
396
+ <span class="cline-any cline-yes">46x</span>
359
397
  <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-yes">46x</span>
360
399
  <span class="cline-any cline-neutral">&nbsp;</span>
361
400
  <span class="cline-any cline-neutral">&nbsp;</span>
362
401
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -381,22 +420,23 @@
381
420
  <span class="cline-any cline-neutral">&nbsp;</span>
382
421
  <span class="cline-any cline-neutral">&nbsp;</span>
383
422
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">26x</span>
385
423
  <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">26x</span>
424
+ <span class="cline-any cline-yes">46x</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-yes">46x</span>
387
427
  <span class="cline-any cline-yes">6x</span>
388
428
  <span class="cline-any cline-neutral">&nbsp;</span>
389
429
  <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-yes">26x</span>
430
+ <span class="cline-any cline-yes">46x</span>
391
431
  <span class="cline-any cline-yes">4x</span>
392
432
  <span class="cline-any cline-neutral">&nbsp;</span>
393
433
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">26x</span>
434
+ <span class="cline-any cline-yes">46x</span>
395
435
  <span class="cline-any cline-yes">2x</span>
396
436
  <span class="cline-any cline-neutral">&nbsp;</span>
397
437
  <span class="cline-any cline-neutral">&nbsp;</span>
398
438
  <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-yes">26x</span>
439
+ <span class="cline-any cline-yes">46x</span>
400
440
  <span class="cline-any cline-neutral">&nbsp;</span>
401
441
  <span class="cline-any cline-neutral">&nbsp;</span>
402
442
  <span class="cline-any cline-no">&nbsp;</span>
@@ -407,47 +447,47 @@
407
447
  <span class="cline-any cline-neutral">&nbsp;</span>
408
448
  <span class="cline-any cline-neutral">&nbsp;</span>
409
449
  <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-yes">26x</span>
411
- <span class="cline-any cline-yes">26x</span>
412
- <span class="cline-any cline-yes">26x</span>
450
+ <span class="cline-any cline-yes">46x</span>
451
+ <span class="cline-any cline-yes">46x</span>
452
+ <span class="cline-any cline-yes">46x</span>
413
453
  <span class="cline-any cline-neutral">&nbsp;</span>
414
454
  <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">102x</span>
416
- <span class="cline-any cline-yes">102x</span>
455
+ <span class="cline-any cline-yes">185x</span>
456
+ <span class="cline-any cline-yes">182x</span>
417
457
  <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">56x</span>
458
+ <span class="cline-any cline-yes">96x</span>
419
459
  <span class="cline-any cline-neutral">&nbsp;</span>
420
460
  <span class="cline-any cline-neutral">&nbsp;</span>
421
461
  <span class="cline-any cline-neutral">&nbsp;</span>
422
462
  <span class="cline-any cline-neutral">&nbsp;</span>
423
463
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-yes">30x</span>
464
+ <span class="cline-any cline-yes">50x</span>
425
465
  <span class="cline-any cline-neutral">&nbsp;</span>
426
466
  <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-yes">26x</span>
467
+ <span class="cline-any cline-yes">46x</span>
428
468
  <span class="cline-any cline-neutral">&nbsp;</span>
429
469
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">102x</span>
431
- <span class="cline-any cline-yes">49x</span>
470
+ <span class="cline-any cline-yes">185x</span>
471
+ <span class="cline-any cline-yes">89x</span>
432
472
  <span class="cline-any cline-neutral">&nbsp;</span>
433
473
  <span class="cline-any cline-neutral">&nbsp;</span>
434
474
  <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-yes">12x</span>
475
+ <span class="cline-any cline-yes">16x</span>
436
476
  <span class="cline-any cline-neutral">&nbsp;</span>
437
477
  <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">102x</span>
439
- <span class="cline-any cline-yes">102x</span>
478
+ <span class="cline-any cline-yes">185x</span>
479
+ <span class="cline-any cline-yes">182x</span>
440
480
  <span class="cline-any cline-neutral">&nbsp;</span>
441
481
  <span class="cline-any cline-neutral">&nbsp;</span>
442
482
  <span class="cline-any cline-neutral">&nbsp;</span>
443
483
  <span class="cline-any cline-neutral">&nbsp;</span>
444
484
  <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">46x</span>
485
+ <span class="cline-any cline-yes">86x</span>
446
486
  <span class="cline-any cline-neutral">&nbsp;</span>
447
487
  <span class="cline-any cline-neutral">&nbsp;</span>
448
488
  <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">56x</span>
450
- <span class="cline-any cline-yes">56x</span>
489
+ <span class="cline-any cline-yes">96x</span>
490
+ <span class="cline-any cline-yes">96x</span>
451
491
  <span class="cline-any cline-no">&nbsp;</span>
452
492
  <span class="cline-any cline-neutral">&nbsp;</span>
453
493
  <span class="cline-any cline-no">&nbsp;</span>
@@ -458,8 +498,8 @@
458
498
  <span class="cline-any cline-no">&nbsp;</span>
459
499
  <span class="cline-any cline-neutral">&nbsp;</span>
460
500
  <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-yes">56x</span>
462
- <span class="cline-any cline-yes">56x</span>
501
+ <span class="cline-any cline-yes">96x</span>
502
+ <span class="cline-any cline-yes">96x</span>
463
503
  <span class="cline-any cline-no">&nbsp;</span>
464
504
  <span class="cline-any cline-no">&nbsp;</span>
465
505
  <span class="cline-any cline-no">&nbsp;</span>
@@ -470,14 +510,14 @@
470
510
  <span class="cline-any cline-neutral">&nbsp;</span>
471
511
  <span class="cline-any cline-neutral">&nbsp;</span>
472
512
  <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-yes">102x</span>
474
- <span class="cline-any cline-yes">23x</span>
475
- <span class="cline-any cline-yes">10x</span>
476
- <span class="cline-any cline-yes">10x</span>
513
+ <span class="cline-any cline-yes">185x</span>
514
+ <span class="cline-any cline-yes">43x</span>
515
+ <span class="cline-any cline-yes">20x</span>
516
+ <span class="cline-any cline-yes">20x</span>
477
517
  <span class="cline-any cline-neutral">&nbsp;</span>
478
518
  <span class="cline-any cline-neutral">&nbsp;</span>
479
519
  <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-yes">102x</span>
520
+ <span class="cline-any cline-yes">185x</span>
481
521
  <span class="cline-any cline-neutral">&nbsp;</span>
482
522
  <span class="cline-any cline-neutral">&nbsp;</span>
483
523
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -486,27 +526,46 @@
486
526
  <span class="cline-any cline-neutral">&nbsp;</span>
487
527
  <span class="cline-any cline-neutral">&nbsp;</span>
488
528
  <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-yes">13x</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
533
  <span class="cline-any cline-neutral">&nbsp;</span>
490
534
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { useState, useEffect, useCallback, useRef } from 'react';
491
535
  &nbsp;
492
536
  import useMap, { useMapType } from './useMap';
493
537
  &nbsp;
494
- import { SourceSpecification, LayerSpecification } from 'maplibre-gl';
538
+ import {
539
+ SourceSpecification,
540
+ LayerSpecification,
541
+ MapMouseEvent,
542
+ GeoJSONFeature,
543
+ Style,
544
+ MapEventType,
545
+ Map
546
+ } from 'maplibre-gl';
495
547
  &nbsp;
496
548
  import MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';
497
549
  &nbsp;
498
- import { MapLayerMouseEvent } from 'maplibre-gl';
499
550
  import { GeoJSONObject } from '@turf/turf';
500
551
  &nbsp;
552
+ type getLayerType = Style['getLayer'];
553
+ &nbsp;
501
554
  type useLayerType = {
502
555
  map: MapLibreGlWrapper | undefined;
503
- layer: LayerSpecification;
556
+ layer: ReturnType&lt;getLayerType&gt; | undefined;
504
557
  layerId: string;
505
558
  componentId: string;
506
559
  mapHook: useMapType;
507
560
  };
508
561
  &nbsp;
509
- interface useLayerProps {
562
+ export type MapEventHandler = (
563
+ ev: MapMouseEvent &amp; {
564
+ features?: GeoJSONFeature[] | undefined;
565
+ } &amp; Record&lt;string, unknown&gt;
566
+ ) =&gt; void;
567
+ &nbsp;
568
+ export interface useLayerProps {
510
569
  mapId?: string;
511
570
  layerId?: string;
512
571
  idPrefix?: string;
@@ -515,9 +574,9 @@ interface useLayerProps {
515
574
  geojson?: GeoJSONObject;
516
575
  source?: SourceSpecification | string;
517
576
  options: Partial&lt;LayerSpecification&gt;;
518
- onHover?: MapLayerMouseEvent;
519
- onClick?: MapLayerMouseEvent;
520
- onLeave?: MapLayerMouseEvent;
577
+ onHover?: (ev: MapEventType &amp; unknown) =&gt; Map | void;
578
+ onClick?: (ev: MapEventType &amp; unknown) =&gt; Map | void;
579
+ onLeave?: (ev: MapEventType &amp; unknown) =&gt; Map | void;
521
580
  }
522
581
  &nbsp;
523
582
  const legalLayerTypes = [
@@ -542,7 +601,7 @@ function useLayer(props: useLayerProps): useLayerType {
542
601
  const layerPaintConfRef = useRef&lt;string&gt;('');
543
602
  const layerLayoutConfRef = useRef&lt;string&gt;('');
544
603
  &nbsp;
545
- const [layer, setLayer] = useState&lt;any&gt;();
604
+ const [layer, setLayer] = useState&lt;ReturnType&lt;getLayerType&gt;&gt;();
546
605
  &nbsp;
547
606
  const initializedRef = useRef&lt;boolean&gt;(false);
548
607
  const layerId = useRef(
@@ -559,11 +618,14 @@ function useLayer(props: useLayerProps): useLayerType {
559
618
  <span class="cstat-no" title="statement not covered" > mapHook.map.map.removeSource(layerId.current);</span>
560
619
  }
561
620
  &nbsp;
562
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.source === 'string') {
563
- <span class="cstat-no" title="statement not covered" > if (props.source === '' || !mapHook.map.map.getSource(props.source)) {</span>
621
+ if (typeof props.source === 'string') {
622
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (props.source === '' || !mapHook.map.map.getSource(props.source)) {
564
623
  <span class="cstat-no" title="statement not covered" > return;</span>
565
624
  }
566
625
  }
626
+ <span class="missing-if-branch" title="if path not taken" >I</span>if(typeof props.options.type === 'undefined'){
627
+ <span class="cstat-no" title="statement not covered" > return;</span>
628
+ }
567
629
  &nbsp;
568
630
  initializedRef.current = true;
569
631
  &nbsp;
@@ -579,12 +641,12 @@ function useLayer(props: useLayerProps): useLayerType {
579
641
  }
580
642
  : {}),
581
643
  ...(props.source
582
- ? <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
644
+ ? {
583
645
  source: props.source,
584
646
  }
585
647
  : {}),
586
648
  id: layerId.current,
587
- },
649
+ } as LayerSpecification,
588
650
  props.insertBeforeLayer
589
651
  ? <span class="branch-0 cbranch-no" title="branch not covered" >props.insertBeforeLayer</span>
590
652
  : props.insertBeforeFirstSymbolLayer
@@ -593,7 +655,7 @@ function useLayer(props: useLayerProps): useLayerType {
593
655
  mapHook.componentId
594
656
  );
595
657
  &nbsp;
596
- setLayer(mapHook.map.map.getLayer(layerId.current));
658
+ setLayer(() =&gt; mapHook.map?.map.getLayer(layerId.current));
597
659
  &nbsp;
598
660
  if (typeof props.onHover !== 'undefined') {
599
661
  mapHook.map.on('mousemove', layerId.current, props.onHover, mapHook.componentId);
@@ -698,6 +760,10 @@ function useLayer(props: useLayerProps): useLayerType {
698
760
  };
699
761
  }
700
762
  &nbsp;
763
+ useLayer.defaultProps = {
764
+ &nbsp;
765
+ }
766
+ &nbsp;
701
767
  export default useLayer;
702
768
  &nbsp;</pre></td></tr></table></pre>
703
769
 
@@ -706,7 +772,7 @@ export default useLayer;
706
772
  <div class='footer quiet pad2 space-top1 center small'>
707
773
  Code coverage generated by
708
774
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at Sat Nov 26 2022 10:32:12 GMT+0000 (Coordinated Universal Time)
775
+ at 2023-01-15T17:55:43.336Z
710
776
  </div>
711
777
  <script src="../../prettify.js"></script>
712
778
  <script>
@@ -217,7 +217,7 @@ export default useLayerEvent;
217
217
  <div class='footer quiet pad2 space-top1 center small'>
218
218
  Code coverage generated by
219
219
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
220
- at Sat Nov 26 2022 10:32:12 GMT+0000 (Coordinated Universal Time)
220
+ at 2023-01-15T17:55:43.336Z
221
221
  </div>
222
222
  <script src="../../prettify.js"></script>
223
223
  <script>
@@ -0,0 +1,116 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/hooks/useLayerHoverPopup</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> src/hooks/useLayerHoverPopup</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">42.1% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>8/19</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">14.28% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/14</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">66.66% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">41.17% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>7/17</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
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file low" data-value="useLayerHoverPopup.tsx"><a href="useLayerHoverPopup.tsx.html">useLayerHoverPopup.tsx</a></td>
83
+ <td data-value="42.1" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 42%"></div><div class="cover-empty" style="width: 58%"></div></div>
85
+ </td>
86
+ <td data-value="42.1" class="pct low">42.1%</td>
87
+ <td data-value="19" class="abs low">8/19</td>
88
+ <td data-value="14.28" class="pct low">14.28%</td>
89
+ <td data-value="14" class="abs low">2/14</td>
90
+ <td data-value="66.66" class="pct medium">66.66%</td>
91
+ <td data-value="3" class="abs medium">2/3</td>
92
+ <td data-value="41.17" class="pct low">41.17%</td>
93
+ <td data-value="17" class="abs low">7/17</td>
94
+ </tr>
95
+
96
+ </tbody>
97
+ </table>
98
+ </div>
99
+ <div class='push'></div><!-- for sticky footer -->
100
+ </div><!-- /wrapper -->
101
+ <div class='footer quiet pad2 space-top1 center small'>
102
+ Code coverage generated by
103
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
+ at 2023-01-15T17:55:43.336Z
105
+ </div>
106
+ <script src="../../../prettify.js"></script>
107
+ <script>
108
+ window.onload = function () {
109
+ prettyPrint();
110
+ };
111
+ </script>
112
+ <script src="../../../sorter.js"></script>
113
+ <script src="../../../block-navigation.js"></script>
114
+ </body>
115
+ </html>
116
+