@map-colonies/react-components 3.7.2 → 3.8.1

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 (368) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/index.js +2 -0
  3. package/package.json +100 -95
  4. package/src/lib/autocomplete/autocomplete.css +25 -0
  5. package/src/lib/autocomplete/autocomplete.stories.tsx +101 -0
  6. package/src/lib/autocomplete/autocomplete.tsx +683 -0
  7. package/src/lib/autocomplete/get-input-selection.d.ts +1 -0
  8. package/src/lib/autocomplete/index.ts +1 -0
  9. package/src/lib/cesium-map/context-menu.stories.tsx +1 -2
  10. package/src/lib/cesium-map/layers/3d.tileset.stories.tsx +1 -2
  11. package/src/lib/cesium-map/layers/3d.tileset.update.ts +72 -0
  12. package/src/lib/cesium-map/layers/layers.rect.stories.tsx +171 -0
  13. package/src/lib/cesium-map/layers-manager.stories.tsx +2 -3
  14. package/src/lib/cesium-map/layers-manager.ts +3 -1
  15. package/src/lib/cesium-map/map.stories.tsx +3 -3
  16. package/src/lib/cesium-map/map.tsx +3 -1
  17. package/src/lib/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.ts +243 -0
  18. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-decoder.ts +321 -0
  19. package/src/lib/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.ts +237 -0
  20. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +183 -0
  21. package/{dist/date-range-picker/date-range-picker.css → src/lib/date-picker/date-picker.css} +0 -0
  22. package/src/lib/date-picker/date-picker.stories.tsx +130 -0
  23. package/src/lib/date-picker/date-picker.tsx +90 -0
  24. package/src/lib/date-picker/index.ts +1 -0
  25. package/src/lib/date-range-picker/date-range-picker.form-control.tsx +9 -7
  26. package/src/lib/date-range-picker/date-range-picker.tsx +12 -10
  27. package/src/lib/index.ts +2 -0
  28. package/src/lib/models/defaults.ts +12 -0
  29. package/src/types/quantized-mesh-decoder.d.ts +1 -0
  30. package/storybook-static/mock/{tileset → tileset_1}/ll.b3dm +0 -0
  31. package/storybook-static/mock/{tileset → tileset_1}/lr.b3dm +0 -0
  32. package/storybook-static/mock/{tileset → tileset_1}/parent.b3dm +0 -0
  33. package/storybook-static/mock/{tileset → tileset_1}/tileset.json +0 -0
  34. package/storybook-static/mock/{tileset → tileset_1}/ul.b3dm +0 -0
  35. package/storybook-static/mock/{tileset → tileset_1}/ur.b3dm +0 -0
  36. package/dist/assets/img/dragIcon.png +0 -0
  37. package/dist/assets/img/dragIconLight.png +0 -0
  38. package/dist/assets/img/glyphicons_067_cleaning.png +0 -0
  39. package/dist/assets/img/glyphicons_094_vector_path_square.png +0 -0
  40. package/dist/assets/img/glyphicons_095_vector_path_circle.png +0 -0
  41. package/dist/assets/img/glyphicons_096_vector_path_polygon.png +0 -0
  42. package/dist/assets/img/glyphicons_097_vector_path_line.png +0 -0
  43. package/dist/assets/img/glyphicons_242_google_maps.png +0 -0
  44. package/dist/box/box.d.ts +0 -4
  45. package/dist/box/box.d.ts.map +0 -1
  46. package/dist/box/box.js +0 -34
  47. package/dist/box/box.js.map +0 -1
  48. package/dist/box/index.d.ts +0 -2
  49. package/dist/box/index.d.ts.map +0 -1
  50. package/dist/box/index.js +0 -5
  51. package/dist/box/index.js.map +0 -1
  52. package/dist/cesium-map/data-sources/custom.data-source.d.ts +0 -6
  53. package/dist/cesium-map/data-sources/custom.data-source.d.ts.map +0 -1
  54. package/dist/cesium-map/data-sources/custom.data-source.js +0 -22
  55. package/dist/cesium-map/data-sources/custom.data-source.js.map +0 -1
  56. package/dist/cesium-map/data-sources/drawings.data-source.d.ts +0 -35
  57. package/dist/cesium-map/data-sources/drawings.data-source.d.ts.map +0 -1
  58. package/dist/cesium-map/data-sources/drawings.data-source.js +0 -174
  59. package/dist/cesium-map/data-sources/drawings.data-source.js.map +0 -1
  60. package/dist/cesium-map/data-sources/index.d.ts +0 -3
  61. package/dist/cesium-map/data-sources/index.d.ts.map +0 -1
  62. package/dist/cesium-map/data-sources/index.js +0 -8
  63. package/dist/cesium-map/data-sources/index.js.map +0 -1
  64. package/dist/cesium-map/entities/entity.d.ts +0 -6
  65. package/dist/cesium-map/entities/entity.d.ts.map +0 -1
  66. package/dist/cesium-map/entities/entity.description.d.ts +0 -7
  67. package/dist/cesium-map/entities/entity.description.d.ts.map +0 -1
  68. package/dist/cesium-map/entities/entity.description.js +0 -25
  69. package/dist/cesium-map/entities/entity.description.js.map +0 -1
  70. package/dist/cesium-map/entities/entity.js +0 -22
  71. package/dist/cesium-map/entities/entity.js.map +0 -1
  72. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +0 -6
  73. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts.map +0 -1
  74. package/dist/cesium-map/entities/graphics/polygon.graphics.js +0 -22
  75. package/dist/cesium-map/entities/graphics/polygon.graphics.js.map +0 -1
  76. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +0 -6
  77. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts.map +0 -1
  78. package/dist/cesium-map/entities/graphics/polyline.graphics.js +0 -22
  79. package/dist/cesium-map/entities/graphics/polyline.graphics.js.map +0 -1
  80. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +0 -6
  81. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts.map +0 -1
  82. package/dist/cesium-map/entities/graphics/rectangle.graphics.js +0 -22
  83. package/dist/cesium-map/entities/graphics/rectangle.graphics.js.map +0 -1
  84. package/dist/cesium-map/entities/index.d.ts +0 -5
  85. package/dist/cesium-map/entities/index.d.ts.map +0 -1
  86. package/dist/cesium-map/entities/index.js +0 -10
  87. package/dist/cesium-map/entities/index.js.map +0 -1
  88. package/dist/cesium-map/index.d.ts +0 -8
  89. package/dist/cesium-map/index.d.ts.map +0 -1
  90. package/dist/cesium-map/index.js +0 -13
  91. package/dist/cesium-map/index.js.map +0 -1
  92. package/dist/cesium-map/layers/3d.tileset.d.ts +0 -8
  93. package/dist/cesium-map/layers/3d.tileset.d.ts.map +0 -1
  94. package/dist/cesium-map/layers/3d.tileset.js +0 -38
  95. package/dist/cesium-map/layers/3d.tileset.js.map +0 -1
  96. package/dist/cesium-map/layers/geojson.layer.d.ts +0 -6
  97. package/dist/cesium-map/layers/geojson.layer.d.ts.map +0 -1
  98. package/dist/cesium-map/layers/geojson.layer.js +0 -22
  99. package/dist/cesium-map/layers/geojson.layer.js.map +0 -1
  100. package/dist/cesium-map/layers/imagery.layer.d.ts +0 -7
  101. package/dist/cesium-map/layers/imagery.layer.d.ts.map +0 -1
  102. package/dist/cesium-map/layers/imagery.layer.js +0 -51
  103. package/dist/cesium-map/layers/imagery.layer.js.map +0 -1
  104. package/dist/cesium-map/layers/index.d.ts +0 -8
  105. package/dist/cesium-map/layers/index.d.ts.map +0 -1
  106. package/dist/cesium-map/layers/index.js +0 -13
  107. package/dist/cesium-map/layers/index.js.map +0 -1
  108. package/dist/cesium-map/layers/osm.layer.d.ts +0 -10
  109. package/dist/cesium-map/layers/osm.layer.d.ts.map +0 -1
  110. package/dist/cesium-map/layers/osm.layer.js +0 -35
  111. package/dist/cesium-map/layers/osm.layer.js.map +0 -1
  112. package/dist/cesium-map/layers/wms.layer.d.ts +0 -10
  113. package/dist/cesium-map/layers/wms.layer.d.ts.map +0 -1
  114. package/dist/cesium-map/layers/wms.layer.js +0 -35
  115. package/dist/cesium-map/layers/wms.layer.js.map +0 -1
  116. package/dist/cesium-map/layers/wmts.layer.d.ts +0 -10
  117. package/dist/cesium-map/layers/wmts.layer.d.ts.map +0 -1
  118. package/dist/cesium-map/layers/wmts.layer.js +0 -35
  119. package/dist/cesium-map/layers/wmts.layer.js.map +0 -1
  120. package/dist/cesium-map/layers/xyz.layer.d.ts +0 -10
  121. package/dist/cesium-map/layers/xyz.layer.d.ts.map +0 -1
  122. package/dist/cesium-map/layers/xyz.layer.js +0 -35
  123. package/dist/cesium-map/layers/xyz.layer.js.map +0 -1
  124. package/dist/cesium-map/layers-manager.d.ts +0 -47
  125. package/dist/cesium-map/layers-manager.d.ts.map +0 -1
  126. package/dist/cesium-map/layers-manager.js +0 -232
  127. package/dist/cesium-map/layers-manager.js.map +0 -1
  128. package/dist/cesium-map/map.css +0 -54
  129. package/dist/cesium-map/map.d.ts +0 -45
  130. package/dist/cesium-map/map.d.ts.map +0 -1
  131. package/dist/cesium-map/map.js +0 -250
  132. package/dist/cesium-map/map.js.map +0 -1
  133. package/dist/cesium-map/map.types.d.ts +0 -9
  134. package/dist/cesium-map/map.types.d.ts.map +0 -1
  135. package/dist/cesium-map/map.types.js +0 -12
  136. package/dist/cesium-map/map.types.js.map +0 -1
  137. package/dist/cesium-map/proxied.types.d.ts +0 -20
  138. package/dist/cesium-map/proxied.types.d.ts.map +0 -1
  139. package/dist/cesium-map/proxied.types.js +0 -87
  140. package/dist/cesium-map/proxied.types.js.map +0 -1
  141. package/dist/cesium-map/settings/base-maps.css +0 -37
  142. package/dist/cesium-map/settings/base-maps.d.ts +0 -8
  143. package/dist/cesium-map/settings/base-maps.d.ts.map +0 -1
  144. package/dist/cesium-map/settings/base-maps.js +0 -68
  145. package/dist/cesium-map/settings/base-maps.js.map +0 -1
  146. package/dist/cesium-map/settings/scene-modes.css +0 -19
  147. package/dist/cesium-map/settings/scene-modes.d.ts +0 -8
  148. package/dist/cesium-map/settings/scene-modes.d.ts.map +0 -1
  149. package/dist/cesium-map/settings/scene-modes.js +0 -52
  150. package/dist/cesium-map/settings/scene-modes.js.map +0 -1
  151. package/dist/cesium-map/settings/settings.css +0 -49
  152. package/dist/cesium-map/settings/settings.d.ts +0 -24
  153. package/dist/cesium-map/settings/settings.d.ts.map +0 -1
  154. package/dist/cesium-map/settings/settings.js +0 -66
  155. package/dist/cesium-map/settings/settings.js.map +0 -1
  156. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +0 -3
  157. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts.map +0 -1
  158. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +0 -25
  159. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js.map +0 -1
  160. package/dist/cesium-map/tools/coordinates-tracker.tool.css +0 -11
  161. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +0 -8
  162. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts.map +0 -1
  163. package/dist/cesium-map/tools/coordinates-tracker.tool.js +0 -65
  164. package/dist/cesium-map/tools/coordinates-tracker.tool.js.map +0 -1
  165. package/dist/cesium-map/tools/draw/drawHelper.css +0 -101
  166. package/dist/cesium-map/tools/draw/drawHelper.d.ts +0 -29
  167. package/dist/cesium-map/tools/draw/drawHelper.d.ts.map +0 -1
  168. package/dist/cesium-map/tools/draw/drawHelper.js +0 -1681
  169. package/dist/cesium-map/tools/draw/drawHelper.js.map +0 -1
  170. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +0 -5
  171. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts.map +0 -1
  172. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +0 -40
  173. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js.map +0 -1
  174. package/dist/cesium-map/tools/geojson/index.d.ts +0 -3
  175. package/dist/cesium-map/tools/geojson/index.d.ts.map +0 -1
  176. package/dist/cesium-map/tools/geojson/index.js +0 -8
  177. package/dist/cesium-map/tools/geojson/index.js.map +0 -1
  178. package/dist/cesium-map/tools/geojson/point.geojson.d.ts +0 -4
  179. package/dist/cesium-map/tools/geojson/point.geojson.d.ts.map +0 -1
  180. package/dist/cesium-map/tools/geojson/point.geojson.js +0 -20
  181. package/dist/cesium-map/tools/geojson/point.geojson.js.map +0 -1
  182. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +0 -4
  183. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts.map +0 -1
  184. package/dist/cesium-map/tools/geojson/polygon.geojson.js +0 -23
  185. package/dist/cesium-map/tools/geojson/polygon.geojson.js.map +0 -1
  186. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +0 -4
  187. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts.map +0 -1
  188. package/dist/cesium-map/tools/geojson/rectangle.geojson.js +0 -31
  189. package/dist/cesium-map/tools/geojson/rectangle.geojson.js.map +0 -1
  190. package/dist/cesium-map/tools/scale-tracker.tool.css +0 -16
  191. package/dist/cesium-map/tools/scale-tracker.tool.d.ts +0 -9
  192. package/dist/cesium-map/tools/scale-tracker.tool.d.ts.map +0 -1
  193. package/dist/cesium-map/tools/scale-tracker.tool.js +0 -145
  194. package/dist/cesium-map/tools/scale-tracker.tool.js.map +0 -1
  195. package/dist/cssbaseline/cssbaseline.d.ts +0 -6
  196. package/dist/cssbaseline/cssbaseline.d.ts.map +0 -1
  197. package/dist/cssbaseline/cssbaseline.js +0 -39
  198. package/dist/cssbaseline/cssbaseline.js.map +0 -1
  199. package/dist/cssbaseline/index.d.ts +0 -2
  200. package/dist/cssbaseline/index.d.ts.map +0 -1
  201. package/dist/cssbaseline/index.js +0 -6
  202. package/dist/cssbaseline/index.js.map +0 -1
  203. package/dist/date-range-picker/date-range-picker.d.ts +0 -27
  204. package/dist/date-range-picker/date-range-picker.d.ts.map +0 -1
  205. package/dist/date-range-picker/date-range-picker.form-control.css +0 -3
  206. package/dist/date-range-picker/date-range-picker.form-control.d.ts +0 -29
  207. package/dist/date-range-picker/date-range-picker.form-control.d.ts.map +0 -1
  208. package/dist/date-range-picker/date-range-picker.form-control.js +0 -80
  209. package/dist/date-range-picker/date-range-picker.form-control.js.map +0 -1
  210. package/dist/date-range-picker/date-range-picker.js +0 -91
  211. package/dist/date-range-picker/date-range-picker.js.map +0 -1
  212. package/dist/date-range-picker/index.d.ts +0 -3
  213. package/dist/date-range-picker/index.d.ts.map +0 -1
  214. package/dist/date-range-picker/index.js +0 -8
  215. package/dist/date-range-picker/index.js.map +0 -1
  216. package/dist/index.d.ts +0 -11
  217. package/dist/index.d.ts.map +0 -1
  218. package/dist/index.js.map +0 -1
  219. package/dist/map-filter-container/container-map.css +0 -5
  220. package/dist/map-filter-container/container-map.d.ts +0 -12
  221. package/dist/map-filter-container/container-map.d.ts.map +0 -1
  222. package/dist/map-filter-container/container-map.js +0 -30
  223. package/dist/map-filter-container/container-map.js.map +0 -1
  224. package/dist/map-filter-container/index.d.ts +0 -2
  225. package/dist/map-filter-container/index.d.ts.map +0 -1
  226. package/dist/map-filter-container/index.js +0 -7
  227. package/dist/map-filter-container/index.js.map +0 -1
  228. package/dist/map-filter-container/map-filter-container.d.ts +0 -10
  229. package/dist/map-filter-container/map-filter-container.d.ts.map +0 -1
  230. package/dist/map-filter-container/map-filter-container.js +0 -65
  231. package/dist/map-filter-container/map-filter-container.js.map +0 -1
  232. package/dist/map-filter-container/polygon-selection-ui.d.ts +0 -13
  233. package/dist/map-filter-container/polygon-selection-ui.d.ts.map +0 -1
  234. package/dist/map-filter-container/polygon-selection-ui.js +0 -61
  235. package/dist/map-filter-container/polygon-selection-ui.js.map +0 -1
  236. package/dist/models/defaults.d.ts +0 -18
  237. package/dist/models/defaults.d.ts.map +0 -1
  238. package/dist/models/defaults.js +0 -21
  239. package/dist/models/defaults.js.map +0 -1
  240. package/dist/models/enums.d.ts +0 -14
  241. package/dist/models/enums.d.ts.map +0 -1
  242. package/dist/models/enums.js +0 -19
  243. package/dist/models/enums.js.map +0 -1
  244. package/dist/models/index.d.ts +0 -2
  245. package/dist/models/index.d.ts.map +0 -1
  246. package/dist/models/index.js +0 -7
  247. package/dist/models/index.js.map +0 -1
  248. package/dist/ol-map/feature.d.ts +0 -7
  249. package/dist/ol-map/feature.d.ts.map +0 -1
  250. package/dist/ol-map/feature.js +0 -19
  251. package/dist/ol-map/feature.js.map +0 -1
  252. package/dist/ol-map/index.d.ts +0 -7
  253. package/dist/ol-map/index.d.ts.map +0 -1
  254. package/dist/ol-map/index.js +0 -12
  255. package/dist/ol-map/index.js.map +0 -1
  256. package/dist/ol-map/interactions/draw.d.ts +0 -9
  257. package/dist/ol-map/interactions/draw.d.ts.map +0 -1
  258. package/dist/ol-map/interactions/draw.js +0 -44
  259. package/dist/ol-map/interactions/draw.js.map +0 -1
  260. package/dist/ol-map/interactions/index.d.ts +0 -2
  261. package/dist/ol-map/interactions/index.d.ts.map +0 -1
  262. package/dist/ol-map/interactions/index.js +0 -7
  263. package/dist/ol-map/interactions/index.js.map +0 -1
  264. package/dist/ol-map/layers/index.d.ts +0 -4
  265. package/dist/ol-map/layers/index.d.ts.map +0 -1
  266. package/dist/ol-map/layers/index.js +0 -9
  267. package/dist/ol-map/layers/index.js.map +0 -1
  268. package/dist/ol-map/layers/tile-layer.d.ts +0 -10
  269. package/dist/ol-map/layers/tile-layer.d.ts.map +0 -1
  270. package/dist/ol-map/layers/tile-layer.js +0 -34
  271. package/dist/ol-map/layers/tile-layer.js.map +0 -1
  272. package/dist/ol-map/layers/vector-layer.d.ts +0 -5
  273. package/dist/ol-map/layers/vector-layer.d.ts.map +0 -1
  274. package/dist/ol-map/layers/vector-layer.js +0 -34
  275. package/dist/ol-map/layers/vector-layer.js.map +0 -1
  276. package/dist/ol-map/layers/vector-tile-layer.d.ts +0 -11
  277. package/dist/ol-map/layers/vector-tile-layer.d.ts.map +0 -1
  278. package/dist/ol-map/layers/vector-tile-layer.js +0 -52
  279. package/dist/ol-map/layers/vector-tile-layer.js.map +0 -1
  280. package/dist/ol-map/map.css +0 -17
  281. package/dist/ol-map/map.d.ts +0 -15
  282. package/dist/ol-map/map.d.ts.map +0 -1
  283. package/dist/ol-map/map.js +0 -103
  284. package/dist/ol-map/map.js.map +0 -1
  285. package/dist/ol-map/source/index.d.ts +0 -7
  286. package/dist/ol-map/source/index.d.ts.map +0 -1
  287. package/dist/ol-map/source/index.js +0 -12
  288. package/dist/ol-map/source/index.js.map +0 -1
  289. package/dist/ol-map/source/mvt.d.ts +0 -12
  290. package/dist/ol-map/source/mvt.d.ts.map +0 -1
  291. package/dist/ol-map/source/mvt.js +0 -34
  292. package/dist/ol-map/source/mvt.js.map +0 -1
  293. package/dist/ol-map/source/osm.d.ts +0 -3
  294. package/dist/ol-map/source/osm.d.ts.map +0 -1
  295. package/dist/ol-map/source/osm.js +0 -13
  296. package/dist/ol-map/source/osm.js.map +0 -1
  297. package/dist/ol-map/source/vector-source.d.ts +0 -5
  298. package/dist/ol-map/source/vector-source.d.ts.map +0 -1
  299. package/dist/ol-map/source/vector-source.js +0 -31
  300. package/dist/ol-map/source/vector-source.js.map +0 -1
  301. package/dist/ol-map/source/wms.d.ts +0 -18
  302. package/dist/ol-map/source/wms.d.ts.map +0 -1
  303. package/dist/ol-map/source/wms.js +0 -28
  304. package/dist/ol-map/source/wms.js.map +0 -1
  305. package/dist/ol-map/source/wmts.d.ts +0 -22
  306. package/dist/ol-map/source/wmts.d.ts.map +0 -1
  307. package/dist/ol-map/source/wmts.js +0 -57
  308. package/dist/ol-map/source/wmts.js.map +0 -1
  309. package/dist/ol-map/source/xyz.d.ts +0 -13
  310. package/dist/ol-map/source/xyz.d.ts.map +0 -1
  311. package/dist/ol-map/source/xyz.js +0 -25
  312. package/dist/ol-map/source/xyz.js.map +0 -1
  313. package/dist/ol-map/style.d.ts +0 -5
  314. package/dist/ol-map/style.d.ts.map +0 -1
  315. package/dist/ol-map/style.js +0 -22
  316. package/dist/ol-map/style.js.map +0 -1
  317. package/dist/popover/index.d.ts +0 -2
  318. package/dist/popover/index.d.ts.map +0 -1
  319. package/dist/popover/index.js +0 -5
  320. package/dist/popover/index.js.map +0 -1
  321. package/dist/popover/popover.d.ts +0 -4
  322. package/dist/popover/popover.d.ts.map +0 -1
  323. package/dist/popover/popover.js +0 -34
  324. package/dist/popover/popover.js.map +0 -1
  325. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +0 -8
  326. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts.map +0 -1
  327. package/dist/smart-table/__mock-data__/smartTableMocks.js +0 -17
  328. package/dist/smart-table/__mock-data__/smartTableMocks.js.map +0 -1
  329. package/dist/smart-table/index.d.ts +0 -3
  330. package/dist/smart-table/index.d.ts.map +0 -1
  331. package/dist/smart-table/index.js +0 -8
  332. package/dist/smart-table/index.js.map +0 -1
  333. package/dist/smart-table/smart-table-head.d.ts +0 -12
  334. package/dist/smart-table/smart-table-head.d.ts.map +0 -1
  335. package/dist/smart-table/smart-table-head.js +0 -22
  336. package/dist/smart-table/smart-table-head.js.map +0 -1
  337. package/dist/smart-table/smart-table-row.d.ts +0 -14
  338. package/dist/smart-table/smart-table-row.d.ts.map +0 -1
  339. package/dist/smart-table/smart-table-row.js +0 -36
  340. package/dist/smart-table/smart-table-row.js.map +0 -1
  341. package/dist/smart-table/smart-table-types.d.ts +0 -11
  342. package/dist/smart-table/smart-table-types.d.ts.map +0 -1
  343. package/dist/smart-table/smart-table-types.js +0 -3
  344. package/dist/smart-table/smart-table-types.js.map +0 -1
  345. package/dist/smart-table/smart-table.d.ts +0 -18
  346. package/dist/smart-table/smart-table.d.ts.map +0 -1
  347. package/dist/smart-table/smart-table.js +0 -39
  348. package/dist/smart-table/smart-table.js.map +0 -1
  349. package/dist/theme/index.d.ts +0 -2
  350. package/dist/theme/index.d.ts.map +0 -1
  351. package/dist/theme/index.js +0 -7
  352. package/dist/theme/index.js.map +0 -1
  353. package/dist/theme/theme.d.ts +0 -9
  354. package/dist/theme/theme.d.ts.map +0 -1
  355. package/dist/theme/theme.js +0 -124
  356. package/dist/theme/theme.js.map +0 -1
  357. package/dist/utils/map.d.ts +0 -4
  358. package/dist/utils/map.d.ts.map +0 -1
  359. package/dist/utils/map.js +0 -18
  360. package/dist/utils/map.js.map +0 -1
  361. package/dist/utils/projections.d.ts +0 -7
  362. package/dist/utils/projections.d.ts.map +0 -1
  363. package/dist/utils/projections.js +0 -10
  364. package/dist/utils/projections.js.map +0 -1
  365. package/dist/utils/story.d.ts +0 -13
  366. package/dist/utils/story.d.ts.map +0 -1
  367. package/dist/utils/story.js +0 -3
  368. package/dist/utils/story.js.map +0 -1
@@ -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
+ };
@@ -0,0 +1,237 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
4
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
5
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
7
+ import {
8
+ BoundingSphere,
9
+ Cartesian3,
10
+ Cartographic,
11
+ Credit,
12
+ Ellipsoid,
13
+ Math,
14
+ OrientedBoundingBox,
15
+ QuantizedMeshTerrainData,
16
+ Rectangle,
17
+ TerrainProvider,
18
+ TilingScheme,
19
+ WebMercatorTilingScheme,
20
+ } from 'cesium';
21
+ import decode from '@here/quantized-mesh-decoder';
22
+ import dummyTileBuffer from './dummy-quantized-mesh-tile';
23
+
24
+ const TILE_IMAGE_WIDTH = 65;
25
+
26
+ export interface IDecodedTileHeader {
27
+ centerX: number;
28
+ centerY: number;
29
+ centerZ: number;
30
+ minHeight: number;
31
+ maxHeight: number;
32
+ boundingSphereCenterX: number;
33
+ boundingSphereCenterY: number;
34
+ boundingSphereCenterZ: number;
35
+ boundingSphereRadius: number;
36
+ horizonOcclusionPointX: number;
37
+ horizonOcclusionPointY: number;
38
+ horizonOcclusionPointZ: number;
39
+ }
40
+
41
+ export interface IExtensions {
42
+ vertexNormals?: Uint8Array;
43
+ waterMask?: ArrayBufferLike;
44
+ metadata?: unknown;
45
+ }
46
+
47
+ export interface IDecodedTile {
48
+ header: IDecodedTileHeader;
49
+ vertexData: Uint16Array;
50
+ triangleIndices: Uint16Array | Uint32Array;
51
+ westIndices: number[];
52
+ northIndices: number[];
53
+ eastIndices: number[];
54
+ southIndices: number[];
55
+ extensions?: IExtensions;
56
+ }
57
+
58
+ export default class QuantizedMeshTerrainProvider /*extends TerrainProvider*/ {
59
+ public tilingScheme: TilingScheme;
60
+ public ready: boolean;
61
+ public readyPromise: Promise<boolean>;
62
+ private readonly dummyTile: IDecodedTile;
63
+ private readonly getUrl: (x: number, y: number, level: number) => string;
64
+ private readonly credits: Credit[] | undefined;
65
+
66
+ public constructor(options: {
67
+ getUrl?: (x: number, y: number, level: number) => string;
68
+ credit?: string;
69
+ tilingScheme?: TilingScheme;
70
+ }) {
71
+ // super();
72
+ this.ready = false;
73
+ this.dummyTile = decode(dummyTileBuffer);
74
+ this.tilingScheme = options.tilingScheme ?? new WebMercatorTilingScheme();
75
+
76
+ if (options.getUrl === undefined) {
77
+ throw new Error('getUrl option is missing');
78
+ }
79
+
80
+ if (options.credit !== undefined) {
81
+ this.credits = [new Credit(options.credit)];
82
+ }
83
+
84
+ this.getUrl = options.getUrl;
85
+
86
+ this.readyPromise = Promise.resolve(true);
87
+ this.ready = true;
88
+ }
89
+
90
+ public requestTileGeometry(
91
+ x: number,
92
+ y: number,
93
+ level: number
94
+ ): Promise<void | QuantizedMeshTerrainData> | undefined {
95
+ const url = this.getUrl(x, y, level);
96
+
97
+ return window
98
+ .fetch(url)
99
+ .then((res: Response) => {
100
+ if (res.status !== 200) {
101
+ return this.generateDummyTile(x, y, level);
102
+ }
103
+ return this.decodeResponse(res, x, y, level);
104
+ })
105
+ .then((decodedTile: IDecodedTile) => {
106
+ return this.createQuantizedMeshData(decodedTile, x, y, level);
107
+ })
108
+ .catch((err: unknown) => {
109
+ console.error(err);
110
+ });
111
+ }
112
+
113
+ public getTileDataAvailable(x: number, y: number, level: number): boolean {
114
+ return true;
115
+ }
116
+
117
+ public getLevelMaximumGeometricError(level: number): number {
118
+ const levelZeroMaximumGeometricError = TerrainProvider.getEstimatedLevelZeroGeometricErrorForAHeightmap(
119
+ this.tilingScheme.ellipsoid,
120
+ TILE_IMAGE_WIDTH,
121
+ this.tilingScheme.getNumberOfXTilesAtLevel(0)
122
+ );
123
+
124
+ return levelZeroMaximumGeometricError / (1 << level);
125
+ }
126
+
127
+ private generateDummyTileHeader(
128
+ x: number,
129
+ y: number,
130
+ level: number
131
+ ): IDecodedTileHeader {
132
+ const tileRect = this.tilingScheme.tileXYToRectangle(x, y, level);
133
+ const tileNativeRect = this.tilingScheme.tileXYToNativeRectangle(
134
+ x,
135
+ y,
136
+ level
137
+ );
138
+ const tileCenter = Cartographic.toCartesian(Rectangle.center(tileRect));
139
+ const horizonOcclusionPoint = Ellipsoid.WGS84.transformPositionToScaledSpace(
140
+ tileCenter
141
+ );
142
+
143
+ return {
144
+ centerX: tileCenter.x,
145
+ centerY: tileCenter.y,
146
+ centerZ: tileCenter.z,
147
+ minHeight: 0,
148
+ maxHeight: 0,
149
+ boundingSphereCenterX: tileCenter.x,
150
+ boundingSphereCenterY: tileCenter.y,
151
+ boundingSphereCenterZ: tileCenter.z,
152
+ boundingSphereRadius: tileNativeRect.height,
153
+ horizonOcclusionPointX: horizonOcclusionPoint.x,
154
+ horizonOcclusionPointY: horizonOcclusionPoint.y,
155
+ horizonOcclusionPointZ: horizonOcclusionPoint.z,
156
+ };
157
+ }
158
+
159
+ private createQuantizedMeshData(
160
+ decodedTile: IDecodedTile,
161
+ x: number,
162
+ y: number,
163
+ level: number
164
+ ): QuantizedMeshTerrainData {
165
+ const tileRect = this.tilingScheme.tileXYToRectangle(x, y, level);
166
+ const boundingSphereCenter = new Cartesian3(
167
+ decodedTile.header.boundingSphereCenterX,
168
+ decodedTile.header.boundingSphereCenterY,
169
+ decodedTile.header.boundingSphereCenterZ
170
+ );
171
+ const boundingSphere = new BoundingSphere(
172
+ boundingSphereCenter,
173
+ decodedTile.header.boundingSphereRadius
174
+ );
175
+ const horizonOcclusionPoint = new Cartesian3(
176
+ decodedTile.header.horizonOcclusionPointX,
177
+ decodedTile.header.horizonOcclusionPointY,
178
+ decodedTile.header.horizonOcclusionPointZ
179
+ );
180
+
181
+ let orientedBoundingBox;
182
+
183
+ if (tileRect.width < Math.PI_OVER_TWO + Math.EPSILON5) {
184
+ orientedBoundingBox = OrientedBoundingBox.fromRectangle(
185
+ tileRect,
186
+ decodedTile.header.minHeight,
187
+ decodedTile.header.maxHeight
188
+ );
189
+ }
190
+
191
+ return new QuantizedMeshTerrainData({
192
+ minimumHeight: decodedTile.header.minHeight,
193
+ maximumHeight: decodedTile.header.maxHeight,
194
+ quantizedVertices: decodedTile.vertexData,
195
+ indices: decodedTile.triangleIndices,
196
+ boundingSphere: boundingSphere,
197
+ orientedBoundingBox: orientedBoundingBox,
198
+ horizonOcclusionPoint: horizonOcclusionPoint,
199
+ westIndices: decodedTile.westIndices,
200
+ southIndices: decodedTile.southIndices,
201
+ eastIndices: decodedTile.eastIndices,
202
+ northIndices: decodedTile.northIndices,
203
+ westSkirtHeight: 100,
204
+ southSkirtHeight: 100,
205
+ eastSkirtHeight: 100,
206
+ northSkirtHeight: 100,
207
+ childTileMask: 15,
208
+ credits: this.credits,
209
+ });
210
+ }
211
+
212
+ private generateDummyTile(x: number, y: number, level: number): IDecodedTile {
213
+ return {
214
+ ...this.dummyTile,
215
+ ...this.generateDummyTileHeader(x, y, level),
216
+ };
217
+ }
218
+
219
+ private decodeResponse(
220
+ res: any,
221
+ x: number,
222
+ y: number,
223
+ level: number
224
+ ): IDecodedTile {
225
+ return res
226
+ .arrayBuffer()
227
+ .then((buffer: ArrayBufferLike) => {
228
+ return decode(buffer);
229
+ })
230
+ .catch((err: unknown) => {
231
+ console.error(`Decoding failed on tile ${this.getUrl(x, y, level)}`);
232
+ console.error(err);
233
+
234
+ return this.generateDummyTile(x, y, level);
235
+ });
236
+ }
237
+ }