@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,78 +1,78 @@
1
- import React from 'react';
2
- import { Geometries } from '@turf/helpers';
3
- import { Proj } from '../../../utils/projections';
4
- import { Map } from '../../map';
5
- import { TileLayer, VectorLayer } from '../../layers';
6
- import { GeoJSONFeature } from '../../feature';
7
- import { TileOsm } from '..';
8
- import { VectorSource } from '../vector-source';
9
-
10
- export default {
11
- title: 'Map/Map Tiles/Geojson',
12
- component: VectorLayer,
13
- subcomponents: GeoJSONFeature,
14
- parameters: {
15
- layout: 'fullscreen',
16
- },
17
- };
18
-
19
- const geometries: Geometries[] = [
20
- {
21
- type: 'Polygon',
22
- coordinates: [
23
- [
24
- [3864197.52, 3750764.97],
25
- [3884682.65, 3750764.98],
26
- [3884682.65, 3766052.38],
27
- [3864197.53, 3766052.38],
28
- [3864197.52, 3750764.97],
29
- ],
30
- ],
31
- },
32
- {
33
- type: 'Polygon',
34
- coordinates: [
35
- [
36
- [3904403.4, 3765899.51],
37
- [3896912.58, 3758255.81],
38
- [3905779.27, 3743579.9],
39
- [3918162.07, 3755962.7],
40
- [3904403.4, 3765899.51],
41
- ],
42
- ],
43
- },
44
- {
45
- type: 'LineString',
46
- coordinates: [
47
- [3931767.86, 3763147.78],
48
- [3931003.49, 3724776.39],
49
- ],
50
- },
51
- {
52
- type: 'Point',
53
- coordinates: [3890186.12, 3734254.58],
54
- },
55
- ];
56
-
57
- const mapDivStyle = {
58
- height: '100%',
59
- width: '100%',
60
- position: 'absolute' as const,
61
- };
62
-
63
- export const Basic = (): JSX.Element => (
64
- <div style={mapDivStyle}>
65
- <Map projection={Proj.WEB_MERCATOR}>
66
- <TileLayer>
67
- <TileOsm />
68
- </TileLayer>
69
- <VectorLayer>
70
- <VectorSource>
71
- {geometries.map((geometry, index) => (
72
- <GeoJSONFeature key={index} geometry={geometry} />
73
- ))}
74
- </VectorSource>
75
- </VectorLayer>
76
- </Map>
77
- </div>
78
- );
1
+ import React from 'react';
2
+ import { Geometries } from '@turf/helpers';
3
+ import { Proj } from '../../../utils/projections';
4
+ import { Map } from '../../map';
5
+ import { TileLayer, VectorLayer } from '../../layers';
6
+ import { GeoJSONFeature } from '../../feature';
7
+ import { TileOsm } from '..';
8
+ import { VectorSource } from '../vector-source';
9
+
10
+ export default {
11
+ title: 'Map/Map Tiles/Geojson',
12
+ component: VectorLayer,
13
+ subcomponents: GeoJSONFeature,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ },
17
+ };
18
+
19
+ const geometries: Geometries[] = [
20
+ {
21
+ type: 'Polygon',
22
+ coordinates: [
23
+ [
24
+ [3864197.52, 3750764.97],
25
+ [3884682.65, 3750764.98],
26
+ [3884682.65, 3766052.38],
27
+ [3864197.53, 3766052.38],
28
+ [3864197.52, 3750764.97],
29
+ ],
30
+ ],
31
+ },
32
+ {
33
+ type: 'Polygon',
34
+ coordinates: [
35
+ [
36
+ [3904403.4, 3765899.51],
37
+ [3896912.58, 3758255.81],
38
+ [3905779.27, 3743579.9],
39
+ [3918162.07, 3755962.7],
40
+ [3904403.4, 3765899.51],
41
+ ],
42
+ ],
43
+ },
44
+ {
45
+ type: 'LineString',
46
+ coordinates: [
47
+ [3931767.86, 3763147.78],
48
+ [3931003.49, 3724776.39],
49
+ ],
50
+ },
51
+ {
52
+ type: 'Point',
53
+ coordinates: [3890186.12, 3734254.58],
54
+ },
55
+ ];
56
+
57
+ const mapDivStyle = {
58
+ height: '100%',
59
+ width: '100%',
60
+ position: 'absolute' as const,
61
+ };
62
+
63
+ export const Basic = (): JSX.Element => (
64
+ <div style={mapDivStyle}>
65
+ <Map projection={Proj.WEB_MERCATOR}>
66
+ <TileLayer>
67
+ <TileOsm />
68
+ </TileLayer>
69
+ <VectorLayer>
70
+ <VectorSource>
71
+ {geometries.map((geometry, index) => (
72
+ <GeoJSONFeature key={index} geometry={geometry} />
73
+ ))}
74
+ </VectorSource>
75
+ </VectorLayer>
76
+ </Map>
77
+ </div>
78
+ );
@@ -1,51 +1,51 @@
1
- import React from 'react';
2
- import { CSFStory } from '../../../utils/story';
3
- import { Map } from '../../map';
4
- import { TileLayer } from '../../layers/tile-layer';
5
- import { getWMSOptions, TileWMS } from '../wms';
6
-
7
- const wmsOptions = getWMSOptions({
8
- url: 'https://ahocevar.com/geoserver/wms',
9
- // eslint-disable-next-line @typescript-eslint/naming-convention
10
- params: { LAYERS: 'ne:NE1_HR_LC_SR_W_DR', TILED: true },
11
- serverType: 'geoserver',
12
- // Countries have transparency, so do not fade tiles:
13
- transition: 0.5,
14
- });
15
-
16
- const mapDivStyle = {
17
- height: '95%',
18
- width: '95%',
19
- position: 'absolute' as const,
20
- };
21
-
22
- export default {
23
- title: 'Map/Map Tiles/WMS',
24
- component: TileWMS,
25
- };
26
-
27
- export const Basic: CSFStory<JSX.Element> = () => (
28
- <div style={mapDivStyle}>
29
- <Map allowFullScreen={true} showMousePosition={true}>
30
- <TileLayer>
31
- <TileWMS options={wmsOptions} />
32
- </TileLayer>
33
- </Map>
34
- </div>
35
- );
36
-
37
- Basic.argTypes = {
38
- options: {
39
- description: `{ Options } from 'ol/source/TileWMS'`,
40
- table: {
41
- type: {
42
- summary: 'OpenLayers type',
43
- detail:
44
- 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_TileWMS-TileWMS.html"',
45
- },
46
- },
47
- control: {
48
- type: null,
49
- },
50
- },
51
- };
1
+ import React from 'react';
2
+ import { CSFStory } from '../../../utils/story';
3
+ import { Map } from '../../map';
4
+ import { TileLayer } from '../../layers/tile-layer';
5
+ import { getWMSOptions, TileWMS } from '../wms';
6
+
7
+ const wmsOptions = getWMSOptions({
8
+ url: 'https://ahocevar.com/geoserver/wms',
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
10
+ params: { LAYERS: 'ne:NE1_HR_LC_SR_W_DR', TILED: true },
11
+ serverType: 'geoserver',
12
+ // Countries have transparency, so do not fade tiles:
13
+ transition: 0.5,
14
+ });
15
+
16
+ const mapDivStyle = {
17
+ height: '95%',
18
+ width: '95%',
19
+ position: 'absolute' as const,
20
+ };
21
+
22
+ export default {
23
+ title: 'Map/Map Tiles/WMS',
24
+ component: TileWMS,
25
+ };
26
+
27
+ export const Basic: CSFStory<JSX.Element> = () => (
28
+ <div style={mapDivStyle}>
29
+ <Map allowFullScreen={true} showMousePosition={true}>
30
+ <TileLayer>
31
+ <TileWMS options={wmsOptions} />
32
+ </TileLayer>
33
+ </Map>
34
+ </div>
35
+ );
36
+
37
+ Basic.argTypes = {
38
+ options: {
39
+ description: `{ Options } from 'ol/source/TileWMS'`,
40
+ table: {
41
+ type: {
42
+ summary: 'OpenLayers type',
43
+ detail:
44
+ 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_TileWMS-TileWMS.html"',
45
+ },
46
+ },
47
+ control: {
48
+ type: null,
49
+ },
50
+ },
51
+ };
@@ -1,72 +1,72 @@
1
- import React from 'react';
2
- import { CSFStory } from '../../../utils/story';
3
- import { Map } from '../../map';
4
- import { TileLayer } from '../../layers/tile-layer';
5
- import { getWMTSOptions, TileWMTS } from '../wmts';
6
- import { TileOsm } from '../osm';
7
-
8
- const wmtsOptions = getWMTSOptions({
9
- attributions: 'Tiles © ArcGIS',
10
- url:
11
- 'https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/',
12
- layer: '0',
13
- projection: 'EPSG:3857',
14
- format: 'image/png',
15
- style: 'default',
16
- matrixSet: 'EPSG:3857',
17
- heightWidthRatio: 1,
18
- requestEncoding: 'KVP',
19
- });
20
-
21
- const wmtsOptions1 = getWMTSOptions({
22
- url:
23
- 'http://10.28.11.95:8080/wmts/{Layer}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png',
24
- layer: 'combined_layers',
25
- matrixSet: 'gridname',
26
- format: 'png',
27
- projection: 'EPSG:4326',
28
- style: 'default',
29
- });
30
-
31
- const mapDivStyle = {
32
- height: '95%',
33
- width: '95%',
34
- position: 'absolute' as const,
35
- };
36
-
37
- export default {
38
- title: 'Map/Map Tiles/WMTS',
39
- component: TileWMTS,
40
- };
41
-
42
- export const Basic: CSFStory<JSX.Element> = () => (
43
- <div style={mapDivStyle}>
44
- <Map allowFullScreen={true} showMousePosition={true}>
45
- <TileLayer>
46
- <TileOsm />
47
- </TileLayer>
48
- <TileLayer>
49
- <TileWMTS options={wmtsOptions} />
50
- </TileLayer>
51
- <TileLayer options={{ opacity: 0.4 }}>
52
- <TileWMTS options={wmtsOptions1} />
53
- </TileLayer>
54
- </Map>
55
- </div>
56
- );
57
-
58
- Basic.argTypes = {
59
- options: {
60
- description: `{ Options } from 'ol/source/WMTS'`,
61
- table: {
62
- type: {
63
- summary: 'OpenLayers type',
64
- detail:
65
- 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_WMTS-WMTS.html"',
66
- },
67
- },
68
- control: {
69
- type: null,
70
- },
71
- },
72
- };
1
+ import React from 'react';
2
+ import { CSFStory } from '../../../utils/story';
3
+ import { Map } from '../../map';
4
+ import { TileLayer } from '../../layers/tile-layer';
5
+ import { getWMTSOptions, TileWMTS } from '../wmts';
6
+ import { TileOsm } from '../osm';
7
+
8
+ const wmtsOptions = getWMTSOptions({
9
+ attributions: 'Tiles © ArcGIS',
10
+ url:
11
+ 'https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_Population_Density/MapServer/WMTS/',
12
+ layer: '0',
13
+ projection: 'EPSG:3857',
14
+ format: 'image/png',
15
+ style: 'default',
16
+ matrixSet: 'EPSG:3857',
17
+ heightWidthRatio: 1,
18
+ requestEncoding: 'KVP',
19
+ });
20
+
21
+ const wmtsOptions1 = getWMTSOptions({
22
+ url:
23
+ 'http://10.28.11.95:8080/wmts/{Layer}/{TileMatrixSet}/{TileMatrix}/{TileCol}/{TileRow}.png',
24
+ layer: 'combined_layers',
25
+ matrixSet: 'gridname',
26
+ format: 'png',
27
+ projection: 'EPSG:4326',
28
+ style: 'default',
29
+ });
30
+
31
+ const mapDivStyle = {
32
+ height: '95%',
33
+ width: '95%',
34
+ position: 'absolute' as const,
35
+ };
36
+
37
+ export default {
38
+ title: 'Map/Map Tiles/WMTS',
39
+ component: TileWMTS,
40
+ };
41
+
42
+ export const Basic: CSFStory<JSX.Element> = () => (
43
+ <div style={mapDivStyle}>
44
+ <Map allowFullScreen={true} showMousePosition={true}>
45
+ <TileLayer>
46
+ <TileOsm />
47
+ </TileLayer>
48
+ <TileLayer>
49
+ <TileWMTS options={wmtsOptions} />
50
+ </TileLayer>
51
+ <TileLayer options={{ opacity: 0.4 }}>
52
+ <TileWMTS options={wmtsOptions1} />
53
+ </TileLayer>
54
+ </Map>
55
+ </div>
56
+ );
57
+
58
+ Basic.argTypes = {
59
+ options: {
60
+ description: `{ Options } from 'ol/source/WMTS'`,
61
+ table: {
62
+ type: {
63
+ summary: 'OpenLayers type',
64
+ detail:
65
+ 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_WMTS-WMTS.html"',
66
+ },
67
+ },
68
+ control: {
69
+ type: null,
70
+ },
71
+ },
72
+ };
@@ -1,53 +1,53 @@
1
- import React from 'react';
2
- import { Proj } from '../../../utils/projections';
3
- import { CSFStory } from '../../../utils/story';
4
- import { Map } from '../../map';
5
- import { TileLayer } from '../../layers/tile-layer';
6
- import { getXYZOptions, TileXYZ } from '../xyz';
7
-
8
- const xyzOptions = getXYZOptions({
9
- url:
10
- 'https://{a-c}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png' +
11
- '?apikey=0e6fc415256d4fbb9b5166a718591d71',
12
- });
13
-
14
- const mapDivStyle = {
15
- height: '95%',
16
- width: '95%',
17
- position: 'absolute' as const,
18
- };
19
-
20
- export default {
21
- title: 'Map/Map Tiles/XYZ',
22
- component: TileXYZ,
23
- };
24
-
25
- export const Basic: CSFStory<JSX.Element> = () => (
26
- <div style={mapDivStyle}>
27
- <Map
28
- allowFullScreen={true}
29
- showMousePosition={true}
30
- projection={Proj.WEB_MERCATOR}
31
- >
32
- <TileLayer>
33
- <TileXYZ options={xyzOptions} />
34
- </TileLayer>
35
- </Map>
36
- </div>
37
- );
38
-
39
- Basic.argTypes = {
40
- options: {
41
- description: `{ Options } from 'ol/source/XYZ'`,
42
- table: {
43
- type: {
44
- summary: 'OpenLayers type',
45
- detail:
46
- 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_XYZ-XYZ.html"',
47
- },
48
- },
49
- control: {
50
- type: null,
51
- },
52
- },
53
- };
1
+ import React from 'react';
2
+ import { Proj } from '../../../utils/projections';
3
+ import { CSFStory } from '../../../utils/story';
4
+ import { Map } from '../../map';
5
+ import { TileLayer } from '../../layers/tile-layer';
6
+ import { getXYZOptions, TileXYZ } from '../xyz';
7
+
8
+ const xyzOptions = getXYZOptions({
9
+ url:
10
+ 'https://{a-c}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png' +
11
+ '?apikey=0e6fc415256d4fbb9b5166a718591d71',
12
+ });
13
+
14
+ const mapDivStyle = {
15
+ height: '95%',
16
+ width: '95%',
17
+ position: 'absolute' as const,
18
+ };
19
+
20
+ export default {
21
+ title: 'Map/Map Tiles/XYZ',
22
+ component: TileXYZ,
23
+ };
24
+
25
+ export const Basic: CSFStory<JSX.Element> = () => (
26
+ <div style={mapDivStyle}>
27
+ <Map
28
+ allowFullScreen={true}
29
+ showMousePosition={true}
30
+ projection={Proj.WEB_MERCATOR}
31
+ >
32
+ <TileLayer>
33
+ <TileXYZ options={xyzOptions} />
34
+ </TileLayer>
35
+ </Map>
36
+ </div>
37
+ );
38
+
39
+ Basic.argTypes = {
40
+ options: {
41
+ description: `{ Options } from 'ol/source/XYZ'`,
42
+ table: {
43
+ type: {
44
+ summary: 'OpenLayers type',
45
+ detail:
46
+ 'Go to "https://openlayers.org/en/latest/apidoc/module-ol_source_XYZ-XYZ.html"',
47
+ },
48
+ },
49
+ control: {
50
+ type: null,
51
+ },
52
+ },
53
+ };
@@ -1,30 +1,30 @@
1
- import React, { useEffect, useState, createContext, useContext } from 'react';
2
-
3
- import { Vector } from 'ol/source';
4
- import { useVectorLayer } from '../layers/vector-layer';
5
-
6
- const vectorSourceContext = createContext<Vector | null>(null);
7
- const VectorSourceProvider = vectorSourceContext.Provider;
8
-
9
- export const useVectorSource = (): Vector => {
10
- const source = useContext(vectorSourceContext);
11
-
12
- if (source === null) {
13
- throw new Error('vector source context is null, please check the provider');
14
- }
15
-
16
- return source;
17
- };
18
-
19
- export const VectorSource: React.FC = ({ children }) => {
20
- const vectorLayer = useVectorLayer();
21
- const [vectorSource] = useState(new Vector());
22
-
23
- useEffect((): void => {
24
- vectorLayer.setSource(vectorSource);
25
- }, [vectorSource, vectorLayer]);
26
-
27
- return (
28
- <VectorSourceProvider value={vectorSource}>{children}</VectorSourceProvider>
29
- );
30
- };
1
+ import React, { useEffect, useState, createContext, useContext } from 'react';
2
+
3
+ import { Vector } from 'ol/source';
4
+ import { useVectorLayer } from '../layers/vector-layer';
5
+
6
+ const vectorSourceContext = createContext<Vector | null>(null);
7
+ const VectorSourceProvider = vectorSourceContext.Provider;
8
+
9
+ export const useVectorSource = (): Vector => {
10
+ const source = useContext(vectorSourceContext);
11
+
12
+ if (source === null) {
13
+ throw new Error('vector source context is null, please check the provider');
14
+ }
15
+
16
+ return source;
17
+ };
18
+
19
+ export const VectorSource: React.FC = ({ children }) => {
20
+ const vectorLayer = useVectorLayer();
21
+ const [vectorSource] = useState(new Vector());
22
+
23
+ useEffect((): void => {
24
+ vectorLayer.setSource(vectorSource);
25
+ }, [vectorSource, vectorLayer]);
26
+
27
+ return (
28
+ <VectorSourceProvider value={vectorSource}>{children}</VectorSourceProvider>
29
+ );
30
+ };
@@ -1,40 +1,40 @@
1
- import React, { useEffect } from 'react';
2
- import OlTileWMS, { Options } from 'ol/source/TileWMS';
3
- import { useTileLayer } from '../layers/tile-layer';
4
-
5
- interface TileWMSProps {
6
- options: Options;
7
- }
8
-
9
- export interface WMSOptionParams {
10
- attributions?: string;
11
- url: string;
12
- /* eslint-disable @typescript-eslint/no-explicit-any */
13
- params: { [key: string]: any };
14
- serverType: 'carmentaserver' | 'geoserver' | 'mapserver' | 'qgis';
15
- transition: number;
16
- }
17
-
18
- export const getWMSOptions = (optionParams: WMSOptionParams): Options => {
19
- const { attributions, url, params, serverType, transition } = optionParams;
20
-
21
- const wmsOptions: Options = {
22
- attributions,
23
- url,
24
- params,
25
- serverType,
26
- transition,
27
- };
28
-
29
- return wmsOptions;
30
- };
31
- export const TileWMS: React.FC<TileWMSProps> = (props) => {
32
- const tileLayer = useTileLayer();
33
- const { options } = props;
34
-
35
- useEffect(() => {
36
- tileLayer.setSource(new OlTileWMS(options));
37
- }, [tileLayer, options]);
38
-
39
- return null;
40
- };
1
+ import React, { useEffect } from 'react';
2
+ import OlTileWMS, { Options } from 'ol/source/TileWMS';
3
+ import { useTileLayer } from '../layers/tile-layer';
4
+
5
+ interface TileWMSProps {
6
+ options: Options;
7
+ }
8
+
9
+ export interface WMSOptionParams {
10
+ attributions?: string;
11
+ url: string;
12
+ /* eslint-disable @typescript-eslint/no-explicit-any */
13
+ params: { [key: string]: any };
14
+ serverType: 'carmentaserver' | 'geoserver' | 'mapserver' | 'qgis';
15
+ transition: number;
16
+ }
17
+
18
+ export const getWMSOptions = (optionParams: WMSOptionParams): Options => {
19
+ const { attributions, url, params, serverType, transition } = optionParams;
20
+
21
+ const wmsOptions: Options = {
22
+ attributions,
23
+ url,
24
+ params,
25
+ serverType,
26
+ transition,
27
+ };
28
+
29
+ return wmsOptions;
30
+ };
31
+ export const TileWMS: React.FC<TileWMSProps> = (props) => {
32
+ const tileLayer = useTileLayer();
33
+ const { options } = props;
34
+
35
+ useEffect(() => {
36
+ tileLayer.setSource(new OlTileWMS(options));
37
+ }, [tileLayer, options]);
38
+
39
+ return null;
40
+ };