@mapcomponents/react-maplibre 0.1.69 → 0.1.71

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 (523) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +3 -2
  3. package/dist/components/MlComponentTemplate/MlComponentTemplate.d.ts +1 -6
  4. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +3 -3
  5. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +7 -2
  6. package/dist/components/MlCreatePngButton/MlCreatePngButton.d.ts +22 -0
  7. package/dist/components/MlCreatePngButton/MlCreatePngButton.stories.d.ts +14 -0
  8. package/dist/components/MlGpxViewer/util/{MetadataDrawer.d.ts → Metadata.d.ts} +1 -2
  9. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +1 -1
  10. package/dist/hooks/useExportMap/lib.d.ts +16 -1
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.esm.js +292 -287
  13. package/dist/index.esm.js.map +1 -1
  14. package/dist/ui_components/Sidebar.d.ts +5 -3
  15. package/dist/ui_components/TopToolbar.d.ts +8 -7
  16. package/package.json +1 -2
  17. package/.babelrc +0 -22
  18. package/.editorconfig +0 -19
  19. package/.eslintignore +0 -12
  20. package/.eslintrc.js +0 -30
  21. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -41
  22. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  23. package/.github/workflows/check-catalogue-metadata-schema.yml +0 -19
  24. package/.github/workflows/check-formatting.yml +0 -46
  25. package/.github/workflows/node_version_test.yml +0 -26
  26. package/.github/workflows/publish.yml +0 -21
  27. package/.github/workflows/storybook.yml +0 -28
  28. package/.prettierignore +0 -11
  29. package/.prettierrc.json +0 -6
  30. package/.storybook/.babelrc +0 -26
  31. package/.storybook/main.js +0 -40
  32. package/.storybook/manager.js +0 -6
  33. package/.storybook/mapcomponents_logo.png +0 -0
  34. package/.storybook/preview.js +0 -33
  35. package/.storybook/style.css +0 -15
  36. package/.storybook/wheregroupTheme.js +0 -9
  37. package/config/env.js +0 -106
  38. package/config/jest/babelTransform.js +0 -29
  39. package/config/jest/cssTransform.js +0 -14
  40. package/config/jest/fileTransform.js +0 -40
  41. package/config/paths.js +0 -75
  42. package/coverage/clover.xml +0 -2018
  43. package/coverage/coverage-final.json +0 -60
  44. package/coverage/lcov-report/base.css +0 -224
  45. package/coverage/lcov-report/block-navigation.js +0 -87
  46. package/coverage/lcov-report/favicon.png +0 -0
  47. package/coverage/lcov-report/index.html +0 -731
  48. package/coverage/lcov-report/prettify.css +0 -1
  49. package/coverage/lcov-report/prettify.js +0 -2
  50. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  51. package/coverage/lcov-report/sorter.js +0 -196
  52. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +0 -466
  53. package/coverage/lcov-report/src/components/MapLibreMap/index.html +0 -116
  54. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +0 -322
  55. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +0 -116
  56. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +0 -238
  57. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +0 -116
  58. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +0 -148
  59. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +0 -196
  60. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +0 -131
  61. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +0 -535
  62. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +0 -116
  63. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +0 -340
  64. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +0 -116
  65. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +0 -808
  66. package/coverage/lcov-report/src/components/MlFollowGps/index.html +0 -116
  67. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +0 -469
  68. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +0 -116
  69. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +0 -652
  70. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +0 -649
  71. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +0 -112
  72. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +0 -115
  73. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +0 -161
  74. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +0 -469
  75. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +0 -116
  76. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +0 -394
  77. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +0 -116
  78. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +0 -385
  79. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +0 -116
  80. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +0 -247
  81. package/coverage/lcov-report/src/components/MlLayer/index.html +0 -116
  82. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +0 -745
  83. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +0 -116
  84. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +0 -520
  85. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +0 -116
  86. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +0 -736
  87. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +0 -316
  88. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +0 -116
  89. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +0 -116
  90. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +0 -505
  91. package/coverage/lcov-report/src/components/MlMarker/index.html +0 -116
  92. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +0 -265
  93. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +0 -116
  94. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +0 -763
  95. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +0 -116
  96. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +0 -613
  97. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +0 -116
  98. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +0 -298
  99. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +0 -232
  100. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +0 -131
  101. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.tsx.html +0 -412
  102. package/coverage/lcov-report/src/components/MlScaleReference/index.html +0 -116
  103. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.tsx.html +0 -892
  104. package/coverage/lcov-report/src/components/MlShareMapState/index.html +0 -116
  105. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +0 -214
  106. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +0 -121
  107. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +0 -412
  108. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +0 -463
  109. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +0 -161
  110. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +0 -898
  111. package/coverage/lcov-report/src/components/MlSketchTool/index.html +0 -116
  112. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +0 -514
  113. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +0 -116
  114. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +0 -703
  115. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +0 -769
  116. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +0 -131
  117. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +0 -406
  118. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +0 -116
  119. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +0 -310
  120. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +0 -116
  121. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +0 -517
  122. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +0 -116
  123. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +0 -277
  124. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +0 -116
  125. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +0 -739
  126. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +0 -116
  127. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +0 -1102
  128. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +0 -116
  129. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +0 -403
  130. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +0 -103
  131. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +0 -277
  132. package/coverage/lcov-report/src/contexts/index.html +0 -146
  133. package/coverage/lcov-report/src/hooks/index.html +0 -191
  134. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +0 -116
  135. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +0 -661
  136. package/coverage/lcov-report/src/hooks/useExportMap/index.html +0 -131
  137. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +0 -175
  138. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +0 -559
  139. package/coverage/lcov-report/src/hooks/useGpx/index.html +0 -116
  140. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +0 -295
  141. package/coverage/lcov-report/src/hooks/useLayer.ts.html +0 -787
  142. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +0 -232
  143. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +0 -116
  144. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +0 -184
  145. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +0 -116
  146. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +0 -334
  147. package/coverage/lcov-report/src/hooks/useMap.ts.html +0 -358
  148. package/coverage/lcov-report/src/hooks/useMapState.ts.html +0 -631
  149. package/coverage/lcov-report/src/hooks/useSource.ts.html +0 -337
  150. package/coverage/lcov-report/src/hooks/useWms.ts.html +0 -397
  151. package/coverage/lcov-report/src/index.html +0 -116
  152. package/coverage/lcov-report/src/index.ts.html +0 -316
  153. package/coverage/lcov.info +0 -3987
  154. package/cypress/support/commands.ts +0 -37
  155. package/cypress/support/component-index.html +0 -12
  156. package/cypress/support/component.ts +0 -46
  157. package/cypress.config.ts +0 -101
  158. package/dist/components/MlCreatePdfButton/lib/createPdf.d.ts +0 -2
  159. package/dist/components/MlCreatePdfButton/lib/nominatimMap.d.ts +0 -2
  160. package/eslintErrorTest.js +0 -10
  161. package/public/assets/3D/godzilla_simple.glb +0 -0
  162. package/public/assets/dop.png +0 -0
  163. package/public/assets/historic.png +0 -0
  164. package/public/assets/marker.png +0 -0
  165. package/public/assets/osm.png +0 -0
  166. package/public/assets/sample.gpx +0 -716
  167. package/public/assets/sample1.gpx +0 -3003
  168. package/public/assets/sample2.gpx +0 -1264
  169. package/public/assets/sample3.gpx +0 -912
  170. package/public/assets/wg-marker.png +0 -0
  171. package/public/catalogue/.gitkeep +0 -0
  172. package/public/catalogue/mc_meta.json +0 -1
  173. package/public/favicon.ico +0 -0
  174. package/public/index.html +0 -39
  175. package/public/logo.png +0 -0
  176. package/public/manifest.json +0 -25
  177. package/public/robots.txt +0 -3
  178. package/public/thumbnails/MapLibreMap.png +0 -0
  179. package/public/thumbnails/MlCameraFollowPath.png +0 -0
  180. package/public/thumbnails/MlCreatePdfButton.png +0 -0
  181. package/public/thumbnails/MlCreatePdfForm.png +0 -0
  182. package/public/thumbnails/MlDeckGlLayer.png +0 -0
  183. package/public/thumbnails/MlDeckGlTerrainLayer.png +0 -0
  184. package/public/thumbnails/MlDemoDashboard.png +0 -0
  185. package/public/thumbnails/MlFeatureEditor.png +0 -0
  186. package/public/thumbnails/MlFillExtrusionLayer.png +0 -0
  187. package/public/thumbnails/MlFollowGps.png +0 -0
  188. package/public/thumbnails/MlGeoJsonLayer.png +0 -0
  189. package/public/thumbnails/MlGpxViewer.png +0 -0
  190. package/public/thumbnails/MlHillshadeLayer.png +0 -0
  191. package/public/thumbnails/MlIconLayer.png +0 -0
  192. package/public/thumbnails/MlLaermkarte.png +0 -0
  193. package/public/thumbnails/MlLayerMagnify.png +0 -0
  194. package/public/thumbnails/MlLayerSwipe.png +0 -0
  195. package/public/thumbnails/MlMapDrawTools.png +0 -0
  196. package/public/thumbnails/MlMeasureTool.png +0 -0
  197. package/public/thumbnails/MlMobilerImker.png +0 -0
  198. package/public/thumbnails/MlNavigationCompass.png +0 -0
  199. package/public/thumbnails/MlNavigationTools.png +0 -0
  200. package/public/thumbnails/MlOsmLayer.png +0 -0
  201. package/public/thumbnails/MlScaleReference.png +0 -0
  202. package/public/thumbnails/MlSketchTool.png +0 -0
  203. package/public/thumbnails/MlSpatialElevationProfile.png +0 -0
  204. package/public/thumbnails/MlThreeJsLayer.png +0 -0
  205. package/public/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
  206. package/public/thumbnails/MlVectorTileLayer.png +0 -0
  207. package/public/thumbnails/MlWanderApp.png +0 -0
  208. package/public/thumbnails/MlWmsLayer.png +0 -0
  209. package/public/thumbnails/MlWmsLoader.png +0 -0
  210. package/public/thumbnails/useCameraFollowPath.png +0 -0
  211. package/rollup.config.js +0 -74
  212. package/scripts/build-catalogue-markdown-docs.js +0 -28
  213. package/scripts/build-catalogue-meta.js +0 -42
  214. package/scripts/create-map-component.sh +0 -36
  215. package/scripts/test.js +0 -53
  216. package/src/@types/assets/index.d.ts +0 -20
  217. package/src/App.css +0 -0
  218. package/src/components/MapLibreMap/MapLibreMap.stories.js +0 -106
  219. package/src/components/MapLibreMap/MapLibreMap.test.js +0 -84
  220. package/src/components/MapLibreMap/MapLibreMap.tsx +0 -127
  221. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +0 -395
  222. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +0 -691
  223. package/src/components/MlBasicComponent.js +0 -39
  224. package/src/components/MlCenterPosition/MlCenterPosition.doc.de.md +0 -3
  225. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +0 -14
  226. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +0 -20
  227. package/src/components/MlCenterPosition/MlCenterPosition.tsx +0 -79
  228. package/src/components/MlComponentTemplate/MlComponentTemplate.doc.de.md +0 -3
  229. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +0 -14
  230. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.tsx +0 -20
  231. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +0 -42
  232. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +0 -1
  233. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +0 -1
  234. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +0 -14
  235. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.tsx +0 -35
  236. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +0 -51
  237. package/src/components/MlCreatePdfButton/lib/createPdf.ts +0 -189
  238. package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +0 -57
  239. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +0 -21
  240. package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +0 -3
  241. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +0 -14
  242. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +0 -165
  243. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +0 -37
  244. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +0 -51
  245. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +0 -257
  246. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +0 -327
  247. package/src/components/MlCreatePdfForm/lib/_PdfPreview.tsx +0 -399
  248. package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +0 -82
  249. package/src/components/MlCreatePdfForm/lib/pdfContext.d.ts +0 -24
  250. package/src/components/MlCreatePdfForm/lib/preview.css +0 -114
  251. package/src/components/MlFeatureEditor/MlFeatureEditor.css +0 -0
  252. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.de.md +0 -1
  253. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.en.md +0 -1
  254. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +0 -14
  255. package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +0 -91
  256. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +0 -126
  257. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +0 -150
  258. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +0 -303
  259. package/src/components/MlFeatureEditor/custom-polygon-mode.js +0 -188
  260. package/src/components/MlFeatureEditor/custom-select-mode.js +0 -406
  261. package/src/components/MlFeatureEditor/lib/LICENSE.md +0 -18
  262. package/src/components/MlFeatureEditor/lib/common_selectors.js +0 -72
  263. package/src/components/MlFeatureEditor/lib/constants.js +0 -104
  264. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +0 -72
  265. package/src/components/MlFeatureEditor/lib/create_midpoint.js +0 -42
  266. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +0 -102
  267. package/src/components/MlFeatureEditor/lib/create_vertex.js +0 -35
  268. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +0 -30
  269. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +0 -9
  270. package/src/components/MlFeatureEditor/lib/features_at.js +0 -52
  271. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +0 -28
  272. package/src/components/MlFeatureEditor/lib/is_click.js +0 -22
  273. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +0 -10
  274. package/src/components/MlFeatureEditor/lib/is_tap.js +0 -19
  275. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +0 -18
  276. package/src/components/MlFeatureEditor/lib/mode_handler.js +0 -120
  277. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +0 -23
  278. package/src/components/MlFeatureEditor/lib/move_features.js +0 -47
  279. package/src/components/MlFeatureEditor/lib/sort_features.js +0 -45
  280. package/src/components/MlFeatureEditor/lib/string_set.js +0 -59
  281. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +0 -8
  282. package/src/components/MlFeatureEditor/lib/theme.js +0 -236
  283. package/src/components/MlFeatureEditor/lib/to_dense_array.js +0 -15
  284. package/src/components/MlFeatureEditor/lib/utils.js +0 -51
  285. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.de.md +0 -1
  286. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.en.md +0 -1
  287. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +0 -14
  288. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +0 -24
  289. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +0 -15
  290. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +0 -85
  291. package/src/components/MlFollowGps/MlFollowGps.doc.de.md +0 -1
  292. package/src/components/MlFollowGps/MlFollowGps.doc.en.md +0 -1
  293. package/src/components/MlFollowGps/MlFollowGps.meta.json +0 -14
  294. package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -40
  295. package/src/components/MlFollowGps/MlFollowGps.test.js +0 -63
  296. package/src/components/MlFollowGps/MlFollowGps.tsx +0 -241
  297. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.de.md +0 -1
  298. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.en.md +0 -1
  299. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +0 -14
  300. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +0 -191
  301. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +0 -20
  302. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +0 -128
  303. package/src/components/MlGeoJsonLayer/assets/earthquake.json +0 -109937
  304. package/src/components/MlGeoJsonLayer/assets/sample_1.json +0 -140
  305. package/src/components/MlGeoJsonLayer/assets/sample_2.json +0 -142
  306. package/src/components/MlGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  307. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +0 -65
  308. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +0 -189
  309. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +0 -188
  310. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +0 -9
  311. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +0 -10
  312. package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +0 -31
  313. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +0 -37
  314. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +0 -3
  315. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +0 -14
  316. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.tsx +0 -19
  317. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +0 -128
  318. package/src/components/MlGpxViewer/MlGpxViewer.doc.de.md +0 -1
  319. package/src/components/MlGpxViewer/MlGpxViewer.doc.en.md +0 -1
  320. package/src/components/MlGpxViewer/MlGpxViewer.meta.json +0 -14
  321. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +0 -100
  322. package/src/components/MlGpxViewer/MlGpxViewer.test.js +0 -53
  323. package/src/components/MlGpxViewer/MlGpxViewer.tsx +0 -103
  324. package/src/components/MlGpxViewer/util/GeoJsonContext.ts +0 -13
  325. package/src/components/MlGpxViewer/util/GeoJsonProvider.tsx +0 -25
  326. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +0 -38
  327. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +0 -130
  328. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +0 -71
  329. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.doc.de.md +0 -3
  330. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +0 -14
  331. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +0 -41
  332. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +0 -38
  333. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +0 -100
  334. package/src/components/MlLayer/MlLayer.doc.de.md +0 -3
  335. package/src/components/MlLayer/MlLayer.meta_.json +0 -14
  336. package/src/components/MlLayer/MlLayer.test.js +0 -117
  337. package/src/components/MlLayer/MlLayer.tsx +0 -54
  338. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.de.md +0 -1
  339. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.en.md +0 -1
  340. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +0 -14
  341. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +0 -44
  342. package/src/components/MlLayerMagnify/MlLayerMagnify.test.tsx +0 -83
  343. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +0 -220
  344. package/src/components/MlLayerMagnify/style.css +0 -48
  345. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.de.md +0 -1
  346. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.en.md +0 -1
  347. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +0 -14
  348. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.tsx +0 -36
  349. package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +0 -86
  350. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +0 -145
  351. package/src/components/MlLayerSwipe/style.css +0 -48
  352. package/src/components/MlLayerSwitcher/MlLayerSwitcher.css +0 -17
  353. package/src/components/MlLayerSwitcher/MlLayerSwitcher.doc.de.md +0 -3
  354. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -217
  355. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +0 -14
  356. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +0 -103
  357. package/src/components/MlLayerSwitcher/assets/sample_1.json +0 -26
  358. package/src/components/MlLayerSwitcher/assets/sample_2.json +0 -22
  359. package/src/components/MlLayerSwitcher/components/LayerBox.js +0 -77
  360. package/src/components/MlMarker/MlMarker.doc.de.md +0 -3
  361. package/src/components/MlMarker/MlMarker.meta_.json +0 -14
  362. package/src/components/MlMarker/MlMarker.stories.js +0 -22
  363. package/src/components/MlMarker/MlMarker.tsx +0 -140
  364. package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +0 -3
  365. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +0 -14
  366. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +0 -96
  367. package/src/components/MlMeasureTool/MlMeasureTool.tsx +0 -60
  368. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.de.md +0 -1
  369. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.en.md +0 -1
  370. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +0 -14
  371. package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +0 -63
  372. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +0 -68
  373. package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +0 -226
  374. package/src/components/MlNavigationCompass/assets/needle.svg +0 -17
  375. package/src/components/MlNavigationCompass/assets/needle__.svg +0 -19
  376. package/src/components/MlNavigationCompass/assets/rotate_left.svg +0 -13
  377. package/src/components/MlNavigationCompass/assets/rotate_right.svg +0 -15
  378. package/src/components/MlNavigationTools/MlNavigationTools.doc.de.md +0 -1
  379. package/src/components/MlNavigationTools/MlNavigationTools.doc.en.md +0 -1
  380. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +0 -14
  381. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +0 -64
  382. package/src/components/MlNavigationTools/MlNavigationTools.tsx +0 -176
  383. package/src/components/MlOsmLayer/MlOsmLayer.js +0 -71
  384. package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +0 -49
  385. package/src/components/MlOsmLayer/MlOsmLayer.test.js +0 -19
  386. package/src/components/MlScaleReference/MlScaleReference.doc.de.md +0 -1
  387. package/src/components/MlScaleReference/MlScaleReference.doc.en.md +0 -1
  388. package/src/components/MlScaleReference/MlScaleReference.meta.json +0 -14
  389. package/src/components/MlScaleReference/MlScaleReference.stories.js +0 -51
  390. package/src/components/MlScaleReference/MlScaleReference.tsx +0 -109
  391. package/src/components/MlShareMapState/MlShareMapState.doc.de.md +0 -3
  392. package/src/components/MlShareMapState/MlShareMapState.meta_.json +0 -14
  393. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +0 -100
  394. package/src/components/MlShareMapState/MlShareMapState.tsx +0 -269
  395. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +0 -43
  396. package/src/components/MlSketchTool/LayerList/LayerList.tsx +0 -12
  397. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +0 -109
  398. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +0 -126
  399. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +0 -3
  400. package/src/components/MlSketchTool/MlSketchTool.meta.json +0 -14
  401. package/src/components/MlSketchTool/MlSketchTool.stories.tsx +0 -26
  402. package/src/components/MlSketchTool/MlSketchTool.tsx +0 -271
  403. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.de.md +0 -1
  404. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.en.md +0 -1
  405. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +0 -14
  406. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +0 -121
  407. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +0 -48
  408. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +0 -143
  409. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +0 -103
  410. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.de.md +0 -1
  411. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.en.md +0 -1
  412. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +0 -207
  413. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +0 -14
  414. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.tsx +0 -37
  415. package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +0 -33
  416. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +0 -228
  417. package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +0 -3331
  418. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.doc.de.md +0 -3
  419. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +0 -14
  420. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +0 -52
  421. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +0 -20
  422. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +0 -107
  423. package/src/components/MlTransitionGeoJsonLayer/assets/sample_1.json +0 -26
  424. package/src/components/MlTransitionGeoJsonLayer/assets/sample_2.json +0 -22
  425. package/src/components/MlTransitionGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  426. package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +0 -221
  427. package/src/components/MlUseMapDebugger/MlUseMapDebugger.doc.de.md +0 -3
  428. package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +0 -75
  429. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +0 -14
  430. package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +0 -30
  431. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.de.md +0 -1
  432. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.en.md +0 -1
  433. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +0 -14
  434. package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +0 -52
  435. package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +0 -40
  436. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +0 -144
  437. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.doc.de.md +0 -3
  438. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +0 -64
  439. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +0 -14
  440. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.tsx +0 -22
  441. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +0 -49
  442. package/src/components/MlWmsLayer/MlWmsLayer.test.js +0 -19
  443. package/src/components/MlWmsLayer/MlWmsLayer.tsx +0 -218
  444. package/src/components/MlWmsLoader/MlWmsLoader.doc.de.md +0 -1
  445. package/src/components/MlWmsLoader/MlWmsLoader.doc.en.md +0 -1
  446. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +0 -14
  447. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +0 -81
  448. package/src/components/MlWmsLoader/MlWmsLoader.tsx +0 -339
  449. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +0 -50
  450. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +0 -128
  451. package/src/contexts/MapComponentsProvider.test.js +0 -260
  452. package/src/contexts/MapContext.tsx +0 -106
  453. package/src/contexts/SimpleDataContext.js +0 -6
  454. package/src/contexts/SimpleDataProvider.js +0 -64
  455. package/src/contexts/SimpleDataProvider.test.js +0 -68
  456. package/src/custom.d.ts +0 -4
  457. package/src/decorators/EmptyMapDecorator.js +0 -38
  458. package/src/decorators/MapContextDecorator.js +0 -39
  459. package/src/decorators/MapContextDecoratorHooks.js +0 -39
  460. package/src/decorators/MultiMapContextDecorator.js +0 -80
  461. package/src/decorators/NoNavToolsDecorator.js +0 -33
  462. package/src/decorators/ThemeDecorator.js +0 -24
  463. package/src/decorators/style.css +0 -34
  464. package/src/hooks/assets/pointWG.json +0 -13
  465. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.de.md +0 -4
  466. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.en.md +0 -1
  467. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +0 -14
  468. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +0 -192
  469. package/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx +0 -192
  470. package/src/hooks/useExportMap/index.ts +0 -30
  471. package/src/hooks/useExportMap/lib.ts +0 -158
  472. package/src/hooks/useGpx/lib/gpxConverter.js +0 -521
  473. package/src/hooks/useGpx/useGpx.doc.de.md +0 -3
  474. package/src/hooks/useGpx/useGpx.meta_.json +0 -15
  475. package/src/hooks/useGpx/useGpx.stories.js +0 -20
  476. package/src/hooks/useGpx/useGpx.tsx +0 -70
  477. package/src/hooks/useLayer.test.js +0 -205
  478. package/src/hooks/useLayer.ts +0 -234
  479. package/src/hooks/useLayerEvent.js +0 -49
  480. package/src/hooks/useLayerFilter/useLayerFilter.doc.de.md +0 -3
  481. package/src/hooks/useLayerFilter/useLayerFilter.meta_.json +0 -14
  482. package/src/hooks/useLayerFilter/useLayerFilter.stories.tsx +0 -40
  483. package/src/hooks/useLayerFilter/useLayerFilter.ts +0 -33
  484. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +0 -3
  485. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +0 -15
  486. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +0 -20
  487. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +0 -83
  488. package/src/hooks/useMap.test.tsx +0 -48
  489. package/src/hooks/useMap.ts +0 -91
  490. package/src/hooks/useMapState.stories.js +0 -120
  491. package/src/hooks/useMapState.ts +0 -182
  492. package/src/hooks/useSource.ts +0 -84
  493. package/src/hooks/useSources.stories.js +0 -232
  494. package/src/hooks/useWms.ts +0 -104
  495. package/src/index.ts +0 -78
  496. package/src/setupTests.js +0 -113
  497. package/src/stories/components/Readme.js +0 -7
  498. package/src/ui_components/Dropzone.tsx +0 -104
  499. package/src/ui_components/ImageLoader.tsx +0 -83
  500. package/src/ui_components/LayerList/LayerList.stories.tsx +0 -136
  501. package/src/ui_components/LayerList/LayerList.tsx +0 -12
  502. package/src/ui_components/LayerList/LayerListFolder.tsx +0 -82
  503. package/src/ui_components/LayerList/LayerListItem.tsx +0 -180
  504. package/src/ui_components/LayerList/assets/sample_1.json +0 -26
  505. package/src/ui_components/LayerList/assets/sample_2.json +0 -22
  506. package/src/ui_components/LayerList/assets/sample_polygon_1.json +0 -33
  507. package/src/ui_components/LayerList/assets/style.json +0 -2599
  508. package/src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx +0 -92
  509. package/src/ui_components/LayerList/util/LayerPropertyForm.tsx +0 -125
  510. package/src/ui_components/LayerList/util/input/ColorPicker.tsx +0 -44
  511. package/src/ui_components/LoadingOverlay.css +0 -9
  512. package/src/ui_components/LoadingOverlayContext.tsx +0 -79
  513. package/src/ui_components/MapcomponentsTheme.tsx +0 -133
  514. package/src/ui_components/Sidebar.tsx +0 -87
  515. package/src/ui_components/Tooltip.tsx +0 -17
  516. package/src/ui_components/TopToolbar.tsx +0 -24
  517. package/src/ui_components/UploadButton.tsx +0 -57
  518. package/src/util/BubbleForInstructions.js +0 -48
  519. package/src/util/Instructions.tsx +0 -60
  520. package/src/util/index.js +0 -4
  521. package/src/util/layerRemovalTest.js +0 -121
  522. package/src/util/sourceRemovalTest.js +0 -113
  523. package/tsconfig.json +0 -34
@@ -1,20 +0,0 @@
1
- import React from "react";
2
-
3
- import useGpx from "./useGpx";
4
-
5
- import mapContextDecorator from "../../decorators/MapContextDecorator";
6
-
7
- const storyoptions = {
8
- title: "Hooks/useGpx",
9
- component: useGpx,
10
- argTypes: {
11
- },
12
- decorators: mapContextDecorator,
13
- };
14
- export default storyoptions;
15
-
16
- const Template = () => <useGpx />;
17
-
18
- export const ExampleConfig = Template.bind({});
19
- ExampleConfig.parameters = {};
20
- ExampleConfig.args = {};
@@ -1,70 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import toGeoJSON from './lib/gpxConverter';
3
- import { FeatureCollection } from '@turf/turf';
4
-
5
- interface useGpxProps {
6
- /**
7
- * a string containing GPX data that is supposed to be parsed and converted to GeoJSON by this hook
8
- */
9
- data?: string;
10
- }
11
-
12
- export interface MetadataType {
13
- title: string;
14
- value: string;
15
- id: number;
16
- }
17
-
18
- /**
19
- * useGpx hook converts GPX data to GeoJSON
20
- *
21
- */
22
- const useGpx = (props: useGpxProps) => {
23
- const [geojson, setGeojson] = useState<FeatureCollection | undefined>();
24
- const [metadata, setMetadata] = useState<MetadataType[]>([]);
25
-
26
- const parseGpx = (gpxAsString: string) => {
27
- try {
28
- setMetadata([]);
29
- const domParser = new DOMParser();
30
- const gpxDoc = domParser.parseFromString(gpxAsString, 'application/xml');
31
- const metadata = gpxDoc.querySelector('metadata');
32
- metadata?.childNodes.forEach((node: Element) => {
33
- let value = node.textContent;
34
- const title = node.nodeName;
35
-
36
- if (node.nodeName === 'link') {
37
- value = node.getAttribute('href');
38
- }
39
- if (value?.trim().length) {
40
- const metaDataEntry = {
41
- title: title,
42
- value: value,
43
- id: new Date().getTime(),
44
- };
45
- setMetadata((prevState) => [...prevState, metaDataEntry]);
46
- }
47
- });
48
- const data = toGeoJSON.gpx(gpxDoc);
49
- setGeojson(data as FeatureCollection);
50
- } catch (e) {
51
- console.log(e);
52
- }
53
- };
54
-
55
- useEffect(() => {
56
- if (!props.data) return;
57
-
58
- parseGpx(props.data);
59
- }, [props.data]);
60
-
61
- return {
62
- geojson,
63
- metadata,
64
- };
65
- };
66
-
67
- useGpx.defaultProps = {
68
- data: undefined,
69
- };
70
- export default useGpx;
@@ -1,205 +0,0 @@
1
- import React, { useContext, useState } from "react";
2
- import { mount, configure } from "enzyme";
3
- import MapContext, { MapComponentsProvider } from "../contexts/MapContext";
4
- import MapLibreMap from "../components/MapLibreMap/MapLibreMap";
5
- import { waitFor } from "@testing-library/react";
6
- import { mockMapLibreMethods } from "../setupTests";
7
-
8
- import useLayer from "./useLayer";
9
-
10
- const UseLayerTestComponent = (props) => {
11
- // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
12
- useLayer({
13
- mapId: props.mapId,
14
- layerId: props.layerId || "TestComponent",
15
- geojson: props.geojson,
16
- options: {
17
- paint: props.paint,
18
- layout: props.layout || {},
19
- type: props.type,
20
- ...props.options,
21
- },
22
- insertBeforeLayer: props.insertBeforeLayer,
23
- onHover: props.onHover,
24
- onClick: props.onClick,
25
- onLeave: props.onLeave,
26
- });
27
-
28
- return <></>;
29
- };
30
-
31
- const TestComponent = (props) => {
32
- const [includeComponent, setIncludeComponent] = useState(true);
33
- const [testType, setTestType] = useState('line');
34
-
35
- return (
36
- <>
37
- <button
38
- className="change_testType"
39
- onClick={() => {
40
- setTestType('circle');
41
- }}
42
- >
43
- change type
44
- </button>
45
- <button
46
- className="toggle_includeComponent"
47
- onClick={() => {
48
- setIncludeComponent(!includeComponent);
49
- }}
50
- >
51
- toggle
52
- </button>
53
- {includeComponent && <UseLayerTestComponent {...props} type={testType} />}
54
- <MapLibreMap />
55
- </>
56
- );
57
- };
58
-
59
- describe("useLayer hook", () => {
60
- it("should register 1 event listener 'hover' to the maplibre instance", async () => {
61
- var testAttributes = {
62
- onHover: () => {},
63
- };
64
-
65
- const wrapper = mount(
66
- <MapComponentsProvider>
67
- <TestComponent {...testAttributes} />
68
- </MapComponentsProvider>
69
- );
70
-
71
- // MapLibreGlWrapper now subscribes to 4 events events on its own
72
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
73
- await waitFor(() => expect(mockMapLibreMethods.on).toHaveBeenCalledTimes(6));
74
- });
75
- it("should deregister 1 event listener 'hover' to the maplibre instance", async () => {
76
- var testAttributes = {
77
- onHover: () => {},
78
- };
79
-
80
- const wrapper = mount(
81
- <MapComponentsProvider>
82
- <TestComponent {...testAttributes} />
83
- </MapComponentsProvider>
84
- );
85
-
86
- wrapper.find(".toggle_includeComponent").simulate("click");
87
-
88
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
89
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
90
- });
91
- it("should register 1 event listener 'leave' to the maplibre instance", async () => {
92
- var testAttributes = {
93
- onLeave: () => {},
94
- };
95
-
96
- const wrapper = mount(
97
- <MapComponentsProvider>
98
- <TestComponent {...testAttributes} />
99
- </MapComponentsProvider>
100
- );
101
-
102
- // MapLibreGlWrapper now subscribes to 4 events events on its own
103
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
104
- await waitFor(() => expect(mockMapLibreMethods.on).toHaveBeenCalledTimes(6));
105
- });
106
- it("should deregister 1 event listener 'leave' to the maplibre instance", async () => {
107
- var testAttributes = {
108
- onLeave: () => {},
109
- };
110
-
111
- const wrapper = mount(
112
- <MapComponentsProvider>
113
- <TestComponent {...testAttributes} />
114
- </MapComponentsProvider>
115
- );
116
-
117
- wrapper.find(".toggle_includeComponent").simulate("click");
118
-
119
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
120
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
121
- });
122
-
123
-
124
- it("should register 1 event listener 'click' to the maplibre instance", async () => {
125
- var testAttributes = {
126
- onClick: () => {},
127
- };
128
-
129
- const wrapper = mount(
130
- <MapComponentsProvider>
131
- <TestComponent {...testAttributes} />
132
- </MapComponentsProvider>
133
- );
134
-
135
- // MapLibreGlWrapper now subscribes to 4 events events on its own
136
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
137
- await waitFor(() => expect(mockMapLibreMethods.on).toHaveBeenCalledTimes(6));
138
- });
139
- it("should deregister 1 event listener 'click' to the maplibre instance", async () => {
140
- var testAttributes = {
141
- onClick: () => {},
142
- };
143
-
144
- const wrapper = mount(
145
- <MapComponentsProvider>
146
- <TestComponent {...testAttributes} />
147
- </MapComponentsProvider>
148
- );
149
-
150
- wrapper.find(".toggle_includeComponent").simulate("click");
151
-
152
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
153
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
154
- });
155
-
156
- // if props.type is changed during runtime the hook needs to remove existing additions to the maplibre instance and reinitialize its representation in the maplibre instance
157
- it("should deregister 1 event listener 'hover' to the maplibre instance if type is changed during component runtime", async () => {
158
- var testAttributes = {
159
- onHover: () => {},
160
- };
161
-
162
- const wrapper = mount(
163
- <MapComponentsProvider>
164
- <TestComponent {...testAttributes} />
165
- </MapComponentsProvider>
166
- );
167
-
168
- wrapper.find(".change_testType").simulate("click");
169
-
170
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
171
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
172
- });
173
- it("should deregister 1 event listener 'hover' to the maplibre instance if type is changed during component runtime", async () => {
174
- var testAttributes = {
175
- onHover: () => {},
176
- };
177
-
178
- const wrapper = mount(
179
- <MapComponentsProvider>
180
- <TestComponent {...testAttributes} />
181
- </MapComponentsProvider>
182
- );
183
-
184
- wrapper.find(".change_testType").simulate("click");
185
-
186
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
187
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
188
- });
189
- it("should deregister 1 event listener 'click' to the maplibre instance if type is changed during component runtime", async () => {
190
- var testAttributes = {
191
- onClick: () => {},
192
- };
193
-
194
- const wrapper = mount(
195
- <MapComponentsProvider>
196
- <TestComponent {...testAttributes} />
197
- </MapComponentsProvider>
198
- );
199
-
200
- wrapper.find(".change_testType").simulate("click");
201
-
202
- // useLayer always subscribes to 'styledata' to watch whether its representation within the maplibre instance has been removed
203
- await waitFor(() => expect(mockMapLibreMethods.off).toHaveBeenCalledTimes(2));
204
- });
205
- });
@@ -1,234 +0,0 @@
1
- import { useState, useEffect, useCallback, useRef } from 'react';
2
-
3
- import useMap, { useMapType } from './useMap';
4
-
5
- import {
6
- SourceSpecification,
7
- LayerSpecification,
8
- MapMouseEvent,
9
- GeoJSONFeature,
10
- Style,
11
- MapEventType,
12
- Map
13
- } from 'maplibre-gl';
14
-
15
- import MapLibreGlWrapper from '../components/MapLibreMap/lib/MapLibreGlWrapper';
16
-
17
- import { GeoJSONObject } from '@turf/turf';
18
-
19
- type getLayerType = Style['getLayer'];
20
-
21
- type useLayerType = {
22
- map: MapLibreGlWrapper | undefined;
23
- layer: ReturnType<getLayerType> | undefined;
24
- layerId: string;
25
- componentId: string;
26
- mapHook: useMapType;
27
- };
28
-
29
- export type MapEventHandler = (
30
- ev: MapMouseEvent & {
31
- features?: GeoJSONFeature[] | undefined;
32
- } & Record<string, unknown>
33
- ) => void;
34
-
35
- export interface useLayerProps {
36
- mapId?: string;
37
- layerId?: string;
38
- idPrefix?: string;
39
- insertBeforeLayer?: string;
40
- insertBeforeFirstSymbolLayer?: boolean;
41
- geojson?: GeoJSONObject;
42
- source?: SourceSpecification | string;
43
- options: Partial<LayerSpecification>;
44
- onHover?: (ev: MapEventType & unknown) => Map | void;
45
- onClick?: (ev: MapEventType & unknown) => Map | void;
46
- onLeave?: (ev: MapEventType & unknown) => Map | void;
47
- }
48
-
49
- const legalLayerTypes = [
50
- 'fill',
51
- 'line',
52
- 'symbol',
53
- 'circle',
54
- 'heatmap',
55
- 'fill-extrusion',
56
- 'raster',
57
- 'hillshade',
58
- 'background',
59
- ];
60
-
61
- function useLayer(props: useLayerProps): useLayerType {
62
- const mapHook = useMap({
63
- mapId: props.mapId,
64
- waitForLayer: props.insertBeforeLayer,
65
- });
66
-
67
- const layerTypeRef = useRef<string>('');
68
- const layerPaintConfRef = useRef<string>('');
69
- const layerLayoutConfRef = useRef<string>('');
70
-
71
- const [layer, setLayer] = useState<ReturnType<getLayerType>>();
72
-
73
- const initializedRef = useRef<boolean>(false);
74
- const layerId = useRef(
75
- props.layerId || (props.idPrefix ? props.idPrefix : 'Layer-') + mapHook.componentId
76
- );
77
-
78
- const createLayer = useCallback(() => {
79
- if (!mapHook.map) return;
80
-
81
- if (mapHook.map.map.getLayer(layerId.current)) {
82
- mapHook.cleanup();
83
- }
84
- if (mapHook.map.map.getSource(layerId.current)) {
85
- mapHook.map.map.removeSource(layerId.current);
86
- }
87
-
88
- if (typeof props.source === 'string') {
89
- if (props.source === '' || !mapHook.map.map.getSource(props.source)) {
90
- return;
91
- }
92
- }
93
- if(typeof props.options.type === 'undefined'){
94
- return;
95
- }
96
-
97
- initializedRef.current = true;
98
-
99
- mapHook.map.addLayer(
100
- {
101
- ...props.options,
102
- ...(props.geojson && !props.source
103
- ? {
104
- source: {
105
- type: 'geojson',
106
- data: props.geojson,
107
- },
108
- }
109
- : {}),
110
- ...(props.source
111
- ? {
112
- source: props.source,
113
- }
114
- : {}),
115
- id: layerId.current,
116
- } as LayerSpecification,
117
- props.insertBeforeLayer
118
- ? props.insertBeforeLayer
119
- : props.insertBeforeFirstSymbolLayer
120
- ? mapHook.map.firstSymbolLayer
121
- : undefined,
122
- mapHook.componentId
123
- );
124
-
125
- setLayer(() => mapHook.map?.map.getLayer(layerId.current));
126
-
127
- if (typeof props.onHover !== 'undefined') {
128
- mapHook.map.on('mousemove', layerId.current, props.onHover, mapHook.componentId);
129
- }
130
-
131
- if (typeof props.onClick !== 'undefined') {
132
- mapHook.map.on('click', layerId.current, props.onClick, mapHook.componentId);
133
- }
134
-
135
- if (typeof props.onLeave !== 'undefined') {
136
- mapHook.map.on('mouseleave', layerId.current, props.onLeave, mapHook.componentId);
137
- }
138
-
139
- // recreate layer if style has changed
140
- mapHook.map.on(
141
- 'styledata',
142
- () => {
143
- if (initializedRef.current && !mapHook.map?.map.getLayer(layerId.current)) {
144
- console.log('Recreate Layer');
145
- createLayer();
146
- }
147
- },
148
- mapHook.componentId
149
- );
150
-
151
- layerPaintConfRef.current = JSON.stringify(props.options?.paint);
152
- layerLayoutConfRef.current = JSON.stringify(props.options?.layout);
153
- layerTypeRef.current = props.options.type as LayerSpecification['type'];
154
- }, [props, mapHook.map]);
155
-
156
- useEffect(() => {
157
- if (!mapHook.map) return;
158
-
159
- if (
160
- initializedRef.current &&
161
- (legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) === -1 ||
162
- (legalLayerTypes.indexOf(props.options.type as LayerSpecification['type']) !== -1 &&
163
- props.options.type === layerTypeRef.current))
164
- ) {
165
- return;
166
- }
167
-
168
- createLayer();
169
- }, [mapHook.map, props.options, createLayer]);
170
-
171
- useEffect(() => {
172
- if (!initializedRef.current || !mapHook.map?.map?.getSource(layerId.current)) return;
173
-
174
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
175
- //@ts-ignore setData only exists on GeoJsonSource
176
- mapHook.map.map.getSource(layerId.current)?.setData?.(props.geojson);
177
- }, [props.geojson, mapHook.map, props.options.type]);
178
-
179
- useEffect(() => {
180
- if (
181
- !mapHook.map ||
182
- !mapHook.map?.map?.getLayer?.(layerId.current) ||
183
- !initializedRef.current ||
184
- props.options.type !== layerTypeRef.current
185
- )
186
- return;
187
-
188
- let key;
189
-
190
- const layoutString = JSON.stringify(props.options.layout);
191
- if (props.options.layout && layoutString !== layerLayoutConfRef.current) {
192
- const oldLayout = JSON.parse(layerLayoutConfRef.current);
193
-
194
- for (key in props.options.layout) {
195
- if (props.options.layout?.[key] && props.options.layout[key] !== oldLayout[key]) {
196
- mapHook.map.map.setLayoutProperty(layerId.current, key, props.options.layout[key]);
197
- }
198
- }
199
- layerLayoutConfRef.current = layoutString;
200
- }
201
-
202
- const paintString = JSON.stringify(props.options.paint);
203
- if (paintString !== layerPaintConfRef.current) {
204
- const oldPaint = JSON.parse(layerPaintConfRef.current);
205
- for (key in props.options.paint) {
206
- if (props.options.paint?.[key] && props.options.paint[key] !== oldPaint[key]) {
207
- mapHook.map.map.setPaintProperty(layerId.current, key, props.options.paint[key]);
208
- }
209
- }
210
- layerPaintConfRef.current = paintString;
211
- }
212
- }, [props.options, mapHook.map]);
213
-
214
- useEffect(() => {
215
- return () => {
216
- initializedRef.current = false;
217
- mapHook.cleanup();
218
- };
219
- }, []);
220
-
221
- return {
222
- map: mapHook.map,
223
- layer: layer,
224
- layerId: layerId.current,
225
- componentId: mapHook.componentId,
226
- mapHook: mapHook,
227
- };
228
- }
229
-
230
- useLayer.defaultProps = {
231
-
232
- }
233
-
234
- export default useLayer;
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
- import { useEffect } from 'react';
3
- import useMapState from './useMapState';
4
- import useMap from './useMap';
5
-
6
- const touchEquivalents = {
7
- mousedown: 'touchstart',
8
- mouseup: 'touchend',
9
- mousemove: 'touchmove',
10
- };
11
- const touchEquivalentsKeys = Object.keys(touchEquivalents);
12
- function useLayerEvent(props) {
13
- const mapState = useMapState({ mapId: props.mapId, watch: { layers: true } });
14
- const mapHook = useMap({ mapId: props.mapId });
15
-
16
- useEffect(() => {
17
- if (!mapHook.map) return true;
18
- if (typeof props.condition !== 'undefined' && props.condition === false) return;
19
- //console.log('useLayerEvent');
20
- //console.log(mapState);
21
-
22
- if (mapHook.map.map.getLayer(props.layerId)) {
23
- //console.log("layer avail");
24
- var _event = props.event;
25
- var _layerId = props.layerId;
26
- var _eventHandler = props.eventHandler;
27
-
28
- //console.log(_event);
29
- mapHook.map.on(_event, _layerId, _eventHandler, mapHook.componentId);
30
- if (props?.addTouchEvents === true) {
31
- if (touchEquivalentsKeys.indexOf(_event) !== -1) {
32
- mapHook.map.on(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);
33
- }
34
- }
35
- return () => {
36
- mapHook.map.off(_event, _layerId, _eventHandler);
37
- if (props?.addTouchEvents === true) {
38
- if (touchEquivalentsKeys.indexOf(_event) !== -1) {
39
- mapHook.map.off(touchEquivalents[_event], _layerId, _eventHandler, mapHook.componentId);
40
- }
41
- }
42
- };
43
- }
44
- }, [props, mapState, mapHook.map]);
45
-
46
- return {};
47
- }
48
-
49
- export default useLayerEvent;
@@ -1,3 +0,0 @@
1
- # Component Beschreibung
2
-
3
- Beschreibungstext
@@ -1,14 +0,0 @@
1
- {
2
- "name": "useLayerFilter",
3
- "title": "",
4
- "description": "",
5
- "i18n": {
6
- "de": {
7
- "title": "",
8
- "description": ""
9
- }
10
- },
11
- "tags": [],
12
- "category": "",
13
- "type": "component"
14
- }
@@ -1,40 +0,0 @@
1
- import React from 'react';
2
-
3
- import useLayerFilter from './useLayerFilter';
4
-
5
- import mapContextDecorator from '../../decorators/MapContextDecorator';
6
- import MlGeoJsonLayer from '../../components/MlGeoJsonLayer/MlGeoJsonLayer';
7
- import sample from '../../components/MlGeoJsonLayer/assets/sample_2.json';
8
- import { FeatureCollection } from '@turf/turf';
9
-
10
- const storyoptions = {
11
- title: 'hooks/useLayerFilter',
12
- component: useLayerFilter,
13
- argTypes: {},
14
- decorators: mapContextDecorator,
15
- };
16
- export default storyoptions;
17
-
18
- const Template = (args: { filter_name: string }) => {
19
- useLayerFilter({ layerId: 'filter_test', filter: ['==', 'name', args.filter_name] });
20
- return <MlGeoJsonLayer layerId="filter_test" geojson={sample as FeatureCollection} />;
21
- };
22
-
23
- export const ExampleConfig = Template.bind({});
24
- ExampleConfig.parameters = {};
25
- ExampleConfig.args = {
26
- filter_name: 'Mauspfad',
27
- };
28
- ExampleConfig.argTypes = {
29
- filter_name: {
30
- options: [
31
- 'Mauspfad',
32
- 'Windeckstraße',
33
- 'Münsterplatz',
34
- 'Postrstraße',
35
- 'In der Sürst',
36
- 'Remiglustraße',
37
- ],
38
- control: { type: 'radio' },
39
- },
40
- };
@@ -1,33 +0,0 @@
1
- import { useEffect } from 'react';
2
- import useMap from '../useMap';
3
- import { FilterSpecification } from 'maplibre-gl';
4
-
5
- export interface UseLayerFilterProps {
6
- mapId?: string;
7
- layerId?: string;
8
- filter?: FilterSpecification;
9
- }
10
-
11
- function useLayerFilter(props: UseLayerFilterProps) {
12
- const mapHook = useMap({ mapId: props.mapId });
13
-
14
- useEffect(() => {
15
- if (!mapHook.map || !props.layerId || !props.filter) return;
16
-
17
- if (mapHook.map.map.getLayer(props.layerId)) {
18
- const _layerId = props.layerId;
19
-
20
- mapHook.map.map.setFilter(_layerId, props.filter);
21
- return () => {
22
- if (mapHook.map) {
23
- mapHook.map.map.setFilter(_layerId, null);
24
- }
25
- };
26
- }
27
- return;
28
- }, [props, mapHook.map]);
29
-
30
- return {};
31
- }
32
-
33
- export default useLayerFilter;
@@ -1,3 +0,0 @@
1
- # Component Beschreibung
2
-
3
- Beschreibungstext
@@ -1,15 +0,0 @@
1
- {
2
- "name": "useLayerHoverPopup",
3
- "title": "",
4
- "description": "",
5
- "i18n": {
6
- "de": {
7
- "title": "",
8
- "description": ""
9
- }
10
- },
11
- "tags": [],
12
- "category": "",
13
- "type": "component",
14
- "price": 0
15
- }