@metastringfoundation/map-list 0.1.0

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 (158) hide show
  1. package/dist/card.d.ts +7 -0
  2. package/dist/card.d.ts.map +1 -0
  3. package/dist/card.js +7 -0
  4. package/dist/components/core/button.d.ts +7 -0
  5. package/dist/components/core/button.d.ts.map +1 -0
  6. package/dist/components/core/button.js +21 -0
  7. package/dist/components/core/highlighter.d.ts +5 -0
  8. package/dist/components/core/highlighter.d.ts.map +1 -0
  9. package/dist/components/core/highlighter.js +15 -0
  10. package/dist/components/core/icons.d.ts +17 -0
  11. package/dist/components/core/icons.d.ts.map +1 -0
  12. package/dist/components/core/icons.js +60 -0
  13. package/dist/components/core/iconts.d.ts +2 -0
  14. package/dist/components/core/iconts.d.ts.map +1 -0
  15. package/dist/components/core/iconts.js +2 -0
  16. package/dist/components/core/index.d.ts +5 -0
  17. package/dist/components/core/index.d.ts.map +1 -0
  18. package/dist/components/core/index.js +20 -0
  19. package/dist/components/core/input.d.ts +14 -0
  20. package/dist/components/core/input.d.ts.map +1 -0
  21. package/dist/components/core/input.js +18 -0
  22. package/dist/components/core/popup.d.ts +5 -0
  23. package/dist/components/core/popup.d.ts.map +1 -0
  24. package/dist/components/core/popup.js +11 -0
  25. package/dist/components/core/tabs.d.ts +46 -0
  26. package/dist/components/core/tabs.d.ts.map +1 -0
  27. package/dist/components/core/tabs.js +147 -0
  28. package/dist/components/infobar/content.d.ts +4 -0
  29. package/dist/components/infobar/content.d.ts.map +1 -0
  30. package/dist/components/infobar/content.js +22 -0
  31. package/dist/components/infobar/index.d.ts +2 -0
  32. package/dist/components/infobar/index.d.ts.map +1 -0
  33. package/dist/components/infobar/index.js +17 -0
  34. package/dist/components/infobar/infobar-panel.d.ts +4 -0
  35. package/dist/components/infobar/infobar-panel.d.ts.map +1 -0
  36. package/dist/components/infobar/infobar-panel.js +52 -0
  37. package/dist/components/map/index.d.ts +2 -0
  38. package/dist/components/map/index.d.ts.map +1 -0
  39. package/dist/components/map/index.js +66 -0
  40. package/dist/components/map/layers/grid/index.d.ts +6 -0
  41. package/dist/components/map/layers/grid/index.d.ts.map +1 -0
  42. package/dist/components/map/layers/grid/index.js +31 -0
  43. package/dist/components/map/layers/highlight/index.d.ts +2 -0
  44. package/dist/components/map/layers/highlight/index.d.ts.map +1 -0
  45. package/dist/components/map/layers/highlight/index.js +7 -0
  46. package/dist/components/map/layers/index.d.ts +6 -0
  47. package/dist/components/map/layers/index.d.ts.map +1 -0
  48. package/dist/components/map/layers/index.js +27 -0
  49. package/dist/components/map/layers/raster/index.d.ts +6 -0
  50. package/dist/components/map/layers/raster/index.d.ts.map +1 -0
  51. package/dist/components/map/layers/raster/index.js +19 -0
  52. package/dist/components/map/layers/vector/index.d.ts +5 -0
  53. package/dist/components/map/layers/vector/index.d.ts.map +1 -0
  54. package/dist/components/map/layers/vector/index.js +29 -0
  55. package/dist/components/map/marker-list/index.d.ts +3 -0
  56. package/dist/components/map/marker-list/index.d.ts.map +1 -0
  57. package/dist/components/map/marker-list/index.js +16 -0
  58. package/dist/components/map/markers-list/index.d.ts +3 -0
  59. package/dist/components/map/markers-list/index.d.ts.map +1 -0
  60. package/dist/components/map/markers-list/index.js +16 -0
  61. package/dist/components/map/popup/index.d.ts +4 -0
  62. package/dist/components/map/popup/index.d.ts.map +1 -0
  63. package/dist/components/map/popup/index.js +17 -0
  64. package/dist/components/sidebar/common/grid-legend.d.ts +4 -0
  65. package/dist/components/sidebar/common/grid-legend.d.ts.map +1 -0
  66. package/dist/components/sidebar/common/grid-legend.js +22 -0
  67. package/dist/components/sidebar/common/info-popover.d.ts +10 -0
  68. package/dist/components/sidebar/common/info-popover.d.ts.map +1 -0
  69. package/dist/components/sidebar/common/info-popover.js +32 -0
  70. package/dist/components/sidebar/common/layer-item-style.d.ts +4 -0
  71. package/dist/components/sidebar/common/layer-item-style.d.ts.map +1 -0
  72. package/dist/components/sidebar/common/layer-item-style.js +21 -0
  73. package/dist/components/sidebar/common/layer-item.d.ts +11 -0
  74. package/dist/components/sidebar/common/layer-item.d.ts.map +1 -0
  75. package/dist/components/sidebar/common/layer-item.js +59 -0
  76. package/dist/components/sidebar/common/moreless.d.ts +4 -0
  77. package/dist/components/sidebar/common/moreless.d.ts.map +1 -0
  78. package/dist/components/sidebar/common/moreless.js +10 -0
  79. package/dist/components/sidebar/common/opacity-handler-addon.d.ts +3 -0
  80. package/dist/components/sidebar/common/opacity-handler-addon.d.ts.map +1 -0
  81. package/dist/components/sidebar/common/opacity-handler-addon.js +9 -0
  82. package/dist/components/sidebar/common/style-legend.d.ts +4 -0
  83. package/dist/components/sidebar/common/style-legend.d.ts.map +1 -0
  84. package/dist/components/sidebar/common/style-legend.js +23 -0
  85. package/dist/components/sidebar/common.d.ts +2 -0
  86. package/dist/components/sidebar/common.d.ts.map +1 -0
  87. package/dist/components/sidebar/common.js +2 -0
  88. package/dist/components/sidebar/index.d.ts +2 -0
  89. package/dist/components/sidebar/index.d.ts.map +1 -0
  90. package/dist/components/sidebar/index.js +38 -0
  91. package/dist/components/sidebar/layers/index.d.ts +2 -0
  92. package/dist/components/sidebar/layers/index.d.ts.map +1 -0
  93. package/dist/components/sidebar/layers/index.js +12 -0
  94. package/dist/components/sidebar/layers/layer-list.d.ts +2 -0
  95. package/dist/components/sidebar/layers/layer-list.d.ts.map +1 -0
  96. package/dist/components/sidebar/layers/layer-list.js +64 -0
  97. package/dist/components/sidebar/layers/search.d.ts +2 -0
  98. package/dist/components/sidebar/layers/search.d.ts.map +1 -0
  99. package/dist/components/sidebar/layers/search.js +16 -0
  100. package/dist/components/sidebar/layers.d.ts +2 -0
  101. package/dist/components/sidebar/layers.d.ts.map +1 -0
  102. package/dist/components/sidebar/layers.js +2 -0
  103. package/dist/components/sidebar/selected/extended.d.ts +3 -0
  104. package/dist/components/sidebar/selected/extended.d.ts.map +1 -0
  105. package/dist/components/sidebar/selected/extended.js +7 -0
  106. package/dist/components/sidebar/selected/index.d.ts +2 -0
  107. package/dist/components/sidebar/selected/index.d.ts.map +1 -0
  108. package/dist/components/sidebar/selected/index.js +20 -0
  109. package/dist/components/sidebar/selected/selected-item-list.d.ts +10 -0
  110. package/dist/components/sidebar/selected/selected-item-list.d.ts.map +1 -0
  111. package/dist/components/sidebar/selected/selected-item-list.js +36 -0
  112. package/dist/components/sidebar/settings/index.d.ts +2 -0
  113. package/dist/components/sidebar/settings/index.d.ts.map +1 -0
  114. package/dist/components/sidebar/settings/index.js +16 -0
  115. package/dist/components/sidebar/settings/layer-selection.d.ts +6 -0
  116. package/dist/components/sidebar/settings/layer-selection.d.ts.map +1 -0
  117. package/dist/components/sidebar/settings/layer-selection.js +17 -0
  118. package/dist/components/sidebar/tabs.d.ts +4 -0
  119. package/dist/components/sidebar/tabs.d.ts.map +1 -0
  120. package/dist/components/sidebar/tabs.js +15 -0
  121. package/dist/gradient.d.ts +6 -0
  122. package/dist/gradient.d.ts.map +1 -0
  123. package/dist/gradient.js +9 -0
  124. package/dist/hooks/use-layers.d.ts +55 -0
  125. package/dist/hooks/use-layers.d.ts.map +1 -0
  126. package/dist/hooks/use-layers.js +298 -0
  127. package/dist/index.css +1129 -0
  128. package/dist/index.d.ts +4 -0
  129. package/dist/index.d.ts.map +1 -0
  130. package/dist/index.js +18 -0
  131. package/dist/interfaces/index.d.ts +103 -0
  132. package/dist/interfaces/index.d.ts.map +1 -0
  133. package/dist/interfaces/index.js +2 -0
  134. package/dist/services/naksha.d.ts +62 -0
  135. package/dist/services/naksha.d.ts.map +1 -0
  136. package/dist/services/naksha.js +420 -0
  137. package/dist/static/constant.d.ts +16 -0
  138. package/dist/static/constant.d.ts.map +1 -0
  139. package/dist/static/constant.js +34 -0
  140. package/dist/static/constants.d.ts +16 -0
  141. package/dist/static/constants.d.ts.map +1 -0
  142. package/dist/static/constants.js +34 -0
  143. package/dist/test.d.ts +2 -0
  144. package/dist/test.d.ts.map +1 -0
  145. package/dist/test.js +9 -0
  146. package/dist/turborepo-logo.d.ts +2 -0
  147. package/dist/turborepo-logo.d.ts.map +1 -0
  148. package/dist/turborepo-logo.js +8 -0
  149. package/dist/utils/array-move.d.ts +3 -0
  150. package/dist/utils/array-move.d.ts.map +1 -0
  151. package/dist/utils/array-move.js +19 -0
  152. package/dist/utils/grid.d.ts +22 -0
  153. package/dist/utils/grid.d.ts.map +1 -0
  154. package/dist/utils/grid.js +116 -0
  155. package/dist/utils/naksha.d.ts +32 -0
  156. package/dist/utils/naksha.d.ts.map +1 -0
  157. package/dist/utils/naksha.js +141 -0
  158. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/map/index.tsx"],"names":[],"mappings":"AAaA,MAAM,CAAC,OAAO,UAAU,GAAG,4CA2C1B"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = Map;
40
+ const jsx_runtime_1 = require("react/jsx-runtime");
41
+ const map_common_1 = require("@metastringfoundation/map-common");
42
+ const react_1 = require("react");
43
+ const maplibre_1 = __importStar(require("react-map-gl/maplibre"));
44
+ const use_layers_1 = __importDefault(require("../../hooks/use-layers"));
45
+ const infobar_1 = __importDefault(require("../infobar"));
46
+ const sidebar_1 = __importDefault(require("../sidebar"));
47
+ const layers_1 = require("./layers");
48
+ const markers_list_1 = __importDefault(require("./markers-list"));
49
+ const popup_1 = __importDefault(require("./popup"));
50
+ const NavControl = maplibre_1.NavigationControl;
51
+ function Map() {
52
+ const { mp, layer, hover, query } = (0, use_layers_1.default)();
53
+ const [coordinates, setCoordinates] = (0, react_1.useState)();
54
+ const viewState = (0, react_1.useMemo)(() => mp.defaultViewState || map_common_1.defaultViewState, [mp.defaultViewState]);
55
+ // @ts-ignore
56
+ const onMapClick = (e) => query.setClickedLngLat(e.lngLat);
57
+ // @ts-ignore
58
+ const handleOnMouseMove = (event) => {
59
+ setCoordinates(event.lngLat);
60
+ hover.onHover(event);
61
+ };
62
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full h-screen overflow-hidden", children: [mp.loadToC && (0, jsx_runtime_1.jsx)(sidebar_1.default, {}), layer.selectedFeatures?.length > 0 && (0, jsx_runtime_1.jsx)(infobar_1.default, {}), (0, jsx_runtime_1.jsxs)(maplibre_1.default, { id: "mapl", cursor: "default", initialViewState: viewState, style: { width: "100%", height: "100%" }, mapStyle: layer.mapStyle, onClick: onMapClick, onMouseMove: handleOnMouseMove, children: [(0, jsx_runtime_1.jsx)(NavControl, { position: "top-right", showZoom: true, showCompass: true }), (0, jsx_runtime_1.jsx)(markers_list_1.default, {}), layer.selectedLayers.map((_l, index) => {
63
+ const beforeId = index > 0 ? layer.selectedIds[index - 1] : undefined;
64
+ return (0, jsx_runtime_1.jsx)(layers_1.MapLayer, { layer: _l, beforeId: beforeId }, _l.id);
65
+ }), (0, jsx_runtime_1.jsx)(popup_1.default, { coordinates: coordinates }, "popup")] })] }));
66
+ }
@@ -0,0 +1,6 @@
1
+ import { GeoserverLayer } from "../../../../interfaces";
2
+ export default function GridLayer({ data, beforeId, }: {
3
+ data: GeoserverLayer;
4
+ beforeId?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/map/layers/grid/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAC,MAAM,CAAA;CACjB,2CAoCA"}
@@ -0,0 +1,31 @@
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.default = GridLayer;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const maplibre_1 = require("react-map-gl/maplibre");
10
+ const use_layers_1 = __importDefault(require("../../../../hooks/use-layers"));
11
+ const naksha_1 = require("../../../../services/naksha");
12
+ function GridLayer({ data, beforeId, }) {
13
+ const { layer } = (0, use_layers_1.default)();
14
+ const { mapl } = (0, maplibre_1.useMap)();
15
+ const [layerData, setLayerData] = (0, react_1.useState)({ geojson: {}, paint: {} });
16
+ const fetchGridData = async () => {
17
+ const { success, geojson, paint, stops, squareSize } = await (0, naksha_1.getGridLayerData)(data.source.fetcher,
18
+ //@ts-ignore
19
+ mapl?.getBounds(), mapl?.getZoom());
20
+ if (success) {
21
+ setLayerData({ geojson, paint });
22
+ layer.setGridLegends({
23
+ [data.id]: { stops, squareSize },
24
+ });
25
+ }
26
+ };
27
+ (0, react_1.useEffect)(() => {
28
+ mapl?.on("idle", fetchGridData);
29
+ }, []);
30
+ return ((0, jsx_runtime_1.jsx)(maplibre_1.Source, { id: data.id, type: "geojson", data: layerData.geojson, children: (0, jsx_runtime_1.jsx)(maplibre_1.Layer, { beforeId: beforeId, id: data.id, type: "fill", paint: layerData.paint }) }));
31
+ }
@@ -0,0 +1,2 @@
1
+ export default function HighLightLayer(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/map/layers/highlight/index.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,cAAc,4CAErC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = HighLightLayer;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ function HighLightLayer() {
6
+ return (0, jsx_runtime_1.jsx)("div", { children: "xo" });
7
+ }
@@ -0,0 +1,6 @@
1
+ import { GeoserverLayer } from "../../../interfaces";
2
+ export declare function MapLayer({ layer, beforeId, }: {
3
+ layer: GeoserverLayer;
4
+ beforeId?: string;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/map/layers/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAC,MAAM,CAAA;CACjB,kDAuBA"}
@@ -0,0 +1,27 @@
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.MapLayer = MapLayer;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const maplibre_1 = require("react-map-gl/maplibre");
9
+ const raster_1 = __importDefault(require("./raster"));
10
+ function MapLayer({ layer, beforeId, }) {
11
+ console.log(layer, "layer from MapLayer");
12
+ console.log("layer.source.type", layer?.source?.type);
13
+ const { mapl } = (0, maplibre_1.useMap)();
14
+ if (!mapl) {
15
+ return null;
16
+ }
17
+ // switch (layer?.source?.type) {
18
+ // case "vector":
19
+ // return <VectorLayer beforeId={beforeId} layer={layer} />;
20
+ // case "grid":
21
+ // return <GridLayer beforeId={beforeId} data={layer} />;
22
+ // case "raster":
23
+ return (0, jsx_runtime_1.jsx)(raster_1.default, { beforeId: beforeId, data: layer });
24
+ // default:
25
+ // return <VectorLayer beforeId={beforeId} layer={layer} />;
26
+ // }
27
+ }
@@ -0,0 +1,6 @@
1
+ import { GeoserverLayer } from "../../../../interfaces";
2
+ export default function RasterLayer({ data, beforeId, }: {
3
+ data: GeoserverLayer;
4
+ beforeId?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/map/layers/raster/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAC,MAAM,CAAA;CACjB,2CA4BA"}
@@ -0,0 +1,19 @@
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.default = RasterLayer;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const maplibre_1 = require("react-map-gl/maplibre");
9
+ const use_layers_1 = __importDefault(require("../../../../hooks/use-layers"));
10
+ function RasterLayer({ data, beforeId, }) {
11
+ const { mp } = (0, use_layers_1.default)();
12
+ return ((0, jsx_runtime_1.jsx)(maplibre_1.Source, { id: data.id, type: "raster",
13
+ // tiles={[
14
+ // `${mp?.geoserver?.endpoint}/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&transparent=true&layers=biodiv:${data.id}`,
15
+ // ]}
16
+ tiles: [
17
+ `${mp?.geoserver?.endpoint}/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&transparent=true&layers=metastring:kew`,
18
+ ], tileSize: 256, children: (0, jsx_runtime_1.jsx)(maplibre_1.Layer, { id: data.id, beforeId: beforeId, type: "raster", source: "biodiv", layout: { visibility: "visible" }, paint: {} }) }));
19
+ }
@@ -0,0 +1,5 @@
1
+ export default function VectorLayer({ layer: data, beforeId }: {
2
+ layer: any;
3
+ beforeId: any;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/map/layers/vector/index.tsx"],"names":[],"mappings":"AAmBA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;;;CAAA,2CA+B5D"}
@@ -0,0 +1,29 @@
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.default = VectorLayer;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // @ts-nocheck
9
+ const react_1 = require("react");
10
+ const maplibre_1 = require("react-map-gl/maplibre");
11
+ const use_layers_1 = __importDefault(require("../../../../hooks/use-layers"));
12
+ const constants_1 = require("../../../../static/constants");
13
+ const paint = {
14
+ fill: {
15
+ "line-color": "red",
16
+ "line-width": 2,
17
+ },
18
+ circle: {
19
+ "circle-stroke-color": "red",
20
+ "circle-stroke-width": 2,
21
+ "circle-opacity": 0,
22
+ },
23
+ };
24
+ function VectorLayer({ layer: data, beforeId }) {
25
+ const { layer } = (0, use_layers_1.default)();
26
+ const layerProps = (0, react_1.useMemo)(() => data.data?.styles?.[data.data?.styleIndex]?.colors, [data, layer.selectedFeatures]);
27
+ const highlightData = layer.selectedFeaturesId?.[data.id];
28
+ return ((0, jsx_runtime_1.jsxs)(maplibre_1.Source, { ...data.source, children: [layerProps && (0, jsx_runtime_1.jsx)(maplibre_1.Layer, { beforeId: beforeId, ...layerProps }), highlightData && layerProps && ((0, jsx_runtime_1.jsx)(maplibre_1.Layer, { ...layerProps, beforeId: beforeId, id: `hl_${data.id}`, filter: ["in", constants_1.PROPERTY_ID, ...highlightData], type: layerProps.type === "fill" ? "line" : layerProps.type, paint: paint[layerProps.type] }))] }));
29
+ }
@@ -0,0 +1,3 @@
1
+ declare const MarkersList: () => import("react/jsx-runtime").JSX.Element;
2
+ export default MarkersList;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/map/marker-list/index.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,WAAW,+CAkBhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,16 @@
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
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
8
+ const maplibre_1 = require("react-map-gl/maplibre");
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const Marker1 = maplibre_1.Marker;
11
+ const MarkersList = () => {
12
+ const { mp } = (0, use_layers_1.default)();
13
+ const markersMemoized = (0, react_1.useMemo)(() => mp.markers, [mp.markers]);
14
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: markersMemoized?.map(({ latitude, longitude, colorHex }, index) => ((0, jsx_runtime_1.jsx)(Marker1, { latitude: latitude, longitude: longitude, children: (0, jsx_runtime_1.jsx)("img", { style: { cursor: "pointer" }, alt: "Marker", src: `https://a.tiles.mapbox.com/v4/marker/pin-m+${colorHex}.png?access_token=${mp.mapboxAccessToken}` }) }, index))) }));
15
+ };
16
+ exports.default = MarkersList;
@@ -0,0 +1,3 @@
1
+ declare const MarkersList: () => import("react/jsx-runtime").JSX.Element;
2
+ export default MarkersList;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/map/markers-list/index.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,WAAW,+CAkBhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,16 @@
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
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
8
+ const maplibre_1 = require("react-map-gl/maplibre");
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const Marker1 = maplibre_1.Marker;
11
+ const MarkersList = () => {
12
+ const { mp } = (0, use_layers_1.default)();
13
+ const markersMemoized = (0, react_1.useMemo)(() => mp.markers, [mp.markers]);
14
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: markersMemoized?.map(({ latitude, longitude, colorHex }, index) => ((0, jsx_runtime_1.jsx)(Marker1, { latitude: latitude, longitude: longitude, children: (0, jsx_runtime_1.jsx)("img", { style: { cursor: "pointer" }, alt: "Marker", src: `https://a.tiles.mapbox.com/v4/marker/pin-m+${colorHex}.png?access_token=${mp.mapboxAccessToken}` }) }, index))) }));
15
+ };
16
+ exports.default = MarkersList;
@@ -0,0 +1,4 @@
1
+ export default function HoverPopup({ coordinates }: {
2
+ coordinates: any;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/map/popup/index.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,WAAW,EAAE;;CAAA,kDAqCjD"}
@@ -0,0 +1,17 @@
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.default = HoverPopup;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const maplibre_1 = require("react-map-gl/maplibre");
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const Pop = maplibre_1.Popup;
11
+ // @ts-ignore
12
+ function HoverPopup({ coordinates }) {
13
+ const { hover } = (0, use_layers_1.default)();
14
+ return coordinates?.lat && hover.features ? ((0, jsx_runtime_1.jsx)(Pop, { latitude: coordinates.lat, longitude: coordinates.lng, closeButton: false, children: (0, jsx_runtime_1.jsxs)("table", { className: "table-auto border border-gray-300 bg-white", children: [(0, jsx_runtime_1.jsx)("thead", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("th", { className: "bg-gray-200 py-1 px-2 text-left", colSpan: 2, children: hover.features.title }) }) }), (0, jsx_runtime_1.jsxs)("tbody", { children: ["// @ts", hover.features.data.map(
15
+ // @ts-ignore
16
+ ([k, v], idx) => ((0, jsx_runtime_1.jsxs)("tr", { className: `border-t border-gray-100 ${idx % 2 === 0 ? "bg-gray-50" : ""}`, children: [(0, jsx_runtime_1.jsx)("td", { className: "py-1 px-2", children: k }), (0, jsx_runtime_1.jsx)("td", { className: "py-1 px-2 border-l border-gray-100", children: v })] }, k + v)))] })] }) })) : null;
17
+ }
@@ -0,0 +1,4 @@
1
+ export default function GridLegend({ item }: {
2
+ item: any;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=grid-legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-legend.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/grid-legend.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE;;CAAA,kDAqC1C"}
@@ -0,0 +1,22 @@
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.default = GridLegend;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // @ts-nocheck
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const moreless_1 = __importDefault(require("./moreless"));
11
+ function GridLegend({ item }) {
12
+ const { layer } = (0, use_layers_1.default)();
13
+ const legendInfo = layer.gridLegends[item.id];
14
+ if (!legendInfo)
15
+ return null;
16
+ return ((0, jsx_runtime_1.jsx)(moreless_1.default, { children: (0, jsx_runtime_1.jsxs)("ul", { style: { margin: 0, padding: 0 }, children: [legendInfo?.stops.map(([stop, color], index, stopsArr) => {
17
+ const prevStop = (stopsArr[index - 1] || [0])[0];
18
+ if (prevStop === stop)
19
+ return (0, jsx_runtime_1.jsx)("div", {}, color);
20
+ return ((0, jsx_runtime_1.jsxs)("li", { className: "flex gap-2 items-center mb-1", children: [(0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 24 24", height: "14", width: "14", focusable: "false", children: (0, jsx_runtime_1.jsx)("circle", { cx: "12", fill: color, cy: "12", r: "12", stroke: "none" }) }), (0, jsx_runtime_1.jsxs)("div", { children: [prevStop, " - ", stop] })] }, color));
21
+ }), (0, jsx_runtime_1.jsxs)("li", { children: ["1 Square = ", legendInfo?.squareSize, " x ", legendInfo?.squareSize, " km"] })] }) }));
22
+ }
@@ -0,0 +1,10 @@
1
+ interface InfoPopoverProps {
2
+ item?: any;
3
+ containerStyle?: any;
4
+ }
5
+ export declare function InfoPopover({ item, containerStyle }: InfoPopoverProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare const PopoverWrapper: ({ item }: {
7
+ item: any;
8
+ }) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=info-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-popover.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/info-popover.tsx"],"names":[],"mappings":"AAwDA,UAAU,gBAAgB;IACxB,IAAI,CAAC,MAAC;IACN,cAAc,CAAC,MAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,gBAAgB,2CA2ErE;AAED,eAAO,MAAM,cAAc,GAAI;;CAAQ,4CAqBtC,CAAC"}
@@ -0,0 +1,32 @@
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.PopoverWrapper = void 0;
7
+ exports.InfoPopover = InfoPopover;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ // @ts-nocheck
10
+ const react_1 = require("react");
11
+ const react_tiny_popover_1 = require("react-tiny-popover");
12
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
13
+ const core_1 = require("../../core");
14
+ const LayerInfoLine = ({ icon, name, title, link, children, }) => {
15
+ const content = (0, jsx_runtime_1.jsx)("span", { children: children || "-" });
16
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex gap-3 text-sm text-gray-600 break-all", title: name && title && `${name}: ${itle}`, children: [(0, jsx_runtime_1.jsx)("div", { children: icon }), link ? ((0, jsx_runtime_1.jsx)("a", { className: "text-blue-700 focus:outline-none focus:ring", target: "_blank", rel: "noopener", href: link, children: content })) : (content)] }));
17
+ };
18
+ function InfoPopover({ item, containerStyle }) {
19
+ const { layer, mp } = (0, use_layers_1.default)();
20
+ const license = item.license || "CC-BY";
21
+ const createdOn = item?.createdDate && new Date(item.createdDate).toLocaleDateString();
22
+ const tags = item.tags?.join(", ");
23
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-1 bg-white p-4 rounded-lg w-72 border border-gray-300 border-solid", style: containerStyle, children: [mp.managePublishing && item.layerStatus && ((0, jsx_runtime_1.jsxs)(LayerInfoLine, { icon: (0, jsx_runtime_1.jsx)(core_1.EyeIcon, {}), name: ("visiblity"), title: item.layerStatus, children: [item.layerStatus, (0, jsx_runtime_1.jsx)("button", { className: "text-blue-600 focus:outline-none ml-4", onClick: () => layer.togglePublish(item.id, item?.layerStatus), children: ("toggle") }), (0, jsx_runtime_1.jsx)("button", { className: "text-red-600 focus:outline-none ml-4", onClick: () => layer.delete(item.id, t("are_you_sure")), children: ("delete") })] })), (0, jsx_runtime_1.jsx)(LayerInfoLine, { icon: (0, jsx_runtime_1.jsx)(core_1.AttributionIcon, {}), link: item.url, name: ("uploader"), title: item.createdBy, children: item.createdBy }), (0, jsx_runtime_1.jsx)(LayerInfoLine, { icon: (0, jsx_runtime_1.jsx)(core_1.AttributionIcon, {}), link: item.url, name: ("created_by"), title: item.attribution, children: item.attribution }), (0, jsx_runtime_1.jsx)(LayerInfoLine, { icon: (0, jsx_runtime_1.jsx)(core_1.ClockIcon, {}), name: ("created_on"), title: createdOn, children: createdOn }), (0, jsx_runtime_1.jsx)(LayerInfoLine, { icon: (0, jsx_runtime_1.jsx)(core_1.TagIcon, {}), name: ("tags"), title: ags, children: ags }), (0, jsx_runtime_1.jsx)(LayerInfoLine, { name: ("license"), title: license,
24
+ // link={license && LICENSES[license]}
25
+ icon: (0, jsx_runtime_1.jsx)(core_1.LicenseIcon, {}), children: license })] }));
26
+ }
27
+ const PopoverWrapper = ({ item }) => {
28
+ const [isPopoverOpen, setIsPopoverOpen] = (0, react_1.useState)(false);
29
+ const togglePopover = () => setIsPopoverOpen(!isPopoverOpen);
30
+ return ((0, jsx_runtime_1.jsx)(react_tiny_popover_1.Popover, { isOpen: isPopoverOpen, padding: 10, positions: ["right"], containerStyle: { zIndex: 99 }, onClickOutside: togglePopover, content: (0, jsx_runtime_1.jsx)(InfoPopover, { item: item }), children: (0, jsx_runtime_1.jsx)(core_1.Button, { onClick: togglePopover, children: (0, jsx_runtime_1.jsx)(core_1.InfoIcon, {}), title: "Information" }) }));
31
+ };
32
+ exports.PopoverWrapper = PopoverWrapper;
@@ -0,0 +1,4 @@
1
+ export default function LayerItemStyle({ item }: {
2
+ item: any;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=layer-item-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-item-style.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/layer-item-style.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,kDA0B7D"}
@@ -0,0 +1,21 @@
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.default = LayerItemStyle;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // @ts-nocheck
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const core_1 = require("../../core");
11
+ const moreless_1 = __importDefault(require("./moreless"));
12
+ const style_legend_1 = require("./style-legend");
13
+ function LayerItemStyle({ item }) {
14
+ if (!item.data?.styles)
15
+ return null;
16
+ const { layer } = (0, use_layers_1.default)();
17
+ const onStyleChange = (e) => {
18
+ layer.updateStyle(item.id, Number(e.target.value));
19
+ };
20
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-4 pt-2", children: [item.layerType !== "RASTER" && ((0, jsx_runtime_1.jsx)(core_1.SelectInput, { onChange: onStyleChange, children: item.data?.styles.map((opt, idx) => ((0, jsx_runtime_1.jsx)("option", { value: idx, children: opt.styleTitle }, idx))) })), (0, jsx_runtime_1.jsx)(moreless_1.default, { children: (0, jsx_runtime_1.jsx)(style_legend_1.StyleLegend, { item: item }) })] }));
21
+ }
@@ -0,0 +1,11 @@
1
+ import { GeoserverLayer } from "../../../interfaces";
2
+ interface LayerItemProps {
3
+ item: GeoserverLayer;
4
+ extended?: boolean;
5
+ /** dnd-kit handlers passed from Sortable wrapper */
6
+ dragHandleProps?: any;
7
+ dragHandleRef?: any;
8
+ }
9
+ export default function LayerItem({ item, extended, dragHandleProps, dragHandleRef, }: LayerItemProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=layer-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-item.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/layer-item.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAwBrD,UAAU,cAAc;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oDAAoD;IACpD,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAGD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,aAAa,GACd,EAAE,cAAc,2CAyIhB"}
@@ -0,0 +1,59 @@
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.default = LayerItem;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
10
+ const naksha_1 = require("../../../services/naksha");
11
+ const constants_1 = require("../../../static/constants");
12
+ const core_1 = require("../../core");
13
+ const highlighter_1 = require("../../core/highlighter");
14
+ const grid_legend_1 = __importDefault(require("./grid-legend"));
15
+ const info_popover_1 = require("./info-popover");
16
+ const layer_item_style_1 = __importDefault(require("./layer-item-style"));
17
+ const opacity_handler_addon_1 = __importDefault(require("./opacity-handler-addon"));
18
+ function LayerItem({ item, extended, dragHandleProps, dragHandleRef, }) {
19
+ const { layer, query, mp, query: { setClickedLngLat }, setIsInfoBarOpen, } = (0, use_layers_1.default)();
20
+ const [isAdded, setIsAdded] = (0, react_1.useState)(layer.selectedIds.includes(item.id));
21
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
22
+ const shareUrl = `${window.location.href.split("?")[0]}?layers=${item.id}`;
23
+ /** native Web Share API replacement */
24
+ const shareLayer = async () => {
25
+ const shareData = {
26
+ title: item.title,
27
+ text: item.title,
28
+ url: shareUrl,
29
+ };
30
+ if (navigator.share) {
31
+ try {
32
+ await navigator.share(shareData);
33
+ }
34
+ catch { }
35
+ }
36
+ else {
37
+ await navigator.clipboard.writeText(shareUrl);
38
+ alert("Link copied to clipboard");
39
+ }
40
+ };
41
+ const onToggleLayer = async () => {
42
+ setIsLoading(true);
43
+ setIsInfoBarOpen(true);
44
+ layer.setSelectedFeatures([]);
45
+ setClickedLngLat(null);
46
+ await layer.toggle({ layerId: item.id, add: !isAdded });
47
+ setIsAdded(!isAdded);
48
+ setIsLoading(false);
49
+ };
50
+ const onDownloadLayer = async () => {
51
+ await (0, naksha_1.axDownloadLayer)(
52
+ // @ts-ignore
53
+ mp.nakshaApiEndpoint, mp.nakshaEndpointToken, item.id, item.title);
54
+ // @ts-ignore
55
+ mp?.onLayerDownload(item.id);
56
+ };
57
+ const handleOnZoom = () => layer?.zoomToExtent(item?.id);
58
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "z-20 p-3 bg-white border-t border-gray-200", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex gap-3", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col items-center shrink-0", children: [(0, jsx_runtime_1.jsx)(core_1.CheckboxInput, { name: item.id, checked: isAdded, onChange: onToggleLayer, isLoading: isLoading }), extended && ((0, jsx_runtime_1.jsx)("div", { ref: dragHandleRef, ...dragHandleProps, className: "mt-1 w-6 text-center cursor-move", children: (0, jsx_runtime_1.jsx)(core_1.GrabberIcon, {}) }))] }), (0, jsx_runtime_1.jsx)("img", { className: "flex shrink-0 overflow-hidden h-16 w-16 p-1 mb-2 object-cover border border-gray-200 rounded", src: item.thumbnail || constants_1.FALLBACK_THUMB }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { title: item.title, className: "mb-1 leading-tight", style: constants_1.overflowStyle, children: (0, jsx_runtime_1.jsx)(highlighter_1.Highlighted, { text: item.title, highlight: query.term }) }), (0, jsx_runtime_1.jsx)("p", { title: item.description, className: "text-gray-600 text-sm", style: constants_1.overflowStyle2, children: item.description })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "pb-3", children: extended && (0, jsx_runtime_1.jsx)(opacity_handler_addon_1.default, {}) }), (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsxs)(core_1.Button, { onClick: onDownloadLayer, disabled: !item.isDownloadable, children: [(0, jsx_runtime_1.jsx)(core_1.DownloadIcon, {}), " Download"] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex gap-3", children: [(0, jsx_runtime_1.jsx)(core_1.Button, { onClick: shareLayer, title: "Share", children: (0, jsx_runtime_1.jsx)(core_1.ShareIcon, {}) }), extended && ((0, jsx_runtime_1.jsx)(core_1.Button, { onClick: handleOnZoom, title: "Zoom To Extent", children: (0, jsx_runtime_1.jsx)(core_1.ZoomExtentIcon, {}) })), (0, jsx_runtime_1.jsx)(info_popover_1.PopoverWrapper, { item: item })] })] }), extended && (0, jsx_runtime_1.jsx)(layer_item_style_1.default, { item: item }), extended && item?.source?.type === "grid" && (0, jsx_runtime_1.jsx)(grid_legend_1.default, { item: item })] }));
59
+ }
@@ -0,0 +1,4 @@
1
+ export default function MoreLess({ children }: {
2
+ children: any;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=moreless.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moreless.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/moreless.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE;;CAAA,2CAc5C"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = MoreLess;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ // @ts-nocheck
6
+ const react_1 = require("react");
7
+ function MoreLess({ children }) {
8
+ const [showMore, setShowMore] = (0, react_1.useState)(false);
9
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [showMore && children, (0, jsx_runtime_1.jsx)("button", { onClick: () => setShowMore(!showMore), className: `text-blue-600 focus:outline-none focus:outline focus:ring`, children: showMore ? ("less") : ("legend") })] }));
10
+ }
@@ -0,0 +1,3 @@
1
+ declare const OpacitySlider: () => import("react/jsx-runtime").JSX.Element;
2
+ export default OpacitySlider;
3
+ //# sourceMappingURL=opacity-handler-addon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opacity-handler-addon.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/opacity-handler-addon.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa,+CAqBlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const react_1 = require("react");
5
+ const OpacitySlider = () => {
6
+ const [opacity, setOpacity] = (0, react_1.useState)(1);
7
+ return ((0, jsx_runtime_1.jsx)("div", { className: "max-w-sm space-y-4", children: (0, jsx_runtime_1.jsx)("input", { id: "opacity-slider", type: "range", min: "0", max: "1", step: "0.01", value: opacity, onChange: (e) => setOpacity(Number(e.target.value)), className: "\n w-full cursor-pointer text-2xl\n " }) }));
8
+ };
9
+ exports.default = OpacitySlider;
@@ -0,0 +1,4 @@
1
+ export declare function StyleLegend({ item }: {
2
+ item: any;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=style-legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-legend.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/common/style-legend.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE;;CAAA,2CA4CnC"}
@@ -0,0 +1,23 @@
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.StyleLegend = StyleLegend;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ // @ts-nocheck
9
+ const react_1 = require("react");
10
+ const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
11
+ function StyleLegend({ item }) {
12
+ const [showImage, setShowImage] = (0, react_1.useState)(true);
13
+ const { mp } = (0, use_layers_1.default)();
14
+ const { t } = useT();
15
+ const legendStyles = (0, react_1.useMemo)(() => item?.data?.styles?.[item.data.styleIndex]?.colors?.paint?.["fill-color"]
16
+ ?.stops ||
17
+ item?.data?.styles?.[item.data.styleIndex]?.colors?.paint?.["circle-color"]?.stops ||
18
+ [], [item]);
19
+ const vectorLegend = () => {
20
+ return legendStyles.map(([title, color]) => ((0, jsx_runtime_1.jsxs)("li", { className: "flex gap-2 items-center mb-1", children: [(0, jsx_runtime_1.jsx)("svg", { viewBox: "0 0 24 24", height: "14", width: "14", focusable: "false", children: (0, jsx_runtime_1.jsx)("circle", { cx: "12", fill: color, cy: "12", r: "12", stroke: "none" }) }), (0, jsx_runtime_1.jsx)("div", { children: title })] }, color)));
21
+ };
22
+ return ((0, jsx_runtime_1.jsx)("ul", { style: { margin: 0, padding: 0 }, children: item.layerType !== "RASTER" ? (vectorLegend()) : showImage ? ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("img", { style: { margin: "5px" }, onError: () => setShowImage(false), src: `${mp?.geoserver?.endpoint}/wms?REQUEST=GetLegendGraphic&VERSION=1.0.0&WIDTH=20&HEIGHT=20&STRICT=false&layer=biodiv:${item.id}` }) })) : ((0, jsx_runtime_1.jsx)("div", { children: t("raster_style_not_found") })) }));
23
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/common.tsx"],"names":[],"mappings":""}