@mapcomponents/react-maplibre 0.1.69 → 0.1.70

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 (522) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +3 -2
  3. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.d.ts +3 -3
  4. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +7 -2
  5. package/dist/components/MlCreatePngButton/MlCreatePngButton.d.ts +22 -0
  6. package/dist/components/MlCreatePngButton/MlCreatePngButton.stories.d.ts +14 -0
  7. package/dist/components/MlGpxViewer/util/{MetadataDrawer.d.ts → Metadata.d.ts} +1 -2
  8. package/dist/components/MlGpxViewer/util/MlGpxDemoLoader.d.ts +1 -1
  9. package/dist/hooks/useExportMap/lib.d.ts +16 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.esm.js +284 -276
  12. package/dist/index.esm.js.map +1 -1
  13. package/dist/ui_components/Sidebar.d.ts +5 -3
  14. package/dist/ui_components/TopToolbar.d.ts +8 -7
  15. package/package.json +1 -2
  16. package/.babelrc +0 -22
  17. package/.editorconfig +0 -19
  18. package/.eslintignore +0 -12
  19. package/.eslintrc.js +0 -30
  20. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -41
  21. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  22. package/.github/workflows/check-catalogue-metadata-schema.yml +0 -19
  23. package/.github/workflows/check-formatting.yml +0 -46
  24. package/.github/workflows/node_version_test.yml +0 -26
  25. package/.github/workflows/publish.yml +0 -21
  26. package/.github/workflows/storybook.yml +0 -28
  27. package/.prettierignore +0 -11
  28. package/.prettierrc.json +0 -6
  29. package/.storybook/.babelrc +0 -26
  30. package/.storybook/main.js +0 -40
  31. package/.storybook/manager.js +0 -6
  32. package/.storybook/mapcomponents_logo.png +0 -0
  33. package/.storybook/preview.js +0 -33
  34. package/.storybook/style.css +0 -15
  35. package/.storybook/wheregroupTheme.js +0 -9
  36. package/config/env.js +0 -106
  37. package/config/jest/babelTransform.js +0 -29
  38. package/config/jest/cssTransform.js +0 -14
  39. package/config/jest/fileTransform.js +0 -40
  40. package/config/paths.js +0 -75
  41. package/coverage/clover.xml +0 -2018
  42. package/coverage/coverage-final.json +0 -60
  43. package/coverage/lcov-report/base.css +0 -224
  44. package/coverage/lcov-report/block-navigation.js +0 -87
  45. package/coverage/lcov-report/favicon.png +0 -0
  46. package/coverage/lcov-report/index.html +0 -731
  47. package/coverage/lcov-report/prettify.css +0 -1
  48. package/coverage/lcov-report/prettify.js +0 -2
  49. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  50. package/coverage/lcov-report/sorter.js +0 -196
  51. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +0 -466
  52. package/coverage/lcov-report/src/components/MapLibreMap/index.html +0 -116
  53. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +0 -322
  54. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +0 -116
  55. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +0 -238
  56. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +0 -116
  57. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +0 -148
  58. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +0 -196
  59. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +0 -131
  60. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +0 -535
  61. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +0 -116
  62. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +0 -340
  63. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +0 -116
  64. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +0 -808
  65. package/coverage/lcov-report/src/components/MlFollowGps/index.html +0 -116
  66. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +0 -469
  67. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +0 -116
  68. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +0 -652
  69. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +0 -649
  70. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +0 -112
  71. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +0 -115
  72. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +0 -161
  73. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +0 -469
  74. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +0 -116
  75. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +0 -394
  76. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +0 -116
  77. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +0 -385
  78. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +0 -116
  79. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +0 -247
  80. package/coverage/lcov-report/src/components/MlLayer/index.html +0 -116
  81. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +0 -745
  82. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +0 -116
  83. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +0 -520
  84. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +0 -116
  85. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +0 -736
  86. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +0 -316
  87. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +0 -116
  88. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +0 -116
  89. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +0 -505
  90. package/coverage/lcov-report/src/components/MlMarker/index.html +0 -116
  91. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +0 -265
  92. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +0 -116
  93. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +0 -763
  94. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +0 -116
  95. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +0 -613
  96. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +0 -116
  97. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +0 -298
  98. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +0 -232
  99. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +0 -131
  100. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.tsx.html +0 -412
  101. package/coverage/lcov-report/src/components/MlScaleReference/index.html +0 -116
  102. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.tsx.html +0 -892
  103. package/coverage/lcov-report/src/components/MlShareMapState/index.html +0 -116
  104. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +0 -214
  105. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +0 -121
  106. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +0 -412
  107. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +0 -463
  108. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +0 -161
  109. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +0 -898
  110. package/coverage/lcov-report/src/components/MlSketchTool/index.html +0 -116
  111. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +0 -514
  112. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +0 -116
  113. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +0 -703
  114. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +0 -769
  115. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +0 -131
  116. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +0 -406
  117. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +0 -116
  118. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +0 -310
  119. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +0 -116
  120. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +0 -517
  121. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +0 -116
  122. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +0 -277
  123. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +0 -116
  124. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +0 -739
  125. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +0 -116
  126. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +0 -1102
  127. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +0 -116
  128. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +0 -403
  129. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +0 -103
  130. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +0 -277
  131. package/coverage/lcov-report/src/contexts/index.html +0 -146
  132. package/coverage/lcov-report/src/hooks/index.html +0 -191
  133. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +0 -116
  134. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +0 -661
  135. package/coverage/lcov-report/src/hooks/useExportMap/index.html +0 -131
  136. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +0 -175
  137. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +0 -559
  138. package/coverage/lcov-report/src/hooks/useGpx/index.html +0 -116
  139. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +0 -295
  140. package/coverage/lcov-report/src/hooks/useLayer.ts.html +0 -787
  141. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +0 -232
  142. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +0 -116
  143. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +0 -184
  144. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +0 -116
  145. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +0 -334
  146. package/coverage/lcov-report/src/hooks/useMap.ts.html +0 -358
  147. package/coverage/lcov-report/src/hooks/useMapState.ts.html +0 -631
  148. package/coverage/lcov-report/src/hooks/useSource.ts.html +0 -337
  149. package/coverage/lcov-report/src/hooks/useWms.ts.html +0 -397
  150. package/coverage/lcov-report/src/index.html +0 -116
  151. package/coverage/lcov-report/src/index.ts.html +0 -316
  152. package/coverage/lcov.info +0 -3987
  153. package/cypress/support/commands.ts +0 -37
  154. package/cypress/support/component-index.html +0 -12
  155. package/cypress/support/component.ts +0 -46
  156. package/cypress.config.ts +0 -101
  157. package/dist/components/MlCreatePdfButton/lib/createPdf.d.ts +0 -2
  158. package/dist/components/MlCreatePdfButton/lib/nominatimMap.d.ts +0 -2
  159. package/eslintErrorTest.js +0 -10
  160. package/public/assets/3D/godzilla_simple.glb +0 -0
  161. package/public/assets/dop.png +0 -0
  162. package/public/assets/historic.png +0 -0
  163. package/public/assets/marker.png +0 -0
  164. package/public/assets/osm.png +0 -0
  165. package/public/assets/sample.gpx +0 -716
  166. package/public/assets/sample1.gpx +0 -3003
  167. package/public/assets/sample2.gpx +0 -1264
  168. package/public/assets/sample3.gpx +0 -912
  169. package/public/assets/wg-marker.png +0 -0
  170. package/public/catalogue/.gitkeep +0 -0
  171. package/public/catalogue/mc_meta.json +0 -1
  172. package/public/favicon.ico +0 -0
  173. package/public/index.html +0 -39
  174. package/public/logo.png +0 -0
  175. package/public/manifest.json +0 -25
  176. package/public/robots.txt +0 -3
  177. package/public/thumbnails/MapLibreMap.png +0 -0
  178. package/public/thumbnails/MlCameraFollowPath.png +0 -0
  179. package/public/thumbnails/MlCreatePdfButton.png +0 -0
  180. package/public/thumbnails/MlCreatePdfForm.png +0 -0
  181. package/public/thumbnails/MlDeckGlLayer.png +0 -0
  182. package/public/thumbnails/MlDeckGlTerrainLayer.png +0 -0
  183. package/public/thumbnails/MlDemoDashboard.png +0 -0
  184. package/public/thumbnails/MlFeatureEditor.png +0 -0
  185. package/public/thumbnails/MlFillExtrusionLayer.png +0 -0
  186. package/public/thumbnails/MlFollowGps.png +0 -0
  187. package/public/thumbnails/MlGeoJsonLayer.png +0 -0
  188. package/public/thumbnails/MlGpxViewer.png +0 -0
  189. package/public/thumbnails/MlHillshadeLayer.png +0 -0
  190. package/public/thumbnails/MlIconLayer.png +0 -0
  191. package/public/thumbnails/MlLaermkarte.png +0 -0
  192. package/public/thumbnails/MlLayerMagnify.png +0 -0
  193. package/public/thumbnails/MlLayerSwipe.png +0 -0
  194. package/public/thumbnails/MlMapDrawTools.png +0 -0
  195. package/public/thumbnails/MlMeasureTool.png +0 -0
  196. package/public/thumbnails/MlMobilerImker.png +0 -0
  197. package/public/thumbnails/MlNavigationCompass.png +0 -0
  198. package/public/thumbnails/MlNavigationTools.png +0 -0
  199. package/public/thumbnails/MlOsmLayer.png +0 -0
  200. package/public/thumbnails/MlScaleReference.png +0 -0
  201. package/public/thumbnails/MlSketchTool.png +0 -0
  202. package/public/thumbnails/MlSpatialElevationProfile.png +0 -0
  203. package/public/thumbnails/MlThreeJsLayer.png +0 -0
  204. package/public/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
  205. package/public/thumbnails/MlVectorTileLayer.png +0 -0
  206. package/public/thumbnails/MlWanderApp.png +0 -0
  207. package/public/thumbnails/MlWmsLayer.png +0 -0
  208. package/public/thumbnails/MlWmsLoader.png +0 -0
  209. package/public/thumbnails/useCameraFollowPath.png +0 -0
  210. package/rollup.config.js +0 -74
  211. package/scripts/build-catalogue-markdown-docs.js +0 -28
  212. package/scripts/build-catalogue-meta.js +0 -42
  213. package/scripts/create-map-component.sh +0 -36
  214. package/scripts/test.js +0 -53
  215. package/src/@types/assets/index.d.ts +0 -20
  216. package/src/App.css +0 -0
  217. package/src/components/MapLibreMap/MapLibreMap.stories.js +0 -106
  218. package/src/components/MapLibreMap/MapLibreMap.test.js +0 -84
  219. package/src/components/MapLibreMap/MapLibreMap.tsx +0 -127
  220. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +0 -395
  221. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +0 -691
  222. package/src/components/MlBasicComponent.js +0 -39
  223. package/src/components/MlCenterPosition/MlCenterPosition.doc.de.md +0 -3
  224. package/src/components/MlCenterPosition/MlCenterPosition.meta_.json +0 -14
  225. package/src/components/MlCenterPosition/MlCenterPosition.stories.tsx +0 -20
  226. package/src/components/MlCenterPosition/MlCenterPosition.tsx +0 -79
  227. package/src/components/MlComponentTemplate/MlComponentTemplate.doc.de.md +0 -3
  228. package/src/components/MlComponentTemplate/MlComponentTemplate.meta_.json +0 -14
  229. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.tsx +0 -20
  230. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +0 -42
  231. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.de.md +0 -1
  232. package/src/components/MlCreatePdfButton/MlCreatePdfButton.doc.en.md +0 -1
  233. package/src/components/MlCreatePdfButton/MlCreatePdfButton.meta_.json +0 -14
  234. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.tsx +0 -35
  235. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +0 -51
  236. package/src/components/MlCreatePdfButton/lib/createPdf.ts +0 -189
  237. package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +0 -57
  238. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +0 -21
  239. package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +0 -3
  240. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +0 -14
  241. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +0 -165
  242. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +0 -37
  243. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +0 -51
  244. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +0 -257
  245. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +0 -327
  246. package/src/components/MlCreatePdfForm/lib/_PdfPreview.tsx +0 -399
  247. package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +0 -82
  248. package/src/components/MlCreatePdfForm/lib/pdfContext.d.ts +0 -24
  249. package/src/components/MlCreatePdfForm/lib/preview.css +0 -114
  250. package/src/components/MlFeatureEditor/MlFeatureEditor.css +0 -0
  251. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.de.md +0 -1
  252. package/src/components/MlFeatureEditor/MlFeatureEditor.doc.en.md +0 -1
  253. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +0 -14
  254. package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +0 -91
  255. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +0 -126
  256. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +0 -150
  257. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +0 -303
  258. package/src/components/MlFeatureEditor/custom-polygon-mode.js +0 -188
  259. package/src/components/MlFeatureEditor/custom-select-mode.js +0 -406
  260. package/src/components/MlFeatureEditor/lib/LICENSE.md +0 -18
  261. package/src/components/MlFeatureEditor/lib/common_selectors.js +0 -72
  262. package/src/components/MlFeatureEditor/lib/constants.js +0 -104
  263. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +0 -72
  264. package/src/components/MlFeatureEditor/lib/create_midpoint.js +0 -42
  265. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +0 -102
  266. package/src/components/MlFeatureEditor/lib/create_vertex.js +0 -35
  267. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +0 -30
  268. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +0 -9
  269. package/src/components/MlFeatureEditor/lib/features_at.js +0 -52
  270. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +0 -28
  271. package/src/components/MlFeatureEditor/lib/is_click.js +0 -22
  272. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +0 -10
  273. package/src/components/MlFeatureEditor/lib/is_tap.js +0 -19
  274. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +0 -18
  275. package/src/components/MlFeatureEditor/lib/mode_handler.js +0 -120
  276. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +0 -23
  277. package/src/components/MlFeatureEditor/lib/move_features.js +0 -47
  278. package/src/components/MlFeatureEditor/lib/sort_features.js +0 -45
  279. package/src/components/MlFeatureEditor/lib/string_set.js +0 -59
  280. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +0 -8
  281. package/src/components/MlFeatureEditor/lib/theme.js +0 -236
  282. package/src/components/MlFeatureEditor/lib/to_dense_array.js +0 -15
  283. package/src/components/MlFeatureEditor/lib/utils.js +0 -51
  284. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.de.md +0 -1
  285. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.doc.en.md +0 -1
  286. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.meta.json +0 -14
  287. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +0 -24
  288. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +0 -15
  289. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +0 -85
  290. package/src/components/MlFollowGps/MlFollowGps.doc.de.md +0 -1
  291. package/src/components/MlFollowGps/MlFollowGps.doc.en.md +0 -1
  292. package/src/components/MlFollowGps/MlFollowGps.meta.json +0 -14
  293. package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -40
  294. package/src/components/MlFollowGps/MlFollowGps.test.js +0 -63
  295. package/src/components/MlFollowGps/MlFollowGps.tsx +0 -241
  296. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.de.md +0 -1
  297. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.doc.en.md +0 -1
  298. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.meta.json +0 -14
  299. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +0 -191
  300. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +0 -20
  301. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +0 -128
  302. package/src/components/MlGeoJsonLayer/assets/earthquake.json +0 -109937
  303. package/src/components/MlGeoJsonLayer/assets/sample_1.json +0 -140
  304. package/src/components/MlGeoJsonLayer/assets/sample_2.json +0 -142
  305. package/src/components/MlGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  306. package/src/components/MlGeoJsonLayer/assets/wg_locations.json +0 -65
  307. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +0 -189
  308. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +0 -188
  309. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx +0 -9
  310. package/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx +0 -10
  311. package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +0 -31
  312. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +0 -37
  313. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +0 -3
  314. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +0 -14
  315. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.tsx +0 -19
  316. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +0 -128
  317. package/src/components/MlGpxViewer/MlGpxViewer.doc.de.md +0 -1
  318. package/src/components/MlGpxViewer/MlGpxViewer.doc.en.md +0 -1
  319. package/src/components/MlGpxViewer/MlGpxViewer.meta.json +0 -14
  320. package/src/components/MlGpxViewer/MlGpxViewer.stories.tsx +0 -100
  321. package/src/components/MlGpxViewer/MlGpxViewer.test.js +0 -53
  322. package/src/components/MlGpxViewer/MlGpxViewer.tsx +0 -103
  323. package/src/components/MlGpxViewer/util/GeoJsonContext.ts +0 -13
  324. package/src/components/MlGpxViewer/util/GeoJsonProvider.tsx +0 -25
  325. package/src/components/MlGpxViewer/util/MetadataDrawer.tsx +0 -38
  326. package/src/components/MlGpxViewer/util/MlGpxDemoLoader.tsx +0 -130
  327. package/src/components/MlGpxViewer/util/MlGpxViewerInstructions.tsx +0 -71
  328. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.doc.de.md +0 -3
  329. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.meta_.json +0 -14
  330. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.tsx +0 -41
  331. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +0 -38
  332. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +0 -100
  333. package/src/components/MlLayer/MlLayer.doc.de.md +0 -3
  334. package/src/components/MlLayer/MlLayer.meta_.json +0 -14
  335. package/src/components/MlLayer/MlLayer.test.js +0 -117
  336. package/src/components/MlLayer/MlLayer.tsx +0 -54
  337. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.de.md +0 -1
  338. package/src/components/MlLayerMagnify/MlLayerMagnify.doc.en.md +0 -1
  339. package/src/components/MlLayerMagnify/MlLayerMagnify.meta.json +0 -14
  340. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.tsx +0 -44
  341. package/src/components/MlLayerMagnify/MlLayerMagnify.test.tsx +0 -83
  342. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +0 -220
  343. package/src/components/MlLayerMagnify/style.css +0 -48
  344. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.de.md +0 -1
  345. package/src/components/MlLayerSwipe/MlLayerSwipe.doc.en.md +0 -1
  346. package/src/components/MlLayerSwipe/MlLayerSwipe.meta.json +0 -14
  347. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.tsx +0 -36
  348. package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +0 -86
  349. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +0 -145
  350. package/src/components/MlLayerSwipe/style.css +0 -48
  351. package/src/components/MlLayerSwitcher/MlLayerSwitcher.css +0 -17
  352. package/src/components/MlLayerSwitcher/MlLayerSwitcher.doc.de.md +0 -3
  353. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -217
  354. package/src/components/MlLayerSwitcher/MlLayerSwitcher.meta_.json +0 -14
  355. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +0 -103
  356. package/src/components/MlLayerSwitcher/assets/sample_1.json +0 -26
  357. package/src/components/MlLayerSwitcher/assets/sample_2.json +0 -22
  358. package/src/components/MlLayerSwitcher/components/LayerBox.js +0 -77
  359. package/src/components/MlMarker/MlMarker.doc.de.md +0 -3
  360. package/src/components/MlMarker/MlMarker.meta_.json +0 -14
  361. package/src/components/MlMarker/MlMarker.stories.js +0 -22
  362. package/src/components/MlMarker/MlMarker.tsx +0 -140
  363. package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +0 -3
  364. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +0 -14
  365. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +0 -96
  366. package/src/components/MlMeasureTool/MlMeasureTool.tsx +0 -60
  367. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.de.md +0 -1
  368. package/src/components/MlNavigationCompass/MlNavigationCompass.doc.en.md +0 -1
  369. package/src/components/MlNavigationCompass/MlNavigationCompass.meta.json +0 -14
  370. package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +0 -63
  371. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +0 -68
  372. package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +0 -226
  373. package/src/components/MlNavigationCompass/assets/needle.svg +0 -17
  374. package/src/components/MlNavigationCompass/assets/needle__.svg +0 -19
  375. package/src/components/MlNavigationCompass/assets/rotate_left.svg +0 -13
  376. package/src/components/MlNavigationCompass/assets/rotate_right.svg +0 -15
  377. package/src/components/MlNavigationTools/MlNavigationTools.doc.de.md +0 -1
  378. package/src/components/MlNavigationTools/MlNavigationTools.doc.en.md +0 -1
  379. package/src/components/MlNavigationTools/MlNavigationTools.meta.json +0 -14
  380. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +0 -64
  381. package/src/components/MlNavigationTools/MlNavigationTools.tsx +0 -176
  382. package/src/components/MlOsmLayer/MlOsmLayer.js +0 -71
  383. package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +0 -49
  384. package/src/components/MlOsmLayer/MlOsmLayer.test.js +0 -19
  385. package/src/components/MlScaleReference/MlScaleReference.doc.de.md +0 -1
  386. package/src/components/MlScaleReference/MlScaleReference.doc.en.md +0 -1
  387. package/src/components/MlScaleReference/MlScaleReference.meta.json +0 -14
  388. package/src/components/MlScaleReference/MlScaleReference.stories.js +0 -51
  389. package/src/components/MlScaleReference/MlScaleReference.tsx +0 -109
  390. package/src/components/MlShareMapState/MlShareMapState.doc.de.md +0 -3
  391. package/src/components/MlShareMapState/MlShareMapState.meta_.json +0 -14
  392. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +0 -100
  393. package/src/components/MlShareMapState/MlShareMapState.tsx +0 -269
  394. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +0 -43
  395. package/src/components/MlSketchTool/LayerList/LayerList.tsx +0 -12
  396. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +0 -109
  397. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +0 -126
  398. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +0 -3
  399. package/src/components/MlSketchTool/MlSketchTool.meta.json +0 -14
  400. package/src/components/MlSketchTool/MlSketchTool.stories.tsx +0 -26
  401. package/src/components/MlSketchTool/MlSketchTool.tsx +0 -271
  402. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.de.md +0 -1
  403. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.doc.en.md +0 -1
  404. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.meta.json +0 -14
  405. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.tsx +0 -121
  406. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +0 -48
  407. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx +0 -143
  408. package/src/components/MlSpatialElevationProfile/util/getElevationData.tsx +0 -103
  409. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.de.md +0 -1
  410. package/src/components/MlThreeJsLayer/MlThreeJsLayer.doc.en.md +0 -1
  411. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +0 -207
  412. package/src/components/MlThreeJsLayer/MlThreeJsLayer.meta.json +0 -14
  413. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.tsx +0 -37
  414. package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +0 -33
  415. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +0 -228
  416. package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +0 -3331
  417. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.doc.de.md +0 -3
  418. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +0 -14
  419. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +0 -52
  420. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +0 -20
  421. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +0 -107
  422. package/src/components/MlTransitionGeoJsonLayer/assets/sample_1.json +0 -26
  423. package/src/components/MlTransitionGeoJsonLayer/assets/sample_2.json +0 -22
  424. package/src/components/MlTransitionGeoJsonLayer/assets/sample_polygon_1.json +0 -33
  425. package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +0 -221
  426. package/src/components/MlUseMapDebugger/MlUseMapDebugger.doc.de.md +0 -3
  427. package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +0 -75
  428. package/src/components/MlUseMapDebugger/MlUseMapDebugger.meta_.json +0 -14
  429. package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +0 -30
  430. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.de.md +0 -1
  431. package/src/components/MlVectorTileLayer/MlVectorTileLayer.doc.en.md +0 -1
  432. package/src/components/MlVectorTileLayer/MlVectorTileLayer.meta.json +0 -14
  433. package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +0 -52
  434. package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +0 -40
  435. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +0 -144
  436. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.doc.de.md +0 -3
  437. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +0 -64
  438. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.meta_.json +0 -14
  439. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.tsx +0 -22
  440. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +0 -49
  441. package/src/components/MlWmsLayer/MlWmsLayer.test.js +0 -19
  442. package/src/components/MlWmsLayer/MlWmsLayer.tsx +0 -218
  443. package/src/components/MlWmsLoader/MlWmsLoader.doc.de.md +0 -1
  444. package/src/components/MlWmsLoader/MlWmsLoader.doc.en.md +0 -1
  445. package/src/components/MlWmsLoader/MlWmsLoader.meta.json +0 -14
  446. package/src/components/MlWmsLoader/MlWmsLoader.stories.tsx +0 -81
  447. package/src/components/MlWmsLoader/MlWmsLoader.tsx +0 -339
  448. package/src/components/MlWmsLoader/utils/MlWmsLoaderInstructions.tsx +0 -50
  449. package/src/components/MlWmsLoader/utils/WMSLinks.tsx +0 -128
  450. package/src/contexts/MapComponentsProvider.test.js +0 -260
  451. package/src/contexts/MapContext.tsx +0 -106
  452. package/src/contexts/SimpleDataContext.js +0 -6
  453. package/src/contexts/SimpleDataProvider.js +0 -64
  454. package/src/contexts/SimpleDataProvider.test.js +0 -68
  455. package/src/custom.d.ts +0 -4
  456. package/src/decorators/EmptyMapDecorator.js +0 -38
  457. package/src/decorators/MapContextDecorator.js +0 -39
  458. package/src/decorators/MapContextDecoratorHooks.js +0 -39
  459. package/src/decorators/MultiMapContextDecorator.js +0 -80
  460. package/src/decorators/NoNavToolsDecorator.js +0 -33
  461. package/src/decorators/ThemeDecorator.js +0 -24
  462. package/src/decorators/style.css +0 -34
  463. package/src/hooks/assets/pointWG.json +0 -13
  464. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.de.md +0 -4
  465. package/src/hooks/useCameraFollowPath/useCameraFollowPath.doc.en.md +0 -1
  466. package/src/hooks/useCameraFollowPath/useCameraFollowPath.meta.json +0 -14
  467. package/src/hooks/useCameraFollowPath/useCameraFollowPath.stories.tsx +0 -192
  468. package/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx +0 -192
  469. package/src/hooks/useExportMap/index.ts +0 -30
  470. package/src/hooks/useExportMap/lib.ts +0 -158
  471. package/src/hooks/useGpx/lib/gpxConverter.js +0 -521
  472. package/src/hooks/useGpx/useGpx.doc.de.md +0 -3
  473. package/src/hooks/useGpx/useGpx.meta_.json +0 -15
  474. package/src/hooks/useGpx/useGpx.stories.js +0 -20
  475. package/src/hooks/useGpx/useGpx.tsx +0 -70
  476. package/src/hooks/useLayer.test.js +0 -205
  477. package/src/hooks/useLayer.ts +0 -234
  478. package/src/hooks/useLayerEvent.js +0 -49
  479. package/src/hooks/useLayerFilter/useLayerFilter.doc.de.md +0 -3
  480. package/src/hooks/useLayerFilter/useLayerFilter.meta_.json +0 -14
  481. package/src/hooks/useLayerFilter/useLayerFilter.stories.tsx +0 -40
  482. package/src/hooks/useLayerFilter/useLayerFilter.ts +0 -33
  483. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.doc.de.md +0 -3
  484. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.meta_.json +0 -15
  485. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.stories.js +0 -20
  486. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +0 -83
  487. package/src/hooks/useMap.test.tsx +0 -48
  488. package/src/hooks/useMap.ts +0 -91
  489. package/src/hooks/useMapState.stories.js +0 -120
  490. package/src/hooks/useMapState.ts +0 -182
  491. package/src/hooks/useSource.ts +0 -84
  492. package/src/hooks/useSources.stories.js +0 -232
  493. package/src/hooks/useWms.ts +0 -104
  494. package/src/index.ts +0 -78
  495. package/src/setupTests.js +0 -113
  496. package/src/stories/components/Readme.js +0 -7
  497. package/src/ui_components/Dropzone.tsx +0 -104
  498. package/src/ui_components/ImageLoader.tsx +0 -83
  499. package/src/ui_components/LayerList/LayerList.stories.tsx +0 -136
  500. package/src/ui_components/LayerList/LayerList.tsx +0 -12
  501. package/src/ui_components/LayerList/LayerListFolder.tsx +0 -82
  502. package/src/ui_components/LayerList/LayerListItem.tsx +0 -180
  503. package/src/ui_components/LayerList/assets/sample_1.json +0 -26
  504. package/src/ui_components/LayerList/assets/sample_2.json +0 -22
  505. package/src/ui_components/LayerList/assets/sample_polygon_1.json +0 -33
  506. package/src/ui_components/LayerList/assets/style.json +0 -2599
  507. package/src/ui_components/LayerList/util/LayerListItemVectorLayer.tsx +0 -92
  508. package/src/ui_components/LayerList/util/LayerPropertyForm.tsx +0 -125
  509. package/src/ui_components/LayerList/util/input/ColorPicker.tsx +0 -44
  510. package/src/ui_components/LoadingOverlay.css +0 -9
  511. package/src/ui_components/LoadingOverlayContext.tsx +0 -79
  512. package/src/ui_components/MapcomponentsTheme.tsx +0 -133
  513. package/src/ui_components/Sidebar.tsx +0 -87
  514. package/src/ui_components/Tooltip.tsx +0 -17
  515. package/src/ui_components/TopToolbar.tsx +0 -24
  516. package/src/ui_components/UploadButton.tsx +0 -57
  517. package/src/util/BubbleForInstructions.js +0 -48
  518. package/src/util/Instructions.tsx +0 -60
  519. package/src/util/index.js +0 -4
  520. package/src/util/layerRemovalTest.js +0 -121
  521. package/src/util/sourceRemovalTest.js +0 -113
  522. 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
- }