@mapcomponents/react-maplibre 0.1.43 → 0.1.46

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 (169) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/coverage/clover.xml +222 -146
  3. package/coverage/coverage-final.json +7 -5
  4. package/coverage/lcov-report/index.html +86 -71
  5. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +40 -10
  6. package/coverage/lcov-report/src/components/MapLibreMap/index.html +17 -17
  7. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  8. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  9. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +1 -1
  10. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  11. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  12. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  13. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +1 -1
  14. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  15. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +1 -1
  16. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +1 -1
  17. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  18. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +1 -1
  19. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  20. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +188 -53
  21. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +21 -21
  22. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  23. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +1 -1
  25. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  26. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +1 -1
  27. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  28. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +2 -2
  29. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  30. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  31. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  33. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +184 -0
  35. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +116 -0
  36. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  37. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  39. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  40. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  41. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +232 -0
  42. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +25 -10
  43. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +1 -1
  44. package/coverage/lcov-report/src/components/MlScaleReference/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +1 -1
  46. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +1 -1
  48. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  49. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  50. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  51. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
  52. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  53. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  54. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  55. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +74 -20
  56. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +19 -19
  57. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +1 -1
  58. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  59. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +80 -20
  60. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +21 -21
  61. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +1 -1
  62. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  63. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +1 -1
  64. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  65. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  66. package/coverage/lcov-report/src/contexts/index.html +1 -1
  67. package/coverage/lcov-report/src/hooks/index.html +19 -19
  68. package/coverage/lcov-report/src/hooks/useLayer.ts.html +72 -27
  69. package/coverage/lcov-report/src/hooks/useMap.ts.html +1 -1
  70. package/coverage/lcov-report/src/hooks/useMapState.ts.html +1 -1
  71. package/coverage/lcov-report/src/hooks/useWms.js.html +1 -1
  72. package/coverage/lcov-report/src/index.html +1 -1
  73. package/coverage/lcov-report/src/index.ts.html +9 -6
  74. package/coverage/lcov.info +452 -279
  75. package/dist/index.esm.js +136 -40
  76. package/dist/index.esm.js.map +1 -1
  77. package/docs-build/{0.b1b9b035.iframe.bundle.js → 0.0ee4f98c.iframe.bundle.js} +2 -2
  78. package/docs-build/0.0ee4f98c.iframe.bundle.js.map +1 -0
  79. package/docs-build/{1.c50fb367.iframe.bundle.js → 1.bb3cf738.iframe.bundle.js} +3 -3
  80. package/docs-build/1.bb3cf738.iframe.bundle.js.map +1 -0
  81. package/docs-build/{17.2e544968.iframe.bundle.js → 17.97db5b3f.iframe.bundle.js} +2 -2
  82. package/docs-build/17.97db5b3f.iframe.bundle.js.map +1 -0
  83. package/docs-build/{18.42087006.iframe.bundle.js → 18.f8d843df.iframe.bundle.js} +3 -3
  84. package/docs-build/18.f8d843df.iframe.bundle.js.map +1 -0
  85. package/docs-build/{19.7e782442.iframe.bundle.js → 19.c45e6b08.iframe.bundle.js} +2 -2
  86. package/docs-build/19.c45e6b08.iframe.bundle.js.map +1 -0
  87. package/docs-build/{2.e58dc625.iframe.bundle.js → 2.42c790e4.iframe.bundle.js} +2 -2
  88. package/docs-build/2.42c790e4.iframe.bundle.js.map +1 -0
  89. package/docs-build/{20.f009289a.iframe.bundle.js → 20.120bbcfb.iframe.bundle.js} +2 -2
  90. package/docs-build/20.120bbcfb.iframe.bundle.js.map +1 -0
  91. package/docs-build/{21.1cdc9040.iframe.bundle.js → 21.37c885f1.iframe.bundle.js} +2 -2
  92. package/docs-build/21.37c885f1.iframe.bundle.js.map +1 -0
  93. package/docs-build/{22.c9e6b2d7.iframe.bundle.js → 22.7fbc99f4.iframe.bundle.js} +2 -2
  94. package/docs-build/22.7fbc99f4.iframe.bundle.js.map +1 -0
  95. package/docs-build/{3.a8172b89.iframe.bundle.js → 3.1a37a83e.iframe.bundle.js} +2 -2
  96. package/docs-build/3.1a37a83e.iframe.bundle.js.map +1 -0
  97. package/docs-build/iframe.html +1 -1
  98. package/docs-build/main~24120820.905c51c8.iframe.bundle.js +2 -0
  99. package/docs-build/main~24120820.905c51c8.iframe.bundle.js.map +1 -0
  100. package/docs-build/thumbnails/MlMeasureTool.png +0 -0
  101. package/docs-build/{vendors~main~0ad7406a.2054ae7c.iframe.bundle.js → vendors~main~0ad7406a.93aea1be.iframe.bundle.js} +3 -3
  102. package/docs-build/vendors~main~0ad7406a.93aea1be.iframe.bundle.js.map +1 -0
  103. package/docs-build/vendors~main~0f485567.6e7163ef.iframe.bundle.js +2 -0
  104. package/docs-build/vendors~main~0f485567.6e7163ef.iframe.bundle.js.map +1 -0
  105. package/docs-build/{vendors~main~41a6ab2c.a947ed53.iframe.bundle.js → vendors~main~41a6ab2c.da377733.iframe.bundle.js} +2 -2
  106. package/docs-build/vendors~main~41a6ab2c.da377733.iframe.bundle.js.map +1 -0
  107. package/docs-build/{vendors~main~52589227.1d1558cd.iframe.bundle.js → vendors~main~52589227.cebbe724.iframe.bundle.js} +2 -2
  108. package/docs-build/vendors~main~52589227.cebbe724.iframe.bundle.js.map +1 -0
  109. package/docs-build/{vendors~main~57c1f6cb.6a433835.iframe.bundle.js → vendors~main~57c1f6cb.86178471.iframe.bundle.js} +2 -2
  110. package/docs-build/vendors~main~57c1f6cb.86178471.iframe.bundle.js.map +1 -0
  111. package/docs-build/{vendors~main~73914085.a8e03e3b.iframe.bundle.js → vendors~main~73914085.e2f34f8e.iframe.bundle.js} +6 -6
  112. package/docs-build/{vendors~main~73914085.a8e03e3b.iframe.bundle.js.map → vendors~main~73914085.e2f34f8e.iframe.bundle.js.map} +1 -1
  113. package/docs-build/{vendors~main~9c5b28f6.7b8beed1.iframe.bundle.js → vendors~main~9c5b28f6.eefa7445.iframe.bundle.js} +3 -3
  114. package/docs-build/vendors~main~9c5b28f6.eefa7445.iframe.bundle.js.map +1 -0
  115. package/docs-build/{vendors~main~b5906859.7f66dcaf.iframe.bundle.js → vendors~main~b5906859.210afc21.iframe.bundle.js} +5 -5
  116. package/docs-build/vendors~main~b5906859.210afc21.iframe.bundle.js.map +1 -0
  117. package/docs-build/{vendors~main~b8f44717.7053e467.iframe.bundle.js → vendors~main~b8f44717.7b869975.iframe.bundle.js} +3 -3
  118. package/docs-build/vendors~main~b8f44717.7b869975.iframe.bundle.js.map +1 -0
  119. package/docs-build/{vendors~main~b9cf3951.a4fd68f5.iframe.bundle.js → vendors~main~b9cf3951.62d39717.iframe.bundle.js} +11 -11
  120. package/docs-build/vendors~main~b9cf3951.62d39717.iframe.bundle.js.map +1 -0
  121. package/docs-build/vendors~main~d939e436.394e3bc7.iframe.bundle.js +2 -0
  122. package/docs-build/vendors~main~d939e436.394e3bc7.iframe.bundle.js.map +1 -0
  123. package/docs-build/vendors~main~f420d588.88814a6a.iframe.bundle.js +107 -0
  124. package/docs-build/vendors~main~f420d588.88814a6a.iframe.bundle.js.map +1 -0
  125. package/package.json +1 -1
  126. package/public/thumbnails/MlMeasureTool.png +0 -0
  127. package/src/components/MapLibreMap/MapLibreMap.stories.js +75 -20
  128. package/src/components/MapLibreMap/MapLibreMap.tsx +11 -1
  129. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +2 -2
  130. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +1 -1
  131. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +82 -37
  132. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +1 -1
  133. package/src/components/MlMeasureTool/MlMeasureTool.doc.de.md +3 -0
  134. package/src/components/MlMeasureTool/MlMeasureTool.meta.json +15 -0
  135. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +67 -0
  136. package/src/components/MlMeasureTool/MlMeasureTool.tsx +33 -0
  137. package/src/components/MlOsmLayer/{MlOsmLayer.stories.js → MlOsmLayer.stories_.js} +0 -0
  138. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +26 -8
  139. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +2 -3
  140. package/src/components/MlWmsLayer/MlWmsLayer.tsx +27 -7
  141. package/src/hooks/useLayer.ts +26 -11
  142. package/src/index.ts +4 -4
  143. package/src/util/layerRemovalTest.js +5 -0
  144. package/docs-build/0.b1b9b035.iframe.bundle.js.map +0 -1
  145. package/docs-build/1.c50fb367.iframe.bundle.js.map +0 -1
  146. package/docs-build/17.2e544968.iframe.bundle.js.map +0 -1
  147. package/docs-build/18.42087006.iframe.bundle.js.map +0 -1
  148. package/docs-build/19.7e782442.iframe.bundle.js.map +0 -1
  149. package/docs-build/2.e58dc625.iframe.bundle.js.map +0 -1
  150. package/docs-build/20.f009289a.iframe.bundle.js.map +0 -1
  151. package/docs-build/21.1cdc9040.iframe.bundle.js.map +0 -1
  152. package/docs-build/22.c9e6b2d7.iframe.bundle.js.map +0 -1
  153. package/docs-build/3.a8172b89.iframe.bundle.js.map +0 -1
  154. package/docs-build/main~24120820.edd86ba9.iframe.bundle.js +0 -2
  155. package/docs-build/main~24120820.edd86ba9.iframe.bundle.js.map +0 -1
  156. package/docs-build/vendors~main~0ad7406a.2054ae7c.iframe.bundle.js.map +0 -1
  157. package/docs-build/vendors~main~0f485567.de36692f.iframe.bundle.js +0 -2
  158. package/docs-build/vendors~main~0f485567.de36692f.iframe.bundle.js.map +0 -1
  159. package/docs-build/vendors~main~41a6ab2c.a947ed53.iframe.bundle.js.map +0 -1
  160. package/docs-build/vendors~main~52589227.1d1558cd.iframe.bundle.js.map +0 -1
  161. package/docs-build/vendors~main~57c1f6cb.6a433835.iframe.bundle.js.map +0 -1
  162. package/docs-build/vendors~main~9c5b28f6.7b8beed1.iframe.bundle.js.map +0 -1
  163. package/docs-build/vendors~main~b5906859.7f66dcaf.iframe.bundle.js.map +0 -1
  164. package/docs-build/vendors~main~b8f44717.7053e467.iframe.bundle.js.map +0 -1
  165. package/docs-build/vendors~main~b9cf3951.a4fd68f5.iframe.bundle.js.map +0 -1
  166. package/docs-build/vendors~main~d939e436.ba1cad1b.iframe.bundle.js +0 -2
  167. package/docs-build/vendors~main~d939e436.ba1cad1b.iframe.bundle.js.map +0 -1
  168. package/docs-build/vendors~main~f420d588.59c93444.iframe.bundle.js +0 -107
  169. package/docs-build/vendors~main~f420d588.59c93444.iframe.bundle.js.map +0 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">74.57% </span>
26
+ <span class="strong">69.84% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>44/59</span>
28
+ <span class='fraction'>44/63</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">67.92% </span>
33
+ <span class="strong">62.06% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>36/53</span>
35
+ <span class='fraction'>36/58</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
40
+ <span class="strong">87.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/8</span>
42
+ <span class='fraction'>7/8</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
47
+ <span class="strong">70% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>42/56</span>
49
+ <span class='fraction'>42/60</span>
50
50
  </div>
51
51
 
52
52
 
@@ -243,7 +243,22 @@
243
243
  <a name='L178'></a><a href='#L178'>178</a>
244
244
  <a name='L179'></a><a href='#L179'>179</a>
245
245
  <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
247
262
  <span class="cline-any cline-neutral">&nbsp;</span>
248
263
  <span class="cline-any cline-neutral">&nbsp;</span>
249
264
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -303,12 +318,14 @@
303
318
  <span class="cline-any cline-neutral">&nbsp;</span>
304
319
  <span class="cline-any cline-yes">60x</span>
305
320
  <span class="cline-any cline-yes">14x</span>
306
- <span class="cline-any cline-yes">14x</span>
307
321
  <span class="cline-any cline-neutral">&nbsp;</span>
308
322
  <span class="cline-any cline-yes">14x</span>
323
+ <span class="cline-any cline-no">&nbsp;</span>
309
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-yes">14x</span>
310
326
  <span class="cline-any cline-no">&nbsp;</span>
311
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-yes">14x</span>
312
329
  <span class="cline-any cline-neutral">&nbsp;</span>
313
330
  <span class="cline-any cline-yes">14x</span>
314
331
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -345,6 +362,18 @@
345
362
  <span class="cline-any cline-no">&nbsp;</span>
346
363
  <span class="cline-any cline-neutral">&nbsp;</span>
347
364
  <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-yes">14x</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-no">&nbsp;</span>
371
+ <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
377
  <span class="cline-any cline-yes">14x</span>
349
378
  <span class="cline-any cline-yes">14x</span>
350
379
  <span class="cline-any cline-yes">14x</span>
@@ -374,6 +403,11 @@
374
403
  <span class="cline-any cline-neutral">&nbsp;</span>
375
404
  <span class="cline-any cline-yes">60x</span>
376
405
  <span class="cline-any cline-yes">60x</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
411
  <span class="cline-any cline-yes">28x</span>
378
412
  <span class="cline-any cline-neutral">&nbsp;</span>
379
413
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -403,13 +437,9 @@
403
437
  <span class="cline-any cline-neutral">&nbsp;</span>
404
438
  <span class="cline-any cline-neutral">&nbsp;</span>
405
439
  <span class="cline-any cline-yes">60x</span>
406
- <span class="cline-any cline-yes">7x</span>
407
- <span class="cline-any cline-yes">7x</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-yes">60x</span>
411
440
  <span class="cline-any cline-yes">14x</span>
412
441
  <span class="cline-any cline-yes">7x</span>
442
+ <span class="cline-any cline-yes">7x</span>
413
443
  <span class="cline-any cline-neutral">&nbsp;</span>
414
444
  <span class="cline-any cline-neutral">&nbsp;</span>
415
445
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -482,13 +512,15 @@ function useLayer(props: useLayerProps): useLayerType {
482
512
  );
483
513
  &nbsp;
484
514
  const createLayer = useCallback(() =&gt; {
485
- <span class="missing-if-branch" title="if path not taken" >I</span>if (initializedRef.current || !mapHook.map) <span class="cstat-no" title="statement not covered" >return;</span>
486
- initializedRef.current = true;
515
+ <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>
487
516
  &nbsp;
488
517
  <span class="missing-if-branch" title="if path not taken" >I</span>if (mapHook.map.map.getLayer(layerId.current)) {
489
- // remove (cleanup) &amp; reinitialize the layer if type has changed
490
- <span class="cstat-no" title="statement not covered" > cleanup();</span>
518
+ <span class="cstat-no" title="statement not covered" > mapHook.cleanup();</span>
519
+ }
520
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (mapHook.map.map.getSource(layerId.current)) {
521
+ <span class="cstat-no" title="statement not covered" > mapHook.map.map.removeSource(layerId.current);</span>
491
522
  }
523
+ initializedRef.current = true;
492
524
  &nbsp;
493
525
  mapHook.map.addLayer(
494
526
  {
@@ -524,6 +556,18 @@ function useLayer(props: useLayerProps): useLayerType {
524
556
  <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof props.onLeave !== "undefined") {
525
557
  <span class="cstat-no" title="statement not covered" > mapHook.map.on("mouseleave", layerId.current, props.onLeave, mapHook.componentId);</span>
526
558
  }
559
+ &nbsp;
560
+ // recreate layer if style has changed
561
+ mapHook.map.on(
562
+ "styledata",
563
+ <span class="fstat-no" title="function not covered" > ()</span> =&gt; {
564
+ <span class="cstat-no" title="statement not covered" > if (initializedRef.current &amp;&amp; !mapHook.map?.map.getLayer(layerId.current)) {</span>
565
+ <span class="cstat-no" title="statement not covered" > console.log("Recreate Layer");</span>
566
+ <span class="cstat-no" title="statement not covered" > createLayer();</span>
567
+ }
568
+ },
569
+ mapHook.componentId
570
+ );
527
571
  &nbsp;
528
572
  layerPaintConfRef.current = JSON.stringify(props.options?.paint);
529
573
  layerLayoutConfRef.current = JSON.stringify(props.options?.layout);
@@ -553,7 +597,12 @@ function useLayer(props: useLayerProps): useLayerType {
553
597
  }, [props.geojson, mapHook.map, props.options.type]);
554
598
  &nbsp;
555
599
  useEffect(() =&gt; {
556
- if (!mapHook.map || !mapHook.map?.map?.getLayer?.(layerId.current) || !initializedRef.current)
600
+ if (
601
+ !mapHook.map ||
602
+ !mapHook.map?.map?.getLayer?.(layerId.current) ||
603
+ !initializedRef.current ||
604
+ props.options.type !== layerTypeRef.current
605
+ )
557
606
  return;
558
607
  &nbsp;
559
608
  var key;
@@ -581,15 +630,11 @@ function useLayer(props: useLayerProps): useLayerType {
581
630
  <span class="cstat-no" title="statement not covered" > layerPaintConfRef.current = paintString;</span>
582
631
  }
583
632
  }, [props.options, mapHook.map]);
584
- &nbsp;
585
- const cleanup = () =&gt; {
586
- initializedRef.current = false;
587
- mapHook.cleanup();
588
- };
589
633
  &nbsp;
590
634
  useEffect(() =&gt; {
591
635
  return () =&gt; {
592
- cleanup();
636
+ initializedRef.current = false;
637
+ mapHook.cleanup();
593
638
  };
594
639
  }, []);
595
640
  &nbsp;
@@ -610,7 +655,7 @@ export default useLayer;
610
655
  <div class='footer quiet pad2 space-top1 center small'>
611
656
  Code coverage generated by
612
657
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
613
- at Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
658
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
614
659
  </div>
615
660
  <script src="../../prettify.js"></script>
616
661
  <script>
@@ -340,7 +340,7 @@ export type { useMapType };
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
343
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
345
  <script src="../../prettify.js"></script>
346
346
  <script>
@@ -637,7 +637,7 @@ export default useMapState;
637
637
  <div class='footer quiet pad2 space-top1 center small'>
638
638
  Code coverage generated by
639
639
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
640
- at Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
640
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
641
641
  </div>
642
642
  <script src="../../prettify.js"></script>
643
643
  <script>
@@ -343,7 +343,7 @@ export default useWms;
343
343
  <div class='footer quiet pad2 space-top1 center small'>
344
344
  Code coverage generated by
345
345
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
346
- at Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
346
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
347
347
  </div>
348
348
  <script src="../../prettify.js"></script>
349
349
  <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 Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
104
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -100,7 +100,9 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
106
  <span class="cline-any cline-neutral">&nbsp;</span>
105
107
  <span class="cline-any cline-neutral">&nbsp;</span>
106
108
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -171,17 +173,18 @@ export { default as useMapState } from "./hooks/useMapState";
171
173
  export { default as useMap } from "./hooks/useMap";
172
174
  export { default as useWms } from "./hooks/useWms.js";
173
175
  &nbsp;
174
- export { MapComponentsProvider } from './contexts/MapContext';
175
- export { default as MapContext } from './contexts/MapContext';
176
- export { default as SimpleDataProvider } from './contexts/SimpleDataProvider';
177
- export { default as SimpleDataContext } from './contexts/SimpleDataContext';</pre></td></tr></table></pre>
176
+ export { MapComponentsProvider } from "./contexts/MapContext";
177
+ export { default as MapContext } from "./contexts/MapContext";
178
+ export { default as SimpleDataProvider } from "./contexts/SimpleDataProvider";
179
+ export { default as SimpleDataContext } from "./contexts/SimpleDataContext";
180
+ &nbsp;</pre></td></tr></table></pre>
178
181
 
179
182
  <div class='push'></div><!-- for sticky footer -->
180
183
  </div><!-- /wrapper -->
181
184
  <div class='footer quiet pad2 space-top1 center small'>
182
185
  Code coverage generated by
183
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at Tue May 10 2022 14:40:14 GMT+0000 (Coordinated Universal Time)
187
+ at Sun Jun 12 2022 17:06:19 GMT+0000 (Coordinated Universal Time)
185
188
  </div>
186
189
  <script src="../prettify.js"></script>
187
190
  <script>