@mapcomponents/react-maplibre 0.1.66 → 0.1.68

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 (287) hide show
  1. package/.github/workflows/node_version_test.yml +1 -1
  2. package/.storybook/main.js +37 -31
  3. package/.storybook/preview.js +21 -0
  4. package/CHANGELOG.md +13 -0
  5. package/coverage/clover.xml +545 -472
  6. package/coverage/coverage-final.json +18 -17
  7. package/coverage/lcov-report/index.html +80 -80
  8. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +50 -26
  9. package/coverage/lcov-report/src/components/MapLibreMap/index.html +5 -5
  10. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +30 -51
  11. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +3 -3
  12. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  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 +1 -1
  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 +48 -105
  22. package/coverage/lcov-report/src/components/MlFollowGps/index.html +15 -15
  23. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +2 -2
  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 +1 -1
  28. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +1 -1
  29. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +1 -1
  30. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +1 -1
  31. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +1 -1
  33. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +1 -1
  35. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  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 +52 -40
  39. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +10 -10
  40. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +4 -4
  41. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  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 +1 -1
  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 +41 -113
  53. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +15 -15
  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 → MlScaleReference.tsx.html} +57 -36
  58. package/coverage/lcov-report/src/components/MlScaleReference/index.html +2 -2
  59. package/coverage/lcov-report/src/components/MlShareMapState/{MlShareMapState.js.html → MlShareMapState.tsx.html} +192 -84
  60. package/coverage/lcov-report/src/components/MlShareMapState/index.html +20 -20
  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 +2 -2
  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 +1 -1
  69. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  70. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  71. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +769 -0
  72. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +25 -10
  73. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
  74. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  75. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  76. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  77. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +22 -10
  78. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +13 -13
  79. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +11 -11
  80. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +11 -11
  81. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +1 -1
  82. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  83. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +27 -18
  84. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +11 -11
  85. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +72 -27
  86. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  87. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  88. package/coverage/lcov-report/src/contexts/index.html +1 -1
  89. package/coverage/lcov-report/src/hooks/index.html +21 -21
  90. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +1 -1
  91. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +1 -1
  92. package/coverage/lcov-report/src/hooks/useExportMap/index.html +1 -1
  93. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  94. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +2 -2
  95. package/coverage/lcov-report/src/hooks/useGpx/index.html +1 -1
  96. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +1 -1
  97. package/coverage/lcov-report/src/hooks/useLayer.ts.html +1 -1
  98. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +9 -9
  99. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +1 -1
  100. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +1 -1
  101. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +1 -1
  102. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +9 -6
  103. package/coverage/lcov-report/src/hooks/useMap.ts.html +2 -2
  104. package/coverage/lcov-report/src/hooks/useMapState.ts.html +8 -29
  105. package/coverage/lcov-report/src/hooks/useSource.ts.html +10 -10
  106. package/coverage/lcov-report/src/hooks/useWms.ts.html +1 -1
  107. package/coverage/lcov-report/src/index.html +1 -1
  108. package/coverage/lcov-report/src/index.ts.html +105 -12
  109. package/coverage/lcov.info +1038 -917
  110. package/dist/components/MapLibreMap/MapLibreMap.d.ts +3 -3
  111. package/dist/components/MapLibreMap/MapLibreMap.stories.d.ts +5 -0
  112. package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +17 -15
  113. package/dist/components/MlCenterPosition/MlCenterPosition.d.ts +2 -15
  114. package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +2 -15
  115. package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +1 -0
  116. package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +2 -1
  117. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +1 -0
  118. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +2 -1
  119. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +1 -0
  120. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +2 -1
  121. package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +1 -0
  122. package/dist/components/MlCreatePdfForm/lib/_PdfPreview.d.ts +1 -0
  123. package/dist/components/MlFeatureEditor/MlFeatureEditor.d.ts +1 -0
  124. package/dist/components/MlFeatureEditor/lib/create_supplementary_points.d.ts +1 -1
  125. package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
  126. package/dist/components/MlFillExtrusionLayer/MlFillExtrusionLayer.d.ts +1 -0
  127. package/dist/components/MlFollowGps/MlFollowGps.d.ts +5 -23
  128. package/dist/components/MlFollowGps/MlFollowGps.stories.d.ts +2 -2
  129. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +1 -0
  130. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +2 -1
  131. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.d.ts +1 -0
  132. package/dist/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.d.ts +1 -0
  133. package/dist/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.d.ts +4 -1
  134. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +1 -0
  135. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +2 -1
  136. package/dist/components/MlGpxViewer/MlGpxViewer.d.ts +1 -0
  137. package/dist/components/MlGpxViewer/MlGpxViewer.stories.d.ts +2 -1
  138. package/dist/components/MlGpxViewer/util/GeoJsonProvider.d.ts +1 -0
  139. package/dist/components/MlGpxViewer/util/MetadataDrawer.d.ts +1 -0
  140. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +1 -0
  141. package/dist/components/MlGpxViewer/util/MlGpxViewerInstructions.d.ts +1 -0
  142. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.d.ts +1 -0
  143. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +2 -1
  144. package/dist/components/MlLayer/MlLayer.d.ts +1 -0
  145. package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +2 -1
  146. package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +2 -1
  147. package/dist/components/MlMarker/MlMarker.d.ts +1 -0
  148. package/dist/components/MlMeasureTool/MlMeasureTool.d.ts +1 -0
  149. package/dist/components/MlNavigationCompass/MlNavigationCompass.d.ts +1 -0
  150. package/dist/components/MlNavigationTools/MlNavigationTools.d.ts +5 -0
  151. package/dist/components/MlScaleReference/MlScaleReference.d.ts +8 -1
  152. package/dist/components/MlShareMapState/MlShareMapState.d.ts +33 -13
  153. package/dist/components/MlShareMapState/MlShareMapState.stories.d.ts +16 -9
  154. package/dist/components/MlSketchTool/LayerList/ColorPicker.d.ts +1 -0
  155. package/dist/components/MlSketchTool/LayerList/LayerList.d.ts +1 -0
  156. package/dist/components/MlSketchTool/LayerList/LayerListItem.d.ts +1 -0
  157. package/dist/components/MlSketchTool/LayerList/LayerPropertyForm.d.ts +1 -0
  158. package/dist/components/MlSketchTool/MlSketchTool.d.ts +1 -0
  159. package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +2 -1
  160. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.d.ts +1 -0
  161. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +2 -1
  162. package/dist/components/MlSpatialElevationProfile/util/getElevationData.d.ts +1 -1
  163. package/dist/components/MlThreeJsLayer/MlThreeJsLayer.stories.d.ts +2 -1
  164. package/dist/components/MlThreeJsLayer/MlThreejsLayer.d.ts +30 -0
  165. package/dist/components/MlThreeJsLayer/lib/GLTFLoader.d.ts +2 -1
  166. package/dist/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.d.ts +1 -0
  167. package/dist/components/MlVectorTileLayer/MlVectorTileLayer.d.ts +3 -2
  168. package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.d.ts +2 -1
  169. package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +1 -0
  170. package/dist/components/MlWmsLoader/MlWmsLoader.d.ts +1 -0
  171. package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +2 -1
  172. package/dist/components/MlWmsLoader/utils/MlWmsLoaderInstructions.d.ts +1 -0
  173. package/dist/components/MlWmsLoader/utils/WMSLinks.d.ts +1 -0
  174. package/dist/contexts/MapContext.d.ts +13 -2
  175. package/dist/decorators/EmptyMapDecorator.d.ts +2 -0
  176. package/dist/decorators/MapContextDecorator.d.ts +1 -1
  177. package/dist/decorators/MapContextDecoratorHooks.d.ts +1 -1
  178. package/dist/decorators/MultiMapContextDecorator.d.ts +1 -1
  179. package/dist/decorators/NoNavToolsDecorator.d.ts +1 -1
  180. package/dist/decorators/ThemeDecorator.d.ts +2 -0
  181. package/dist/hooks/useCameraFollowPath/useCameraFollowPath.stories.d.ts +2 -1
  182. package/dist/hooks/useExportMap/lib.d.ts +1 -1
  183. package/dist/hooks/useLayerFilter/useLayerFilter.stories.d.ts +2 -1
  184. package/dist/hooks/useLayerHoverPopup/useLayerHoverPopup.d.ts +1 -0
  185. package/dist/index.d.ts +25 -8
  186. package/dist/index.esm.css +0 -97
  187. package/dist/index.esm.js +2187 -9306
  188. package/dist/index.esm.js.map +1 -1
  189. package/dist/setupTests.d.ts +6 -6
  190. package/dist/ui_components/Dropzone.d.ts +1 -0
  191. package/dist/ui_components/ImageLoader.d.ts +1 -0
  192. package/dist/ui_components/LayerList/LayerList.d.ts +6 -0
  193. package/dist/ui_components/LayerList/LayerList.stories.d.ts +12 -0
  194. package/dist/ui_components/LayerList/LayerListFolder.d.ts +9 -0
  195. package/dist/ui_components/LayerList/LayerListItem.d.ts +18 -0
  196. package/dist/ui_components/LayerList/util/LayerListItemVectorLayer.d.ts +15 -0
  197. package/dist/ui_components/LayerList/util/LayerPropertyForm.d.ts +10 -0
  198. package/dist/ui_components/LayerList/util/input/ColorPicker.d.ts +10 -0
  199. package/dist/ui_components/LoadingOverlayContext.d.ts +0 -1
  200. package/dist/ui_components/MapcomponentsTheme.d.ts +7 -0
  201. package/dist/ui_components/Tooltip.d.ts +1 -0
  202. package/dist/ui_components/TopToolbar.d.ts +1 -0
  203. package/dist/ui_components/UploadButton.d.ts +1 -0
  204. package/dist/util/Instructions.d.ts +1 -0
  205. package/package.json +67 -67
  206. package/public/thumbnails/{MlGPXViewer.png → MlGpxViewer.png} +0 -0
  207. package/rollup.config.js +68 -50
  208. package/src/@types/assets/index.d.ts +20 -0
  209. package/src/App.css +0 -55
  210. package/src/components/MapLibreMap/MapLibreMap.stories.js +38 -32
  211. package/src/components/MapLibreMap/MapLibreMap.tsx +29 -21
  212. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +50 -40
  213. package/src/components/MlCenterPosition/MlCenterPosition.tsx +22 -29
  214. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +6 -6
  215. package/src/components/MlFollowGps/MlFollowGps.stories.js +28 -10
  216. package/src/components/MlFollowGps/MlFollowGps.tsx +38 -57
  217. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +1 -1
  218. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +16 -10
  219. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +4 -13
  220. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +3 -1
  221. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +21 -17
  222. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +3 -3
  223. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +4 -5
  224. package/src/components/MlNavigationTools/MlNavigationTools.tsx +30 -54
  225. package/src/components/MlScaleReference/{MlScaleReference.js → MlScaleReference.tsx} +38 -31
  226. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +100 -0
  227. package/src/components/MlShareMapState/{MlShareMapState.js → MlShareMapState.tsx} +94 -58
  228. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +1 -1
  229. package/src/components/MlSketchTool/MlSketchTool.tsx +1 -1
  230. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +228 -0
  231. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +7 -3
  232. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +3 -11
  233. package/src/components/MlWmsLoader/MlWmsLoader.tsx +7 -4
  234. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +2 -2
  235. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +1 -1
  236. package/src/contexts/MapContext.tsx +34 -20
  237. package/src/custom.d.ts +4 -0
  238. package/src/decorators/EmptyMapDecorator.js +38 -0
  239. package/src/decorators/MapContextDecorator.js +31 -26
  240. package/src/decorators/MapContextDecoratorHooks.js +29 -24
  241. package/src/decorators/MultiMapContextDecorator.js +71 -71
  242. package/src/decorators/NoNavToolsDecorator.js +25 -23
  243. package/src/decorators/ThemeDecorator.js +24 -0
  244. package/src/decorators/style.css +0 -2
  245. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +13 -19
  246. package/src/hooks/useExportMap/lib.ts +1 -1
  247. package/src/hooks/useGpx/useGpx.stories.js +1 -1
  248. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +1 -1
  249. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +5 -4
  250. package/src/hooks/useMap.ts +1 -1
  251. package/src/hooks/useMapState.stories.js +1 -1
  252. package/src/hooks/useMapState.ts +6 -13
  253. package/src/hooks/useSource.ts +1 -1
  254. package/src/hooks/useSources.stories.js +1 -1
  255. package/src/index.ts +40 -8
  256. package/src/ui_components/LayerList/LayerList.stories.tsx +136 -0
  257. package/src/ui_components/LayerList/LayerList.tsx +12 -0
  258. package/src/ui_components/LayerList/LayerListFolder.tsx +82 -0
  259. package/src/ui_components/LayerList/LayerListItem.tsx +180 -0
  260. package/src/ui_components/LayerList/assets/sample_1.json +26 -0
  261. package/src/ui_components/LayerList/assets/sample_2.json +22 -0
  262. package/src/ui_components/LayerList/assets/sample_polygon_1.json +33 -0
  263. package/src/ui_components/LayerList/assets/style.json +2599 -0
  264. package/src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx +92 -0
  265. package/src/ui_components/LayerList/util/LayerPropertyForm.tsx +125 -0
  266. package/src/ui_components/LayerList/util/input/ColorPicker.tsx +44 -0
  267. package/src/ui_components/MapcomponentsTheme.tsx +133 -0
  268. package/src/ui_components/Sidebar.tsx +16 -11
  269. package/src/ui_components/TopToolbar.tsx +1 -3
  270. package/src/util/BubbleForInstructions.js +14 -12
  271. package/tsconfig.json +3 -9
  272. package/dist/components/MlGPXViewer/MlGPXViewer.d.ts +0 -29
  273. package/dist/components/MlGPXViewer/MlGPXViewer.stories.d.ts +0 -16
  274. package/dist/components/MlGPXViewer/MlGPXViewer.test.d.ts +0 -1
  275. package/dist/components/MlGPXViewer/gpxConverter.d.ts +0 -11
  276. package/dist/components/MlGPXViewer/util/GeoJsonContext.d.ts +0 -10
  277. package/dist/components/MlGPXViewer/util/GeoJsonProvider.d.ts +0 -4
  278. package/dist/components/MlLayer/MlLayer.stories.d.ts +0 -10
  279. package/dist/custom.d.d.ts +0 -22
  280. package/dist/decorators/ThemeWrapper.d.ts +0 -3
  281. package/dist/hooks/exportMap/index.d.ts +0 -11
  282. package/dist/hooks/exportMap/lib.d.ts +0 -36
  283. package/dist/ui_components/Legend.d.ts +0 -1
  284. package/dist/ui_components/LoadingOverlay.d.ts +0 -2
  285. package/src/components/MlShareMapState/MlShareMapState.stories.js +0 -100
  286. package/src/custom.d.tsx +0 -26
  287. package/src/decorators/ThemeWrapper.tsx +0 -9
@@ -1,80 +1,80 @@
1
- import React from "react";
2
-
3
- import { MapComponentsProvider } from "../index";
4
-
5
- import MapLibreMap from "../components/MapLibreMap/MapLibreMap";
6
-
7
- import "./style.css";
8
- import { createTheme, ThemeProvider } from "@mui/material/styles";
9
- import MlNavgiationTools from "../components/MlNavigationTools/MlNavigationTools";
10
-
11
- const theme = createTheme({});
1
+ import React, { useMemo } from 'react';
2
+ import { MapComponentsProvider } from '../index';
3
+ import MapLibreMap from '../components/MapLibreMap/MapLibreMap';
4
+ import './style.css';
5
+ import MlNavgiationTools from '../components/MlNavigationTools/MlNavigationTools';
6
+ import { ThemeProvider as MUIThemeProvider } from '@mui/material/styles';
7
+ import getTheme from '../ui_components/MapcomponentsTheme';
12
8
 
13
9
  const decorators = [
14
- (Story) => (
15
- <div className="fullscreen_map">
16
- <ThemeProvider theme={theme}>
10
+ (Story, context) => {
11
+ const theme = useMemo(() => getTheme(context?.globals?.theme), [context?.globals?.theme]);
12
+
13
+ return (
14
+ <div className="fullscreen_map">
17
15
  <MapComponentsProvider>
18
- <div
19
- style={{
20
- overflow: "hidden",
21
- position: "absolute",
22
- top: "0",
23
- bottom: "0",
24
- left: "0",
25
- right: "0",
26
- }}
27
- >
28
- <Story />
29
- <div className="maps">
30
- <MapLibreMap
31
- mapId="map_1"
32
- options={{
33
- //style: "mapbox://styles/mapbox/light-v10",
34
- //center: [-87.62712, 41.89033],
35
- zoom: 14.5,
36
- //pitch: 45,
37
- //style: "https://wms.wheregroup.com/tileserver/style/osm-bright.json",
38
- style: "https://wms.wheregroup.com/tileserver/style/osm-liberty.json",
39
- //center: [8.607, 53.1409349],
40
- //zoom: 13,
41
- center: [7.0851268, 50.73884],
42
- //maxBounds: [
43
- // [1.40625, 43.452919],
44
- // [17.797852, 55.973798],
45
- //],
46
- }}
47
- />
48
- <MapLibreMap
49
- mapId="map_2"
50
- options={{
51
- //style: "mapbox://styles/mapbox/light-v10",
52
- //center: [-87.62712, 41.89033],
53
- zoom: 14.5,
54
- //pitch: 45,
55
- style: "https://wms.wheregroup.com/tileserver/style/osm-bright.json",
56
- //style: "https://wms.wheregroup.com/tileserver/style/osm-liberty.json",
57
- //center: [8.607, 53.1409349],
58
- //zoom: 13,
59
- center: [7.0851268, 50.73884],
60
- //maxBounds: [
61
- // [1.40625, 43.452919],
62
- // [17.797852, 55.973798],
63
- //],
64
- }}
65
- />
16
+ <MUIThemeProvider theme={theme}>
17
+ <div
18
+ style={{
19
+ overflow: 'hidden',
20
+ position: 'absolute',
21
+ top: '0',
22
+ bottom: '0',
23
+ left: '0',
24
+ right: '0',
25
+ }}
26
+ >
27
+ <Story />
28
+ <div className="maps">
29
+ <MapLibreMap
30
+ mapId="map_1"
31
+ options={{
32
+ //style: "mapbox://styles/mapbox/light-v10",
33
+ //center: [-87.62712, 41.89033],
34
+ zoom: 14.5,
35
+ //pitch: 45,
36
+ //style: "https://wms.wheregroup.com/tileserver/style/osm-bright.json",
37
+ style: 'https://wms.wheregroup.com/tileserver/style/osm-liberty.json',
38
+ //center: [8.607, 53.1409349],
39
+ //zoom: 13,
40
+ center: [7.0851268, 50.73884],
41
+ //maxBounds: [
42
+ // [1.40625, 43.452919],
43
+ // [17.797852, 55.973798],
44
+ //],
45
+ }}
46
+ />
47
+ <MapLibreMap
48
+ mapId="map_2"
49
+ options={{
50
+ //style: "mapbox://styles/mapbox/light-v10",
51
+ //center: [-87.62712, 41.89033],
52
+ zoom: 14.5,
53
+ //pitch: 45,
54
+ style: 'https://wms.wheregroup.com/tileserver/style/osm-bright.json',
55
+ //style: "https://wms.wheregroup.com/tileserver/style/osm-liberty.json",
56
+ //center: [8.607, 53.1409349],
57
+ //zoom: 13,
58
+ center: [7.0851268, 50.73884],
59
+ //maxBounds: [
60
+ // [1.40625, 43.452919],
61
+ // [17.797852, 55.973798],
62
+ //],
63
+ }}
64
+ />
66
65
 
67
- <MlNavgiationTools
68
- sx={{ top: "10px", right: "5px" }}
69
- showZoomButtons={false}
70
- mapId="map_1"
71
- />
66
+ <MlNavgiationTools
67
+ sx={{ top: '10px', right: '5px' }}
68
+ showZoomButtons={false}
69
+ mapId="map_1"
70
+ />
71
+ </div>
72
72
  </div>
73
- </div>
73
+ </MUIThemeProvider>
74
74
  </MapComponentsProvider>
75
- </ThemeProvider>
76
- </div>
77
- ),
75
+ </div>
76
+ );
77
+ },
78
78
  ];
79
79
 
80
80
  export default decorators;
@@ -1,31 +1,33 @@
1
- import React from "react";
1
+ import React, { useMemo } from 'react';
2
2
 
3
- import { MapComponentsProvider } from "../index";
4
- import MapLibreMap from "../components/MapLibreMap/MapLibreMap";
5
- import "./style.css";
6
- import { createTheme, ThemeProvider } from "@mui/material/styles";
7
- import MlNavgiationTools from "../components/MlNavigationTools/MlNavigationTools";
8
-
9
- const theme = createTheme({});
3
+ import { MapComponentsProvider } from '../index';
4
+ import MapLibreMap from '../components/MapLibreMap/MapLibreMap';
5
+ import './style.css';
6
+ import { ThemeProvider as MUIThemeProvider } from '@mui/material/styles';
7
+ import getTheme from '../ui_components/MapcomponentsTheme';
10
8
 
11
9
  const decorators = [
12
- (Story) => (
13
- <div className="fullscreen_map">
14
- <ThemeProvider theme={theme}>
10
+ (Story, context) => {
11
+ const theme = useMemo(() => getTheme(context?.globals?.theme), [context?.globals?.theme]);
12
+
13
+ return (
14
+ <div className="fullscreen_map">
15
15
  <MapComponentsProvider>
16
- <Story />
17
- <MapLibreMap
18
- options={{
19
- zoom: 14.5,
20
- style: "https://wms.wheregroup.com/tileserver/style/osm-bright.json",
21
- center: [7.0851268, 50.73884],
22
- }}
23
- mapId="map_1"
24
- />
16
+ <MUIThemeProvider theme={theme}>
17
+ <Story />
18
+ <MapLibreMap
19
+ options={{
20
+ zoom: 14.5,
21
+ style: 'https://wms.wheregroup.com/tileserver/style/osm-bright.json',
22
+ center: [7.0851268, 50.73884],
23
+ }}
24
+ mapId="map_1"
25
+ />
26
+ </MUIThemeProvider>
25
27
  </MapComponentsProvider>
26
- </ThemeProvider>
27
- </div>
28
- ),
28
+ </div>
29
+ );
30
+ },
29
31
  ];
30
32
 
31
33
  export default decorators;
@@ -0,0 +1,24 @@
1
+ import React, { useMemo } from 'react';
2
+
3
+ import { MapComponentsProvider } from '../index';
4
+ import './style.css';
5
+ import { ThemeProvider as MUIThemeProvider } from '@mui/material/styles';
6
+ import getTheme from '../ui_components/MapcomponentsTheme';
7
+
8
+ const decorators = [
9
+ (Story, context) => {
10
+ const theme = useMemo(() => getTheme(context?.globals?.theme), [context?.globals?.theme]);
11
+
12
+ return (
13
+ <div className="fullscreen_map">
14
+ <MapComponentsProvider>
15
+ <MUIThemeProvider theme={theme}>
16
+ <Story />
17
+ </MUIThemeProvider>
18
+ </MapComponentsProvider>
19
+ </div>
20
+ );
21
+ },
22
+ ];
23
+
24
+ export default decorators;
@@ -25,8 +25,6 @@
25
25
  }
26
26
  .fullscreen_map .mapContainer {
27
27
  position: absolute;
28
- height: 100vh;
29
- width: 100vw;
30
28
  top: 0;
31
29
  right: 0;
32
30
  left: 0;
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
2
2
  import useCameraFollowPath from './useCameraFollowPath';
3
3
  import TopToolbar from '../../ui_components/TopToolbar';
4
4
  import mapContextDecorator from '../../decorators/MapContextDecorator';
5
- import { Button, Slider, Typography } from '@mui/material';
5
+ import { MenuItem, Slider, Typography } from '@mui/material';
6
6
  import MlGeoJsonLayer from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';
7
7
  import { Feature } from '@turf/turf';
8
8
 
@@ -78,9 +78,9 @@ const Template = () => {
78
78
  return (
79
79
  <>
80
80
  <TopToolbar>
81
- <Button onClick={() => setShowComponent(!showComponent)}>
81
+ <MenuItem onClick={() => setShowComponent(!showComponent)}>
82
82
  {showComponent ? 'Route ausblenden' : 'Route einblenden'}
83
- </Button>
83
+ </MenuItem>
84
84
  {showComponent ? (
85
85
  <MlGeoJsonLayer
86
86
  geojson={routeJson}
@@ -91,7 +91,7 @@ const Template = () => {
91
91
  }}
92
92
  />
93
93
  ) : null}
94
- <Button
94
+ <MenuItem
95
95
  disabled={!state.pause}
96
96
  onClick={() =>
97
97
  setState((current) => {
@@ -100,8 +100,8 @@ const Template = () => {
100
100
  }
101
101
  >
102
102
  Start
103
- </Button>
104
- <Button
103
+ </MenuItem>
104
+ <MenuItem
105
105
  disabled={state.pause}
106
106
  onClick={() =>
107
107
  setState((current) => {
@@ -110,8 +110,8 @@ const Template = () => {
110
110
  }
111
111
  >
112
112
  Pause
113
- </Button>
114
- <Button
113
+ </MenuItem>
114
+ <MenuItem
115
115
  onClick={() => {
116
116
  CameraFollowPath.reset();
117
117
  setState((current) => {
@@ -120,11 +120,8 @@ const Template = () => {
120
120
  }}
121
121
  >
122
122
  Reset
123
- </Button>
124
- <Typography
125
- id="discrete-slider"
126
- style={{ color: '#121212', marginLeft: '10px', marginRight: '10px' }}
127
- >
123
+ </MenuItem>
124
+ <Typography id="discrete-slider" style={{ marginLeft: '10px', marginRight: '10px' }}>
128
125
  Zoom:
129
126
  </Typography>
130
127
  <Slider
@@ -148,10 +145,7 @@ const Template = () => {
148
145
  maxWidth: '200px',
149
146
  }}
150
147
  />
151
- <Typography
152
- id="discrete-slider2"
153
- style={{ color: '#121212', marginLeft: '10px', marginRight: '10px' }}
154
- >
148
+ <Typography id="discrete-slider2" style={{ marginLeft: '10px', marginRight: '10px' }}>
155
149
  Speed:
156
150
  </Typography>
157
151
  <Slider
@@ -173,7 +167,7 @@ const Template = () => {
173
167
  maxWidth: '200px',
174
168
  }}
175
169
  />
176
- <Button
170
+ <MenuItem
177
171
  onClick={() => {
178
172
  if (state.pitch === 0) {
179
173
  setState((current) => {
@@ -187,7 +181,7 @@ const Template = () => {
187
181
  }}
188
182
  >
189
183
  {state.pitch === 0 ? '3D' : '2D'}
190
- </Button>
184
+ </MenuItem>
191
185
  </TopToolbar>
192
186
  </>
193
187
  );
@@ -1,4 +1,4 @@
1
- import { Map } from '!maplibre-gl';
1
+ import { Map } from 'maplibre-gl';
2
2
  import jsPDF from 'jspdf';
3
3
  import MapLibreGlWrapper from '../../components/MapLibreMap/lib/MapLibreGlWrapper';
4
4
 
@@ -5,7 +5,7 @@ import useGpx from "./useGpx";
5
5
  import mapContextDecorator from "../../decorators/MapContextDecorator";
6
6
 
7
7
  const storyoptions = {
8
- title: "MapComponents/useGpx",
8
+ title: "Hooks/useGpx",
9
9
  component: useGpx,
10
10
  argTypes: {
11
11
  },
@@ -5,7 +5,7 @@ import useLayerHoverPopup from "./useLayerHoverPopup";
5
5
  import mapContextDecorator from "../../decorators/MapContextDecorator";
6
6
 
7
7
  const storyoptions = {
8
- title: "MapComponents/useLayerHoverPopup",
8
+ title: "Hooks/useLayerHoverPopup",
9
9
  component: useLayerHoverPopup,
10
10
  argTypes: {
11
11
  },
@@ -1,7 +1,8 @@
1
1
  import React, { useRef, useEffect } from 'react';
2
2
  import useMap from '../../hooks/useMap';
3
+ import { GeoJSONFeature } from 'maplibre-gl';
3
4
  import {
4
- GeoJSONFeature,
5
+ LngLatLike,
5
6
  Popup,
6
7
  MapEventType,
7
8
  } from 'maplibre-gl';
@@ -41,7 +42,7 @@ const useLayerHoverPopup = (props: useLayerHoverPopupProps) => {
41
42
  props.layerId,
42
43
  (
43
44
  e: MapEventType & {
44
- features?: GeoJSONFeature[] | undefined;
45
+ features?: ({[key:string]:string} & { geometry:{coordinates:[number,number]}})[] | undefined;
45
46
  lngLat: { lng: number; lat: number };
46
47
  }
47
48
  ) => {
@@ -52,7 +53,7 @@ const useLayerHoverPopup = (props: useLayerHoverPopupProps) => {
52
53
  //const description = e.features[0].properties.desc;
53
54
  let content = '';
54
55
  if (e?.features?.[0] && typeof props.getPopupContent === 'function') {
55
- content = props.getPopupContent(e.features[0]);
56
+ content = props.getPopupContent(e.features[0] as unknown as GeoJSONFeature);
56
57
  }
57
58
 
58
59
  if (coordinates?.[0]) {
@@ -66,7 +67,7 @@ const useLayerHoverPopup = (props: useLayerHoverPopupProps) => {
66
67
  // Populate the popup and set its coordinates
67
68
 
68
69
  // based on the feature found.
69
- popup.current.setLngLat(coordinates).setHTML(content).addTo(mapHook.map.map);
70
+ popup.current.setLngLat(coordinates as LngLatLike).setHTML(content).addTo(mapHook.map.map);
70
71
  }
71
72
  },
72
73
  mapHook.componentId
@@ -1,6 +1,6 @@
1
1
  import { useContext, useState, useEffect, useRef } from "react";
2
2
  import { v4 as uuidv4 } from "uuid";
3
- import MapContext from "../contexts/MapContext";
3
+ import MapContext, { MapContextType } from "../contexts/MapContext";
4
4
  import useMapState from "./useMapState";
5
5
  import MapLibreGlWrapper, { LayerState } from "../components/MapLibreMap/lib/MapLibreGlWrapper";
6
6
 
@@ -5,7 +5,7 @@ import useMapState from "./useMapState";
5
5
  import mapContextDecoratorHooks from "../decorators/MapContextDecoratorHooks";
6
6
 
7
7
  const storyoptions = {
8
- title: "Hooks/UseMapState",
8
+ title: "Hooks/useMapState",
9
9
  component: useMapState,
10
10
  argTypes: {},
11
11
  decorators: mapContextDecoratorHooks,
@@ -1,7 +1,7 @@
1
1
  import { useContext, useCallback, useState, useEffect, useRef } from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { v4 as uuidv4 } from "uuid";
4
- import MapContext from "../contexts/MapContext";
4
+ import MapContext, { MapContextType } from "../contexts/MapContext";
5
5
  import MapLibreGlWrapper, {
6
6
  LayerState,
7
7
  ViewportState,
@@ -11,13 +11,6 @@ type useMapStateType = {
11
11
  layers: (LayerState | undefined)[];
12
12
  viewport: ViewportState | undefined;
13
13
  };
14
- type MapContext = {
15
- mapIds: [string?];
16
- mapExists: Function;
17
- maps: [];
18
- getMap: Function;
19
- setMap: Function;
20
- };
21
14
 
22
15
  /**
23
16
  * React hook that allows subscribing to map state changes
@@ -58,8 +51,8 @@ function useMapState(props: {
58
51
  * @param {object} layer
59
52
  */
60
53
  const layerIdFilter = useCallback(
61
- (layer) => {
62
- if (!props?.filter?.includeBaseLayers && layer.baseLayer) {
54
+ (layer:LayerState) => {
55
+ if (!props?.filter?.includeBaseLayers && layer?.baseLayer) {
63
56
  return false;
64
57
  }
65
58
 
@@ -79,8 +72,8 @@ function useMapState(props: {
79
72
  const refreshLayerState = useCallback(() => {
80
73
  if (!mapRef.current) return;
81
74
 
82
- let _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);
83
- let _layerStateString = JSON.stringify(_layerState);
75
+ const _layerState = mapRef.current.wrapper.layerState.filter(layerIdFilter);
76
+ const _layerStateString = JSON.stringify(_layerState);
84
77
  if (layersRef.current !== _layerStateString) {
85
78
  layersRef.current = _layerStateString;
86
79
  setLayers(_layerState);
@@ -88,7 +81,7 @@ function useMapState(props: {
88
81
  }, [layerIdFilter]);
89
82
 
90
83
  useEffect(() => {
91
- let _componentId = componentId.current;
84
+ const _componentId = componentId.current;
92
85
 
93
86
  return () => {
94
87
  // cleanup all event listeners
@@ -61,7 +61,7 @@ function useSource(props: useSourceProps): useSourceType {
61
61
  useEffect(() => {
62
62
  return () => {
63
63
  initializedRef.current = false;
64
- if (mapHook.map) {
64
+ if (mapHook.map && mapHook.map?.map?.style?._layers) {
65
65
  for (const [layerId, layer] of Object.entries(mapHook.map.map.style._layers)) {
66
66
  if (layer.source === sourceId.current) {
67
67
  mapHook.map.map.removeLayer(layerId);
@@ -13,7 +13,7 @@ const vectorUrl =
13
13
  'https://wms.wheregroup.com/tileserver/tile/tileserver.php?/europe-0-14/index.json?/europe-0-14/{z}/{x}/{y}.pbf';
14
14
 
15
15
  const storyoptions = {
16
- title: 'Hooks/UseSource',
16
+ title: 'Hooks/useSource',
17
17
  component: useSource,
18
18
  argTypes: {},
19
19
  decorators: mapContextDecoratorHooks,
package/src/index.ts CHANGED
@@ -1,19 +1,31 @@
1
+ export { default as MapLibreGlWrapper} from './components/MapLibreMap/lib/MapLibreGlWrapper';
1
2
  export { default as MapLibreMap } from "./components/MapLibreMap/MapLibreMap";
3
+
4
+ export { default as MlCenterPosition } from "./components/MlCenterPosition/MlCenterPosition";
5
+
2
6
  export { default as MlComponentTemplate } from "./components/MlComponentTemplate/MlComponentTemplate";
7
+
3
8
  export { default as MlCreatePdfButton } from "./components/MlCreatePdfButton/MlCreatePdfButton";
9
+
4
10
  export { default as MlCreatePdfForm } from "./components/MlCreatePdfForm/MlCreatePdfForm";
5
11
  export { default as MlPdfPreview } from "./components/MlCreatePdfForm/lib/PdfPreview";
12
+ export { default as PdfContext } from "./components/MlCreatePdfForm/lib/PdfContext";
13
+ export { default as PdfForm } from "./components/MlCreatePdfForm/lib/PdfForm";
14
+
6
15
  export { default as MlFeatureEditor } from "./components/MlFeatureEditor/MlFeatureEditor";
16
+
7
17
  export { default as MlFillExtrusionLayer } from "./components/MlFillExtrusionLayer/MlFillExtrusionLayer";
18
+
8
19
  export { default as MlFollowGps } from "./components/MlFollowGps/MlFollowGps";
20
+
9
21
  export { default as MlGeoJsonLayer } from "./components/MlGeoJsonLayer/MlGeoJsonLayer";
22
+
10
23
  export { default as MlImageMarkerLayer } from "./components/MlImageMarkerLayer/MlImageMarkerLayer";
24
+
11
25
  export { default as MlMeasureTool } from "./components/MlMeasureTool/MlMeasureTool";
12
26
  export { default as MlNavigationTools } from "./components/MlNavigationTools/MlNavigationTools";
13
27
  export { default as MlNavigationCompass } from "./components/MlNavigationCompass/MlNavigationCompass";
14
28
  export { default as MlLayer } from "./components/MlLayer/MlLayer";
15
- export { default as MlVectorTileLayer } from "./components/MlVectorTileLayer/MlVectorTileLayer";
16
- export { default as MlWmsLayer } from "./components/MlWmsLayer/MlWmsLayer";
17
29
  export { default as MlScaleReference } from "./components/MlScaleReference/MlScaleReference";
18
30
 
19
31
  export { default as MlLayerMagnify } from "./components/MlLayerMagnify/MlLayerMagnify";
@@ -22,25 +34,45 @@ export { default as MlLayerSwipe } from "./components/MlLayerSwipe/MlLayerSwipe"
22
34
  export { default as MlTransitionGeoJsonLayer } from "./components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer";
23
35
  export { default as MlMarker } from "./components/MlMarker/MlMarker";
24
36
 
37
+ export { default as MlOsmLayer } from "./components/MlOsmLayer/MlOsmLayer.js";
38
+
25
39
  export { default as MlGpxViewer } from "./components/MlGpxViewer/MlGpxViewer";
26
40
  export { default as GeoJsonProvider } from "./components/MlGpxViewer/util/GeoJsonProvider";
27
41
  export { default as GeoJsonContext } from "./components/MlGpxViewer/util/GeoJsonContext";
28
42
 
43
+ export { default as MlShareMapState } from "./components/MlShareMapState/MlShareMapState";
44
+
29
45
  export { default as MlSpatialElevationProfile } from "./components/MlSpatialElevationProfile/MlSpatialElevationProfile";
46
+ export { default as MlVectorTileLayer } from "./components/MlVectorTileLayer/MlVectorTileLayer";
47
+
48
+ export { default as MlWmsFeatureInfoPopup } from "./components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup";
49
+ export { default as MlWmsLayer } from "./components/MlWmsLayer/MlWmsLayer";
50
+ export { default as MlWmsLoader } from "./components/MlWmsLoader/MlWmsLoader"
30
51
 
31
- export { default as MlOsmLayer } from "./components/MlOsmLayer/MlOsmLayer.js";
32
52
  export { default as MlBasicComponent } from "./components/MlBasicComponent.js";
33
53
 
54
+ export { default as useCameraFollowPath } from "./hooks/useCameraFollowPath/useCameraFollowPath";
55
+ export { default as useExportMap } from "./hooks/useExportMap";
56
+ export { default as useGpx } from "./hooks/useGpx/useGpx";
57
+ export { default as useLayerFilter } from "./hooks/useLayerFilter/useLayerFilter";
58
+ export { default as useLayerHoverPopup } from "./hooks/useLayerHoverPopup/useLayerHoverPopup";
34
59
  export { default as useLayer } from "./hooks/useLayer";
35
- export { default as useMapState } from "./hooks/useMapState";
60
+ export { default as useLayerEvent } from "./hooks/useLayerEvent";
36
61
  export { default as useMap } from "./hooks/useMap";
37
- export { default as useWms } from "./hooks/useWms";
62
+ export { default as useMapState } from "./hooks/useMapState";
38
63
  export { default as useSource } from "./hooks/useSource";
39
- export { default as useExportMap } from "./hooks/useExportMap";
40
- export { default as useCameraFollowPath } from "./hooks/useCameraFollowPath/useCameraFollowPath";
41
- export { default as useLayerFilter } from "./hooks/useLayerFilter/useLayerFilter";
64
+ export { default as useWms } from "./hooks/useWms";
42
65
 
43
66
  export { MapComponentsProvider } from "./contexts/MapContext";
44
67
  export { default as MapContext } from "./contexts/MapContext";
45
68
  export { default as SimpleDataProvider } from "./contexts/SimpleDataProvider";
46
69
  export { default as SimpleDataContext } from "./contexts/SimpleDataContext";
70
+
71
+ export { default as getTheme } from './ui_components/MapcomponentsTheme';
72
+
73
+ export { default as LayerList } from './ui_components/LayerList/LayerList';
74
+ export { default as LayerListItem } from './ui_components/LayerList/LayerListItem';
75
+ export { default as LayerListFolder } from './ui_components/LayerList/LayerListFolder';
76
+ export { default as LayerPropertyForm } from './ui_components/LayerList/util/LayerPropertyForm';
77
+ export { default as LayerListItemVectorLayer } from './ui_components/LayerList/util/LayerListItemVectorLayer';
78
+ export { default as ColorPicker } from './ui_components/LayerList/util/input/ColorPicker';