@mapcomponents/react-maplibre 0.1.34 → 0.1.35

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 (305) hide show
  1. package/.babelrc +3 -0
  2. package/.github/workflows/storybook.yml +1 -1
  3. package/.storybook/.babelrc +26 -0
  4. package/.storybook/main.js +15 -1
  5. package/.storybook/mapcomponents_logo.png +0 -0
  6. package/CHANGELOG.md +6 -1
  7. package/config/env.js +106 -0
  8. package/config/getHttpsConfig.js +66 -0
  9. package/config/jest/babelTransform.js +29 -0
  10. package/config/jest/cssTransform.js +14 -0
  11. package/config/jest/fileTransform.js +40 -0
  12. package/config/modules.js +134 -0
  13. package/config/paths.js +75 -0
  14. package/config/pnpTs.js +35 -0
  15. package/config/webpack.config.js +757 -0
  16. package/config/webpackDevServer.config.js +130 -0
  17. package/coverage/clover.xml +822 -900
  18. package/coverage/coverage-final.json +23 -24
  19. package/coverage/lcov-report/index.html +135 -150
  20. package/coverage/lcov-report/src/components/MapLibreMap/{MapLibreMap.js.html → MapLibreMap.tsx.html} +77 -68
  21. package/coverage/lcov-report/src/components/MapLibreMap/index.html +6 -6
  22. package/coverage/lcov-report/src/components/MlCreatePdfButton/{MlCreatePdfButton.js.html → MlCreatePdfButton.tsx.html} +40 -43
  23. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +10 -10
  24. package/coverage/lcov-report/src/components/MlFeatureEditor/{MlFeatureEditor.js.html → MlFeatureEditor.tsx.html} +145 -85
  25. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +21 -21
  26. package/coverage/lcov-report/src/components/{MlImageMarkerLayer/MlImageMarkerLayer.js.html → MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html} +141 -111
  27. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +20 -20
  28. package/coverage/lcov-report/src/components/MlFollowGps/{MlFollowGps.js.html → MlFollowGps.tsx.html} +177 -138
  29. package/coverage/lcov-report/src/components/MlFollowGps/index.html +15 -15
  30. package/coverage/lcov-report/src/components/MlGPXViewer/{MlGPXViewer.js.html → MlGPXViewer.tsx.html} +134 -80
  31. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  32. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +16 -16
  33. package/coverage/lcov-report/src/components/{MlLayer/MlLayer.js.html → MlGeoJsonLayer/MlGeoJsonLayer.tsx.html} +151 -154
  34. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +19 -19
  35. package/coverage/lcov-report/src/components/{MlFillExtrusionLayer/MlFillExtrusionLayer.js.html → MlImageMarkerLayer/MlImageMarkerLayer.tsx.html} +151 -223
  36. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +16 -16
  37. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +229 -0
  38. package/coverage/lcov-report/src/components/MlLayer/index.html +21 -21
  39. package/coverage/lcov-report/src/components/MlLayerMagnify/{MlLayerMagnify.js.html → MlLayerMagnify.tsx.html} +134 -77
  40. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +20 -20
  41. package/coverage/lcov-report/src/components/MlLayerSwipe/{MlLayerSwipe.js.html → MlLayerSwipe.tsx.html} +83 -41
  42. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +2 -2
  43. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +3 -15
  44. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  45. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  46. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlMarker/{MlMarker.js.html → MlMarker.tsx.html} +89 -137
  48. package/coverage/lcov-report/src/components/MlMarker/index.html +10 -10
  49. package/coverage/lcov-report/src/components/MlNavigationCompass/{MlNavigationCompass.js.html → MlNavigationCompass.tsx.html} +76 -25
  50. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +17 -17
  51. package/coverage/lcov-report/src/components/MlNavigationTools/{MlNavigationTools.js.html → MlNavigationTools.tsx.html} +67 -52
  52. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +10 -10
  53. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  54. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  55. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  56. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  57. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  58. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +3 -3
  60. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  61. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +5 -5
  62. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  63. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js.html → MlTransitionGeoJsonLayer.tsx.html} +127 -118
  64. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +11 -11
  65. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  66. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  67. package/coverage/lcov-report/src/components/MlVectorTileLayer/{MlVectorTileLayer.js.html → MlVectorTileLayer.tsx.html} +59 -11
  68. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +2 -2
  69. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  70. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  71. package/coverage/lcov-report/src/components/MlWmsLayer/{MlWmsLayer.js.html → MlWmsLayer.tsx.html} +56 -11
  72. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +2 -2
  73. package/coverage/lcov-report/src/components/MlWmsLoader/{MlWmsLoader.js.html → MlWmsLoader.tsx.html} +102 -78
  74. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +8 -8
  75. package/coverage/lcov-report/src/hooks/index.html +44 -29
  76. package/coverage/lcov-report/src/{components/MlGeoJsonLayer/MlGeoJsonLayer.js.html → hooks/useLayer.ts.html} +328 -184
  77. package/coverage/lcov-report/src/hooks/{useMap.js.html → useMap.ts.html} +140 -50
  78. package/coverage/lcov-report/src/hooks/{useMapState.js.html → useMapState.ts.html} +166 -61
  79. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  80. package/coverage/lcov-report/src/index.html +15 -15
  81. package/coverage/lcov-report/src/{i18n.js.html → index.ts.html} +50 -32
  82. package/coverage/lcov.info +1540 -1669
  83. package/dist/index.esm.css +195 -0
  84. package/dist/index.esm.js +17049 -4280
  85. package/dist/index.esm.js.map +1 -1
  86. package/docs-build/0.d0c23b79.iframe.bundle.js +2 -0
  87. package/docs-build/0.d0c23b79.iframe.bundle.js.map +1 -0
  88. package/docs-build/0.fd1aa3ea21956d993519.manager.bundle.js +1 -0
  89. package/docs-build/1.34075652.iframe.bundle.js +10 -0
  90. package/docs-build/1.34075652.iframe.bundle.js.map +1 -0
  91. package/docs-build/16.ca488dae.iframe.bundle.js +2 -0
  92. package/docs-build/16.ca488dae.iframe.bundle.js.map +1 -0
  93. package/docs-build/17.e40eac7f.iframe.bundle.js +17 -0
  94. package/docs-build/17.e40eac7f.iframe.bundle.js.map +1 -0
  95. package/docs-build/18.62af0912.iframe.bundle.js +14 -0
  96. package/docs-build/18.62af0912.iframe.bundle.js.map +1 -0
  97. package/docs-build/19.0a217189.iframe.bundle.js +2 -0
  98. package/docs-build/19.0a217189.iframe.bundle.js.map +1 -0
  99. package/docs-build/2.f15ae19a.iframe.bundle.js +2 -0
  100. package/docs-build/2.f15ae19a.iframe.bundle.js.map +1 -0
  101. package/docs-build/20.4c43e27c.iframe.bundle.js +4 -0
  102. package/docs-build/20.4c43e27c.iframe.bundle.js.map +1 -0
  103. package/docs-build/21.19c21085.iframe.bundle.js +22 -0
  104. package/docs-build/21.19c21085.iframe.bundle.js.map +1 -0
  105. package/docs-build/3.5dd9e88b.iframe.bundle.js +2 -0
  106. package/docs-build/3.5dd9e88b.iframe.bundle.js.map +1 -0
  107. package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js +2 -0
  108. package/docs-build/4.f741dafe1833630ec8bf.manager.bundle.js.LICENSE.txt +8 -0
  109. package/docs-build/5.d4de191e7daeefb036ca.manager.bundle.js +1 -0
  110. package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js +2 -0
  111. package/docs-build/6.2b178c5444648ee5c0fa.manager.bundle.js.LICENSE.txt +12 -0
  112. package/docs-build/7.7c16aea8ec7ea6e91994.manager.bundle.js +1 -0
  113. package/docs-build/8.52fa838fdf937b29676a.manager.bundle.js +1 -0
  114. package/docs-build/assets/dop.png +0 -0
  115. package/docs-build/assets/historic.png +0 -0
  116. package/docs-build/assets/marker.png +0 -0
  117. package/docs-build/assets/osm.png +0 -0
  118. package/docs-build/assets/sample.gpx +716 -0
  119. package/docs-build/{.gitkeep → catalogue/.gitkeep} +0 -0
  120. package/docs-build/catalogue/mc_meta.json +1 -0
  121. package/docs-build/favicon.ico +0 -0
  122. package/docs-build/iframe.html +348 -0
  123. package/docs-build/index.html +59 -0
  124. package/docs-build/logo.png +0 -0
  125. package/docs-build/main.8a7ec710ea1c16b5e13f.manager.bundle.js +1 -0
  126. package/docs-build/main~24120820.ba6665a8.iframe.bundle.js +2 -0
  127. package/docs-build/main~24120820.ba6665a8.iframe.bundle.js.map +1 -0
  128. package/docs-build/manifest.json +25 -0
  129. package/docs-build/robots.txt +3 -0
  130. package/docs-build/runtime~main.67aa1de2d72f40a81164.manager.bundle.js +1 -0
  131. package/docs-build/static/media/mapcomponents_logo.98b01a05.png +0 -0
  132. package/docs-build/static/media/wg-marker.bf3eeb2d.png +0 -0
  133. package/docs-build/stories.json +331 -0
  134. package/docs-build/thumbnails/MapLibreMap.png +0 -0
  135. package/docs-build/thumbnails/MlCameraFollowPath.png +0 -0
  136. package/docs-build/thumbnails/MlCreatePdfButton.png +0 -0
  137. package/docs-build/thumbnails/MlDeckGlLayer.png +0 -0
  138. package/docs-build/thumbnails/MlDeckGlTerrainLayer.png +0 -0
  139. package/docs-build/thumbnails/MlDemoDashboard.png +0 -0
  140. package/docs-build/thumbnails/MlFeatureEditor.png +0 -0
  141. package/docs-build/thumbnails/MlFillExtrusionLayer.png +0 -0
  142. package/docs-build/thumbnails/MlFollowGps.png +0 -0
  143. package/docs-build/thumbnails/MlGPXViewer.png +0 -0
  144. package/docs-build/thumbnails/MlGeoJsonLayer.png +0 -0
  145. package/docs-build/thumbnails/MlHillshadeLayer.png +0 -0
  146. package/docs-build/thumbnails/MlIconLayer.png +0 -0
  147. package/docs-build/thumbnails/MlLaermkarte.png +0 -0
  148. package/docs-build/thumbnails/MlLayerMagnify.png +0 -0
  149. package/docs-build/thumbnails/MlLayerSwipe.png +0 -0
  150. package/docs-build/thumbnails/MlMapDrawTools.png +0 -0
  151. package/docs-build/thumbnails/MlMobilerImker.png +0 -0
  152. package/docs-build/thumbnails/MlNavigationCompass.png +0 -0
  153. package/docs-build/thumbnails/MlNavigationTools.png +0 -0
  154. package/docs-build/thumbnails/MlOsmLayer.png +0 -0
  155. package/docs-build/thumbnails/MlScaleReference.png +0 -0
  156. package/docs-build/thumbnails/MlSpatialElevationProfile.png +0 -0
  157. package/docs-build/thumbnails/MlThreeJsLayer.png +0 -0
  158. package/docs-build/thumbnails/MlTransitionGeoJsonLayer.png +0 -0
  159. package/docs-build/thumbnails/MlVectorTileLayer.png +0 -0
  160. package/docs-build/thumbnails/MlWanderApp.png +0 -0
  161. package/docs-build/thumbnails/MlWmsLayer.png +0 -0
  162. package/docs-build/thumbnails/MlWmsLoader.png +0 -0
  163. package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js +2 -0
  164. package/docs-build/vendors~main.351900838c49e9200954.manager.bundle.js.LICENSE.txt +101 -0
  165. package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js +8 -0
  166. package/docs-build/vendors~main~0ad7406a.a6abfed7.iframe.bundle.js.map +1 -0
  167. package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js +2 -0
  168. package/docs-build/vendors~main~0f485567.1d7a15b7.iframe.bundle.js.map +1 -0
  169. package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js +2 -0
  170. package/docs-build/vendors~main~41a6ab2c.525ecc56.iframe.bundle.js.map +1 -0
  171. package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js +8 -0
  172. package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js.map +1 -0
  173. package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js +293 -0
  174. package/docs-build/vendors~main~73914085.227c6747.iframe.bundle.js.map +1 -0
  175. package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js +7 -0
  176. package/docs-build/vendors~main~9c5b28f6.f02cc741.iframe.bundle.js.map +1 -0
  177. package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js +21 -0
  178. package/docs-build/vendors~main~b5906859.4083ac60.iframe.bundle.js.map +1 -0
  179. package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js +89 -0
  180. package/docs-build/vendors~main~b8f44717.7a612c34.iframe.bundle.js.map +1 -0
  181. package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js +68 -0
  182. package/docs-build/vendors~main~b9cf3951.45da142d.iframe.bundle.js.map +1 -0
  183. package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js +2 -0
  184. package/docs-build/vendors~main~d939e436.92c27fbf.iframe.bundle.js.map +1 -0
  185. package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js +107 -0
  186. package/docs-build/vendors~main~dab50aa4.b0d58038.iframe.bundle.js.map +1 -0
  187. package/package.json +132 -115
  188. package/public/favicon.ico +0 -0
  189. package/public/logo.png +0 -0
  190. package/rollup.config.js +26 -3
  191. package/scripts/start.js +166 -0
  192. package/scripts/test.js +53 -0
  193. package/src/components/MapLibreMap/MapLibreMap.stories.js +14 -5
  194. package/src/components/MapLibreMap/MapLibreMap.test.js +1 -1
  195. package/src/components/MapLibreMap/{MapLibreMap.js → MapLibreMap.tsx} +40 -37
  196. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +3 -3
  197. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +636 -0
  198. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +0 -2
  199. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +42 -0
  200. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +0 -5
  201. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +51 -0
  202. package/src/components/MlCreatePdfButton/lib/{createPdf.js → createPdf.ts} +26 -23
  203. package/src/components/MlCreatePdfButton/lib/{nominatimMap.js → nominatimMap.ts} +3 -3
  204. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +139 -0
  205. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +12 -8
  206. package/src/components/MlFeatureEditor/custom-polygon-mode.js +9 -5
  207. package/src/components/MlFeatureEditor/custom-select-mode.js +11 -7
  208. package/src/components/MlFeatureEditor/lib/LICENSE.md +18 -0
  209. package/src/components/MlFeatureEditor/lib/common_selectors.js +4 -0
  210. package/src/components/MlFeatureEditor/lib/constants.js +4 -0
  211. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +4 -0
  212. package/src/components/MlFeatureEditor/lib/create_midpoint.js +4 -0
  213. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +4 -0
  214. package/src/components/MlFeatureEditor/lib/create_vertex.js +4 -0
  215. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +4 -0
  216. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +4 -0
  217. package/src/components/MlFeatureEditor/lib/features_at.js +4 -0
  218. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +4 -0
  219. package/src/components/MlFeatureEditor/lib/is_click.js +4 -0
  220. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +4 -0
  221. package/src/components/MlFeatureEditor/lib/is_tap.js +4 -0
  222. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -0
  223. package/src/components/MlFeatureEditor/lib/mode_handler.js +4 -0
  224. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +4 -0
  225. package/src/components/MlFeatureEditor/lib/move_features.js +4 -0
  226. package/src/components/MlFeatureEditor/lib/sort_features.js +4 -0
  227. package/src/components/MlFeatureEditor/lib/string_set.js +4 -0
  228. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +4 -0
  229. package/src/components/MlFeatureEditor/lib/theme.js +4 -0
  230. package/src/components/MlFeatureEditor/lib/to_dense_array.js +4 -0
  231. package/src/components/MlFeatureEditor/lib/utils.js +4 -0
  232. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +6 -11
  233. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +85 -0
  234. package/src/components/MlFollowGps/MlFollowGps.stories.js +0 -2
  235. package/src/components/MlFollowGps/{MlFollowGps.js → MlFollowGps.tsx} +99 -86
  236. package/src/components/MlGPXViewer/{MlGPXViewer.js → MlGPXViewer.tsx} +68 -50
  237. package/src/components/MlGPXViewer/util/GeoJsonContext.ts +13 -0
  238. package/src/components/MlGPXViewer/util/{GeoJsonProvider.js → GeoJsonProvider.tsx} +3 -7
  239. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +8 -3
  240. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +106 -0
  241. package/src/components/MlGeoJsonLayer/util/{getDefaultLayerTypeByGeometry.js → getDefaultLayerTypeByGeometry.ts} +6 -1
  242. package/src/components/MlGeoJsonLayer/util/{getDefaultPaintPropsByType.js → getDefaultPaintPropsByType.ts} +1 -1
  243. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +1 -4
  244. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +129 -0
  245. package/src/components/MlLayer/MlLayer.stories.js +0 -2
  246. package/src/components/MlLayer/MlLayer.tsx +48 -0
  247. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +3 -3
  248. package/src/components/MlLayerMagnify/{MlLayerMagnify.js → MlLayerMagnify.tsx} +62 -43
  249. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +0 -2
  250. package/src/components/MlLayerSwipe/{MlLayerSwipe.js → MlLayerSwipe.tsx} +38 -24
  251. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +0 -4
  252. package/src/components/MlMarker/MlMarker.tsx +140 -0
  253. package/src/components/MlNavigationCompass/{MlNavigationCompass.js → MlNavigationCompass.tsx} +27 -10
  254. package/src/components/MlNavigationTools/{MlNavigationTools.js → MlNavigationTools.tsx} +37 -32
  255. package/src/components/MlTransitionGeoJsonLayer/{MlTransitionGeoJsonLayer.js → MlTransitionGeoJsonLayer.tsx} +76 -73
  256. package/src/components/MlVectorTileLayer/{MlVectorTileLayer.js → MlVectorTileLayer.tsx} +23 -7
  257. package/src/components/MlWmsLayer/{MlWmsLayer.js → MlWmsLayer.tsx} +22 -7
  258. package/src/components/MlWmsLoader/{MlWmsLoader.js → MlWmsLoader.tsx} +55 -47
  259. package/src/custom.d.tsx +26 -0
  260. package/src/hooks/useLayer.ts +221 -0
  261. package/src/hooks/{useMap.js → useMap.ts} +48 -17
  262. package/src/hooks/{useMapState.js → useMapState.ts} +42 -7
  263. package/src/{index.js → index.ts} +15 -8
  264. package/tsconfig.json +18 -24
  265. package/.env +0 -1
  266. package/.storybook/main.bck.js +0 -56
  267. package/babel.config.json +0 -4
  268. package/coverage/lcov-report/src/translations/english.js.html +0 -94
  269. package/coverage/lcov-report/src/translations/german.js.html +0 -94
  270. package/coverage/lcov-report/src/translations/index.html +0 -131
  271. package/jest.config.json +0 -16
  272. package/jsdoc.json +0 -21
  273. package/public/assets/3D/posttower.gltf +0 -103
  274. package/public/assets/3D/posttower_simple.gltf +0 -103
  275. package/public/assets/3D/posttower_wh.gltf.glb +0 -0
  276. package/public/bee.png +0 -0
  277. package/public/logo192.png +0 -0
  278. package/public/logo512.png +0 -0
  279. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.js +0 -528
  280. package/src/components/MlComponentTemplate/MlComponentTemplate.js +0 -39
  281. package/src/components/MlCreatePdfButton/MlCreatePdfButton.js +0 -52
  282. package/src/components/MlFeatureEditor/MlFeatureEditor.js +0 -119
  283. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.js +0 -153
  284. package/src/components/MlGPXViewer/util/GeoJsonContext.js +0 -6
  285. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.js +0 -173
  286. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.js +0 -75
  287. package/src/components/MlLayer/MlLayer.js +0 -107
  288. package/src/components/MlLayerMagnify/utils/compareMagnify.js +0 -173
  289. package/src/components/MlLayerSwipe/utils/swipeCompare.js +0 -220
  290. package/src/components/MlMarker/MlMarker.js +0 -156
  291. package/src/components/index.js +0 -6
  292. package/src/i18n.js +0 -28
  293. package/src/react-app-env.d.ts +0 -1
  294. package/src/stories/IntroductionCore.stories.mdx +0 -3
  295. package/src/stories/assets/code-brackets.svg +0 -1
  296. package/src/stories/assets/colors.svg +0 -1
  297. package/src/stories/assets/comments.svg +0 -1
  298. package/src/stories/assets/direction.svg +0 -1
  299. package/src/stories/assets/flow.svg +0 -1
  300. package/src/stories/assets/plugin.svg +0 -1
  301. package/src/stories/assets/repo.svg +0 -1
  302. package/src/stories/assets/stackalt.svg +0 -1
  303. package/src/stories/components/ComponentTeaser.js +0 -64
  304. package/src/translations/english.js +0 -4
  305. package/src/translations/german.js +0 -4
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/components/MapLibreMap/MapLibreMap.js</title>
6
+ <title>Code coverage report for src/components/MapLibreMap/MapLibreMap.tsx</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,13 +19,13 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MapLibreMap</a> MapLibreMap.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MapLibreMap</a> MapLibreMap.tsx</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>25/25</span>
28
+ <span class='fraction'>22/22</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/25</span>
49
+ <span class='fraction'>22/22</span>
50
50
  </div>
51
51
 
52
52
 
@@ -153,7 +153,10 @@
153
153
  <a name='L88'></a><a href='#L88'>88</a>
154
154
  <a name='L89'></a><a href='#L89'>89</a>
155
155
  <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
157
160
  <span class="cline-any cline-neutral">&nbsp;</span>
158
161
  <span class="cline-any cline-neutral">&nbsp;</span>
159
162
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -170,67 +173,66 @@
170
173
  <span class="cline-any cline-neutral">&nbsp;</span>
171
174
  <span class="cline-any cline-neutral">&nbsp;</span>
172
175
  <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">18x</span>
174
- <span class="cline-any cline-yes">247x</span>
175
- <span class="cline-any cline-yes">247x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">247x</span>
178
- <span class="cline-any cline-yes">247x</span>
179
177
  <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">247x</span>
181
- <span class="cline-any cline-yes">247x</span>
182
178
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">247x</span>
184
- <span class="cline-any cline-yes">73x</span>
185
- <span class="cline-any cline-yes">73x</span>
186
179
  <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">73x</span>
188
- <span class="cline-any cline-yes">2x</span>
189
- <span class="cline-any cline-yes">2x</span>
190
- <span class="cline-any cline-yes">2x</span>
191
180
  <span class="cline-any cline-neutral">&nbsp;</span>
192
181
  <span class="cline-any cline-neutral">&nbsp;</span>
193
182
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">247x</span>
195
- <span class="cline-any cline-yes">73x</span>
196
- <span class="cline-any cline-yes">73x</span>
197
183
  <span class="cline-any cline-neutral">&nbsp;</span>
198
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-yes">18x</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
187
  <span class="cline-any cline-neutral">&nbsp;</span>
200
188
  <span class="cline-any cline-neutral">&nbsp;</span>
201
189
  <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-yes">73x</span>
203
- <span class="cline-any cline-yes">73x</span>
204
- <span class="cline-any cline-yes">6x</span>
205
190
  <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">67x</span>
207
191
  <span class="cline-any cline-neutral">&nbsp;</span>
208
192
  <span class="cline-any cline-neutral">&nbsp;</span>
209
193
  <span class="cline-any cline-neutral">&nbsp;</span>
210
194
  <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-yes">73x</span>
212
195
  <span class="cline-any cline-neutral">&nbsp;</span>
213
196
  <span class="cline-any cline-neutral">&nbsp;</span>
214
197
  <span class="cline-any cline-neutral">&nbsp;</span>
215
198
  <span class="cline-any cline-neutral">&nbsp;</span>
216
199
  <span class="cline-any cline-neutral">&nbsp;</span>
217
200
  <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-yes">247x</span>
219
201
  <span class="cline-any cline-neutral">&nbsp;</span>
220
202
  <span class="cline-any cline-neutral">&nbsp;</span>
221
203
  <span class="cline-any cline-yes">18x</span>
204
+ <span class="cline-any cline-yes">247x</span>
205
+ <span class="cline-any cline-yes">247x</span>
222
206
  <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-yes">247x</span>
223
208
  <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-yes">247x</span>
210
+ <span class="cline-any cline-yes">247x</span>
224
211
  <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-yes">247x</span>
213
+ <span class="cline-any cline-yes">73x</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-yes">73x</span>
216
+ <span class="cline-any cline-yes">2x</span>
217
+ <span class="cline-any cline-yes">2x</span>
218
+ <span class="cline-any cline-yes">2x</span>
225
219
  <span class="cline-any cline-neutral">&nbsp;</span>
226
220
  <span class="cline-any cline-neutral">&nbsp;</span>
227
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-yes">247x</span>
223
+ <span class="cline-any cline-yes">73x</span>
224
+ <span class="cline-any cline-yes">73x</span>
225
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
226
  <span class="cline-any cline-neutral">&nbsp;</span>
229
227
  <span class="cline-any cline-neutral">&nbsp;</span>
230
228
  <span class="cline-any cline-neutral">&nbsp;</span>
231
229
  <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-yes">18x</span>
233
230
  <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-yes">73x</span>
232
+ <span class="cline-any cline-yes">73x</span>
233
+ <span class="cline-any cline-yes">6x</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-yes">67x</span>
234
236
  <span class="cline-any cline-neutral">&nbsp;</span>
235
237
  <span class="cline-any cline-neutral">&nbsp;</span>
236
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -239,17 +241,48 @@
239
241
  <span class="cline-any cline-neutral">&nbsp;</span>
240
242
  <span class="cline-any cline-neutral">&nbsp;</span>
241
243
  <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-yes">247x</span>
242
245
  <span class="cline-any cline-neutral">&nbsp;</span>
243
246
  <span class="cline-any cline-neutral">&nbsp;</span>
244
247
  <span class="cline-any cline-neutral">&nbsp;</span>
245
248
  <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useRef, useEffect, useContext } from "react";
247
- import PropTypes from "prop-types";
249
+ <span class="cline-any cline-yes">18x</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useRef, useEffect, useContext, FC } from "react";
253
+ &nbsp;
254
+ // @ts-ignore
248
255
  import { MapContext } from "@mapcomponents/react-core";
256
+ // @ts-ignore
249
257
  import MapLibreGlWrapper from "./lib/MapLibreGlWrapper";
250
258
  &nbsp;
251
259
  import "maplibre-gl/dist/maplibre-gl.css";
252
260
  &nbsp;
261
+ type MapLibreMapProps = {
262
+ /**
263
+ * Id of the MapLibreGl(Wrapper) instance in mapContext
264
+ */
265
+ mapId?: string;
266
+ /**
267
+ * Config object that is passed to the MapLibreGl constructor as first parameter.
268
+ * See https://maplibre.org/maplibre-gl-js-docs/api/map/ for a formal documentation of al
269
+ * available properties.
270
+ */
271
+ options?: object;
272
+ /**
273
+ * css style definition passed to the map container DOM element
274
+ */
275
+ style?: object;
276
+ };
277
+ &nbsp;
278
+ const defaultProps: MapLibreMapProps = {
279
+ mapId: undefined,
280
+ options: {
281
+ center: { lng: 8.607, lat: 53.1409349 },
282
+ zoom: 11,
283
+ },
284
+ };
285
+ &nbsp;
253
286
  /**
254
287
  * Creates a MapLibreGlWrapper instance and registers it in MapContext
255
288
  * after the MapLibre-gl load event has fired.
@@ -258,37 +291,36 @@ import "maplibre-gl/dist/maplibre-gl.css";
258
291
  * This Component must be kept unaware of any related components that interact with the MapLibre-gl
259
292
  * instance.
260
293
  *
261
- * @component
294
+ * @category Map components
262
295
  */
263
- const MapLibreMap = (props) =&gt; {
264
- const map = useRef(null);
296
+ const MapLibreMap: FC&lt;MapLibreMapProps&gt; = (props: MapLibreMapProps) =&gt; {
297
+ const map: any = useRef(null);
265
298
  const mapContainer = useRef(null);
266
299
  &nbsp;
267
- const mapContext = useContext(MapContext);
268
- const mapContextRef = useRef(mapContext);
300
+ const mapContext: any = useContext(MapContext);
269
301
  &nbsp;
270
302
  const mapIdRef = useRef(props.mapId);
271
303
  const mapOptions = props.options;
272
304
  &nbsp;
273
305
  useEffect(() =&gt; {
274
306
  let mapId = mapIdRef.current;
275
- let _mapContext = mapContextRef.current;
276
307
  &nbsp;
277
308
  return () =&gt; {
278
- _mapContext.removeMap(mapId);
309
+ mapContext.removeMap(mapId);
279
310
  map.current?.remove?.();
280
311
  map.current = null;
281
312
  };
282
313
  }, []);
283
314
  &nbsp;
284
315
  useEffect(() =&gt; {
285
- if (mapContainer.current) {
316
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (mapContainer.current) {
286
317
  map.current = new MapLibreGlWrapper({
318
+ // @ts-ignore
287
319
  mapOptions: {
288
320
  container: mapContainer.current,
289
321
  ...mapOptions,
290
322
  },
291
- onReady: (map, wrapper) =&gt; {
323
+ onReady: (map: any, wrapper: any) =&gt; {
292
324
  map.once("load", () =&gt; {
293
325
  if (props.mapId) {
294
326
  mapContext.registerMap(props.mapId, wrapper);
@@ -296,41 +328,18 @@ const MapLibreMap = (props) =&gt; {
296
328
  mapContext.setMap(wrapper);
297
329
  }
298
330
  });
299
- &nbsp;
300
- // TODO: remove this line
301
- window.map = wrapper;
302
331
  },
303
332
  });
304
333
  }
305
334
  // eslint-disable-next-line react-hooks/exhaustive-deps
306
335
  }, [mapContainer]);
307
336
  &nbsp;
308
- return &lt;div ref={mapContainer} className="mapContainer" /&gt;;
337
+ return (
338
+ &lt;div ref={mapContainer} className="mapContainer" style={props.style} /&gt;
339
+ );
309
340
  };
310
341
  &nbsp;
311
- MapLibreMap.defaultProps = {
312
- mapId: undefined,
313
- options: {
314
- lng: 8.607,
315
- lat: 53.1409349,
316
- zoom: 10,
317
- accessToken:
318
- "pk.eyJ1IjoibWF4dG9iaSIsImEiOiJjaW1rcWQ5bWMwMDJvd2hrbWZ2ZTBhcnM5In0.NcGt5NmLP5Q1WC7P5u6qUA",
319
- },
320
- };
321
- &nbsp;
322
- MapLibreMap.propTypes = {
323
- /**
324
- * Id of the MapLibreGl(Wrapper) instance in mapContext
325
- */
326
- mapId: PropTypes.string,
327
- /**
328
- * Config object that is passed to the MapLibreGl constructor as first parameter.
329
- * See https://maplibre.org/maplibre-gl-js-docs/api/map/ for a formal documentation of al
330
- * available properties.
331
- */
332
- options: PropTypes.object,
333
- };
342
+ MapLibreMap.defaultProps = defaultProps;
334
343
  &nbsp;
335
344
  export default MapLibreMap;
336
345
  &nbsp;</pre></td></tr></table></pre>
@@ -340,7 +349,7 @@ export default MapLibreMap;
340
349
  <div class='footer quiet pad2 space-top1 center small'>
341
350
  Code coverage generated by
342
351
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at Thu Mar 24 2022 19:39:33 GMT+0000 (Coordinated Universal Time)
352
+ at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
344
353
  </div>
345
354
  <script src="../../../prettify.js"></script>
346
355
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>25/25</span>
28
+ <span class='fraction'>22/22</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/25</span>
49
+ <span class='fraction'>22/22</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file high" data-value="MapLibreMap.js"><a href="MapLibreMap.js.html">MapLibreMap.js</a></td>
82
+ <td class="file high" data-value="MapLibreMap.tsx"><a href="MapLibreMap.tsx.html">MapLibreMap.tsx</a></td>
83
83
  <td data-value="100" class="pic high">
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="25" class="abs high">25/25</td>
87
+ <td data-value="22" class="abs high">22/22</td>
88
88
  <td data-value="75" class="pct medium">75%</td>
89
89
  <td data-value="4" class="abs medium">3/4</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="6" class="abs high">6/6</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="25" class="abs high">25/25</td>
93
+ <td data-value="22" class="abs high">22/22</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Mar 24 2022 19:39:33 GMT+0000 (Coordinated Universal Time)
104
+ at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -3,7 +3,7 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for src/components/MlCreatePdfButton/MlCreatePdfButton.js</title>
6
+ <title>Code coverage report for src/components/MlCreatePdfButton/MlCreatePdfButton.tsx</title>
7
7
  <meta charset="utf-8" />
8
8
  <link rel="stylesheet" href="../../../prettify.css" />
9
9
  <link rel="stylesheet" href="../../../base.css" />
@@ -19,34 +19,34 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MlCreatePdfButton</a> MlCreatePdfButton.js</h1>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/components/MlCreatePdfButton</a> MlCreatePdfButton.tsx</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/13</span>
28
+ <span class='fraction'>0/6</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/4</span>
35
+ <span class='fraction'>0/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/4</span>
42
+ <span class='fraction'>0/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/12</span>
49
+ <span class='fraction'>0/6</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,8 +114,8 @@
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
116
  <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
117
+ <a name='L52'></a><a href='#L52'>52</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -129,68 +129,70 @@
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-no">&nbsp;</span>
133
- <span class="cline-any cline-no">&nbsp;</span>
134
- <span class="cline-any cline-no">&nbsp;</span>
135
- <span class="cline-any cline-no">&nbsp;</span>
136
132
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-no">&nbsp;</span>
138
- <span class="cline-any cline-no">&nbsp;</span>
139
- <span class="cline-any cline-no">&nbsp;</span>
140
- <span class="cline-any cline-no">&nbsp;</span>
141
133
  <span class="cline-any cline-neutral">&nbsp;</span>
142
134
  <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-no">&nbsp;</span>
144
135
  <span class="cline-any cline-neutral">&nbsp;</span>
145
136
  <span class="cline-any cline-neutral">&nbsp;</span>
146
137
  <span class="cline-any cline-neutral">&nbsp;</span>
147
138
  <span class="cline-any cline-neutral">&nbsp;</span>
148
139
  <span class="cline-any cline-neutral">&nbsp;</span>
149
140
  <span class="cline-any cline-no">&nbsp;</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
150
143
  <span class="cline-any cline-neutral">&nbsp;</span>
151
144
  <span class="cline-any cline-neutral">&nbsp;</span>
152
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
153
147
  <span class="cline-any cline-neutral">&nbsp;</span>
154
148
  <span class="cline-any cline-neutral">&nbsp;</span>
155
149
  <span class="cline-any cline-neutral">&nbsp;</span>
156
150
  <span class="cline-any cline-neutral">&nbsp;</span>
157
151
  <span class="cline-any cline-neutral">&nbsp;</span>
158
152
  <span class="cline-any cline-no">&nbsp;</span>
153
+ <span class="cline-any cline-no">&nbsp;</span>
159
154
  <span class="cline-any cline-neutral">&nbsp;</span>
160
155
  <span class="cline-any cline-neutral">&nbsp;</span>
161
156
  <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-no">&nbsp;</span>
163
157
  <span class="cline-any cline-neutral">&nbsp;</span>
164
158
  <span class="cline-any cline-neutral">&nbsp;</span>
165
159
  <span class="cline-any cline-neutral">&nbsp;</span>
166
160
  <span class="cline-any cline-neutral">&nbsp;</span>
167
161
  <span class="cline-any cline-neutral">&nbsp;</span>
168
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-no">&nbsp;</span>
169
164
  <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useRef, useEffect, useContext } from "react";
171
- import PropTypes from "prop-types";
172
- import { MapContext } from "@mapcomponents/react-core";
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from "react";
169
+ import useMap from "../../hooks/useMap";
173
170
  &nbsp;
174
- import createPdf from "./lib/createPdf.js";
171
+ import createPdf from "./lib/createPdf";
175
172
  &nbsp;
176
173
  import PrinterIcon from "@mui/icons-material/Print";
177
174
  import Button from "@mui/material/Button";
178
175
  &nbsp;
176
+ interface MlCreatePdfButtonProps {
177
+ /**
178
+ * Id of the target MapLibre instance in mapContext
179
+ */
180
+ mapId?: string;
181
+ /**
182
+ * Id of an existing layer in the mapLibre instance to help specify the layer order
183
+ * This layer will be visually beneath the layer with the "insertBeforeLayer" id.
184
+ */
185
+ insertBeforeLayer?: string;
186
+ }
187
+ &nbsp;
179
188
  /**
180
189
  * Renders a button that will create a PDF version of the current map view (dimensions adjusted to fit Din A4 Paper).
181
- *
182
- * @component
183
190
  */
184
- const MlCreatePdfButton = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops) =&gt; {</span>
185
- const mapContext = <span class="cstat-no" title="statement not covered" >useContext(MapContext);</span>
186
- const initializedRef = <span class="cstat-no" title="statement not covered" >useRef(false);</span>
187
- const mapRef = <span class="cstat-no" title="statement not covered" >useRef(undefined);</span>
188
- &nbsp;
189
- <span class="cstat-no" title="statement not covered" > useEffect(<span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
190
- <span class="cstat-no" title="statement not covered" > if (!mapContext.mapExists(props.mapId) || initializedRef.current) <span class="cstat-no" title="statement not covered" >return;</span></span>
191
- <span class="cstat-no" title="statement not covered" > initializedRef.current = true;</span>
192
- <span class="cstat-no" title="statement not covered" > mapRef.current = mapContext.getMap(props.mapId);</span>
193
- }, [mapContext.mapIds, mapContext, props.mapId]);
191
+ const MlCreatePdfButton = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(p</span>rops: MlCreatePdfButtonProps) =&gt; {</span>
192
+ const mapHook = <span class="cstat-no" title="statement not covered" >useMap({</span>
193
+ mapId: props.mapId,
194
+ waitForLayer: props.insertBeforeLayer,
195
+ });
194
196
  &nbsp;
195
197
  <span class="cstat-no" title="statement not covered" > return (</span>
196
198
  &lt;&gt;
@@ -198,7 +200,9 @@ const MlCreatePdfButton = <span class="cstat-no" title="statement not covered" >
198
200
  color="primary"
199
201
  variant="contained"
200
202
  onClick={<span class="fstat-no" title="function not covered" >()</span> =&gt; {
201
- <span class="cstat-no" title="statement not covered" > createPdf(mapRef.current, null, <span class="fstat-no" title="function not covered" >()</span> =&gt; {});</span>
203
+ <span class="cstat-no" title="statement not covered" > if (mapHook.map) {</span>
204
+ <span class="cstat-no" title="statement not covered" > createPdf(mapHook.map, null, <span class="fstat-no" title="function not covered" >()</span> =&gt; {});</span>
205
+ }
202
206
  }}
203
207
  &gt;
204
208
  &lt;PrinterIcon /&gt;
@@ -211,13 +215,6 @@ const MlCreatePdfButton = <span class="cstat-no" title="statement not covered" >
211
215
  mapId: undefined,
212
216
  };
213
217
  &nbsp;
214
- <span class="cstat-no" title="statement not covered" >MlCreatePdfButton.propTypes = {</span>
215
- /**
216
- * Id of the target MapLibre instance in mapContext
217
- */
218
- mapId: PropTypes.string,
219
- };
220
- &nbsp;
221
218
  export default MlCreatePdfButton;
222
219
  &nbsp;</pre></td></tr></table></pre>
223
220
 
@@ -226,7 +223,7 @@ export default MlCreatePdfButton;
226
223
  <div class='footer quiet pad2 space-top1 center small'>
227
224
  Code coverage generated by
228
225
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
229
- at Thu Mar 24 2022 19:39:33 GMT+0000 (Coordinated Universal Time)
226
+ at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
230
227
  </div>
231
228
  <script src="../../../prettify.js"></script>
232
229
  <script>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/13</span>
28
+ <span class='fraction'>0/6</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/4</span>
35
+ <span class='fraction'>0/2</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/4</span>
42
+ <span class='fraction'>0/3</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/12</span>
49
+ <span class='fraction'>0/6</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,18 +79,18 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="MlCreatePdfButton.js"><a href="MlCreatePdfButton.js.html">MlCreatePdfButton.js</a></td>
82
+ <td class="file low" data-value="MlCreatePdfButton.tsx"><a href="MlCreatePdfButton.tsx.html">MlCreatePdfButton.tsx</a></td>
83
83
  <td data-value="0" class="pic low">
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="13" class="abs low">0/13</td>
87
+ <td data-value="6" class="abs low">0/6</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
- <td data-value="4" class="abs low">0/4</td>
89
+ <td data-value="2" class="abs low">0/2</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="4" class="abs low">0/4</td>
91
+ <td data-value="3" class="abs low">0/3</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="12" class="abs low">0/12</td>
93
+ <td data-value="6" class="abs low">0/6</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Thu Mar 24 2022 19:39:33 GMT+0000 (Coordinated Universal Time)
104
+ at Wed Apr 20 2022 07:57:24 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>