@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,63 +0,0 @@
1
- import React, { useContext, useState } from "react";
2
- import { mount, configure } from "enzyme";
3
- import { waitFor } from "@testing-library/react";
4
- import MapContext, { MapComponentsProvider } from "../../contexts/MapContext";
5
- import MlFollowGps from "./MlFollowGps";
6
- import MapLibreMap from "./../MapLibreMap/MapLibreMap";
7
-
8
- const mockGeolocation = {
9
- watchPosition: jest.fn(() => 1),
10
- clearWatch: jest.fn(),
11
- };
12
-
13
- global.navigator.geolocation = mockGeolocation;
14
-
15
- const MlFollowGPSTestComponent = (props) => {
16
- const [componentVisible, setComponentVisible] = useState(true);
17
-
18
- return (
19
- <>
20
- <MapLibreMap />
21
-
22
- {componentVisible && <MlFollowGps {...props} />}
23
-
24
- <button
25
- className="toggle_layer_visible"
26
- onClick={() => {
27
- setComponentVisible(!componentVisible);
28
- }}
29
- >
30
- toggle component
31
- </button>
32
- </>
33
- );
34
- };
35
-
36
- let testAttributes = {};
37
-
38
- describe("<MlFollowGps>", () => {
39
- it("should call navigator.geolocation.watchPosition once", async () => {
40
- const wrapper = mount(
41
- <MapComponentsProvider>
42
- <MlFollowGPSTestComponent {...testAttributes} />
43
- </MapComponentsProvider>
44
- );
45
-
46
- wrapper.find("MlFollowGps button").simulate("click");
47
- await waitFor(() => expect(mockGeolocation.watchPosition).toHaveBeenCalledTimes(1));
48
- });
49
-
50
- it("should call navigator.geolocation.clearWatch once, after MlFollowGPSButton has been pressed twice", async () => {
51
- const wrapper = mount(
52
- <MapComponentsProvider>
53
- <MlFollowGPSTestComponent {...testAttributes} />
54
- </MapComponentsProvider>
55
- );
56
-
57
- wrapper.find("MlFollowGps button").simulate("click");
58
- wrapper.find("MlFollowGps button").simulate("click");
59
- //wrapper.find(".toggle_layer_visible").simulate("click");
60
-
61
- await waitFor(() => expect(mockGeolocation.clearWatch).toHaveBeenCalledTimes(1));
62
- });
63
- });
@@ -1,241 +0,0 @@
1
- import React, { useRef, useEffect, useState, useCallback, useMemo } from "react";
2
- import useMap from "../../hooks/useMap";
3
- import MlGeoJsonLayer from "../MlGeoJsonLayer/MlGeoJsonLayer";
4
-
5
- import { Button } from '@mui/material';
6
- import GpsFixedIcon from '@mui/icons-material/GpsFixed';
7
-
8
- import { point, circle, lineArc, Feature, Point } from '@turf/turf';
9
- import { CircleLayerSpecification, FillLayerSpecification } from 'maplibre-gl';
10
-
11
- interface MlFollowGpsProps {
12
- /**
13
- * Id of the target MapLibre instance in mapContext
14
- */
15
- mapId?: string;
16
- /**
17
- * The layerId of an existing layer this layer should be rendered visually beneath
18
- * https://maplibre.org/maplibre-gl-js-docs/api/map/#map#addlayer - see "beforeId" property
19
- */
20
- insertBeforeLayer?: string;
21
- /**
22
- * By default a dot will be shown on the map at the user's location. Set to false to disable.
23
- */
24
- showUserLocation?: boolean;
25
- /**
26
- * By default a cone will be shown on the map at the user's location to indicate the device's orientation.
27
- * Set to false to disable.
28
- */
29
- showOrientation?: boolean;
30
- /**
31
- * By default, if showUserLocation is true, a transparent circle will be drawn around the user location
32
- * indicating the accuracy (95% confidence level) of the user's location. Set to false to disable.
33
- */
34
- showAccuracyCircle?: boolean;
35
- /**
36
- * Use the MapLibre.flyTo function to center the map to the current users position if true.
37
- * Otherwise the MapLibre.setCenter function is used.
38
- */
39
- useFlyTo?: boolean;
40
- /**
41
- * Center map to current position once updated location data is recieved.
42
- * "false" will center the map once on component activation and then display the updated user location on the map.
43
- */
44
- centerUserPosition?: boolean;
45
- /**
46
- * Orientation cone paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the orientation cone polygon.
47
- * Use any available paint prop from layer type "fill".
48
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
49
- */
50
- orientationConePaint?: FillLayerSpecification['paint'];
51
- /**
52
- * Position circle paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the position circle.
53
- * Use any available paint prop from layer type "circle".
54
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
55
- */
56
- circlePaint?: CircleLayerSpecification['paint'];
57
- /**
58
- * Active button font color
59
- */
60
- onColor?: string;
61
- /**
62
- * Inactive button font color
63
- */
64
- offColor?: string;
65
- /**
66
- * Accuracy paint property object, that is passed to the MlGeoJsonLayer responsible for drawing the accuracy polygon.
67
- * Use any available paint prop from layer type "fill".
68
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
69
- */
70
- accuracyPaint?: FillLayerSpecification['paint'];
71
- }
72
-
73
- /**
74
- * Adds a button that makes the map follow the users GPS position using
75
- * navigator.geolocation.watchPosition if activated
76
- *
77
- */
78
- const MlFollowGps = (props: MlFollowGpsProps) => {
79
- const mapHook = useMap({
80
- mapId: props.mapId,
81
- waitForLayer: props.insertBeforeLayer,
82
- });
83
-
84
- const [isFollowed, setIsFollowed] = useState(false);
85
- const [userLocationGeoJson, setUserLocationGeoJson] = useState<Feature<Point>>();
86
- const [locationAccessDenied, setLocationAccessDenied] = useState(false);
87
- const [accuracyGeoJson, setAccuracyGeoJson] = useState<Feature>();
88
- const [deviceOrientation, setDeviceOrientation] = useState(0);
89
- const initiallyCentered = useRef(false);
90
-
91
- const getLocationSuccess = useCallback(
92
- (pos: GeolocationPosition) => {
93
- if (!mapHook.map) return;
94
-
95
- if ((!props.centerUserPosition && !initiallyCentered.current) || props.centerUserPosition) {
96
- if (props.useFlyTo) {
97
- mapHook.map.map.flyTo({
98
- center: [pos.coords.longitude, pos.coords.latitude],
99
- zoom: 18,
100
- speed: 1,
101
- curve: 1,
102
- });
103
- } else {
104
- mapHook.map.map.setCenter([pos.coords.longitude, pos.coords.latitude]);
105
- }
106
-
107
- initiallyCentered.current = true;
108
- }
109
- if (!props.showUserLocation) return;
110
- const geoJsonPoint = point([pos.coords.longitude, pos.coords.latitude]);
111
- setUserLocationGeoJson(geoJsonPoint);
112
- setAccuracyGeoJson(circle(geoJsonPoint, pos.coords.accuracy / 1000));
113
- },
114
- [mapHook.map, props]
115
- );
116
-
117
- const getLocationError = () => {
118
- console.log('Access of user location denied');
119
- setLocationAccessDenied(true);
120
- };
121
-
122
- const orientationCone = useMemo(() => {
123
- if (!userLocationGeoJson) {
124
- return undefined;
125
- }
126
- const radius = 0.02;
127
- const bearing1 = deviceOrientation - 15;
128
- const bearing2 = deviceOrientation + 15;
129
- const options = { steps: 65 };
130
- const arc = lineArc(userLocationGeoJson, radius, bearing1, bearing2, options);
131
- const copy = arc;
132
- copy.geometry.coordinates.push(userLocationGeoJson.geometry.coordinates);
133
- copy.geometry.coordinates.slice(0, 0);
134
- return copy;
135
- }, [deviceOrientation, userLocationGeoJson]);
136
-
137
- const handleOrientation = (event: DeviceOrientationEvent) => {
138
- if (event?.alpha) {
139
- setDeviceOrientation(-event.alpha);
140
- }
141
- };
142
-
143
- useEffect(() => {
144
- if (isFollowed) {
145
- const _handleOrientation = handleOrientation;
146
- window.addEventListener('deviceorientation', _handleOrientation);
147
- return () => {
148
- window.removeEventListener('deviceorientation', _handleOrientation);
149
- };
150
- } else {
151
- initiallyCentered.current = false;
152
- }
153
- return;
154
- }, [isFollowed]);
155
-
156
- useEffect(() => {
157
- if (!mapHook.map) return;
158
-
159
- if (isFollowed) {
160
- const _watchId = navigator.geolocation.watchPosition(getLocationSuccess, getLocationError);
161
-
162
- return () => {
163
- navigator.geolocation.clearWatch(_watchId);
164
- };
165
- }
166
- return;
167
- }, [mapHook.map, isFollowed, getLocationSuccess]);
168
-
169
- return (
170
- <>
171
- {isFollowed && userLocationGeoJson && (
172
- <MlGeoJsonLayer
173
- geojson={accuracyGeoJson}
174
- type={'fill'}
175
- paint={{
176
- 'fill-color': '#cbd300',
177
- 'fill-opacity': 0.3,
178
- ...props.accuracyPaint,
179
- }}
180
- insertBeforeLayer={props.insertBeforeLayer}
181
- />
182
- )}
183
-
184
- {isFollowed && orientationCone && (
185
- <MlGeoJsonLayer
186
- geojson={orientationCone}
187
- type={'fill'}
188
- paint={{
189
- 'fill-color': '#0000ff',
190
- 'fill-antialias': false,
191
- 'fill-opacity': 0.3,
192
- ...props.orientationConePaint,
193
- }}
194
- insertBeforeLayer={props.insertBeforeLayer}
195
- />
196
- )}
197
-
198
- {isFollowed && userLocationGeoJson && (
199
- <MlGeoJsonLayer
200
- geojson={userLocationGeoJson}
201
- type={'circle'}
202
- paint={{
203
- 'circle-color': '#009ee0',
204
- 'circle-radius': 5,
205
- 'circle-stroke-color': '#fafaff',
206
- 'circle-stroke-width': 1,
207
- ...props.circlePaint,
208
- }}
209
- insertBeforeLayer={props.insertBeforeLayer}
210
- />
211
- )}
212
-
213
- <Button
214
- variant="navtools"
215
- sx={{
216
- zIndex: 1002,
217
- color: isFollowed ? props.onColor : props.offColor,
218
- }}
219
- disabled={locationAccessDenied}
220
- onClick={() => {
221
- setIsFollowed(!isFollowed);
222
- }}
223
- >
224
- <GpsFixedIcon sx={{ fontSize: { xs: '1.4em', md: '1em' } }} />
225
- </Button>
226
- </>
227
- );
228
- };
229
-
230
- MlFollowGps.defaultProps = {
231
- mapId: undefined,
232
- onColor: '#ececec',
233
- offColor: '#666',
234
- showAccuracyCircle: true,
235
- showUserLocation: true,
236
- showOrientation: true,
237
- centerUserPosition: true,
238
- useFlyTo: false,
239
- };
240
-
241
- export default MlFollowGps;
@@ -1 +0,0 @@
1
- Stellt GeoJSON Objekte dar
@@ -1 +0,0 @@
1
- Presents GeoJSON objects.
@@ -1,14 +0,0 @@
1
- {
2
- "name": "MlGeoJsonLayer",
3
- "title": "GeoJSON layer",
4
- "description": "",
5
- "i18n": {
6
- "de": {
7
- "title": "GeoJSON Darstellung",
8
- "description": ""
9
- }
10
- },
11
- "tags": [],
12
- "category": "",
13
- "type": "component"
14
- }
@@ -1,191 +0,0 @@
1
- import React, { useRef, useEffect } from 'react';
2
- import MlGeoJsonLayer from './MlGeoJsonLayer';
3
- import useMap from '../../hooks/useMap';
4
- import mapContextDecorator from '../../decorators/MapContextDecorator';
5
- import PolygonStyler from './story_utils/MlGeoJsonLayer.polygonStyler';
6
- import LineStyler from './story_utils/MlGeoJsonLayer.lineStyler';
7
- import HeatMapStyler from './story_utils/MlGeojsonLayerHeatMapStyler';
8
- import sample_geojson_1 from './assets/sample_1.json';
9
- import sample_geojson_2 from './assets/sample_2.json';
10
- import earthquakes from './assets/earthquake.json';
11
- import wg_locations from './assets/wg_locations.json';
12
- import { GeoJSONObject } from '@turf/turf';
13
- import { MlGeoJsonLayerProps } from './MlGeoJsonLayer';
14
- import CircleMapStyler from './story_utils/MlGeojsonLayerCircleStyler';
15
-
16
- const storyoptions = {
17
- title: 'MapComponents/MlGeoJsonLayer',
18
- component: MlGeoJsonLayer,
19
-
20
- argTypes: {},
21
-
22
- decorators: mapContextDecorator,
23
- };
24
- export default storyoptions;
25
-
26
- interface TemplateProps {
27
- geojson: GeoJSONObject;
28
- mapId: string;
29
- type: string;
30
- }
31
-
32
- const Template = (props: TemplateProps) => {
33
- const mapHook = useMap({
34
- mapId: undefined,
35
- });
36
-
37
- const initializedRef = useRef(false);
38
-
39
- useEffect(() => {
40
- if (!mapHook.map || initializedRef.current) return;
41
-
42
- initializedRef.current = true;
43
- mapHook.map.map.flyTo({ center: [7.100175528281227, 50.73487992742369], zoom: 15 });
44
- }, [mapHook.map]);
45
-
46
- return (
47
- <>
48
- <LineStyler {...props} />
49
- </>
50
- );
51
- };
52
- const PolygonTemplate = (props: TemplateProps) => {
53
- const mapHook = useMap({
54
- mapId: undefined,
55
- });
56
-
57
- const initializedRef = useRef(false);
58
-
59
- useEffect(() => {
60
- if (!mapHook.map || initializedRef.current) return;
61
-
62
- initializedRef.current = true;
63
- mapHook.map.map.flyTo({ center: [7.100175528281227, 50.73487992742369], zoom: 15 });
64
- }, [mapHook.map]);
65
-
66
- return (
67
- <>
68
- <PolygonStyler {...props} />
69
- </>
70
- );
71
- };
72
-
73
- const HeatmapTemplate = (props: MlGeoJsonLayerProps) => {
74
- const mapHook = useMap({
75
- mapId: undefined,
76
- });
77
-
78
- const initializedRef = useRef(false);
79
-
80
- useEffect(() => {
81
- if (!mapHook.map || initializedRef.current) return;
82
-
83
- initializedRef.current = true;
84
- mapHook.map.map.flyTo({ center: [-150.4048, 63.1224], zoom: 3 });
85
- }, [mapHook.map]);
86
-
87
- return <HeatMapStyler {...props} />;
88
- };
89
- const CircleTemplate = (props: MlGeoJsonLayerProps) => {
90
- const mapHook = useMap({
91
- mapId: undefined,
92
- });
93
-
94
- const initializedRef = useRef(false);
95
-
96
- useEffect(() => {
97
- if (!mapHook.map || initializedRef.current) return;
98
-
99
- initializedRef.current = true;
100
- mapHook.map.map.flyTo({ center: [10.251805123900311, 51.11826171422632], zoom: 5 });
101
- }, [mapHook.map]);
102
-
103
- return <CircleMapStyler {...props} />;
104
- };
105
-
106
- export const Linestring = Template.bind({});
107
- Linestring.parameters = {};
108
- Linestring.args = {
109
- geojson: sample_geojson_2,
110
- mapId: 'Map_1',
111
- /*paint:{
112
- "stroke-color": 'rgba(123,20,80)',
113
- "fill-opacity": 0
114
- },*/
115
- type: 'line',
116
- };
117
-
118
- export const Polygon = PolygonTemplate.bind({});
119
-
120
- Polygon.args = {
121
- geojson: sample_geojson_1,
122
- };
123
-
124
- export const DefaultPaintOverrides = Template.bind({});
125
- DefaultPaintOverrides.parameters = {};
126
- DefaultPaintOverrides.args = {
127
- defaultPaintOverrides: {
128
- fill: {
129
- 'fill-color': 'blue',
130
- },
131
- circle: {
132
- 'circle-color': 'red',
133
- },
134
- line: {
135
- 'line-color': 'black',
136
- },
137
- },
138
- geojson: sample_geojson_1,
139
- type: '',
140
- };
141
-
142
- export const HeatMapEarthquakes = HeatmapTemplate.bind({});
143
- HeatMapEarthquakes.parameters = {};
144
- HeatMapEarthquakes.args = {
145
- geojson: earthquakes,
146
- options: {
147
- // paint examples copied from https://maplibre.org/maplibre-gl-js-docs/example/heatmap-layer/
148
- paint: {
149
- // Increase the heatmap weight based on frequency and property magnitude
150
- 'heatmap-weight': ['interpolate', ['linear'], ['get', 'mag'], 0, 0, 6, 1],
151
- // Increase the heatmap color weight by zoom level
152
- // heatmap-intensity is a multiplier on top of heatmap-weight
153
- 'heatmap-intensity': ['interpolate', ['linear'], ['zoom'], 0, 1, 9, 3],
154
- // Color ramp for heatmap. Domain is 0 (low) to 1 (high).
155
- // Begin color ramp at 0-stop with a 0-transparancy color
156
- // to create a blur-like effect.
157
- 'heatmap-color': [
158
- 'interpolate',
159
- ['linear'],
160
- ['heatmap-density'],
161
- 0,
162
- 'rgba(33,102,172,0)',
163
- 0.2,
164
- 'rgb(103,169,207)',
165
- 0.4,
166
- 'rgb(209,229,240)',
167
- 0.6,
168
- 'rgb(253,219,199)',
169
- 0.8,
170
- 'rgb(239,138,98)',
171
- 1,
172
- 'rgb(178,24,43)',
173
- ],
174
- // Adjust the heatmap radius by zoom level
175
- 'heatmap-radius': ['interpolate', ['linear'], ['zoom'], 0, 2, 9, 20],
176
- // Transition from heatmap to circle layer by zoom level
177
- 'heatmap-opacity': ['interpolate', ['linear'], ['zoom'], 7, 1, 9, 0],
178
- },
179
- },
180
- type: 'heatmap',
181
- };
182
- export const CircleMapWheregroupLocations = CircleTemplate.bind({});
183
- CircleMapWheregroupLocations.parameters = {};
184
- CircleMapWheregroupLocations.args = {
185
- geojson: wg_locations,
186
- paint: {
187
- 'circle-radius': ['/', ['get', 'Mitarbeitende'], 1.2],
188
- 'circle-color': '#B11E40',
189
- },
190
- type: 'circle',
191
- };
@@ -1,20 +0,0 @@
1
- import { layerRemovalTest, sourceRemovalTest } from "../../util";
2
-
3
- import MlGeoJsonLayer from "./MlGeoJsonLayer";
4
- import geojson from "./assets/sample_1.json";
5
- import { uuid_regex } from "../../setupTests";
6
-
7
- const testComponent = <MlGeoJsonLayer type="line" geojson={geojson} />;
8
-
9
- layerRemovalTest(
10
- "<MlGeoJsonLayer />",
11
- testComponent,
12
- new RegExp('^.*"MlGeoJsonLayer-' + uuid_regex + '".*$'),
13
- "MlGeoJsonLayer-{uuid}"
14
- );
15
- sourceRemovalTest(
16
- "<MlGeoJsonLayer />",
17
- testComponent,
18
- new RegExp('^.*"MlGeoJsonLayer-' + uuid_regex + '".*$'),
19
- "MlGeoJsonLayer-{uuid}"
20
- );
@@ -1,128 +0,0 @@
1
- import React from 'react';
2
-
3
- import useLayer from '../../hooks/useLayer';
4
-
5
- import { v4 as uuidv4 } from 'uuid';
6
-
7
- import getDefaultPaintPropsByType from './util/getDefaultPaintPropsByType';
8
- import getDefaulLayerTypeByGeometry from './util/getDefaultLayerTypeByGeometry';
9
- import { Feature, FeatureCollection } from '@turf/turf';
10
- import { useLayerProps } from '../../hooks/useLayer';
11
-
12
- import {
13
- LineLayerSpecification,
14
- CircleLayerSpecification,
15
- FillLayerSpecification,
16
- LayerSpecification,
17
- RasterLayerSpecification,
18
- } from 'maplibre-gl';
19
-
20
- export type MlGeoJsonLayerProps = {
21
- /**
22
- * Id of the target MapLibre instance in mapContext
23
- */
24
- mapId?: string;
25
- /**
26
- * Id of an existing layer in the mapLibre instance to help specify the layer order
27
- * This layer will be visually beneath the layer with the "insertBeforeLayer" id.
28
- * This layer will not be added to the maplibre-gl instance until a layer with an
29
- * id that matches the value of insertBeforeLayer is created.
30
- */
31
- insertBeforeLayer?: string;
32
- /**
33
- * Id of the new layer and source that are added to the MapLibre instance
34
- */
35
- layerId?: string;
36
- /**
37
- * GeoJSON data that is supposed to be rendered by this component.
38
- */
39
- geojson: Feature | FeatureCollection | undefined;
40
- /**
41
- * Type of the layer that will be added to the MapLibre instance.
42
- * All types from LayerSpecification union type are supported except the type from
43
- * RasterLayerSpecification
44
- */
45
- type?: Exclude<LayerSpecification['type'], RasterLayerSpecification['type']>;
46
- /**
47
- * Paint property object, that is passed to the addLayer call.
48
- * Possible props depend on the layer type.
49
- * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/
50
- * Some examples are:
51
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line
52
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
53
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
54
- * All paint types from LayerSpecification union type are supported except the paint type from
55
- * RasterLayerSpecification
56
- */
57
-
58
- paint?: Exclude<LayerSpecification['paint'], RasterLayerSpecification['paint']>;
59
- /**
60
- * Layout property object, that is passed to the addLayer call.
61
- * Possible props depend on the layer type.
62
- * See https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/
63
- * Some examples are:
64
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#line
65
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
66
- * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
67
- * All layout types from LayerSpecification union type are supported except the layout type from
68
- * RasterLayerSpecification
69
-
70
- */
71
- layout?: Exclude<LayerSpecification['layout'], RasterLayerSpecification['layout']>;
72
-
73
- /**
74
- * Javascript object that is spread into the addLayer commands first parameter.
75
- */
76
- options?: Exclude<LayerSpecification, RasterLayerSpecification>;
77
- /**
78
- * Javascript object with optional properties "fill", "line", "circle" to override implicit layer type default paint properties.
79
- */
80
- defaultPaintOverrides?: {
81
- circle?: CircleLayerSpecification['paint'];
82
- fill?: FillLayerSpecification['paint'];
83
- line?: LineLayerSpecification['paint'];
84
- };
85
- /**
86
- * Hover event handler that is executed whenever a geometry rendered by this component is hovered.
87
- */
88
- onHover?: useLayerProps['onHover'];
89
- /**
90
- * Click event handler that is executed whenever a geometry rendered by this component is clicked.
91
- */
92
- onClick?: useLayerProps['onClick'];
93
- /**
94
- * Leave event handler that is executed whenever a geometry rendered by this component is
95
- * left/unhovered.
96
- */
97
- onLeave?: useLayerProps['onLeave'];
98
- };
99
-
100
- /**
101
- * Adds source and layer to display GeoJSON data on the map.
102
- *
103
- * @component
104
- */
105
-
106
- const MlGeoJsonLayer = (props: MlGeoJsonLayerProps) => {
107
- const layerType = props.type || getDefaulLayerTypeByGeometry(props.geojson);
108
- // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
109
- useLayer({
110
- mapId: props.mapId,
111
- layerId: props.layerId || 'MlGeoJsonLayer-' + uuidv4(),
112
- geojson: props.geojson,
113
- options: {
114
- paint: props.paint || getDefaultPaintPropsByType(layerType, props.defaultPaintOverrides),
115
- layout: props.layout || {},
116
- ...props.options,
117
- type: layerType as LayerSpecification['type'],
118
- } as Partial<LayerSpecification>,
119
- insertBeforeLayer: props.insertBeforeLayer,
120
- onHover: props.onHover,
121
- onClick: props.onClick,
122
- onLeave: props.onLeave,
123
- });
124
-
125
- return <></>;
126
- };
127
-
128
- export default MlGeoJsonLayer;