@map-colonies/react-components 3.10.5 → 3.12.2

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 (384) hide show
  1. package/.eslintignore +1 -1
  2. package/.storybook/main.js +13 -13
  3. package/.storybook/manager.js +6 -6
  4. package/.storybook/preview-head.html +21 -21
  5. package/.storybook/preview.js +18 -18
  6. package/.storybook/theme.js +9 -9
  7. package/CHANGELOG.md +619 -538
  8. package/README.md +53 -53
  9. package/dist/autocomplete/autocomplete.css +25 -25
  10. package/dist/autocomplete/autocomplete.d.ts +33 -33
  11. package/dist/autocomplete/autocomplete.js +478 -478
  12. package/dist/autocomplete/index.d.ts +1 -1
  13. package/dist/autocomplete/index.js +5 -5
  14. package/dist/box/box.d.ts +3 -3
  15. package/dist/box/box.js +35 -35
  16. package/dist/box/index.d.ts +1 -1
  17. package/dist/box/index.js +5 -5
  18. package/dist/cesium-map/data-sources/custom.data-source.d.ts +5 -5
  19. package/dist/cesium-map/data-sources/custom.data-source.js +23 -23
  20. package/dist/cesium-map/data-sources/drawings.data-source.d.ts +34 -34
  21. package/dist/cesium-map/data-sources/drawings.data-source.js +187 -187
  22. package/dist/cesium-map/data-sources/index.d.ts +2 -2
  23. package/dist/cesium-map/data-sources/index.js +14 -14
  24. package/dist/cesium-map/entities/entity.d.ts +5 -5
  25. package/dist/cesium-map/entities/entity.description.d.ts +6 -6
  26. package/dist/cesium-map/entities/entity.description.js +27 -27
  27. package/dist/cesium-map/entities/entity.js +23 -23
  28. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +5 -5
  29. package/dist/cesium-map/entities/graphics/polygon.graphics.js +23 -23
  30. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +5 -5
  31. package/dist/cesium-map/entities/graphics/polyline.graphics.js +23 -23
  32. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +5 -5
  33. package/dist/cesium-map/entities/graphics/rectangle.graphics.js +23 -23
  34. package/dist/cesium-map/entities/index.d.ts +4 -4
  35. package/dist/cesium-map/entities/index.js +16 -16
  36. package/dist/cesium-map/index.d.ts +8 -7
  37. package/dist/cesium-map/index.js +20 -19
  38. package/dist/cesium-map/layers/3d.tileset.d.ts +7 -7
  39. package/dist/cesium-map/layers/3d.tileset.js +43 -39
  40. package/dist/cesium-map/layers/3d.tileset.with.update.d.ts +6 -0
  41. package/dist/cesium-map/layers/3d.tileset.with.update.js +115 -0
  42. package/dist/cesium-map/layers/geojson.layer.d.ts +5 -5
  43. package/dist/cesium-map/layers/geojson.layer.js +23 -23
  44. package/dist/cesium-map/layers/imagery.layer.d.ts +6 -6
  45. package/dist/cesium-map/layers/imagery.layer.js +68 -64
  46. package/dist/cesium-map/layers/index.d.ts +7 -7
  47. package/dist/cesium-map/layers/index.js +19 -19
  48. package/dist/cesium-map/layers/osm.layer.d.ts +9 -9
  49. package/dist/cesium-map/layers/osm.layer.js +36 -36
  50. package/dist/cesium-map/layers/wms.layer.d.ts +9 -9
  51. package/dist/cesium-map/layers/wms.layer.js +36 -36
  52. package/dist/cesium-map/layers/wmts.layer.d.ts +9 -9
  53. package/dist/cesium-map/layers/wmts.layer.js +36 -36
  54. package/dist/cesium-map/layers/xyz.layer.d.ts +9 -9
  55. package/dist/cesium-map/layers/xyz.layer.js +36 -36
  56. package/dist/cesium-map/layers-manager.d.ts +55 -47
  57. package/dist/cesium-map/layers-manager.js +246 -228
  58. package/dist/cesium-map/map-legend/MapLegend.css +135 -0
  59. package/dist/cesium-map/map-legend/MapLegend.d.ts +15 -0
  60. package/dist/cesium-map/map-legend/MapLegend.js +57 -0
  61. package/dist/cesium-map/map-legend/MapLegendList.d.ts +13 -0
  62. package/dist/cesium-map/map-legend/MapLegendList.js +43 -0
  63. package/dist/cesium-map/map-legend/MapLegendSidebar.d.ts +16 -0
  64. package/dist/cesium-map/map-legend/MapLegendSidebar.js +20 -0
  65. package/dist/cesium-map/map-legend/MapLegendToggle.d.ts +7 -0
  66. package/dist/cesium-map/map-legend/MapLegendToggle.js +20 -0
  67. package/dist/cesium-map/map-legend/index.d.ts +3 -0
  68. package/dist/cesium-map/map-legend/index.js +14 -0
  69. package/dist/cesium-map/map.css +59 -54
  70. package/dist/cesium-map/map.d.ts +59 -46
  71. package/dist/cesium-map/map.js +305 -273
  72. package/dist/cesium-map/map.types.d.ts +8 -8
  73. package/dist/cesium-map/map.types.js +12 -12
  74. package/dist/cesium-map/proxied.types.d.ts +30 -22
  75. package/dist/cesium-map/proxied.types.js +132 -100
  76. package/dist/cesium-map/settings/base-maps.css +37 -37
  77. package/dist/cesium-map/settings/base-maps.d.ts +7 -7
  78. package/dist/cesium-map/settings/base-maps.js +78 -78
  79. package/dist/cesium-map/settings/scene-modes.css +19 -19
  80. package/dist/cesium-map/settings/scene-modes.d.ts +7 -7
  81. package/dist/cesium-map/settings/scene-modes.js +65 -65
  82. package/dist/cesium-map/settings/settings.css +52 -49
  83. package/dist/cesium-map/settings/settings.d.ts +23 -23
  84. package/dist/cesium-map/settings/settings.js +79 -79
  85. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +3 -3
  86. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -245
  87. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +9 -9
  88. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +202 -202
  89. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +50 -50
  90. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +136 -136
  91. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +2 -2
  92. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +38 -38
  93. package/dist/cesium-map/tools/coordinates-tracker.tool.css +11 -11
  94. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +7 -7
  95. package/dist/cesium-map/tools/coordinates-tracker.tool.js +78 -78
  96. package/dist/cesium-map/tools/draw/drawHelper.css +101 -101
  97. package/dist/cesium-map/tools/draw/drawHelper.d.ts +28 -28
  98. package/dist/cesium-map/tools/draw/drawHelper.js +1694 -1694
  99. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +4 -4
  100. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +41 -41
  101. package/dist/cesium-map/tools/geojson/index.d.ts +2 -2
  102. package/dist/cesium-map/tools/geojson/index.js +14 -14
  103. package/dist/cesium-map/tools/geojson/point.geojson.d.ts +3 -3
  104. package/dist/cesium-map/tools/geojson/point.geojson.js +21 -21
  105. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +3 -3
  106. package/dist/cesium-map/tools/geojson/polygon.geojson.js +24 -24
  107. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +3 -3
  108. package/dist/cesium-map/tools/geojson/rectangle.geojson.js +44 -44
  109. package/dist/cesium-map/tools/inspector.tool.d.ts +4 -4
  110. package/dist/cesium-map/tools/inspector.tool.js +33 -33
  111. package/dist/cesium-map/tools/scale-tracker.tool.css +16 -16
  112. package/dist/cesium-map/tools/scale-tracker.tool.d.ts +8 -8
  113. package/dist/cesium-map/tools/scale-tracker.tool.js +158 -158
  114. package/dist/cesium-map/tools/terranian-height.tool.d.ts +4 -4
  115. package/dist/cesium-map/tools/terranian-height.tool.js +114 -113
  116. package/dist/cssbaseline/cssbaseline.d.ts +5 -5
  117. package/dist/cssbaseline/cssbaseline.js +41 -41
  118. package/dist/cssbaseline/index.d.ts +1 -1
  119. package/dist/cssbaseline/index.js +6 -6
  120. package/dist/date-picker/date-picker.css +9 -9
  121. package/dist/date-picker/date-picker.d.ts +14 -14
  122. package/dist/date-picker/date-picker.js +78 -78
  123. package/dist/date-picker/index.d.ts +1 -1
  124. package/dist/date-picker/index.js +13 -13
  125. package/dist/date-range-picker/date-range-picker.css +9 -9
  126. package/dist/date-range-picker/date-range-picker.d.ts +26 -26
  127. package/dist/date-range-picker/date-range-picker.form-control.css +3 -3
  128. package/dist/date-range-picker/date-range-picker.form-control.d.ts +28 -28
  129. package/dist/date-range-picker/date-range-picker.form-control.js +95 -95
  130. package/dist/date-range-picker/date-range-picker.js +104 -104
  131. package/dist/date-range-picker/index.d.ts +2 -2
  132. package/dist/date-range-picker/index.js +14 -14
  133. package/dist/file-picker/file-picker.css +63 -63
  134. package/dist/file-picker/file-picker.d.ts +276 -276
  135. package/dist/file-picker/file-picker.js +151 -151
  136. package/dist/file-picker/fs-map.json +1556 -1556
  137. package/dist/file-picker/index.d.ts +2 -2
  138. package/dist/file-picker/index.js +14 -14
  139. package/dist/file-picker/localization.d.ts +11 -11
  140. package/dist/file-picker/localization.js +124 -124
  141. package/dist/index.d.ts +13 -13
  142. package/dist/index.js +25 -25
  143. package/dist/map-filter-container/container-map.css +5 -5
  144. package/dist/map-filter-container/container-map.d.ts +11 -11
  145. package/dist/map-filter-container/container-map.js +31 -31
  146. package/dist/map-filter-container/index.d.ts +1 -1
  147. package/dist/map-filter-container/index.js +13 -13
  148. package/dist/map-filter-container/map-filter-container.d.ts +9 -9
  149. package/dist/map-filter-container/map-filter-container.js +78 -78
  150. package/dist/map-filter-container/polygon-selection-ui.d.ts +12 -12
  151. package/dist/map-filter-container/polygon-selection-ui.js +62 -62
  152. package/dist/models/defaults.d.ts +28 -28
  153. package/dist/models/defaults.js +32 -32
  154. package/dist/models/enums.d.ts +14 -14
  155. package/dist/models/enums.js +20 -20
  156. package/dist/models/index.d.ts +1 -1
  157. package/dist/models/index.js +13 -13
  158. package/dist/ol-map/feature.d.ts +6 -6
  159. package/dist/ol-map/feature.js +20 -20
  160. package/dist/ol-map/index.d.ts +6 -6
  161. package/dist/ol-map/index.js +18 -18
  162. package/dist/ol-map/interactions/draw.d.ts +8 -8
  163. package/dist/ol-map/interactions/draw.js +44 -44
  164. package/dist/ol-map/interactions/index.d.ts +1 -1
  165. package/dist/ol-map/interactions/index.js +13 -13
  166. package/dist/ol-map/layers/index.d.ts +3 -3
  167. package/dist/ol-map/layers/index.js +15 -15
  168. package/dist/ol-map/layers/tile-layer.d.ts +9 -9
  169. package/dist/ol-map/layers/tile-layer.js +48 -48
  170. package/dist/ol-map/layers/vector-layer.d.ts +4 -4
  171. package/dist/ol-map/layers/vector-layer.js +48 -48
  172. package/dist/ol-map/layers/vector-tile-layer.d.ts +10 -10
  173. package/dist/ol-map/layers/vector-tile-layer.js +66 -66
  174. package/dist/ol-map/map.css +17 -17
  175. package/dist/ol-map/map.d.ts +14 -14
  176. package/dist/ol-map/map.js +117 -117
  177. package/dist/ol-map/source/index.d.ts +6 -6
  178. package/dist/ol-map/source/index.js +18 -18
  179. package/dist/ol-map/source/mvt.d.ts +11 -11
  180. package/dist/ol-map/source/mvt.js +37 -37
  181. package/dist/ol-map/source/osm.d.ts +2 -2
  182. package/dist/ol-map/source/osm.js +14 -14
  183. package/dist/ol-map/source/vector-source.d.ts +4 -4
  184. package/dist/ol-map/source/vector-source.js +45 -45
  185. package/dist/ol-map/source/wms.d.ts +17 -17
  186. package/dist/ol-map/source/wms.js +30 -30
  187. package/dist/ol-map/source/wmts.d.ts +21 -21
  188. package/dist/ol-map/source/wmts.js +59 -59
  189. package/dist/ol-map/source/xyz.d.ts +12 -12
  190. package/dist/ol-map/source/xyz.js +27 -27
  191. package/dist/ol-map/style.d.ts +4 -4
  192. package/dist/ol-map/style.js +22 -22
  193. package/dist/popover/index.d.ts +1 -1
  194. package/dist/popover/index.js +5 -5
  195. package/dist/popover/popover.d.ts +3 -3
  196. package/dist/popover/popover.js +35 -35
  197. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +7 -7
  198. package/dist/smart-table/__mock-data__/smartTableMocks.js +17 -17
  199. package/dist/smart-table/index.d.ts +2 -2
  200. package/dist/smart-table/index.js +14 -14
  201. package/dist/smart-table/smart-table-head.d.ts +11 -11
  202. package/dist/smart-table/smart-table-head.js +22 -22
  203. package/dist/smart-table/smart-table-row.d.ts +12 -12
  204. package/dist/smart-table/smart-table-row.js +46 -46
  205. package/dist/smart-table/smart-table-types.d.ts +9 -9
  206. package/dist/smart-table/smart-table-types.js +2 -2
  207. package/dist/smart-table/smart-table.d.ts +17 -17
  208. package/dist/smart-table/smart-table.js +51 -51
  209. package/dist/theme/index.d.ts +1 -1
  210. package/dist/theme/index.js +13 -13
  211. package/dist/theme/theme.d.ts +8 -8
  212. package/dist/theme/theme.js +124 -124
  213. package/dist/utils/map.d.ts +3 -3
  214. package/dist/utils/map.js +21 -21
  215. package/dist/utils/projections.d.ts +6 -6
  216. package/dist/utils/projections.js +10 -10
  217. package/dist/utils/story.d.ts +12 -12
  218. package/dist/utils/story.js +2 -2
  219. package/package.json +3 -3
  220. package/public/index.html +43 -43
  221. package/public/manifest.json +25 -25
  222. package/public/robots.txt +3 -3
  223. package/src/index.tsx +9 -9
  224. package/src/lib/autocomplete/autocomplete.css +25 -25
  225. package/src/lib/autocomplete/autocomplete.stories.tsx +101 -101
  226. package/src/lib/autocomplete/autocomplete.tsx +681 -681
  227. package/src/lib/autocomplete/index.ts +1 -1
  228. package/src/lib/box/box.tsx +7 -7
  229. package/src/lib/box/index.ts +1 -1
  230. package/src/lib/cesium-map/context-menu.stories.tsx +444 -444
  231. package/src/lib/cesium-map/data-sources/custom.data-source.tsx +12 -12
  232. package/src/lib/cesium-map/data-sources/drawings.data-source.stories.tsx +161 -161
  233. package/src/lib/cesium-map/data-sources/drawings.data-source.tsx +204 -205
  234. package/src/lib/cesium-map/data-sources/index.ts +2 -2
  235. package/src/lib/cesium-map/entities/entity.description.tsx +19 -19
  236. package/src/lib/cesium-map/entities/entity.graphics.stories.tsx +48 -48
  237. package/src/lib/cesium-map/entities/entity.stories.tsx +146 -146
  238. package/src/lib/cesium-map/entities/entity.tsx +10 -10
  239. package/src/lib/cesium-map/entities/graphics/polygon.graphics.tsx +12 -12
  240. package/src/lib/cesium-map/entities/graphics/polyline.graphics.tsx +12 -12
  241. package/src/lib/cesium-map/entities/graphics/rectangle.graphics.tsx +12 -12
  242. package/src/lib/cesium-map/entities/index.ts +4 -4
  243. package/src/lib/cesium-map/index.ts +8 -7
  244. package/src/lib/cesium-map/layers/3d.tileset.stories.tsx +164 -110
  245. package/src/lib/cesium-map/layers/3d.tileset.tsx +51 -47
  246. package/src/lib/cesium-map/layers/3d.tileset.with.update.tsx +120 -0
  247. package/src/lib/cesium-map/layers/geojson.layer.stories.tsx +119 -119
  248. package/src/lib/cesium-map/layers/geojson.layer.tsx +12 -12
  249. package/src/lib/cesium-map/layers/imagery.layer.stories.tsx +39 -39
  250. package/src/lib/cesium-map/layers/imagery.layer.tsx +37 -32
  251. package/src/lib/cesium-map/layers/index.ts +7 -7
  252. package/src/lib/cesium-map/layers/layers.rect.stories.tsx +171 -171
  253. package/src/lib/cesium-map/layers/osm.layer.stories.tsx +40 -40
  254. package/src/lib/cesium-map/layers/osm.layer.tsx +22 -22
  255. package/src/lib/cesium-map/layers/wms.layer.stories.tsx +38 -38
  256. package/src/lib/cesium-map/layers/wms.layer.tsx +22 -22
  257. package/src/lib/cesium-map/layers/wmts.layer.stories.tsx +53 -53
  258. package/src/lib/cesium-map/layers/wmts.layer.tsx +22 -22
  259. package/src/lib/cesium-map/layers/xyz.layer.stories.tsx +37 -37
  260. package/src/lib/cesium-map/layers/xyz.layer.tsx +22 -22
  261. package/src/lib/cesium-map/layers-manager.stories.tsx +286 -286
  262. package/src/lib/cesium-map/layers-manager.ts +354 -325
  263. package/src/lib/cesium-map/map-legend/MapLegend.css +135 -0
  264. package/src/lib/cesium-map/map-legend/MapLegend.tsx +92 -0
  265. package/src/lib/cesium-map/map-legend/MapLegendList.tsx +47 -0
  266. package/src/lib/cesium-map/map-legend/MapLegendSidebar.tsx +55 -0
  267. package/src/lib/cesium-map/map-legend/MapLegendToggle.tsx +31 -0
  268. package/src/lib/cesium-map/map-legend/index.tsx +3 -0
  269. package/src/lib/cesium-map/map-legend/legends-sidebar.stories.tsx +201 -0
  270. package/src/lib/cesium-map/map.css +59 -54
  271. package/src/lib/cesium-map/map.stories.tsx +143 -143
  272. package/src/lib/cesium-map/map.tsx +446 -381
  273. package/src/lib/cesium-map/map.types.ts +11 -11
  274. package/src/lib/cesium-map/proxied.types.ts +54 -42
  275. package/src/lib/cesium-map/settings/base-maps.css +37 -37
  276. package/src/lib/cesium-map/settings/base-maps.tsx +94 -94
  277. package/src/lib/cesium-map/settings/scene-modes.css +19 -19
  278. package/src/lib/cesium-map/settings/scene-modes.tsx +100 -100
  279. package/src/lib/cesium-map/settings/settings.css +52 -49
  280. package/src/lib/cesium-map/settings/settings.stories.tsx +182 -182
  281. package/src/lib/cesium-map/settings/settings.tsx +141 -141
  282. package/src/lib/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.ts +243 -243
  283. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-decoder.ts +321 -321
  284. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.ts +237 -237
  285. package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +170 -155
  286. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +187 -185
  287. package/src/lib/cesium-map/tools/cesium/primitives-conversions.cesium.ts +15 -15
  288. package/src/lib/cesium-map/tools/coordinates-tracker.tool.css +11 -11
  289. package/src/lib/cesium-map/tools/coordinates-tracker.tool.tsx +79 -79
  290. package/src/lib/cesium-map/tools/draw/drawHelper.css +101 -101
  291. package/src/lib/cesium-map/tools/draw/drawHelper.ts +2116 -2116
  292. package/src/lib/cesium-map/tools/geojson/geojson-to-primitive.ts +54 -54
  293. package/src/lib/cesium-map/tools/geojson/index.ts +2 -2
  294. package/src/lib/cesium-map/tools/geojson/point.geojson.ts +29 -29
  295. package/src/lib/cesium-map/tools/geojson/polygon.geojson.ts +24 -24
  296. package/src/lib/cesium-map/tools/geojson/rectangle.geojson.ts +21 -21
  297. package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -15
  298. package/src/lib/cesium-map/tools/scale-tracker.tool.css +16 -16
  299. package/src/lib/cesium-map/tools/scale-tracker.tool.tsx +192 -192
  300. package/src/lib/cesium-map/tools/terranian-height.tool.tsx +171 -167
  301. package/src/lib/cssbaseline/cssbaseline.tsx +19 -19
  302. package/src/lib/cssbaseline/index.ts +4 -4
  303. package/src/lib/date-picker/date-picker.css +9 -9
  304. package/src/lib/date-picker/date-picker.stories.tsx +130 -130
  305. package/src/lib/date-picker/date-picker.tsx +90 -90
  306. package/src/lib/date-picker/index.ts +1 -1
  307. package/src/lib/date-range-picker/date-range-picker.css +9 -9
  308. package/src/lib/date-range-picker/date-range-picker.form-control.css +3 -3
  309. package/src/lib/date-range-picker/date-range-picker.form-control.spec.tsx +58 -58
  310. package/src/lib/date-range-picker/date-range-picker.form-control.tsx +150 -150
  311. package/src/lib/date-range-picker/date-range-picker.stories.tsx +207 -207
  312. package/src/lib/date-range-picker/date-range-picker.tsx +156 -156
  313. package/src/lib/date-range-picker/index.ts +2 -2
  314. package/src/lib/file-picker/file-picker.css +63 -63
  315. package/src/lib/file-picker/file-picker.stories.tsx +447 -447
  316. package/src/lib/file-picker/file-picker.tsx +180 -180
  317. package/src/lib/file-picker/fs-map.json +1556 -1556
  318. package/src/lib/file-picker/index.ts +2 -2
  319. package/src/lib/file-picker/localization.ts +164 -164
  320. package/src/lib/index.ts +13 -13
  321. package/src/lib/map-filter-container/container-map.css +5 -5
  322. package/src/lib/map-filter-container/container-map.tsx +48 -48
  323. package/src/lib/map-filter-container/index.ts +1 -1
  324. package/src/lib/map-filter-container/map-filter-container.tsx +91 -91
  325. package/src/lib/map-filter-container/polygon-selection-ui.spec.tsx +119 -119
  326. package/src/lib/map-filter-container/polygon-selection-ui.tsx +111 -111
  327. package/src/lib/map-filter-container/stories/Map.stories.tsx +76 -76
  328. package/src/lib/models/defaults.ts +32 -32
  329. package/src/lib/models/enums.ts +16 -16
  330. package/src/lib/models/index.ts +1 -1
  331. package/src/lib/ol-map/feature.tsx +23 -23
  332. package/src/lib/ol-map/index.ts +6 -6
  333. package/src/lib/ol-map/interactions/draw.tsx +56 -56
  334. package/src/lib/ol-map/interactions/index.ts +1 -1
  335. package/src/lib/ol-map/layers/index.ts +3 -3
  336. package/src/lib/ol-map/layers/tile-layer.tsx +36 -36
  337. package/src/lib/ol-map/layers/vector-layer.tsx +32 -32
  338. package/src/lib/ol-map/layers/vector-tile-layer.tsx +56 -56
  339. package/src/lib/ol-map/map.css +17 -17
  340. package/src/lib/ol-map/map.tsx +137 -137
  341. package/src/lib/ol-map/source/index.ts +6 -6
  342. package/src/lib/ol-map/source/mvt.tsx +46 -46
  343. package/src/lib/ol-map/source/osm.tsx +13 -13
  344. package/src/lib/ol-map/source/stories/mvt.stories.tsx +68 -68
  345. package/src/lib/ol-map/source/stories/vector-source.stories.tsx +78 -78
  346. package/src/lib/ol-map/source/stories/wms.stories.tsx +51 -51
  347. package/src/lib/ol-map/source/stories/wmts.stories.tsx +72 -72
  348. package/src/lib/ol-map/source/stories/xyz.stories.tsx +53 -53
  349. package/src/lib/ol-map/source/vector-source.tsx +30 -30
  350. package/src/lib/ol-map/source/wms.tsx +40 -40
  351. package/src/lib/ol-map/source/wmts.tsx +82 -82
  352. package/src/lib/ol-map/source/xyz.tsx +33 -33
  353. package/src/lib/ol-map/stories/map.stories.tsx +60 -60
  354. package/src/lib/ol-map/style.ts +24 -24
  355. package/src/lib/popover/index.ts +1 -1
  356. package/src/lib/popover/popover.tsx +7 -7
  357. package/src/lib/smart-table/__mock-data__/smartTableMocks.ts +22 -22
  358. package/src/lib/smart-table/index.ts +2 -2
  359. package/src/lib/smart-table/smart-table-head.spec.tsx +116 -116
  360. package/src/lib/smart-table/smart-table-head.tsx +47 -47
  361. package/src/lib/smart-table/smart-table-row.spec.tsx +109 -109
  362. package/src/lib/smart-table/smart-table-row.tsx +78 -78
  363. package/src/lib/smart-table/smart-table-types.ts +10 -10
  364. package/src/lib/smart-table/smart-table.spec.tsx +116 -116
  365. package/src/lib/smart-table/smart-table.tsx +115 -115
  366. package/src/lib/smart-table/stories/SmartTable.stories.tsx +114 -114
  367. package/src/lib/theme/index.ts +1 -1
  368. package/src/lib/theme/theme.ts +123 -123
  369. package/src/lib/utils/map.ts +19 -19
  370. package/src/lib/utils/projections.ts +7 -7
  371. package/src/lib/utils/story.ts +11 -11
  372. package/src/react-app-env.d.ts +1 -1
  373. package/src/setupTests.ts +14 -14
  374. package/tsbuildconfig.json +37 -37
  375. package/tsconfig.json +26 -26
  376. package/dist/cesium-map/layers/3d.tileset.update.d.ts +0 -1
  377. package/dist/cesium-map/layers/3d.tileset.update.js +0 -5
  378. package/src/lib/cesium-map/layers/3d.tileset.update.ts +0 -72
  379. package/storybook-static/mock/tileset_1/ll.b3dm +0 -0
  380. package/storybook-static/mock/tileset_1/lr.b3dm +0 -0
  381. package/storybook-static/mock/tileset_1/parent.b3dm +0 -0
  382. package/storybook-static/mock/tileset_1/tileset.json +0 -124
  383. package/storybook-static/mock/tileset_1/ul.b3dm +0 -0
  384. package/storybook-static/mock/tileset_1/ur.b3dm +0 -0
@@ -1,119 +1,119 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { MenuItem, Menu, Button } from '@map-colonies/react-core';
4
- import { DrawType } from '../models';
5
- import { PolygonSelectionUi } from './polygon-selection-ui';
6
-
7
- const startDraw = jest.fn();
8
- const cancelDraw = jest.fn();
9
- const resetDraw = jest.fn();
10
- afterEach(() => {
11
- startDraw.mockClear();
12
- cancelDraw.mockClear();
13
- resetDraw.mockClear();
14
- });
15
-
16
- // it('renders correctly', () => {
17
- // // const store = rootStore.create({}, { fetch: conflictFetcher })
18
- // const tree = renderer
19
- // .create(
20
- // <PolygonSelectionUi
21
- // isSelectionEnabled={false}
22
- // onCancelDraw={() => {}}
23
- // onReset={() => {}}
24
- // onStartDraw={() => {}}
25
- // />
26
- // )
27
- // .toJSON();
28
- // expect(tree).toMatchSnapshot();
29
- // });
30
-
31
- it('opens the menu with drawing options on open menu button click', () => {
32
- const wrapper = shallow(
33
- <PolygonSelectionUi
34
- onStartDraw={startDraw}
35
- onCancelDraw={cancelDraw}
36
- onReset={resetDraw}
37
- isSelectionEnabled={false}
38
- />
39
- );
40
-
41
- expect(wrapper.find(Menu).prop('open')).toBe(false);
42
-
43
- wrapper.find(Button).simulate('click', { currentTarget: {} });
44
-
45
- expect(wrapper.find(Menu).prop('open')).toBe(true);
46
- });
47
-
48
- it('Polygon/box drawing menu items call start draw with correct params on click and closes the menu', () => {
49
- const wrapper = shallow(
50
- <PolygonSelectionUi
51
- onStartDraw={startDraw}
52
- onCancelDraw={cancelDraw}
53
- onReset={resetDraw}
54
- isSelectionEnabled={false}
55
- />
56
- );
57
-
58
- const openMenuButton = wrapper.find(Button);
59
- openMenuButton.simulate('click', { currentTarget: {} });
60
-
61
- wrapper
62
- .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Polygon')
63
- .simulate('click');
64
-
65
- expect(wrapper.find(Menu).prop('open')).toBe(false);
66
- expect(startDraw).toHaveBeenCalledWith(DrawType.POLYGON);
67
- expect(startDraw).toHaveBeenCalledTimes(1);
68
-
69
- startDraw.mockClear();
70
-
71
- openMenuButton.simulate('click', { currentTarget: {} });
72
- wrapper
73
- .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Box')
74
- .simulate('click');
75
-
76
- expect(wrapper.find(Menu).prop('open')).toBe(false);
77
- expect(startDraw).toHaveBeenCalledWith(DrawType.BOX);
78
- expect(startDraw).toHaveBeenCalledTimes(1);
79
- });
80
-
81
- it('clicking the clear menu item calls onreset and closes the menu', () => {
82
- const wrapper = shallow(
83
- <PolygonSelectionUi
84
- onStartDraw={startDraw}
85
- onCancelDraw={cancelDraw}
86
- onReset={resetDraw}
87
- isSelectionEnabled={false}
88
- />
89
- );
90
-
91
- const openMenuButton = wrapper.find(Button);
92
- openMenuButton.simulate('click', { currentTarget: {} });
93
-
94
- wrapper
95
- .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Clear')
96
- .simulate('click');
97
-
98
- expect(wrapper.find(Menu).prop('open')).toBe(false);
99
- expect(resetDraw).toHaveBeenCalledTimes(1);
100
- });
101
-
102
- it('Cancel draw is shown when IsSelectionEnabled is true, and clicking on the button calls onCancelDraw', () => {
103
- const wrapper = shallow(
104
- <PolygonSelectionUi
105
- onStartDraw={startDraw}
106
- onCancelDraw={cancelDraw}
107
- onReset={resetDraw}
108
- isSelectionEnabled={true}
109
- />
110
- );
111
-
112
- const button = wrapper.find(Button);
113
-
114
- expect(button.prop('children')).toBe('Cancel Draw');
115
-
116
- button.simulate('click');
117
-
118
- expect(cancelDraw).toHaveBeenCalledTimes(1);
119
- });
1
+ import React from 'react';
2
+ import { shallow } from 'enzyme';
3
+ import { MenuItem, Menu, Button } from '@map-colonies/react-core';
4
+ import { DrawType } from '../models';
5
+ import { PolygonSelectionUi } from './polygon-selection-ui';
6
+
7
+ const startDraw = jest.fn();
8
+ const cancelDraw = jest.fn();
9
+ const resetDraw = jest.fn();
10
+ afterEach(() => {
11
+ startDraw.mockClear();
12
+ cancelDraw.mockClear();
13
+ resetDraw.mockClear();
14
+ });
15
+
16
+ // it('renders correctly', () => {
17
+ // // const store = rootStore.create({}, { fetch: conflictFetcher })
18
+ // const tree = renderer
19
+ // .create(
20
+ // <PolygonSelectionUi
21
+ // isSelectionEnabled={false}
22
+ // onCancelDraw={() => {}}
23
+ // onReset={() => {}}
24
+ // onStartDraw={() => {}}
25
+ // />
26
+ // )
27
+ // .toJSON();
28
+ // expect(tree).toMatchSnapshot();
29
+ // });
30
+
31
+ it('opens the menu with drawing options on open menu button click', () => {
32
+ const wrapper = shallow(
33
+ <PolygonSelectionUi
34
+ onStartDraw={startDraw}
35
+ onCancelDraw={cancelDraw}
36
+ onReset={resetDraw}
37
+ isSelectionEnabled={false}
38
+ />
39
+ );
40
+
41
+ expect(wrapper.find(Menu).prop('open')).toBe(false);
42
+
43
+ wrapper.find(Button).simulate('click', { currentTarget: {} });
44
+
45
+ expect(wrapper.find(Menu).prop('open')).toBe(true);
46
+ });
47
+
48
+ it('Polygon/box drawing menu items call start draw with correct params on click and closes the menu', () => {
49
+ const wrapper = shallow(
50
+ <PolygonSelectionUi
51
+ onStartDraw={startDraw}
52
+ onCancelDraw={cancelDraw}
53
+ onReset={resetDraw}
54
+ isSelectionEnabled={false}
55
+ />
56
+ );
57
+
58
+ const openMenuButton = wrapper.find(Button);
59
+ openMenuButton.simulate('click', { currentTarget: {} });
60
+
61
+ wrapper
62
+ .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Polygon')
63
+ .simulate('click');
64
+
65
+ expect(wrapper.find(Menu).prop('open')).toBe(false);
66
+ expect(startDraw).toHaveBeenCalledWith(DrawType.POLYGON);
67
+ expect(startDraw).toHaveBeenCalledTimes(1);
68
+
69
+ startDraw.mockClear();
70
+
71
+ openMenuButton.simulate('click', { currentTarget: {} });
72
+ wrapper
73
+ .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Box')
74
+ .simulate('click');
75
+
76
+ expect(wrapper.find(Menu).prop('open')).toBe(false);
77
+ expect(startDraw).toHaveBeenCalledWith(DrawType.BOX);
78
+ expect(startDraw).toHaveBeenCalledTimes(1);
79
+ });
80
+
81
+ it('clicking the clear menu item calls onreset and closes the menu', () => {
82
+ const wrapper = shallow(
83
+ <PolygonSelectionUi
84
+ onStartDraw={startDraw}
85
+ onCancelDraw={cancelDraw}
86
+ onReset={resetDraw}
87
+ isSelectionEnabled={false}
88
+ />
89
+ );
90
+
91
+ const openMenuButton = wrapper.find(Button);
92
+ openMenuButton.simulate('click', { currentTarget: {} });
93
+
94
+ wrapper
95
+ .findWhere((n) => n.type() === MenuItem && n.prop('children') === 'Clear')
96
+ .simulate('click');
97
+
98
+ expect(wrapper.find(Menu).prop('open')).toBe(false);
99
+ expect(resetDraw).toHaveBeenCalledTimes(1);
100
+ });
101
+
102
+ it('Cancel draw is shown when IsSelectionEnabled is true, and clicking on the button calls onCancelDraw', () => {
103
+ const wrapper = shallow(
104
+ <PolygonSelectionUi
105
+ onStartDraw={startDraw}
106
+ onCancelDraw={cancelDraw}
107
+ onReset={resetDraw}
108
+ isSelectionEnabled={true}
109
+ />
110
+ );
111
+
112
+ const button = wrapper.find(Button);
113
+
114
+ expect(button.prop('children')).toBe('Cancel Draw');
115
+
116
+ button.simulate('click');
117
+
118
+ expect(cancelDraw).toHaveBeenCalledTimes(1);
119
+ });
@@ -1,111 +1,111 @@
1
- import React from 'react';
2
- import { Menu, MenuItem, Button, Tooltip } from '@map-colonies/react-core';
3
- import '@map-colonies/react-core/dist/button/styles';
4
- import '@map-colonies/react-core/dist/tooltip/styles';
5
- import '@map-colonies/react-core/dist/menu/styles';
6
-
7
- import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';
8
-
9
- import { DrawType } from '../models/enums';
10
- import { Box } from '../box';
11
-
12
- const WIDTH_SPACING_FACTOR = 18;
13
- const useStyle = makeStyles((theme: Theme) =>
14
- createStyles({
15
- drawingButton: {
16
- width: theme.spacing(WIDTH_SPACING_FACTOR),
17
- },
18
- fullWidth: {
19
- width: '100%',
20
- marginTop: '36px',
21
- },
22
- })
23
- );
24
-
25
- export interface PolygonSelectionUiProps {
26
- isSelectionEnabled: boolean;
27
- onStartDraw: (type: DrawType) => void;
28
- onCancelDraw: () => void;
29
- onReset: () => void;
30
- }
31
-
32
- export const PolygonSelectionUi: React.FC<PolygonSelectionUiProps> = (
33
- props
34
- ) => {
35
- const classes = useStyle();
36
- const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
37
- const { isSelectionEnabled, onCancelDraw, onStartDraw, onReset } = props;
38
-
39
- const handleClick = (event: React.MouseEvent<HTMLButtonElement>): void => {
40
- setAnchorEl(event.currentTarget);
41
- };
42
-
43
- const handleClose = (): void => {
44
- setAnchorEl(null);
45
- };
46
-
47
- if (isSelectionEnabled) {
48
- return (
49
- <Tooltip content="Cancel the ongoing draw" align={'bottomLeft'}>
50
- <Button className={classes.drawingButton} raised onClick={onCancelDraw}>
51
- Cancel Draw
52
- </Button>
53
- </Tooltip>
54
- );
55
- } else {
56
- return (
57
- <Box position="relative">
58
- <Tooltip
59
- content="draw an Area of interest to limit the search"
60
- align={'bottomLeft'}
61
- >
62
- <Button
63
- className={classes.drawingButton}
64
- raised
65
- onClick={handleClick}
66
- >
67
- Draw AOI
68
- </Button>
69
- </Tooltip>
70
- <Menu
71
- className={classes.fullWidth}
72
- open={Boolean(anchorEl)}
73
- // keepMounted
74
- onClose={handleClose}
75
- // anchorEl={anchorEl}
76
- // getContentAnchorEl={null}
77
- // anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
78
- // transformOrigin={{
79
- // vertical: 'top',
80
- // horizontal: 'center',
81
- // }}
82
- >
83
- <MenuItem
84
- onClick={(): void => {
85
- onStartDraw(DrawType.POLYGON);
86
- handleClose();
87
- }}
88
- >
89
- Polygon
90
- </MenuItem>
91
- <MenuItem
92
- onClick={(): void => {
93
- onStartDraw(DrawType.BOX);
94
- handleClose();
95
- }}
96
- >
97
- Box
98
- </MenuItem>
99
- <MenuItem
100
- onClick={(): void => {
101
- onReset();
102
- handleClose();
103
- }}
104
- >
105
- Clear
106
- </MenuItem>
107
- </Menu>
108
- </Box>
109
- );
110
- }
111
- };
1
+ import React from 'react';
2
+ import { Menu, MenuItem, Button, Tooltip } from '@map-colonies/react-core';
3
+ import '@map-colonies/react-core/dist/button/styles';
4
+ import '@map-colonies/react-core/dist/tooltip/styles';
5
+ import '@map-colonies/react-core/dist/menu/styles';
6
+
7
+ import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';
8
+
9
+ import { DrawType } from '../models/enums';
10
+ import { Box } from '../box';
11
+
12
+ const WIDTH_SPACING_FACTOR = 18;
13
+ const useStyle = makeStyles((theme: Theme) =>
14
+ createStyles({
15
+ drawingButton: {
16
+ width: theme.spacing(WIDTH_SPACING_FACTOR),
17
+ },
18
+ fullWidth: {
19
+ width: '100%',
20
+ marginTop: '36px',
21
+ },
22
+ })
23
+ );
24
+
25
+ export interface PolygonSelectionUiProps {
26
+ isSelectionEnabled: boolean;
27
+ onStartDraw: (type: DrawType) => void;
28
+ onCancelDraw: () => void;
29
+ onReset: () => void;
30
+ }
31
+
32
+ export const PolygonSelectionUi: React.FC<PolygonSelectionUiProps> = (
33
+ props
34
+ ) => {
35
+ const classes = useStyle();
36
+ const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);
37
+ const { isSelectionEnabled, onCancelDraw, onStartDraw, onReset } = props;
38
+
39
+ const handleClick = (event: React.MouseEvent<HTMLButtonElement>): void => {
40
+ setAnchorEl(event.currentTarget);
41
+ };
42
+
43
+ const handleClose = (): void => {
44
+ setAnchorEl(null);
45
+ };
46
+
47
+ if (isSelectionEnabled) {
48
+ return (
49
+ <Tooltip content="Cancel the ongoing draw" align={'bottomLeft'}>
50
+ <Button className={classes.drawingButton} raised onClick={onCancelDraw}>
51
+ Cancel Draw
52
+ </Button>
53
+ </Tooltip>
54
+ );
55
+ } else {
56
+ return (
57
+ <Box position="relative">
58
+ <Tooltip
59
+ content="draw an Area of interest to limit the search"
60
+ align={'bottomLeft'}
61
+ >
62
+ <Button
63
+ className={classes.drawingButton}
64
+ raised
65
+ onClick={handleClick}
66
+ >
67
+ Draw AOI
68
+ </Button>
69
+ </Tooltip>
70
+ <Menu
71
+ className={classes.fullWidth}
72
+ open={Boolean(anchorEl)}
73
+ // keepMounted
74
+ onClose={handleClose}
75
+ // anchorEl={anchorEl}
76
+ // getContentAnchorEl={null}
77
+ // anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }}
78
+ // transformOrigin={{
79
+ // vertical: 'top',
80
+ // horizontal: 'center',
81
+ // }}
82
+ >
83
+ <MenuItem
84
+ onClick={(): void => {
85
+ onStartDraw(DrawType.POLYGON);
86
+ handleClose();
87
+ }}
88
+ >
89
+ Polygon
90
+ </MenuItem>
91
+ <MenuItem
92
+ onClick={(): void => {
93
+ onStartDraw(DrawType.BOX);
94
+ handleClose();
95
+ }}
96
+ >
97
+ Box
98
+ </MenuItem>
99
+ <MenuItem
100
+ onClick={(): void => {
101
+ onReset();
102
+ handleClose();
103
+ }}
104
+ >
105
+ Clear
106
+ </MenuItem>
107
+ </Menu>
108
+ </Box>
109
+ );
110
+ }
111
+ };
@@ -1,76 +1,76 @@
1
- import React from 'react';
2
- import { action } from '@storybook/addon-actions';
3
- import { Button, Typography } from '@map-colonies/react-core';
4
- import { MapFilterContainer } from '../map-filter-container';
5
- import { CSFStory } from '../../utils/story';
6
- import { Box } from '../..';
7
- import { VectorLayer, VectorSource, GeoJSONFeature } from '../../ol-map';
8
-
9
- export default {
10
- title: 'Map Filter Container',
11
- component: MapFilterContainer,
12
- parameters: {
13
- layout: 'fullscreen',
14
- },
15
- };
16
-
17
- export const Basic: CSFStory<JSX.Element> = () => (
18
- <MapFilterContainer
19
- handlePolygonReset={action('vector source cleared')}
20
- handlePolygonSelected={action('shape selected')}
21
- />
22
- );
23
-
24
- export const ExtraFilters: CSFStory<JSX.Element> = () => (
25
- <MapFilterContainer
26
- filters={[
27
- <Button outlined raised>
28
- dont click me
29
- </Button>,
30
- <Button outlined raised>
31
- also dont click me
32
- </Button>,
33
- ]}
34
- handlePolygonReset={action('vector source cleared')}
35
- handlePolygonSelected={action('shape selected')}
36
- />
37
- );
38
-
39
- export const WithChildren: CSFStory<JSX.Element> = () => (
40
- <MapFilterContainer
41
- handlePolygonReset={action('vector source cleared')}
42
- handlePolygonSelected={action('shape selected')}
43
- >
44
- <Box style={{ height: '300px' }}>
45
- <Typography tag="div" style={{ margin: '16px 0' }} use="headline1">
46
- Generic title
47
- </Typography>
48
- </Box>
49
- </MapFilterContainer>
50
- );
51
-
52
- export const WithMapContent: CSFStory<JSX.Element> = () => (
53
- <MapFilterContainer
54
- handlePolygonReset={action('vector source cleared')}
55
- handlePolygonSelected={action('shape selected')}
56
- mapContent={
57
- <VectorLayer>
58
- <VectorSource>
59
- <GeoJSONFeature
60
- geometry={{
61
- type: 'Polygon',
62
- coordinates: [
63
- [
64
- [35.25787353515625, 31.942839972853083],
65
- [35.0628662109375, 31.70713974681462],
66
- [35.429534912109375, 31.7059714181356],
67
- [35.25787353515625, 31.942839972853083],
68
- ],
69
- ],
70
- }}
71
- />
72
- </VectorSource>
73
- </VectorLayer>
74
- }
75
- />
76
- );
1
+ import React from 'react';
2
+ import { action } from '@storybook/addon-actions';
3
+ import { Button, Typography } from '@map-colonies/react-core';
4
+ import { MapFilterContainer } from '../map-filter-container';
5
+ import { CSFStory } from '../../utils/story';
6
+ import { Box } from '../..';
7
+ import { VectorLayer, VectorSource, GeoJSONFeature } from '../../ol-map';
8
+
9
+ export default {
10
+ title: 'Map Filter Container',
11
+ component: MapFilterContainer,
12
+ parameters: {
13
+ layout: 'fullscreen',
14
+ },
15
+ };
16
+
17
+ export const Basic: CSFStory<JSX.Element> = () => (
18
+ <MapFilterContainer
19
+ handlePolygonReset={action('vector source cleared')}
20
+ handlePolygonSelected={action('shape selected')}
21
+ />
22
+ );
23
+
24
+ export const ExtraFilters: CSFStory<JSX.Element> = () => (
25
+ <MapFilterContainer
26
+ filters={[
27
+ <Button outlined raised>
28
+ dont click me
29
+ </Button>,
30
+ <Button outlined raised>
31
+ also dont click me
32
+ </Button>,
33
+ ]}
34
+ handlePolygonReset={action('vector source cleared')}
35
+ handlePolygonSelected={action('shape selected')}
36
+ />
37
+ );
38
+
39
+ export const WithChildren: CSFStory<JSX.Element> = () => (
40
+ <MapFilterContainer
41
+ handlePolygonReset={action('vector source cleared')}
42
+ handlePolygonSelected={action('shape selected')}
43
+ >
44
+ <Box style={{ height: '300px' }}>
45
+ <Typography tag="div" style={{ margin: '16px 0' }} use="headline1">
46
+ Generic title
47
+ </Typography>
48
+ </Box>
49
+ </MapFilterContainer>
50
+ );
51
+
52
+ export const WithMapContent: CSFStory<JSX.Element> = () => (
53
+ <MapFilterContainer
54
+ handlePolygonReset={action('vector source cleared')}
55
+ handlePolygonSelected={action('shape selected')}
56
+ mapContent={
57
+ <VectorLayer>
58
+ <VectorSource>
59
+ <GeoJSONFeature
60
+ geometry={{
61
+ type: 'Polygon',
62
+ coordinates: [
63
+ [
64
+ [35.25787353515625, 31.942839972853083],
65
+ [35.0628662109375, 31.70713974681462],
66
+ [35.429534912109375, 31.7059714181356],
67
+ [35.25787353515625, 31.942839972853083],
68
+ ],
69
+ ],
70
+ }}
71
+ />
72
+ </VectorSource>
73
+ </VectorLayer>
74
+ }
75
+ />
76
+ );