@map-colonies/react-components 3.9.0 → 3.10.0

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 (380) hide show
  1. package/.storybook/main.js +1 -4
  2. package/CHANGELOG.md +25 -0
  3. package/dist/assets/img/map-marker.gif +0 -0
  4. package/dist/autocomplete/autocomplete.d.ts +0 -1
  5. package/dist/autocomplete/autocomplete.js +22 -9
  6. package/dist/autocomplete/index.d.ts +0 -1
  7. package/dist/autocomplete/index.js +2 -2
  8. package/dist/box/box.d.ts +0 -1
  9. package/dist/box/box.js +3 -2
  10. package/dist/box/index.d.ts +0 -1
  11. package/dist/box/index.js +2 -2
  12. package/dist/cesium-map/data-sources/custom.data-source.d.ts +0 -1
  13. package/dist/cesium-map/data-sources/custom.data-source.js +3 -2
  14. package/dist/cesium-map/data-sources/drawings.data-source.d.ts +0 -1
  15. package/dist/cesium-map/data-sources/drawings.data-source.js +29 -16
  16. package/dist/cesium-map/data-sources/index.d.ts +0 -1
  17. package/dist/cesium-map/data-sources/index.js +12 -6
  18. package/dist/cesium-map/entities/entity.d.ts +0 -1
  19. package/dist/cesium-map/entities/entity.description.d.ts +0 -1
  20. package/dist/cesium-map/entities/entity.description.js +5 -3
  21. package/dist/cesium-map/entities/entity.js +3 -2
  22. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +0 -1
  23. package/dist/cesium-map/entities/graphics/polygon.graphics.js +3 -2
  24. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +0 -1
  25. package/dist/cesium-map/entities/graphics/polyline.graphics.js +3 -2
  26. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +0 -1
  27. package/dist/cesium-map/entities/graphics/rectangle.graphics.js +3 -2
  28. package/dist/cesium-map/entities/index.d.ts +0 -1
  29. package/dist/cesium-map/entities/index.js +14 -8
  30. package/dist/cesium-map/index.d.ts +0 -1
  31. package/dist/cesium-map/index.js +17 -11
  32. package/dist/cesium-map/layers/3d.tileset.d.ts +0 -1
  33. package/dist/cesium-map/layers/3d.tileset.js +5 -4
  34. package/dist/cesium-map/layers/3d.tileset.update.d.ts +0 -1
  35. package/dist/cesium-map/layers/3d.tileset.update.js +0 -1
  36. package/dist/cesium-map/layers/geojson.layer.d.ts +0 -1
  37. package/dist/cesium-map/layers/geojson.layer.js +3 -2
  38. package/dist/cesium-map/layers/imagery.layer.d.ts +0 -1
  39. package/dist/cesium-map/layers/imagery.layer.js +22 -9
  40. package/dist/cesium-map/layers/index.d.ts +0 -1
  41. package/dist/cesium-map/layers/index.js +17 -11
  42. package/dist/cesium-map/layers/osm.layer.d.ts +0 -1
  43. package/dist/cesium-map/layers/osm.layer.js +3 -2
  44. package/dist/cesium-map/layers/wms.layer.d.ts +0 -1
  45. package/dist/cesium-map/layers/wms.layer.js +3 -2
  46. package/dist/cesium-map/layers/wmts.layer.d.ts +0 -1
  47. package/dist/cesium-map/layers/wmts.layer.js +3 -2
  48. package/dist/cesium-map/layers/xyz.layer.d.ts +0 -1
  49. package/dist/cesium-map/layers/xyz.layer.js +3 -2
  50. package/dist/cesium-map/layers-manager.d.ts +0 -1
  51. package/dist/cesium-map/layers-manager.js +3 -7
  52. package/dist/cesium-map/map.d.ts +0 -1
  53. package/dist/cesium-map/map.js +59 -37
  54. package/dist/cesium-map/map.types.d.ts +0 -1
  55. package/dist/cesium-map/map.types.js +1 -1
  56. package/dist/cesium-map/proxied.types.d.ts +0 -1
  57. package/dist/cesium-map/proxied.types.js +4 -2
  58. package/dist/cesium-map/settings/base-maps.d.ts +0 -1
  59. package/dist/cesium-map/settings/base-maps.js +22 -12
  60. package/dist/cesium-map/settings/scene-modes.d.ts +0 -1
  61. package/dist/cesium-map/settings/scene-modes.js +17 -4
  62. package/dist/cesium-map/settings/settings.d.ts +0 -1
  63. package/dist/cesium-map/settings/settings.js +20 -7
  64. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +1 -2
  65. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +1 -1
  66. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +1 -2
  67. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +3 -2
  68. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +0 -1
  69. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +1 -2
  70. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +0 -1
  71. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +17 -4
  72. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +0 -1
  73. package/dist/cesium-map/tools/coordinates-tracker.tool.js +17 -4
  74. package/dist/cesium-map/tools/draw/drawHelper.d.ts +0 -1
  75. package/dist/cesium-map/tools/draw/drawHelper.js +16 -3
  76. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +1 -2
  77. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +3 -2
  78. package/dist/cesium-map/tools/geojson/index.d.ts +0 -1
  79. package/dist/cesium-map/tools/geojson/index.js +12 -6
  80. package/dist/cesium-map/tools/geojson/point.geojson.d.ts +0 -1
  81. package/dist/cesium-map/tools/geojson/point.geojson.js +3 -2
  82. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +0 -1
  83. package/dist/cesium-map/tools/geojson/polygon.geojson.js +3 -2
  84. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +0 -1
  85. package/dist/cesium-map/tools/geojson/rectangle.geojson.js +17 -4
  86. package/dist/cesium-map/tools/inspector.tool.d.ts +4 -0
  87. package/dist/cesium-map/tools/inspector.tool.js +33 -0
  88. package/dist/cesium-map/tools/scale-tracker.tool.d.ts +0 -1
  89. package/dist/cesium-map/tools/scale-tracker.tool.js +19 -6
  90. package/dist/cesium-map/tools/terranian-height.tool.d.ts +4 -0
  91. package/dist/cesium-map/tools/terranian-height.tool.js +113 -0
  92. package/dist/cssbaseline/cssbaseline.d.ts +0 -1
  93. package/dist/cssbaseline/cssbaseline.js +5 -3
  94. package/dist/cssbaseline/index.d.ts +0 -1
  95. package/dist/cssbaseline/index.js +3 -3
  96. package/dist/date-picker/date-picker.d.ts +0 -1
  97. package/dist/date-picker/date-picker.js +24 -11
  98. package/dist/date-picker/index.d.ts +0 -1
  99. package/dist/date-picker/index.js +11 -5
  100. package/dist/date-range-picker/date-range-picker.d.ts +0 -1
  101. package/dist/date-range-picker/date-range-picker.form-control.d.ts +0 -1
  102. package/dist/date-range-picker/date-range-picker.form-control.js +31 -18
  103. package/dist/date-range-picker/date-range-picker.js +26 -13
  104. package/dist/date-range-picker/index.d.ts +0 -1
  105. package/dist/date-range-picker/index.js +12 -6
  106. package/dist/file-picker/file-picker.css +56 -0
  107. package/dist/file-picker/file-picker.d.ts +275 -0
  108. package/dist/file-picker/file-picker.js +146 -0
  109. package/dist/file-picker/fs-map.json +1557 -0
  110. package/dist/file-picker/index.d.ts +1 -0
  111. package/dist/file-picker/index.js +13 -0
  112. package/dist/file-picker/localization.d.ts +6 -0
  113. package/dist/file-picker/localization.js +100 -0
  114. package/dist/index.d.ts +1 -1
  115. package/dist/index.js +23 -16
  116. package/dist/map-filter-container/container-map.d.ts +0 -1
  117. package/dist/map-filter-container/container-map.js +3 -2
  118. package/dist/map-filter-container/index.d.ts +0 -1
  119. package/dist/map-filter-container/index.js +11 -5
  120. package/dist/map-filter-container/map-filter-container.d.ts +0 -1
  121. package/dist/map-filter-container/map-filter-container.js +17 -4
  122. package/dist/map-filter-container/polygon-selection-ui.d.ts +0 -1
  123. package/dist/map-filter-container/polygon-selection-ui.js +3 -2
  124. package/dist/models/defaults.d.ts +0 -1
  125. package/dist/models/defaults.js +0 -1
  126. package/dist/models/enums.d.ts +2 -2
  127. package/dist/models/enums.js +2 -1
  128. package/dist/models/index.d.ts +0 -1
  129. package/dist/models/index.js +11 -5
  130. package/dist/ol-map/feature.d.ts +0 -1
  131. package/dist/ol-map/feature.js +3 -2
  132. package/dist/ol-map/index.d.ts +0 -1
  133. package/dist/ol-map/index.js +16 -10
  134. package/dist/ol-map/interactions/draw.d.ts +0 -1
  135. package/dist/ol-map/interactions/draw.js +4 -4
  136. package/dist/ol-map/interactions/index.d.ts +0 -1
  137. package/dist/ol-map/interactions/index.js +11 -5
  138. package/dist/ol-map/layers/index.d.ts +0 -1
  139. package/dist/ol-map/layers/index.js +13 -7
  140. package/dist/ol-map/layers/tile-layer.d.ts +0 -1
  141. package/dist/ol-map/layers/tile-layer.js +19 -5
  142. package/dist/ol-map/layers/vector-layer.d.ts +0 -1
  143. package/dist/ol-map/layers/vector-layer.js +19 -5
  144. package/dist/ol-map/layers/vector-tile-layer.d.ts +0 -1
  145. package/dist/ol-map/layers/vector-tile-layer.js +19 -5
  146. package/dist/ol-map/map.d.ts +0 -1
  147. package/dist/ol-map/map.js +24 -10
  148. package/dist/ol-map/source/index.d.ts +0 -1
  149. package/dist/ol-map/source/index.js +16 -10
  150. package/dist/ol-map/source/mvt.d.ts +0 -1
  151. package/dist/ol-map/source/mvt.js +7 -4
  152. package/dist/ol-map/source/osm.d.ts +0 -1
  153. package/dist/ol-map/source/osm.js +3 -2
  154. package/dist/ol-map/source/vector-source.d.ts +1 -2
  155. package/dist/ol-map/source/vector-source.js +19 -5
  156. package/dist/ol-map/source/wms.d.ts +0 -1
  157. package/dist/ol-map/source/wms.js +5 -3
  158. package/dist/ol-map/source/wmts.d.ts +0 -1
  159. package/dist/ol-map/source/wmts.js +5 -3
  160. package/dist/ol-map/source/xyz.d.ts +0 -1
  161. package/dist/ol-map/source/xyz.js +5 -3
  162. package/dist/ol-map/style.d.ts +0 -1
  163. package/dist/ol-map/style.js +1 -1
  164. package/dist/popover/index.d.ts +0 -1
  165. package/dist/popover/index.js +2 -2
  166. package/dist/popover/popover.d.ts +0 -1
  167. package/dist/popover/popover.js +3 -2
  168. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +0 -1
  169. package/dist/smart-table/__mock-data__/smartTableMocks.js +1 -1
  170. package/dist/smart-table/index.d.ts +0 -1
  171. package/dist/smart-table/index.js +12 -6
  172. package/dist/smart-table/smart-table-head.d.ts +0 -1
  173. package/dist/smart-table/smart-table-head.js +1 -1
  174. package/dist/smart-table/smart-table-row.d.ts +0 -2
  175. package/dist/smart-table/smart-table-row.js +18 -8
  176. package/dist/smart-table/smart-table-types.d.ts +0 -2
  177. package/dist/smart-table/smart-table-types.js +0 -1
  178. package/dist/smart-table/smart-table.d.ts +0 -1
  179. package/dist/smart-table/smart-table.js +15 -3
  180. package/dist/theme/index.d.ts +0 -1
  181. package/dist/theme/index.js +11 -5
  182. package/dist/theme/theme.d.ts +0 -1
  183. package/dist/theme/theme.js +1 -1
  184. package/dist/utils/map.d.ts +0 -1
  185. package/dist/utils/map.js +7 -4
  186. package/dist/utils/projections.d.ts +0 -1
  187. package/dist/utils/projections.js +1 -1
  188. package/dist/utils/story.d.ts +0 -1
  189. package/dist/utils/story.js +0 -1
  190. package/package.json +102 -100
  191. package/public/assets/img/map-marker.gif +0 -0
  192. package/src/lib/cesium-map/map.tsx +20 -11
  193. package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +155 -0
  194. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +5 -3
  195. package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -0
  196. package/src/lib/cesium-map/tools/terranian-height.tool.tsx +167 -0
  197. package/src/lib/date-range-picker/{stories/DateRangePicker.stories.tsx → date-range-picker.stories.tsx} +5 -5
  198. package/src/lib/file-picker/file-picker.css +56 -0
  199. package/src/lib/file-picker/file-picker.stories.tsx +381 -0
  200. package/src/lib/file-picker/file-picker.tsx +163 -0
  201. package/src/lib/file-picker/fs-map.json +1557 -0
  202. package/src/lib/file-picker/index.ts +1 -0
  203. package/src/lib/file-picker/localization.ts +135 -0
  204. package/src/lib/index.ts +1 -0
  205. package/src/lib/models/enums.ts +1 -0
  206. package/tsbuildconfig.json +2 -2
  207. package/dist/autocomplete/autocomplete.d.ts.map +0 -1
  208. package/dist/autocomplete/autocomplete.js.map +0 -1
  209. package/dist/autocomplete/index.d.ts.map +0 -1
  210. package/dist/autocomplete/index.js.map +0 -1
  211. package/dist/box/box.d.ts.map +0 -1
  212. package/dist/box/box.js.map +0 -1
  213. package/dist/box/index.d.ts.map +0 -1
  214. package/dist/box/index.js.map +0 -1
  215. package/dist/cesium-map/data-sources/custom.data-source.d.ts.map +0 -1
  216. package/dist/cesium-map/data-sources/custom.data-source.js.map +0 -1
  217. package/dist/cesium-map/data-sources/drawings.data-source.d.ts.map +0 -1
  218. package/dist/cesium-map/data-sources/drawings.data-source.js.map +0 -1
  219. package/dist/cesium-map/data-sources/index.d.ts.map +0 -1
  220. package/dist/cesium-map/data-sources/index.js.map +0 -1
  221. package/dist/cesium-map/entities/entity.d.ts.map +0 -1
  222. package/dist/cesium-map/entities/entity.description.d.ts.map +0 -1
  223. package/dist/cesium-map/entities/entity.description.js.map +0 -1
  224. package/dist/cesium-map/entities/entity.js.map +0 -1
  225. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts.map +0 -1
  226. package/dist/cesium-map/entities/graphics/polygon.graphics.js.map +0 -1
  227. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts.map +0 -1
  228. package/dist/cesium-map/entities/graphics/polyline.graphics.js.map +0 -1
  229. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts.map +0 -1
  230. package/dist/cesium-map/entities/graphics/rectangle.graphics.js.map +0 -1
  231. package/dist/cesium-map/entities/index.d.ts.map +0 -1
  232. package/dist/cesium-map/entities/index.js.map +0 -1
  233. package/dist/cesium-map/index.d.ts.map +0 -1
  234. package/dist/cesium-map/index.js.map +0 -1
  235. package/dist/cesium-map/layers/3d.tileset.d.ts.map +0 -1
  236. package/dist/cesium-map/layers/3d.tileset.js.map +0 -1
  237. package/dist/cesium-map/layers/3d.tileset.update.d.ts.map +0 -1
  238. package/dist/cesium-map/layers/3d.tileset.update.js.map +0 -1
  239. package/dist/cesium-map/layers/geojson.layer.d.ts.map +0 -1
  240. package/dist/cesium-map/layers/geojson.layer.js.map +0 -1
  241. package/dist/cesium-map/layers/imagery.layer.d.ts.map +0 -1
  242. package/dist/cesium-map/layers/imagery.layer.js.map +0 -1
  243. package/dist/cesium-map/layers/index.d.ts.map +0 -1
  244. package/dist/cesium-map/layers/index.js.map +0 -1
  245. package/dist/cesium-map/layers/osm.layer.d.ts.map +0 -1
  246. package/dist/cesium-map/layers/osm.layer.js.map +0 -1
  247. package/dist/cesium-map/layers/wms.layer.d.ts.map +0 -1
  248. package/dist/cesium-map/layers/wms.layer.js.map +0 -1
  249. package/dist/cesium-map/layers/wmts.layer.d.ts.map +0 -1
  250. package/dist/cesium-map/layers/wmts.layer.js.map +0 -1
  251. package/dist/cesium-map/layers/xyz.layer.d.ts.map +0 -1
  252. package/dist/cesium-map/layers/xyz.layer.js.map +0 -1
  253. package/dist/cesium-map/layers-manager.d.ts.map +0 -1
  254. package/dist/cesium-map/layers-manager.js.map +0 -1
  255. package/dist/cesium-map/map.d.ts.map +0 -1
  256. package/dist/cesium-map/map.js.map +0 -1
  257. package/dist/cesium-map/map.types.d.ts.map +0 -1
  258. package/dist/cesium-map/map.types.js.map +0 -1
  259. package/dist/cesium-map/proxied.types.d.ts.map +0 -1
  260. package/dist/cesium-map/proxied.types.js.map +0 -1
  261. package/dist/cesium-map/settings/base-maps.d.ts.map +0 -1
  262. package/dist/cesium-map/settings/base-maps.js.map +0 -1
  263. package/dist/cesium-map/settings/scene-modes.d.ts.map +0 -1
  264. package/dist/cesium-map/settings/scene-modes.js.map +0 -1
  265. package/dist/cesium-map/settings/settings.d.ts.map +0 -1
  266. package/dist/cesium-map/settings/settings.js.map +0 -1
  267. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts.map +0 -1
  268. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js.map +0 -1
  269. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts.map +0 -1
  270. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js.map +0 -1
  271. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts.map +0 -1
  272. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js.map +0 -1
  273. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts.map +0 -1
  274. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js.map +0 -1
  275. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts.map +0 -1
  276. package/dist/cesium-map/tools/coordinates-tracker.tool.js.map +0 -1
  277. package/dist/cesium-map/tools/draw/drawHelper.d.ts.map +0 -1
  278. package/dist/cesium-map/tools/draw/drawHelper.js.map +0 -1
  279. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts.map +0 -1
  280. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js.map +0 -1
  281. package/dist/cesium-map/tools/geojson/index.d.ts.map +0 -1
  282. package/dist/cesium-map/tools/geojson/index.js.map +0 -1
  283. package/dist/cesium-map/tools/geojson/point.geojson.d.ts.map +0 -1
  284. package/dist/cesium-map/tools/geojson/point.geojson.js.map +0 -1
  285. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts.map +0 -1
  286. package/dist/cesium-map/tools/geojson/polygon.geojson.js.map +0 -1
  287. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts.map +0 -1
  288. package/dist/cesium-map/tools/geojson/rectangle.geojson.js.map +0 -1
  289. package/dist/cesium-map/tools/scale-tracker.tool.d.ts.map +0 -1
  290. package/dist/cesium-map/tools/scale-tracker.tool.js.map +0 -1
  291. package/dist/cssbaseline/cssbaseline.d.ts.map +0 -1
  292. package/dist/cssbaseline/cssbaseline.js.map +0 -1
  293. package/dist/cssbaseline/index.d.ts.map +0 -1
  294. package/dist/cssbaseline/index.js.map +0 -1
  295. package/dist/date-picker/date-picker.d.ts.map +0 -1
  296. package/dist/date-picker/date-picker.js.map +0 -1
  297. package/dist/date-picker/index.d.ts.map +0 -1
  298. package/dist/date-picker/index.js.map +0 -1
  299. package/dist/date-range-picker/date-range-picker.d.ts.map +0 -1
  300. package/dist/date-range-picker/date-range-picker.form-control.d.ts.map +0 -1
  301. package/dist/date-range-picker/date-range-picker.form-control.js.map +0 -1
  302. package/dist/date-range-picker/date-range-picker.js.map +0 -1
  303. package/dist/date-range-picker/index.d.ts.map +0 -1
  304. package/dist/date-range-picker/index.js.map +0 -1
  305. package/dist/index.d.ts.map +0 -1
  306. package/dist/index.js.map +0 -1
  307. package/dist/map-filter-container/container-map.d.ts.map +0 -1
  308. package/dist/map-filter-container/container-map.js.map +0 -1
  309. package/dist/map-filter-container/index.d.ts.map +0 -1
  310. package/dist/map-filter-container/index.js.map +0 -1
  311. package/dist/map-filter-container/map-filter-container.d.ts.map +0 -1
  312. package/dist/map-filter-container/map-filter-container.js.map +0 -1
  313. package/dist/map-filter-container/polygon-selection-ui.d.ts.map +0 -1
  314. package/dist/map-filter-container/polygon-selection-ui.js.map +0 -1
  315. package/dist/models/defaults.d.ts.map +0 -1
  316. package/dist/models/defaults.js.map +0 -1
  317. package/dist/models/enums.d.ts.map +0 -1
  318. package/dist/models/enums.js.map +0 -1
  319. package/dist/models/index.d.ts.map +0 -1
  320. package/dist/models/index.js.map +0 -1
  321. package/dist/ol-map/feature.d.ts.map +0 -1
  322. package/dist/ol-map/feature.js.map +0 -1
  323. package/dist/ol-map/index.d.ts.map +0 -1
  324. package/dist/ol-map/index.js.map +0 -1
  325. package/dist/ol-map/interactions/draw.d.ts.map +0 -1
  326. package/dist/ol-map/interactions/draw.js.map +0 -1
  327. package/dist/ol-map/interactions/index.d.ts.map +0 -1
  328. package/dist/ol-map/interactions/index.js.map +0 -1
  329. package/dist/ol-map/layers/index.d.ts.map +0 -1
  330. package/dist/ol-map/layers/index.js.map +0 -1
  331. package/dist/ol-map/layers/tile-layer.d.ts.map +0 -1
  332. package/dist/ol-map/layers/tile-layer.js.map +0 -1
  333. package/dist/ol-map/layers/vector-layer.d.ts.map +0 -1
  334. package/dist/ol-map/layers/vector-layer.js.map +0 -1
  335. package/dist/ol-map/layers/vector-tile-layer.d.ts.map +0 -1
  336. package/dist/ol-map/layers/vector-tile-layer.js.map +0 -1
  337. package/dist/ol-map/map.d.ts.map +0 -1
  338. package/dist/ol-map/map.js.map +0 -1
  339. package/dist/ol-map/source/index.d.ts.map +0 -1
  340. package/dist/ol-map/source/index.js.map +0 -1
  341. package/dist/ol-map/source/mvt.d.ts.map +0 -1
  342. package/dist/ol-map/source/mvt.js.map +0 -1
  343. package/dist/ol-map/source/osm.d.ts.map +0 -1
  344. package/dist/ol-map/source/osm.js.map +0 -1
  345. package/dist/ol-map/source/vector-source.d.ts.map +0 -1
  346. package/dist/ol-map/source/vector-source.js.map +0 -1
  347. package/dist/ol-map/source/wms.d.ts.map +0 -1
  348. package/dist/ol-map/source/wms.js.map +0 -1
  349. package/dist/ol-map/source/wmts.d.ts.map +0 -1
  350. package/dist/ol-map/source/wmts.js.map +0 -1
  351. package/dist/ol-map/source/xyz.d.ts.map +0 -1
  352. package/dist/ol-map/source/xyz.js.map +0 -1
  353. package/dist/ol-map/style.d.ts.map +0 -1
  354. package/dist/ol-map/style.js.map +0 -1
  355. package/dist/popover/index.d.ts.map +0 -1
  356. package/dist/popover/index.js.map +0 -1
  357. package/dist/popover/popover.d.ts.map +0 -1
  358. package/dist/popover/popover.js.map +0 -1
  359. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts.map +0 -1
  360. package/dist/smart-table/__mock-data__/smartTableMocks.js.map +0 -1
  361. package/dist/smart-table/index.d.ts.map +0 -1
  362. package/dist/smart-table/index.js.map +0 -1
  363. package/dist/smart-table/smart-table-head.d.ts.map +0 -1
  364. package/dist/smart-table/smart-table-head.js.map +0 -1
  365. package/dist/smart-table/smart-table-row.d.ts.map +0 -1
  366. package/dist/smart-table/smart-table-row.js.map +0 -1
  367. package/dist/smart-table/smart-table-types.d.ts.map +0 -1
  368. package/dist/smart-table/smart-table-types.js.map +0 -1
  369. package/dist/smart-table/smart-table.d.ts.map +0 -1
  370. package/dist/smart-table/smart-table.js.map +0 -1
  371. package/dist/theme/index.d.ts.map +0 -1
  372. package/dist/theme/index.js.map +0 -1
  373. package/dist/theme/theme.d.ts.map +0 -1
  374. package/dist/theme/theme.js.map +0 -1
  375. package/dist/utils/map.d.ts.map +0 -1
  376. package/dist/utils/map.js.map +0 -1
  377. package/dist/utils/projections.d.ts.map +0 -1
  378. package/dist/utils/projections.js.map +0 -1
  379. package/dist/utils/story.d.ts.map +0 -1
  380. package/dist/utils/story.js.map +0 -1
@@ -13,10 +13,11 @@ import { Story, Meta } from '@storybook/react/types-6-0';
13
13
  import { CesiumMap, useCesiumMap } from '../map';
14
14
  import { CesiumSceneMode } from '../map.types';
15
15
  import { Cesium3DTileset } from '../layers';
16
+ import { LayerType } from '../layers-manager';
16
17
  import QuantizedMeshTerrainProvider from './custom/quantized-mesh-terrain-provider';
17
18
 
18
19
  export default {
19
- title: 'Cesium Map',
20
+ title: 'Cesium Map/QuantizedMesh',
20
21
  component: CesiumMap,
21
22
  parameters: {
22
23
  layout: 'fullscreen',
@@ -40,7 +41,7 @@ const BASE_MAPS = {
40
41
  baseRasteLayers: [
41
42
  {
42
43
  id: 'GOOGLE_TERRAIN',
43
- type: 'XYZ_LAYER',
44
+ type: 'XYZ_LAYER' as LayerType,
44
45
  opacity: 1,
45
46
  zIndex: 0,
46
47
  options: {
@@ -159,7 +160,7 @@ const TerrainProviderSelector: React.FC<ITerrainProviderSelectorProps> = ({
159
160
  );
160
161
  };
161
162
 
162
- export const QuantizedMesh: Story = () => {
163
+ export const QuantizedMeshProviders: Story = () => {
163
164
  // const [center] = useState<[number, number]>([24, -200]);
164
165
  const [center] = useState<[number, number]>([-122, 43]);
165
166
  return (
@@ -181,3 +182,4 @@ export const QuantizedMesh: Story = () => {
181
182
  </div>
182
183
  );
183
184
  };
185
+ QuantizedMeshProviders.storyName = 'Providers';
@@ -0,0 +1,15 @@
1
+ import React, { useEffect } from 'react';
2
+ import { viewerCesiumInspectorMixin } from 'cesium';
3
+ import { CesiumViewer, useCesiumMap } from '../map';
4
+
5
+ export interface InspectorProps {}
6
+
7
+ export const InspectorTool: React.FC<InspectorProps> = (props) => {
8
+ const mapViewer: CesiumViewer = useCesiumMap();
9
+
10
+ useEffect(() => {
11
+ mapViewer.extend(viewerCesiumInspectorMixin);
12
+ }, [mapViewer]);
13
+
14
+ return <></>;
15
+ };
@@ -0,0 +1,167 @@
1
+ import React, { ChangeEvent } from 'react';
2
+ import {
3
+ Cartesian2,
4
+ Ellipsoid,
5
+ Color as CesiumColor,
6
+ LabelStyle as CesiumLabelStyle,
7
+ VerticalOrigin as CesiumVerticalOrigin,
8
+ Cartographic,
9
+ sampleTerrainMostDetailed,
10
+ } from 'cesium';
11
+ import { CesiumViewer, useCesiumMap } from '../map';
12
+
13
+ interface IParsedData {
14
+ cartographic: Cartographic;
15
+ cartesian: Cartesian2;
16
+ }
17
+
18
+ const LABEL_PIXEL_OFFSET = -25;
19
+ const FIRST_DATA_ROW_IDX = 2;
20
+
21
+ export interface TerrainianHeightProps {}
22
+
23
+ export const TerrainianHeightTool: React.FC<TerrainianHeightProps> = (
24
+ props
25
+ ) => {
26
+ const mapViewer: CesiumViewer = useCesiumMap();
27
+
28
+ const csvToArray = (str: string, delimiter = ','): IParsedData[] => {
29
+ // const headers = str.slice(0, str.indexOf('\n')).split(delimiter);
30
+ const rows = str.slice(str.indexOf('\n') + 1).split('\n');
31
+
32
+ const arr = rows.map((row) => {
33
+ const values = row.split(delimiter);
34
+ const el = Cartographic.fromDegrees(
35
+ parseFloat(values[0]),
36
+ parseFloat(values[1])
37
+ );
38
+ // const el = headers.reduce((object: Record<string, number>, header, index) => {
39
+ // const trimmedHeader = header.trim();
40
+ // object[trimmedHeader] = parseFloat(values[index]);
41
+ // return object;
42
+ // }, {});
43
+
44
+ //return el;
45
+ return {
46
+ cartographic: el,
47
+ cartesian: new Cartesian2(parseFloat(values[0]), parseFloat(values[1])),
48
+ };
49
+ });
50
+
51
+ return arr;
52
+ };
53
+
54
+ const loadCSV = (evt: ChangeEvent<HTMLInputElement>): void => {
55
+ evt.preventDefault();
56
+ evt.persist();
57
+ const reader = new FileReader();
58
+
59
+ reader.onload = (e: ProgressEvent<FileReader>): any => {
60
+ const text = e.target?.result;
61
+ const parsed = csvToArray(text as string);
62
+ const ellipsoid = Ellipsoid.WGS84;
63
+
64
+ console.log('Loaded CSV content:\n', text);
65
+
66
+ void sampleTerrainMostDetailed(
67
+ mapViewer.terrainProvider,
68
+ parsed.map((item) => item.cartographic)
69
+ ).then(
70
+ (updatedPositions) => {
71
+ console.log(updatedPositions);
72
+
73
+ mapViewer.scene.globe.depthTestAgainstTerrain = true;
74
+ mapViewer.entities.suspendEvents();
75
+ mapViewer.entities.removeAll();
76
+
77
+ updatedPositions.forEach((position, idx) => {
78
+ mapViewer.entities.add({
79
+ name: (idx + FIRST_DATA_ROW_IDX).toString(),
80
+ position: ellipsoid.cartographicToCartesian(position),
81
+ billboard: {
82
+ verticalOrigin: CesiumVerticalOrigin.BOTTOM,
83
+ scale: 0.7,
84
+ image: 'assets/img/map-marker.gif',
85
+ },
86
+ label: {
87
+ text: (idx + FIRST_DATA_ROW_IDX).toString(),
88
+ font: '14pt monospace',
89
+ fillColor: CesiumColor.BLACK,
90
+ style: CesiumLabelStyle.FILL_AND_OUTLINE,
91
+ outlineWidth: 4,
92
+ outlineColor: CesiumColor.BLACK,
93
+ verticalOrigin: CesiumVerticalOrigin.BOTTOM,
94
+ pixelOffset: new Cartesian2(0, LABEL_PIXEL_OFFSET),
95
+ },
96
+ description: `
97
+ Long: ${parsed[idx].cartesian.x} </br>
98
+ Lat: ${parsed[idx].cartesian.y} </br>
99
+ Height(m): <span style="font-weight: 500">${position.height}</span>
100
+ `,
101
+ });
102
+ });
103
+
104
+ mapViewer.entities.resumeEvents();
105
+
106
+ if (evt.target.files !== null) {
107
+ exportToCsv(
108
+ `terranian_heights_${evt.target.files[0].name}`,
109
+ parsed
110
+ );
111
+ evt.target.value = '';
112
+ }
113
+
114
+ console.log(
115
+ 'Pinned point count is ',
116
+ mapViewer.entities.values.length
117
+ );
118
+ },
119
+ (err) => {
120
+ console.error('ERROR while sampleTerrainMostDetailed:', err);
121
+ }
122
+ );
123
+ };
124
+
125
+ if (evt.target.files?.[0]) {
126
+ reader.readAsText(evt.target.files[0]);
127
+ }
128
+ };
129
+
130
+ const exportToCsv = (filename: string, rows: IParsedData[]): void => {
131
+ const processRow = (row: IParsedData): string => {
132
+ let finalVal = '';
133
+ finalVal += row.cartesian.x.toString() + ',';
134
+ finalVal += row.cartesian.y.toString() + ',';
135
+ finalVal += row.cartographic.height.toString();
136
+ return finalVal + '\n';
137
+ };
138
+
139
+ let csvFile = 'long,lat,height\n';
140
+ rows.forEach((row) => {
141
+ csvFile += processRow(row);
142
+ });
143
+
144
+ const blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });
145
+ const link = document.createElement('a');
146
+ const url = URL.createObjectURL(blob);
147
+ link.setAttribute('href', url);
148
+ link.setAttribute('download', filename);
149
+ link.style.visibility = 'hidden';
150
+ document.body.appendChild(link);
151
+ link.click();
152
+ document.body.removeChild(link);
153
+ };
154
+
155
+ return (
156
+ <>
157
+ <input
158
+ type="file"
159
+ id="csvFile"
160
+ accept=".csv"
161
+ onChange={(e: ChangeEvent<HTMLInputElement>): void => {
162
+ loadCSV(e);
163
+ }}
164
+ />
165
+ </>
166
+ );
167
+ };
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { action } from '@storybook/addon-actions';
3
3
  import { Story } from '@storybook/react/types-6-0';
4
- import { CSFStory } from '../../utils/story';
5
- import { SupportedLocales } from '../../models/enums';
6
- import { DateTimeRangePicker } from '../date-range-picker';
7
- import { DateTimeRangePickerFormControl } from '../date-range-picker.form-control';
4
+ import { CSFStory } from '../utils/story';
5
+ import { SupportedLocales } from '../models/enums';
6
+ import { DateTimeRangePicker } from './date-range-picker';
7
+ import { DateTimeRangePickerFormControl } from './date-range-picker.form-control';
8
8
 
9
9
  export default {
10
- title: 'Picker',
10
+ title: 'Date Range Picker',
11
11
  component: DateTimeRangePicker,
12
12
  };
13
13
 
@@ -0,0 +1,56 @@
1
+ body[dir='rtl'] .chonky-fileListWrapper [class^='listContainer-'] {
2
+ direction: rtl !important;
3
+ }
4
+
5
+ body[dir='rtl'] .chonky-chonkyRoot {
6
+ text-align: right;
7
+ }
8
+
9
+ body[dir='rtl'] .chonky-infoText {
10
+ margin-left: unset;
11
+ margin-right: 12px;
12
+ }
13
+
14
+ body[dir='rtl'] .chonky-contextMenuList .MuiListItemText-root,
15
+ body[dir='rtl'] .chonky-dropdownList .MuiListItemText-root {
16
+ text-align: right;
17
+ }
18
+
19
+ body[dir='rtl'] .chonky-icon {
20
+ margin-right: unset;
21
+ margin-left: 8px;
22
+ }
23
+
24
+ .chonky-chonkyRoot div[class^='folderBackSide'] {
25
+ box-shadow: unset;
26
+ }
27
+
28
+ .chonky-chonkyRoot div[class^='folderBackSide']::after {
29
+ border-color: var(--fp-theme-background, #fff)
30
+ var(--fp-theme-background, #fff) transparent transparent;
31
+ }
32
+
33
+ .chonky-chonkyRoot div[class^='listFileEntryIcon-'] {
34
+ color: #d5d5d5;
35
+ }
36
+
37
+ .chonky-chonkyRoot div[class*='previewFile-d'] {
38
+ background-color: #d5d5d5;
39
+ }
40
+
41
+ .chonky-chonkyRoot div[class^='selectionIndicator-'] {
42
+ background: var(--fp-theme-selection-background, #455570);
43
+ }
44
+
45
+ .chonky-chonkyRoot {
46
+ background-color: var(--fp-theme-background, #fff) !important;
47
+ }
48
+
49
+ .chonky-contextMenuList {
50
+ background-color: var(--fp-theme-surface, #fff) !important;
51
+ }
52
+
53
+ button[class*='chonky-activeButton'],
54
+ .chonky-selectionSizeText {
55
+ color: var(--fp-theme-primary, #24aee9) !important;
56
+ }
@@ -0,0 +1,381 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
2
+ import React, {
3
+ useCallback,
4
+ useState,
5
+ useMemo,
6
+ useRef,
7
+ useEffect,
8
+ } from 'react';
9
+ import { Story } from '@storybook/react/types-6-0';
10
+ import {
11
+ FormControl,
12
+ FormControlLabel,
13
+ FormLabel,
14
+ Radio,
15
+ RadioGroup,
16
+ } from '@material-ui/core';
17
+ import { Box } from '../box';
18
+ import { SupportedLocales } from '../models';
19
+ import {
20
+ FileActionData,
21
+ FilePicker,
22
+ FileArray,
23
+ FileData,
24
+ FileHelper,
25
+ FilePickerActions,
26
+ } from './file-picker';
27
+ import FsMap from './fs-map.json';
28
+
29
+ export default {
30
+ title: 'File Picker',
31
+ component: FilePicker,
32
+ };
33
+
34
+ interface CustomFileData extends FileData {
35
+ parentId?: string;
36
+ childrenIds?: string[];
37
+ }
38
+ interface CustomFileMap {
39
+ [fileId: string]: CustomFileData;
40
+ }
41
+
42
+ const prepareCustomFileMap = (): Record<string, unknown> => {
43
+ const baseFileMap = (FsMap.fileMap as unknown) as CustomFileMap;
44
+ const rootFolderId = FsMap.rootFolderId;
45
+ return { baseFileMap, rootFolderId };
46
+ };
47
+
48
+ // Sets up files map and actions
49
+ // eslint-disable-next-line
50
+ const useCustomFileMap = () => {
51
+ const { baseFileMap, rootFolderId } = useMemo(prepareCustomFileMap, []);
52
+
53
+ const [fileMap, setFileMap] = useState<CustomFileMap>(
54
+ baseFileMap as CustomFileMap
55
+ );
56
+ const [currentFolderId, setCurrentFolderId] = useState(rootFolderId);
57
+
58
+ const resetFileMap = useCallback(() => {
59
+ setFileMap(baseFileMap as CustomFileMap);
60
+ setCurrentFolderId(rootFolderId);
61
+ }, [baseFileMap, rootFolderId]);
62
+
63
+ const currentFolderIdRef = useRef(currentFolderId);
64
+
65
+ useEffect(() => {
66
+ currentFolderIdRef.current = currentFolderId;
67
+ }, [currentFolderId]);
68
+
69
+ const deleteFiles = useCallback((files: CustomFileData[]) => {
70
+ setFileMap((currentFileMap) => {
71
+ const newFileMap = { ...currentFileMap };
72
+
73
+ files.forEach((file) => {
74
+ delete newFileMap[file.id];
75
+
76
+ if (file.parentId) {
77
+ const parent = newFileMap[file.parentId];
78
+ const newChildrenIds = parent.childrenIds?.filter(
79
+ (id) => id !== file.id
80
+ );
81
+ newFileMap[file.parentId] = {
82
+ ...parent,
83
+ childrenIds: newChildrenIds,
84
+ childrenCount: newChildrenIds?.length,
85
+ };
86
+ }
87
+ });
88
+
89
+ return newFileMap;
90
+ });
91
+ }, []);
92
+
93
+ const moveFiles = useCallback(
94
+ (
95
+ files: CustomFileData[],
96
+ source: CustomFileData,
97
+ destination: CustomFileData
98
+ ) => {
99
+ setFileMap((currentFileMap) => {
100
+ const newFileMap = { ...currentFileMap };
101
+ const moveFileIds = new Set(files.map((f) => f.id));
102
+
103
+ // Delete files from their source folder.
104
+ const newSourceChildrenIds = source.childrenIds?.filter(
105
+ (id) => !moveFileIds.has(id)
106
+ );
107
+ newFileMap[source.id] = {
108
+ ...source,
109
+ childrenIds: newSourceChildrenIds,
110
+ childrenCount: newSourceChildrenIds?.length,
111
+ };
112
+
113
+ // Add the files to their destination folder.
114
+ const newDestinationChildrenIds = [
115
+ ...(destination.childrenIds as string[]),
116
+ ...files.map((f) => f.id),
117
+ ];
118
+ newFileMap[destination.id] = {
119
+ ...destination,
120
+ childrenIds: newDestinationChildrenIds,
121
+ childrenCount: newDestinationChildrenIds.length,
122
+ };
123
+
124
+ // Finally, update the parent folder ID on the files - from source folder
125
+ // ID to the destination folder ID.
126
+ files.forEach((file) => {
127
+ newFileMap[file.id] = {
128
+ ...file,
129
+ parentId: destination.id,
130
+ };
131
+ });
132
+
133
+ return newFileMap;
134
+ });
135
+ },
136
+ []
137
+ );
138
+
139
+ // TODO: in production we should use UUIDs or MD5 hashes for file paths
140
+ const idCounter = useRef(0);
141
+ const createFolder = useCallback((folderName: string) => {
142
+ setFileMap((currentFileMap) => {
143
+ const newFileMap = { ...currentFileMap };
144
+
145
+ const parentId = currentFolderIdRef.current as string;
146
+ // Create the new folder.
147
+ const newFolderId = `new-folder-${idCounter.current++}`;
148
+ newFileMap[newFolderId] = {
149
+ id: newFolderId,
150
+ name: folderName,
151
+ isDir: true,
152
+ modDate: new Date(),
153
+ parentId: parentId,
154
+ childrenIds: [],
155
+ childrenCount: 0,
156
+ };
157
+
158
+ // Update parent folder to reference the new folder.
159
+ const parent = newFileMap[parentId];
160
+ newFileMap[parentId] = {
161
+ ...parent,
162
+ childrenIds: [...(parent.childrenIds as string[]), newFolderId],
163
+ };
164
+
165
+ return newFileMap;
166
+ });
167
+ }, []);
168
+
169
+ return {
170
+ fileMap,
171
+ currentFolderId,
172
+ setCurrentFolderId,
173
+ resetFileMap,
174
+ deleteFiles,
175
+ moveFiles,
176
+ createFolder,
177
+ };
178
+ };
179
+
180
+ const useFiles = (
181
+ fileMap: CustomFileMap,
182
+ currentFolderId: string
183
+ ): FileArray => {
184
+ return useMemo(() => {
185
+ const currentFolder = fileMap[currentFolderId];
186
+ const files = currentFolder.childrenIds
187
+ ? currentFolder.childrenIds.map((fileId: string) => fileMap[fileId])
188
+ : [];
189
+ return files;
190
+ }, [currentFolderId, fileMap]);
191
+ };
192
+
193
+ const useFolderChain = (
194
+ fileMap: CustomFileMap,
195
+ currentFolderId: string
196
+ ): FileArray => {
197
+ return useMemo(() => {
198
+ const currentFolder = fileMap[currentFolderId];
199
+ const folderChain = [currentFolder];
200
+ let parentId = currentFolder.parentId;
201
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
202
+ while (parentId) {
203
+ const parentFile = fileMap[parentId];
204
+ // eslint-disable-next-line
205
+ if (parentFile) {
206
+ folderChain.unshift(parentFile);
207
+ parentId = parentFile.parentId;
208
+ } else {
209
+ break;
210
+ }
211
+ }
212
+ return folderChain;
213
+ }, [currentFolderId, fileMap]);
214
+ };
215
+
216
+ const useFileActionHandler = (
217
+ setCurrentFolderId: (folderId: string) => void,
218
+ deleteFiles: (files: CustomFileData[]) => void,
219
+ moveFiles: (
220
+ files: FileData[],
221
+ source: FileData,
222
+ destination: FileData
223
+ ) => void,
224
+ createFolder: (folderName: string) => void
225
+ ): ((data: FileActionData) => void) => {
226
+ return useCallback(
227
+ (data: FileActionData) => {
228
+ if (data.id === FilePickerActions.OpenFiles.id) {
229
+ const { targetFile, files } = data.payload;
230
+ const fileToOpen = targetFile ?? files[0];
231
+ // eslint-disable-next-line
232
+ if (fileToOpen && FileHelper.isDirectory(fileToOpen)) {
233
+ setCurrentFolderId(fileToOpen.id);
234
+ return;
235
+ }
236
+ } else if (data.id === FilePickerActions.DeleteFiles.id) {
237
+ deleteFiles(data.state.selectedFilesForAction);
238
+ } else if (data.id === FilePickerActions.MoveFiles.id) {
239
+ moveFiles(
240
+ data.payload.files,
241
+ data.payload.source as FileData,
242
+ data.payload.destination
243
+ );
244
+ } else if (data.id === FilePickerActions.CreateFolder.id) {
245
+ const folderName = prompt('Provide the name for your new folder:');
246
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
247
+ if (folderName) createFolder(folderName);
248
+ }
249
+ },
250
+ [createFolder, deleteFiles, moveFiles, setCurrentFolderId]
251
+ );
252
+ };
253
+
254
+ export const ReadOnlyMode: Story = () => {
255
+ const {
256
+ fileMap,
257
+ currentFolderId,
258
+ setCurrentFolderId,
259
+ // resetFileMap,
260
+ deleteFiles,
261
+ moveFiles,
262
+ createFolder,
263
+ } = useCustomFileMap();
264
+ const files = useFiles(fileMap, currentFolderId as string);
265
+ const folderChain = useFolderChain(fileMap, currentFolderId as string);
266
+ const handleFileAction = useFileActionHandler(
267
+ setCurrentFolderId,
268
+ deleteFiles,
269
+ moveFiles,
270
+ createFolder
271
+ );
272
+ return (
273
+ <Box style={{ height: '600px' }}>
274
+ <FilePicker
275
+ files={files}
276
+ folderChain={folderChain}
277
+ onFileAction={handleFileAction}
278
+ readOnlyMode={true}
279
+ />
280
+ </Box>
281
+ );
282
+ };
283
+
284
+ export const DarkTheme: Story = () => {
285
+ const {
286
+ fileMap,
287
+ currentFolderId,
288
+ setCurrentFolderId,
289
+ // resetFileMap,
290
+ deleteFiles,
291
+ moveFiles,
292
+ createFolder,
293
+ } = useCustomFileMap();
294
+ const files = useFiles(fileMap, currentFolderId as string);
295
+ const folderChain = useFolderChain(fileMap, currentFolderId as string);
296
+ const handleFileAction = useFileActionHandler(
297
+ setCurrentFolderId,
298
+ deleteFiles,
299
+ moveFiles,
300
+ createFolder
301
+ );
302
+ return (
303
+ <Box style={{ height: '600px' }}>
304
+ <FilePicker
305
+ files={files}
306
+ folderChain={folderChain}
307
+ onFileAction={handleFileAction}
308
+ theme={{
309
+ primary: 'blue',
310
+ background: 'black',
311
+ surface: 'gray',
312
+ textOnBackground: 'white',
313
+ selectionBackground: '#455570',
314
+ }}
315
+ />
316
+ </Box>
317
+ );
318
+ };
319
+
320
+ export const Localized: Story = () => {
321
+ const {
322
+ fileMap,
323
+ currentFolderId,
324
+ setCurrentFolderId,
325
+ // resetFileMap,
326
+ deleteFiles,
327
+ moveFiles,
328
+ createFolder,
329
+ } = useCustomFileMap();
330
+ const files = useFiles(fileMap, currentFolderId as string);
331
+ const folderChain = useFolderChain(fileMap, currentFolderId as string);
332
+ const handleFileAction = useFileActionHandler(
333
+ setCurrentFolderId,
334
+ deleteFiles,
335
+ moveFiles,
336
+ createFolder
337
+ );
338
+ const [locale, setLocale] = useState<SupportedLocales>(SupportedLocales.HE);
339
+ const handleLocaleChange = useCallback(
340
+ (event) => setLocale(event.target.value),
341
+ []
342
+ );
343
+ return (
344
+ <>
345
+ <FormControl component="fieldset" style={{ marginBottom: 15 }}>
346
+ <FormLabel component="legend">Pick a language:</FormLabel>
347
+ <RadioGroup
348
+ aria-label="locale"
349
+ name="locale"
350
+ value={locale}
351
+ onChange={handleLocaleChange}
352
+ >
353
+ <FormControlLabel
354
+ value={SupportedLocales.HE}
355
+ control={<Radio />}
356
+ label="עברית"
357
+ />
358
+ <FormControlLabel
359
+ value={SupportedLocales.RU}
360
+ control={<Radio />}
361
+ label="Русский"
362
+ />
363
+ <FormControlLabel
364
+ value={SupportedLocales.EN}
365
+ control={<Radio />}
366
+ label="English"
367
+ />
368
+ </RadioGroup>
369
+ </FormControl>
370
+ <br />
371
+ <Box style={{ height: '600px' }}>
372
+ <FilePicker
373
+ files={files}
374
+ folderChain={folderChain}
375
+ onFileAction={handleFileAction}
376
+ locale={locale}
377
+ />
378
+ </Box>
379
+ </>
380
+ );
381
+ };