@map-colonies/react-components 3.8.1 → 3.10.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 (231) hide show
  1. package/.env +1 -0
  2. package/.storybook/main.js +2 -5
  3. package/CHANGELOG.md +54 -0
  4. package/dist/assets/img/dragIcon.png +0 -0
  5. package/dist/assets/img/dragIconLight.png +0 -0
  6. package/dist/assets/img/glyphicons_067_cleaning.png +0 -0
  7. package/dist/assets/img/glyphicons_094_vector_path_square.png +0 -0
  8. package/dist/assets/img/glyphicons_095_vector_path_circle.png +0 -0
  9. package/dist/assets/img/glyphicons_096_vector_path_polygon.png +0 -0
  10. package/dist/assets/img/glyphicons_097_vector_path_line.png +0 -0
  11. package/dist/assets/img/glyphicons_242_google_maps.png +0 -0
  12. package/dist/assets/img/map-marker.gif +0 -0
  13. package/dist/autocomplete/autocomplete.css +25 -0
  14. package/dist/autocomplete/autocomplete.d.ts +33 -0
  15. package/dist/autocomplete/autocomplete.js +480 -0
  16. package/dist/autocomplete/index.d.ts +1 -0
  17. package/dist/autocomplete/index.js +5 -0
  18. package/dist/box/box.d.ts +3 -0
  19. package/dist/box/box.js +35 -0
  20. package/dist/box/index.d.ts +1 -0
  21. package/dist/box/index.js +5 -0
  22. package/dist/cesium-map/data-sources/custom.data-source.d.ts +5 -0
  23. package/dist/cesium-map/data-sources/custom.data-source.js +23 -0
  24. package/dist/cesium-map/data-sources/drawings.data-source.d.ts +34 -0
  25. package/dist/cesium-map/data-sources/drawings.data-source.js +187 -0
  26. package/dist/cesium-map/data-sources/index.d.ts +2 -0
  27. package/dist/cesium-map/data-sources/index.js +14 -0
  28. package/dist/cesium-map/entities/entity.d.ts +5 -0
  29. package/dist/cesium-map/entities/entity.description.d.ts +6 -0
  30. package/dist/cesium-map/entities/entity.description.js +27 -0
  31. package/dist/cesium-map/entities/entity.js +23 -0
  32. package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +5 -0
  33. package/dist/cesium-map/entities/graphics/polygon.graphics.js +23 -0
  34. package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +5 -0
  35. package/dist/cesium-map/entities/graphics/polyline.graphics.js +23 -0
  36. package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +5 -0
  37. package/dist/cesium-map/entities/graphics/rectangle.graphics.js +23 -0
  38. package/dist/cesium-map/entities/index.d.ts +4 -0
  39. package/dist/cesium-map/entities/index.js +16 -0
  40. package/dist/cesium-map/index.d.ts +7 -0
  41. package/dist/cesium-map/index.js +19 -0
  42. package/dist/cesium-map/layers/3d.tileset.d.ts +7 -0
  43. package/dist/cesium-map/layers/3d.tileset.js +39 -0
  44. package/dist/cesium-map/layers/3d.tileset.update.d.ts +1 -0
  45. package/dist/cesium-map/layers/3d.tileset.update.js +5 -0
  46. package/dist/cesium-map/layers/geojson.layer.d.ts +5 -0
  47. package/dist/cesium-map/layers/geojson.layer.js +23 -0
  48. package/dist/cesium-map/layers/imagery.layer.d.ts +6 -0
  49. package/dist/cesium-map/layers/imagery.layer.js +64 -0
  50. package/dist/cesium-map/layers/index.d.ts +7 -0
  51. package/dist/cesium-map/layers/index.js +19 -0
  52. package/dist/cesium-map/layers/osm.layer.d.ts +9 -0
  53. package/dist/cesium-map/layers/osm.layer.js +36 -0
  54. package/dist/cesium-map/layers/wms.layer.d.ts +9 -0
  55. package/dist/cesium-map/layers/wms.layer.js +36 -0
  56. package/dist/cesium-map/layers/wmts.layer.d.ts +9 -0
  57. package/dist/cesium-map/layers/wmts.layer.js +36 -0
  58. package/dist/cesium-map/layers/xyz.layer.d.ts +9 -0
  59. package/dist/cesium-map/layers/xyz.layer.js +36 -0
  60. package/dist/cesium-map/layers-manager.d.ts +47 -0
  61. package/dist/cesium-map/layers-manager.js +228 -0
  62. package/dist/cesium-map/map.css +54 -0
  63. package/dist/cesium-map/map.d.ts +46 -0
  64. package/dist/cesium-map/map.js +273 -0
  65. package/dist/cesium-map/map.types.d.ts +8 -0
  66. package/dist/cesium-map/map.types.js +12 -0
  67. package/dist/cesium-map/proxied.types.d.ts +19 -0
  68. package/dist/cesium-map/proxied.types.js +89 -0
  69. package/dist/cesium-map/settings/base-maps.css +37 -0
  70. package/dist/cesium-map/settings/base-maps.d.ts +7 -0
  71. package/dist/cesium-map/settings/base-maps.js +78 -0
  72. package/dist/cesium-map/settings/scene-modes.css +19 -0
  73. package/dist/cesium-map/settings/scene-modes.d.ts +7 -0
  74. package/dist/cesium-map/settings/scene-modes.js +65 -0
  75. package/dist/cesium-map/settings/settings.css +49 -0
  76. package/dist/cesium-map/settings/settings.d.ts +23 -0
  77. package/dist/cesium-map/settings/settings.js +79 -0
  78. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +3 -0
  79. package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -0
  80. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +9 -0
  81. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +202 -0
  82. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +50 -0
  83. package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +136 -0
  84. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +2 -0
  85. package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +38 -0
  86. package/dist/cesium-map/tools/coordinates-tracker.tool.css +11 -0
  87. package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +7 -0
  88. package/dist/cesium-map/tools/coordinates-tracker.tool.js +78 -0
  89. package/dist/cesium-map/tools/draw/drawHelper.css +101 -0
  90. package/dist/cesium-map/tools/draw/drawHelper.d.ts +28 -0
  91. package/dist/cesium-map/tools/draw/drawHelper.js +1694 -0
  92. package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +4 -0
  93. package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +41 -0
  94. package/dist/cesium-map/tools/geojson/index.d.ts +2 -0
  95. package/dist/cesium-map/tools/geojson/index.js +14 -0
  96. package/dist/cesium-map/tools/geojson/point.geojson.d.ts +3 -0
  97. package/dist/cesium-map/tools/geojson/point.geojson.js +21 -0
  98. package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +3 -0
  99. package/dist/cesium-map/tools/geojson/polygon.geojson.js +24 -0
  100. package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +3 -0
  101. package/dist/cesium-map/tools/geojson/rectangle.geojson.js +44 -0
  102. package/dist/cesium-map/tools/inspector.tool.d.ts +4 -0
  103. package/dist/cesium-map/tools/inspector.tool.js +33 -0
  104. package/dist/cesium-map/tools/scale-tracker.tool.css +16 -0
  105. package/dist/cesium-map/tools/scale-tracker.tool.d.ts +8 -0
  106. package/dist/cesium-map/tools/scale-tracker.tool.js +158 -0
  107. package/dist/cesium-map/tools/terranian-height.tool.d.ts +4 -0
  108. package/dist/cesium-map/tools/terranian-height.tool.js +113 -0
  109. package/dist/cssbaseline/cssbaseline.d.ts +5 -0
  110. package/dist/cssbaseline/cssbaseline.js +41 -0
  111. package/dist/cssbaseline/index.d.ts +1 -0
  112. package/dist/cssbaseline/index.js +6 -0
  113. package/dist/date-picker/date-picker.css +9 -0
  114. package/dist/date-picker/date-picker.d.ts +14 -0
  115. package/dist/date-picker/date-picker.js +78 -0
  116. package/dist/date-picker/index.d.ts +1 -0
  117. package/dist/date-picker/index.js +13 -0
  118. package/dist/date-range-picker/date-range-picker.css +9 -0
  119. package/dist/date-range-picker/date-range-picker.d.ts +26 -0
  120. package/dist/date-range-picker/date-range-picker.form-control.css +3 -0
  121. package/dist/date-range-picker/date-range-picker.form-control.d.ts +28 -0
  122. package/dist/date-range-picker/date-range-picker.form-control.js +95 -0
  123. package/dist/date-range-picker/date-range-picker.js +104 -0
  124. package/dist/date-range-picker/index.d.ts +2 -0
  125. package/dist/date-range-picker/index.js +14 -0
  126. package/dist/file-picker/file-picker.css +62 -0
  127. package/dist/file-picker/file-picker.d.ts +276 -0
  128. package/dist/file-picker/file-picker.js +151 -0
  129. package/dist/file-picker/fs-map.json +1557 -0
  130. package/dist/file-picker/index.d.ts +2 -0
  131. package/dist/file-picker/index.js +14 -0
  132. package/dist/file-picker/localization.d.ts +11 -0
  133. package/dist/file-picker/localization.js +124 -0
  134. package/dist/index.d.ts +13 -0
  135. package/dist/index.js +23 -16
  136. package/dist/map-filter-container/container-map.css +5 -0
  137. package/dist/map-filter-container/container-map.d.ts +11 -0
  138. package/dist/map-filter-container/container-map.js +31 -0
  139. package/dist/map-filter-container/index.d.ts +1 -0
  140. package/dist/map-filter-container/index.js +13 -0
  141. package/dist/map-filter-container/map-filter-container.d.ts +9 -0
  142. package/dist/map-filter-container/map-filter-container.js +78 -0
  143. package/dist/map-filter-container/polygon-selection-ui.d.ts +12 -0
  144. package/dist/map-filter-container/polygon-selection-ui.js +62 -0
  145. package/dist/models/defaults.d.ts +28 -0
  146. package/dist/models/defaults.js +32 -0
  147. package/dist/models/enums.d.ts +14 -0
  148. package/dist/models/enums.js +20 -0
  149. package/dist/models/index.d.ts +1 -0
  150. package/dist/models/index.js +13 -0
  151. package/dist/ol-map/feature.d.ts +6 -0
  152. package/dist/ol-map/feature.js +20 -0
  153. package/dist/ol-map/index.d.ts +6 -0
  154. package/dist/ol-map/index.js +18 -0
  155. package/dist/ol-map/interactions/draw.d.ts +8 -0
  156. package/dist/ol-map/interactions/draw.js +44 -0
  157. package/dist/ol-map/interactions/index.d.ts +1 -0
  158. package/dist/ol-map/interactions/index.js +13 -0
  159. package/dist/ol-map/layers/index.d.ts +3 -0
  160. package/dist/ol-map/layers/index.js +15 -0
  161. package/dist/ol-map/layers/tile-layer.d.ts +9 -0
  162. package/dist/ol-map/layers/tile-layer.js +48 -0
  163. package/dist/ol-map/layers/vector-layer.d.ts +4 -0
  164. package/dist/ol-map/layers/vector-layer.js +48 -0
  165. package/dist/ol-map/layers/vector-tile-layer.d.ts +10 -0
  166. package/dist/ol-map/layers/vector-tile-layer.js +66 -0
  167. package/dist/ol-map/map.css +17 -0
  168. package/dist/ol-map/map.d.ts +14 -0
  169. package/dist/ol-map/map.js +117 -0
  170. package/dist/ol-map/source/index.d.ts +6 -0
  171. package/dist/ol-map/source/index.js +18 -0
  172. package/dist/ol-map/source/mvt.d.ts +11 -0
  173. package/dist/ol-map/source/mvt.js +37 -0
  174. package/dist/ol-map/source/osm.d.ts +2 -0
  175. package/dist/ol-map/source/osm.js +14 -0
  176. package/dist/ol-map/source/vector-source.d.ts +4 -0
  177. package/dist/ol-map/source/vector-source.js +45 -0
  178. package/dist/ol-map/source/wms.d.ts +17 -0
  179. package/dist/ol-map/source/wms.js +30 -0
  180. package/dist/ol-map/source/wmts.d.ts +21 -0
  181. package/dist/ol-map/source/wmts.js +59 -0
  182. package/dist/ol-map/source/xyz.d.ts +12 -0
  183. package/dist/ol-map/source/xyz.js +27 -0
  184. package/dist/ol-map/style.d.ts +4 -0
  185. package/dist/ol-map/style.js +22 -0
  186. package/dist/popover/index.d.ts +1 -0
  187. package/dist/popover/index.js +5 -0
  188. package/dist/popover/popover.d.ts +3 -0
  189. package/dist/popover/popover.js +35 -0
  190. package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +7 -0
  191. package/dist/smart-table/__mock-data__/smartTableMocks.js +17 -0
  192. package/dist/smart-table/index.d.ts +2 -0
  193. package/dist/smart-table/index.js +14 -0
  194. package/dist/smart-table/smart-table-head.d.ts +11 -0
  195. package/dist/smart-table/smart-table-head.js +22 -0
  196. package/dist/smart-table/smart-table-row.d.ts +12 -0
  197. package/dist/smart-table/smart-table-row.js +46 -0
  198. package/dist/smart-table/smart-table-types.d.ts +9 -0
  199. package/dist/smart-table/smart-table-types.js +2 -0
  200. package/dist/smart-table/smart-table.d.ts +17 -0
  201. package/dist/smart-table/smart-table.js +51 -0
  202. package/dist/theme/index.d.ts +1 -0
  203. package/dist/theme/index.js +13 -0
  204. package/dist/theme/theme.d.ts +8 -0
  205. package/dist/theme/theme.js +124 -0
  206. package/dist/utils/map.d.ts +3 -0
  207. package/dist/utils/map.js +21 -0
  208. package/dist/utils/projections.d.ts +6 -0
  209. package/dist/utils/projections.js +10 -0
  210. package/dist/utils/story.d.ts +12 -0
  211. package/dist/utils/story.js +2 -0
  212. package/package.json +103 -100
  213. package/public/assets/img/map-marker.gif +0 -0
  214. package/src/lib/cesium-map/map.tsx +22 -12
  215. package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +155 -0
  216. package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +5 -3
  217. package/src/lib/cesium-map/tools/coordinates-tracker.tool.tsx +1 -1
  218. package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -0
  219. package/src/lib/cesium-map/tools/terranian-height.tool.tsx +167 -0
  220. package/src/lib/date-range-picker/{stories/DateRangePicker.stories.tsx → date-range-picker.stories.tsx} +5 -5
  221. package/src/lib/file-picker/file-picker.css +62 -0
  222. package/src/lib/file-picker/file-picker.stories.tsx +447 -0
  223. package/src/lib/file-picker/file-picker.tsx +180 -0
  224. package/src/lib/file-picker/fs-map.json +1557 -0
  225. package/src/lib/file-picker/index.ts +2 -0
  226. package/src/lib/file-picker/localization.ts +164 -0
  227. package/src/lib/index.ts +1 -0
  228. package/src/lib/models/enums.ts +1 -0
  229. package/src/lib/smart-table/smart-table-row.spec.tsx +1 -1
  230. package/tsbuildconfig.json +2 -2
  231. package/tsconfig.json +2 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.CesiumImageryLayer = void 0;
45
+ var react_1 = __importStar(require("react"));
46
+ var resium_1 = require("resium");
47
+ var map_1 = require("../map");
48
+ var CesiumImageryLayer = function (props) {
49
+ // eslint-disable-next-line
50
+ var meta = props.meta, restProps = __rest(props, ["meta"]);
51
+ var mapViewer = map_1.useCesiumMap();
52
+ react_1.useLayoutEffect(function () {
53
+ var _a;
54
+ (_a = mapViewer.layersManager) === null || _a === void 0 ? void 0 : _a.addMetaToLayer(meta, function (layer, idx) {
55
+ if (meta !== undefined) {
56
+ // eslint-disable-next-line
57
+ return layer._imageryProvider._resource._url === meta.url;
58
+ }
59
+ return false;
60
+ });
61
+ }, [meta, mapViewer]);
62
+ return react_1.default.createElement(resium_1.ImageryLayer, __assign({}, restProps));
63
+ };
64
+ exports.CesiumImageryLayer = CesiumImageryLayer;
@@ -0,0 +1,7 @@
1
+ export * from './3d.tileset';
2
+ export * from './geojson.layer';
3
+ export * from './imagery.layer';
4
+ export * from './wms.layer';
5
+ export * from './wmts.layer';
6
+ export * from './xyz.layer';
7
+ export * from './osm.layer';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./3d.tileset"), exports);
14
+ __exportStar(require("./geojson.layer"), exports);
15
+ __exportStar(require("./imagery.layer"), exports);
16
+ __exportStar(require("./wms.layer"), exports);
17
+ __exportStar(require("./wmts.layer"), exports);
18
+ __exportStar(require("./xyz.layer"), exports);
19
+ __exportStar(require("./osm.layer"), exports);
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { OpenStreetMapImageryProvider } from 'cesium';
3
+ import { RCesiumImageryLayerProps } from './imagery.layer';
4
+ export interface RCesiumOSMLayerOptions extends OpenStreetMapImageryProvider.ConstructorOptions {
5
+ }
6
+ export interface RCesiumOSMLayerProps extends Partial<RCesiumImageryLayerProps> {
7
+ options: RCesiumOSMLayerOptions;
8
+ }
9
+ export declare const CesiumOSMLayer: React.FC<RCesiumOSMLayerProps>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.CesiumOSMLayer = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var cesium_1 = require("cesium");
31
+ var imagery_layer_1 = require("./imagery.layer");
32
+ var CesiumOSMLayer = function (props) {
33
+ var options = props.options, restProps = __rest(props, ["options"]);
34
+ return (react_1.default.createElement(imagery_layer_1.CesiumImageryLayer, __assign({}, restProps, { imageryProvider: new cesium_1.OpenStreetMapImageryProvider(options) })));
35
+ };
36
+ exports.CesiumOSMLayer = CesiumOSMLayer;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { WebMapServiceImageryProvider } from 'cesium';
3
+ import { RCesiumImageryLayerProps } from './imagery.layer';
4
+ export interface RCesiumWMSLayerOptions extends WebMapServiceImageryProvider.ConstructorOptions {
5
+ }
6
+ export interface RCesiumWMSLayerProps extends Partial<RCesiumImageryLayerProps> {
7
+ options: RCesiumWMSLayerOptions;
8
+ }
9
+ export declare const CesiumWMSLayer: React.FC<RCesiumWMSLayerProps>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.CesiumWMSLayer = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var cesium_1 = require("cesium");
31
+ var imagery_layer_1 = require("./imagery.layer");
32
+ var CesiumWMSLayer = function (props) {
33
+ var options = props.options, restProps = __rest(props, ["options"]);
34
+ return (react_1.default.createElement(imagery_layer_1.CesiumImageryLayer, __assign({}, restProps, { imageryProvider: new cesium_1.WebMapServiceImageryProvider(options) })));
35
+ };
36
+ exports.CesiumWMSLayer = CesiumWMSLayer;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { WebMapTileServiceImageryProvider } from 'cesium';
3
+ import { RCesiumImageryLayerProps } from './imagery.layer';
4
+ export interface RCesiumWMTSLayerOptions extends WebMapTileServiceImageryProvider.ConstructorOptions {
5
+ }
6
+ export interface RCesiumWMTSLayerProps extends Partial<RCesiumImageryLayerProps> {
7
+ options: RCesiumWMTSLayerOptions;
8
+ }
9
+ export declare const CesiumWMTSLayer: React.FC<RCesiumWMTSLayerProps>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.CesiumWMTSLayer = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var cesium_1 = require("cesium");
31
+ var imagery_layer_1 = require("./imagery.layer");
32
+ var CesiumWMTSLayer = function (props) {
33
+ var options = props.options, restProps = __rest(props, ["options"]);
34
+ return (react_1.default.createElement(imagery_layer_1.CesiumImageryLayer, __assign({}, restProps, { imageryProvider: new cesium_1.WebMapTileServiceImageryProvider(options) })));
35
+ };
36
+ exports.CesiumWMTSLayer = CesiumWMTSLayer;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { UrlTemplateImageryProvider } from 'cesium';
3
+ import { RCesiumImageryLayerProps } from './imagery.layer';
4
+ export interface RCesiumXYZLayerOptions extends UrlTemplateImageryProvider.ConstructorOptions {
5
+ }
6
+ export interface RCesiumXYZLayerProps extends Partial<RCesiumImageryLayerProps> {
7
+ options: UrlTemplateImageryProvider.ConstructorOptions;
8
+ }
9
+ export declare const CesiumXYZLayer: React.FC<RCesiumXYZLayerProps>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.CesiumXYZLayer = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var cesium_1 = require("cesium");
31
+ var imagery_layer_1 = require("./imagery.layer");
32
+ var CesiumXYZLayer = function (props) {
33
+ var options = props.options, restProps = __rest(props, ["options"]);
34
+ return (react_1.default.createElement(imagery_layer_1.CesiumImageryLayer, __assign({}, restProps, { imageryProvider: new cesium_1.UrlTemplateImageryProvider(options) })));
35
+ };
36
+ exports.CesiumXYZLayer = CesiumXYZLayer;
@@ -0,0 +1,47 @@
1
+ import { ImageryLayer } from 'cesium';
2
+ import { RCesiumOSMLayerOptions, RCesiumWMSLayerOptions, RCesiumWMTSLayerOptions, RCesiumXYZLayerOptions } from './layers';
3
+ import { CesiumViewer } from './map';
4
+ import { IBaseMap } from './settings/settings';
5
+ export interface ICesiumImageryLayer extends InstanceType<typeof ImageryLayer> {
6
+ meta?: Record<string, unknown>;
7
+ }
8
+ export declare type LayerType = 'OSM_LAYER' | 'WMTS_LAYER' | 'WMS_LAYER' | 'XYZ_LAYER';
9
+ export interface IRasterLayer {
10
+ id: string;
11
+ type: LayerType;
12
+ opacity: number;
13
+ zIndex: number;
14
+ show?: boolean;
15
+ options: RCesiumOSMLayerOptions | RCesiumWMSLayerOptions | RCesiumWMTSLayerOptions | RCesiumXYZLayerOptions;
16
+ details?: Record<string, unknown>;
17
+ }
18
+ export interface IVectorLayer {
19
+ id: string;
20
+ opacity: number;
21
+ zIndex: number;
22
+ url: string;
23
+ }
24
+ declare class LayerManager {
25
+ mapViewer: CesiumViewer;
26
+ private readonly layers;
27
+ constructor(mapViewer: CesiumViewer);
28
+ addMetaToLayer(meta: any, layerPredicate: (layer: ImageryLayer, idx: number) => boolean): void;
29
+ setBaseMapLayers(baseMap: IBaseMap): void;
30
+ addRasterLayer(layer: IRasterLayer, index: number, parentId: string): void;
31
+ removeLayer(layerId: string): void;
32
+ removeBaseMapLayers(): void;
33
+ removeNotBaseMapLayers(): void;
34
+ raise(layerId: string, positions?: number): void;
35
+ lower(layerId: string, positions?: number): void;
36
+ raiseToTop(layerId: string): void;
37
+ lowerToBottom(layerId: string): void;
38
+ length(): number;
39
+ show(layerId: string, isShow: boolean): void;
40
+ showAllNotBase(isShow: boolean): void;
41
+ get(layerId: string): ICesiumImageryLayer | undefined;
42
+ findLayerByPOI(x: number, y: number): ICesiumImageryLayer[] | undefined;
43
+ private getBaseLayersCount;
44
+ private findLayerById;
45
+ private updateLayersOrder;
46
+ }
47
+ export default LayerManager;
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
18
+ var cesium_1 = require("cesium");
19
+ var lodash_1 = require("lodash");
20
+ var boolean_point_in_polygon_1 = __importDefault(require("@turf/boolean-point-in-polygon"));
21
+ var point_geojson_1 = require("./tools/geojson/point.geojson");
22
+ var INC = 1;
23
+ var DEC = -1;
24
+ var LayerManager = /** @class */ (function () {
25
+ function LayerManager(mapViewer) {
26
+ this.mapViewer = mapViewer;
27
+ // eslint-disable-next-line
28
+ this.layers = this.mapViewer.imageryLayers._layers;
29
+ }
30
+ /* eslint-disable */
31
+ LayerManager.prototype.addMetaToLayer = function (meta, layerPredicate) {
32
+ var layer = this.layers.find(layerPredicate);
33
+ if (layer) {
34
+ layer.meta = meta;
35
+ }
36
+ };
37
+ /* eslint-enable */
38
+ LayerManager.prototype.setBaseMapLayers = function (baseMap) {
39
+ var _this = this;
40
+ var sortedBaseMapLayers = baseMap.baseRasteLayers.sort(function (layer1, layer2) { return layer1.zIndex - layer2.zIndex; });
41
+ sortedBaseMapLayers.forEach(function (layer, idx) {
42
+ _this.addRasterLayer(layer, idx, baseMap.id);
43
+ });
44
+ };
45
+ LayerManager.prototype.addRasterLayer = function (layer, index, parentId) {
46
+ var cesiumLayer;
47
+ switch (layer.type) {
48
+ case 'XYZ_LAYER':
49
+ cesiumLayer = this.mapViewer.imageryLayers.addImageryProvider(new cesium_1.UrlTemplateImageryProvider(layer.options), index);
50
+ break;
51
+ case 'WMS_LAYER':
52
+ cesiumLayer = this.mapViewer.imageryLayers.addImageryProvider(new cesium_1.WebMapServiceImageryProvider(layer.options), index);
53
+ break;
54
+ case 'WMTS_LAYER':
55
+ cesiumLayer = this.mapViewer.imageryLayers.addImageryProvider(new cesium_1.WebMapTileServiceImageryProvider(layer.options), index);
56
+ break;
57
+ case 'OSM_LAYER':
58
+ break;
59
+ }
60
+ if (cesiumLayer) {
61
+ cesiumLayer.alpha = layer.opacity;
62
+ cesiumLayer.meta = __assign({ parentBasetMapId: parentId }, layer);
63
+ if (layer.show !== undefined) {
64
+ cesiumLayer.show = layer.show;
65
+ }
66
+ }
67
+ };
68
+ LayerManager.prototype.removeLayer = function (layerId) {
69
+ var layer = this.findLayerById(layerId);
70
+ if (layer) {
71
+ this.mapViewer.imageryLayers.remove(layer, true);
72
+ }
73
+ };
74
+ LayerManager.prototype.removeBaseMapLayers = function () {
75
+ var _this = this;
76
+ var layerToDelete = this.layers.filter(function (layer) {
77
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
78
+ return parentId ? true : false;
79
+ });
80
+ layerToDelete.forEach(function (layer) {
81
+ _this.mapViewer.imageryLayers.remove(layer, true);
82
+ });
83
+ // TODO: remove vector layers
84
+ };
85
+ // Remove all non base layers
86
+ LayerManager.prototype.removeNotBaseMapLayers = function () {
87
+ var _this = this;
88
+ var layerToDelete = this.layers.filter(function (layer) {
89
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
90
+ return parentId ? false : true;
91
+ });
92
+ layerToDelete.forEach(function (layer) {
93
+ _this.mapViewer.imageryLayers.remove(layer, true);
94
+ });
95
+ // TODO: remove vector layers
96
+ };
97
+ LayerManager.prototype.raise = function (layerId, positions) {
98
+ if (positions === void 0) { positions = 1; }
99
+ var layer = this.findLayerById(layerId);
100
+ var order = (layer === null || layer === void 0 ? void 0 : layer.meta).zIndex;
101
+ if (layer) {
102
+ for (var position = 0; position < positions; position++) {
103
+ this.mapViewer.imageryLayers.raise(layer);
104
+ }
105
+ }
106
+ this.updateLayersOrder(layerId, order, order + positions);
107
+ };
108
+ LayerManager.prototype.lower = function (layerId, positions) {
109
+ if (positions === void 0) { positions = 1; }
110
+ var layer = this.findLayerById(layerId);
111
+ var order = (layer === null || layer === void 0 ? void 0 : layer.meta).zIndex;
112
+ var lowerLimit = this.getBaseLayersCount();
113
+ var layerIdx = this.mapViewer.imageryLayers.indexOf(layer);
114
+ if (layerIdx - positions <= lowerLimit) {
115
+ positions = layerIdx - lowerLimit;
116
+ }
117
+ if (layer) {
118
+ for (var position = 0; position < positions; position++) {
119
+ this.mapViewer.imageryLayers.lower(layer);
120
+ }
121
+ }
122
+ this.updateLayersOrder(layerId, order, order - positions);
123
+ };
124
+ LayerManager.prototype.raiseToTop = function (layerId) {
125
+ var layer = this.findLayerById(layerId);
126
+ var order = (layer === null || layer === void 0 ? void 0 : layer.meta).zIndex;
127
+ if (layer) {
128
+ this.mapViewer.imageryLayers.raiseToTop(layer);
129
+ }
130
+ this.updateLayersOrder(layerId, order, this.mapViewer.imageryLayers.length - this.getBaseLayersCount() - 1);
131
+ };
132
+ LayerManager.prototype.lowerToBottom = function (layerId) {
133
+ var layer = this.findLayerById(layerId);
134
+ // const order = (layer?.meta as Record<string, unknown>).zIndex as number;
135
+ var lowerLimit = this.getBaseLayersCount();
136
+ var layerIdx = this.mapViewer.imageryLayers.indexOf(layer);
137
+ this.lower(layerId, layerIdx - lowerLimit);
138
+ // if (layer) {
139
+ // this.mapViewer.imageryLayers.lowerToBottom(layer);
140
+ // }
141
+ // this.updateLayersOrder(layerId, order, 0);
142
+ };
143
+ LayerManager.prototype.length = function () {
144
+ return this.mapViewer.imageryLayers.length;
145
+ };
146
+ LayerManager.prototype.show = function (layerId, isShow) {
147
+ var layer = this.get(layerId);
148
+ if (layer !== undefined) {
149
+ layer.show = isShow;
150
+ }
151
+ };
152
+ LayerManager.prototype.showAllNotBase = function (isShow) {
153
+ var _this = this;
154
+ var nonBaseLayers = this.layers.filter(function (layer) {
155
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
156
+ return parentId ? false : true;
157
+ });
158
+ nonBaseLayers.forEach(function (layer) {
159
+ var _a;
160
+ _this.show((_a = layer.meta) === null || _a === void 0 ? void 0 : _a.id, isShow);
161
+ });
162
+ };
163
+ LayerManager.prototype.get = function (layerId) {
164
+ var layerInt = this.findLayerById(layerId);
165
+ var layerIdx = this.mapViewer.imageryLayers.indexOf(layerInt);
166
+ return layerIdx ? this.mapViewer.imageryLayers.get(layerIdx) : undefined;
167
+ };
168
+ LayerManager.prototype.findLayerByPOI = function (x, y) {
169
+ var position = point_geojson_1.pointToGeoJSON(this.mapViewer, x, y);
170
+ var nonBaseLayers = this.layers.filter(function (layer) {
171
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
172
+ return parentId ? false : true;
173
+ });
174
+ var selectedVisibleLayers = nonBaseLayers.filter(function (layer) {
175
+ var layerFootprint = lodash_1.get(layer.meta, 'details.footprint');
176
+ if (layerFootprint !== undefined) {
177
+ var isInLayer = boolean_point_in_polygon_1.default(position.geometry, {
178
+ type: 'Feature',
179
+ properties: {},
180
+ geometry: layerFootprint,
181
+ });
182
+ return isInLayer && layer.show;
183
+ }
184
+ else {
185
+ console.warn('CesiumImageryLayer has no defined footprint', layer.meta);
186
+ return false;
187
+ }
188
+ });
189
+ return selectedVisibleLayers.sort(function (layer1, layer2) {
190
+ var _a, _b;
191
+ // @ts-ignore
192
+ return ((_a = layer2.meta) === null || _a === void 0 ? void 0 : _a.zIndex) - ((_b = layer1.meta) === null || _b === void 0 ? void 0 : _b.zIndex);
193
+ });
194
+ };
195
+ LayerManager.prototype.getBaseLayersCount = function () {
196
+ var baseLayers = this.layers.filter(function (layer) {
197
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
198
+ return parentId ? true : false;
199
+ });
200
+ return baseLayers.length;
201
+ };
202
+ LayerManager.prototype.findLayerById = function (layerId) {
203
+ return this.layers.find(function (layer) {
204
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
205
+ return layer.meta !== undefined ? layer.meta.id === layerId : false;
206
+ });
207
+ };
208
+ LayerManager.prototype.updateLayersOrder = function (id, from, to) {
209
+ var move = from > to ? INC : DEC;
210
+ var min = from < to ? from : to;
211
+ var max = from < to ? to : from;
212
+ this.layers.forEach(function (layer) {
213
+ var _a;
214
+ var parentId = lodash_1.get(layer.meta, 'parentBasetMapId');
215
+ if (!parentId) {
216
+ var layerOrder = (_a = layer.meta) === null || _a === void 0 ? void 0 : _a.zIndex;
217
+ layer.meta.zIndex =
218
+ layerOrder >= min && layerOrder <= max && layerOrder !== from
219
+ ? layerOrder + move
220
+ : layerOrder === from
221
+ ? to
222
+ : layerOrder;
223
+ }
224
+ });
225
+ };
226
+ return LayerManager;
227
+ }());
228
+ exports.default = LayerManager;
@@ -0,0 +1,54 @@
1
+ .cesium-widget-credits {
2
+ display: none !important;
3
+ }
4
+
5
+ .cesium-viewer-fullscreenContainer {
6
+ bottom: 8px;
7
+ right: 8px;
8
+ left: unset;
9
+ }
10
+
11
+ body[dir='rtl'] .cesium-viewer-fullscreenContainer {
12
+ left: 8px;
13
+ right: unset;
14
+ }
15
+
16
+ body[dir='rtl'] .cesium-viewer-toolbar {
17
+ left: 5px;
18
+ right: unset;
19
+ }
20
+
21
+ .cesium-button.cesium-fullscreenButton {
22
+ border-radius: 14%;
23
+ }
24
+
25
+ .toolsContainer {
26
+ color: var(--mdc-theme-on-surface);
27
+ display: flex;
28
+ gap: 8px;
29
+ z-index: 2000;
30
+ position: absolute;
31
+ bottom: 12px;
32
+ right: 40px;
33
+ opacity: 0.7;
34
+ }
35
+
36
+ body[dir='rtl'] .toolsContainer {
37
+ left: 40px;
38
+ right: unset;
39
+ }
40
+
41
+ .sideToolsContainer {
42
+ display: flex;
43
+ flex-direction: column;
44
+ gap: 8px;
45
+ z-index: 2000;
46
+ position: absolute;
47
+ top: 12px;
48
+ right: 40px;
49
+ }
50
+
51
+ body[dir='rtl'] .sideToolsContainer {
52
+ left: 40px;
53
+ right: unset;
54
+ }
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import { ViewerProps } from 'resium/dist/types/src/Viewer/Viewer';
3
+ import { Viewer as CesiumViewerCls, TerrainProvider } from 'cesium';
4
+ import { Proj } from '../utils/projections';
5
+ import { IBaseMaps } from './settings/settings';
6
+ import LayerManager from './layers-manager';
7
+ import { CesiumSceneModeEnum } from './map.types';
8
+ import './map.css';
9
+ export declare class CesiumViewer extends CesiumViewerCls {
10
+ layersManager?: LayerManager;
11
+ constructor(container: string | Element, options?: CesiumViewerCls.ConstructorOptions);
12
+ }
13
+ export interface IContextMenuData {
14
+ data: Record<string, unknown>[];
15
+ position: {
16
+ x: number;
17
+ y: number;
18
+ };
19
+ style?: Record<string, string>;
20
+ size?: {
21
+ height: number;
22
+ width: number;
23
+ };
24
+ handleClose: () => void;
25
+ }
26
+ export interface CesiumMapProps extends ViewerProps {
27
+ showMousePosition?: boolean;
28
+ showScale?: boolean;
29
+ projection?: Proj;
30
+ center?: [number, number];
31
+ zoom?: number;
32
+ locale?: {
33
+ [key: string]: string;
34
+ };
35
+ sceneModes?: CesiumSceneModeEnum[];
36
+ baseMaps?: IBaseMaps;
37
+ terrainProvider?: TerrainProvider;
38
+ imageryContextMenu?: React.ReactElement<IContextMenuData>;
39
+ imageryContextMenuSize?: {
40
+ height: number;
41
+ width: number;
42
+ dynamicHeightIncrement?: number;
43
+ };
44
+ }
45
+ export declare const useCesiumMap: () => CesiumViewer;
46
+ export declare const CesiumMap: React.FC<CesiumMapProps>;