@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,691 +0,0 @@
1
- import {
2
- Map,
3
- IControl,
4
- MapOptions as MapOptionsType,
5
- MapEventType,
6
- MapLayerEventType,
7
- StyleImageInterface,
8
- LayerSpecification,
9
- CustomLayerInterface,
10
- SourceSpecification,
11
- ControlPosition,
12
- StyleImageMetadata,
13
- } from 'maplibre-gl';
14
- import { Map as MapType, Style } from 'maplibre-gl';
15
-
16
- type WrapperEventArgArray = [string, (arg0: unknown) => void];
17
- type EventArgArray = [
18
- keyof MapLayerEventType | keyof MapEventType,
19
- string | ((arg0: unknown) => void),
20
- ((arg0: unknown) => void)?
21
- ];
22
- type LayerState = {
23
- id: string;
24
- type: string;
25
- visible: boolean;
26
- baseLayer: boolean;
27
- };
28
- type ViewportState = {
29
- center: { lng: number; lat: number };
30
- zoom: number;
31
- bearing: number;
32
- pitch: number;
33
- };
34
-
35
- /**
36
- * Creates a MapLibre-gl-js instance and offers all of the native MapLibre functions and properties as well as additional functionality such as element registration & cleanup and more events.
37
- *
38
- * @param {object} props
39
- *
40
- * @class
41
- */
42
-
43
- interface MapLibreGlWrapper extends MapType {
44
- addImage: (
45
- id: string,
46
- image:
47
- | HTMLImageElement
48
- | ImageBitmap
49
- | ImageData
50
- | {
51
- width: number;
52
- height: number;
53
- data: Uint8Array | Uint8ClampedArray;
54
- }
55
- | StyleImageInterface,
56
- key?: Partial<StyleImageMetadata> | string | undefined,
57
- componentId?: string | undefined
58
- ) => this;
59
- addLayer: (
60
- layer:
61
- | (LayerSpecification & {
62
- source?: string | SourceSpecification | undefined;
63
- })
64
- | (CustomLayerInterface & {
65
- source?: string | SourceSpecification | undefined;
66
- }),
67
- beforeId?: string | undefined,
68
- componentId?: string | undefined
69
- ) => this;
70
- }
71
- class MapLibreGlWrapper {
72
- registeredElements: {
73
- [key: string]: {
74
- layers: [string?];
75
- sources: [string?];
76
- images: [string?];
77
- controls: [(IControl | unknown)?];
78
- events: [EventArgArray?];
79
- wrapperEvents: [WrapperEventArgArray?];
80
- };
81
- };
82
- baseLayers: [string?];
83
- firstSymbolLayer: string | undefined;
84
- eventHandlers: {
85
- layerchange: {
86
- handler: (ev: unknown) => void;
87
- options?: object | string;
88
- }[];
89
- viewportchange: {
90
- handler: (ev: unknown) => void;
91
- }[];
92
- };
93
- wrapper: {
94
- on: (
95
- eventName: string,
96
- handler: (ev: unknown) => void,
97
- options?: object | string,
98
- componentId?: string
99
- ) => void;
100
- off: (type: string, listener: (ev: unknown) => void) => void;
101
- fire: (eventName: string, context?: unknown) => void;
102
- layerState: LayerState[];
103
- layerStateString: string;
104
- oldLayerStateStrings: object;
105
- buildLayerObject: (layer: ReturnType<Style['getLayer']>) => LayerState;
106
- buildLayerObjects: () => LayerState[];
107
- refreshLayerState: () => void;
108
- viewportState: ViewportState;
109
- viewportStateString: string;
110
- oldViewportStateString: string;
111
- getViewport: () => {
112
- center: { lng: number; lat: number };
113
- zoom: number;
114
- bearing: number;
115
- pitch: number;
116
- };
117
- refreshViewport: () => void;
118
- };
119
- initRegisteredElements: (componentId: string, force?: boolean | undefined) => void;
120
- addNativeMaplibreFunctionsAndProps: () => void;
121
- map: MapType;
122
- style: Style;
123
-
124
- styleJson: object;
125
- addSource: (id: string, source: SourceSpecification, componentId?: string | undefined) => this;
126
- addControl: (
127
- control: IControl | unknown,
128
- position?: ControlPosition | undefined,
129
- componentId?: string | undefined
130
- ) => this;
131
- on: (
132
- type: keyof MapLayerEventType | keyof MapEventType | string,
133
- layerId: string | ((ev: unknown) => void),
134
- handler?: ((ev: MapEventType & unknown) => Map | void) | string,
135
- componentId?: string | undefined
136
- ) => this;
137
- cleanup: (componentId: string) => void;
138
-
139
- constructor(props: {
140
- mapOptions: MapOptionsType;
141
- onReady: (map: MapType, context: unknown) => void;
142
- }) {
143
- // closure variable to safely point to the object context of the current MapLibreGlWrapper instance
144
- // eslint-disable-next-line @typescript-eslint/no-this-alias
145
- const self = this;
146
-
147
- // element registration and cleanup on a component level is experimental
148
- this.registeredElements = {};
149
-
150
- // array of base layer ids, all layers that have been added by the style passed to the MapLibreGl coonstructor
151
- this.baseLayers = [];
152
-
153
- // layer id of the first symbol layer
154
- this.firstSymbolLayer = undefined;
155
-
156
- // event handlers registered in MapLibreGlWrapper
157
- this.eventHandlers = {
158
- layerchange: [],
159
- viewportchange: [],
160
- };
161
-
162
- // functions and properties provided by the wrapper
163
- // Add new functions and properties introduced by the wrapper to this object to prevent collisions due to future MapLibre API changes
164
- this.wrapper = {
165
- /**
166
- * Subscribe the given event handler to an event
167
- *
168
- * @param {string} eventName
169
- * @param {function} handler
170
- * @param {object} options
171
- * @param {string} componentId
172
- * @returns {undefined}
173
- */
174
- on: (
175
- eventName: string,
176
- handler: (ev: unknown) => void,
177
- options?: object | string,
178
- componentId?: string
179
- ) => {
180
- if (!self.eventHandlers[eventName]) return;
181
-
182
- if (typeof options === 'string') {
183
- componentId = options;
184
- options = {};
185
- }
186
-
187
- self.eventHandlers[eventName].push({ handler, options });
188
-
189
- const _arguments: WrapperEventArgArray = [eventName, handler];
190
- if (componentId && typeof componentId === 'string') {
191
- self.initRegisteredElements(componentId);
192
- self.registeredElements[componentId].wrapperEvents.push(_arguments);
193
- }
194
- },
195
- /**
196
- * Unsubscribes the given event handler from an event
197
- *
198
- * @param {string} eventName
199
- * @param {function} handler
200
- * @returns {undefined}
201
- */
202
- off: (eventName, handler) => {
203
- if (!self.eventHandlers[eventName]) return;
204
-
205
- self.eventHandlers[eventName] = self.eventHandlers[eventName].filter(
206
- (item: WrapperEventArgArray) => {
207
- if (!Object.is(item[1], handler)) {
208
- return item;
209
- }
210
- return false;
211
- }
212
- );
213
- },
214
- /**
215
- * Calls all event handlers that have been subscribed to the given eventName
216
- *
217
- * @param {string} eventName
218
- * @param {object} context
219
- * @returns {undefined}
220
- */
221
- fire: (eventName, context) => {
222
- if (!self.eventHandlers[eventName]) return;
223
-
224
- const scope = context || window;
225
- const event = new Event(eventName);
226
-
227
- self.eventHandlers[eventName].forEach(function (
228
- item:
229
- | MapLibreGlWrapper['eventHandlers']['layerchange'][0]
230
- | MapLibreGlWrapper['eventHandlers']['viewportchange'][0]
231
- ) {
232
- item.handler.call(scope, event, self);
233
- });
234
- },
235
- /**
236
- * Array containing an object for each layer in the MapLibre instance providing information on visibility, loading state, order, paint & layout properties
237
- */
238
- layerState: [],
239
- /**
240
- * Maps layerIds to layerState in JSON string form for quick deep comparisons
241
- */
242
- layerStateString: '',
243
- /**
244
- * Previous Version of layerStateString
245
- */
246
- oldLayerStateStrings: {},
247
- /**
248
- * Builds the layer info object for a given layer id
249
- *
250
- * @param {string} layer
251
- * @returns object
252
- */
253
- buildLayerObject: (layer: ReturnType<Style['getLayer']>) => {
254
- //if (self.baseLayers.indexOf(layer.id) === -1) {
255
- //let paint = {};
256
- //let values = layer.paint?._values;
257
- //Object.keys(values || {}).map((propName) => {
258
- // paint[propName] =
259
- // typeof values[propName].value !== "undefined"
260
- // ? values[propName].value.value
261
- // : values[propName];
262
- //});
263
- //let layout = {};
264
- //values = layer.layout?._values;
265
- //Object.keys(values || {}).map((propName) => {
266
- // layout[propName] =
267
- // typeof values[propName].value !== "undefined"
268
- // ? values[propName].value.value
269
- // : values[propName];
270
- //});
271
- return {
272
- id: layer.id,
273
- type: layer.type,
274
- visible: layer.visibility === 'none' ? false : true,
275
- baseLayer: self.baseLayers.indexOf(layer.id) !== -1,
276
- //paint,
277
- //layout,
278
- //filter: layers[layerId].filter,
279
- //layout: layers[layerId].layout,
280
- //maxzoom: layers[layerId].maxzoom,
281
- //metadata: layers[layerId].metadata,
282
- //minzoom: layers[layerId].minzoom,
283
- //paint: layers[layerId].paint.get(),
284
- //source: layers[layerId].source,
285
- //sourceLayer: layers[layerId].sourceLayer,
286
- };
287
- //}
288
- },
289
- /**
290
- * Returns an array of layer state info objects for all layers in the MapLibre instance
291
- *
292
- * @returns array
293
- */
294
- buildLayerObjects: () => {
295
- return self.map.style._order
296
- .map((layerId: string) => {
297
- return self.wrapper.buildLayerObject(self.map.style._layers[layerId]);
298
- })
299
- .filter((n) => typeof n !== 'undefined');
300
- },
301
- /**
302
- * Updates layer state info objects
303
- */
304
- refreshLayerState: () => {
305
- self.wrapper.layerState = self.wrapper.buildLayerObjects();
306
- if (JSON.stringify(self.wrapper.layerState) !== self.wrapper.layerStateString) {
307
- self.wrapper.fire('layerchange');
308
- self.wrapper.layerStateString = JSON.stringify(self.wrapper.layerState);
309
- }
310
- },
311
- /**
312
- * Object containing information on the current viewport state
313
- */
314
- viewportState: {
315
- center: { lng: 0, lat: 0 },
316
- zoom: 0,
317
- bearing: 0,
318
- pitch: 0,
319
- },
320
- /**
321
- * The same data as viewportState in JSON string form for quick deep comparisons
322
- */
323
- viewportStateString: '{}',
324
- /**
325
- * Previous version of viewportStateString
326
- */
327
- oldViewportStateString: '{}',
328
- getViewport: () =>
329
- typeof self.map.getCenter === 'function'
330
- ? {
331
- center: (({ lng, lat }) => ({ lng, lat }))(self.map.getCenter()),
332
- zoom: self.map.getZoom(),
333
- bearing: self.map.getBearing(),
334
- pitch: self.map.getPitch(),
335
- }
336
- : {
337
- center: { lng: 0, lat: 0 },
338
- zoom: 0,
339
- bearing: 0,
340
- pitch: 0,
341
- },
342
- refreshViewport: () => {
343
- self.wrapper.viewportState = self.wrapper.getViewport();
344
- },
345
- };
346
-
347
- /**
348
- * Initializes an empty registered elements object for the given componentId
349
- *
350
- * @param {string} componentId
351
- * @param {boolean} force
352
- */
353
- this.initRegisteredElements = (componentId: string, force?: boolean | undefined) => {
354
- if (
355
- typeof self.registeredElements[componentId] === 'undefined' ||
356
- (typeof force !== 'undefined' && force)
357
- ) {
358
- self.registeredElements[componentId] = {
359
- layers: [],
360
- sources: [],
361
- images: [],
362
- events: [],
363
- controls: [],
364
- wrapperEvents: [],
365
- };
366
- }
367
- };
368
-
369
- /**
370
- * Overrides MapLibre-gl-js addLayer function providing an additional componentId parameter for the wrapper element registration.
371
- *
372
- * @param {object} layer
373
- * @param {string} beforeId
374
- * @param {string} componentId
375
- */
376
- this.addLayer = (layer, beforeId, componentId) => {
377
- if (!self.map.style) {
378
- return this;
379
- }
380
- if (componentId && typeof componentId === 'string' && typeof layer.id !== 'undefined') {
381
- self.initRegisteredElements(componentId);
382
- self.registeredElements[componentId].layers.push(layer.id);
383
-
384
- if (layer?.source && typeof layer?.source !== 'string') {
385
- self.registeredElements[componentId].sources.push(layer.id);
386
- }
387
- }
388
-
389
- self.map.addLayer(layer, beforeId);
390
- return this;
391
- };
392
-
393
- /**
394
- * Overrides MapLibre-gl-js addSource function providing an additional componentId parameter for the wrapper element registration.
395
- *
396
- * @param {string} sourceId
397
- * @param {object} source
398
- * @param {object} options
399
- * @param {string} componentId
400
- * @returns {undefined}
401
- */
402
- this.addSource = (sourceId, source, componentId) => {
403
- if (!self.map.style) {
404
- return this;
405
- }
406
- if (componentId && typeof componentId === 'string' && typeof sourceId !== 'undefined') {
407
- self.initRegisteredElements(componentId);
408
- self.registeredElements[componentId].sources.push(sourceId);
409
- }
410
-
411
- self.map.addSource(sourceId, source);
412
- return this;
413
- };
414
-
415
- /**
416
- * Overrides MapLibre-gl-js addImage function providing an additional componentId parameter for the wrapper element registration.
417
- *
418
- * @param {string} id
419
- * @param {*} image
420
- * @param {*} ref
421
- * @param {string} componentId
422
- */
423
- this.addImage = (id, image, meta, componentId) => {
424
- if (!self.map.style) {
425
- return this;
426
- }
427
- if (typeof meta === 'string' && typeof componentId === 'undefined') {
428
- return self.addImage(id, image, undefined, meta);
429
- }
430
- if (componentId && typeof componentId === 'string' && typeof id !== 'undefined') {
431
- self.initRegisteredElements(componentId);
432
- self.registeredElements[componentId].images.push(id);
433
- }
434
-
435
- self.map.addImage(id, image, meta as Partial<StyleImageMetadata> | undefined);
436
- return this;
437
- };
438
-
439
- /**
440
- * Overrides MapLibre-gl-js on function providing an additional componentId parameter for the wrapper element registration.
441
- *
442
- * @param {string} type
443
- * @param {string} layerId
444
- * @param {function} handler
445
- * @param {string} componentId
446
- */
447
- this.on = (
448
- type: keyof MapLayerEventType | keyof MapEventType,
449
- layerId: string | ((ev: unknown) => void),
450
- handler: (ev: MapEventType & unknown) => Map | void,
451
- componentId?: string
452
- ) => {
453
- if (typeof handler === 'string' && typeof layerId === 'function') {
454
- return self.on.call(self, type, undefined, layerId, handler);
455
- }
456
-
457
- let _arguments: EventArgArray = [type, layerId, handler];
458
- if (!layerId) {
459
- _arguments = [type, handler];
460
- }
461
-
462
- if (componentId && typeof componentId === 'string') {
463
- self.initRegisteredElements(componentId);
464
- self.registeredElements[componentId].events.push(_arguments);
465
- }
466
-
467
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
468
- // @ts-ignore
469
- self.map.on(..._arguments);
470
- return this;
471
- };
472
-
473
- /**
474
- * Overrides MapLibre-gl-js addControl function providing an additional componentId parameter for the wrapper element registration.
475
- *
476
- * @param {object} control
477
- * @param {string} position
478
- * @param {string} componentId
479
- */
480
- this.addControl = (control, position, componentId) => {
481
- if (componentId && typeof componentId === 'string') {
482
- self.initRegisteredElements(componentId);
483
- self.registeredElements[componentId].controls.push(control);
484
- }
485
-
486
- self.map.addControl(control as IControl, position);
487
- return this;
488
- };
489
-
490
- /**
491
- * Removes anything that has been added to the maplibre instance referenced with componentId
492
- *
493
- * @param {string} componentId
494
- */
495
- this.cleanup = (componentId: string) => {
496
- if (self.map.style && typeof self.registeredElements[componentId] !== 'undefined') {
497
- // cleanup layers
498
- self.registeredElements[componentId].layers.forEach((item: string) => {
499
- if (self.map.style.getLayer(item)) {
500
- self.map.style.removeLayer(item);
501
- }
502
- });
503
-
504
- // cleanup sources
505
- self.registeredElements[componentId].sources.forEach((item: string) => {
506
- if (self.map.style.getSource(item)) {
507
- self.map.style.removeSource(item);
508
- }
509
- });
510
-
511
- // cleanup images
512
- self.registeredElements[componentId].images.forEach((item: string) => {
513
- if (self.map.hasImage(item)) {
514
- self.map.style.removeImage(item);
515
- }
516
- });
517
-
518
- // cleanup events
519
- self.registeredElements[componentId].events.forEach((item: EventArgArray) => {
520
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
521
- // @ts-ignore
522
- self.map.off(...item);
523
- });
524
-
525
- // cleanup controls
526
- self.registeredElements[componentId].controls.forEach((item: IControl | unknown) => {
527
- self.map.removeControl(item as IControl);
528
- });
529
-
530
- // cleanup wrapper events
531
- self.registeredElements[componentId].wrapperEvents.forEach((item: WrapperEventArgArray) => {
532
- self.wrapper.off(...item);
533
- });
534
-
535
- self.initRegisteredElements(componentId, true);
536
- }
537
- };
538
-
539
- // add style prop functions that require map._update to be called afterwards
540
- const updatingStyleFunctions = [
541
- 'moveLayer',
542
- 'removeLayer',
543
- 'removeSource',
544
- 'setPaintProperty',
545
- 'setLayoutProperty',
546
- ];
547
- updatingStyleFunctions.forEach((item) => {
548
- this[item] = (...props: any[]) => {
549
- if (self.map && self.map.style && typeof self.map.style[item] === 'function') {
550
- self.map.style[item](...props);
551
- }
552
- return self.map._update ? self.map._update(true) : undefined;
553
- };
554
- });
555
-
556
- // add style prop functions
557
- const styleFunctions = [
558
- 'getLayer',
559
- 'getSource',
560
- 'listImages',
561
- 'getPaintProperty',
562
- 'getLayoutProperty',
563
- 'removeImage',
564
- ];
565
- styleFunctions.forEach((item) => {
566
- this[item] = (...props: any[]) => {
567
- if (self.map && self.map.style) {
568
- return self.map.style[item](...props);
569
- }
570
- return false;
571
- };
572
- });
573
-
574
- this.addNativeMaplibreFunctionsAndProps = () => {
575
- // add MapLibre-gl functions
576
- Object.getOwnPropertyNames(Object.getPrototypeOf(this.map)).forEach((item) => {
577
- if (typeof this[item] === 'undefined') {
578
- this[item] = (...props: any[]) => self.map[item](...props);
579
- }
580
- });
581
-
582
- // add MapLibre-gl properties
583
- Object.keys(this.map).forEach((item) => {
584
- if (typeof this[item] === 'undefined') {
585
- this[item] = self.map[item];
586
- }
587
- });
588
- };
589
-
590
- // add functions that are missing on the MapLibre instances prototype
591
- const missingFunctions = [
592
- 'getZoom',
593
- 'setZoom',
594
- 'getCenter',
595
- 'setCenter',
596
- 'getBearing',
597
- 'setBearing',
598
- 'getPitch',
599
- 'setPitch',
600
- 'jumpTo',
601
- 'flyTo',
602
- 'panTo',
603
- 'panBy',
604
- 'panBy',
605
- 'zoomTo',
606
- 'zoomIn',
607
- 'zoomOut',
608
- 'getPadding',
609
- 'setPadding',
610
- 'rotateTo',
611
- 'resetNorth',
612
- 'resetNorthPitch',
613
- 'snapToNorth',
614
- 'cameraForBounds',
615
- 'fitBounds',
616
- 'fitScreenCoordinates',
617
- 'getFreeCameraOptions',
618
- 'setFreeCameraOptions',
619
- 'easeTo',
620
- 'stop',
621
- ];
622
- missingFunctions.forEach((item) => {
623
- this[item] = (...props: any[]) => {
624
- if (typeof self.map[item] === 'function') {
625
- return self.map[item].call(self.map, ...props);
626
- }
627
- return undefined;
628
- };
629
- });
630
-
631
- // initialize the MapLibre-gl instance
632
- const initializeMapLibre = async () => {
633
- // if mapOptions style URL is given and if it is not a mapbox URL fetch the json and initialize the mapbox object
634
- if (
635
- typeof props.mapOptions.style === 'string' &&
636
- props.mapOptions.style.indexOf('mapbox://') === -1
637
- ) {
638
- await fetch(props.mapOptions.style)
639
- .then((response) => {
640
- if (response.ok) {
641
- return response.json();
642
- } else {
643
- throw new Error('error loading map style.json');
644
- }
645
- })
646
- .then((styleJson) => {
647
- styleJson.layers.forEach((item: any) => {
648
- self.baseLayers.push(item.id);
649
- if (!self.firstSymbolLayer && item.type === 'symbol') {
650
- self.firstSymbolLayer = item.id;
651
- }
652
- });
653
- self.styleJson = styleJson;
654
- props.mapOptions.style = styleJson;
655
- })
656
- .catch((error) => {
657
- console.log(error);
658
- });
659
- }
660
-
661
- self.map = new Map(props.mapOptions) as MapType;
662
- window['_map'] = self.map;
663
-
664
- self.addNativeMaplibreFunctionsAndProps();
665
- self.wrapper.refreshViewport();
666
- self.wrapper.fire('viewportchange');
667
-
668
- self.map.on('load', () => {
669
- self.addNativeMaplibreFunctionsAndProps();
670
- });
671
-
672
- self.map.on('move', () => {
673
- self.wrapper.viewportState = self.wrapper.getViewport();
674
- self.wrapper.fire('viewportchange');
675
- });
676
- self.map.on('idle', () => {
677
- self.wrapper.refreshLayerState();
678
- });
679
- self.map.on('data', () => {
680
- self.wrapper.refreshLayerState();
681
- });
682
- if (typeof props.onReady === 'function') {
683
- props.onReady(self.map, self);
684
- }
685
- };
686
- initializeMapLibre();
687
- }
688
- }
689
- export default MapLibreGlWrapper;
690
-
691
- export type { LayerState, ViewportState };