@mapcomponents/react-maplibre 0.1.61 → 0.1.63

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 (197) hide show
  1. package/.babelrc +21 -2
  2. package/.eslintrc.js +8 -1
  3. package/.storybook/main.js +0 -1
  4. package/.storybook/preview.js +0 -2
  5. package/CHANGELOG.md +23 -0
  6. package/coverage/clover.xml +265 -89
  7. package/coverage/coverage-final.json +14 -6
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +84 -39
  10. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  11. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +1 -1
  12. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  13. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +1 -1
  14. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  16. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  17. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +148 -0
  18. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +2 -8
  19. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +22 -7
  20. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +73 -40
  21. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +15 -15
  22. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  23. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  25. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +9 -3
  27. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  28. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  29. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +59 -29
  30. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  31. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +652 -0
  32. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +649 -0
  33. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +131 -0
  34. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +1 -1
  35. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  36. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +1 -1
  37. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  39. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +1 -1
  41. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  42. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +1 -1
  43. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  44. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  45. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  46. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  48. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  49. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  51. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  52. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  53. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  55. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  56. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  57. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  58. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  60. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  61. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  62. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  63. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +214 -0
  64. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +121 -0
  65. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +412 -0
  66. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +463 -0
  67. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +161 -0
  68. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +898 -0
  69. package/coverage/lcov-report/src/components/MlSketchTool/index.html +116 -0
  70. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  71. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  72. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  73. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  74. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
  75. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  76. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  77. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  78. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +1 -1
  79. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  80. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  81. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  82. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +1 -1
  83. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  84. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +1 -1
  85. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  86. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +1 -1
  87. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  88. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  89. package/coverage/lcov-report/src/contexts/index.html +1 -1
  90. package/coverage/lcov-report/src/hooks/index.html +11 -11
  91. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +1 -1
  92. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +1 -1
  93. package/coverage/lcov-report/src/hooks/useExportMap/index.html +14 -14
  94. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  95. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +21 -108
  96. package/coverage/lcov-report/src/hooks/useLayer.ts.html +1 -1
  97. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +9 -9
  98. package/coverage/lcov-report/src/hooks/useMap.ts.html +1 -1
  99. package/coverage/lcov-report/src/hooks/useMapState.ts.html +1 -1
  100. package/coverage/lcov-report/src/hooks/useSource.ts.html +1 -1
  101. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  102. package/coverage/lcov-report/src/index.html +1 -1
  103. package/coverage/lcov-report/src/index.ts.html +5 -2
  104. package/coverage/lcov.info +564 -161
  105. package/cypress/support/commands.ts +37 -0
  106. package/cypress/support/component-index.html +12 -0
  107. package/cypress/support/component.ts +46 -0
  108. package/cypress.config.ts +101 -0
  109. package/dist/components/MapLibreMap/MapLibreMap.d.ts +1 -1
  110. package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +3 -3
  111. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.cy.d.ts +1 -0
  112. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +1 -0
  113. package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +3 -16
  114. package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +19 -6
  115. package/dist/components/MlCreatePdfForm/lib/_PdfPreview.d.ts +13 -0
  116. package/dist/components/MlFeatureEditor/MlFeatureEditor.d.ts +10 -4
  117. package/dist/components/MlFeatureEditor/lib/double_click_zoom.d.ts +0 -2
  118. package/dist/components/MlFeatureEditor/lib/theme.d.ts +1 -1
  119. package/dist/components/MlGPXViewer/util/GeoJsonContext.d.ts +1 -1
  120. package/dist/components/MlGPXViewer/util/MlGPXViewerInstructions.d.ts +1 -0
  121. package/dist/components/MlGPXViewer/util/SampleLayer.d.ts +0 -0
  122. package/dist/components/MlGPXViewer/util/demoViewer.d.ts +5 -0
  123. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.d.ts +4 -4
  124. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +103 -11
  125. package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.d.ts +2 -0
  126. package/dist/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.d.ts +2 -0
  127. package/dist/components/MlSketchTool/LayerList/ColorPicker.d.ts +9 -0
  128. package/dist/components/MlSketchTool/LayerList/LayerList.d.ts +5 -0
  129. package/dist/components/MlSketchTool/LayerList/LayerListItem.d.ts +11 -0
  130. package/dist/components/MlSketchTool/LayerList/LayerPropertyForm.d.ts +9 -0
  131. package/dist/components/MlSketchTool/MlSketchTool.d.ts +29 -0
  132. package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +10 -0
  133. package/dist/contexts/SimpleDataProvider.d.ts +1 -1
  134. package/dist/custom.d.d.ts +1 -1
  135. package/dist/hooks/useLayer.d.ts +1 -1
  136. package/dist/hooks/useMap.d.ts +1 -1
  137. package/dist/hooks/useMapState.d.ts +3 -3
  138. package/dist/hooks/useSource.d.ts +1 -1
  139. package/dist/index.d.ts +1 -0
  140. package/dist/index.esm.css +1 -1
  141. package/dist/index.esm.js +3473 -4386
  142. package/dist/index.esm.js.map +1 -1
  143. package/dist/ui_components/LoadingOverlayContext.d.ts +1 -1
  144. package/dist/ui_components/Sidebar.d.ts +9 -1
  145. package/dist/ui_components/TopToolbar.d.ts +6 -1
  146. package/package.json +22 -15
  147. package/public/assets/sample1.gpx +3003 -0
  148. package/public/assets/sample2.gpx +1264 -0
  149. package/public/assets/sample3.gpx +912 -0
  150. package/public/index.html +0 -4
  151. package/public/thumbnails/MlSketchTool.png +0 -0
  152. package/public/thumbnails/useCameraFollowPath.png +0 -0
  153. package/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx +21 -0
  154. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +14 -1
  155. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +0 -2
  156. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +16 -18
  157. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +79 -6
  158. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +285 -357
  159. package/src/components/MlCreatePdfForm/lib/_PdfPreview.tsx +399 -0
  160. package/src/components/MlCreatePdfForm/lib/pdfContext.d.ts +24 -0
  161. package/src/components/MlCreatePdfForm/lib/preview.css +114 -0
  162. package/src/components/MlFeatureEditor/MlFeatureEditor.meta.json +1 -1
  163. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +39 -28
  164. package/src/components/MlGPXViewer/MlGPXViewer.stories.js +75 -15
  165. package/src/components/MlGPXViewer/MlGPXViewer.tsx +3 -1
  166. package/src/components/MlGPXViewer/util/MlGPXViewerInstructions.js +145 -0
  167. package/src/components/MlGPXViewer/util/SampleLayer.js +2 -0
  168. package/src/components/MlGPXViewer/util/demoViewer.js +254 -0
  169. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.tsx +102 -0
  170. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +33 -23
  171. package/src/components/MlGeoJsonLayer/assets/sample_1.json +138 -24
  172. package/src/components/MlGeoJsonLayer/assets/sample_2.json +140 -20
  173. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js +189 -0
  174. package/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js +188 -0
  175. package/src/components/MlSketchTool/LayerList/ColorPicker.tsx +43 -0
  176. package/src/components/MlSketchTool/LayerList/LayerList.tsx +12 -0
  177. package/src/components/MlSketchTool/LayerList/LayerListItem.tsx +109 -0
  178. package/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx +126 -0
  179. package/src/components/MlSketchTool/MlSketchTool.doc.de.md +3 -0
  180. package/src/components/MlSketchTool/MlSketchTool.meta.json +15 -0
  181. package/src/components/MlSketchTool/MlSketchTool.stories.js +26 -0
  182. package/src/components/MlSketchTool/MlSketchTool.tsx +271 -0
  183. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.meta.json +2 -2
  184. package/src/hooks/useExportMap/lib.ts +14 -43
  185. package/src/index.ts +1 -0
  186. package/src/ui_components/Sidebar.tsx +80 -0
  187. package/src/ui_components/TopToolbar.tsx +24 -0
  188. package/tsconfig.json +39 -58
  189. package/config/getHttpsConfig.js +0 -66
  190. package/config/modules.js +0 -134
  191. package/config/pnpTs.js +0 -35
  192. package/config/webpack.config.js +0 -757
  193. package/config/webpackDevServer.config.js +0 -130
  194. package/scripts/start.js +0 -166
  195. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +0 -66
  196. package/src/ui_components/Sidebar.js +0 -100
  197. package/src/ui_components/TopToolbar.js +0 -29
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.94% </span>
26
+ <span class="strong">75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>30/38</span>
28
+ <span class='fraction'>30/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.96% </span>
33
+ <span class="strong">58.82% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/29</span>
35
+ <span class='fraction'>20/34</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80.55% </span>
47
+ <span class="strong">76.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/36</span>
49
+ <span class='fraction'>29/38</span>
50
50
  </div>
51
51
 
52
52
 
@@ -203,7 +203,24 @@
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
204
  <a name='L139'></a><a href='#L139'>139</a>
205
205
  <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
224
  <span class="cline-any cline-neutral">&nbsp;</span>
208
225
  <span class="cline-any cline-neutral">&nbsp;</span>
209
226
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,10 +273,15 @@
256
273
  <span class="cline-any cline-yes">16x</span>
257
274
  <span class="cline-any cline-yes">16x</span>
258
275
  <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
276
  <span class="cline-any cline-yes">16x</span>
261
277
  <span class="cline-any cline-no">&nbsp;</span>
262
278
  <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-no">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
285
  <span class="cline-any cline-neutral">&nbsp;</span>
264
286
  <span class="cline-any cline-neutral">&nbsp;</span>
265
287
  <span class="cline-any cline-yes">16x</span>
@@ -273,6 +295,7 @@
273
295
  <span class="cline-any cline-neutral">&nbsp;</span>
274
296
  <span class="cline-any cline-neutral">&nbsp;</span>
275
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
299
  <span class="cline-any cline-no">&nbsp;</span>
277
300
  <span class="cline-any cline-neutral">&nbsp;</span>
278
301
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -290,8 +313,8 @@
290
313
  <span class="cline-any cline-neutral">&nbsp;</span>
291
314
  <span class="cline-any cline-neutral">&nbsp;</span>
292
315
  <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-yes">4x</span>
294
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-yes">4x</span>
295
318
  <span class="cline-any cline-neutral">&nbsp;</span>
296
319
  <span class="cline-any cline-yes">4x</span>
297
320
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -320,12 +343,10 @@
320
343
  <span class="cline-any cline-yes">2x</span>
321
344
  <span class="cline-any cline-neutral">&nbsp;</span>
322
345
  <span class="cline-any cline-yes">2x</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
346
  <span class="cline-any cline-yes">2x</span>
325
347
  <span class="cline-any cline-neutral">&nbsp;</span>
326
348
  <span class="cline-any cline-neutral">&nbsp;</span>
327
349
  <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
350
  <span class="cline-any cline-yes">16x</span>
330
351
  <span class="cline-any cline-yes">8x</span>
331
352
  <span class="cline-any cline-yes">4x</span>
@@ -335,6 +356,7 @@
335
356
  <span class="cline-any cline-yes">16x</span>
336
357
  <span class="cline-any cline-yes">4x</span>
337
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
360
  <span class="cline-any cline-no">&nbsp;</span>
339
361
  <span class="cline-any cline-neutral">&nbsp;</span>
340
362
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -343,16 +365,17 @@
343
365
  <span class="cline-any cline-neutral">&nbsp;</span>
344
366
  <span class="cline-any cline-neutral">&nbsp;</span>
345
367
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect, useRef } from "react";
347
- import "./MlFeatureEditor.css";
368
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect, useRef } from 'react';
369
+ import './MlFeatureEditor.css';
348
370
  &nbsp;
349
- import "@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css";
350
- import MapboxDraw from "@mapbox/mapbox-gl-draw";
351
- import CustomPolygonMode from "./custom-polygon-mode.js";
352
- import CustomSelectMode from "./custom-select-mode.js";
353
- import CustomDirectSelectMode from "./custom-direct-select-mode.js";
371
+ import '@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css';
372
+ import MapboxDraw from '@mapbox/mapbox-gl-draw';
373
+ import CustomPolygonMode from './custom-polygon-mode.js';
374
+ import CustomSelectMode from './custom-select-mode.js';
375
+ import CustomDirectSelectMode from './custom-direct-select-mode.js';
354
376
  &nbsp;
355
- import useMap from "../../hooks/useMap";
377
+ import useMap from '../../hooks/useMap';
378
+ import { GeoJSONObject, Feature } from '@turf/turf';
356
379
  &nbsp;
357
380
  interface MlFeatureEditorProps {
358
381
  /**
@@ -367,12 +390,17 @@ interface MlFeatureEditorProps {
367
390
  /**
368
391
  * Input GeoJson data at initialization
369
392
  */
370
- geojson?: any;
393
+ geojson?: Feature;
371
394
  /**
372
395
  * Callback function that is called each time the GeoJson data within has changed within MlFeatureEditor.
373
396
  * First parameter is the new GeoJson feature.
374
397
  */
375
- onChange?: Function;
398
+ onChange?: (para: GeoJSONObject[]) =&gt; void;
399
+ /**
400
+ * Callback function that is called each time the GeoJson data within has been finished within MlFeatureEditor.
401
+ * First parameter is the new GeoJson feature.
402
+ */
403
+ onFinish?: () =&gt; void;
376
404
  /**
377
405
  * Feature editor mode:
378
406
  * - "custom_select" edit features
@@ -395,11 +423,16 @@ const MlFeatureEditor = (props: MlFeatureEditorProps) =&gt; {
395
423
  &nbsp;
396
424
  const drawToolsInitialized = useRef(false);
397
425
  const [drawToolsReady, setDrawToolsReady] = useState(false);
398
- &nbsp;
399
426
  &nbsp;
400
427
  const modeChangeHandler = <span class="fstat-no" title="function not covered" >(e</span>: any) =&gt; {
401
- <span class="cstat-no" title="statement not covered" > console.log("MlFeatureEditor mode change to " + e.mode);</span>
428
+ <span class="cstat-no" title="statement not covered" > console.log('MlFeatureEditor mode change to ' + e.mode);</span>
402
429
  //setDrawMode(e.mode);
430
+ <span class="cstat-no" title="statement not covered" > if (</span>
431
+ typeof props.onFinish === 'function' &amp;&amp;
432
+ (e.mode === 'custom_select' || e.mode === 'simple_select')
433
+ ) {
434
+ <span class="cstat-no" title="statement not covered" > props.onFinish();</span>
435
+ }
403
436
  };
404
437
  &nbsp;
405
438
  useEffect(() =&gt; {
@@ -408,17 +441,19 @@ const MlFeatureEditor = (props: MlFeatureEditorProps) =&gt; {
408
441
  &nbsp;
409
442
  <span class="missing-if-branch" title="if path not taken" >I</span>if (
410
443
  mapHook.map.map.style &amp;&amp;
411
- mapHook.map.map.getSource("mapbox-gl-draw-cold") &amp;&amp;
444
+ mapHook.map.map.getSource('mapbox-gl-draw-cold') &amp;&amp;
412
445
  <span class="branch-2 cbranch-no" title="branch not covered" > draw.current</span>
413
446
  ) {
414
447
  // remove old Mapbox-gl-Draw from Mapbox instance when hot-reloading this component during development
448
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
415
449
  // @ts-ignore
416
450
  <span class="cstat-no" title="statement not covered" > draw.current?.remove();</span>
417
451
  }
418
452
  &nbsp;
419
453
  draw.current = new MapboxDraw({
420
454
  displayControlsDefault: false,
421
- defaultMode: props.mode || <span class="branch-1 cbranch-no" title="branch not covered" >"custom_select",</span>
455
+ defaultMode: props.mode || <span class="branch-1 cbranch-no" title="branch not covered" >'custom_select',</span>
456
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
422
457
  // @ts-ignore
423
458
  modes: Object.assign(
424
459
  {
@@ -430,10 +465,9 @@ const MlFeatureEditor = (props: MlFeatureEditorProps) =&gt; {
430
465
  ),
431
466
  });
432
467
  &nbsp;
433
- mapHook.map.addControl(draw.current, "top-left", mapHook.componentId);
468
+ mapHook.map.addControl(draw.current, 'top-left', mapHook.componentId);
434
469
  &nbsp;
435
- &nbsp;
436
- mapHook.map.on("draw.modechange", modeChangeHandler, mapHook.componentId);
470
+ mapHook.map.on('draw.modechange', modeChangeHandler, mapHook.componentId);
437
471
  &nbsp;
438
472
  setDrawToolsReady(true);
439
473
  }
@@ -445,35 +479,34 @@ const MlFeatureEditor = (props: MlFeatureEditorProps) =&gt; {
445
479
  const changeHandler = <span class="fstat-no" title="function not covered" >()</span> =&gt; {
446
480
  <span class="cstat-no" title="statement not covered" > if (draw.current) {</span>
447
481
  // update drawnFeatures state object
448
- <span class="cstat-no" title="statement not covered" > if (typeof props.onChange === "function") {</span>
449
- let currentFeatureCollection = <span class="cstat-no" title="statement not covered" >draw.current.getAll?.();</span>
482
+ <span class="cstat-no" title="statement not covered" > if (typeof props.onChange === 'function') {</span>
483
+ const currentFeatureCollection = <span class="cstat-no" title="statement not covered" >draw.current.getAll?.();</span>
450
484
  <span class="cstat-no" title="statement not covered" > props.onChange(currentFeatureCollection?.features);</span>
451
485
  }
452
486
  }
453
487
  };
454
488
  &nbsp;
455
- mapHook.map.on("mouseup", changeHandler);
489
+ mapHook.map.on('mouseup', changeHandler);
456
490
  &nbsp;
457
- mapHook.map.on("touchend", changeHandler);
491
+ mapHook.map.on('touchend', changeHandler);
458
492
  &nbsp;
459
493
  return () =&gt; {
460
494
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!mapHook.map) <span class="cstat-no" title="statement not covered" >return;</span>
461
495
  &nbsp;
462
- mapHook.map.map.off("mouseup", changeHandler);
463
- &nbsp;
464
- mapHook.map.map.off("touchend", changeHandler);
465
- }
466
- &nbsp;
467
- }, [drawToolsReady, mapHook.map])
496
+ mapHook.map.map.off('mouseup', changeHandler);
497
+ mapHook.map.map.off('touchend', changeHandler);
498
+ };
499
+ }, [drawToolsReady, mapHook.map]);
468
500
  &nbsp;
469
501
  useEffect(() =&gt; {
470
502
  if (draw.current &amp;&amp; props.geojson?.geometry) {
471
- draw.current.set({ type: "FeatureCollection", features: [props.geojson] });
503
+ draw.current.set({ type: 'FeatureCollection', features: [props.geojson as any] });
472
504
  }
473
505
  }, [props.geojson, drawToolsReady]);
474
506
  &nbsp;
475
507
  useEffect(() =&gt; {
476
508
  <span class="missing-if-branch" title="if path not taken" >I</span>if (props.mode &amp;&amp; draw.current) {
509
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
477
510
  // @ts-ignore
478
511
  <span class="cstat-no" title="statement not covered" > draw.current.changeMode(props.mode);</span>
479
512
  }
@@ -490,7 +523,7 @@ export default MlFeatureEditor;
490
523
  <div class='footer quiet pad2 space-top1 center small'>
491
524
  Code coverage generated by
492
525
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
493
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
526
+ at 2022-12-16T12:30:49.297Z
494
527
  </div>
495
528
  <script src="../../../prettify.js"></script>
496
529
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.94% </span>
26
+ <span class="strong">75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>30/38</span>
28
+ <span class='fraction'>30/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">68.96% </span>
33
+ <span class="strong">58.82% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>20/29</span>
35
+ <span class='fraction'>20/34</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">80.55% </span>
47
+ <span class="strong">76.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/36</span>
49
+ <span class='fraction'>29/38</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="MlFeatureEditor.tsx"><a href="MlFeatureEditor.tsx.html">MlFeatureEditor.tsx</a></td>
83
- <td data-value="78.94" class="pic medium">
84
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
83
+ <td data-value="75" class="pic medium">
84
+ <div class="chart"><div class="cover-fill" style="width: 75%"></div><div class="cover-empty" style="width: 25%"></div></div>
85
85
  </td>
86
- <td data-value="78.94" class="pct medium">78.94%</td>
87
- <td data-value="38" class="abs medium">30/38</td>
88
- <td data-value="68.96" class="pct medium">68.96%</td>
89
- <td data-value="29" class="abs medium">20/29</td>
86
+ <td data-value="75" class="pct medium">75%</td>
87
+ <td data-value="40" class="abs medium">30/40</td>
88
+ <td data-value="58.82" class="pct medium">58.82%</td>
89
+ <td data-value="34" class="abs medium">20/34</td>
90
90
  <td data-value="75" class="pct medium">75%</td>
91
91
  <td data-value="8" class="abs medium">6/8</td>
92
- <td data-value="80.55" class="pct high">80.55%</td>
93
- <td data-value="36" class="abs high">29/36</td>
92
+ <td data-value="76.31" class="pct medium">76.31%</td>
93
+ <td data-value="38" class="abs medium">29/38</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 Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
104
+ at 2022-12-16T12:30:49.297Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -325,7 +325,7 @@ export default MlFillExtrusionLayer;
325
325
  <div class='footer quiet pad2 space-top1 center small'>
326
326
  Code coverage generated by
327
327
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
328
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
328
+ at 2022-12-16T12:30:49.297Z
329
329
  </div>
330
330
  <script src="../../../prettify.js"></script>
331
331
  <script>
@@ -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 Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
104
+ at 2022-12-16T12:30:49.297Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -850,7 +850,7 @@ export default MlFollowGps;
850
850
  <div class='footer quiet pad2 space-top1 center small'>
851
851
  Code coverage generated by
852
852
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
853
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
853
+ at 2022-12-16T12:30:49.297Z
854
854
  </div>
855
855
  <script src="../../../prettify.js"></script>
856
856
  <script>
@@ -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 Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
104
+ at 2022-12-16T12:30:49.297Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -440,7 +440,9 @@
440
440
  <a name='L375'></a><a href='#L375'>375</a>
441
441
  <a name='L376'></a><a href='#L376'>376</a>
442
442
  <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
444
446
  <span class="cline-any cline-neutral">&nbsp;</span>
445
447
  <span class="cline-any cline-neutral">&nbsp;</span>
446
448
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -720,6 +722,8 @@
720
722
  <span class="cline-any cline-neutral">&nbsp;</span>
721
723
  <span class="cline-any cline-no">&nbsp;</span>
722
724
  <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
727
  <span class="cline-any cline-yes">18x</span>
724
728
  <span class="cline-any cline-neutral">&nbsp;</span>
725
729
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1052,7 +1056,7 @@ const MlGPXViewer = (props:MlGPXViewerProps) =&gt; {
1052
1056
  <span class="cstat-no" title="statement not covered" > if (node.nodeName === "link") {</span>
1053
1057
  <span class="cstat-no" title="statement not covered" > value = node.getAttribute("href");</span>
1054
1058
  }
1055
- <span class="cstat-no" title="statement not covered" > if (!!value?.trim().length) {</span>
1059
+ <span class="cstat-no" title="statement not covered" > if (value?.trim().length) {</span>
1056
1060
  const metaDatEntry = <span class="cstat-no" title="statement not covered" >{</span>
1057
1061
  title: title,
1058
1062
  value: value,
@@ -1097,6 +1101,8 @@ const MlGPXViewer = (props:MlGPXViewerProps) =&gt; {
1097
1101
  &nbsp;
1098
1102
  <span class="cstat-no" title="statement not covered" > fileupload.current.click();</span>
1099
1103
  };
1104
+ &nbsp;
1105
+
1100
1106
  return (
1101
1107
  &lt;&gt;
1102
1108
  &lt;div
@@ -1201,7 +1207,7 @@ export default MlGPXViewer;
1201
1207
  <div class='footer quiet pad2 space-top1 center small'>
1202
1208
  Code coverage generated by
1203
1209
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1204
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
1210
+ at 2022-12-16T12:30:49.297Z
1205
1211
  </div>
1206
1212
  <script src="../../../prettify.js"></script>
1207
1213
  <script>
@@ -1630,7 +1630,7 @@ export default toGeoJSON;
1630
1630
  <div class='footer quiet pad2 space-top1 center small'>
1631
1631
  Code coverage generated by
1632
1632
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1633
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
1633
+ at 2022-12-16T12:30:49.297Z
1634
1634
  </div>
1635
1635
  <script src="../../../prettify.js"></script>
1636
1636
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
119
+ at 2022-12-16T12:30:49.297Z
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -174,7 +174,17 @@
174
174
  <a name='L109'></a><a href='#L109'>109</a>
175
175
  <a name='L110'></a><a href='#L110'>110</a>
176
176
  <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
178
188
  <span class="cline-any cline-neutral">&nbsp;</span>
179
189
  <span class="cline-any cline-neutral">&nbsp;</span>
180
190
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -256,10 +266,7 @@
256
266
  <span class="cline-any cline-neutral">&nbsp;</span>
257
267
  <span class="cline-any cline-neutral">&nbsp;</span>
258
268
  <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-yes">11x</span>
260
- <span class="cline-any cline-yes">32x</span>
261
269
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">32x</span>
263
270
  <span class="cline-any cline-neutral">&nbsp;</span>
264
271
  <span class="cline-any cline-neutral">&nbsp;</span>
265
272
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -275,28 +282,46 @@
275
282
  <span class="cline-any cline-neutral">&nbsp;</span>
276
283
  <span class="cline-any cline-neutral">&nbsp;</span>
277
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-yes">11x</span>
286
+ <span class="cline-any cline-yes">32x</span>
278
287
  <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-yes">32x</span>
279
289
  <span class="cline-any cline-neutral">&nbsp;</span>
280
290
  <span class="cline-any cline-neutral">&nbsp;</span>
281
291
  <span class="cline-any cline-neutral">&nbsp;</span>
282
292
  <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-yes">32x</span>
284
293
  <span class="cline-any cline-neutral">&nbsp;</span>
285
294
  <span class="cline-any cline-neutral">&nbsp;</span>
286
295
  <span class="cline-any cline-neutral">&nbsp;</span>
287
296
  <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from "react";
289
- &nbsp;
290
- import useLayer from "../../hooks/useLayer";
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-yes">32x</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import React from 'react';
291
309
  &nbsp;
292
- import { v4 as uuidv4 } from "uuid";
310
+ import useLayer from '../../hooks/useLayer';
293
311
  &nbsp;
294
- import getDefaultPaintPropsByType from "./util/getDefaultPaintPropsByType";
295
- import getDefaulLayerTypeByGeometry from "./util/getDefaultLayerTypeByGeometry";
296
- import { Feature, FeatureCollection } from "@turf/turf";
312
+ import { v4 as uuidv4 } from 'uuid';
297
313
  &nbsp;
314
+ import getDefaultPaintPropsByType from './util/getDefaultPaintPropsByType';
315
+ import getDefaulLayerTypeByGeometry from './util/getDefaultLayerTypeByGeometry';
316
+ import { Feature, FeatureCollection } from '@turf/turf';
298
317
  &nbsp;
299
- import { LineLayerSpecification, CircleLayerSpecification, FillLayerSpecification,MapLayerMouseEvent, LayerSpecification } from "maplibre-gl";
318
+ import {
319
+ LineLayerSpecification,
320
+ CircleLayerSpecification,
321
+ FillLayerSpecification,
322
+ MapLayerMouseEvent,
323
+ LayerSpecification,
324
+ } from 'maplibre-gl';
300
325
  &nbsp;
301
326
  type MlGeoJsonLayerProps = {
302
327
  /**
@@ -306,7 +331,7 @@ type MlGeoJsonLayerProps = {
306
331
  /**
307
332
  * Id of an existing layer in the mapLibre instance to help specify the layer order
308
333
  * This layer will be visually beneath the layer with the "insertBeforeLayer" id.
309
- * This layer will not be added to the maplibre-gl instance until a layer with an
334
+ * This layer will not be added to the maplibre-gl instance until a layer with an
310
335
  * id that matches the value of insertBeforeLayer is created.
311
336
  */
312
337
  insertBeforeLayer?: string;
@@ -322,7 +347,7 @@ type MlGeoJsonLayerProps = {
322
347
  * Type of the layer that will be added to the MapLibre instance.
323
348
  * Possible values: "line", "circle", "fill"
324
349
  */
325
- type?: "fill" | "line" | "circle";
350
+ type?: 'fill' | 'line' | 'circle';
326
351
  /**
327
352
  * Paint property object, that is passed to the addLayer call.
328
353
  * Possible props depend on the layer type.
@@ -330,7 +355,10 @@ type MlGeoJsonLayerProps = {
330
355
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
331
356
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
332
357
  */
333
- paint?: CircleLayerSpecification['paint'] | FillLayerSpecification['paint'] | LineLayerSpecification['paint'];
358
+ paint?:
359
+ | CircleLayerSpecification['paint']
360
+ | FillLayerSpecification['paint']
361
+ | LineLayerSpecification['paint'];
334
362
  /**
335
363
  * Layout property object, that is passed to the addLayer call.
336
364
  * Possible props depend on the layer type.
@@ -338,7 +366,10 @@ type MlGeoJsonLayerProps = {
338
366
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#circle
339
367
  * https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#fill
340
368
  */
341
- layout?: CircleLayerSpecification['layout'] | FillLayerSpecification['layout'] | LineLayerSpecification['layout'];
369
+ layout?:
370
+ | CircleLayerSpecification['layout']
371
+ | FillLayerSpecification['layout']
372
+ | LineLayerSpecification['layout'];
342
373
  /**
343
374
  * Javascript object that is spread into the addLayer commands first parameter.
344
375
  */
@@ -346,7 +377,11 @@ type MlGeoJsonLayerProps = {
346
377
  /**
347
378
  * Javascript object with optional properties "fill", "line", "circle" to override implicit layer type default paint properties.
348
379
  */
349
- defaultPaintOverrides?: { circle?: CircleLayerSpecification['paint'], fill?: FillLayerSpecification['paint'], line?: LineLayerSpecification['paint'] };
380
+ defaultPaintOverrides?: {
381
+ circle?: CircleLayerSpecification['paint'];
382
+ fill?: FillLayerSpecification['paint'];
383
+ line?: LineLayerSpecification['paint'];
384
+ };
350
385
  /**
351
386
  * Hover event handler that is executed whenever a geometry rendered by this component is hovered.
352
387
  */
@@ -360,27 +395,23 @@ type MlGeoJsonLayerProps = {
360
395
  * left/unhovered.
361
396
  */
362
397
  onLeave?: MapLayerMouseEvent;
363
- }
398
+ };
364
399
  &nbsp;
365
400
  /**
366
401
  * Adds source and layer of types "line", "fill" or "circle" to display GeoJSON data on the map.
367
402
  *
368
403
  * @component
369
404
  */
405
+ &nbsp;
370
406
  const MlGeoJsonLayer = (props: MlGeoJsonLayerProps) =&gt; {
371
407
  const layerType = props.type || <span class="branch-1 cbranch-no" title="branch not covered" >getDefaulLayerTypeByGeometry(props.geojson);</span>
372
408
  // Use a useRef hook to reference the layer object to be able to access it later inside useEffect hooks
373
409
  useLayer({
374
410
  mapId: props.mapId,
375
- layerId: props.layerId || "MlGeoJsonLayer-" + uuidv4(),
411
+ layerId: props.layerId || 'MlGeoJsonLayer-' + uuidv4(),
376
412
  geojson: props.geojson,
377
413
  options: {
378
- paint:
379
- props.paint ||
380
- getDefaultPaintPropsByType(
381
- layerType,
382
- props.defaultPaintOverrides
383
- ),
414
+ paint: props.paint || getDefaultPaintPropsByType(layerType, props.defaultPaintOverrides),
384
415
  layout: props.layout || {},
385
416
  ...props.options,
386
417
  type: layerType as LayerSpecification['type'],
@@ -391,10 +422,9 @@ const MlGeoJsonLayer = (props: MlGeoJsonLayerProps) =&gt; {
391
422
  onLeave: props.onLeave,
392
423
  });
393
424
  &nbsp;
394
- return (&lt;&gt;&lt;/&gt;);
425
+ return &lt;&gt;&lt;/&gt;;
395
426
  };
396
427
  &nbsp;
397
- &nbsp;
398
428
  export default MlGeoJsonLayer;
399
429
  &nbsp;</pre></td></tr></table></pre>
400
430
 
@@ -403,7 +433,7 @@ export default MlGeoJsonLayer;
403
433
  <div class='footer quiet pad2 space-top1 center small'>
404
434
  Code coverage generated by
405
435
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
406
- at Wed Nov 16 2022 12:51:59 GMT+0000 (Coordinated Universal Time)
436
+ at 2022-12-16T12:30:49.297Z
407
437
  </div>
408
438
  <script src="../../../prettify.js"></script>
409
439
  <script>