@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,4 @@
1
+ import { FeatureCollection } from 'geojson';
2
+ import { PrimitiveCoordinates } from '../../data-sources';
3
+ import { DrawType } from '../../../models/enums';
4
+ export declare const geoJSONToPrimitive: (type: DrawType, geojson: FeatureCollection) => PrimitiveCoordinates | never;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.geoJSONToPrimitive = void 0;
4
+ var cesium_1 = require("cesium");
5
+ var lodash_1 = require("lodash");
6
+ var enums_1 = require("../../../models/enums");
7
+ var POINTS_NUM = 2;
8
+ var geoJSONToPrimitive = function (type, geojson) {
9
+ switch (type) {
10
+ case enums_1.DrawType.BOX: {
11
+ if (geojson.features.length !== POINTS_NUM)
12
+ throw new Error(type + " must have 2 points");
13
+ var bottomLeftPoint = lodash_1.find(geojson.features, function (feat) {
14
+ var _a;
15
+ return ((_a = feat.properties) === null || _a === void 0 ? void 0 : _a.type) === enums_1.BboxCorner.BOTTOM_LEFT;
16
+ });
17
+ var rightTopPoint = lodash_1.find(geojson.features, function (feat) {
18
+ var _a;
19
+ return ((_a = feat.properties) === null || _a === void 0 ? void 0 : _a.type) === enums_1.BboxCorner.TOP_RIGHT;
20
+ });
21
+ // eslint-disable-next-line
22
+ if (rightTopPoint && bottomLeftPoint) {
23
+ if (bottomLeftPoint.geometry.coordinates[0] ===
24
+ rightTopPoint.geometry.coordinates[0] &&
25
+ bottomLeftPoint.geometry.coordinates[1] ===
26
+ rightTopPoint.geometry.coordinates[1]) {
27
+ throw new Error(type + " must define BOTTOM_LEFT and TOP_RIGHT different points");
28
+ }
29
+ else {
30
+ return cesium_1.Rectangle.fromDegrees(bottomLeftPoint.geometry.coordinates[0], bottomLeftPoint.geometry.coordinates[1], rightTopPoint.geometry.coordinates[0], rightTopPoint.geometry.coordinates[1]);
31
+ }
32
+ }
33
+ else {
34
+ throw new Error(type + " geojson must define BOTTOM_LEFT and TOP_RIGHT points");
35
+ }
36
+ }
37
+ default:
38
+ throw new Error(type + " type geoJSON still not supported");
39
+ }
40
+ };
41
+ exports.geoJSONToPrimitive = geoJSONToPrimitive;
@@ -0,0 +1,2 @@
1
+ export * from './polygon.geojson';
2
+ export * from './rectangle.geojson';
@@ -0,0 +1,14 @@
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("./polygon.geojson"), exports);
14
+ __exportStar(require("./rectangle.geojson"), exports);
@@ -0,0 +1,3 @@
1
+ import { GeoJSON } from 'geojson';
2
+ import { CesiumViewer } from '../../map';
3
+ export declare const pointToGeoJSON: (mapViewer: CesiumViewer, x: number, y: number) => GeoJSON;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pointToGeoJSON = void 0;
4
+ var cesium_1 = require("cesium");
5
+ var pointToGeoJSON = function (mapViewer, x, y) {
6
+ var ellipsoid = mapViewer.scene.globe.ellipsoid;
7
+ var cartesian = mapViewer.camera.pickEllipsoid(new cesium_1.Cartesian3(x, y), ellipsoid);
8
+ var cartographic = ellipsoid.cartesianToCartographic(cartesian);
9
+ return {
10
+ type: 'Feature',
11
+ properties: {},
12
+ geometry: {
13
+ type: 'Point',
14
+ coordinates: [
15
+ cesium_1.Math.toDegrees(cartographic.longitude),
16
+ cesium_1.Math.toDegrees(cartographic.latitude),
17
+ ],
18
+ },
19
+ };
20
+ };
21
+ exports.pointToGeoJSON = pointToGeoJSON;
@@ -0,0 +1,3 @@
1
+ import { Cartesian3 } from 'cesium';
2
+ import { GeoJSON } from 'geojson';
3
+ export declare const polygonToGeoJSON: (positions: Cartesian3[]) => GeoJSON;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.polygonToGeoJSON = void 0;
4
+ var cesium_1 = require("cesium");
5
+ var polygonToGeoJSON = function (positions) {
6
+ var coords = positions.map(function (vertex) {
7
+ var posRadians = cesium_1.Cartographic.fromCartesian(vertex);
8
+ return [
9
+ cesium_1.Math.toDegrees(posRadians.longitude),
10
+ cesium_1.Math.toDegrees(posRadians.latitude),
11
+ ];
12
+ });
13
+ // close polygon
14
+ coords.push(coords[0]);
15
+ return {
16
+ type: 'Feature',
17
+ properties: {},
18
+ geometry: {
19
+ type: 'Polygon',
20
+ coordinates: [coords],
21
+ },
22
+ };
23
+ };
24
+ exports.polygonToGeoJSON = polygonToGeoJSON;
@@ -0,0 +1,3 @@
1
+ import { Rectangle } from 'cesium';
2
+ import { GeoJSON } from 'geojson';
3
+ export declare const rectangleToGeoJSON: (positions: Rectangle) => GeoJSON;
@@ -0,0 +1,44 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.rectangleToGeoJSON = void 0;
26
+ var cesium_1 = require("cesium");
27
+ var turf = __importStar(require("@turf/helpers"));
28
+ var bbox_1 = __importDefault(require("@turf/bbox"));
29
+ var bbox_polygon_1 = __importDefault(require("@turf/bbox-polygon"));
30
+ var rectangleToGeoJSON = function (positions) {
31
+ var line = turf.lineString([
32
+ [
33
+ cesium_1.Math.toDegrees(positions.west),
34
+ cesium_1.Math.toDegrees(positions.south),
35
+ ],
36
+ [
37
+ cesium_1.Math.toDegrees(positions.east),
38
+ cesium_1.Math.toDegrees(positions.north),
39
+ ],
40
+ ]);
41
+ var polygon = bbox_polygon_1.default(bbox_1.default(line));
42
+ return polygon;
43
+ };
44
+ exports.rectangleToGeoJSON = rectangleToGeoJSON;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export interface InspectorProps {
3
+ }
4
+ export declare const InspectorTool: React.FC<InspectorProps>;
@@ -0,0 +1,33 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.InspectorTool = void 0;
23
+ var react_1 = __importStar(require("react"));
24
+ var cesium_1 = require("cesium");
25
+ var map_1 = require("../map");
26
+ var InspectorTool = function (props) {
27
+ var mapViewer = map_1.useCesiumMap();
28
+ react_1.useEffect(function () {
29
+ mapViewer.extend(cesium_1.viewerCesiumInspectorMixin);
30
+ }, [mapViewer]);
31
+ return react_1.default.createElement(react_1.default.Fragment, null);
32
+ };
33
+ exports.InspectorTool = InspectorTool;
@@ -0,0 +1,16 @@
1
+ .scalePosition {
2
+ background-color: var(--mdc-theme-surface);
3
+ padding: 1px 1px;
4
+ border-radius: 2px;
5
+ font-size: 12px;
6
+ width: 110px;
7
+ }
8
+ .distance-legend-label {
9
+ text-align: center;
10
+ }
11
+ .distance-legend-scale-bar {
12
+ background: var(--mdc-theme-on-surface);
13
+ margin: 0 auto;
14
+ display: block;
15
+ transition: all 0.5s ease-in-out;
16
+ }
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import './scale-tracker.tool.css';
3
+ export interface RScaleTrackerToolProps {
4
+ locale?: {
5
+ [key: string]: string;
6
+ };
7
+ }
8
+ export declare const ScaleTrackerTool: React.FC<RScaleTrackerToolProps>;
@@ -0,0 +1,158 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.ScaleTrackerTool = void 0;
23
+ var react_1 = __importStar(require("react"));
24
+ var cesium_1 = require("cesium");
25
+ var lodash_1 = require("lodash");
26
+ var map_1 = require("../map");
27
+ require("./scale-tracker.tool.css");
28
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
29
+ var distances = [
30
+ 1,
31
+ 2,
32
+ 3,
33
+ 5,
34
+ 10,
35
+ 20,
36
+ 30,
37
+ 50,
38
+ 100,
39
+ 200,
40
+ 300,
41
+ 500,
42
+ 1000,
43
+ 2000,
44
+ 3000,
45
+ 5000,
46
+ 10000,
47
+ 20000,
48
+ 30000,
49
+ 50000,
50
+ 100000,
51
+ 200000,
52
+ 300000,
53
+ 500000,
54
+ 1000000,
55
+ 2000000,
56
+ 3000000,
57
+ 5000000,
58
+ 10000000,
59
+ 20000000,
60
+ 30000000,
61
+ 50000000,
62
+ ];
63
+ var updateDistanceLegendCesium = function (mapViewer, prevScaleData, setScaleData, locale) {
64
+ var _a, _b;
65
+ var metersUnit = (_a = lodash_1.get(locale, 'METERS_UNIT')) !== null && _a !== void 0 ? _a : 'm';
66
+ var kiloMetersUnit = (_b = lodash_1.get(locale, 'KILOMETERS_UNIT')) !== null && _b !== void 0 ? _b : 'km';
67
+ var scale = {
68
+ barWidth: undefined,
69
+ distanceLabel: undefined,
70
+ lastLegendUpdate: prevScaleData.lastLegendUpdate,
71
+ };
72
+ var geodesic = new cesium_1.EllipsoidGeodesic();
73
+ var now = new Date().getTime();
74
+ if (now < scale.lastLegendUpdate + 250) {
75
+ return;
76
+ }
77
+ scale.lastLegendUpdate = now;
78
+ // Find the distance between two pixels at the bottom center of the screen.
79
+ var width = mapViewer.scene.canvas.clientWidth;
80
+ var height = mapViewer.scene.canvas.clientHeight;
81
+ var left = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((width / 2) | 0, height - 1));
82
+ var right = mapViewer.scene.camera.getPickRay(new cesium_1.Cartesian2((1 + width / 2) | 0, height - 1));
83
+ var globe = mapViewer.scene.globe;
84
+ var leftPosition = globe.pick(left, mapViewer.scene);
85
+ var rightPosition = globe.pick(right, mapViewer.scene);
86
+ if (!leftPosition || !rightPosition) {
87
+ return;
88
+ }
89
+ var leftCartographic = globe.ellipsoid.cartesianToCartographic(leftPosition);
90
+ var rightCartographic = globe.ellipsoid.cartesianToCartographic(rightPosition);
91
+ geodesic.setEndPoints(leftCartographic, rightCartographic);
92
+ var pixelDistance = geodesic.surfaceDistance;
93
+ // Find the first distance that makes the scale bar less than 100 pixels.
94
+ var maxBarWidth = 100;
95
+ var distance;
96
+ for (var i = distances.length - 1; !lodash_1.isNumber(distance) && i >= 0; --i) {
97
+ if (distances[i] / pixelDistance < maxBarWidth) {
98
+ distance = distances[i];
99
+ }
100
+ }
101
+ if (lodash_1.isNumber(distance)) {
102
+ var label = '';
103
+ if (distance >= 1000) {
104
+ label = (distance / 1000).toString() + " " + kiloMetersUnit;
105
+ }
106
+ else {
107
+ label = distance.toString() + " " + metersUnit;
108
+ }
109
+ scale.barWidth = (distance / pixelDistance) | 0;
110
+ scale.distanceLabel = label;
111
+ }
112
+ setScaleData(scale);
113
+ };
114
+ /* eslint-enable @typescript-eslint/no-magic-numbers */
115
+ var ScaleTrackerTool = function (props) {
116
+ var mapViewer = map_1.useCesiumMap();
117
+ var _a = react_1.useState({
118
+ barWidth: undefined,
119
+ distanceLabel: undefined,
120
+ lastLegendUpdate: -1,
121
+ }), scaleData = _a[0], setScaleData = _a[1];
122
+ react_1.useEffect(function () {
123
+ var setFromEvent = function (e) {
124
+ updateDistanceLegendCesium(mapViewer, scaleData, setScaleData, props.locale);
125
+ };
126
+ var helper = new cesium_1.EventHelper();
127
+ var tileLoadHandler = function (event) {
128
+ if (mapViewer.scene.globe.tilesLoaded) {
129
+ setFromEvent(new MouseEvent('mouse'));
130
+ helper.removeAll();
131
+ }
132
+ };
133
+ // Register tiles loader handler for initial load because globe.pick returning undefined
134
+ // see here https://community.cesium.com/t/globe-pick-returning-undefined/6616
135
+ helper.add(mapViewer.scene.globe.tileLoadProgressEvent, tileLoadHandler);
136
+ mapViewer.camera.moveEnd.addEventListener(setFromEvent);
137
+ return function () {
138
+ try {
139
+ mapViewer.camera.moveEnd.removeEventListener(setFromEvent);
140
+ }
141
+ catch (e) {
142
+ console.log('CESIUM camera "moveEnd" remove listener failed', e);
143
+ }
144
+ };
145
+ }, [mapViewer, props.locale, scaleData]);
146
+ var calcLeft = function (width) {
147
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
148
+ return 5 + (125 - width) / 2;
149
+ };
150
+ return (react_1.default.createElement("div", { className: "scalePosition" }, lodash_1.isNumber(scaleData.barWidth) && (react_1.default.createElement(react_1.default.Fragment, null,
151
+ react_1.default.createElement("div", { className: "distance-legend-label" }, scaleData.distanceLabel),
152
+ react_1.default.createElement("div", { className: "distance-legend-scale-bar", style: {
153
+ height: '2px',
154
+ width: scaleData.barWidth.toString() + "px",
155
+ left: calcLeft(scaleData.barWidth).toString() + "px",
156
+ } })))));
157
+ };
158
+ exports.ScaleTrackerTool = ScaleTrackerTool;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export interface TerrainianHeightProps {
3
+ }
4
+ export declare const TerrainianHeightTool: React.FC<TerrainianHeightProps>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TerrainianHeightTool = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var cesium_1 = require("cesium");
9
+ var map_1 = require("../map");
10
+ var LABEL_PIXEL_OFFSET = -25;
11
+ var FIRST_DATA_ROW_IDX = 2;
12
+ var TerrainianHeightTool = function (props) {
13
+ var mapViewer = map_1.useCesiumMap();
14
+ var csvToArray = function (str, delimiter) {
15
+ if (delimiter === void 0) { delimiter = ','; }
16
+ // const headers = str.slice(0, str.indexOf('\n')).split(delimiter);
17
+ var rows = str.slice(str.indexOf('\n') + 1).split('\n');
18
+ var arr = rows.map(function (row) {
19
+ var values = row.split(delimiter);
20
+ var el = cesium_1.Cartographic.fromDegrees(parseFloat(values[0]), parseFloat(values[1]));
21
+ // const el = headers.reduce((object: Record<string, number>, header, index) => {
22
+ // const trimmedHeader = header.trim();
23
+ // object[trimmedHeader] = parseFloat(values[index]);
24
+ // return object;
25
+ // }, {});
26
+ //return el;
27
+ return {
28
+ cartographic: el,
29
+ cartesian: new cesium_1.Cartesian2(parseFloat(values[0]), parseFloat(values[1])),
30
+ };
31
+ });
32
+ return arr;
33
+ };
34
+ var loadCSV = function (evt) {
35
+ var _a;
36
+ evt.preventDefault();
37
+ evt.persist();
38
+ var reader = new FileReader();
39
+ reader.onload = function (e) {
40
+ var _a;
41
+ var text = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
42
+ var parsed = csvToArray(text);
43
+ var ellipsoid = cesium_1.Ellipsoid.WGS84;
44
+ console.log('Loaded CSV content:\n', text);
45
+ void cesium_1.sampleTerrainMostDetailed(mapViewer.terrainProvider, parsed.map(function (item) { return item.cartographic; })).then(function (updatedPositions) {
46
+ console.log(updatedPositions);
47
+ mapViewer.scene.globe.depthTestAgainstTerrain = true;
48
+ mapViewer.entities.suspendEvents();
49
+ mapViewer.entities.removeAll();
50
+ updatedPositions.forEach(function (position, idx) {
51
+ mapViewer.entities.add({
52
+ name: (idx + FIRST_DATA_ROW_IDX).toString(),
53
+ position: ellipsoid.cartographicToCartesian(position),
54
+ billboard: {
55
+ verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
56
+ scale: 0.7,
57
+ image: 'assets/img/map-marker.gif',
58
+ },
59
+ label: {
60
+ text: (idx + FIRST_DATA_ROW_IDX).toString(),
61
+ font: '14pt monospace',
62
+ fillColor: cesium_1.Color.BLACK,
63
+ style: cesium_1.LabelStyle.FILL_AND_OUTLINE,
64
+ outlineWidth: 4,
65
+ outlineColor: cesium_1.Color.BLACK,
66
+ verticalOrigin: cesium_1.VerticalOrigin.BOTTOM,
67
+ pixelOffset: new cesium_1.Cartesian2(0, LABEL_PIXEL_OFFSET),
68
+ },
69
+ description: "\n Long: " + parsed[idx].cartesian.x + " </br>\n Lat: " + parsed[idx].cartesian.y + " </br>\n Height(m): <span style=\"font-weight: 500\">" + position.height + "</span>\n ",
70
+ });
71
+ });
72
+ mapViewer.entities.resumeEvents();
73
+ if (evt.target.files !== null) {
74
+ exportToCsv("terranian_heights_" + evt.target.files[0].name, parsed);
75
+ evt.target.value = '';
76
+ }
77
+ console.log('Pinned point count is ', mapViewer.entities.values.length);
78
+ }, function (err) {
79
+ console.error('ERROR while sampleTerrainMostDetailed:', err);
80
+ });
81
+ };
82
+ if ((_a = evt.target.files) === null || _a === void 0 ? void 0 : _a[0]) {
83
+ reader.readAsText(evt.target.files[0]);
84
+ }
85
+ };
86
+ var exportToCsv = function (filename, rows) {
87
+ var processRow = function (row) {
88
+ var finalVal = '';
89
+ finalVal += row.cartesian.x.toString() + ',';
90
+ finalVal += row.cartesian.y.toString() + ',';
91
+ finalVal += row.cartographic.height.toString();
92
+ return finalVal + '\n';
93
+ };
94
+ var csvFile = 'long,lat,height\n';
95
+ rows.forEach(function (row) {
96
+ csvFile += processRow(row);
97
+ });
98
+ var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });
99
+ var link = document.createElement('a');
100
+ var url = URL.createObjectURL(blob);
101
+ link.setAttribute('href', url);
102
+ link.setAttribute('download', filename);
103
+ link.style.visibility = 'hidden';
104
+ document.body.appendChild(link);
105
+ link.click();
106
+ document.body.removeChild(link);
107
+ };
108
+ return (react_1.default.createElement(react_1.default.Fragment, null,
109
+ react_1.default.createElement("input", { type: "file", id: "csvFile", accept: ".csv", onChange: function (e) {
110
+ loadCSV(e);
111
+ } })));
112
+ };
113
+ exports.TerrainianHeightTool = TerrainianHeightTool;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { CssBaselineProps } from '@material-ui/core/CssBaseline';
3
+ import { ScopedCssBaselineProps } from '@material-ui/core/ScopedCssBaseline';
4
+ export declare const McCssBaseline: React.FC<CssBaselineProps>;
5
+ export declare const McScopedCssBaseline: React.FC<ScopedCssBaselineProps>;
@@ -0,0 +1,41 @@
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.McScopedCssBaseline = exports.McCssBaseline = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var CssBaseline_1 = __importDefault(require("@material-ui/core/CssBaseline"));
31
+ var ScopedCssBaseline_1 = __importDefault(require("@material-ui/core/ScopedCssBaseline"));
32
+ var McCssBaseline = function (props) {
33
+ var children = props.children, rest = __rest(props, ["children"]);
34
+ return react_1.default.createElement(CssBaseline_1.default, __assign({}, rest), children);
35
+ };
36
+ exports.McCssBaseline = McCssBaseline;
37
+ var McScopedCssBaseline = function (props) {
38
+ var children = props.children, rest = __rest(props, ["children"]);
39
+ return react_1.default.createElement(ScopedCssBaseline_1.default, __assign({}, rest), children);
40
+ };
41
+ exports.McScopedCssBaseline = McScopedCssBaseline;
@@ -0,0 +1 @@
1
+ export { McCssBaseline as CssBaseline, McScopedCssBaseline as ScopedCssBaseline, } from './cssbaseline';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScopedCssBaseline = exports.CssBaseline = void 0;
4
+ var cssbaseline_1 = require("./cssbaseline");
5
+ Object.defineProperty(exports, "CssBaseline", { enumerable: true, get: function () { return cssbaseline_1.McCssBaseline; } });
6
+ Object.defineProperty(exports, "ScopedCssBaseline", { enumerable: true, get: function () { return cssbaseline_1.McScopedCssBaseline; } });
@@ -0,0 +1,9 @@
1
+ body[dir='rtl'] .drpContainer .MuiInputLabel-formControl {
2
+ right: 0px;
3
+ left: unset;
4
+ }
5
+
6
+ body[dir='rtl'] .drpContainer .MuiInputBase-input {
7
+ direction: ltr;
8
+ text-align: end;
9
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { KeyboardDatePickerProps } from '@material-ui/pickers';
3
+ import { SupportedLocales } from '../models/enums';
4
+ import '@map-colonies/react-core/dist/button/styles';
5
+ import './date-picker.css';
6
+ interface DatePickerProps extends KeyboardDatePickerProps {
7
+ local?: {
8
+ placeHolderText?: string;
9
+ calendarLocale?: SupportedLocales;
10
+ };
11
+ showTime?: boolean;
12
+ }
13
+ export declare const DateTimePicker: React.FC<DatePickerProps>;
14
+ export {};