@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,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 };