@mapcomponents/react-maplibre 0.1.56 → 0.1.58

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 (277) hide show
  1. package/.eslintignore +11 -0
  2. package/.eslintrc.js +20 -0
  3. package/.github/workflows/check-formatting.yml +46 -0
  4. package/.prettierignore +11 -0
  5. package/.prettierrc.json +6 -0
  6. package/CHANGELOG.md +20 -0
  7. package/coverage/clover.xml +232 -80
  8. package/coverage/coverage-final.json +43 -37
  9. package/coverage/lcov-report/index.html +71 -26
  10. package/coverage/lcov-report/src/components/MapLibreMap/MapLibreMap.tsx.html +83 -83
  11. package/coverage/lcov-report/src/components/MapLibreMap/index.html +1 -1
  12. package/coverage/lcov-report/src/components/MlCenterPosition/MlCenterPosition.tsx.html +66 -66
  13. package/coverage/lcov-report/src/components/MlCenterPosition/index.html +1 -1
  14. package/coverage/lcov-report/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx.html +30 -30
  15. package/coverage/lcov-report/src/components/MlCreatePdfButton/index.html +1 -1
  16. package/coverage/lcov-report/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx.html +202 -0
  17. package/coverage/lcov-report/src/components/MlCreatePdfForm/index.html +116 -0
  18. package/coverage/lcov-report/src/components/MlFeatureEditor/MlFeatureEditor.tsx.html +99 -99
  19. package/coverage/lcov-report/src/components/MlFeatureEditor/index.html +1 -1
  20. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx.html +66 -66
  21. package/coverage/lcov-report/src/components/MlFillExtrusionLayer/index.html +1 -1
  22. package/coverage/lcov-report/src/components/MlFollowGps/MlFollowGps.tsx.html +221 -221
  23. package/coverage/lcov-report/src/components/MlFollowGps/index.html +1 -1
  24. package/coverage/lcov-report/src/components/MlGPXViewer/MlGPXViewer.tsx.html +308 -308
  25. package/coverage/lcov-report/src/components/MlGPXViewer/gpxConverter.js.html +497 -497
  26. package/coverage/lcov-report/src/components/MlGPXViewer/index.html +1 -1
  27. package/coverage/lcov-report/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx.html +85 -85
  28. package/coverage/lcov-report/src/components/MlGeoJsonLayer/index.html +1 -1
  29. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx.html +469 -0
  30. package/coverage/lcov-report/src/components/MlGeojsonLayerWithSource/index.html +116 -0
  31. package/coverage/lcov-report/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx.html +140 -140
  32. package/coverage/lcov-report/src/components/MlImageMarkerLayer/index.html +1 -1
  33. package/coverage/lcov-report/src/components/MlLayer/MlLayer.tsx.html +37 -37
  34. package/coverage/lcov-report/src/components/MlLayer/index.html +1 -1
  35. package/coverage/lcov-report/src/components/MlLayerMagnify/MlLayerMagnify.tsx.html +179 -179
  36. package/coverage/lcov-report/src/components/MlLayerMagnify/index.html +1 -1
  37. package/coverage/lcov-report/src/components/MlLayerSwipe/MlLayerSwipe.tsx.html +113 -113
  38. package/coverage/lcov-report/src/components/MlLayerSwipe/index.html +1 -1
  39. package/coverage/lcov-report/src/components/MlLayerSwitcher/MlLayerSwitcher.js.html +181 -181
  40. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/LayerBox.js.html +58 -58
  41. package/coverage/lcov-report/src/components/MlLayerSwitcher/components/index.html +1 -1
  42. package/coverage/lcov-report/src/components/MlLayerSwitcher/index.html +1 -1
  43. package/coverage/lcov-report/src/components/MlMarker/MlMarker.tsx.html +108 -108
  44. package/coverage/lcov-report/src/components/MlMarker/index.html +1 -1
  45. package/coverage/lcov-report/src/components/MlMeasureTool/MlMeasureTool.tsx.html +39 -39
  46. package/coverage/lcov-report/src/components/MlMeasureTool/index.html +1 -1
  47. package/coverage/lcov-report/src/components/MlNavigationCompass/MlNavigationCompass.tsx.html +183 -183
  48. package/coverage/lcov-report/src/components/MlNavigationCompass/index.html +1 -1
  49. package/coverage/lcov-report/src/components/MlNavigationTools/MlNavigationTools.tsx.html +163 -163
  50. package/coverage/lcov-report/src/components/MlNavigationTools/index.html +1 -1
  51. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.js.html +50 -50
  52. package/coverage/lcov-report/src/components/MlOsmLayer/MlOsmLayer.stories_.js.html +30 -30
  53. package/coverage/lcov-report/src/components/MlOsmLayer/index.html +1 -1
  54. package/coverage/lcov-report/src/components/MlScaleReference/MlScaleReference.js.html +89 -89
  55. package/coverage/lcov-report/src/components/MlScaleReference/index.html +11 -11
  56. package/coverage/lcov-report/src/components/MlShareMapState/MlShareMapState.js.html +204 -204
  57. package/coverage/lcov-report/src/components/MlShareMapState/index.html +1 -1
  58. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js.html +180 -180
  59. package/coverage/lcov-report/src/components/MlSpatialElevationProfile/index.html +1 -1
  60. package/coverage/lcov-report/src/components/MlThreeJsLayer/MlThreeJsLayer.js.html +163 -163
  61. package/coverage/lcov-report/src/components/MlThreeJsLayer/index.html +1 -1
  62. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx.html +136 -136
  63. package/coverage/lcov-report/src/components/MlTransitionGeoJsonLayer/index.html +1 -1
  64. package/coverage/lcov-report/src/components/MlUseMapDebugger/MlUseMapDebugger.js.html +53 -53
  65. package/coverage/lcov-report/src/components/MlUseMapDebugger/index.html +1 -1
  66. package/coverage/lcov-report/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx.html +123 -123
  67. package/coverage/lcov-report/src/components/MlVectorTileLayer/index.html +1 -1
  68. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js.html +35 -35
  69. package/coverage/lcov-report/src/components/MlWmsFeatureInfoPopup/index.html +1 -1
  70. package/coverage/lcov-report/src/components/MlWmsLayer/MlWmsLayer.tsx.html +155 -155
  71. package/coverage/lcov-report/src/components/MlWmsLayer/index.html +1 -1
  72. package/coverage/lcov-report/src/components/MlWmsLoader/MlWmsLoader.tsx.html +255 -255
  73. package/coverage/lcov-report/src/components/MlWmsLoader/index.html +1 -1
  74. package/coverage/lcov-report/src/contexts/MapContext.tsx.html +66 -66
  75. package/coverage/lcov-report/src/contexts/SimpleDataContext.js.html +1 -1
  76. package/coverage/lcov-report/src/contexts/SimpleDataProvider.js.html +48 -48
  77. package/coverage/lcov-report/src/contexts/index.html +1 -1
  78. package/coverage/lcov-report/src/hooks/exportMap/index.html +131 -0
  79. package/coverage/lcov-report/src/hooks/exportMap/index.ts.html +175 -0
  80. package/coverage/lcov-report/src/hooks/exportMap/lib.ts.html +646 -0
  81. package/coverage/lcov-report/src/hooks/index.html +48 -18
  82. package/coverage/lcov-report/src/hooks/useLayer.ts.html +230 -188
  83. package/coverage/lcov-report/src/hooks/useLayerEvent.js.html +232 -0
  84. package/coverage/lcov-report/src/hooks/useMap.ts.html +72 -69
  85. package/coverage/lcov-report/src/hooks/useMapState.ts.html +145 -145
  86. package/coverage/lcov-report/src/hooks/useSource.ts.html +337 -0
  87. package/coverage/lcov-report/src/hooks/useWms.js.html +72 -72
  88. package/coverage/lcov-report/src/index.html +1 -1
  89. package/coverage/lcov-report/src/index.ts.html +14 -2
  90. package/coverage/lcov.info +450 -153
  91. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.d.ts +24 -0
  92. package/dist/components/MlCreatePdfForm/MlCreatePdfForm.stories.d.ts +13 -0
  93. package/dist/components/MlCreatePdfForm/lib/PdfContext.d.ts +21 -0
  94. package/dist/components/MlCreatePdfForm/lib/PdfForm.d.ts +10 -0
  95. package/dist/components/MlCreatePdfForm/lib/PdfPreview.d.ts +13 -0
  96. package/dist/components/MlCreatePdfForm/lib/pdf.templates.d.ts +11 -0
  97. package/dist/components/MlFeatureEditor/lib/create_vertex.d.ts +1 -1
  98. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.d.ts +22 -0
  99. package/dist/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.d.ts +10 -0
  100. package/dist/components/MlLayerSwipe/MlLayerSwipe.d.ts +1 -1
  101. package/dist/components/MlWmsLayer/MlWmsLayer.d.ts +2 -2
  102. package/dist/decorators/MapContextDecoratorHooks.d.ts +2 -0
  103. package/dist/decorators/ThemeWrapper.d.ts +1 -0
  104. package/dist/hooks/exportMap/index.d.ts +11 -0
  105. package/dist/hooks/exportMap/lib.d.ts +36 -0
  106. package/dist/hooks/useLayer.d.ts +6 -5
  107. package/dist/hooks/useLayerEvent.d.ts +2 -0
  108. package/dist/hooks/useMap.d.ts +1 -1
  109. package/dist/hooks/useMapState.stories.d.ts +2 -2
  110. package/dist/hooks/useSource.d.ts +17 -0
  111. package/dist/hooks/useSources.stories.d.ts +13 -0
  112. package/dist/index.d.ts +4 -0
  113. package/dist/index.esm.js +479 -190
  114. package/dist/index.esm.js.map +1 -1
  115. package/eslintErrorTest.js +10 -0
  116. package/package.json +7 -1
  117. package/public/thumbnails/MlCreatePdfForm.png +0 -0
  118. package/src/components/MapLibreMap/MapLibreMap.stories.js +72 -72
  119. package/src/components/MapLibreMap/MapLibreMap.test.js +60 -60
  120. package/src/components/MapLibreMap/MapLibreMap.tsx +82 -82
  121. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.test.js +343 -343
  122. package/src/components/MapLibreMap/lib/MapLibreGlWrapper.ts +619 -619
  123. package/src/components/MlBasicComponent.js +25 -25
  124. package/src/components/MlCenterPosition/MlCenterPosition.stories.js +6 -6
  125. package/src/components/MlCenterPosition/MlCenterPosition.tsx +65 -65
  126. package/src/components/MlComponentTemplate/MlComponentTemplate.stories.js +5 -5
  127. package/src/components/MlComponentTemplate/MlComponentTemplate.tsx +23 -23
  128. package/src/components/MlCreatePdfButton/{MlCreatePdfButton.meta.json → MlCreatePdfButton.meta_.json} +0 -0
  129. package/src/components/MlCreatePdfButton/MlCreatePdfButton.stories.js +16 -16
  130. package/src/components/MlCreatePdfButton/MlCreatePdfButton.tsx +29 -29
  131. package/src/components/MlCreatePdfButton/lib/createPdf.ts +175 -175
  132. package/src/components/MlCreatePdfButton/lib/nominatimMap.ts +51 -51
  133. package/src/components/MlCreatePdfForm/MlCreatePdfForm.doc.de.md +3 -0
  134. package/src/components/MlCreatePdfForm/MlCreatePdfForm.meta.json +15 -0
  135. package/src/components/MlCreatePdfForm/MlCreatePdfForm.stories.tsx +152 -0
  136. package/src/components/MlCreatePdfForm/MlCreatePdfForm.tsx +39 -0
  137. package/src/components/MlCreatePdfForm/lib/PdfContext.tsx +53 -0
  138. package/src/components/MlCreatePdfForm/lib/PdfForm.tsx +161 -0
  139. package/src/components/MlCreatePdfForm/lib/PdfPreview.tsx +399 -0
  140. package/src/components/MlCreatePdfForm/lib/pdf.templates.ts +82 -0
  141. package/src/components/MlFeatureEditor/MlFeatureEditor.stories.js +55 -55
  142. package/src/components/MlFeatureEditor/MlFeatureEditor.test.js +105 -105
  143. package/src/components/MlFeatureEditor/MlFeatureEditor.tsx +119 -119
  144. package/src/components/MlFeatureEditor/custom-direct-select-mode.js +208 -208
  145. package/src/components/MlFeatureEditor/custom-polygon-mode.js +148 -148
  146. package/src/components/MlFeatureEditor/custom-select-mode.js +314 -314
  147. package/src/components/MlFeatureEditor/lib/common_selectors.js +34 -34
  148. package/src/components/MlFeatureEditor/lib/constants.js +61 -61
  149. package/src/components/MlFeatureEditor/lib/constrain_feature_movement.js +51 -51
  150. package/src/components/MlFeatureEditor/lib/create_midpoint.js +30 -30
  151. package/src/components/MlFeatureEditor/lib/create_supplementary_points.js +82 -82
  152. package/src/components/MlFeatureEditor/lib/create_vertex.js +16 -16
  153. package/src/components/MlFeatureEditor/lib/double_click_zoom.js +23 -23
  154. package/src/components/MlFeatureEditor/lib/euclidean_distance.js +3 -3
  155. package/src/components/MlFeatureEditor/lib/features_at.js +23 -23
  156. package/src/components/MlFeatureEditor/lib/get_features_and_set_cursor.js +15 -15
  157. package/src/components/MlFeatureEditor/lib/is_click.js +8 -8
  158. package/src/components/MlFeatureEditor/lib/is_event_at_coordinates.js +2 -2
  159. package/src/components/MlFeatureEditor/lib/is_tap.js +6 -6
  160. package/src/components/MlFeatureEditor/lib/map_event_to_bounding_box.js +4 -4
  161. package/src/components/MlFeatureEditor/lib/mode_handler.js +105 -105
  162. package/src/components/MlFeatureEditor/lib/mouse_event_point.js +5 -5
  163. package/src/components/MlFeatureEditor/lib/move_features.js +33 -33
  164. package/src/components/MlFeatureEditor/lib/sort_features.js +25 -25
  165. package/src/components/MlFeatureEditor/lib/string_set.js +36 -36
  166. package/src/components/MlFeatureEditor/lib/string_sets_are_equal.js +2 -2
  167. package/src/components/MlFeatureEditor/lib/theme.js +230 -230
  168. package/src/components/MlFeatureEditor/lib/to_dense_array.js +1 -1
  169. package/src/components/MlFeatureEditor/lib/utils.js +40 -40
  170. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.stories.js +9 -9
  171. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.test.js +4 -4
  172. package/src/components/MlFillExtrusionLayer/MlFillExtrusionLayer.tsx +65 -65
  173. package/src/components/MlFollowGps/MlFollowGps.stories.js +6 -6
  174. package/src/components/MlFollowGps/MlFollowGps.test.js +44 -44
  175. package/src/components/MlFollowGps/MlFollowGps.tsx +220 -220
  176. package/src/components/MlGPXViewer/MlGPXViewer.stories.js +15 -15
  177. package/src/components/MlGPXViewer/MlGPXViewer.test.js +12 -12
  178. package/src/components/MlGPXViewer/MlGPXViewer.tsx +345 -345
  179. package/src/components/MlGPXViewer/gpxConverter.js +496 -496
  180. package/src/components/MlGPXViewer/util/GeoJsonContext.ts +4 -4
  181. package/src/components/MlGPXViewer/util/GeoJsonProvider.tsx +16 -16
  182. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.stories.js +34 -34
  183. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.test.js +8 -8
  184. package/src/components/MlGeoJsonLayer/MlGeoJsonLayer.tsx +84 -84
  185. package/src/components/MlGeoJsonLayer/util/getDefaultLayerTypeByGeometry.ts +21 -21
  186. package/src/components/MlGeoJsonLayer/util/getDefaultPaintPropsByType.ts +27 -27
  187. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.doc.de.md +3 -0
  188. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.meta_.json +15 -0
  189. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.stories.js +19 -0
  190. package/src/components/MlGeojsonLayerWithSource/MlGeojsonLayerWithSource.tsx +128 -0
  191. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.stories.js +28 -28
  192. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.test.js +8 -8
  193. package/src/components/MlImageMarkerLayer/MlImageMarkerLayer.tsx +162 -162
  194. package/src/components/MlLayer/MlLayer.stories.js +5 -5
  195. package/src/components/MlLayer/MlLayer.test.js +86 -86
  196. package/src/components/MlLayer/MlLayer.tsx +36 -36
  197. package/src/components/MlLayerMagnify/MlLayerMagnify.stories.js +21 -21
  198. package/src/components/MlLayerMagnify/MlLayerMagnify.test.js +54 -54
  199. package/src/components/MlLayerMagnify/MlLayerMagnify.tsx +201 -201
  200. package/src/components/MlLayerSwipe/MlLayerSwipe.stories.js +20 -20
  201. package/src/components/MlLayerSwipe/MlLayerSwipe.test.js +54 -54
  202. package/src/components/MlLayerSwipe/MlLayerSwipe.tsx +130 -130
  203. package/src/components/MlLayerSwitcher/MlLayerSwitcher.js +194 -194
  204. package/src/components/MlLayerSwitcher/MlLayerSwitcher.stories.js +85 -85
  205. package/src/components/MlLayerSwitcher/components/LayerBox.js +57 -57
  206. package/src/components/MlMarker/MlMarker.stories.js +7 -7
  207. package/src/components/MlMarker/MlMarker.tsx +119 -119
  208. package/src/components/MlMeasureTool/MlMeasureTool.stories.js +64 -64
  209. package/src/components/MlMeasureTool/MlMeasureTool.tsx +38 -38
  210. package/src/components/MlNavigationCompass/MlNavigationCompass.stories.js +45 -45
  211. package/src/components/MlNavigationCompass/MlNavigationCompass.test.js +40 -40
  212. package/src/components/MlNavigationCompass/MlNavigationCompass.tsx +192 -192
  213. package/src/components/MlNavigationTools/MlNavigationTools.stories.js +18 -18
  214. package/src/components/MlNavigationTools/MlNavigationTools.tsx +173 -173
  215. package/src/components/MlOsmLayer/MlOsmLayer.js +49 -49
  216. package/src/components/MlOsmLayer/MlOsmLayer.stories_.js +29 -29
  217. package/src/components/MlOsmLayer/MlOsmLayer.test.js +8 -8
  218. package/src/components/MlScaleReference/MlScaleReference.js +82 -82
  219. package/src/components/MlScaleReference/MlScaleReference.stories.js +33 -35
  220. package/src/components/MlShareMapState/MlShareMapState.js +203 -203
  221. package/src/components/MlShareMapState/MlShareMapState.stories.js +68 -68
  222. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.js +201 -201
  223. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.stories.js +35 -35
  224. package/src/components/MlSpatialElevationProfile/MlSpatialElevationProfile.test.js +8 -8
  225. package/src/components/MlThreeJsLayer/MlThreeJsLayer.js +186 -186
  226. package/src/components/MlThreeJsLayer/MlThreeJsLayer.stories.js +21 -21
  227. package/src/components/MlThreeJsLayer/MlThreeJsLayer.test.js +24 -24
  228. package/src/components/MlThreeJsLayer/lib/GLTFLoader.js +3327 -3327
  229. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.stories.js +31 -30
  230. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.test.js +8 -8
  231. package/src/components/MlTransitionGeoJsonLayer/MlTransitionGeoJsonLayer.tsx +146 -146
  232. package/src/components/MlTransitionGeoJsonLayer/util/transitionFunctions.js +207 -207
  233. package/src/components/MlUseMapDebugger/MlUseMapDebugger.js +52 -52
  234. package/src/components/MlUseMapDebugger/MlUseMapDebugger.stories.js +13 -13
  235. package/src/components/MlVectorTileLayer/MlVectorTileLayer.stories.js +27 -27
  236. package/src/components/MlVectorTileLayer/MlVectorTileLayer.test.js +27 -27
  237. package/src/components/MlVectorTileLayer/MlVectorTileLayer.tsx +137 -137
  238. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.js +34 -34
  239. package/src/components/MlWmsFeatureInfoPopup/MlWmsFeatureInfoPopup.stories.js +7 -7
  240. package/src/components/MlWmsLayer/MlWmsLayer.stories.js +26 -26
  241. package/src/components/MlWmsLayer/MlWmsLayer.test.js +8 -8
  242. package/src/components/MlWmsLayer/MlWmsLayer.tsx +167 -167
  243. package/src/components/MlWmsLoader/MlWmsLoader.stories.js +27 -27
  244. package/src/components/MlWmsLoader/MlWmsLoader.tsx +254 -254
  245. package/src/contexts/MapComponentsProvider.test.js +229 -229
  246. package/src/contexts/MapContext.tsx +65 -65
  247. package/src/contexts/SimpleDataProvider.js +47 -47
  248. package/src/contexts/SimpleDataProvider.test.js +29 -29
  249. package/src/custom.d.tsx +14 -14
  250. package/src/decorators/MapContextDecorator.js +23 -25
  251. package/src/decorators/MapContextDecoratorHooks.js +34 -0
  252. package/src/decorators/MultiMapContextDecorator.js +63 -63
  253. package/src/decorators/NoNavToolsDecorator.js +17 -17
  254. package/src/decorators/ThemeWrapper.jsx +9 -0
  255. package/src/hooks/assets/pointWG.json +13 -0
  256. package/src/hooks/exportMap/index.ts +30 -0
  257. package/src/hooks/exportMap/lib.ts +187 -0
  258. package/src/hooks/useLayer.test.js +188 -188
  259. package/src/hooks/useLayer.ts +194 -180
  260. package/src/hooks/useLayerEvent.js +49 -0
  261. package/src/hooks/useMap.ts +67 -66
  262. package/src/hooks/useMapState.stories.js +78 -78
  263. package/src/hooks/useMapState.ts +161 -161
  264. package/src/hooks/useSource.ts +84 -0
  265. package/src/hooks/useSources.stories.js +232 -0
  266. package/src/hooks/useWms.js +71 -71
  267. package/src/index.ts +4 -0
  268. package/src/setupTests.js +86 -86
  269. package/src/ui_components/ImageLoader.js +62 -62
  270. package/src/ui_components/Legend.js +34 -34
  271. package/src/ui_components/LoadingOverlay.js +29 -29
  272. package/src/ui_components/LoadingOverlayContext.js +68 -68
  273. package/src/ui_components/Sidebar.js +80 -80
  274. package/src/ui_components/Tooltip.js +9 -9
  275. package/src/ui_components/TopToolbar.js +23 -23
  276. package/src/util/layerRemovalTest.js +111 -111
  277. package/src/util/sourceRemovalTest.js +103 -103
@@ -6,40 +6,40 @@ import area from "@mapbox/geojson-area";
6
6
  import * as Constants from "./constants";
7
7
 
8
8
  const FEATURE_SORT_RANKS = {
9
- Point: 0,
10
- LineString: 1,
11
- Polygon: 2,
9
+ Point: 0,
10
+ LineString: 1,
11
+ Polygon: 2,
12
12
  };
13
13
 
14
14
  function comparator(a, b) {
15
- const score =
16
- FEATURE_SORT_RANKS[a.geometry.type] - FEATURE_SORT_RANKS[b.geometry.type];
15
+ const score =
16
+ FEATURE_SORT_RANKS[a.geometry.type] - FEATURE_SORT_RANKS[b.geometry.type];
17
17
 
18
- if (score === 0 && a.geometry.type === Constants.geojsonTypes.POLYGON) {
19
- return a.area - b.area;
20
- }
18
+ if (score === 0 && a.geometry.type === Constants.geojsonTypes.POLYGON) {
19
+ return a.area - b.area;
20
+ }
21
21
 
22
- return score;
22
+ return score;
23
23
  }
24
24
 
25
25
  // Sort in the order above, then sort polygons by area ascending.
26
26
  function sortFeatures(features) {
27
- return features
28
- .map((feature) => {
29
- if (feature.geometry.type === Constants.geojsonTypes.POLYGON) {
30
- feature.area = area.geometry({
31
- type: Constants.geojsonTypes.FEATURE,
32
- property: {},
33
- geometry: feature.geometry,
34
- });
35
- }
36
- return feature;
37
- })
38
- .sort(comparator)
39
- .map((feature) => {
40
- delete feature.area;
41
- return feature;
42
- });
27
+ return features
28
+ .map((feature) => {
29
+ if (feature.geometry.type === Constants.geojsonTypes.POLYGON) {
30
+ feature.area = area.geometry({
31
+ type: Constants.geojsonTypes.FEATURE,
32
+ property: {},
33
+ geometry: feature.geometry,
34
+ });
35
+ }
36
+ return feature;
37
+ })
38
+ .sort(comparator)
39
+ .map((feature) => {
40
+ delete feature.area;
41
+ return feature;
42
+ });
43
43
  }
44
44
 
45
45
  export default sortFeatures;
@@ -3,57 +3,57 @@
3
3
  * and licensed under ISC
4
4
  */
5
5
  function StringSet(items) {
6
- this._items = {};
7
- this._nums = {};
8
- this._length = items ? items.length : 0;
9
- if (!items) return;
10
- for (let i = 0, l = items.length; i < l; i++) {
11
- this.add(items[i]);
12
- if (items[i] === undefined) continue;
13
- if (typeof items[i] === 'string') this._items[items[i]] = i;
14
- else this._nums[items[i]] = i;
15
-
16
- }
6
+ this._items = {};
7
+ this._nums = {};
8
+ this._length = items ? items.length : 0;
9
+ if (!items) return;
10
+ for (let i = 0, l = items.length; i < l; i++) {
11
+ this.add(items[i]);
12
+ if (items[i] === undefined) continue;
13
+ if (typeof items[i] === 'string') this._items[items[i]] = i;
14
+ else this._nums[items[i]] = i;
15
+
16
+ }
17
17
  }
18
18
 
19
19
  StringSet.prototype.add = function(x) {
20
- if (this.has(x)) return this;
21
- this._length++;
22
- if (typeof x === 'string') this._items[x] = this._length;
23
- else this._nums[x] = this._length;
24
- return this;
20
+ if (this.has(x)) return this;
21
+ this._length++;
22
+ if (typeof x === 'string') this._items[x] = this._length;
23
+ else this._nums[x] = this._length;
24
+ return this;
25
25
  };
26
26
 
27
27
  StringSet.prototype.delete = function(x) {
28
- if (this.has(x) === false) return this;
29
- this._length--;
30
- delete this._items[x];
31
- delete this._nums[x];
32
- return this;
28
+ if (this.has(x) === false) return this;
29
+ this._length--;
30
+ delete this._items[x];
31
+ delete this._nums[x];
32
+ return this;
33
33
  };
34
34
 
35
35
  StringSet.prototype.has = function(x) {
36
- if (typeof x !== 'string' && typeof x !== 'number') return false;
37
- return this._items[x] !== undefined || this._nums[x] !== undefined;
36
+ if (typeof x !== 'string' && typeof x !== 'number') return false;
37
+ return this._items[x] !== undefined || this._nums[x] !== undefined;
38
38
  };
39
39
 
40
40
  StringSet.prototype.values = function() {
41
- const values = [];
42
- Object.keys(this._items).forEach((k) => {
43
- values.push({ k, v: this._items[k] });
44
- });
45
- Object.keys(this._nums).forEach((k) => {
46
- values.push({ k: JSON.parse(k), v: this._nums[k] });
47
- });
48
-
49
- return values.sort((a, b) => a.v - b.v).map(a => a.k);
41
+ const values = [];
42
+ Object.keys(this._items).forEach((k) => {
43
+ values.push({ k, v: this._items[k] });
44
+ });
45
+ Object.keys(this._nums).forEach((k) => {
46
+ values.push({ k: JSON.parse(k), v: this._nums[k] });
47
+ });
48
+
49
+ return values.sort((a, b) => a.v - b.v).map(a => a.k);
50
50
  };
51
51
 
52
52
  StringSet.prototype.clear = function() {
53
- this._length = 0;
54
- this._items = {};
55
- this._nums = {};
56
- return this;
53
+ this._length = 0;
54
+ this._items = {};
55
+ this._nums = {};
56
+ return this;
57
57
  };
58
58
 
59
59
  export default StringSet;
@@ -3,6 +3,6 @@
3
3
  * and licensed under ISC
4
4
  */
5
5
  export default function(a, b) {
6
- if (a.length !== b.length) return false;
7
- return JSON.stringify(a.map(id => id).sort()) === JSON.stringify(b.map(id => id).sort());
6
+ if (a.length !== b.length) return false;
7
+ return JSON.stringify(a.map(id => id).sort()) === JSON.stringify(b.map(id => id).sort());
8
8
  }
@@ -3,234 +3,234 @@
3
3
  * and licensed under ISC
4
4
  */
5
5
  export default [
6
- {
7
- id: "gl-draw-polygon-fill-inactive",
8
- type: "fill",
9
- filter: [
10
- "all",
11
- ["==", "active", "false"],
12
- ["==", "$type", "Polygon"],
13
- ["!=", "mode", "static"],
14
- ],
15
- paint: {
16
- "fill-color": "#3bb2d0",
17
- "fill-outline-color": "#3bb2d0",
18
- "fill-opacity": 0.1,
19
- },
20
- },
21
- {
22
- id: "gl-draw-polygon-fill-active",
23
- type: "fill",
24
- filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
25
- paint: {
26
- "fill-color": "#fbb03b",
27
- "fill-outline-color": "#fbb03b",
28
- "fill-opacity": 0.1,
29
- },
30
- },
31
- {
32
- id: "gl-draw-polygon-midpoint",
33
- type: "circle",
34
- filter: ["all", ["==", "$type", "Point"], ["==", "meta", "midpoint"]],
35
- paint: {
36
- "circle-radius": 3,
37
- "circle-color": "#fbb03b",
38
- },
39
- },
40
- {
41
- id: "gl-draw-polygon-stroke-inactive",
42
- type: "line",
43
- filter: [
44
- "all",
45
- ["==", "active", "false"],
46
- ["==", "$type", "Polygon"],
47
- ["!=", "mode", "static"],
48
- ],
49
- layout: {
50
- "line-cap": "round",
51
- "line-join": "round",
52
- },
53
- paint: {
54
- "line-color": "#3bb2d0",
55
- "line-width": 2,
56
- },
57
- },
58
- {
59
- id: "gl-draw-polygon-stroke-active",
60
- type: "line",
61
- filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
62
- layout: {
63
- "line-cap": "round",
64
- "line-join": "round",
65
- },
66
- paint: {
67
- "line-color": "#fbb03b",
68
- "line-dasharray": [0.2, 2],
69
- "line-width": 2,
70
- },
71
- },
72
- {
73
- id: "gl-draw-line-inactive",
74
- type: "line",
75
- filter: [
76
- "all",
77
- ["==", "active", "false"],
78
- ["==", "$type", "LineString"],
79
- ["!=", "mode", "static"],
80
- ],
81
- layout: {
82
- "line-cap": "round",
83
- "line-join": "round",
84
- },
85
- paint: {
86
- "line-color": "#3bb2d0",
87
- "line-width": 2,
88
- },
89
- },
90
- {
91
- id: "gl-draw-line-active",
92
- type: "line",
93
- filter: ["all", ["==", "$type", "LineString"], ["==", "active", "true"]],
94
- layout: {
95
- "line-cap": "round",
96
- "line-join": "round",
97
- },
98
- paint: {
99
- "line-color": "#fbb03b",
100
- "line-dasharray": [0.2, 2],
101
- "line-width": 2,
102
- },
103
- },
104
- {
105
- id: "gl-draw-polygon-and-line-vertex-stroke-inactive",
106
- type: "circle",
107
- filter: [
108
- "all",
109
- ["==", "meta", "vertex"],
110
- ["==", "$type", "Point"],
111
- ["!=", "mode", "static"],
112
- ],
113
- paint: {
114
- "circle-radius": 5,
115
- "circle-color": "#fff",
116
- },
117
- },
118
- {
119
- id: "gl-draw-polygon-and-line-vertex-inactive",
120
- type: "circle",
121
- filter: [
122
- "all",
123
- ["==", "meta", "vertex"],
124
- ["==", "$type", "Point"],
125
- ["!=", "mode", "static"],
126
- ],
127
- paint: {
128
- "circle-radius": 3,
129
- "circle-color": "#fbb03b",
130
- },
131
- },
132
- {
133
- id: "gl-draw-point-point-stroke-inactive",
134
- type: "circle",
135
- filter: [
136
- "all",
137
- ["==", "active", "false"],
138
- ["==", "$type", "Point"],
139
- ["==", "meta", "feature"],
140
- ["!=", "mode", "static"],
141
- ],
142
- paint: {
143
- "circle-radius": 5,
144
- "circle-opacity": 1,
145
- "circle-color": "#fff",
146
- },
147
- },
148
- {
149
- id: "gl-draw-point-inactive",
150
- type: "circle",
151
- filter: [
152
- "all",
153
- ["==", "active", "false"],
154
- ["==", "$type", "Point"],
155
- ["==", "meta", "feature"],
156
- ["!=", "mode", "static"],
157
- ],
158
- paint: {
159
- "circle-radius": 3,
160
- "circle-color": "#3bb2d0",
161
- },
162
- },
163
- {
164
- id: "gl-draw-point-stroke-active",
165
- type: "circle",
166
- filter: [
167
- "all",
168
- ["==", "$type", "Point"],
169
- ["==", "active", "true"],
170
- ["!=", "meta", "midpoint"],
171
- ],
172
- paint: {
173
- "circle-radius": 7,
174
- "circle-color": "#fff",
175
- },
176
- },
177
- {
178
- id: "gl-draw-point-active",
179
- type: "circle",
180
- filter: [
181
- "all",
182
- ["==", "$type", "Point"],
183
- ["!=", "meta", "midpoint"],
184
- ["==", "active", "true"],
185
- ],
186
- paint: {
187
- "circle-radius": 5,
188
- "circle-color": "#fbb03b",
189
- },
190
- },
191
- {
192
- id: "gl-draw-polygon-fill-static",
193
- type: "fill",
194
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
195
- paint: {
196
- "fill-color": "#404040",
197
- "fill-outline-color": "#404040",
198
- "fill-opacity": 0.1,
199
- },
200
- },
201
- {
202
- id: "gl-draw-polygon-stroke-static",
203
- type: "line",
204
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
205
- layout: {
206
- "line-cap": "round",
207
- "line-join": "round",
208
- },
209
- paint: {
210
- "line-color": "#404040",
211
- "line-width": 2,
212
- },
213
- },
214
- {
215
- id: "gl-draw-line-static",
216
- type: "line",
217
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "LineString"]],
218
- layout: {
219
- "line-cap": "round",
220
- "line-join": "round",
221
- },
222
- paint: {
223
- "line-color": "#404040",
224
- "line-width": 2,
225
- },
226
- },
227
- {
228
- id: "gl-draw-point-static",
229
- type: "circle",
230
- filter: ["all", ["==", "mode", "static"], ["==", "$type", "Point"]],
231
- paint: {
232
- "circle-radius": 5,
233
- "circle-color": "#404040",
234
- },
235
- },
6
+ {
7
+ id: "gl-draw-polygon-fill-inactive",
8
+ type: "fill",
9
+ filter: [
10
+ "all",
11
+ ["==", "active", "false"],
12
+ ["==", "$type", "Polygon"],
13
+ ["!=", "mode", "static"],
14
+ ],
15
+ paint: {
16
+ "fill-color": "#3bb2d0",
17
+ "fill-outline-color": "#3bb2d0",
18
+ "fill-opacity": 0.1,
19
+ },
20
+ },
21
+ {
22
+ id: "gl-draw-polygon-fill-active",
23
+ type: "fill",
24
+ filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
25
+ paint: {
26
+ "fill-color": "#fbb03b",
27
+ "fill-outline-color": "#fbb03b",
28
+ "fill-opacity": 0.1,
29
+ },
30
+ },
31
+ {
32
+ id: "gl-draw-polygon-midpoint",
33
+ type: "circle",
34
+ filter: ["all", ["==", "$type", "Point"], ["==", "meta", "midpoint"]],
35
+ paint: {
36
+ "circle-radius": 3,
37
+ "circle-color": "#fbb03b",
38
+ },
39
+ },
40
+ {
41
+ id: "gl-draw-polygon-stroke-inactive",
42
+ type: "line",
43
+ filter: [
44
+ "all",
45
+ ["==", "active", "false"],
46
+ ["==", "$type", "Polygon"],
47
+ ["!=", "mode", "static"],
48
+ ],
49
+ layout: {
50
+ "line-cap": "round",
51
+ "line-join": "round",
52
+ },
53
+ paint: {
54
+ "line-color": "#3bb2d0",
55
+ "line-width": 2,
56
+ },
57
+ },
58
+ {
59
+ id: "gl-draw-polygon-stroke-active",
60
+ type: "line",
61
+ filter: ["all", ["==", "active", "true"], ["==", "$type", "Polygon"]],
62
+ layout: {
63
+ "line-cap": "round",
64
+ "line-join": "round",
65
+ },
66
+ paint: {
67
+ "line-color": "#fbb03b",
68
+ "line-dasharray": [0.2, 2],
69
+ "line-width": 2,
70
+ },
71
+ },
72
+ {
73
+ id: "gl-draw-line-inactive",
74
+ type: "line",
75
+ filter: [
76
+ "all",
77
+ ["==", "active", "false"],
78
+ ["==", "$type", "LineString"],
79
+ ["!=", "mode", "static"],
80
+ ],
81
+ layout: {
82
+ "line-cap": "round",
83
+ "line-join": "round",
84
+ },
85
+ paint: {
86
+ "line-color": "#3bb2d0",
87
+ "line-width": 2,
88
+ },
89
+ },
90
+ {
91
+ id: "gl-draw-line-active",
92
+ type: "line",
93
+ filter: ["all", ["==", "$type", "LineString"], ["==", "active", "true"]],
94
+ layout: {
95
+ "line-cap": "round",
96
+ "line-join": "round",
97
+ },
98
+ paint: {
99
+ "line-color": "#fbb03b",
100
+ "line-dasharray": [0.2, 2],
101
+ "line-width": 2,
102
+ },
103
+ },
104
+ {
105
+ id: "gl-draw-polygon-and-line-vertex-stroke-inactive",
106
+ type: "circle",
107
+ filter: [
108
+ "all",
109
+ ["==", "meta", "vertex"],
110
+ ["==", "$type", "Point"],
111
+ ["!=", "mode", "static"],
112
+ ],
113
+ paint: {
114
+ "circle-radius": 5,
115
+ "circle-color": "#fff",
116
+ },
117
+ },
118
+ {
119
+ id: "gl-draw-polygon-and-line-vertex-inactive",
120
+ type: "circle",
121
+ filter: [
122
+ "all",
123
+ ["==", "meta", "vertex"],
124
+ ["==", "$type", "Point"],
125
+ ["!=", "mode", "static"],
126
+ ],
127
+ paint: {
128
+ "circle-radius": 3,
129
+ "circle-color": "#fbb03b",
130
+ },
131
+ },
132
+ {
133
+ id: "gl-draw-point-point-stroke-inactive",
134
+ type: "circle",
135
+ filter: [
136
+ "all",
137
+ ["==", "active", "false"],
138
+ ["==", "$type", "Point"],
139
+ ["==", "meta", "feature"],
140
+ ["!=", "mode", "static"],
141
+ ],
142
+ paint: {
143
+ "circle-radius": 5,
144
+ "circle-opacity": 1,
145
+ "circle-color": "#fff",
146
+ },
147
+ },
148
+ {
149
+ id: "gl-draw-point-inactive",
150
+ type: "circle",
151
+ filter: [
152
+ "all",
153
+ ["==", "active", "false"],
154
+ ["==", "$type", "Point"],
155
+ ["==", "meta", "feature"],
156
+ ["!=", "mode", "static"],
157
+ ],
158
+ paint: {
159
+ "circle-radius": 3,
160
+ "circle-color": "#3bb2d0",
161
+ },
162
+ },
163
+ {
164
+ id: "gl-draw-point-stroke-active",
165
+ type: "circle",
166
+ filter: [
167
+ "all",
168
+ ["==", "$type", "Point"],
169
+ ["==", "active", "true"],
170
+ ["!=", "meta", "midpoint"],
171
+ ],
172
+ paint: {
173
+ "circle-radius": 7,
174
+ "circle-color": "#fff",
175
+ },
176
+ },
177
+ {
178
+ id: "gl-draw-point-active",
179
+ type: "circle",
180
+ filter: [
181
+ "all",
182
+ ["==", "$type", "Point"],
183
+ ["!=", "meta", "midpoint"],
184
+ ["==", "active", "true"],
185
+ ],
186
+ paint: {
187
+ "circle-radius": 5,
188
+ "circle-color": "#fbb03b",
189
+ },
190
+ },
191
+ {
192
+ id: "gl-draw-polygon-fill-static",
193
+ type: "fill",
194
+ filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
195
+ paint: {
196
+ "fill-color": "#404040",
197
+ "fill-outline-color": "#404040",
198
+ "fill-opacity": 0.1,
199
+ },
200
+ },
201
+ {
202
+ id: "gl-draw-polygon-stroke-static",
203
+ type: "line",
204
+ filter: ["all", ["==", "mode", "static"], ["==", "$type", "Polygon"]],
205
+ layout: {
206
+ "line-cap": "round",
207
+ "line-join": "round",
208
+ },
209
+ paint: {
210
+ "line-color": "#404040",
211
+ "line-width": 2,
212
+ },
213
+ },
214
+ {
215
+ id: "gl-draw-line-static",
216
+ type: "line",
217
+ filter: ["all", ["==", "mode", "static"], ["==", "$type", "LineString"]],
218
+ layout: {
219
+ "line-cap": "round",
220
+ "line-join": "round",
221
+ },
222
+ paint: {
223
+ "line-color": "#404040",
224
+ "line-width": 2,
225
+ },
226
+ },
227
+ {
228
+ id: "gl-draw-point-static",
229
+ type: "circle",
230
+ filter: ["all", ["==", "mode", "static"], ["==", "$type", "Point"]],
231
+ paint: {
232
+ "circle-radius": 5,
233
+ "circle-color": "#404040",
234
+ },
235
+ },
236
236
  ];
@@ -9,7 +9,7 @@
9
9
  * @return {Array<any>}
10
10
  */
11
11
  function toDenseArray(x) {
12
- return [].concat(x).filter(y => y !== undefined);
12
+ return [].concat(x).filter(y => y !== undefined);
13
13
  }
14
14
 
15
15
  export default toDenseArray;