@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,137 +1,137 @@
1
- import React, {
2
- useRef,
3
- useEffect,
4
- createContext,
5
- useContext,
6
- useState,
7
- } from 'react';
8
- import { Map as OlMap, View } from 'ol';
9
- import './map.css';
10
- import 'ol/ol.css';
11
- import { format, Coordinate, CoordinateFormat } from 'ol/coordinate';
12
- import { defaults as defaultControls, FullScreen } from 'ol/control';
13
- import MousePosition from 'ol/control/MousePosition';
14
- import Collection from 'ol/Collection';
15
- import Control from 'ol/control/Control';
16
- import { transform } from 'ol/proj';
17
- import {
18
- Proj,
19
- COORDINATES_WGS_FRACTION_DIGITS,
20
- COORDINATES_MERCATOR_FRACTION_DIGITS,
21
- } from '../utils/projections';
22
-
23
- export interface MapProps {
24
- allowFullScreen?: boolean;
25
- showMousePosition?: boolean;
26
- projection?: Proj;
27
- center?: [number, number];
28
- zoom?: number;
29
- }
30
-
31
- const mapContext = createContext<OlMap | null>(null);
32
- const MapProvider = mapContext.Provider;
33
-
34
- const CENTER_LAT = 35,
35
- CENTER_LON = 32,
36
- DEFAULT_ZOOM = 10;
37
-
38
- const getDefaultCenter = (projection: string | undefined): Coordinate => {
39
- return projection !== undefined && projection !== Proj.WGS84
40
- ? transform([CENTER_LAT, CENTER_LON], Proj.WGS84, projection)
41
- : [CENTER_LAT, CENTER_LON];
42
- };
43
-
44
- const getCoordinateFormatString = (projection?: Proj): CoordinateFormat => {
45
- switch (projection) {
46
- case Proj.WEB_MERCATOR:
47
- return (coord?: Coordinate): string =>
48
- format(
49
- coord as Coordinate,
50
- 'Mercator: {y}m, {x}m',
51
- COORDINATES_MERCATOR_FRACTION_DIGITS
52
- );
53
- case Proj.WGS84:
54
- return (coord?: Coordinate): string =>
55
- format(
56
- coord as Coordinate,
57
- 'WGS84: {y}°N {x}°E',
58
- COORDINATES_WGS_FRACTION_DIGITS
59
- );
60
- default:
61
- return (coord?: Coordinate): string => '';
62
- }
63
- };
64
-
65
- export const useMap = (): OlMap => {
66
- const map = useContext(mapContext);
67
-
68
- if (map === null) {
69
- throw new Error('map context is null, please check the provider');
70
- }
71
-
72
- return map;
73
- };
74
-
75
- export const Map: React.FC<MapProps> = (props) => {
76
- const mapElementRef = useRef<HTMLDivElement>(null);
77
- const { allowFullScreen, showMousePosition, projection } = props;
78
-
79
- const [map] = useState(
80
- new OlMap({
81
- view: new View({
82
- projection: projection ?? Proj.WGS84,
83
- }),
84
- controls: defaultControls(),
85
- })
86
- );
87
-
88
- useEffect(() => {
89
- map.getView().setCenter(props.center ?? getDefaultCenter(props.projection));
90
- }, [map, props.center, props.projection]);
91
-
92
- useEffect(() => {
93
- map.getView().setZoom(props.zoom ?? DEFAULT_ZOOM);
94
- }, [map, props.zoom, props.projection]);
95
-
96
- // eslint-disable-next-line
97
- const removeControl = (ctrType: any, mapInst: OlMap): void => {
98
- const controls: Collection<Control> = mapInst.getControls();
99
- controls.forEach((control: Control) => {
100
- if (control instanceof ctrType) {
101
- mapInst.removeControl(control);
102
- }
103
- });
104
- };
105
-
106
- useEffect(() => {
107
- map.setTarget(mapElementRef.current as HTMLElement);
108
-
109
- if (allowFullScreen !== undefined && allowFullScreen) {
110
- map.addControl(new FullScreen());
111
- } else {
112
- removeControl(FullScreen, map);
113
- }
114
- }, [map, allowFullScreen]);
115
-
116
- useEffect(() => {
117
- if (showMousePosition !== undefined && showMousePosition) {
118
- removeControl(MousePosition, map);
119
- map.addControl(
120
- new MousePosition({
121
- coordinateFormat: getCoordinateFormatString(projection ?? Proj.WGS84),
122
- projection: projection ?? Proj.WGS84,
123
- undefinedHTML: '&nbsp;',
124
- })
125
- );
126
- } else {
127
- removeControl(MousePosition, map);
128
- }
129
- }, [map, showMousePosition, projection]);
130
-
131
- return (
132
- <MapProvider value={map}>
133
- <div className="map" ref={mapElementRef}></div>
134
- {props.children}
135
- </MapProvider>
136
- );
137
- };
1
+ import React, {
2
+ useRef,
3
+ useEffect,
4
+ createContext,
5
+ useContext,
6
+ useState,
7
+ } from 'react';
8
+ import { Map as OlMap, View } from 'ol';
9
+ import './map.css';
10
+ import 'ol/ol.css';
11
+ import { format, Coordinate, CoordinateFormat } from 'ol/coordinate';
12
+ import { defaults as defaultControls, FullScreen } from 'ol/control';
13
+ import MousePosition from 'ol/control/MousePosition';
14
+ import Collection from 'ol/Collection';
15
+ import Control from 'ol/control/Control';
16
+ import { transform } from 'ol/proj';
17
+ import {
18
+ Proj,
19
+ COORDINATES_WGS_FRACTION_DIGITS,
20
+ COORDINATES_MERCATOR_FRACTION_DIGITS,
21
+ } from '../utils/projections';
22
+
23
+ export interface MapProps {
24
+ allowFullScreen?: boolean;
25
+ showMousePosition?: boolean;
26
+ projection?: Proj;
27
+ center?: [number, number];
28
+ zoom?: number;
29
+ }
30
+
31
+ const mapContext = createContext<OlMap | null>(null);
32
+ const MapProvider = mapContext.Provider;
33
+
34
+ const CENTER_LAT = 35,
35
+ CENTER_LON = 32,
36
+ DEFAULT_ZOOM = 10;
37
+
38
+ const getDefaultCenter = (projection: string | undefined): Coordinate => {
39
+ return projection !== undefined && projection !== Proj.WGS84
40
+ ? transform([CENTER_LAT, CENTER_LON], Proj.WGS84, projection)
41
+ : [CENTER_LAT, CENTER_LON];
42
+ };
43
+
44
+ const getCoordinateFormatString = (projection?: Proj): CoordinateFormat => {
45
+ switch (projection) {
46
+ case Proj.WEB_MERCATOR:
47
+ return (coord?: Coordinate): string =>
48
+ format(
49
+ coord as Coordinate,
50
+ 'Mercator: {y}m, {x}m',
51
+ COORDINATES_MERCATOR_FRACTION_DIGITS
52
+ );
53
+ case Proj.WGS84:
54
+ return (coord?: Coordinate): string =>
55
+ format(
56
+ coord as Coordinate,
57
+ 'WGS84: {y}°N {x}°E',
58
+ COORDINATES_WGS_FRACTION_DIGITS
59
+ );
60
+ default:
61
+ return (coord?: Coordinate): string => '';
62
+ }
63
+ };
64
+
65
+ export const useMap = (): OlMap => {
66
+ const map = useContext(mapContext);
67
+
68
+ if (map === null) {
69
+ throw new Error('map context is null, please check the provider');
70
+ }
71
+
72
+ return map;
73
+ };
74
+
75
+ export const Map: React.FC<MapProps> = (props) => {
76
+ const mapElementRef = useRef<HTMLDivElement>(null);
77
+ const { allowFullScreen, showMousePosition, projection } = props;
78
+
79
+ const [map] = useState(
80
+ new OlMap({
81
+ view: new View({
82
+ projection: projection ?? Proj.WGS84,
83
+ }),
84
+ controls: defaultControls(),
85
+ })
86
+ );
87
+
88
+ useEffect(() => {
89
+ map.getView().setCenter(props.center ?? getDefaultCenter(props.projection));
90
+ }, [map, props.center, props.projection]);
91
+
92
+ useEffect(() => {
93
+ map.getView().setZoom(props.zoom ?? DEFAULT_ZOOM);
94
+ }, [map, props.zoom, props.projection]);
95
+
96
+ // eslint-disable-next-line
97
+ const removeControl = (ctrType: any, mapInst: OlMap): void => {
98
+ const controls: Collection<Control> = mapInst.getControls();
99
+ controls.forEach((control: Control) => {
100
+ if (control instanceof ctrType) {
101
+ mapInst.removeControl(control);
102
+ }
103
+ });
104
+ };
105
+
106
+ useEffect(() => {
107
+ map.setTarget(mapElementRef.current as HTMLElement);
108
+
109
+ if (allowFullScreen !== undefined && allowFullScreen) {
110
+ map.addControl(new FullScreen());
111
+ } else {
112
+ removeControl(FullScreen, map);
113
+ }
114
+ }, [map, allowFullScreen]);
115
+
116
+ useEffect(() => {
117
+ if (showMousePosition !== undefined && showMousePosition) {
118
+ removeControl(MousePosition, map);
119
+ map.addControl(
120
+ new MousePosition({
121
+ coordinateFormat: getCoordinateFormatString(projection ?? Proj.WGS84),
122
+ projection: projection ?? Proj.WGS84,
123
+ undefinedHTML: '&nbsp;',
124
+ })
125
+ );
126
+ } else {
127
+ removeControl(MousePosition, map);
128
+ }
129
+ }, [map, showMousePosition, projection]);
130
+
131
+ return (
132
+ <MapProvider value={map}>
133
+ <div className="map" ref={mapElementRef}></div>
134
+ {props.children}
135
+ </MapProvider>
136
+ );
137
+ };
@@ -1,6 +1,6 @@
1
- export * from './osm';
2
- export * from './vector-source';
3
- export * from './wmts';
4
- export * from './wms';
5
- export * from './xyz';
6
- export * from './mvt';
1
+ export * from './osm';
2
+ export * from './vector-source';
3
+ export * from './wmts';
4
+ export * from './wms';
5
+ export * from './xyz';
6
+ export * from './mvt';
@@ -1,46 +1,46 @@
1
- import React, { useEffect, createContext, useContext } from 'react';
2
- import VectorTileSource, { Options } from 'ol/source/VectorTile';
3
- import { MVT } from 'ol/format';
4
- import { useVectorTileLayer } from '../layers/vector-tile-layer';
5
-
6
- const vectorTileSourceContext = createContext<VectorTileSource | null>(null);
7
-
8
- export const useVectorTileSource = (): VectorTileSource => {
9
- const source = useContext(vectorTileSourceContext);
10
-
11
- if (source === null) {
12
- throw new Error(
13
- 'vector tile source context is null, please check the provider'
14
- );
15
- }
16
-
17
- return source;
18
- };
19
-
20
- export interface MVTSourceProps {
21
- options: Options;
22
- }
23
-
24
- export interface MVTOptionParams {
25
- url: string;
26
- }
27
-
28
- export const getMVTOptions = (optionParams: MVTOptionParams): Options => {
29
- const { url } = optionParams;
30
- const mvtOptions: Options = {
31
- url,
32
- format: new MVT(),
33
- };
34
-
35
- return mvtOptions;
36
- };
37
-
38
- export const MVTSource: React.FC<MVTSourceProps> = ({ children, options }) => {
39
- const vectorTileLayer = useVectorTileLayer();
40
-
41
- useEffect((): void => {
42
- vectorTileLayer.setSource(new VectorTileSource(options));
43
- }, [options, vectorTileLayer]);
44
-
45
- return null;
46
- };
1
+ import React, { useEffect, createContext, useContext } from 'react';
2
+ import VectorTileSource, { Options } from 'ol/source/VectorTile';
3
+ import { MVT } from 'ol/format';
4
+ import { useVectorTileLayer } from '../layers/vector-tile-layer';
5
+
6
+ const vectorTileSourceContext = createContext<VectorTileSource | null>(null);
7
+
8
+ export const useVectorTileSource = (): VectorTileSource => {
9
+ const source = useContext(vectorTileSourceContext);
10
+
11
+ if (source === null) {
12
+ throw new Error(
13
+ 'vector tile source context is null, please check the provider'
14
+ );
15
+ }
16
+
17
+ return source;
18
+ };
19
+
20
+ export interface MVTSourceProps {
21
+ options: Options;
22
+ }
23
+
24
+ export interface MVTOptionParams {
25
+ url: string;
26
+ }
27
+
28
+ export const getMVTOptions = (optionParams: MVTOptionParams): Options => {
29
+ const { url } = optionParams;
30
+ const mvtOptions: Options = {
31
+ url,
32
+ format: new MVT(),
33
+ };
34
+
35
+ return mvtOptions;
36
+ };
37
+
38
+ export const MVTSource: React.FC<MVTSourceProps> = ({ children, options }) => {
39
+ const vectorTileLayer = useVectorTileLayer();
40
+
41
+ useEffect((): void => {
42
+ vectorTileLayer.setSource(new VectorTileSource(options));
43
+ }, [options, vectorTileLayer]);
44
+
45
+ return null;
46
+ };
@@ -1,13 +1,13 @@
1
- import React, { useEffect } from 'react';
2
- import { OSM } from 'ol/source';
3
- import { useTileLayer } from '../layers/tile-layer';
4
-
5
- export const TileOsm: React.FC = (props) => {
6
- const tileLayer = useTileLayer();
7
-
8
- useEffect(() => {
9
- tileLayer.setSource(new OSM());
10
- }, [tileLayer]);
11
-
12
- return null;
13
- };
1
+ import React, { useEffect } from 'react';
2
+ import { OSM } from 'ol/source';
3
+ import { useTileLayer } from '../layers/tile-layer';
4
+
5
+ export const TileOsm: React.FC = (props) => {
6
+ const tileLayer = useTileLayer();
7
+
8
+ useEffect(() => {
9
+ tileLayer.setSource(new OSM());
10
+ }, [tileLayer]);
11
+
12
+ return null;
13
+ };
@@ -1,68 +1,68 @@
1
- import React from 'react';
2
- import { Style, Fill, Circle, Stroke } from 'ol/style';
3
- import { Proj } from '../../../utils/projections';
4
- import { VectorTileLayer } from '../../layers/vector-tile-layer';
5
- import { Map } from '../../map';
6
- import { TileLayer } from '../../layers';
7
- import { MVTSource, getMVTOptions } from '../mvt';
8
- import { TileOsm } from '..';
9
-
10
- export default {
11
- title: 'Map/Map Tiles/MVT',
12
- component: VectorTileLayer,
13
- subcomponents: MVTSource,
14
- parameters: {
15
- layout: 'fullscreen',
16
- },
17
- };
18
-
19
- const mapDivStyle = {
20
- height: '100%',
21
- width: '100%',
22
- position: 'absolute' as const,
23
- };
24
-
25
- export const Basic = (): JSX.Element => (
26
- <div style={mapDivStyle}>
27
- <Map projection={Proj.WEB_MERCATOR}>
28
- <TileLayer>
29
- <TileOsm />
30
- </TileLayer>
31
- <VectorTileLayer>
32
- <MVTSource
33
- options={getMVTOptions({
34
- url: 'http://localhost:9090/maps/osm/{z}/{x}/{y}.pbf',
35
- })}
36
- />
37
- </VectorTileLayer>
38
- </Map>
39
- </div>
40
- );
41
-
42
- export const Styled = (): JSX.Element => (
43
- <div style={mapDivStyle}>
44
- <Map projection={Proj.WEB_MERCATOR}>
45
- <TileLayer>
46
- <TileOsm />
47
- </TileLayer>
48
- <VectorTileLayer
49
- style={
50
- new Style({
51
- fill: new Fill({ color: 'red' }),
52
- image: new Circle({
53
- fill: new Fill({ color: 'orange' }),
54
- radius: 1,
55
- }),
56
- stroke: new Stroke({ color: 'blue' }),
57
- })
58
- }
59
- >
60
- <MVTSource
61
- options={getMVTOptions({
62
- url: 'http://localhost:9090/maps/osm/{z}/{x}/{y}.pbf',
63
- })}
64
- />
65
- </VectorTileLayer>
66
- </Map>
67
- </div>
68
- );
1
+ import React from 'react';
2
+ import { Style, Fill, Circle, Stroke } from 'ol/style';
3
+ import { Proj } from '../../../utils/projections';
4
+ import { VectorTileLayer } from '../../layers/vector-tile-layer';
5
+ import { Map } from '../../map';
6
+ import { TileLayer } from '../../layers';
7
+ import { MVTSource, getMVTOptions } from '../mvt';
8
+ import { TileOsm } from '..';
9
+
10
+ export default {
11
+ title: 'Map/Map Tiles/MVT',
12
+ component: VectorTileLayer,
13
+ subcomponents: MVTSource,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ },
17
+ };
18
+
19
+ const mapDivStyle = {
20
+ height: '100%',
21
+ width: '100%',
22
+ position: 'absolute' as const,
23
+ };
24
+
25
+ export const Basic = (): JSX.Element => (
26
+ <div style={mapDivStyle}>
27
+ <Map projection={Proj.WEB_MERCATOR}>
28
+ <TileLayer>
29
+ <TileOsm />
30
+ </TileLayer>
31
+ <VectorTileLayer>
32
+ <MVTSource
33
+ options={getMVTOptions({
34
+ url: 'http://localhost:9090/maps/osm/{z}/{x}/{y}.pbf',
35
+ })}
36
+ />
37
+ </VectorTileLayer>
38
+ </Map>
39
+ </div>
40
+ );
41
+
42
+ export const Styled = (): JSX.Element => (
43
+ <div style={mapDivStyle}>
44
+ <Map projection={Proj.WEB_MERCATOR}>
45
+ <TileLayer>
46
+ <TileOsm />
47
+ </TileLayer>
48
+ <VectorTileLayer
49
+ style={
50
+ new Style({
51
+ fill: new Fill({ color: 'red' }),
52
+ image: new Circle({
53
+ fill: new Fill({ color: 'orange' }),
54
+ radius: 1,
55
+ }),
56
+ stroke: new Stroke({ color: 'blue' }),
57
+ })
58
+ }
59
+ >
60
+ <MVTSource
61
+ options={getMVTOptions({
62
+ url: 'http://localhost:9090/maps/osm/{z}/{x}/{y}.pbf',
63
+ })}
64
+ />
65
+ </VectorTileLayer>
66
+ </Map>
67
+ </div>
68
+ );