@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,110 +1,164 @@
1
- import React from 'react';
2
- import { Story, Meta } from '@storybook/react/types-6-0';
3
- import { action } from '@storybook/addon-actions';
4
- import { CesiumMap } from '../map';
5
- import { Cesium3DTileset } from './3d.tileset';
6
-
7
- export default {
8
- title: 'Cesium Map/Layers/3DTileset',
9
- component: Cesium3DTileset,
10
- parameters: {
11
- layout: 'fullscreen',
12
- },
13
- } as Meta;
14
-
15
- const mapDivStyle = {
16
- height: '100%',
17
- width: '100%',
18
- position: 'absolute' as const,
19
- };
20
-
21
- export const Cesium3DTilesetLayer: Story = (args: unknown) => (
22
- <div style={mapDivStyle}>
23
- <CesiumMap {...args}>
24
- <Cesium3DTileset
25
- isZoomTo={true}
26
- url="/mock/tileset/tileset.json"
27
- onAllTilesLoad={action('onAllTilesLoad')}
28
- onInitialTilesLoad={action('onInitialTilesLoad')}
29
- onTileFailed={action('onTileFailed')}
30
- onTileLoad={action('onTileLoad')}
31
- onTileUnload={action('onTileUnload')}
32
- onReady={(tileset): void => {
33
- action('onReady');
34
- }}
35
- onClick={action('onClick')}
36
- />
37
- </CesiumMap>
38
- </div>
39
- );
40
-
41
- Cesium3DTilesetLayer.argTypes = {
42
- zoom: {
43
- defaultValue: 3,
44
- control: {
45
- type: 'range',
46
- min: 0,
47
- max: 20,
48
- },
49
- },
50
- };
51
-
52
- export const Cesium3DTilesetOnHeightLayer: Story = (args: unknown) => (
53
- <div style={mapDivStyle}>
54
- <CesiumMap {...args}>
55
- <Cesium3DTileset
56
- isZoomTo={false}
57
- heightFromGround={-170}
58
- url="/mock/tileset/tileset.json"
59
- onAllTilesLoad={action('onAllTilesLoad')}
60
- onInitialTilesLoad={action('onInitialTilesLoad')}
61
- onTileFailed={action('onTileFailed')}
62
- onTileLoad={action('onTileLoad')}
63
- onTileUnload={action('onTileUnload')}
64
- onReady={(tileset): void => {
65
- action('onReady');
66
- }}
67
- onClick={action('onClick')}
68
- />
69
- </CesiumMap>
70
- </div>
71
- );
72
-
73
- Cesium3DTilesetOnHeightLayer.argTypes = {
74
- zoom: {
75
- defaultValue: 18,
76
- control: {
77
- type: 'range',
78
- min: 0,
79
- max: 20,
80
- },
81
- },
82
- center: {
83
- defaultValue: [-75.61208, 40.04227],
84
- },
85
- };
86
-
87
- export const CesiumSolar3DTilesetLayer: Story = (args: unknown) => (
88
- <div style={mapDivStyle}>
89
- <CesiumMap {...args}>
90
- <Cesium3DTileset
91
- isZoomTo={true}
92
- url="/mock/tileset_2/L16_31023/L16_31023.json"
93
- />
94
- </CesiumMap>
95
- </div>
96
- );
97
-
98
- CesiumSolar3DTilesetLayer.argTypes = {
99
- center: {
100
- defaultValue: [34.811, 31.908],
101
- },
102
- zoom: {
103
- defaultValue: 14,
104
- control: {
105
- type: 'range',
106
- min: 0,
107
- max: 20,
108
- },
109
- },
110
- };
1
+ import React from 'react';
2
+ import { ArcGISTiledElevationTerrainProvider } from 'cesium';
3
+ import { Story, Meta } from '@storybook/react/types-6-0';
4
+ import { action } from '@storybook/addon-actions';
5
+ import { CesiumMap } from '../map';
6
+ import { LayerType } from '../layers-manager';
7
+ import { Cesium3DTileset } from './3d.tileset';
8
+
9
+ export default {
10
+ title: 'Cesium Map/Layers/3DTileset',
11
+ component: Cesium3DTileset,
12
+ parameters: {
13
+ layout: 'fullscreen',
14
+ },
15
+ } as Meta;
16
+
17
+ const mapDivStyle = {
18
+ height: '100%',
19
+ width: '100%',
20
+ position: 'absolute' as const,
21
+ };
22
+
23
+ const BASE_MAPS = {
24
+ maps: [
25
+ {
26
+ id: '1st',
27
+ title: '1st Map Title',
28
+ isCurrent: true,
29
+ thumbnail:
30
+ 'https://nsw.digitaltwin.terria.io/build/efa2f6c408eb790753a9b5fb2f3dc678.png',
31
+ baseRasteLayers: [
32
+ {
33
+ id: 'GOOGLE_TERRAIN',
34
+ type: 'XYZ_LAYER' as LayerType,
35
+ opacity: 1,
36
+ zIndex: 0,
37
+ options: {
38
+ url: 'https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}',
39
+ layers: '',
40
+ credit: 'GOOGLE',
41
+ },
42
+ },
43
+ ],
44
+ baseVectorLayers: [],
45
+ },
46
+ ],
47
+ };
48
+
49
+ const ArcGisProvider = new ArcGISTiledElevationTerrainProvider({
50
+ url:
51
+ 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer',
52
+ });
53
+
54
+ export const Cesium3DTilesetLayer: Story = (args: unknown) => (
55
+ <div style={mapDivStyle}>
56
+ <CesiumMap {...args}>
57
+ <Cesium3DTileset
58
+ isZoomTo={true}
59
+ url="/mock/tileset_1/tileset.json"
60
+ onAllTilesLoad={action('onAllTilesLoad')}
61
+ onInitialTilesLoad={action('onInitialTilesLoad')}
62
+ onTileFailed={action('onTileFailed')}
63
+ onTileLoad={action('onTileLoad')}
64
+ onTileUnload={action('onTileUnload')}
65
+ onReady={(tileset): void => {
66
+ action('onReady');
67
+ }}
68
+ onClick={action('onClick')}
69
+ />
70
+ </CesiumMap>
71
+ </div>
72
+ );
73
+
74
+ Cesium3DTilesetLayer.argTypes = {
75
+ baseMaps: {
76
+ defaultValue: BASE_MAPS,
77
+ },
78
+ zoom: {
79
+ defaultValue: 3,
80
+ control: {
81
+ type: 'range',
82
+ min: 0,
83
+ max: 20,
84
+ },
85
+ },
86
+ };
87
+
88
+ Cesium3DTilesetLayer.storyName = '3D Layer';
89
+
90
+ export const Cesium3DTilesetWithHeightCorrectionLayer: Story = (
91
+ args: unknown
92
+ ) => (
93
+ <div style={mapDivStyle}>
94
+ <CesiumMap {...args}>
95
+ <Cesium3DTileset
96
+ isZoomTo={false}
97
+ heightFromGround={-10}
98
+ url="/mock/tileset_1/tileset.json"
99
+ onAllTilesLoad={action('onAllTilesLoad')}
100
+ onInitialTilesLoad={action('onInitialTilesLoad')}
101
+ onTileFailed={action('onTileFailed')}
102
+ onTileLoad={action('onTileLoad')}
103
+ onTileUnload={action('onTileUnload')}
104
+ onReady={(tileset): void => {
105
+ action('onReady');
106
+ }}
107
+ onClick={action('onClick')}
108
+ />
109
+ </CesiumMap>
110
+ </div>
111
+ );
112
+
113
+ Cesium3DTilesetWithHeightCorrectionLayer.argTypes = {
114
+ baseMaps: {
115
+ defaultValue: BASE_MAPS,
116
+ },
117
+ zoom: {
118
+ defaultValue: 17,
119
+ control: {
120
+ type: 'range',
121
+ min: 0,
122
+ max: 20,
123
+ },
124
+ },
125
+ center: {
126
+ defaultValue: [-75.61208, 40.04227],
127
+ },
128
+ };
129
+
130
+ Cesium3DTilesetWithHeightCorrectionLayer.storyName =
131
+ '3D with Height Correction Layer';
132
+
133
+ export const CesiumSolar3DTilesetLayer: Story = (args: unknown) => (
134
+ <div style={mapDivStyle}>
135
+ <CesiumMap {...args}>
136
+ <Cesium3DTileset
137
+ isZoomTo={true}
138
+ url="/mock/tileset_2/L16_31023/L16_31023.json"
139
+ />
140
+ </CesiumMap>
141
+ </div>
142
+ );
143
+
144
+ CesiumSolar3DTilesetLayer.argTypes = {
145
+ baseMaps: {
146
+ defaultValue: BASE_MAPS,
147
+ },
148
+ terrainProvider: {
149
+ defaultValue: ArcGisProvider,
150
+ },
151
+ center: {
152
+ defaultValue: [34.811, 31.908],
153
+ },
154
+ zoom: {
155
+ defaultValue: 14,
156
+ control: {
157
+ type: 'range',
158
+ min: 0,
159
+ max: 20,
160
+ },
161
+ },
162
+ };
163
+
164
+ CesiumSolar3DTilesetLayer.storyName = 'Solar 3D Layer with Terrain Provider';
@@ -1,47 +1,51 @@
1
- import { Cartesian3, Cartographic, Matrix4 } from 'cesium';
2
- import React from 'react';
3
-
4
- import { Cesium3DTileset as Resium3DTileset } from 'resium';
5
- import { Cesium3DTilesetProps } from 'resium/dist/types/src/Cesium3DTileset/Cesium3DTileset';
6
- import { CesiumViewer, useCesiumMap } from '../map';
7
-
8
- export interface RCesium3DTilesetProps extends Cesium3DTilesetProps {
9
- isZoomTo?: boolean;
10
- heightFromGround?: number;
11
- }
12
-
13
- export const Cesium3DTileset: React.FC<RCesium3DTilesetProps> = (props) => {
14
- const mapViewer: CesiumViewer = useCesiumMap();
15
- return (
16
- <Resium3DTileset
17
- {...props}
18
- onReady={(tileset): void => {
19
- props.onReady?.(tileset);
20
- if (props.isZoomTo) {
21
- void mapViewer.zoomTo(tileset);
22
- }
23
- if (props.heightFromGround) {
24
- const cartographic = Cartographic.fromCartesian(
25
- tileset.boundingSphere.center
26
- );
27
- const surface = Cartesian3.fromRadians(
28
- cartographic.longitude,
29
- cartographic.latitude,
30
- 0.0
31
- );
32
- const offset = Cartesian3.fromRadians(
33
- cartographic.longitude,
34
- cartographic.latitude,
35
- props.heightFromGround
36
- );
37
- const translation = Cartesian3.subtract(
38
- offset,
39
- surface,
40
- new Cartesian3()
41
- );
42
- tileset.modelMatrix = Matrix4.fromTranslation(translation);
43
- }
44
- }}
45
- />
46
- );
47
- };
1
+ import React from 'react';
2
+ import { Cartesian3, Cartographic, Matrix4 } from 'cesium';
3
+ import { Cesium3DTileset as Resium3DTileset } from 'resium';
4
+ import { Cesium3DTilesetProps } from 'resium/dist/types/src/Cesium3DTileset/Cesium3DTileset';
5
+ import { CesiumViewer, useCesiumMap } from '../map';
6
+
7
+ const GROUND_LEVEL = 0.0;
8
+
9
+ export interface RCesium3DTilesetProps extends Cesium3DTilesetProps {
10
+ isZoomTo?: boolean;
11
+ heightFromGround?: number;
12
+ }
13
+
14
+ export const Cesium3DTileset: React.FC<RCesium3DTilesetProps> = (props) => {
15
+ const mapViewer: CesiumViewer = useCesiumMap();
16
+ return (
17
+ <Resium3DTileset
18
+ {...props}
19
+ onReady={(tileset): void => {
20
+ props.onReady?.(tileset);
21
+ if (props.isZoomTo === true) {
22
+ void mapViewer.zoomTo(tileset);
23
+ }
24
+ const scene = mapViewer.scene;
25
+ scene.globe.depthTestAgainstTerrain = true;
26
+ const cartographic = Cartographic.fromCartesian(
27
+ tileset.boundingSphere.center
28
+ );
29
+ const heightFromGround = props.heightFromGround ?? GROUND_LEVEL;
30
+ if (heightFromGround) {
31
+ const surface = Cartesian3.fromRadians(
32
+ cartographic.longitude,
33
+ cartographic.latitude,
34
+ cartographic.height
35
+ );
36
+ const offset = Cartesian3.fromRadians(
37
+ cartographic.longitude,
38
+ cartographic.latitude,
39
+ cartographic.height + heightFromGround
40
+ );
41
+ const translation = Cartesian3.subtract(
42
+ offset,
43
+ surface,
44
+ new Cartesian3()
45
+ );
46
+ tileset.modelMatrix = Matrix4.fromTranslation(translation);
47
+ }
48
+ }}
49
+ />
50
+ );
51
+ };
@@ -0,0 +1,120 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-condition */
5
+ /*
6
+ https://sandcastle.cesium.com/index.html?#c=fVZtTxs5EP4re3xho0YOkOv1jgC6ElIuiAQKKaWQqnJ2nayL187Z3qCk4r/f+GXf8nKWot3YzzOeGT8z6wWWQRdLTRTFvB2cBl14y1JUznXGfMxbreBSYq798tV9gKOIKBVoESxFJgMqeICVIlqNuTfRFxzFZIozpj9a8Ei8EA5b7JPlVTK5jOgNvep/WfUPh7Sv+vzufdTt/9F/mT8+dK/+QgD6N758MSA6GJ3/HB712gN60H66fHq5Ht0l39K+vvnaWw27h/RmFP+8ueitBqvB+8FqRq+7V/MnMDa8+Kz6KUtieB+MPv8+/Am/i8HBoH2AztvdD0NBlu2n28do+uHHp8fz3rdXKiN91J6qLyS64/eHR5+YHv65b3OwgFRFNrQRkRJTfivFgsZEllmLJMGafBWSxR4TNjqOSRijcyVovEnm5DU30NuBsmacoQUlr+u0BzsX7jv3uoJr4BK53wx+jXkAY4IVucZLIm9p9ALs42CKmSJNt6rXXDreHueYv+XRqIhwAj44Z5D9az20b2jGxITA4c91MiJKf5yBFaW9OaBpmZEiIE0ZAeHAtCPPJU2ppguiEI7j0LlYCdY92hcjxwt9iGZkkh0HpfzuiAJtRgRNpUg/GnX247D9oX3UcJQ3ePrEujhWQqQjEXqPPAoJnRD5ShUJpxmPtJF6CKEI2Qgqe0eCK8EIYmLmVzv5LnaLgpvNYxCJ8T6wOxVWTDImIuMx5bMHwbLUZNggUH3W26XTIPSxQpnBecfWHAJHNOH6vMZp1HzdvstWYh5E6aKHrbE6JSAVMWGw7FfQDztRASSEzhJjoO4HSimnaZb+Y5creJCFtpK3htAPqaOunapguJApZoWInAKLokMzAlRNo/tMTnFEhhYdOsNNp66i44WNRsWwmE6dOksASqGn0Tlbni/vI8ywDN3uTR/Z/xuMYF7UO62YSTxPaGSFWvC8e1XuHNZBiCX7NSG2y/oWkevCJWG9rk9PT3f2oZo+zFaSKIjSHKNxsFMuugVUHOJBZc37hwAj2IKEDltUAuwOzv/awJfxKJzOGfG+DYTSFwR6GQNtbw2pGTxb9743EBQpLwrUb6xqUW1E5kHPB987dZRJ4W9rteVD2bDoUqIzyTcyVSmcNaQzVoG+NcpCcy95KrfFVXOiCGeboLQo5VQ/jEJSQlHbl2oKV9lESxxpT2r6MtitbDPWy7NuMmKCkzDfrrmBrvXLtx0t0zR8KUSZAXNUZiLvQ3cEx8tafkqyY+4Uo8kGowqsWNf9VwCZ57XAsfka9RawxbXHlKdSa+NVEZkFW3Y1n6uj4p210tmE5D6Fjd3a2tSPbTUJZbG0ly6XI/+/0lEY4TOdmDL3a8jNeMhUyCA0OGorHR4nntIJ3r2jOxJtTim390y/V3yz7t1jHkdYafh6QE5HYjZj5DzTGjK5n18SehxPoOzhCmMuC82gyHWUELjCxDUBrM+ZsaMFbr/a7NTELiu72uj6KdRzkksq16E9tb3m3onSS0bOHOVvms6F1OYyEyLU0gQ6IthQrUkGQcIhKmVoJ62cdBLTRUDj0/He2v1vvBdEDG7lsDLNGLunKzLeOztpAb5GY6Bu+ArfLIhkeGkgyeHZtZtECJ204O8mSwvBJlhWLP4H
7
+ */
8
+
9
+ import React, { useEffect, useState } from 'react';
10
+ import {
11
+ Cesium3DTileset,
12
+ Cesium3DTile,
13
+ Cartographic,
14
+ Cartesian3,
15
+ defined,
16
+ sampleTerrainMostDetailed,
17
+ Cesium3DTileContent,
18
+ } from 'cesium';
19
+ import { CesiumViewer, useCesiumMap } from '../map';
20
+
21
+ export interface Cesium3DTilesetWithUpdateProps {
22
+ url: string;
23
+ withUpdate?: boolean;
24
+ }
25
+
26
+ export const Cesium3DTilesetWithUpdate: React.FC<Cesium3DTilesetWithUpdateProps> = ({
27
+ url,
28
+ withUpdate,
29
+ }) => {
30
+ const mapViewer: CesiumViewer = useCesiumMap();
31
+ const scene = mapViewer.scene;
32
+ const [cesium3DTileset] = useState<Cesium3DTileset>(
33
+ new Cesium3DTileset({
34
+ url: url,
35
+ })
36
+ );
37
+ const [tileset] = useState<Cesium3DTileset>(
38
+ scene.primitives.add(cesium3DTileset)
39
+ );
40
+
41
+ useEffect(() => {
42
+ scene.globe.depthTestAgainstTerrain = true;
43
+ void mapViewer.zoomTo(tileset);
44
+ if (withUpdate === true) {
45
+ updateTileset(tileset);
46
+ }
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ }, []);
49
+
50
+ const updateContent = (
51
+ model: Cesium3DTileContent,
52
+ boundingVolume: any
53
+ ): void => {
54
+ const height = boundingVolume.minimumHeight
55
+ ? boundingVolume.minimumHeight
56
+ : boundingVolume.center.z - boundingVolume.radius;
57
+ // @ts-ignore
58
+ const center = model._rtcCenter ?? boundingVolume.center;
59
+ const normal = scene.globe.ellipsoid.geodeticSurfaceNormal(
60
+ center,
61
+ new Cartesian3()
62
+ );
63
+ const offset = Cartesian3.multiplyByScalar(
64
+ normal,
65
+ height,
66
+ new Cartesian3()
67
+ );
68
+ const carto = Cartographic.fromCartesian(center);
69
+ void new Promise((resolve, reject) => {
70
+ // @ts-ignore
71
+ if (scene.terrainProvider._ready !== true) {
72
+ const result = { ...carto };
73
+ result.height = 0;
74
+ resolve(result);
75
+ } else {
76
+ void sampleTerrainMostDetailed(scene.terrainProvider, [carto]).then(
77
+ (results) => {
78
+ const result = results[0];
79
+ if (!defined(result)) {
80
+ resolve(carto);
81
+ }
82
+ resolve(result);
83
+ }
84
+ );
85
+ }
86
+ }).then((result) => {
87
+ const resultCartesian = Cartographic.toCartesian(result as Cartographic);
88
+ const position = Cartesian3.subtract(
89
+ resultCartesian,
90
+ offset,
91
+ new Cartesian3()
92
+ );
93
+ // @ts-ignore
94
+ model._rtcCenter = Cartesian3.clone(position, model._rtcCenter);
95
+ });
96
+ };
97
+
98
+ const updateTile = (tile: Cesium3DTile): void => {
99
+ if (tile.content !== undefined) {
100
+ // @ts-ignore
101
+ updateContent(tile.content, tile.boundingVolume.boundingVolume);
102
+ } else {
103
+ const listener = tileset.tileLoad.addEventListener((t) => {
104
+ if (t === tile) {
105
+ updateContent(t.content, t.boundingVolume.boundingVolume);
106
+ listener();
107
+ }
108
+ });
109
+ }
110
+ tile.children.forEach((child) => updateTile(child));
111
+ };
112
+
113
+ const updateTileset = (tileset: Cesium3DTileset): void => {
114
+ void tileset.readyPromise.then(() => {
115
+ updateTile(tileset.root);
116
+ });
117
+ };
118
+
119
+ return <></>;
120
+ };