@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,273 +1,305 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
- if (k2 === undefined) k2 = k;
30
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
31
- }) : (function(o, m, k, k2) {
32
- if (k2 === undefined) k2 = k;
33
- o[k2] = m[k];
34
- }));
35
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
- Object.defineProperty(o, "default", { enumerable: true, value: v });
37
- }) : function(o, v) {
38
- o["default"] = v;
39
- });
40
- var __importStar = (this && this.__importStar) || function (mod) {
41
- if (mod && mod.__esModule) return mod;
42
- var result = {};
43
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
44
- __setModuleDefault(result, mod);
45
- return result;
46
- };
47
- var __importDefault = (this && this.__importDefault) || function (mod) {
48
- return (mod && mod.__esModule) ? mod : { "default": mod };
49
- };
50
- Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.CesiumMap = exports.useCesiumMap = exports.CesiumViewer = void 0;
52
- var react_1 = __importStar(require("react"));
53
- var resium_1 = require("resium");
54
- var cesium_1 = require("cesium");
55
- var lodash_1 = require("lodash");
56
- var map_1 = require("../utils/map");
57
- var box_1 = require("../box");
58
- var projections_1 = require("../utils/projections");
59
- var coordinates_tracker_tool_1 = require("./tools/coordinates-tracker.tool");
60
- var scale_tracker_tool_1 = require("./tools/scale-tracker.tool");
61
- var settings_1 = require("./settings/settings");
62
- var layers_manager_1 = __importDefault(require("./layers-manager"));
63
- var map_types_1 = require("./map.types");
64
- require("./map.css");
65
- var DEFAULT_HEIGHT = 212;
66
- var DEFAULT_WIDTH = 260;
67
- var DEFAULT_DYNAMIC_HEIGHT_INCREMENT = 0;
68
- var CesiumViewer = /** @class */ (function (_super) {
69
- __extends(CesiumViewer, _super);
70
- function CesiumViewer(container, options) {
71
- return _super.call(this, container, options) || this;
72
- }
73
- return CesiumViewer;
74
- }(cesium_1.Viewer));
75
- exports.CesiumViewer = CesiumViewer;
76
- var mapContext = react_1.createContext(null);
77
- var MapViewProvider = mapContext.Provider;
78
- var cameraPositionRefreshRate = 10000;
79
- var useCesiumMap = function () {
80
- var mapViewer = react_1.useContext(mapContext);
81
- if (mapViewer === null) {
82
- throw new Error('map context is null, please check the provider');
83
- }
84
- return mapViewer;
85
- };
86
- exports.useCesiumMap = useCesiumMap;
87
- var CesiumMap = function (props) {
88
- var _a, _b, _c, _d, _e, _f, _g, _h;
89
- var ref = react_1.useRef(null);
90
- var _j = react_1.useState(), mapViewRef = _j[0], setMapViewRef = _j[1];
91
- var _k = react_1.useState(), projection = _k[0], setProjection = _k[1];
92
- var _l = react_1.useState(), showMousePosition = _l[0], setShowMousePosition = _l[1];
93
- var _m = react_1.useState(), showScale = _m[0], setShowScale = _m[1];
94
- var _o = react_1.useState(), locale = _o[0], setLocale = _o[1];
95
- var _p = react_1.useState(), cameraState = _p[0], setCameraState = _p[1];
96
- var _q = react_1.useState(), sceneModes = _q[0], setSceneModes = _q[1];
97
- var _r = react_1.useState(), baseMaps = _r[0], setBaseMaps = _r[1];
98
- var _s = react_1.useState(false), showImageryMenu = _s[0], setShowImageryMenu = _s[1];
99
- var _t = react_1.useState(undefined), imageryMenuPosition = _t[0], setImageryMenuPosition = _t[1];
100
- var viewerProps = __assign({ fullscreenButton: true, timeline: false, animation: false, baseLayerPicker: false, geocoder: false, navigationHelpButton: false, homeButton: false, sceneModePicker: false }, props);
101
- var getImageryMenuStyle = function (x, y, menuWidth, menuHeight, menuDynamicHeightIncrement) {
102
- var container = mapViewRef.container;
103
- var mapWidth = container.clientWidth;
104
- var mapHeight = container.clientHeight;
105
- var calculatedHeight = menuHeight + menuDynamicHeightIncrement;
106
- return {
107
- left: (mapWidth - x < menuWidth ? x - (menuWidth - (mapWidth - x)) : x) + "px",
108
- top: (mapHeight - y < calculatedHeight
109
- ? y - (calculatedHeight - (mapHeight - y))
110
- : y) + "px",
111
- };
112
- };
113
- react_1.useEffect(function () {
114
- var _a;
115
- if (ref.current) {
116
- var viewer = ref.current.cesiumElement;
117
- viewer.layersManager = new layers_manager_1.default(viewer);
118
- if (props.imageryContextMenu) {
119
- viewer.screenSpaceEventHandler.setInputAction(function (evt) {
120
- // console.log('RIGHT click', evt.position);
121
- setShowImageryMenu(false);
122
- setImageryMenuPosition(evt.position);
123
- setShowImageryMenu(true);
124
- }, cesium_1.ScreenSpaceEventType.RIGHT_CLICK);
125
- }
126
- }
127
- setMapViewRef((_a = ref.current) === null || _a === void 0 ? void 0 : _a.cesiumElement);
128
- }, [ref, props.imageryContextMenu]);
129
- react_1.useEffect(function () {
130
- var _a;
131
- setSceneModes((_a = props.sceneModes) !== null && _a !== void 0 ? _a : [
132
- map_types_1.CesiumSceneMode.SCENE2D,
133
- map_types_1.CesiumSceneMode.SCENE3D,
134
- map_types_1.CesiumSceneMode.COLUMBUS_VIEW,
135
- ]);
136
- }, [props.sceneModes]);
137
- react_1.useEffect(function () {
138
- var _a, _b;
139
- setBaseMaps(props.baseMaps);
140
- var currentMap = (_a = props.baseMaps) === null || _a === void 0 ? void 0 : _a.maps.find(function (map) { return map.isCurrent; });
141
- if (currentMap && mapViewRef) {
142
- (_b = mapViewRef.layersManager) === null || _b === void 0 ? void 0 : _b.setBaseMapLayers(currentMap);
143
- }
144
- }, [props.baseMaps, mapViewRef]);
145
- react_1.useEffect(function () {
146
- var _a;
147
- setProjection((_a = props.projection) !== null && _a !== void 0 ? _a : projections_1.Proj.WGS84);
148
- }, [props.projection]);
149
- react_1.useEffect(function () {
150
- setLocale(props.locale);
151
- }, [props.locale]);
152
- react_1.useEffect(function () {
153
- var _a;
154
- setShowMousePosition((_a = props.showMousePosition) !== null && _a !== void 0 ? _a : true);
155
- }, [props.showMousePosition]);
156
- react_1.useEffect(function () {
157
- var _a;
158
- setShowScale((_a = props.showScale) !== null && _a !== void 0 ? _a : true);
159
- }, [props.showScale]);
160
- react_1.useEffect(function () {
161
- var getCameraPosition = function () {
162
- if (mapViewRef === undefined) {
163
- return {
164
- longitude: 0,
165
- latitude: 0,
166
- height: 0,
167
- };
168
- }
169
- var getCameraPositionCartographic = function () {
170
- var camPos = mapViewRef.camera.positionCartographic;
171
- return {
172
- longitude: map_1.toDegrees(camPos.longitude),
173
- latitude: map_1.toDegrees(camPos.latitude),
174
- height: camPos.height,
175
- };
176
- };
177
- // https://stackoverflow.com/questions/33348761/get-center-in-cesium-map
178
- if (mapViewRef.scene.mode === cesium_1.SceneMode.SCENE3D) {
179
- var windowPosition = new cesium_1.Cartesian2(
180
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
181
- mapViewRef.container.clientWidth / 2,
182
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
183
- mapViewRef.container.clientHeight / 2);
184
- var pickRay = mapViewRef.scene.camera.getPickRay(windowPosition);
185
- var pickPosition = mapViewRef.scene.globe.pick(pickRay, mapViewRef.scene);
186
- var pickPositionCartographic = mapViewRef.scene.globe.ellipsoid.cartesianToCartographic(pickPosition);
187
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
188
- return pickPositionCartographic !== undefined
189
- ? {
190
- longitude: map_1.toDegrees(pickPositionCartographic.longitude),
191
- latitude: map_1.toDegrees(pickPositionCartographic.latitude),
192
- height: mapViewRef.scene.camera.positionCartographic.height,
193
- }
194
- : getCameraPositionCartographic();
195
- }
196
- else {
197
- return getCameraPositionCartographic();
198
- }
199
- };
200
- var intervalHandle = setInterval(function () {
201
- if (mapViewRef && mapViewRef.scene.mode !== cesium_1.SceneMode.MORPHING) {
202
- var camera = mapViewRef.camera;
203
- var store = {
204
- position: getCameraPosition(),
205
- direction: camera.direction.clone(),
206
- up: camera.up.clone(),
207
- right: camera.right.clone(),
208
- transform: camera.transform.clone(),
209
- frustum: camera.frustum.clone(),
210
- };
211
- setCameraState(store);
212
- }
213
- }, cameraPositionRefreshRate);
214
- return function () {
215
- clearInterval(intervalHandle);
216
- };
217
- }, [mapViewRef]);
218
- react_1.useEffect(function () {
219
- var morphCompleteHandler = function () {
220
- if (mapViewRef && cameraState) {
221
- void mapViewRef.camera.flyTo({
222
- destination: cesium_1.Cartesian3.fromDegrees(cameraState.position.longitude, cameraState.position.latitude, cameraState.position.height),
223
- duration: 0,
224
- });
225
- }
226
- };
227
- if (mapViewRef) {
228
- mapViewRef.scene.morphComplete.addEventListener(morphCompleteHandler);
229
- }
230
- return function () {
231
- if (mapViewRef) {
232
- mapViewRef.scene.morphComplete.removeEventListener(morphCompleteHandler);
233
- }
234
- };
235
- }, [mapViewRef, cameraState]);
236
- react_1.useEffect(function () {
237
- var zoom = props.zoom;
238
- var center = props.center;
239
- if (mapViewRef && lodash_1.isNumber(zoom) && lodash_1.isArray(center)) {
240
- void mapViewRef.camera.flyTo({
241
- destination: cesium_1.Cartesian3.fromDegrees(center[0], center[1], map_1.getAltitude(zoom)),
242
- duration: 0,
243
- });
244
- }
245
- }, [props.zoom, props.center, mapViewRef]);
246
- return (react_1.default.createElement(resium_1.Viewer, __assign({ full: true, ref: ref }, viewerProps),
247
- react_1.default.createElement(MapViewProvider, { value: mapViewRef },
248
- props.children,
249
- react_1.default.createElement(box_1.Box, { className: "sideToolsContainer" },
250
- react_1.default.createElement(settings_1.CesiumSettings, { sceneModes: sceneModes, baseMaps: baseMaps, locale: locale })),
251
- react_1.default.createElement(box_1.Box, { className: "toolsContainer" },
252
- showMousePosition === true ? (react_1.default.createElement(coordinates_tracker_tool_1.CoordinatesTrackerTool, { projection: projection })) : (react_1.default.createElement(react_1.default.Fragment, null)),
253
- showScale === true ? react_1.default.createElement(scale_tracker_tool_1.ScaleTrackerTool, { locale: locale }) : react_1.default.createElement(react_1.default.Fragment, null)),
254
- props.imageryContextMenu &&
255
- showImageryMenu &&
256
- imageryMenuPosition &&
257
- react_1.default.cloneElement(props.imageryContextMenu, {
258
- data: (_a = mapViewRef === null || mapViewRef === void 0 ? void 0 : mapViewRef.layersManager) === null || _a === void 0 ? void 0 : _a.findLayerByPOI(imageryMenuPosition.x, imageryMenuPosition.y),
259
- position: {
260
- x: imageryMenuPosition.x,
261
- y: imageryMenuPosition.y,
262
- },
263
- style: getImageryMenuStyle(imageryMenuPosition.x, imageryMenuPosition.y, (_c = (_b = props.imageryContextMenuSize) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : DEFAULT_WIDTH, (_e = (_d = props.imageryContextMenuSize) === null || _d === void 0 ? void 0 : _d.height) !== null && _e !== void 0 ? _e : DEFAULT_HEIGHT, (_g = (_f = props.imageryContextMenuSize) === null || _f === void 0 ? void 0 : _f.dynamicHeightIncrement) !== null && _g !== void 0 ? _g : DEFAULT_DYNAMIC_HEIGHT_INCREMENT),
264
- size: (_h = props.imageryContextMenuSize) !== null && _h !== void 0 ? _h : {
265
- height: DEFAULT_HEIGHT,
266
- width: DEFAULT_WIDTH,
267
- },
268
- handleClose: function () {
269
- setShowImageryMenu(!showImageryMenu);
270
- },
271
- }))));
272
- };
273
- exports.CesiumMap = CesiumMap;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
31
+ }) : (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k;
33
+ o[k2] = m[k];
34
+ }));
35
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
37
+ }) : function(o, v) {
38
+ o["default"] = v;
39
+ });
40
+ var __importStar = (this && this.__importStar) || function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.CesiumMap = exports.useCesiumMap = exports.CesiumViewer = void 0;
52
+ var react_1 = __importStar(require("react"));
53
+ var react_dom_1 = require("react-dom");
54
+ var resium_1 = require("resium");
55
+ var cesium_1 = require("cesium");
56
+ var lodash_1 = require("lodash");
57
+ var map_1 = require("../utils/map");
58
+ var box_1 = require("../box");
59
+ var projections_1 = require("../utils/projections");
60
+ var coordinates_tracker_tool_1 = require("./tools/coordinates-tracker.tool");
61
+ var scale_tracker_tool_1 = require("./tools/scale-tracker.tool");
62
+ var settings_1 = require("./settings/settings");
63
+ var map_legend_1 = require("./map-legend");
64
+ var layers_manager_1 = __importDefault(require("./layers-manager"));
65
+ var map_types_1 = require("./map.types");
66
+ require("./map.css");
67
+ var DEFAULT_HEIGHT = 212;
68
+ var DEFAULT_WIDTH = 260;
69
+ var DEFAULT_DYNAMIC_HEIGHT_INCREMENT = 0;
70
+ var CesiumViewer = /** @class */ (function (_super) {
71
+ __extends(CesiumViewer, _super);
72
+ function CesiumViewer(container, options) {
73
+ return _super.call(this, container, options) || this;
74
+ }
75
+ return CesiumViewer;
76
+ }(cesium_1.Viewer));
77
+ exports.CesiumViewer = CesiumViewer;
78
+ var mapContext = react_1.createContext(null);
79
+ var MapViewProvider = mapContext.Provider;
80
+ var cameraPositionRefreshRate = 10000;
81
+ var useCesiumMap = function () {
82
+ var mapViewer = react_1.useContext(mapContext);
83
+ if (mapViewer === null) {
84
+ throw new Error('map context is null, please check the provider');
85
+ }
86
+ return mapViewer;
87
+ };
88
+ exports.useCesiumMap = useCesiumMap;
89
+ var CesiumMap = function (props) {
90
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
91
+ var ref = react_1.useRef(null);
92
+ var _p = react_1.useState(), mapViewRef = _p[0], setMapViewRef = _p[1];
93
+ var _q = react_1.useState(), projection = _q[0], setProjection = _q[1];
94
+ var _r = react_1.useState(), showMousePosition = _r[0], setShowMousePosition = _r[1];
95
+ var _s = react_1.useState(), showScale = _s[0], setShowScale = _s[1];
96
+ var _t = react_1.useState(), locale = _t[0], setLocale = _t[1];
97
+ var _u = react_1.useState(), cameraState = _u[0], setCameraState = _u[1];
98
+ var _v = react_1.useState(), sceneModes = _v[0], setSceneModes = _v[1];
99
+ var _w = react_1.useState([]), legendsList = _w[0], setLegendsList = _w[1];
100
+ var _x = react_1.useState(), baseMaps = _x[0], setBaseMaps = _x[1];
101
+ var _y = react_1.useState(false), showImageryMenu = _y[0], setShowImageryMenu = _y[1];
102
+ var _z = react_1.useState(undefined), imageryMenuPosition = _z[0], setImageryMenuPosition = _z[1];
103
+ var _0 = react_1.useState(false), isLegendsSidebarOpen = _0[0], setIsLegendsSidebarOpen = _0[1];
104
+ var viewerProps = __assign({ fullscreenButton: true, timeline: false, animation: false, baseLayerPicker: false, geocoder: false, navigationHelpButton: false, homeButton: false, sceneModePicker: false }, props);
105
+ var getImageryMenuStyle = function (x, y, menuWidth, menuHeight, menuDynamicHeightIncrement) {
106
+ var container = mapViewRef.container;
107
+ var mapWidth = container.clientWidth;
108
+ var mapHeight = container.clientHeight;
109
+ var calculatedHeight = menuHeight + menuDynamicHeightIncrement;
110
+ return {
111
+ left: (mapWidth - x < menuWidth ? x - (menuWidth - (mapWidth - x)) : x) + "px",
112
+ top: (mapHeight - y < calculatedHeight
113
+ ? y - (calculatedHeight - (mapHeight - y))
114
+ : y) + "px",
115
+ };
116
+ };
117
+ react_1.useEffect(function () {
118
+ var _a;
119
+ if (ref.current) {
120
+ var viewer = ref.current.cesiumElement;
121
+ if (props.imageryContextMenu) {
122
+ viewer.screenSpaceEventHandler.setInputAction(function (evt) {
123
+ // console.log('RIGHT click', evt.position);
124
+ setShowImageryMenu(false);
125
+ setImageryMenuPosition(evt.position);
126
+ setShowImageryMenu(true);
127
+ }, cesium_1.ScreenSpaceEventType.RIGHT_CLICK);
128
+ }
129
+ }
130
+ setMapViewRef((_a = ref.current) === null || _a === void 0 ? void 0 : _a.cesiumElement);
131
+ }, [ref, props.imageryContextMenu]);
132
+ react_1.useEffect(function () {
133
+ var _a;
134
+ if (mapViewRef) {
135
+ mapViewRef.layersManager = new layers_manager_1.default(mapViewRef, (_a = props.legends) === null || _a === void 0 ? void 0 : _a.mapLegendsExtractor, function () {
136
+ var _a;
137
+ setLegendsList((_a = mapViewRef === null || mapViewRef === void 0 ? void 0 : mapViewRef.layersManager) === null || _a === void 0 ? void 0 : _a.legendsList);
138
+ });
139
+ }
140
+ }, [mapViewRef]);
141
+ react_1.useEffect(function () {
142
+ var _a;
143
+ setSceneModes((_a = props.sceneModes) !== null && _a !== void 0 ? _a : [
144
+ map_types_1.CesiumSceneMode.SCENE2D,
145
+ map_types_1.CesiumSceneMode.SCENE3D,
146
+ map_types_1.CesiumSceneMode.COLUMBUS_VIEW,
147
+ ]);
148
+ }, [props.sceneModes]);
149
+ react_1.useEffect(function () {
150
+ var _a, _b;
151
+ setBaseMaps(props.baseMaps);
152
+ var currentMap = (_a = props.baseMaps) === null || _a === void 0 ? void 0 : _a.maps.find(function (map) { return map.isCurrent; });
153
+ if (currentMap && mapViewRef) {
154
+ (_b = mapViewRef.layersManager) === null || _b === void 0 ? void 0 : _b.setBaseMapLayers(currentMap);
155
+ }
156
+ }, [props.baseMaps, mapViewRef]);
157
+ react_1.useEffect(function () {
158
+ var _a;
159
+ setProjection((_a = props.projection) !== null && _a !== void 0 ? _a : projections_1.Proj.WGS84);
160
+ }, [props.projection]);
161
+ react_1.useEffect(function () {
162
+ setLocale(props.locale);
163
+ }, [props.locale]);
164
+ react_1.useEffect(function () {
165
+ var _a;
166
+ setShowMousePosition((_a = props.showMousePosition) !== null && _a !== void 0 ? _a : true);
167
+ }, [props.showMousePosition]);
168
+ react_1.useEffect(function () {
169
+ var _a;
170
+ setShowScale((_a = props.showScale) !== null && _a !== void 0 ? _a : true);
171
+ }, [props.showScale]);
172
+ react_1.useEffect(function () {
173
+ var getCameraPosition = function () {
174
+ if (mapViewRef === undefined) {
175
+ return {
176
+ longitude: 0,
177
+ latitude: 0,
178
+ height: 0,
179
+ };
180
+ }
181
+ var getCameraPositionCartographic = function () {
182
+ var camPos = mapViewRef.camera.positionCartographic;
183
+ return {
184
+ longitude: map_1.toDegrees(camPos.longitude),
185
+ latitude: map_1.toDegrees(camPos.latitude),
186
+ height: camPos.height,
187
+ };
188
+ };
189
+ // https://stackoverflow.com/questions/33348761/get-center-in-cesium-map
190
+ if (mapViewRef.scene.mode === cesium_1.SceneMode.SCENE3D) {
191
+ var windowPosition = new cesium_1.Cartesian2(
192
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
193
+ mapViewRef.container.clientWidth / 2,
194
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
195
+ mapViewRef.container.clientHeight / 2);
196
+ var pickRay = mapViewRef.scene.camera.getPickRay(windowPosition);
197
+ var pickPosition = mapViewRef.scene.globe.pick(pickRay, mapViewRef.scene);
198
+ var pickPositionCartographic = mapViewRef.scene.globe.ellipsoid.cartesianToCartographic(pickPosition);
199
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
200
+ return pickPositionCartographic !== undefined
201
+ ? {
202
+ longitude: map_1.toDegrees(pickPositionCartographic.longitude),
203
+ latitude: map_1.toDegrees(pickPositionCartographic.latitude),
204
+ height: mapViewRef.scene.camera.positionCartographic.height,
205
+ }
206
+ : getCameraPositionCartographic();
207
+ }
208
+ else {
209
+ return getCameraPositionCartographic();
210
+ }
211
+ };
212
+ var intervalHandle = setInterval(function () {
213
+ if (mapViewRef && mapViewRef.scene.mode !== cesium_1.SceneMode.MORPHING) {
214
+ var camera = mapViewRef.camera;
215
+ var store = {
216
+ position: getCameraPosition(),
217
+ direction: camera.direction.clone(),
218
+ up: camera.up.clone(),
219
+ right: camera.right.clone(),
220
+ transform: camera.transform.clone(),
221
+ frustum: camera.frustum.clone(),
222
+ };
223
+ setCameraState(store);
224
+ }
225
+ }, cameraPositionRefreshRate);
226
+ return function () {
227
+ clearInterval(intervalHandle);
228
+ };
229
+ }, [mapViewRef]);
230
+ react_1.useEffect(function () {
231
+ var morphCompleteHandler = function () {
232
+ if (mapViewRef && cameraState) {
233
+ void mapViewRef.camera.flyTo({
234
+ destination: cesium_1.Cartesian3.fromDegrees(cameraState.position.longitude, cameraState.position.latitude, cameraState.position.height),
235
+ duration: 0,
236
+ });
237
+ }
238
+ };
239
+ if (mapViewRef) {
240
+ mapViewRef.scene.morphComplete.addEventListener(morphCompleteHandler);
241
+ }
242
+ return function () {
243
+ if (mapViewRef) {
244
+ mapViewRef.scene.morphComplete.removeEventListener(morphCompleteHandler);
245
+ }
246
+ };
247
+ }, [mapViewRef, cameraState]);
248
+ react_1.useEffect(function () {
249
+ var zoom = props.zoom;
250
+ var center = props.center;
251
+ if (mapViewRef && lodash_1.isNumber(zoom) && lodash_1.isArray(center)) {
252
+ void mapViewRef.camera.flyTo({
253
+ destination: cesium_1.Cartesian3.fromDegrees(center[0], center[1], map_1.getAltitude(zoom)),
254
+ duration: 0,
255
+ });
256
+ }
257
+ }, [props.zoom, props.center, mapViewRef]);
258
+ var bindCustomToolsToViewer = react_1.useCallback(function () {
259
+ return (mapViewRef &&
260
+ react_dom_1.createPortal(react_1.default.createElement(react_1.default.Fragment, null,
261
+ react_1.default.createElement(box_1.Box, { className: "sideToolsContainer" },
262
+ react_1.default.createElement(settings_1.CesiumSettings, { sceneModes: sceneModes, baseMaps: baseMaps, locale: locale }),
263
+ react_1.default.createElement(map_legend_1.MapLegendToggle, { onClick: function () {
264
+ return setIsLegendsSidebarOpen(!isLegendsSidebarOpen);
265
+ } })),
266
+ react_1.default.createElement(box_1.Box, { className: "toolsContainer" },
267
+ showMousePosition === true ? (react_1.default.createElement(coordinates_tracker_tool_1.CoordinatesTrackerTool, { projection: projection })) : (react_1.default.createElement(react_1.default.Fragment, null)),
268
+ showScale === true ? react_1.default.createElement(scale_tracker_tool_1.ScaleTrackerTool, { locale: locale }) : react_1.default.createElement(react_1.default.Fragment, null))), document.querySelector('.cesium-viewer')));
269
+ }, [
270
+ baseMaps,
271
+ locale,
272
+ mapViewRef,
273
+ projection,
274
+ sceneModes,
275
+ showMousePosition,
276
+ showScale,
277
+ isLegendsSidebarOpen,
278
+ ]);
279
+ return (react_1.default.createElement(resium_1.Viewer, __assign({ className: "viewer", full: true, ref: ref }, viewerProps),
280
+ react_1.default.createElement(MapViewProvider, { value: mapViewRef },
281
+ react_1.default.createElement(map_legend_1.MapLegendSidebar, { title: (_a = props.legends) === null || _a === void 0 ? void 0 : _a.title, isOpen: isLegendsSidebarOpen, toggleSidebar: function () {
282
+ return setIsLegendsSidebarOpen(!isLegendsSidebarOpen);
283
+ }, noLegendsText: (_b = props.legends) === null || _b === void 0 ? void 0 : _b.emptyText, legends: (_d = (_c = props.legends) === null || _c === void 0 ? void 0 : _c.legendsList) !== null && _d !== void 0 ? _d : legendsList, actionsTexts: (_e = props.legends) === null || _e === void 0 ? void 0 : _e.actionsTexts }),
284
+ props.children,
285
+ bindCustomToolsToViewer(),
286
+ props.imageryContextMenu &&
287
+ showImageryMenu &&
288
+ imageryMenuPosition &&
289
+ react_1.default.cloneElement(props.imageryContextMenu, {
290
+ data: (_f = mapViewRef === null || mapViewRef === void 0 ? void 0 : mapViewRef.layersManager) === null || _f === void 0 ? void 0 : _f.findLayerByPOI(imageryMenuPosition.x, imageryMenuPosition.y),
291
+ position: {
292
+ x: imageryMenuPosition.x,
293
+ y: imageryMenuPosition.y,
294
+ },
295
+ style: getImageryMenuStyle(imageryMenuPosition.x, imageryMenuPosition.y, (_h = (_g = props.imageryContextMenuSize) === null || _g === void 0 ? void 0 : _g.width) !== null && _h !== void 0 ? _h : DEFAULT_WIDTH, (_k = (_j = props.imageryContextMenuSize) === null || _j === void 0 ? void 0 : _j.height) !== null && _k !== void 0 ? _k : DEFAULT_HEIGHT, (_m = (_l = props.imageryContextMenuSize) === null || _l === void 0 ? void 0 : _l.dynamicHeightIncrement) !== null && _m !== void 0 ? _m : DEFAULT_DYNAMIC_HEIGHT_INCREMENT),
296
+ size: (_o = props.imageryContextMenuSize) !== null && _o !== void 0 ? _o : {
297
+ height: DEFAULT_HEIGHT,
298
+ width: DEFAULT_WIDTH,
299
+ },
300
+ handleClose: function () {
301
+ setShowImageryMenu(!showImageryMenu);
302
+ },
303
+ }))));
304
+ };
305
+ exports.CesiumMap = CesiumMap;
@@ -1,8 +1,8 @@
1
- import { SceneMode } from 'cesium';
2
- export declare type CesiumSceneModeEnum = SceneMode;
3
- export declare const CesiumSceneMode: {
4
- MORPHING: SceneMode;
5
- COLUMBUS_VIEW: SceneMode;
6
- SCENE2D: SceneMode;
7
- SCENE3D: SceneMode;
8
- };
1
+ import { SceneMode } from 'cesium';
2
+ export declare type CesiumSceneModeEnum = SceneMode;
3
+ export declare const CesiumSceneMode: {
4
+ MORPHING: SceneMode;
5
+ COLUMBUS_VIEW: SceneMode;
6
+ SCENE2D: SceneMode;
7
+ SCENE3D: SceneMode;
8
+ };