@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
@@ -0,0 +1,37 @@
1
+ /// <reference types="cypress" />
2
+ // ***********************************************
3
+ // This example commands.ts shows you how to
4
+ // create various custom commands and overwrite
5
+ // existing commands.
6
+ //
7
+ // For more comprehensive examples of custom
8
+ // commands please read more here:
9
+ // https://on.cypress.io/custom-commands
10
+ // ***********************************************
11
+ //
12
+ //
13
+ // -- This is a parent command --
14
+ // Cypress.Commands.add('login', (email, password) => { ... })
15
+ //
16
+ //
17
+ // -- This is a child command --
18
+ // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
19
+ //
20
+ //
21
+ // -- This is a dual command --
22
+ // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
23
+ //
24
+ //
25
+ // -- This will overwrite an existing command --
26
+ // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
27
+ //
28
+ // declare global {
29
+ // namespace Cypress {
30
+ // interface Chainable {
31
+ // login(email: string, password: string): Chainable<void>
32
+ // drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
33
+ // dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
34
+ // visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
35
+ // }
36
+ // }
37
+ // }
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>Components App</title>
8
+ </head>
9
+ <body>
10
+ <div data-cy-root></div>
11
+ </body>
12
+ </html>
@@ -0,0 +1,46 @@
1
+ // ***********************************************************
2
+ // This example support/component.ts is processed and
3
+ // loaded automatically before your test files.
4
+ //
5
+ // This is a great place to put global configuration and
6
+ // behavior that modifies Cypress.
7
+ //
8
+ // You can change the location of this file or turn off
9
+ // automatically serving support files with the
10
+ // 'supportFile' configuration option.
11
+ //
12
+ // You can read more here:
13
+ // https://on.cypress.io/configuration
14
+ // ***********************************************************
15
+ import { setGlobalConfig } from "@storybook/testing-react";
16
+ import * as sbPreview from "../../.storybook/preview";
17
+
18
+ setGlobalConfig(sbPreview);
19
+
20
+ // Import commands.js using ES2015 syntax:
21
+ import './commands'
22
+
23
+ // Alternatively you can use CommonJS syntax:
24
+ // require('./commands')
25
+
26
+ import { mount } from 'cypress/react'
27
+
28
+ //import MlCreatePdfForm from "../../src/components/MlCreatePdfForm/MlCreatePdfForm";
29
+
30
+ // Augment the Cypress namespace to include type definitions for
31
+ // your custom command.
32
+ // Alternatively, can be defined in cypress/support/component.d.ts
33
+ // with a <reference path="./component" /> at the top of your spec.
34
+ declare global {
35
+ // eslint-disable-next-line @typescript-eslint/no-namespace
36
+ namespace Cypress {
37
+ interface Chainable {
38
+ mount: typeof mount
39
+ }
40
+ }
41
+ }
42
+
43
+ Cypress.Commands.add('mount', mount)
44
+
45
+ // Example use:
46
+ // cy.mount(<MyComponent />)
@@ -0,0 +1,101 @@
1
+ import { defineConfig } from 'cypress';
2
+
3
+ //const isRunningInCI = process.env.CI === 'true';
4
+
5
+ export default defineConfig({
6
+ component: {
7
+ //supportFile: './cypress/support/component.js',
8
+ devServer: {
9
+ framework: 'react',
10
+ bundler: 'webpack',
11
+ webpackConfig: {
12
+ mode: 'development',
13
+ resolve: {
14
+ extensions: ['.mjs', '.js', '.jsx', '.json', '.cjs', '.ts', '.tsx'],
15
+ },
16
+
17
+ module: {
18
+ rules: [
19
+ {
20
+ test: /\.(js|jsx|tsx|ts)$/, // USE THE babel-loader FOR THESE FILE EXTENSIONS
21
+ use: [
22
+ {
23
+ loader: 'babel-loader',
24
+ options: {
25
+ sourceType: 'unambiguous',
26
+ presets: [
27
+ ['@babel/preset-env', { shippedProposals: true, loose: true }],
28
+ '@babel/preset-typescript',
29
+ '@babel/preset-react',
30
+ ],
31
+ plugins: [
32
+ '@babel/plugin-transform-shorthand-properties',
33
+ '@babel/plugin-transform-block-scoping',
34
+ ['@babel/plugin-proposal-decorators', { legacy: true }],
35
+ ['@babel/plugin-proposal-class-properties', { loose: true }],
36
+ ['@babel/plugin-proposal-private-methods', { loose: true }],
37
+ '@babel/plugin-proposal-export-default-from',
38
+ '@babel/plugin-syntax-dynamic-import',
39
+ [
40
+ '@babel/plugin-proposal-object-rest-spread',
41
+ { loose: true, useBuiltIns: true },
42
+ ],
43
+ '@babel/plugin-transform-classes',
44
+ '@babel/plugin-transform-arrow-functions',
45
+ '@babel/plugin-transform-parameters',
46
+ '@babel/plugin-transform-destructuring',
47
+ '@babel/plugin-transform-spread',
48
+ '@babel/plugin-transform-for-of',
49
+ '@storybook/core-common/node_modules/babel-plugin-macros',
50
+ '@babel/plugin-proposal-optional-chaining',
51
+ '@babel/plugin-proposal-nullish-coalescing-operator',
52
+ [
53
+ 'babel-plugin-polyfill-corejs3',
54
+ {
55
+ method: 'usage-global',
56
+ absoluteImports: 'core-js',
57
+ version: '3.21.1',
58
+ },
59
+ ],
60
+ '@babel/plugin-transform-template-literals',
61
+ ],
62
+ babelrc: true,
63
+ configFile: false,
64
+ },
65
+ },
66
+ ],
67
+ exclude: [ /node_modules/, /dist/ ]
68
+ },
69
+ /*{
70
+ test: /\.(ts|tsx)$/,
71
+ exclude: [/node_modules/],
72
+ use: {
73
+ loader: require.resolve('babel-loader'),
74
+ options: {
75
+ plugins: [],
76
+ presets: ['@babel/preset-typescript'],
77
+ babelrc: false,
78
+ },
79
+ },
80
+ },*/
81
+ {
82
+ test: /\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,
83
+ loader: 'file-loader',
84
+ options: { name: 'static/media/[path][name].[ext]' },
85
+ },
86
+ {
87
+ test: /\.css$/,
88
+ use: [
89
+ 'style-loader',
90
+ {
91
+ loader: 'css-loader',
92
+ options: { importLoaders: 1 },
93
+ },
94
+ ],
95
+ },
96
+ ],
97
+ },
98
+ },
99
+ },
100
+ },
101
+ });
@@ -1,7 +1,7 @@
1
1
  import { FC } from "react";
2
2
  import { MapOptions as MapOptionsType } from "maplibre-gl";
3
3
  import "maplibre-gl/dist/maplibre-gl.css";
4
- declare type MapLibreMapProps = {
4
+ type MapLibreMapProps = {
5
5
  /**
6
6
  * Id of the MapLibreGl(Wrapper) instance in mapContext
7
7
  */
@@ -1,13 +1,18 @@
1
- import { IControl, MapOptions as MapOptionsType } from "!maplibre-gl";
2
- import { Map as MapType } from "maplibre-gl";
3
- declare type EventArgArray = [string, string | Function, Function?];
4
- declare type LayerState = {
1
+ import { Map, IControl, MapOptions as MapOptionsType, MapEventType, MapLayerEventType, StyleImageInterface, LayerSpecification, CustomLayerInterface, SourceSpecification, ControlPosition } from '!maplibre-gl';
2
+ import { Map as MapType, Style } from 'maplibre-gl';
3
+ type WrapperEventArgArray = [string, (arg0: unknown) => void];
4
+ type EventArgArray = [
5
+ keyof MapLayerEventType | keyof MapEventType,
6
+ string | ((arg0: unknown) => void),
7
+ ((arg0: unknown) => void)?
8
+ ];
9
+ type LayerState = {
5
10
  id: string;
6
11
  type: string;
7
12
  visible: boolean;
8
13
  baseLayer: boolean;
9
14
  };
10
- declare type ViewportState = {
15
+ type ViewportState = {
11
16
  center: {
12
17
  lng: number;
13
18
  lat: number;
@@ -29,47 +34,68 @@ declare class MapLibreGlWrapper {
29
34
  layers: [string?];
30
35
  sources: [string?];
31
36
  images: [string?];
32
- controls: [IControl?];
37
+ controls: [(IControl | unknown)?];
33
38
  events: [EventArgArray?];
34
- wrapperEvents: [EventArgArray?];
39
+ wrapperEvents: [WrapperEventArgArray?];
35
40
  };
36
41
  };
37
42
  baseLayers: [string?];
38
43
  firstSymbolLayer: string | undefined;
39
44
  eventHandlers: {
40
- layerchange: [Function?];
41
- viewportchange: [Function?];
45
+ layerchange: {
46
+ handler: (ev: unknown) => void;
47
+ options?: object | string;
48
+ }[];
49
+ viewportchange: {
50
+ handler: (ev: unknown) => void;
51
+ }[];
42
52
  };
43
53
  wrapper: {
44
- on: Function;
45
- off: Function;
46
- fire: Function;
47
- layerState: [LayerState?];
54
+ on: (eventName: string, handler: (ev: unknown) => void, options?: object | string, componentId?: string) => void;
55
+ off: (type: string, listener: (ev: unknown) => void) => void;
56
+ fire: (eventName: string, context?: unknown) => void;
57
+ layerState: LayerState[];
48
58
  layerStateString: string;
49
59
  oldLayerStateStrings: object;
50
- buildLayerObject: Function;
51
- buildLayerObjects: Function;
52
- refreshLayerState: Function;
60
+ buildLayerObject: (layer: ReturnType<Style['getLayer']>) => LayerState;
61
+ buildLayerObjects: () => LayerState[];
62
+ refreshLayerState: () => void;
53
63
  viewportState: ViewportState;
54
64
  viewportStateString: string;
55
65
  oldViewportStateString: string;
56
- getViewport: Function;
57
- refreshViewport: Function;
66
+ getViewport: () => {
67
+ center: {
68
+ lng: number;
69
+ lat: number;
70
+ };
71
+ zoom: number;
72
+ bearing: number;
73
+ pitch: number;
74
+ };
75
+ refreshViewport: () => void;
58
76
  };
59
- initRegisteredElements: Function;
60
- addNativeMaplibreFunctionsAndProps: Function;
77
+ initRegisteredElements: (componentId: string, force?: boolean | undefined) => void;
78
+ addNativeMaplibreFunctionsAndProps: () => void;
61
79
  map: MapType;
62
80
  style: object;
63
81
  styleJson: object;
64
- addLayer: Function;
65
- addSource: Function;
66
- addControl: Function;
67
- addImage: Function;
68
- on: Function;
69
- cleanup: Function;
82
+ addLayer: (layer: (LayerSpecification & {
83
+ source?: string | SourceSpecification | undefined;
84
+ }) | (CustomLayerInterface & {
85
+ source?: string | SourceSpecification | undefined;
86
+ }), beforeId?: string | undefined, componentId?: string | undefined) => Map | undefined;
87
+ addSource: (id: string, source: SourceSpecification, componentId?: string | undefined) => Map | undefined;
88
+ addControl: (control: IControl | unknown, position?: ControlPosition | undefined, componentId?: string | undefined) => Map | undefined;
89
+ addImage: (id: string, image: HTMLImageElement | ImageBitmap | ImageData | {
90
+ width: number;
91
+ height: number;
92
+ data: Uint8Array | Uint8ClampedArray;
93
+ } | StyleImageInterface, componentId?: string | undefined) => void;
94
+ on: (type: keyof MapLayerEventType | keyof MapEventType | string, layerId: string | ((ev: unknown) => void), handler?: ((ev: MapEventType & unknown) => Map | void) | string, componentId?: string | undefined) => Map | undefined;
95
+ cleanup: (componentId: string) => void;
70
96
  constructor(props: {
71
97
  mapOptions: MapOptionsType;
72
- onReady: Function;
98
+ onReady: (map: MapType, context: unknown) => void;
73
99
  });
74
100
  }
75
101
  export default MapLibreGlWrapper;
@@ -1,4 +1,5 @@
1
- interface MlCenterPositionProps {
1
+ import { SxProps, Theme } from "@mui/material";
2
+ export interface MlCenterPositionProps {
2
3
  /**
3
4
  * Id of the target MapLibre instance in mapContext
4
5
  */
@@ -19,7 +20,7 @@ interface MlCenterPositionProps {
19
20
  /**
20
21
  * CSS style object that is applied to the button component
21
22
  */
22
- style?: any;
23
+ style?: SxProps<Theme> | undefined;
23
24
  }
24
25
  /**
25
26
  * Component template
@@ -1,17 +1,36 @@
1
+ declare const storyoptions: {
2
+ title: string;
3
+ component: {
4
+ (props: import("./MlCenterPosition").MlCenterPositionProps): JSX.Element;
5
+ defaultProps: {
6
+ mapId: undefined;
7
+ style: {
8
+ minWidth: string;
9
+ minHeight: string;
10
+ width: string;
11
+ height: string;
12
+ backgroundColor: string;
13
+ borderRadius: string;
14
+ margin: number;
15
+ fontSize: string;
16
+ ":hover": {
17
+ backgroundColor: string;
18
+ color: string;
19
+ };
20
+ };
21
+ onColor: string;
22
+ offColor: string;
23
+ };
24
+ };
25
+ argTypes: {};
26
+ decorators: ((Story: any) => JSX.Element)[];
27
+ parameters: {
28
+ docs: {
29
+ source: {
30
+ type: string;
31
+ };
32
+ };
33
+ };
34
+ };
1
35
  export default storyoptions;
2
- export const ExampleConfig: any;
3
- declare namespace storyoptions {
4
- export const title: string;
5
- export { MlCenterPosition as component };
6
- export const argTypes: {};
7
- export { mapContextDecorator as decorators };
8
- export namespace parameters {
9
- namespace docs {
10
- namespace source {
11
- const type: string;
12
- }
13
- }
14
- }
15
- }
16
- import MlCenterPosition from "./MlCenterPosition";
17
- import mapContextDecorator from "../../decorators/MapContextDecorator";
36
+ export declare const ExampleConfig: any;
@@ -1,4 +1,4 @@
1
- interface MlComponentTemplateProps {
1
+ export interface MlComponentTemplateProps {
2
2
  /**
3
3
  * Id of the target MapLibre instance in mapContext
4
4
  */
@@ -1,10 +1,13 @@
1
+ declare const storyoptions: {
2
+ title: string;
3
+ component: {
4
+ (props: import("./MlComponentTemplate").MlComponentTemplateProps): JSX.Element;
5
+ defaultProps: {
6
+ mapId: undefined;
7
+ };
8
+ };
9
+ argTypes: {};
10
+ decorators: ((Story: any) => JSX.Element)[];
11
+ };
1
12
  export default storyoptions;
2
- export const ExampleConfig: any;
3
- declare namespace storyoptions {
4
- export const title: string;
5
- export { MlComponentTemplate as component };
6
- export const argTypes: {};
7
- export { mapContextDecorator as decorators };
8
- }
9
- import MlComponentTemplate from "./MlComponentTemplate";
10
- import mapContextDecorator from "../../decorators/MapContextDecorator";
13
+ export declare const ExampleConfig: any;
@@ -1,4 +1,4 @@
1
- interface MlCreatePdfButtonProps {
1
+ export interface MlCreatePdfButtonProps {
2
2
  /**
3
3
  * Id of the target MapLibre instance in mapContext
4
4
  */
@@ -1,10 +1,13 @@
1
+ declare const storyoptions: {
2
+ title: string;
3
+ component: {
4
+ (props: import("./MlCreatePdfButton").MlCreatePdfButtonProps): JSX.Element;
5
+ defaultProps: {
6
+ mapId: undefined;
7
+ };
8
+ };
9
+ argTypes: {};
10
+ decorators: ((Story: any) => JSX.Element)[];
11
+ };
1
12
  export default storyoptions;
2
- export const ExampleConfig: any;
3
- declare namespace storyoptions {
4
- export const title: string;
5
- export { MlCreatePdfButton as component };
6
- export const argTypes: {};
7
- export { mapContextDecorator as decorators };
8
- }
9
- import MlCreatePdfButton from "./MlCreatePdfButton";
10
- import mapContextDecorator from "../../decorators/MapContextDecorator";
13
+ export declare const ExampleConfig: any;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { PdfPreviewOptions } from './pdfContext';
3
3
  import { Feature } from '@turf/turf';
4
- declare type Props = {
4
+ type Props = {
5
5
  /**
6
6
  * Id of the target MapLibre instance in mapContext
7
7
  */
@@ -1,5 +1,6 @@
1
- import "./MlFeatureEditor.css";
2
- import "@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css";
1
+ import './MlFeatureEditor.css';
2
+ import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';
3
+ import { GeoJSONObject, Feature } from '@turf/turf';
3
4
  interface MlFeatureEditorProps {
4
5
  /**
5
6
  * Id of the target MapLibre instance in mapContext
@@ -13,12 +14,17 @@ interface MlFeatureEditorProps {
13
14
  /**
14
15
  * Input GeoJson data at initialization
15
16
  */
16
- geojson?: any;
17
+ geojson?: Feature;
17
18
  /**
18
19
  * Callback function that is called each time the GeoJson data within has changed within MlFeatureEditor.
19
20
  * First parameter is the new GeoJson feature.
20
21
  */
21
- onChange?: Function;
22
+ onChange?: (para: GeoJSONObject[]) => void;
23
+ /**
24
+ * Callback function that is called each time the GeoJson data within has been finished within MlFeatureEditor.
25
+ * First parameter is the new GeoJson feature.
26
+ */
27
+ onFinish?: () => void;
22
28
  /**
23
29
  * Feature editor mode:
24
30
  * - "custom_select" edit features
@@ -1,7 +1,5 @@
1
1
  export default doubleClickZoom;
2
2
  declare namespace doubleClickZoom {
3
3
  function enable(ctx: any): void;
4
- function enable(ctx: any): void;
5
- function disable(ctx: any): void;
6
4
  function disable(ctx: any): void;
7
5
  }
@@ -1,4 +1,4 @@
1
- declare var _default: ({
1
+ declare const _default: ({
2
2
  id: string;
3
3
  type: string;
4
4
  filter: (string | string[])[];
@@ -1,6 +1,7 @@
1
- import { Feature, FeatureCollection } from "@turf/turf";
2
- import { LineLayerSpecification, CircleLayerSpecification, FillLayerSpecification, MapLayerMouseEvent } from "maplibre-gl";
3
- declare type MlGeoJsonLayerProps = {
1
+ import { Feature, FeatureCollection } from '@turf/turf';
2
+ import { useLayerProps } from '../../hooks/useLayer';
3
+ import { LineLayerSpecification, CircleLayerSpecification, FillLayerSpecification, LayerSpecification, RasterLayerSpecification } from 'maplibre-gl';
4
+ export type MlGeoJsonLayerProps = {
4
5
  /**
5
6
  * Id of the target MapLibre instance in mapContext
6
7
  */
@@ -22,29 +23,39 @@ declare type MlGeoJsonLayerProps = {
22
23
  geojson: Feature | FeatureCollection | undefined;
23
24
  /**
24
25
  * Type of the layer that will be added to the MapLibre instance.
25
- * Possible values: "line", "circle", "fill"
26
+ * All types from LayerSpecification union type are supported except the type from
27
+ * RasterLayerSpecification
26
28
  */
27
- type?: "fill" | "line" | "circle";
29
+ type?: Exclude<LayerSpecification['type'], RasterLayerSpecification['type']>;
28
30
  /**
29
31
  * Paint property object, that is passed to the addLayer call.
30
32
  * Possible props depend on the layer type.
33
+ * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/
34
+ * Some examples are:
31
35
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line
32
36
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
33
37
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
38
+ * All paint types from LayerSpecification union type are supported except the paint type from
39
+ * RasterLayerSpecification
34
40
  */
35
- paint?: CircleLayerSpecification['paint'] | FillLayerSpecification['paint'] | LineLayerSpecification['paint'];
41
+ paint?: Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']>;
36
42
  /**
37
43
  * Layout property object, that is passed to the addLayer call.
38
44
  * Possible props depend on the layer type.
45
+ * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/
46
+ * Some examples are:
39
47
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line
40
48
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
41
49
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
50
+ * All layout types from LayerSpecification union type are supported except the layout type from
51
+ * RasterLayerSpecification
52
+
42
53
  */
43
- layout?: CircleLayerSpecification['layout'] | FillLayerSpecification['layout'] | LineLayerSpecification['layout'];
54
+ layout?: Exclude<LayerSpecification['layout'], RasterLayerSpecification['layout']>;
44
55
  /**
45
56
  * Javascript object that is spread into the addLayer commands first parameter.
46
57
  */
47
- options?: CircleLayerSpecification | FillLayerSpecification | LineLayerSpecification;
58
+ options?: Exclude<LayerSpecification, RasterLayerSpecification>;
48
59
  /**
49
60
  * Javascript object with optional properties "fill", "line", "circle" to override implicit layer type default paint properties.
50
61
  */
@@ -56,19 +67,19 @@ declare type MlGeoJsonLayerProps = {
56
67
  /**
57
68
  * Hover event handler that is executed whenever a geometry rendered by this component is hovered.
58
69
  */
59
- onHover?: MapLayerMouseEvent;
70
+ onHover?: useLayerProps['onHover'];
60
71
  /**
61
72
  * Click event handler that is executed whenever a geometry rendered by this component is clicked.
62
73
  */
63
- onClick?: MapLayerMouseEvent;
74
+ onClick?: useLayerProps['onClick'];
64
75
  /**
65
76
  * Leave event handler that is executed whenever a geometry rendered by this component is
66
77
  * left/unhovered.
67
78
  */
68
- onLeave?: MapLayerMouseEvent;
79
+ onLeave?: useLayerProps['onLeave'];
69
80
  };
70
81
  /**
71
- * Adds source and layer of types "line", "fill" or "circle" to display GeoJSON data on the map.
82
+ * Adds source and layer to display GeoJSON data on the map.
72
83
  *
73
84
  * @component
74
85
  */
@@ -1,12 +1,13 @@
1
+ import { MlGeoJsonLayerProps } from './MlGeoJsonLayer';
2
+ declare const storyoptions: {
3
+ title: string;
4
+ component: (props: MlGeoJsonLayerProps) => JSX.Element;
5
+ argTypes: {};
6
+ decorators: ((Story: any) => JSX.Element)[];
7
+ };
1
8
  export default storyoptions;
2
- export const Linestring: any;
3
- export const Polygon: any;
4
- export const DefaultPaintOverrides: any;
5
- declare namespace storyoptions {
6
- export const title: string;
7
- export { MlGeoJsonLayer as component };
8
- export const argTypes: {};
9
- export { mapContextDecorator as decorators };
10
- }
11
- import MlGeoJsonLayer from "./MlGeoJsonLayer";
12
- import mapContextDecorator from "../../decorators/MapContextDecorator";
9
+ export declare const Linestring: any;
10
+ export declare const Polygon: any;
11
+ export declare const DefaultPaintOverrides: any;
12
+ export declare const HeatMapEarthquakes: any;
13
+ export declare const CircleMapWheregroupLocations: any;
@@ -0,0 +1,2 @@
1
+ export default LineStyler;
2
+ declare function LineStyler(props: any): JSX.Element;
@@ -0,0 +1,2 @@
1
+ export default PolygonStyler;
2
+ declare function PolygonStyler(props: any): JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { MlGeoJsonLayerProps } from '../MlGeoJsonLayer';
2
+ declare const CircleMapStyler: (props: MlGeoJsonLayerProps) => JSX.Element;
3
+ export default CircleMapStyler;
@@ -0,0 +1,3 @@
1
+ import { MlGeoJsonLayerProps } from '../MlGeoJsonLayer';
2
+ declare const HeatMapStyler: (props: MlGeoJsonLayerProps) => JSX.Element;
3
+ export default HeatMapStyler;