@mapcomponents/react-maplibre 0.1.63 → 0.1.65

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 (316) hide show
  1. package/.editorconfig +1 -1
  2. package/.eslintrc.js +9 -6
  3. package/.github/workflows/check-catalogue-metadata-schema.yml +19 -0
  4. package/CHANGELOG.md +37 -2
  5. package/coverage/clover.xml +688 -1032
  6. package/coverage/coverage-final.json +25 -21
  7. package/coverage/lcov-report/index.html +127 -82
  8. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +24 -24
  9. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  10. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +5 -5
  11. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  12. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +2 -2
  13. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  14. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +1 -1
  15. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +1 -1
  16. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +1 -1
  17. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +2 -5
  18. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  19. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  20. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  21. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  22. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  23. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +40 -19
  24. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  25. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +1 -1
  26. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +1 -1
  27. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +112 -0
  28. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +115 -0
  29. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +34 -4
  30. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +2 -2
  31. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +394 -0
  33. package/coverage/lcov-report/src/components/{MlGPXViewer → MlGpxViewer}/index.html +23 -38
  34. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +63 -285
  35. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +21 -21
  36. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  37. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +58 -76
  39. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +58 -61
  41. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +11 -11
  42. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  43. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +30 -21
  44. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  46. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  47. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  48. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  49. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  51. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  52. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  53. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  55. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  56. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  57. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  58. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  60. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  61. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +1 -1
  62. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +1 -1
  63. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +1 -1
  64. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +1 -1
  65. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +1 -1
  66. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +2 -2
  67. package/coverage/lcov-report/src/components/MlSketchTool/index.html +1 -1
  68. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +514 -0
  69. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +21 -21
  70. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  71. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  72. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +20 -206
  73. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  74. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  75. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  76. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +10 -7
  77. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +5 -5
  78. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  79. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  80. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +111 -57
  81. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +19 -19
  82. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +201 -144
  83. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +9 -9
  84. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +23 -23
  85. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  86. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  87. package/coverage/lcov-report/src/contexts/index.html +1 -1
  88. package/coverage/lcov-report/src/hooks/index.html +50 -50
  89. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +1 -1
  90. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +1 -1
  91. package/coverage/lcov-report/src/hooks/useExportMap/index.html +1 -1
  92. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  93. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +1 -1
  94. package/coverage/lcov-report/src/hooks/useGpx/index.html +116 -0
  95. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +295 -0
  96. package/coverage/lcov-report/src/hooks/useLayer.ts.html +132 -66
  97. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +1 -1
  98. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +116 -0
  99. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +184 -0
  100. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +116 -0
  101. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +331 -0
  102. package/coverage/lcov-report/src/hooks/useMap.ts.html +47 -47
  103. package/coverage/lcov-report/src/hooks/useMapState.ts.html +54 -54
  104. package/coverage/lcov-report/src/hooks/useSource.ts.html +57 -57
  105. package/coverage/lcov-report/src/hooks/{useWms.js.html → useWms.ts.html} +54 -15
  106. package/coverage/lcov-report/src/index.html +1 -1
  107. package/coverage/lcov-report/src/index.ts.html +6 -6
  108. package/coverage/lcov.info +1320 -1960
  109. package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +51 -25
  110. package/dist/components/MlCenterPosition/MlCenterPosition.d.ts +3 -2
  111. package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +35 -16
  112. package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +1 -1
  113. package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +12 -9
  114. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +1 -1
  115. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +12 -9
  116. package/dist/components/MlGPXViewer/util/GeoJsonContext.d.ts +1 -1
  117. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +22 -11
  118. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +4 -95
  119. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.d.ts +3 -0
  120. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.d.ts +3 -0
  121. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +1 -1
  122. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +12 -9
  123. package/dist/components/MlGpxViewer/MlGpxViewer.d.ts +30 -0
  124. package/dist/components/MlGpxViewer/MlGpxViewer.stories.d.ts +17 -0
  125. package/dist/components/MlGpxViewer/MlGpxViewer.test.d.ts +1 -0
  126. package/dist/components/MlGpxViewer/util/GeoJsonContext.d.ts +10 -0
  127. package/dist/components/MlGpxViewer/util/GeoJsonProvider.d.ts +4 -0
  128. package/dist/components/MlGpxViewer/util/MetadataDrawer.d.ts +7 -0
  129. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +10 -0
  130. package/dist/components/MlGpxViewer/util/MlGpxViewerInstructions.d.ts +3 -0
  131. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +11 -2
  132. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +7 -9
  133. package/dist/components/MlLayerMagnify/MlLayerMagnify.d.ts +8 -2
  134. package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +13 -9
  135. package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +13 -3
  136. package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +12 -10
  137. package/dist/components/MlSketchTool/MlSketchTool.d.ts +1 -1
  138. package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +13 -9
  139. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +33 -14
  140. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +18 -15
  141. package/dist/components/MlSpatialElevationProfile/util/getElevationData.d.ts +14 -0
  142. package/dist/components/MlThreeJsLayer/MlThreeJsLayer.stories.d.ts +20 -15
  143. package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +3 -67
  144. package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.d.ts +20 -12
  145. package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +7 -4
  146. package/dist/components/MlWmsLoader/MlWmsLoader.d.ts +17 -10
  147. package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +23 -12
  148. package/dist/components/MlWmsLoader/utils/MlWmsLoaderInstructions.d.ts +3 -0
  149. package/dist/components/MlWmsLoader/utils/WMSLinks.d.ts +6 -0
  150. package/dist/decorators/ThemeWrapper.d.ts +3 -1
  151. package/dist/hooks/useGpx/lib/gpxConverter.d.ts +11 -0
  152. package/dist/hooks/useGpx/useGpx.d.ts +26 -0
  153. package/dist/hooks/useGpx/useGpx.stories.d.ts +10 -0
  154. package/dist/hooks/useLayer.d.ts +13 -7
  155. package/dist/hooks/useLayerFilter/useLayerFilter.d.ts +8 -0
  156. package/dist/hooks/useLayerFilter/useLayerFilter.stories.d.ts +9 -0
  157. package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.d.ts +23 -0
  158. package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.d.ts +10 -0
  159. package/dist/hooks/useMap.d.ts +1 -1
  160. package/dist/hooks/useMap.test.d.ts +1 -0
  161. package/dist/hooks/useSource.d.ts +2 -2
  162. package/dist/hooks/useWms.d.ts +24 -16
  163. package/dist/index.d.ts +5 -5
  164. package/dist/index.esm.js +9310 -14006
  165. package/dist/index.esm.js.map +1 -1
  166. package/dist/setupTests.d.ts +6 -5
  167. package/dist/ui_components/Dropzone.d.ts +5 -0
  168. package/dist/ui_components/ImageLoader.d.ts +8 -1
  169. package/dist/ui_components/LoadingOverlayContext.d.ts +11 -11
  170. package/dist/ui_components/Sidebar.d.ts +7 -6
  171. package/dist/ui_components/Tooltip.d.ts +1 -1
  172. package/dist/ui_components/TopToolbar.d.ts +4 -3
  173. package/dist/ui_components/UploadButton.d.ts +6 -0
  174. package/dist/util/BubbleForInstructions.d.ts +2 -0
  175. package/dist/util/Instructions.d.ts +13 -0
  176. package/package.json +195 -191
  177. package/{src/components/MlImageMarkerLayer → public}/assets/wg-marker.png +0 -0
  178. package/scripts/build-catalogue-meta.js +35 -11
  179. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +230 -188
  180. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +1 -2
  181. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +20 -0
  182. package/src/components/MlCenterPosition/MlCenterPosition.tsx +4 -4
  183. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +1 -2
  184. package/src/components/MlComponentTemplate/{MlComponentTemplate.stories.js → MlComponentTemplate.stories.tsx} +2 -2
  185. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +1 -1
  186. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +1 -2
  187. package/src/components/MlCreatePdfButton/{MlCreatePdfButton.stories.js → MlCreatePdfButton.stories.tsx} +1 -1
  188. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +1 -1
  189. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +1 -2
  190. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +25 -2
  191. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +1 -2
  192. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +0 -1
  193. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +1 -2
  194. package/src/components/MlFollowGps/MlFollowGps.meta.json +1 -2
  195. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +1 -2
  196. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +89 -0
  197. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +24 -17
  198. package/src/components/MlGeoJsonLayer/assets/earthquake.json +109937 -0
  199. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +65 -0
  200. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +9 -0
  201. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +10 -0
  202. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +1 -2
  203. package/src/components/MlGeojsonLayerWithSource/{MlGeojsonLayerWithSource.stories.js → MlGeojsonLayerWithSource.stories.tsx} +0 -0
  204. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +1 -1
  205. package/src/components/{MlGPXViewer/MlGPXViewer.doc.de.md → MlGpxViewer/MlGpxViewer.doc.de.md} +0 -0
  206. package/src/components/{MlGPXViewer/MlGPXViewer.doc.en.md → MlGpxViewer/MlGpxViewer.doc.en.md} +0 -0
  207. package/src/components/{MlGPXViewer/MlGPXViewer.meta.json → MlGpxViewer/MlGpxViewer.meta.json} +2 -3
  208. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +109 -0
  209. package/src/components/MlGpxViewer/MlGpxViewer.test.js +53 -0
  210. package/src/components/MlGpxViewer/MlGpxViewer.tsx +103 -0
  211. package/src/components/{MlGPXViewer → MlGpxViewer}/util/GeoJsonContext.ts +0 -0
  212. package/src/components/{MlGPXViewer → MlGpxViewer}/util/GeoJsonProvider.tsx +0 -0
  213. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +38 -0
  214. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +128 -0
  215. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +71 -0
  216. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +1 -2
  217. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +41 -0
  218. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +27 -8
  219. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +41 -115
  220. package/src/components/MlLayer/MlLayer.meta_.json +1 -2
  221. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +1 -2
  222. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +44 -0
  223. package/src/components/MlLayerMagnify/{MlLayerMagnify.test.js → MlLayerMagnify.test.tsx} +15 -18
  224. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +55 -61
  225. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +1 -2
  226. package/src/components/MlLayerSwipe/{MlLayerSwipe.stories.js → MlLayerSwipe.stories.tsx} +9 -11
  227. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +47 -48
  228. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +1 -2
  229. package/src/components/MlLayerSwitcher/components/LayerBox.js +22 -19
  230. package/src/components/MlMarker/MlMarker.meta_.json +1 -2
  231. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +1 -2
  232. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +1 -2
  233. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +1 -2
  234. package/src/components/MlScaleReference/MlScaleReference.meta.json +1 -2
  235. package/src/components/MlShareMapState/MlShareMapState.meta_.json +1 -2
  236. package/src/components/MlSketchTool/MlSketchTool.meta.json +1 -2
  237. package/src/components/MlSketchTool/{MlSketchTool.stories.js → MlSketchTool.stories.tsx} +1 -1
  238. package/src/components/MlSketchTool/MlSketchTool.tsx +1 -1
  239. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +1 -2
  240. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +121 -0
  241. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +30 -1
  242. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +143 -0
  243. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +103 -0
  244. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +1 -2
  245. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.tsx +37 -0
  246. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +1 -2
  247. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +2 -3
  248. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +17 -79
  249. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +1 -2
  250. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +1 -2
  251. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +3 -2
  252. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +1 -2
  253. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.tsx +22 -0
  254. package/src/components/MlWmsLayer/MlWmsLayer.tsx +59 -41
  255. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +1 -2
  256. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +89 -0
  257. package/src/components/MlWmsLoader/MlWmsLoader.tsx +141 -122
  258. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +50 -0
  259. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +128 -0
  260. package/src/decorators/MapContextDecorator.js +1 -1
  261. package/src/decorators/MapContextDecoratorHooks.js +1 -1
  262. package/src/decorators/ThemeWrapper.tsx +9 -0
  263. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +1 -2
  264. package/src/{components/MlGPXViewer → hooks/useGpx/lib}/gpxConverter.js +1 -0
  265. package/src/hooks/useGpx/useGpx.doc.de.md +3 -0
  266. package/src/hooks/useGpx/useGpx.meta_.json +15 -0
  267. package/src/{components/MlLayer/MlLayer.stories.js → hooks/useGpx/useGpx.stories.js} +4 -4
  268. package/src/hooks/useGpx/useGpx.tsx +70 -0
  269. package/src/hooks/useLayer.ts +32 -10
  270. package/src/hooks/useLayerFilter/useLayerFilter.doc.de.md +3 -0
  271. package/src/hooks/useLayerFilter/useLayerFilter.meta_.json +14 -0
  272. package/src/hooks/useLayerFilter/useLayerFilter.stories.tsx +40 -0
  273. package/src/hooks/useLayerFilter/useLayerFilter.ts +33 -0
  274. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +3 -0
  275. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +15 -0
  276. package/src/{components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.js → hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js} +4 -6
  277. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +82 -0
  278. package/src/hooks/useMap.test.tsx +48 -0
  279. package/src/hooks/useMap.ts +8 -8
  280. package/src/hooks/useSource.ts +4 -4
  281. package/src/hooks/{useWms.js → useWms.ts} +24 -11
  282. package/src/index.ts +5 -5
  283. package/src/setupTests.js +18 -15
  284. package/src/ui_components/Dropzone.tsx +104 -0
  285. package/src/ui_components/{ImageLoader.js → ImageLoader.tsx} +30 -25
  286. package/src/ui_components/{LoadingOverlayContext.js → LoadingOverlayContext.tsx} +12 -15
  287. package/src/ui_components/Sidebar.tsx +12 -10
  288. package/src/ui_components/Tooltip.tsx +17 -0
  289. package/src/ui_components/TopToolbar.tsx +5 -3
  290. package/src/ui_components/UploadButton.tsx +57 -0
  291. package/src/util/BubbleForInstructions.js +46 -0
  292. package/src/util/Instructions.tsx +60 -0
  293. package/tsconfig.json +1 -1
  294. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +0 -1222
  295. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +0 -1645
  296. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +0 -757
  297. package/dist/components/MlGPXViewer/util/MlGPXViewerInstructions.d.ts +0 -1
  298. package/dist/components/MlGPXViewer/util/SampleLayer.d.ts +0 -0
  299. package/dist/components/MlGPXViewer/util/demoViewer.d.ts +0 -5
  300. package/src/components/MlCenterPosition/MlCenterPosition.stories.js +0 -21
  301. package/src/components/MlGPXViewer/MlGPXViewer.stories.js +0 -91
  302. package/src/components/MlGPXViewer/MlGPXViewer.test.js +0 -28
  303. package/src/components/MlGPXViewer/MlGPXViewer.tsx +0 -379
  304. package/src/components/MlGPXViewer/util/MlGPXViewerInstructions.js +0 -145
  305. package/src/components/MlGPXViewer/util/SampleLayer.js +0 -2
  306. package/src/components/MlGPXViewer/util/demoViewer.js +0 -254
  307. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +0 -45
  308. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +0 -41
  309. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +0 -224
  310. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +0 -57
  311. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.js +0 -39
  312. package/src/components/MlWmsLoader/MlWmsLoader.stories.js +0 -47
  313. package/src/decorators/ThemeWrapper.jsx +0 -9
  314. package/src/ui_components/Legend.js +0 -44
  315. package/src/ui_components/LoadingOverlay.js +0 -41
  316. package/src/ui_components/Tooltip.js +0 -21
@@ -0,0 +1,514 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MlSpatialElevationProfile</a> MlSpatialElevationProfile.tsx</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">87.09% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>27/31</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">60% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>12/20</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/6</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>27/27</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 high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-yes">10x</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-yes">10x</span>
271
+ <span class="cline-any cline-yes">16x</span>
272
+ <span class="cline-any cline-yes">16x</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-yes">16x</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-yes">16x</span>
277
+ <span class="cline-any cline-yes">4x</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-yes">4x</span>
281
+ <span class="cline-any cline-yes">4x</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-yes">4x</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-yes">4x</span>
287
+ <span class="cline-any cline-yes">8x</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-yes">4x</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-yes">4x</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-yes">4x</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-yes">4x</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-yes">16x</span>
300
+ <span class="cline-any cline-yes">4x</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-yes">4x</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-yes">16x</span>
314
+ <span class="cline-any cline-yes">4x</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-yes">4x</span>
317
+ <span class="cline-any cline-yes">4x</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-yes">16x</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-yes">16x</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-yes">16x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-yes">10x</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useRef, useMemo } from 'react';
353
+ import { featureCollection } from '@turf/helpers';
354
+ import { Feature, FeatureCollection } from '@turf/turf';
355
+ import { v4 as uuidv4 } from 'uuid';
356
+ import useSource from '../../hooks/useSource';
357
+ import useLayer from '../../hooks/useLayer';
358
+ import getElevationData from './util/getElevationData';
359
+ import { Coordinates, DataDrivenPropertyValueSpecification } from 'maplibre-gl';
360
+ &nbsp;
361
+ const defaultFillExtrusionColor: (string | number | string[])[] = [
362
+ 'interpolate',
363
+ ['linear'],
364
+ ['get', 'height'],
365
+ 0,
366
+ 'rgba(0, 0, 255, 0)',
367
+ 0.1,
368
+ 'royalblue',
369
+ 0.3,
370
+ 'cyan',
371
+ 0.5,
372
+ 'lime',
373
+ 0.7,
374
+ 'yellow',
375
+ 1,
376
+ 'yellow',
377
+ ];
378
+ /**
379
+ * MlSpatialElevationProfile returns a Button that will add a standard OSM tile layer to the maplibre-gl instance.
380
+ *
381
+ * @component
382
+ */
383
+ &nbsp;
384
+ interface geojson {
385
+ features: Feature | FeatureCollection | undefined;
386
+ }
387
+ &nbsp;
388
+ export interface MlSpatialElevationProfileProps {
389
+ /**
390
+ * Id of the target MapLibre instance in mapContext
391
+ */
392
+ mapId?: string;
393
+ /**
394
+ * GeoJSON data that is supposed to be rendered by this component.
395
+ */
396
+ //geojson: {features: Feature | FeatureCollection | undefined };
397
+ geojson: geojson | FeatureCollection | undefined;
398
+ /**
399
+ * Prefix of the component id this component uses when adding elements to the MapLibreGl-instance
400
+ */
401
+ idPrefix?: string;
402
+ /**
403
+ * Number describes the factor of the height of the elevation
404
+ */
405
+ elevationFactor?: number;
406
+ /**
407
+ * The layerId of an existing layer this layer should be rendered visually beneath
408
+ * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
409
+ */
410
+ insertBeforeLayer?: string;
411
+ }
412
+ &nbsp;
413
+ const MlSpatialElevationProfile = (props: MlSpatialElevationProfileProps) =&gt; {
414
+ const sourceName = useRef('elevationprofile-' + uuidv4());
415
+ const layerName = useRef('elevationprofile-layer-' + uuidv4());
416
+ const elevationFactor =
417
+ props.elevationFactor || <span class="branch-1 cbranch-no" title="branch not covered" >MlSpatialElevationProfile.defaultProps.elevationFactor;</span>
418
+ &nbsp;
419
+ const _geojsonInfo = useMemo(() =&gt; {
420
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!props?.geojson?.features) <span class="cstat-no" title="statement not covered" >return;</span>
421
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
422
+ // @ts-ignore
423
+ const line = props.geojson.features?.find((element: Feature) =&gt; {
424
+ return element.geometry.type === 'LineString';
425
+ });
426
+ &nbsp;
427
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!line || !line.geometry) <span class="cstat-no" title="statement not covered" >return;</span>
428
+ &nbsp;
429
+ const heights = line.geometry.coordinates.map((coordinate: Coordinates) =&gt; {
430
+ return coordinate[2];
431
+ });
432
+ &nbsp;
433
+ const min = Math.min(...heights);
434
+ &nbsp;
435
+ let max = Math.max(...heights) - min;
436
+ &nbsp;
437
+ max = max === 0 ? <span class="branch-0 cbranch-no" title="branch not covered" >1 </span>: max;
438
+ &nbsp;
439
+ return { max, min, line };
440
+ }, [props.geojson]);
441
+ &nbsp;
442
+ const _fillExtrusionColor: (string | number | string[])[] = useMemo(() =&gt; {
443
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!_geojsonInfo) <span class="cstat-no" title="statement not covered" >return defaultFillExtrusionColor;</span>
444
+ &nbsp;
445
+ return [
446
+ 'interpolate',
447
+ ['linear'],
448
+ ['get', 'height'],
449
+ 0,
450
+ 'rgb(0,255,55)',
451
+ _geojsonInfo.max * elevationFactor,
452
+ 'rgb(255,0,0)',
453
+ ];
454
+ }, [_geojsonInfo, props.elevationFactor]);
455
+ &nbsp;
456
+ const _geojson = useMemo(() =&gt; {
457
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!props.geojson?.features || !_geojsonInfo) <span class="cstat-no" title="statement not covered" >return;</span>
458
+ &nbsp;
459
+ const newData = getElevationData(_geojsonInfo, elevationFactor);
460
+ return newData;
461
+ }, [_geojsonInfo, elevationFactor]);
462
+ &nbsp;
463
+ useSource({
464
+ mapId: props.mapId,
465
+ sourceId: sourceName.current,
466
+ source: {
467
+ type: 'geojson',
468
+ data: _geojson || <span class="branch-1 cbranch-no" title="branch not covered" >featureCollection([]),</span>
469
+ },
470
+ });
471
+ &nbsp;
472
+ useLayer({
473
+ layerId: layerName.current,
474
+ source: sourceName.current,
475
+ &nbsp;
476
+ options: {
477
+ type: 'fill-extrusion',
478
+ paint: {
479
+ 'fill-extrusion-height': ['get', 'height'],
480
+ 'fill-extrusion-opacity': 0.9,
481
+ 'fill-extrusion-color': (_fillExtrusionColor || <span class="branch-1 cbranch-no" title="branch not covered" >defaultFillExtrusionColor)</span> as (DataDrivenPropertyValueSpecification&lt;string&gt;),
482
+ },
483
+ },
484
+ insertBeforeLayer: props.insertBeforeLayer,
485
+ });
486
+ &nbsp;
487
+ return &lt;&gt;&lt;/&gt;;
488
+ };
489
+ &nbsp;
490
+ MlSpatialElevationProfile.defaultProps = {
491
+ elevationFactor: 1,
492
+ };
493
+ &nbsp;
494
+ export default MlSpatialElevationProfile;
495
+ &nbsp;</pre></td></tr></table></pre>
496
+
497
+ <div class='push'></div><!-- for sticky footer -->
498
+ </div><!-- /wrapper -->
499
+ <div class='footer quiet pad2 space-top1 center small'>
500
+ Code coverage generated by
501
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
502
+ at 2023-01-23T12:27:40.277Z
503
+ </div>
504
+ <script src="../../../prettify.js"></script>
505
+ <script>
506
+ window.onload = function () {
507
+ prettyPrint();
508
+ };
509
+ </script>
510
+ <script src="../../../sorter.js"></script>
511
+ <script src="../../../block-navigation.js"></script>
512
+ </body>
513
+ </html>
514
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">45.58% </span>
26
+ <span class="strong">87.09% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>31/68</span>
28
+ <span class='fraction'>27/31</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.15% </span>
33
+ <span class="strong">60% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/26</span>
35
+ <span class='fraction'>12/20</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/10</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">45.16% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>28/62</span>
49
+ <span class='fraction'>27/27</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line low'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="MlSpatialElevationProfile.js"><a href="MlSpatialElevationProfile.js.html">MlSpatialElevationProfile.js</a></td>
83
- <td data-value="45.58" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 45%"></div><div class="cover-empty" style="width: 55%"></div></div>
82
+ <td class="file high" data-value="MlSpatialElevationProfile.tsx"><a href="MlSpatialElevationProfile.tsx.html">MlSpatialElevationProfile.tsx</a></td>
83
+ <td data-value="87.09" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
85
85
  </td>
86
- <td data-value="45.58" class="pct low">45.58%</td>
87
- <td data-value="68" class="abs low">31/68</td>
88
- <td data-value="46.15" class="pct low">46.15%</td>
89
- <td data-value="26" class="abs low">12/26</td>
90
- <td data-value="50" class="pct medium">50%</td>
91
- <td data-value="10" class="abs medium">5/10</td>
92
- <td data-value="45.16" class="pct low">45.16%</td>
93
- <td data-value="62" class="abs low">28/62</td>
86
+ <td data-value="87.09" class="pct high">87.09%</td>
87
+ <td data-value="31" class="abs high">27/31</td>
88
+ <td data-value="60" class="pct medium">60%</td>
89
+ <td data-value="20" class="abs medium">12/20</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="6" class="abs high">6/6</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="27" class="abs high">27/27</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2022-12-16T12:30:49.297Z
104
+ at 2023-01-23T12:27:40.277Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -688,7 +688,7 @@ export default MlThreeJsLayer;</pre></td></tr></table></pre>
688
688
  <div class='footer quiet pad2 space-top1 center small'>
689
689
  Code coverage generated by
690
690
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
691
- at 2022-12-16T12:30:49.297Z
691
+ at 2023-01-23T12:27:40.277Z
692
692
  </div>
693
693
  <script src="../../../prettify.js"></script>
694
694
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2022-12-16T12:30:49.297Z
104
+ at 2023-01-23T12:27:40.277Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>