@map-colonies/react-components 3.7.4 → 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 (393) hide show
  1. package/.storybook/main.js +1 -4
  2. package/CHANGELOG.md +36 -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 +1 -0
  35. package/dist/cesium-map/layers/3d.tileset.update.js +5 -0
  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 +2 -2
  51. package/dist/cesium-map/layers-manager.js +3 -7
  52. package/dist/cesium-map/map.d.ts +2 -2
  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 +3 -0
  65. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -0
  66. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +9 -0
  67. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +202 -0
  68. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +50 -0
  69. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +136 -0
  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.css +9 -0
  97. package/dist/date-picker/date-picker.d.ts +14 -0
  98. package/dist/date-picker/date-picker.js +78 -0
  99. package/dist/date-picker/index.d.ts +1 -0
  100. package/dist/date-picker/index.js +13 -0
  101. package/dist/date-range-picker/date-range-picker.d.ts +0 -1
  102. package/dist/date-range-picker/date-range-picker.form-control.d.ts +0 -1
  103. package/dist/date-range-picker/date-range-picker.form-control.js +36 -21
  104. package/dist/date-range-picker/date-range-picker.js +29 -16
  105. package/dist/date-range-picker/index.d.ts +0 -1
  106. package/dist/date-range-picker/index.js +12 -6
  107. package/dist/file-picker/file-picker.css +56 -0
  108. package/dist/file-picker/file-picker.d.ts +275 -0
  109. package/dist/file-picker/file-picker.js +146 -0
  110. package/dist/file-picker/fs-map.json +1557 -0
  111. package/dist/file-picker/index.d.ts +1 -0
  112. package/dist/file-picker/index.js +13 -0
  113. package/dist/file-picker/localization.d.ts +6 -0
  114. package/dist/file-picker/localization.js +100 -0
  115. package/dist/index.d.ts +2 -1
  116. package/dist/index.js +23 -15
  117. package/dist/map-filter-container/container-map.d.ts +0 -1
  118. package/dist/map-filter-container/container-map.js +3 -2
  119. package/dist/map-filter-container/index.d.ts +0 -1
  120. package/dist/map-filter-container/index.js +11 -5
  121. package/dist/map-filter-container/map-filter-container.d.ts +0 -1
  122. package/dist/map-filter-container/map-filter-container.js +17 -4
  123. package/dist/map-filter-container/polygon-selection-ui.d.ts +0 -1
  124. package/dist/map-filter-container/polygon-selection-ui.js +3 -2
  125. package/dist/models/defaults.d.ts +11 -1
  126. package/dist/models/defaults.js +12 -1
  127. package/dist/models/enums.d.ts +2 -2
  128. package/dist/models/enums.js +2 -1
  129. package/dist/models/index.d.ts +0 -1
  130. package/dist/models/index.js +11 -5
  131. package/dist/ol-map/feature.d.ts +0 -1
  132. package/dist/ol-map/feature.js +3 -2
  133. package/dist/ol-map/index.d.ts +0 -1
  134. package/dist/ol-map/index.js +16 -10
  135. package/dist/ol-map/interactions/draw.d.ts +0 -1
  136. package/dist/ol-map/interactions/draw.js +4 -4
  137. package/dist/ol-map/interactions/index.d.ts +0 -1
  138. package/dist/ol-map/interactions/index.js +11 -5
  139. package/dist/ol-map/layers/index.d.ts +0 -1
  140. package/dist/ol-map/layers/index.js +13 -7
  141. package/dist/ol-map/layers/tile-layer.d.ts +0 -1
  142. package/dist/ol-map/layers/tile-layer.js +19 -5
  143. package/dist/ol-map/layers/vector-layer.d.ts +0 -1
  144. package/dist/ol-map/layers/vector-layer.js +19 -5
  145. package/dist/ol-map/layers/vector-tile-layer.d.ts +0 -1
  146. package/dist/ol-map/layers/vector-tile-layer.js +19 -5
  147. package/dist/ol-map/map.d.ts +0 -1
  148. package/dist/ol-map/map.js +24 -10
  149. package/dist/ol-map/source/index.d.ts +0 -1
  150. package/dist/ol-map/source/index.js +16 -10
  151. package/dist/ol-map/source/mvt.d.ts +0 -1
  152. package/dist/ol-map/source/mvt.js +7 -4
  153. package/dist/ol-map/source/osm.d.ts +0 -1
  154. package/dist/ol-map/source/osm.js +3 -2
  155. package/dist/ol-map/source/vector-source.d.ts +1 -2
  156. package/dist/ol-map/source/vector-source.js +19 -5
  157. package/dist/ol-map/source/wms.d.ts +0 -1
  158. package/dist/ol-map/source/wms.js +5 -3
  159. package/dist/ol-map/source/wmts.d.ts +0 -1
  160. package/dist/ol-map/source/wmts.js +5 -3
  161. package/dist/ol-map/source/xyz.d.ts +0 -1
  162. package/dist/ol-map/source/xyz.js +5 -3
  163. package/dist/ol-map/style.d.ts +0 -1
  164. package/dist/ol-map/style.js +1 -1
  165. package/dist/popover/index.d.ts +0 -1
  166. package/dist/popover/index.js +2 -2
  167. package/dist/popover/popover.d.ts +0 -1
  168. package/dist/popover/popover.js +3 -2
  169. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +0 -1
  170. package/dist/smart-table/__mock-data__/smartTableMocks.js +1 -1
  171. package/dist/smart-table/index.d.ts +0 -1
  172. package/dist/smart-table/index.js +12 -6
  173. package/dist/smart-table/smart-table-head.d.ts +0 -1
  174. package/dist/smart-table/smart-table-head.js +1 -1
  175. package/dist/smart-table/smart-table-row.d.ts +0 -2
  176. package/dist/smart-table/smart-table-row.js +18 -8
  177. package/dist/smart-table/smart-table-types.d.ts +0 -2
  178. package/dist/smart-table/smart-table-types.js +0 -1
  179. package/dist/smart-table/smart-table.d.ts +0 -1
  180. package/dist/smart-table/smart-table.js +15 -3
  181. package/dist/theme/index.d.ts +0 -1
  182. package/dist/theme/index.js +11 -5
  183. package/dist/theme/theme.d.ts +0 -1
  184. package/dist/theme/theme.js +1 -1
  185. package/dist/utils/map.d.ts +0 -1
  186. package/dist/utils/map.js +7 -4
  187. package/dist/utils/projections.d.ts +0 -1
  188. package/dist/utils/projections.js +1 -1
  189. package/dist/utils/story.d.ts +0 -1
  190. package/dist/utils/story.js +0 -1
  191. package/package.json +8 -4
  192. package/public/assets/img/map-marker.gif +0 -0
  193. package/src/lib/cesium-map/context-menu.stories.tsx +1 -2
  194. package/src/lib/cesium-map/layers/3d.tileset.stories.tsx +1 -2
  195. package/src/lib/cesium-map/layers/3d.tileset.update.ts +72 -0
  196. package/src/lib/cesium-map/layers/layers.rect.stories.tsx +171 -0
  197. package/src/lib/cesium-map/layers-manager.stories.tsx +2 -3
  198. package/src/lib/cesium-map/layers-manager.ts +3 -1
  199. package/src/lib/cesium-map/map.stories.tsx +3 -3
  200. package/src/lib/cesium-map/map.tsx +22 -11
  201. package/src/lib/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.ts +243 -0
  202. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-decoder.ts +321 -0
  203. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.ts +237 -0
  204. package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +155 -0
  205. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +185 -0
  206. package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -0
  207. package/src/lib/cesium-map/tools/terranian-height.tool.tsx +167 -0
  208. package/src/lib/date-picker/date-picker.css +9 -0
  209. package/src/lib/date-picker/date-picker.stories.tsx +130 -0
  210. package/src/lib/date-picker/date-picker.tsx +90 -0
  211. package/src/lib/date-picker/index.ts +1 -0
  212. package/src/lib/date-range-picker/date-range-picker.form-control.tsx +9 -7
  213. package/src/lib/date-range-picker/{stories/DateRangePicker.stories.tsx → date-range-picker.stories.tsx} +5 -5
  214. package/src/lib/date-range-picker/date-range-picker.tsx +12 -10
  215. package/src/lib/file-picker/file-picker.css +56 -0
  216. package/src/lib/file-picker/file-picker.stories.tsx +381 -0
  217. package/src/lib/file-picker/file-picker.tsx +163 -0
  218. package/src/lib/file-picker/fs-map.json +1557 -0
  219. package/src/lib/file-picker/index.ts +1 -0
  220. package/src/lib/file-picker/localization.ts +135 -0
  221. package/src/lib/index.ts +2 -0
  222. package/src/lib/models/defaults.ts +12 -0
  223. package/src/lib/models/enums.ts +1 -0
  224. package/src/types/quantized-mesh-decoder.d.ts +1 -0
  225. package/storybook-static/mock/{tileset → tileset_1}/ll.b3dm +0 -0
  226. package/storybook-static/mock/{tileset → tileset_1}/lr.b3dm +0 -0
  227. package/storybook-static/mock/{tileset → tileset_1}/parent.b3dm +0 -0
  228. package/storybook-static/mock/{tileset → tileset_1}/tileset.json +0 -0
  229. package/storybook-static/mock/{tileset → tileset_1}/ul.b3dm +0 -0
  230. package/storybook-static/mock/{tileset → tileset_1}/ur.b3dm +0 -0
  231. package/tsbuildconfig.json +2 -2
  232. package/dist/autocomplete/autocomplete.d.ts.map +0 -1
  233. package/dist/autocomplete/autocomplete.js.map +0 -1
  234. package/dist/autocomplete/index.d.ts.map +0 -1
  235. package/dist/autocomplete/index.js.map +0 -1
  236. package/dist/box/box.d.ts.map +0 -1
  237. package/dist/box/box.js.map +0 -1
  238. package/dist/box/index.d.ts.map +0 -1
  239. package/dist/box/index.js.map +0 -1
  240. package/dist/cesium-map/data-sources/custom.data-source.d.ts.map +0 -1
  241. package/dist/cesium-map/data-sources/custom.data-source.js.map +0 -1
  242. package/dist/cesium-map/data-sources/drawings.data-source.d.ts.map +0 -1
  243. package/dist/cesium-map/data-sources/drawings.data-source.js.map +0 -1
  244. package/dist/cesium-map/data-sources/index.d.ts.map +0 -1
  245. package/dist/cesium-map/data-sources/index.js.map +0 -1
  246. package/dist/cesium-map/entities/entity.d.ts.map +0 -1
  247. package/dist/cesium-map/entities/entity.description.d.ts.map +0 -1
  248. package/dist/cesium-map/entities/entity.description.js.map +0 -1
  249. package/dist/cesium-map/entities/entity.js.map +0 -1
  250. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts.map +0 -1
  251. package/dist/cesium-map/entities/graphics/polygon.graphics.js.map +0 -1
  252. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts.map +0 -1
  253. package/dist/cesium-map/entities/graphics/polyline.graphics.js.map +0 -1
  254. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts.map +0 -1
  255. package/dist/cesium-map/entities/graphics/rectangle.graphics.js.map +0 -1
  256. package/dist/cesium-map/entities/index.d.ts.map +0 -1
  257. package/dist/cesium-map/entities/index.js.map +0 -1
  258. package/dist/cesium-map/index.d.ts.map +0 -1
  259. package/dist/cesium-map/index.js.map +0 -1
  260. package/dist/cesium-map/layers/3d.tileset.d.ts.map +0 -1
  261. package/dist/cesium-map/layers/3d.tileset.js.map +0 -1
  262. package/dist/cesium-map/layers/geojson.layer.d.ts.map +0 -1
  263. package/dist/cesium-map/layers/geojson.layer.js.map +0 -1
  264. package/dist/cesium-map/layers/imagery.layer.d.ts.map +0 -1
  265. package/dist/cesium-map/layers/imagery.layer.js.map +0 -1
  266. package/dist/cesium-map/layers/index.d.ts.map +0 -1
  267. package/dist/cesium-map/layers/index.js.map +0 -1
  268. package/dist/cesium-map/layers/osm.layer.d.ts.map +0 -1
  269. package/dist/cesium-map/layers/osm.layer.js.map +0 -1
  270. package/dist/cesium-map/layers/wms.layer.d.ts.map +0 -1
  271. package/dist/cesium-map/layers/wms.layer.js.map +0 -1
  272. package/dist/cesium-map/layers/wmts.layer.d.ts.map +0 -1
  273. package/dist/cesium-map/layers/wmts.layer.js.map +0 -1
  274. package/dist/cesium-map/layers/xyz.layer.d.ts.map +0 -1
  275. package/dist/cesium-map/layers/xyz.layer.js.map +0 -1
  276. package/dist/cesium-map/layers-manager.d.ts.map +0 -1
  277. package/dist/cesium-map/layers-manager.js.map +0 -1
  278. package/dist/cesium-map/map.d.ts.map +0 -1
  279. package/dist/cesium-map/map.js.map +0 -1
  280. package/dist/cesium-map/map.types.d.ts.map +0 -1
  281. package/dist/cesium-map/map.types.js.map +0 -1
  282. package/dist/cesium-map/proxied.types.d.ts.map +0 -1
  283. package/dist/cesium-map/proxied.types.js.map +0 -1
  284. package/dist/cesium-map/settings/base-maps.d.ts.map +0 -1
  285. package/dist/cesium-map/settings/base-maps.js.map +0 -1
  286. package/dist/cesium-map/settings/scene-modes.d.ts.map +0 -1
  287. package/dist/cesium-map/settings/scene-modes.js.map +0 -1
  288. package/dist/cesium-map/settings/settings.d.ts.map +0 -1
  289. package/dist/cesium-map/settings/settings.js.map +0 -1
  290. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts.map +0 -1
  291. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js.map +0 -1
  292. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts.map +0 -1
  293. package/dist/cesium-map/tools/coordinates-tracker.tool.js.map +0 -1
  294. package/dist/cesium-map/tools/draw/drawHelper.d.ts.map +0 -1
  295. package/dist/cesium-map/tools/draw/drawHelper.js.map +0 -1
  296. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts.map +0 -1
  297. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js.map +0 -1
  298. package/dist/cesium-map/tools/geojson/index.d.ts.map +0 -1
  299. package/dist/cesium-map/tools/geojson/index.js.map +0 -1
  300. package/dist/cesium-map/tools/geojson/point.geojson.d.ts.map +0 -1
  301. package/dist/cesium-map/tools/geojson/point.geojson.js.map +0 -1
  302. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts.map +0 -1
  303. package/dist/cesium-map/tools/geojson/polygon.geojson.js.map +0 -1
  304. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts.map +0 -1
  305. package/dist/cesium-map/tools/geojson/rectangle.geojson.js.map +0 -1
  306. package/dist/cesium-map/tools/scale-tracker.tool.d.ts.map +0 -1
  307. package/dist/cesium-map/tools/scale-tracker.tool.js.map +0 -1
  308. package/dist/cssbaseline/cssbaseline.d.ts.map +0 -1
  309. package/dist/cssbaseline/cssbaseline.js.map +0 -1
  310. package/dist/cssbaseline/index.d.ts.map +0 -1
  311. package/dist/cssbaseline/index.js.map +0 -1
  312. package/dist/date-range-picker/date-range-picker.d.ts.map +0 -1
  313. package/dist/date-range-picker/date-range-picker.form-control.d.ts.map +0 -1
  314. package/dist/date-range-picker/date-range-picker.form-control.js.map +0 -1
  315. package/dist/date-range-picker/date-range-picker.js.map +0 -1
  316. package/dist/date-range-picker/index.d.ts.map +0 -1
  317. package/dist/date-range-picker/index.js.map +0 -1
  318. package/dist/index.d.ts.map +0 -1
  319. package/dist/index.js.map +0 -1
  320. package/dist/map-filter-container/container-map.d.ts.map +0 -1
  321. package/dist/map-filter-container/container-map.js.map +0 -1
  322. package/dist/map-filter-container/index.d.ts.map +0 -1
  323. package/dist/map-filter-container/index.js.map +0 -1
  324. package/dist/map-filter-container/map-filter-container.d.ts.map +0 -1
  325. package/dist/map-filter-container/map-filter-container.js.map +0 -1
  326. package/dist/map-filter-container/polygon-selection-ui.d.ts.map +0 -1
  327. package/dist/map-filter-container/polygon-selection-ui.js.map +0 -1
  328. package/dist/models/defaults.d.ts.map +0 -1
  329. package/dist/models/defaults.js.map +0 -1
  330. package/dist/models/enums.d.ts.map +0 -1
  331. package/dist/models/enums.js.map +0 -1
  332. package/dist/models/index.d.ts.map +0 -1
  333. package/dist/models/index.js.map +0 -1
  334. package/dist/ol-map/feature.d.ts.map +0 -1
  335. package/dist/ol-map/feature.js.map +0 -1
  336. package/dist/ol-map/index.d.ts.map +0 -1
  337. package/dist/ol-map/index.js.map +0 -1
  338. package/dist/ol-map/interactions/draw.d.ts.map +0 -1
  339. package/dist/ol-map/interactions/draw.js.map +0 -1
  340. package/dist/ol-map/interactions/index.d.ts.map +0 -1
  341. package/dist/ol-map/interactions/index.js.map +0 -1
  342. package/dist/ol-map/layers/index.d.ts.map +0 -1
  343. package/dist/ol-map/layers/index.js.map +0 -1
  344. package/dist/ol-map/layers/tile-layer.d.ts.map +0 -1
  345. package/dist/ol-map/layers/tile-layer.js.map +0 -1
  346. package/dist/ol-map/layers/vector-layer.d.ts.map +0 -1
  347. package/dist/ol-map/layers/vector-layer.js.map +0 -1
  348. package/dist/ol-map/layers/vector-tile-layer.d.ts.map +0 -1
  349. package/dist/ol-map/layers/vector-tile-layer.js.map +0 -1
  350. package/dist/ol-map/map.d.ts.map +0 -1
  351. package/dist/ol-map/map.js.map +0 -1
  352. package/dist/ol-map/source/index.d.ts.map +0 -1
  353. package/dist/ol-map/source/index.js.map +0 -1
  354. package/dist/ol-map/source/mvt.d.ts.map +0 -1
  355. package/dist/ol-map/source/mvt.js.map +0 -1
  356. package/dist/ol-map/source/osm.d.ts.map +0 -1
  357. package/dist/ol-map/source/osm.js.map +0 -1
  358. package/dist/ol-map/source/vector-source.d.ts.map +0 -1
  359. package/dist/ol-map/source/vector-source.js.map +0 -1
  360. package/dist/ol-map/source/wms.d.ts.map +0 -1
  361. package/dist/ol-map/source/wms.js.map +0 -1
  362. package/dist/ol-map/source/wmts.d.ts.map +0 -1
  363. package/dist/ol-map/source/wmts.js.map +0 -1
  364. package/dist/ol-map/source/xyz.d.ts.map +0 -1
  365. package/dist/ol-map/source/xyz.js.map +0 -1
  366. package/dist/ol-map/style.d.ts.map +0 -1
  367. package/dist/ol-map/style.js.map +0 -1
  368. package/dist/popover/index.d.ts.map +0 -1
  369. package/dist/popover/index.js.map +0 -1
  370. package/dist/popover/popover.d.ts.map +0 -1
  371. package/dist/popover/popover.js.map +0 -1
  372. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts.map +0 -1
  373. package/dist/smart-table/__mock-data__/smartTableMocks.js.map +0 -1
  374. package/dist/smart-table/index.d.ts.map +0 -1
  375. package/dist/smart-table/index.js.map +0 -1
  376. package/dist/smart-table/smart-table-head.d.ts.map +0 -1
  377. package/dist/smart-table/smart-table-head.js.map +0 -1
  378. package/dist/smart-table/smart-table-row.d.ts.map +0 -1
  379. package/dist/smart-table/smart-table-row.js.map +0 -1
  380. package/dist/smart-table/smart-table-types.d.ts.map +0 -1
  381. package/dist/smart-table/smart-table-types.js.map +0 -1
  382. package/dist/smart-table/smart-table.d.ts.map +0 -1
  383. package/dist/smart-table/smart-table.js.map +0 -1
  384. package/dist/theme/index.d.ts.map +0 -1
  385. package/dist/theme/index.js.map +0 -1
  386. package/dist/theme/theme.d.ts.map +0 -1
  387. package/dist/theme/theme.js.map +0 -1
  388. package/dist/utils/map.d.ts.map +0 -1
  389. package/dist/utils/map.js.map +0 -1
  390. package/dist/utils/projections.d.ts.map +0 -1
  391. package/dist/utils/projections.js.map +0 -1
  392. package/dist/utils/story.d.ts.map +0 -1
  393. package/dist/utils/story.js.map +0 -1
@@ -17,6 +17,7 @@ import {
17
17
  PerspectiveOffCenterFrustum,
18
18
  OrthographicFrustum,
19
19
  ScreenSpaceEventType,
20
+ TerrainProvider,
20
21
  } from 'cesium';
21
22
  import { isNumber, isArray } from 'lodash';
22
23
  import { getAltitude, toDegrees } from '../utils/map';
@@ -87,6 +88,7 @@ export interface CesiumMapProps extends ViewerProps {
87
88
  locale?: { [key: string]: string };
88
89
  sceneModes?: CesiumSceneModeEnum[];
89
90
  baseMaps?: IBaseMaps;
91
+ terrainProvider?: TerrainProvider;
90
92
  imageryContextMenu?: React.ReactElement<IContextMenuData>;
91
93
  imageryContextMenuSize?: {
92
94
  height: number;
@@ -222,6 +224,16 @@ export const CesiumMap: React.FC<CesiumMapProps> = (props) => {
222
224
  height: 0,
223
225
  };
224
226
  }
227
+
228
+ const getCameraPositionCartographic = (): ICameraPosition => {
229
+ const camPos = mapViewRef.camera.positionCartographic;
230
+ return {
231
+ longitude: toDegrees(camPos.longitude),
232
+ latitude: toDegrees(camPos.latitude),
233
+ height: camPos.height,
234
+ };
235
+ };
236
+
225
237
  // https://stackoverflow.com/questions/33348761/get-center-in-cesium-map
226
238
  if (mapViewRef.scene.mode === SceneMode.SCENE3D) {
227
239
  const windowPosition = new Cartesian2(
@@ -238,18 +250,17 @@ export const CesiumMap: React.FC<CesiumMapProps> = (props) => {
238
250
  const pickPositionCartographic = mapViewRef.scene.globe.ellipsoid.cartesianToCartographic(
239
251
  pickPosition as Cartesian3
240
252
  );
241
- return {
242
- longitude: toDegrees(pickPositionCartographic.longitude),
243
- latitude: toDegrees(pickPositionCartographic.latitude),
244
- height: mapViewRef.scene.camera.positionCartographic.height,
245
- };
253
+
254
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
255
+ return pickPositionCartographic !== undefined
256
+ ? {
257
+ longitude: toDegrees(pickPositionCartographic.longitude),
258
+ latitude: toDegrees(pickPositionCartographic.latitude),
259
+ height: mapViewRef.scene.camera.positionCartographic.height,
260
+ }
261
+ : getCameraPositionCartographic();
246
262
  } else {
247
- const camPos = mapViewRef.camera.positionCartographic;
248
- return {
249
- longitude: toDegrees(camPos.longitude),
250
- latitude: toDegrees(camPos.latitude),
251
- height: camPos.height,
252
- };
263
+ return getCameraPositionCartographic();
253
264
  }
254
265
  };
255
266
 
@@ -0,0 +1,243 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ export const dummyTile = new Uint8Array([
3
+ 172,
4
+ 223,
5
+ 96,
6
+ 7,
7
+ 210,
8
+ 166,
9
+ 80,
10
+ 193,
11
+ 62,
12
+ 133,
13
+ 0,
14
+ 92,
15
+ 97,
16
+ 125,
17
+ 81,
18
+ 193,
19
+ 175,
20
+ 204,
21
+ 114,
22
+ 156,
23
+ 24,
24
+ 171,
25
+ 39,
26
+ 65,
27
+ 215,
28
+ 131,
29
+ 189,
30
+ 193,
31
+ 92,
32
+ 143,
33
+ 98,
34
+ 193,
35
+ 172,
36
+ 223,
37
+ 224,
38
+ 55,
39
+ 148,
40
+ 164,
41
+ 80,
42
+ 193,
43
+ 62,
44
+ 133,
45
+ 128,
46
+ 115,
47
+ 254,
48
+ 122,
49
+ 81,
50
+ 193,
51
+ 175,
52
+ 204,
53
+ 114,
54
+ 40,
55
+ 74,
56
+ 169,
57
+ 39,
58
+ 65,
59
+ 199,
60
+ 225,
61
+ 33,
62
+ 1,
63
+ 165,
64
+ 221,
65
+ 10,
66
+ 65,
67
+ 165,
68
+ 248,
69
+ 77,
70
+ 38,
71
+ 221,
72
+ 233,
73
+ 229,
74
+ 191,
75
+ 118,
76
+ 168,
77
+ 124,
78
+ 106,
79
+ 57,
80
+ 4,
81
+ 231,
82
+ 191,
83
+ 208,
84
+ 126,
85
+ 103,
86
+ 119,
87
+ 149,
88
+ 64,
89
+ 191,
90
+ 63,
91
+ 9,
92
+ 0,
93
+ 0,
94
+ 0,
95
+ 254,
96
+ 127,
97
+ 253,
98
+ 127,
99
+ 254,
100
+ 127,
101
+ 253,
102
+ 127,
103
+ 0,
104
+ 0,
105
+ 254,
106
+ 255,
107
+ 255,
108
+ 127,
109
+ 0,
110
+ 128,
111
+ 0,
112
+ 0,
113
+ 254,
114
+ 127,
115
+ 253,
116
+ 127,
117
+ 0,
118
+ 0,
119
+ 254,
120
+ 127,
121
+ 0,
122
+ 128,
123
+ 0,
124
+ 0,
125
+ 0,
126
+ 0,
127
+ 253,
128
+ 255,
129
+ 254,
130
+ 127,
131
+ 0,
132
+ 0,
133
+ 0,
134
+ 0,
135
+ 0,
136
+ 0,
137
+ 0,
138
+ 0,
139
+ 0,
140
+ 0,
141
+ 0,
142
+ 0,
143
+ 0,
144
+ 0,
145
+ 0,
146
+ 0,
147
+ 0,
148
+ 0,
149
+ 8,
150
+ 0,
151
+ 0,
152
+ 0,
153
+ 0,
154
+ 0,
155
+ 0,
156
+ 0,
157
+ 0,
158
+ 0,
159
+ 2,
160
+ 0,
161
+ 3,
162
+ 0,
163
+ 0,
164
+ 0,
165
+ 4,
166
+ 0,
167
+ 0,
168
+ 0,
169
+ 2,
170
+ 0,
171
+ 5,
172
+ 0,
173
+ 0,
174
+ 0,
175
+ 0,
176
+ 0,
177
+ 7,
178
+ 0,
179
+ 0,
180
+ 0,
181
+ 0,
182
+ 0,
183
+ 2,
184
+ 0,
185
+ 9,
186
+ 0,
187
+ 7,
188
+ 0,
189
+ 4,
190
+ 0,
191
+ 9,
192
+ 0,
193
+ 1,
194
+ 0,
195
+ 5,
196
+ 0,
197
+ 9,
198
+ 0,
199
+ 3,
200
+ 0,
201
+ 3,
202
+ 0,
203
+ 0,
204
+ 0,
205
+ 0,
206
+ 0,
207
+ 0,
208
+ 0,
209
+ 3,
210
+ 0,
211
+ 3,
212
+ 0,
213
+ 0,
214
+ 0,
215
+ 1,
216
+ 0,
217
+ 7,
218
+ 0,
219
+ 2,
220
+ 0,
221
+ 3,
222
+ 0,
223
+ 0,
224
+ 0,
225
+ 7,
226
+ 0,
227
+ 5,
228
+ 0,
229
+ 8,
230
+ 0,
231
+ 3,
232
+ 0,
233
+ 0,
234
+ 0,
235
+ 4,
236
+ 0,
237
+ 5,
238
+ 0,
239
+ 6,
240
+ 0,
241
+ ]);
242
+
243
+ export default dummyTile.buffer;
@@ -0,0 +1,321 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import {
3
+ IDecodedTile,
4
+ IDecodedTileHeader,
5
+ IExtensions,
6
+ } from './quantized-mesh-terrain-provider';
7
+
8
+ const LITTLE_ENDIAN = true;
9
+ const MAX_VERTEX_COUNT = 65536;
10
+
11
+ export const DECODING_STEPS = {
12
+ header: 0,
13
+ vertices: 1,
14
+ triangleIndices: 2,
15
+ edgeIndices: 3,
16
+ extensions: 4,
17
+ };
18
+
19
+ const QUANTIZED_MESH_HEADER = {
20
+ centerX: Float64Array.BYTES_PER_ELEMENT,
21
+ centerY: Float64Array.BYTES_PER_ELEMENT,
22
+ centerZ: Float64Array.BYTES_PER_ELEMENT,
23
+
24
+ minHeight: Float32Array.BYTES_PER_ELEMENT,
25
+ maxHeight: Float32Array.BYTES_PER_ELEMENT,
26
+
27
+ boundingSphereCenterX: Float64Array.BYTES_PER_ELEMENT,
28
+ boundingSphereCenterY: Float64Array.BYTES_PER_ELEMENT,
29
+ boundingSphereCenterZ: Float64Array.BYTES_PER_ELEMENT,
30
+ boundingSphereRadius: Float64Array.BYTES_PER_ELEMENT,
31
+
32
+ horizonOcclusionPointX: Float64Array.BYTES_PER_ELEMENT,
33
+ horizonOcclusionPointY: Float64Array.BYTES_PER_ELEMENT,
34
+ horizonOcclusionPointZ: Float64Array.BYTES_PER_ELEMENT,
35
+ };
36
+
37
+ const decodeZigZag = (value: number): number => {
38
+ return (value >> 1) ^ -(value & 1);
39
+ };
40
+
41
+ const decodeIndex = (
42
+ buffer: ArrayBufferLike,
43
+ position: number,
44
+ indicesCount: number,
45
+ bytesPerIndex: number,
46
+ encoded: boolean
47
+ ): Uint16Array | Uint32Array => {
48
+ let indices;
49
+
50
+ if (bytesPerIndex === 2) {
51
+ indices = new Uint16Array(buffer, position, indicesCount);
52
+ } else {
53
+ indices = new Uint32Array(buffer, position, indicesCount);
54
+ }
55
+
56
+ if (!encoded) {
57
+ return indices;
58
+ }
59
+
60
+ let highest = 0;
61
+
62
+ for (let i = 0; i < indices.length; ++i) {
63
+ const code = indices[i];
64
+
65
+ indices[i] = highest - code;
66
+
67
+ if (code === 0) {
68
+ ++highest;
69
+ }
70
+ }
71
+
72
+ return indices;
73
+ };
74
+
75
+ const convertFromTypedArrayToNumbersArray = (
76
+ array: Uint16Array | Uint32Array
77
+ ): number[] => {
78
+ const numbersArray: number[] = [];
79
+ for (let i = 0; i < array.length; ++i) {
80
+ numbersArray.push(array[i]);
81
+ }
82
+ return numbersArray;
83
+ };
84
+
85
+ export const decode = (data: ArrayBufferLike): IDecodedTile => {
86
+ const maxDecodingStep = DECODING_STEPS.extensions;
87
+ const view = new DataView(data);
88
+ const header = {} as IDecodedTileHeader;
89
+ let position = 0;
90
+
91
+ // Decode Header
92
+
93
+ Object.keys(QUANTIZED_MESH_HEADER).forEach(
94
+ (key: string, bytesCount: number) => {
95
+ // @ts-ignore
96
+ // eslint-disable-next-line
97
+ header[key] =
98
+ bytesCount === 8
99
+ ? view.getFloat64(position, LITTLE_ENDIAN)
100
+ : view.getFloat32(position, LITTLE_ENDIAN);
101
+ position += bytesCount;
102
+ }
103
+ );
104
+
105
+ const headerEndPosition = position;
106
+
107
+ // if (maxDecodingStep < DECODING_STEPS.vertices) {
108
+ // return { header };
109
+ // }
110
+
111
+ // Decode Vertex Data
112
+
113
+ position = headerEndPosition;
114
+
115
+ let vertexCount = view.getUint32(position, LITTLE_ENDIAN);
116
+
117
+ const vertexData = new Uint16Array(vertexCount * 3);
118
+
119
+ position += Uint32Array.BYTES_PER_ELEMENT;
120
+
121
+ const bytesPerArrayElement = Uint16Array.BYTES_PER_ELEMENT;
122
+ const elementArrayLength = vertexCount * bytesPerArrayElement;
123
+ const uArrayStartPosition = position;
124
+ const vArrayStartPosition = uArrayStartPosition + elementArrayLength;
125
+ const heightArrayStartPosition = vArrayStartPosition + elementArrayLength;
126
+
127
+ let u = 0;
128
+ let v = 0;
129
+ let height = 0;
130
+
131
+ for (let i = 0; i < vertexCount; i++) {
132
+ u += decodeZigZag(
133
+ view.getUint16(
134
+ uArrayStartPosition + bytesPerArrayElement * i,
135
+ LITTLE_ENDIAN
136
+ )
137
+ );
138
+ v += decodeZigZag(
139
+ view.getUint16(
140
+ vArrayStartPosition + bytesPerArrayElement * i,
141
+ LITTLE_ENDIAN
142
+ )
143
+ );
144
+ height += decodeZigZag(
145
+ view.getUint16(
146
+ heightArrayStartPosition + bytesPerArrayElement * i,
147
+ LITTLE_ENDIAN
148
+ )
149
+ );
150
+
151
+ vertexData[i] = u;
152
+ vertexData[i + vertexCount] = v;
153
+ vertexData[i + vertexCount * 2] = height;
154
+ }
155
+
156
+ position += elementArrayLength * 3;
157
+
158
+ const vertexDataEndPosition = position;
159
+
160
+ // if (maxDecodingStep < DECODING_STEPS.triangleIndices) {
161
+ // return { header, vertexData };
162
+ // }
163
+
164
+ // Decode Triangle Indices
165
+
166
+ position = vertexDataEndPosition;
167
+
168
+ vertexCount = vertexData.length / 3;
169
+
170
+ const bytesPerIndex =
171
+ vertexCount > MAX_VERTEX_COUNT
172
+ ? Uint32Array.BYTES_PER_ELEMENT
173
+ : Uint16Array.BYTES_PER_ELEMENT;
174
+
175
+ if (position % bytesPerIndex !== 0) {
176
+ position += bytesPerIndex - (position % bytesPerIndex);
177
+ }
178
+
179
+ const triangleCount = view.getUint32(position, LITTLE_ENDIAN);
180
+ position += Uint32Array.BYTES_PER_ELEMENT;
181
+
182
+ const triangleIndicesCount = triangleCount * 3;
183
+ const triangleIndices = decodeIndex(
184
+ view.buffer,
185
+ position,
186
+ triangleIndicesCount,
187
+ bytesPerIndex,
188
+ true
189
+ );
190
+ position += triangleIndicesCount * bytesPerIndex;
191
+
192
+ const triangleIndicesEndPosition = position;
193
+
194
+ // if (maxDecodingStep < DECODING_STEPS.edgeIndices) {
195
+ // return { header, vertexData, triangleIndices };
196
+ // }
197
+
198
+ // Decode Edge Indices
199
+
200
+ position = triangleIndicesEndPosition;
201
+
202
+ vertexCount = vertexData.length / 3;
203
+
204
+ // bytesPerIndex = vertexCount > MAX_VERTEX_COUNT
205
+ // ? Uint32Array.BYTES_PER_ELEMENT
206
+ // : Uint16Array.BYTES_PER_ELEMENT;
207
+
208
+ const westVertexCount = view.getUint32(position, LITTLE_ENDIAN);
209
+ position += Uint32Array.BYTES_PER_ELEMENT;
210
+
211
+ const westIndices = convertFromTypedArrayToNumbersArray(
212
+ decodeIndex(view.buffer, position, westVertexCount, bytesPerIndex, false)
213
+ );
214
+ position += westVertexCount * bytesPerIndex;
215
+
216
+ const southVertexCount = view.getUint32(position, LITTLE_ENDIAN);
217
+ position += Uint32Array.BYTES_PER_ELEMENT;
218
+
219
+ const southIndices = convertFromTypedArrayToNumbersArray(
220
+ decodeIndex(view.buffer, position, southVertexCount, bytesPerIndex, false)
221
+ );
222
+ position += southVertexCount * bytesPerIndex;
223
+
224
+ const eastVertexCount = view.getUint32(position, LITTLE_ENDIAN);
225
+ position += Uint32Array.BYTES_PER_ELEMENT;
226
+
227
+ const eastIndices = convertFromTypedArrayToNumbersArray(
228
+ decodeIndex(view.buffer, position, eastVertexCount, bytesPerIndex, false)
229
+ );
230
+ position += eastVertexCount * bytesPerIndex;
231
+
232
+ const northVertexCount = view.getUint32(position, LITTLE_ENDIAN);
233
+ position += Uint32Array.BYTES_PER_ELEMENT;
234
+
235
+ const northIndices = convertFromTypedArrayToNumbersArray(
236
+ decodeIndex(view.buffer, position, northVertexCount, bytesPerIndex, false)
237
+ );
238
+ position += northVertexCount * bytesPerIndex;
239
+
240
+ const edgeIndicesEndPosition = position;
241
+
242
+ if (maxDecodingStep < DECODING_STEPS.extensions) {
243
+ return {
244
+ header,
245
+ vertexData,
246
+ triangleIndices,
247
+ westIndices,
248
+ northIndices,
249
+ eastIndices,
250
+ southIndices,
251
+ };
252
+ }
253
+
254
+ // Decode Extensions
255
+
256
+ const extensions = {} as IExtensions;
257
+
258
+ if (view.byteLength > edgeIndicesEndPosition) {
259
+ position = edgeIndicesEndPosition;
260
+
261
+ while (position < view.byteLength) {
262
+ const extensionId = view.getUint8(position);
263
+ position += Uint8Array.BYTES_PER_ELEMENT;
264
+
265
+ const extensionLength = view.getUint32(position, true);
266
+ position += Uint32Array.BYTES_PER_ELEMENT;
267
+
268
+ const extensionView = new DataView(
269
+ view.buffer,
270
+ position,
271
+ extensionLength
272
+ );
273
+
274
+ switch (extensionId) {
275
+ case 1: {
276
+ extensions.vertexNormals = new Uint8Array(
277
+ extensionView.buffer,
278
+ extensionView.byteOffset,
279
+ extensionView.byteLength
280
+ );
281
+ break;
282
+ }
283
+ case 2: {
284
+ extensions.waterMask = extensionView.buffer.slice(
285
+ extensionView.byteOffset,
286
+ extensionView.byteOffset + extensionView.byteLength
287
+ );
288
+ break;
289
+ }
290
+ case 4: {
291
+ const jsonLength = extensionView.getUint32(0, LITTLE_ENDIAN);
292
+ let jsonString = '';
293
+ for (let i = 0; i < jsonLength; ++i) {
294
+ jsonString += String.fromCharCode(
295
+ extensionView.getUint8(Uint32Array.BYTES_PER_ELEMENT + i)
296
+ );
297
+ }
298
+ // eslint-disable-next-line
299
+ extensions.metadata = JSON.parse(jsonString);
300
+ break;
301
+ }
302
+ default: {
303
+ console.warn(`Unknown extension with id ${extensionId}`);
304
+ }
305
+ }
306
+
307
+ position += extensionLength;
308
+ }
309
+ }
310
+
311
+ return {
312
+ header,
313
+ vertexData,
314
+ triangleIndices,
315
+ westIndices,
316
+ northIndices,
317
+ eastIndices,
318
+ southIndices,
319
+ extensions,
320
+ };
321
+ };