@mapcomponents/react-maplibre 0.1.66 → 0.1.67

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 (179) hide show
  1. package/.github/workflows/node_version_test.yml +1 -1
  2. package/.storybook/main.js +37 -31
  3. package/.storybook/preview.js +21 -0
  4. package/CHANGELOG.md +13 -0
  5. package/coverage/clover.xml +419 -344
  6. package/coverage/coverage-final.json +15 -14
  7. package/coverage/lcov-report/index.html +61 -61
  8. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +24 -18
  9. package/coverage/lcov-report/src/components/MapLibreMap/index.html +14 -14
  10. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +2 -2
  11. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  12. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +1 -1
  13. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  14. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.cy.tsx.html +1 -1
  15. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +1 -1
  16. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +1 -1
  17. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +1 -1
  18. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  19. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +1 -1
  20. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  21. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +9 -9
  22. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  23. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +1 -1
  24. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  25. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.lineStyler.js.html +1 -1
  26. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeoJsonLayer.polygonStyler.js.html +1 -1
  27. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerCircleStyler.tsx.html +1 -1
  28. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/MlGeojsonLayerHeatMapStyler.tsx.html +1 -1
  29. package/coverage/lcov-report/src/components/MlGeoJsonLayer/story_utils/index.html +1 -1
  30. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +1 -1
  31. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +1 -1
  32. package/coverage/lcov-report/src/components/MlGpxViewer/MlGpxViewer.tsx.html +1 -1
  33. package/coverage/lcov-report/src/components/MlGpxViewer/index.html +1 -1
  34. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +1 -1
  35. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  36. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +1 -1
  37. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  38. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +52 -40
  39. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +10 -10
  40. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +4 -4
  41. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  42. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +1 -1
  43. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +1 -1
  44. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  46. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +1 -1
  47. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  48. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +1 -1
  49. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  50. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +1 -1
  51. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  52. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +1 -1
  53. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +1 -1
  55. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +1 -1
  56. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  57. package/coverage/lcov-report/src/components/MlScaleReference/{MlScaleReference.js.html → MlScaleReference.tsx.html} +57 -36
  58. package/coverage/lcov-report/src/components/MlScaleReference/index.html +2 -2
  59. package/coverage/lcov-report/src/components/MlShareMapState/{MlShareMapState.js.html → MlShareMapState.tsx.html} +192 -84
  60. package/coverage/lcov-report/src/components/MlShareMapState/index.html +20 -20
  61. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/ColorPicker.tsx.html +1 -1
  62. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerList.tsx.html +1 -1
  63. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerListItem.tsx.html +1 -1
  64. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/LayerPropertyForm.tsx.html +1 -1
  65. package/coverage/lcov-report/src/components/MlSketchTool/LayerList/index.html +1 -1
  66. package/coverage/lcov-report/src/components/MlSketchTool/MlSketchTool.tsx.html +1 -1
  67. package/coverage/lcov-report/src/components/MlSketchTool/index.html +1 -1
  68. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.tsx.html +1 -1
  69. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  70. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +1 -1
  71. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreejsLayer.tsx.html +769 -0
  72. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +25 -10
  73. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +1 -1
  74. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  75. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +1 -1
  76. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  77. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +1 -1
  78. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  79. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +11 -11
  80. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +11 -11
  81. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +1 -1
  82. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  83. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +27 -18
  84. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +11 -11
  85. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +50 -26
  86. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  87. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +1 -1
  88. package/coverage/lcov-report/src/contexts/index.html +1 -1
  89. package/coverage/lcov-report/src/hooks/index.html +21 -21
  90. package/coverage/lcov-report/src/hooks/useCameraFollowPath/index.html +1 -1
  91. package/coverage/lcov-report/src/hooks/useCameraFollowPath/useCameraFollowPath.tsx.html +1 -1
  92. package/coverage/lcov-report/src/hooks/useExportMap/index.html +1 -1
  93. package/coverage/lcov-report/src/hooks/useExportMap/index.ts.html +1 -1
  94. package/coverage/lcov-report/src/hooks/useExportMap/lib.ts.html +1 -1
  95. package/coverage/lcov-report/src/hooks/useGpx/index.html +1 -1
  96. package/coverage/lcov-report/src/hooks/useGpx/useGpx.tsx.html +1 -1
  97. package/coverage/lcov-report/src/hooks/useLayer.ts.html +1 -1
  98. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +9 -9
  99. package/coverage/lcov-report/src/hooks/useLayerFilter/index.html +1 -1
  100. package/coverage/lcov-report/src/hooks/useLayerFilter/useLayerFilter.ts.html +1 -1
  101. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/index.html +1 -1
  102. package/coverage/lcov-report/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx.html +9 -6
  103. package/coverage/lcov-report/src/hooks/useMap.ts.html +2 -2
  104. package/coverage/lcov-report/src/hooks/useMapState.ts.html +8 -29
  105. package/coverage/lcov-report/src/hooks/useSource.ts.html +10 -10
  106. package/coverage/lcov-report/src/hooks/useWms.ts.html +1 -1
  107. package/coverage/lcov-report/src/index.html +1 -1
  108. package/coverage/lcov-report/src/index.ts.html +80 -11
  109. package/coverage/lcov.info +741 -604
  110. package/dist/components/MapLibreMap/MapLibreMap.stories.d.ts +3 -0
  111. package/dist/components/MapLibreMap/lib/MapLibreGlWrapper.d.ts +17 -15
  112. package/dist/components/MlCenterPosition/MlCenterPosition.stories.d.ts +1 -1
  113. package/dist/components/MlComponentTemplate/MlComponentTemplate.stories.d.ts +1 -1
  114. package/dist/components/MlCreatePdfButton/MlCreatePdfButton.stories.d.ts +1 -1
  115. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +1 -1
  116. package/dist/components/MlFeatureEditor/lib/create_supplementary_points.d.ts +1 -1
  117. package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
  118. package/dist/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.d.ts +1 -1
  119. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +1 -1
  120. package/dist/components/MlGpxViewer/MlGpxViewer.stories.d.ts +1 -1
  121. package/dist/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.d.ts +1 -1
  122. package/dist/components/MlLayerMagnify/MlLayerMagnify.stories.d.ts +1 -1
  123. package/dist/components/MlLayerSwipe/MlLayerSwipe.stories.d.ts +1 -1
  124. package/dist/components/MlScaleReference/MlScaleReference.d.ts +7 -1
  125. package/dist/components/MlShareMapState/MlShareMapState.d.ts +32 -13
  126. package/dist/components/MlShareMapState/MlShareMapState.stories.d.ts +15 -9
  127. package/dist/components/MlSketchTool/MlSketchTool.stories.d.ts +1 -1
  128. package/dist/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.d.ts +1 -1
  129. package/dist/components/MlSpatialElevationProfile/util/getElevationData.d.ts +1 -1
  130. package/dist/components/MlThreeJsLayer/MlThreeJsLayer.stories.d.ts +1 -1
  131. package/dist/components/MlThreeJsLayer/MlThreejsLayer.d.ts +29 -0
  132. package/dist/components/MlThreeJsLayer/lib/GLTFLoader.d.ts +2 -1
  133. package/dist/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.d.ts +1 -1
  134. package/dist/components/MlWmsLoader/MlWmsLoader.stories.d.ts +1 -1
  135. package/dist/contexts/MapContext.d.ts +13 -2
  136. package/dist/custom.d.d.ts +1 -1
  137. package/dist/decorators/MapContextDecorator.d.ts +1 -1
  138. package/dist/decorators/MapContextDecoratorHooks.d.ts +1 -1
  139. package/dist/decorators/MultiMapContextDecorator.d.ts +1 -1
  140. package/dist/decorators/NoNavToolsDecorator.d.ts +1 -1
  141. package/dist/decorators/ThemeWrapper.d.ts +1 -3
  142. package/dist/hooks/useCameraFollowPath/useCameraFollowPath.stories.d.ts +1 -1
  143. package/dist/hooks/useLayerFilter/useLayerFilter.stories.d.ts +1 -1
  144. package/dist/index.d.ts +18 -8
  145. package/dist/index.esm.js +5590 -3701
  146. package/dist/index.esm.js.map +1 -1
  147. package/dist/setupTests.d.ts +6 -6
  148. package/package.json +56 -49
  149. package/public/thumbnails/{MlGPXViewer.png → MlGpxViewer.png} +0 -0
  150. package/rollup.config.js +49 -48
  151. package/src/@types/assets/index.d.ts +20 -0
  152. package/src/components/MapLibreMap/MapLibreMap.stories.js +8 -1
  153. package/src/components/MapLibreMap/MapLibreMap.tsx +11 -9
  154. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +49 -39
  155. package/src/components/MlCenterPosition/MlCenterPosition.tsx +1 -1
  156. package/src/components/MlFollowGps/MlFollowGps.tsx +8 -8
  157. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +21 -17
  158. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +3 -3
  159. package/src/components/MlScaleReference/{MlScaleReference.js → MlScaleReference.tsx} +38 -31
  160. package/src/components/MlShareMapState/MlShareMapState.stories.tsx +100 -0
  161. package/src/components/MlShareMapState/{MlShareMapState.js → MlShareMapState.tsx} +94 -58
  162. package/src/components/MlThreeJsLayer/MlThreejsLayer.tsx +228 -0
  163. package/src/components/MlWmsLoader/MlWmsLoader.tsx +7 -4
  164. package/src/contexts/MapContext.tsx +26 -19
  165. package/src/custom.d.ts +5 -0
  166. package/src/decorators/MapContextDecorator.js +39 -28
  167. package/src/decorators/MapContextDecoratorHooks.js +18 -8
  168. package/src/decorators/MultiMapContextDecorator.js +79 -69
  169. package/src/decorators/NoNavToolsDecorator.js +34 -25
  170. package/src/hooks/useLayerHoverPopup/useLayerHoverPopup.tsx +5 -4
  171. package/src/hooks/useMap.ts +1 -1
  172. package/src/hooks/useMapState.ts +6 -13
  173. package/src/hooks/useSource.ts +1 -1
  174. package/src/index.ts +31 -8
  175. package/src/ui_components/TopToolbar.tsx +1 -1
  176. package/tsconfig.json +1 -0
  177. package/src/components/MlShareMapState/MlShareMapState.stories.js +0 -100
  178. package/src/custom.d.tsx +0 -26
  179. package/src/decorators/ThemeWrapper.tsx +0 -9
@@ -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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -454,7 +454,7 @@ export default MlGeoJsonLayer;
454
454
  <div class='footer quiet pad2 space-top1 center small'>
455
455
  Code coverage generated by
456
456
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
- at 2023-01-23T12:34:46.087Z
457
+ at 2023-01-30T08:41:54.902Z
458
458
  </div>
459
459
  <script src="../../../prettify.js"></script>
460
460
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -637,7 +637,7 @@ export default LineStyler;
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 2023-01-23T12:34:46.087Z
640
+ at 2023-01-30T08:41:54.902Z
641
641
  </div>
642
642
  <script src="../../../../prettify.js"></script>
643
643
  <script>
@@ -634,7 +634,7 @@ export default PolygonStyler;
634
634
  <div class='footer quiet pad2 space-top1 center small'>
635
635
  Code coverage generated by
636
636
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
637
- at 2023-01-23T12:34:46.087Z
637
+ at 2023-01-30T08:41:54.902Z
638
638
  </div>
639
639
  <script src="../../../../prettify.js"></script>
640
640
  <script>
@@ -97,7 +97,7 @@ export default CircleMapStyler;
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2023-01-23T12:34:46.087Z
100
+ at 2023-01-30T08:41:54.902Z
101
101
  </div>
102
102
  <script src="../../../../prettify.js"></script>
103
103
  <script>
@@ -100,7 +100,7 @@ export default HeatMapStyler;
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2023-01-23T12:34:46.087Z
103
+ at 2023-01-30T08:41:54.902Z
104
104
  </div>
105
105
  <script src="../../../../prettify.js"></script>
106
106
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-01-23T12:34:46.087Z
149
+ at 2023-01-30T08:41:54.902Z
150
150
  </div>
151
151
  <script src="../../../../prettify.js"></script>
152
152
  <script>
@@ -454,7 +454,7 @@ export default MlGeojsonLayerWithSource;
454
454
  <div class='footer quiet pad2 space-top1 center small'>
455
455
  Code coverage generated by
456
456
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
- at 2023-01-23T12:34:46.087Z
457
+ at 2023-01-30T08:41:54.902Z
458
458
  </div>
459
459
  <script src="../../../prettify.js"></script>
460
460
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -379,7 +379,7 @@ export default MlGpxViewer;
379
379
  <div class='footer quiet pad2 space-top1 center small'>
380
380
  Code coverage generated by
381
381
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
382
- at 2023-01-23T12:34:46.087Z
382
+ at 2023-01-30T08:41:54.902Z
383
383
  </div>
384
384
  <script src="../../../prettify.js"></script>
385
385
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -370,7 +370,7 @@ export default MlImageMarkerLayer;
370
370
  <div class='footer quiet pad2 space-top1 center small'>
371
371
  Code coverage generated by
372
372
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
373
- at 2023-01-23T12:34:46.087Z
373
+ at 2023-01-30T08:41:54.902Z
374
374
  </div>
375
375
  <script src="../../../prettify.js"></script>
376
376
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -232,7 +232,7 @@ export default MlLayer;
232
232
  <div class='footer quiet pad2 space-top1 center small'>
233
233
  Code coverage generated by
234
234
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235
- at 2023-01-23T12:34:46.087Z
235
+ at 2023-01-30T08:41:54.902Z
236
236
  </div>
237
237
  <script src="../../../prettify.js"></script>
238
238
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.38% </span>
26
+ <span class="strong">75.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>49/65</span>
28
+ <span class='fraction'>50/66</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">77.41% </span>
47
+ <span class="strong">77.77% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>48/62</span>
49
+ <span class='fraction'>49/63</span>
50
50
  </div>
51
51
 
52
52
 
@@ -279,7 +279,11 @@
279
279
  <a name='L214'></a><a href='#L214'>214</a>
280
280
  <a name='L215'></a><a href='#L215'>215</a>
281
281
  <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
283
287
  <span class="cline-any cline-neutral">&nbsp;</span>
284
288
  <span class="cline-any cline-neutral">&nbsp;</span>
285
289
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -325,14 +329,14 @@
325
329
  <span class="cline-any cline-neutral">&nbsp;</span>
326
330
  <span class="cline-any cline-neutral">&nbsp;</span>
327
331
  <span class="cline-any cline-yes">3x</span>
328
- <span class="cline-any cline-yes">3x</span>
332
+ <span class="cline-any cline-yes">4x</span>
329
333
  <span class="cline-any cline-no">&nbsp;</span>
330
334
  <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-yes">3x</span>
335
+ <span class="cline-any cline-yes">4x</span>
332
336
  <span class="cline-any cline-yes">1x</span>
333
337
  <span class="cline-any cline-neutral">&nbsp;</span>
334
338
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">2x</span>
339
+ <span class="cline-any cline-yes">3x</span>
336
340
  <span class="cline-any cline-neutral">&nbsp;</span>
337
341
  <span class="cline-any cline-neutral">&nbsp;</span>
338
342
  <span class="cline-any cline-yes">3x</span>
@@ -356,32 +360,32 @@
356
360
  <span class="cline-any cline-neutral">&nbsp;</span>
357
361
  <span class="cline-any cline-yes">3x</span>
358
362
  <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-yes">1x</span>
363
+ <span class="cline-any cline-yes">2x</span>
360
364
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">1x</span>
365
+ <span class="cline-any cline-yes">2x</span>
362
366
  <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-yes">1x</span>
367
+ <span class="cline-any cline-yes">2x</span>
364
368
  <span class="cline-any cline-neutral">&nbsp;</span>
365
369
  <span class="cline-any cline-neutral">&nbsp;</span>
366
370
  <span class="cline-any cline-neutral">&nbsp;</span>
367
371
  <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">1x</span>
372
+ <span class="cline-any cline-yes">2x</span>
369
373
  <span class="cline-any cline-neutral">&nbsp;</span>
370
374
  <span class="cline-any cline-neutral">&nbsp;</span>
371
375
  <span class="cline-any cline-neutral">&nbsp;</span>
372
376
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-yes">1x</span>
376
- <span class="cline-any cline-yes">1x</span>
377
+ <span class="cline-any cline-yes">2x</span>
378
+ <span class="cline-any cline-yes">2x</span>
379
+ <span class="cline-any cline-yes">2x</span>
380
+ <span class="cline-any cline-yes">2x</span>
377
381
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">1x</span>
379
- <span class="cline-any cline-yes">1x</span>
380
- <span class="cline-any cline-yes">1x</span>
381
- <span class="cline-any cline-yes">1x</span>
382
- <span class="cline-any cline-yes">1x</span>
382
+ <span class="cline-any cline-yes">2x</span>
383
+ <span class="cline-any cline-yes">2x</span>
384
+ <span class="cline-any cline-yes">2x</span>
385
+ <span class="cline-any cline-yes">2x</span>
386
+ <span class="cline-any cline-yes">2x</span>
383
387
  <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">1x</span>
388
+ <span class="cline-any cline-yes">2x</span>
385
389
  <span class="cline-any cline-neutral">&nbsp;</span>
386
390
  <span class="cline-any cline-neutral">&nbsp;</span>
387
391
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -401,6 +405,10 @@
401
405
  <span class="cline-any cline-neutral">&nbsp;</span>
402
406
  <span class="cline-any cline-neutral">&nbsp;</span>
403
407
  <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-yes">1x</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
412
  <span class="cline-any cline-neutral">&nbsp;</span>
405
413
  <span class="cline-any cline-neutral">&nbsp;</span>
406
414
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -500,7 +508,7 @@
500
508
  // @ts-ignore
501
509
  import syncMove from '@mapbox/mapbox-gl-sync-move';
502
510
  import './style.css';
503
- import MapContext from '../../contexts/MapContext';
511
+ import MapContext, { MapContextType } from '../../contexts/MapContext';
504
512
  &nbsp;
505
513
  export interface MlLayerMagnifyProps {
506
514
  /**
@@ -531,10 +539,10 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
531
539
  const syncMoveInitializedRef = useRef(false);
532
540
  const syncCleanupFunctionRef = useRef(<span class="fstat-no" title="function not covered" >()</span> =&gt; {});
533
541
  &nbsp;
534
- const [swipeX, setSwipeX] = useState('50');
535
- const swipeXRef = useRef('50');
536
- const [swipeY, setSwipeY] = useState('50');
537
- const swipeYRef = useRef('50');
542
+ const [swipeX, setSwipeX] = useState(50);
543
+ const swipeXRef = useRef(50);
544
+ const [swipeY, setSwipeY] = useState(50);
545
+ const swipeYRef = useRef(50);
538
546
  &nbsp;
539
547
  const magnifierRadius = useMemo(() =&gt; {
540
548
  return props.magnifierRadius || <span class="branch-1 cbranch-no" title="branch not covered" >200;</span>
@@ -557,7 +565,7 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
557
565
  <span class="cstat-no" title="statement not covered" > onMove({</span>
558
566
  clientX: swipeXRef.current,
559
567
  clientY: swipeYRef.current,
560
- });
568
+ } as (TouchEvent &amp; MouseEvent));
561
569
  });
562
570
  &nbsp;
563
571
  useEffect(() =&gt; {
@@ -571,25 +579,25 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
571
579
  }, []);
572
580
  &nbsp;
573
581
  const onMove = useCallback(
574
- (e) =&gt; {
582
+ (e:(TouchEvent &amp; MouseEvent)) =&gt; {
575
583
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!mapExists()) <span class="cstat-no" title="statement not covered" >return;</span>
576
584
  &nbsp;
577
585
  const bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();
578
586
  let clientX =
579
- e.clientX ||
580
- (typeof e.touches !== 'undefined' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >typeof e.touches[0] !== 'undefined'</span>
581
- ? <span class="branch-0 cbranch-no" title="branch not covered" >e.touches[0].clientX</span>
587
+ e?.clientX ||
588
+ (typeof e?.touches !== 'undefined' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >typeof e?.touches[0] !== 'undefined'</span>
589
+ ? <span class="branch-0 cbranch-no" title="branch not covered" >e?.touches[0].clientX</span>
582
590
  : 0);
583
591
  let clientY =
584
- e.clientY ||
592
+ e?.clientY ||
585
593
  (typeof e.touches !== 'undefined' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >typeof e.touches[0] !== 'undefined'</span>
586
594
  ? <span class="branch-0 cbranch-no" title="branch not covered" >e.touches[0].clientY</span>
587
595
  : 0);
588
596
  &nbsp;
589
597
  clientX -= bounds.x;
590
598
  clientY -= bounds.y;
591
- const swipeX_tmp = ((clientX / bounds.width) * 100).toFixed(2);
592
- const swipeY_tmp = ((clientY / bounds.height) * 100).toFixed(2);
599
+ const swipeX_tmp = parseFloat(((clientX / bounds.width) * 100).toFixed(2));
600
+ const swipeY_tmp = parseFloat(((clientY / bounds.height) * 100).toFixed(2));
593
601
  &nbsp;
594
602
  <span class="missing-if-branch" title="else path not taken" >E</span>if (swipeXRef.current !== swipeX_tmp || <span class="branch-1 cbranch-no" title="branch not covered" >swipeYRef.current !== swipeY_tmp)</span> {
595
603
  setSwipeX(swipeX_tmp);
@@ -599,9 +607,9 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
599
607
  &nbsp;
600
608
  mapContext.maps[props.map2Id].getContainer().style.clipPath =
601
609
  `circle(${magnifierRadius}px at ` +
602
- (parseFloat(swipeXRef.current) * bounds.width) / 100 +
610
+ (swipeXRef.current * bounds.width) / 100 +
603
611
  'px ' +
604
- (parseFloat(swipeYRef.current) * bounds.height) / 100 +
612
+ (swipeYRef.current * bounds.height) / 100 +
605
613
  'px)';
606
614
  }
607
615
  },
@@ -617,6 +625,10 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
617
625
  mapContext.getMap(props.map2Id).map
618
626
  );
619
627
  &nbsp;
628
+ onMove({
629
+ clientX: swipeXRef.current,
630
+ clientY: swipeYRef.current,
631
+ } as (TouchEvent &amp; MouseEvent));
620
632
  /*
621
633
  automatically adjust radius for small screens
622
634
  if (
@@ -647,7 +659,7 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
647
659
  onMove({
648
660
  clientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,
649
661
  clientY: mapContext.maps[props.map1Id].getCanvas().clientHeight / 2,
650
- });
662
+ } as (TouchEvent &amp; MouseEvent));
651
663
  }, [mapContext.mapIds, mapContext, mapExists, props, onMove]);
652
664
  &nbsp;
653
665
  const onDown = <span class="fstat-no" title="function not covered" >(e</span>: React.MouseEvent | React.TouchEvent) =&gt; {
@@ -672,7 +684,7 @@ const MlLayerMagnify = (props: MlLayerMagnifyProps) =&gt; {
672
684
  &nbsp;
673
685
  const onWheel = <span class="fstat-no" title="function not covered" >(e</span>: React.WheelEvent) =&gt; {
674
686
  const evCopy = <span class="cstat-no" title="statement not covered" >new WheelEvent(e.type, e as unknown as WheelEventInit);</span>
675
- <span class="cstat-no" title="statement not covered" > mapContext.map.getCanvas().dispatchEvent(evCopy);</span>
687
+ <span class="cstat-no" title="statement not covered" > mapContext.map?.map.getCanvas().dispatchEvent(evCopy);</span>
676
688
  };
677
689
  &nbsp;
678
690
  return (
@@ -718,7 +730,7 @@ export default MlLayerMagnify;
718
730
  <div class='footer quiet pad2 space-top1 center small'>
719
731
  Code coverage generated by
720
732
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
721
- at 2023-01-23T12:34:46.087Z
733
+ at 2023-01-30T08:41:54.902Z
722
734
  </div>
723
735
  <script src="../../../prettify.js"></script>
724
736
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">75.38% </span>
26
+ <span class="strong">75.75% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>49/65</span>
28
+ <span class='fraction'>50/66</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">77.41% </span>
47
+ <span class="strong">77.77% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>48/62</span>
49
+ <span class='fraction'>49/63</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="MlLayerMagnify.tsx"><a href="MlLayerMagnify.tsx.html">MlLayerMagnify.tsx</a></td>
83
- <td data-value="75.38" class="pic medium">
83
+ <td data-value="75.75" class="pic medium">
84
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="75.38" class="pct medium">75.38%</td>
87
- <td data-value="65" class="abs medium">49/65</td>
86
+ <td data-value="75.75" class="pct medium">75.75%</td>
87
+ <td data-value="66" class="abs medium">50/66</td>
88
88
  <td data-value="63.88" class="pct medium">63.88%</td>
89
89
  <td data-value="36" class="abs medium">23/36</td>
90
90
  <td data-value="53.84" class="pct medium">53.84%</td>
91
91
  <td data-value="13" class="abs medium">7/13</td>
92
- <td data-value="77.41" class="pct medium">77.41%</td>
93
- <td data-value="62" class="abs medium">48/62</td>
92
+ <td data-value="77.77" class="pct medium">77.77%</td>
93
+ <td data-value="63" class="abs medium">49/63</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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -358,7 +358,7 @@
358
358
  // @ts-ignore
359
359
  import syncMove from '@mapbox/mapbox-gl-sync-move';
360
360
  import './style.css';
361
- import MapContext from '../../contexts/MapContext';
361
+ import MapContext, { MapContextType } from '../../contexts/MapContext';
362
362
  &nbsp;
363
363
  export interface MlLayerSwipeProps {
364
364
  /**
@@ -403,7 +403,7 @@ const MlLayerSwipe = (props: MlLayerSwipeProps) =&gt; {
403
403
  };
404
404
  &nbsp;
405
405
  const onMove = useCallback(
406
- (e) =&gt; {
406
+ (e:(TouchEvent &amp; MouseEvent)) =&gt; {
407
407
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!mapExists()) <span class="cstat-no" title="statement not covered" >return;</span>
408
408
  &nbsp;
409
409
  const bounds = mapContext.maps[props.map1Id].getCanvas().getBoundingClientRect();
@@ -442,7 +442,7 @@ const MlLayerSwipe = (props: MlLayerSwipeProps) =&gt; {
442
442
  );
443
443
  onMove({
444
444
  clientX: mapContext.maps[props.map1Id].getCanvas().clientWidth / 2,
445
- });
445
+ } as (TouchEvent &amp; MouseEvent));
446
446
  }, [mapContext.mapIds, mapContext, props, onMove, mapExists]);
447
447
  &nbsp;
448
448
  const onDown = <span class="fstat-no" title="function not covered" >(e</span>: React.MouseEvent | React.TouchEvent) =&gt; {
@@ -505,7 +505,7 @@ export default MlLayerSwipe;
505
505
  <div class='footer quiet pad2 space-top1 center small'>
506
506
  Code coverage generated by
507
507
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
508
- at 2023-01-23T12:34:46.087Z
508
+ at 2023-01-30T08:41:54.902Z
509
509
  </div>
510
510
  <script src="../../../prettify.js"></script>
511
511
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -721,7 +721,7 @@ export default MlLayerSwitcher;
721
721
  <div class='footer quiet pad2 space-top1 center small'>
722
722
  Code coverage generated by
723
723
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
724
- at 2023-01-23T12:34:46.087Z
724
+ at 2023-01-30T08:41:54.902Z
725
725
  </div>
726
726
  <script src="../../../prettify.js"></script>
727
727
  <script>
@@ -301,7 +301,7 @@ export default LayerBox;
301
301
  <div class='footer quiet pad2 space-top1 center small'>
302
302
  Code coverage generated by
303
303
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
304
- at 2023-01-23T12:34:46.087Z
304
+ at 2023-01-30T08:41:54.902Z
305
305
  </div>
306
306
  <script src="../../../../prettify.js"></script>
307
307
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -490,7 +490,7 @@ export default MlMarker;
490
490
  <div class='footer quiet pad2 space-top1 center small'>
491
491
  Code coverage generated by
492
492
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
493
- at 2023-01-23T12:34:46.087Z
493
+ at 2023-01-30T08:41:54.902Z
494
494
  </div>
495
495
  <script src="../../../prettify.js"></script>
496
496
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -250,7 +250,7 @@ export default MlMeasureTool;
250
250
  <div class='footer quiet pad2 space-top1 center small'>
251
251
  Code coverage generated by
252
252
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
253
- at 2023-01-23T12:34:46.087Z
253
+ at 2023-01-30T08:41:54.902Z
254
254
  </div>
255
255
  <script src="../../../prettify.js"></script>
256
256
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -748,7 +748,7 @@ export default MlNavigationCompass;
748
748
  <div class='footer quiet pad2 space-top1 center small'>
749
749
  Code coverage generated by
750
750
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
751
- at 2023-01-23T12:34:46.087Z
751
+ at 2023-01-30T08:41:54.902Z
752
752
  </div>
753
753
  <script src="../../../prettify.js"></script>
754
754
  <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 2023-01-23T12:34:46.087Z
104
+ at 2023-01-30T08:41:54.902Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -670,7 +670,7 @@ export default MlNavigationTools;
670
670
  <div class='footer quiet pad2 space-top1 center small'>
671
671
  Code coverage generated by
672
672
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
673
- at 2023-01-23T12:34:46.087Z
673
+ at 2023-01-30T08:41:54.902Z
674
674
  </div>
675
675
  <script src="../../../prettify.js"></script>
676
676
  <script>