@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.
- package/dist/card.d.ts +7 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +7 -0
- package/dist/components/core/button.d.ts +7 -0
- package/dist/components/core/button.d.ts.map +1 -0
- package/dist/components/core/button.js +21 -0
- package/dist/components/core/highlighter.d.ts +5 -0
- package/dist/components/core/highlighter.d.ts.map +1 -0
- package/dist/components/core/highlighter.js +15 -0
- package/dist/components/core/icons.d.ts +17 -0
- package/dist/components/core/icons.d.ts.map +1 -0
- package/dist/components/core/icons.js +60 -0
- package/dist/components/core/iconts.d.ts +2 -0
- package/dist/components/core/iconts.d.ts.map +1 -0
- package/dist/components/core/iconts.js +2 -0
- package/dist/components/core/index.d.ts +5 -0
- package/dist/components/core/index.d.ts.map +1 -0
- package/dist/components/core/index.js +20 -0
- package/dist/components/core/input.d.ts +14 -0
- package/dist/components/core/input.d.ts.map +1 -0
- package/dist/components/core/input.js +18 -0
- package/dist/components/core/popup.d.ts +5 -0
- package/dist/components/core/popup.d.ts.map +1 -0
- package/dist/components/core/popup.js +11 -0
- package/dist/components/core/tabs.d.ts +46 -0
- package/dist/components/core/tabs.d.ts.map +1 -0
- package/dist/components/core/tabs.js +147 -0
- package/dist/components/infobar/content.d.ts +4 -0
- package/dist/components/infobar/content.d.ts.map +1 -0
- package/dist/components/infobar/content.js +22 -0
- package/dist/components/infobar/index.d.ts +2 -0
- package/dist/components/infobar/index.d.ts.map +1 -0
- package/dist/components/infobar/index.js +17 -0
- package/dist/components/infobar/infobar-panel.d.ts +4 -0
- package/dist/components/infobar/infobar-panel.d.ts.map +1 -0
- package/dist/components/infobar/infobar-panel.js +52 -0
- package/dist/components/map/index.d.ts +2 -0
- package/dist/components/map/index.d.ts.map +1 -0
- package/dist/components/map/index.js +66 -0
- package/dist/components/map/layers/grid/index.d.ts +6 -0
- package/dist/components/map/layers/grid/index.d.ts.map +1 -0
- package/dist/components/map/layers/grid/index.js +31 -0
- package/dist/components/map/layers/highlight/index.d.ts +2 -0
- package/dist/components/map/layers/highlight/index.d.ts.map +1 -0
- package/dist/components/map/layers/highlight/index.js +7 -0
- package/dist/components/map/layers/index.d.ts +6 -0
- package/dist/components/map/layers/index.d.ts.map +1 -0
- package/dist/components/map/layers/index.js +27 -0
- package/dist/components/map/layers/raster/index.d.ts +6 -0
- package/dist/components/map/layers/raster/index.d.ts.map +1 -0
- package/dist/components/map/layers/raster/index.js +19 -0
- package/dist/components/map/layers/vector/index.d.ts +5 -0
- package/dist/components/map/layers/vector/index.d.ts.map +1 -0
- package/dist/components/map/layers/vector/index.js +29 -0
- package/dist/components/map/marker-list/index.d.ts +3 -0
- package/dist/components/map/marker-list/index.d.ts.map +1 -0
- package/dist/components/map/marker-list/index.js +16 -0
- package/dist/components/map/markers-list/index.d.ts +3 -0
- package/dist/components/map/markers-list/index.d.ts.map +1 -0
- package/dist/components/map/markers-list/index.js +16 -0
- package/dist/components/map/popup/index.d.ts +4 -0
- package/dist/components/map/popup/index.d.ts.map +1 -0
- package/dist/components/map/popup/index.js +17 -0
- package/dist/components/sidebar/common/grid-legend.d.ts +4 -0
- package/dist/components/sidebar/common/grid-legend.d.ts.map +1 -0
- package/dist/components/sidebar/common/grid-legend.js +22 -0
- package/dist/components/sidebar/common/info-popover.d.ts +10 -0
- package/dist/components/sidebar/common/info-popover.d.ts.map +1 -0
- package/dist/components/sidebar/common/info-popover.js +32 -0
- package/dist/components/sidebar/common/layer-item-style.d.ts +4 -0
- package/dist/components/sidebar/common/layer-item-style.d.ts.map +1 -0
- package/dist/components/sidebar/common/layer-item-style.js +21 -0
- package/dist/components/sidebar/common/layer-item.d.ts +11 -0
- package/dist/components/sidebar/common/layer-item.d.ts.map +1 -0
- package/dist/components/sidebar/common/layer-item.js +59 -0
- package/dist/components/sidebar/common/moreless.d.ts +4 -0
- package/dist/components/sidebar/common/moreless.d.ts.map +1 -0
- package/dist/components/sidebar/common/moreless.js +10 -0
- package/dist/components/sidebar/common/opacity-handler-addon.d.ts +3 -0
- package/dist/components/sidebar/common/opacity-handler-addon.d.ts.map +1 -0
- package/dist/components/sidebar/common/opacity-handler-addon.js +9 -0
- package/dist/components/sidebar/common/style-legend.d.ts +4 -0
- package/dist/components/sidebar/common/style-legend.d.ts.map +1 -0
- package/dist/components/sidebar/common/style-legend.js +23 -0
- package/dist/components/sidebar/common.d.ts +2 -0
- package/dist/components/sidebar/common.d.ts.map +1 -0
- package/dist/components/sidebar/common.js +2 -0
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +38 -0
- package/dist/components/sidebar/layers/index.d.ts +2 -0
- package/dist/components/sidebar/layers/index.d.ts.map +1 -0
- package/dist/components/sidebar/layers/index.js +12 -0
- package/dist/components/sidebar/layers/layer-list.d.ts +2 -0
- package/dist/components/sidebar/layers/layer-list.d.ts.map +1 -0
- package/dist/components/sidebar/layers/layer-list.js +64 -0
- package/dist/components/sidebar/layers/search.d.ts +2 -0
- package/dist/components/sidebar/layers/search.d.ts.map +1 -0
- package/dist/components/sidebar/layers/search.js +16 -0
- package/dist/components/sidebar/layers.d.ts +2 -0
- package/dist/components/sidebar/layers.d.ts.map +1 -0
- package/dist/components/sidebar/layers.js +2 -0
- package/dist/components/sidebar/selected/extended.d.ts +3 -0
- package/dist/components/sidebar/selected/extended.d.ts.map +1 -0
- package/dist/components/sidebar/selected/extended.js +7 -0
- package/dist/components/sidebar/selected/index.d.ts +2 -0
- package/dist/components/sidebar/selected/index.d.ts.map +1 -0
- package/dist/components/sidebar/selected/index.js +20 -0
- package/dist/components/sidebar/selected/selected-item-list.d.ts +10 -0
- package/dist/components/sidebar/selected/selected-item-list.d.ts.map +1 -0
- package/dist/components/sidebar/selected/selected-item-list.js +36 -0
- package/dist/components/sidebar/settings/index.d.ts +2 -0
- package/dist/components/sidebar/settings/index.d.ts.map +1 -0
- package/dist/components/sidebar/settings/index.js +16 -0
- package/dist/components/sidebar/settings/layer-selection.d.ts +6 -0
- package/dist/components/sidebar/settings/layer-selection.d.ts.map +1 -0
- package/dist/components/sidebar/settings/layer-selection.js +17 -0
- package/dist/components/sidebar/tabs.d.ts +4 -0
- package/dist/components/sidebar/tabs.d.ts.map +1 -0
- package/dist/components/sidebar/tabs.js +15 -0
- package/dist/gradient.d.ts +6 -0
- package/dist/gradient.d.ts.map +1 -0
- package/dist/gradient.js +9 -0
- package/dist/hooks/use-layers.d.ts +55 -0
- package/dist/hooks/use-layers.d.ts.map +1 -0
- package/dist/hooks/use-layers.js +298 -0
- package/dist/index.css +1129 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/interfaces/index.d.ts +103 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +2 -0
- package/dist/services/naksha.d.ts +62 -0
- package/dist/services/naksha.d.ts.map +1 -0
- package/dist/services/naksha.js +420 -0
- package/dist/static/constant.d.ts +16 -0
- package/dist/static/constant.d.ts.map +1 -0
- package/dist/static/constant.js +34 -0
- package/dist/static/constants.d.ts +16 -0
- package/dist/static/constants.d.ts.map +1 -0
- package/dist/static/constants.js +34 -0
- package/dist/test.d.ts +2 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +9 -0
- package/dist/turborepo-logo.d.ts +2 -0
- package/dist/turborepo-logo.d.ts.map +1 -0
- package/dist/turborepo-logo.js +8 -0
- package/dist/utils/array-move.d.ts +3 -0
- package/dist/utils/array-move.d.ts.map +1 -0
- package/dist/utils/array-move.js +19 -0
- package/dist/utils/grid.d.ts +22 -0
- package/dist/utils/grid.d.ts.map +1 -0
- package/dist/utils/grid.js +116 -0
- package/dist/utils/naksha.d.ts +32 -0
- package/dist/utils/naksha.d.ts.map +1 -0
- package/dist/utils/naksha.js +141 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.tsx"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,OAAO,4CAsC9B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 = Sidebar;
|
|
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
|
+
const core_1 = require("../core");
|
|
13
|
+
const tabs_1 = __importDefault(require("./tabs"));
|
|
14
|
+
function Sidebar() {
|
|
15
|
+
const { mp, layer } = (0, use_layers_1.default)();
|
|
16
|
+
const [isOpen, setIsOpen] = (0, react_1.useState)(mp.showToC);
|
|
17
|
+
const { mapl } = (0, maplibre_1.useMap)();
|
|
18
|
+
const toggleOpen = () => setIsOpen(!isOpen);
|
|
19
|
+
async function loadToC() {
|
|
20
|
+
const _layers = await (0, naksha_1.axGetGeoserverLayers)(mp.nakshaEndpointToken,
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
mp.nakshaApiEndpoint, mp.geoserver, mp.selectedLayers);
|
|
23
|
+
const _newLayers = [...(mp.layers || []), ..._layers];
|
|
24
|
+
layer.setAll(_newLayers);
|
|
25
|
+
// if any layer is selected at first it will try to zoom to bounds
|
|
26
|
+
if (layer.selectedIds.length) {
|
|
27
|
+
const _layer = _newLayers.find((l) => l.id === layer.selectedIds[0]);
|
|
28
|
+
_layer?.bbox &&
|
|
29
|
+
mapl?.fitBounds(_layer.bbox, { padding: 40, duration: 1000 });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
(0, react_1.useEffect)(() => {
|
|
33
|
+
if (mapl && mp.loadToC) {
|
|
34
|
+
loadToC();
|
|
35
|
+
}
|
|
36
|
+
}, [mapl]);
|
|
37
|
+
return isOpen ? ((0, jsx_runtime_1.jsx)(tabs_1.default, { onClose: toggleOpen })) : ((0, jsx_runtime_1.jsx)(core_1.LayersButton, { onClick: toggleOpen }));
|
|
38
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/layers/index.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,cAAc,4CAWrC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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 = LayersTabPanel;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const layer_list_1 = require("./layer-list");
|
|
9
|
+
const search_1 = __importDefault(require("./search"));
|
|
10
|
+
function LayersTabPanel() {
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col flex-1 min-h-0 w-full", children: [(0, jsx_runtime_1.jsx)("div", { className: "shrink-0", children: (0, jsx_runtime_1.jsx)(search_1.default, {}) }), (0, jsx_runtime_1.jsx)("div", { className: "flex-1 min-h-0 overflow-y-auto", children: (0, jsx_runtime_1.jsx)(layer_list_1.LayerList, {}) })] }));
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-list.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/layers/layer-list.tsx"],"names":[],"mappings":"AASA,wBAAgB,SAAS,4CAwExB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.LayerList = LayerList;
|
|
41
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
// changed import:
|
|
44
|
+
const react_virtual_1 = require("@tanstack/react-virtual");
|
|
45
|
+
const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
|
|
46
|
+
const layer_item_1 = __importDefault(require("../common/layer-item"));
|
|
47
|
+
function LayerList() {
|
|
48
|
+
const { layer, query } = (0, use_layers_1.default)();
|
|
49
|
+
const filteredLayers = (0, react_1.useMemo)(() => query.term
|
|
50
|
+
? layer.all.filter((_l) => _l.title.toLowerCase().includes(query.term.toLowerCase()))
|
|
51
|
+
: layer.all, [layer.all, query.term]);
|
|
52
|
+
// parentRef is the scrolling element
|
|
53
|
+
const parentRef = react_1.default.useRef(null);
|
|
54
|
+
// Use tanstack virtualizer. We have a fixed row height of 146 (keeps your layout logic).
|
|
55
|
+
const rowVirtualizer = (0, react_virtual_1.useVirtualizer)({
|
|
56
|
+
count: filteredLayers.length,
|
|
57
|
+
getScrollElement: () => parentRef.current,
|
|
58
|
+
estimateSize: () => 146, // same as your inner div height
|
|
59
|
+
overscan: 5,
|
|
60
|
+
});
|
|
61
|
+
const virtualItems = rowVirtualizer.getVirtualItems();
|
|
62
|
+
const totalSize = rowVirtualizer.getTotalSize();
|
|
63
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "flex flex-col h-full", children: (0, jsx_runtime_1.jsx)("div", { className: "flex-1 min-h-0 overflow-y-auto", children: filteredLayers.map((item, idx) => ((0, jsx_runtime_1.jsx)("div", { style: { height: 146, boxSizing: "border-box", padding: 8 }, children: (0, jsx_runtime_1.jsx)(layer_item_1.default, { item: item }) }, item?.id ?? idx))) }) }));
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/layers/search.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,4CAgBlC"}
|
|
@@ -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
|
+
exports.default = LayerSearch;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
|
|
9
|
+
const core_1 = require("../../core");
|
|
10
|
+
function LayerSearch() {
|
|
11
|
+
const { query } = (0, use_layers_1.default)();
|
|
12
|
+
const handleOnSearchChange = (e) => {
|
|
13
|
+
query.setTerm(e.target.value);
|
|
14
|
+
};
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "flex-1 shrink-0 border-b-2 p-4", children: (0, jsx_runtime_1.jsx)(core_1.SearchInput, { name: "lyr_search", placeholder: "Find layer by name", onChange: handleOnSearchChange }) }));
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/layers.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/selected/extended.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,+CAIb,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/selected/index.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,4CAwBvC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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 = SelectedTabPanel;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const array_move_1 = require("../../../utils/array-move");
|
|
9
|
+
const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
|
|
10
|
+
const selected_item_list_1 = require("./selected-item-list");
|
|
11
|
+
const core_1 = require("../../core");
|
|
12
|
+
function SelectedTabPanel() {
|
|
13
|
+
const { layer } = (0, use_layers_1.default)();
|
|
14
|
+
const onSortEnd = ({ oldIndex, newIndex }) => {
|
|
15
|
+
layer.setSelectedIds((0, array_move_1.arrayMoveImmutable)(layer.selectedIds, oldIndex, newIndex));
|
|
16
|
+
};
|
|
17
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `flex flex-col gap-3 w-full`, children: [layer.selectedIds.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: `p-3 pb-0`, children: (0, jsx_runtime_1.jsxs)(core_1.Button, { onClick: () => layer.clearAll(), children: ["\u2715 ", ("clear")] }) })), (0, jsx_runtime_1.jsx)(selected_item_list_1.SelectedItemList, { layerList: layer.selectedLayers,
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
useDragHandle: true, onSortEnd: onSortEnd })] }));
|
|
20
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const SelectedItem: ({ id, item, extended }: {
|
|
2
|
+
id: any;
|
|
3
|
+
item: any;
|
|
4
|
+
extended: any;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const SelectedItemList: ({ layerList, onSort }: {
|
|
7
|
+
layerList: any;
|
|
8
|
+
onSort: any;
|
|
9
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=selected-item-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected-item-list.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/selected/selected-item-list.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,GAAI;;;;CAAsB,4CA0BlD,CAAC;AAGF,eAAO,MAAM,gBAAgB,GAAI;;;CAAqB,4CA6BrD,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.SelectedItemList = exports.SelectedItem = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const core_1 = require("@dnd-kit/core");
|
|
9
|
+
const sortable_1 = require("@dnd-kit/sortable");
|
|
10
|
+
const utilities_1 = require("@dnd-kit/utilities");
|
|
11
|
+
const layer_item_1 = __importDefault(require("../common/layer-item"));
|
|
12
|
+
/* ---------------- SelectedItem (SortableElement) ---------------- */
|
|
13
|
+
const SelectedItem = ({ id, item, extended }) => {
|
|
14
|
+
const { setNodeRef, attributes, listeners, transform, transition, isDragging } = (0, sortable_1.useSortable)({ id });
|
|
15
|
+
const style = {
|
|
16
|
+
transform: utilities_1.CSS.Transform.toString(transform),
|
|
17
|
+
transition,
|
|
18
|
+
zIndex: isDragging ? 999 : undefined
|
|
19
|
+
};
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: setNodeRef, style: style, children: (0, jsx_runtime_1.jsx)(layer_item_1.default, { item: item, extended: extended, dragHandleProps: listeners, dragHandleRef: attributes.ref }) }));
|
|
21
|
+
};
|
|
22
|
+
exports.SelectedItem = SelectedItem;
|
|
23
|
+
/* ---------------- SelectedItemList (SortableContainer) ---------------- */
|
|
24
|
+
const SelectedItemList = ({ layerList, onSort }) => {
|
|
25
|
+
const ids = layerList.map((l) => l.id);
|
|
26
|
+
const handleDragEnd = (event) => {
|
|
27
|
+
const { active, over } = event;
|
|
28
|
+
if (!over || active.id === over.id)
|
|
29
|
+
return;
|
|
30
|
+
const oldIndex = ids.indexOf(active.id);
|
|
31
|
+
const newIndex = ids.indexOf(over.id);
|
|
32
|
+
onSort((0, sortable_1.arrayMove)(layerList, oldIndex, newIndex));
|
|
33
|
+
};
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)(core_1.DndContext, { onDragEnd: handleDragEnd, children: (0, jsx_runtime_1.jsx)(sortable_1.SortableContext, { items: ids, strategy: sortable_1.verticalListSortingStrategy, children: (0, jsx_runtime_1.jsx)("div", { children: layerList.map((item) => ((0, jsx_runtime_1.jsx)(exports.SelectedItem, { id: item.id, item: item, extended: true }, item.id))) }) }) }));
|
|
35
|
+
};
|
|
36
|
+
exports.SelectedItemList = SelectedItemList;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/settings/index.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,gBAAgB,4CAwBvC"}
|
|
@@ -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
|
+
exports.default = SettingsTabPanel;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const map_common_1 = require("@metastringfoundation/map-common");
|
|
9
|
+
const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
|
|
10
|
+
const core_1 = require("../../core");
|
|
11
|
+
const layer_selection_1 = __importDefault(require("./layer-selection"));
|
|
12
|
+
function SettingsTabPanel() {
|
|
13
|
+
const { layer } = (0, use_layers_1.default)();
|
|
14
|
+
const handleOnStyleChange = (e) => layer.setMapStyle(e.target.value);
|
|
15
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: `w-full p-4 flex flex-col gap-4`, children: [(0, jsx_runtime_1.jsx)(core_1.SelectInput, { name: "base_style", label: ("base_style"), defaultValue: layer.mapStyle, onChange: handleOnStyleChange, children: map_common_1.defaultMapStyles.map((ms) => ((0, jsx_runtime_1.jsx)("option", { value: ms.style, children: ms.text }, ms.key))) }), (0, jsx_runtime_1.jsx)(layer_selection_1.default, {})] }));
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-selection.d.ts","sourceRoot":"","sources":["../../../../src/components/sidebar/settings/layer-selection.tsx"],"names":[],"mappings":"AAOA,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAC,OAAO,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAuBxE"}
|
|
@@ -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 = LayerSelection;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const use_layers_1 = __importDefault(require("../../../hooks/use-layers"));
|
|
9
|
+
const constants_1 = require("../../../static/constants");
|
|
10
|
+
const core_1 = require("../../core");
|
|
11
|
+
function LayerSelection({ hideLabel }) {
|
|
12
|
+
const { layer: { selectionStyle, handleSelectStyle }, } = (0, use_layers_1.default)();
|
|
13
|
+
const handleOnSelectionStyleChange = (e) => {
|
|
14
|
+
handleSelectStyle(e.target.value);
|
|
15
|
+
};
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)(core_1.SelectInput, { name: "layer_selection", label: hideLabel ? undefined : ("layer_selection"), defaultValue: selectionStyle, onChange: handleOnSelectionStyleChange, children: Object.values(constants_1.SELECTION_STYLE).map((ss) => ((0, jsx_runtime_1.jsx)("option", { value: ss, children: (ss) }, ss))) }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/tabs.tsx"],"names":[],"mappings":"AAeA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE;;CAAA,2CA4B9C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 = SidebarTabs;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const core_1 = require("../core");
|
|
9
|
+
const index_1 = __importDefault(require("./layers/index"));
|
|
10
|
+
const selected_1 = __importDefault(require("./selected"));
|
|
11
|
+
const settings_1 = __importDefault(require("./settings"));
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
function SidebarTabs({ onClose }) {
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "absolute top-0 right-0 bottom-0 left-0 md:right-auto md:top-4 md:left-4 md:bottom-4 bg-white rounded-lg shadow-md md:max-w-sm w-full z-20 overflow-hidden", children: [(0, jsx_runtime_1.jsx)(core_1.CloseButton, { onClick: onClose }), (0, jsx_runtime_1.jsx)("div", { className: "flex flex-col h-full", children: (0, jsx_runtime_1.jsxs)(core_1.Tabs, { className: "flex flex-col h-full", children: [(0, jsx_runtime_1.jsxs)(core_1.TabHeader, { children: [(0, jsx_runtime_1.jsx)(core_1.IconTab, { icon: (0, jsx_runtime_1.jsx)(core_1.LayersIcon, {}), children: ("layers") }), (0, jsx_runtime_1.jsx)(core_1.IconTab, { icon: (0, jsx_runtime_1.jsx)(core_1.LayersIcon, {}), children: ("selected") }), (0, jsx_runtime_1.jsx)(core_1.IconTab, { icon: (0, jsx_runtime_1.jsx)(core_1.SlidersIcon, {}), children: ("settings") })] }), (0, jsx_runtime_1.jsx)(core_1.Panel, { children: (0, jsx_runtime_1.jsx)(index_1.default, {}) }), (0, jsx_runtime_1.jsx)(core_1.Panel, { children: (0, jsx_runtime_1.jsx)(selected_1.default, {}) }), (0, jsx_runtime_1.jsx)(core_1.Panel, { children: (0, jsx_runtime_1.jsx)(settings_1.default, {}) })] }) })] }));
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradient.d.ts","sourceRoot":"","sources":["../src/gradient.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAYA"}
|
package/dist/gradient.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Gradient = Gradient;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
function Gradient({ conic, className, small, }) {
|
|
6
|
+
return ((0, jsx_runtime_1.jsx)("span", { className: `ui:absolute ui:mix-blend-normal ui:will-change-[filter] ui:rounded-[100%] ${small ? "ui:blur-[32px]" : "ui:blur-[75px]"} ${conic
|
|
7
|
+
? "ui:bg-gradient-to-r ui:bg-red-1000 ui:from-10% ui:via-purple-1000 ui:via-30% ui:to-blue-1000 ui:to-100%"
|
|
8
|
+
: ""} ${className ?? ""}` }));
|
|
9
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { GeoserverLayer, NakshaMapboxListProps } from "../interfaces";
|
|
3
|
+
interface LayersContextProps {
|
|
4
|
+
mp: NakshaMapboxListProps;
|
|
5
|
+
updateMP: (key: string, value: any) => void;
|
|
6
|
+
isInfoBarOpen: boolean;
|
|
7
|
+
setIsInfoBarOpen: (v: boolean) => void;
|
|
8
|
+
layer: {
|
|
9
|
+
mapStyle?: any;
|
|
10
|
+
setMapStyle: (s: any) => void;
|
|
11
|
+
featuresAtLatLng: (value?: any) => void;
|
|
12
|
+
all: GeoserverLayer[];
|
|
13
|
+
setAll: (layers: GeoserverLayer[]) => void;
|
|
14
|
+
selectedIds: string[];
|
|
15
|
+
setSelectedIds: (ids: string[]) => void;
|
|
16
|
+
selectedLayers: GeoserverLayer[];
|
|
17
|
+
clearAll: () => void;
|
|
18
|
+
toggle: (args: {
|
|
19
|
+
layerId: string;
|
|
20
|
+
add: boolean;
|
|
21
|
+
styleIndex?: number;
|
|
22
|
+
focus?: boolean;
|
|
23
|
+
}) => Promise<void> | void;
|
|
24
|
+
updateStyle: (layerId: string, styleIndex: number) => Promise<void> | void;
|
|
25
|
+
selectedFeatures: any;
|
|
26
|
+
selectedFeaturesId: any;
|
|
27
|
+
setSelectedFeatures: (f: any) => void;
|
|
28
|
+
togglePublish: (layerId: string, layerStatus: string) => void;
|
|
29
|
+
delete: (layerId: string, message?: string) => void;
|
|
30
|
+
handleSelectStyle: (value: string) => void;
|
|
31
|
+
selectionStyle: string;
|
|
32
|
+
setSelectionStyle: (v: string) => void;
|
|
33
|
+
zoomToExtent: (layerId: string) => void;
|
|
34
|
+
gridLegends: Record<string, any>;
|
|
35
|
+
setGridLegends: (g: Record<string, any>) => void;
|
|
36
|
+
};
|
|
37
|
+
query: {
|
|
38
|
+
term: string;
|
|
39
|
+
setTerm: (t: string) => void;
|
|
40
|
+
clickedLngLat: any;
|
|
41
|
+
setClickedLngLat: (v: any) => void;
|
|
42
|
+
};
|
|
43
|
+
hover: {
|
|
44
|
+
onHover: (e: any) => void;
|
|
45
|
+
features: any;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
interface LayersProviderProps {
|
|
49
|
+
mp: NakshaMapboxListProps;
|
|
50
|
+
children: React.ReactNode;
|
|
51
|
+
}
|
|
52
|
+
export declare const LayersProvider: ({ mp: _mp, children }: LayersProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export default function useLayers(): LayersContextProps;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=use-layers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-layers.d.ts","sourceRoot":"","sources":["../../src/hooks/use-layers.tsx"],"names":[],"mappings":"AACA,OAAO,KAMN,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAStE,UAAU,kBAAkB;IAC1B,EAAE,EAAE,qBAAqB,CAAC;IAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE;QACL,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAC9B,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QACxC,GAAG,EAAE,cAAc,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;QAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;QACxC,cAAc,EAAE,cAAc,EAAE,CAAC;QAEjC,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,MAAM,EAAE,CAAC,IAAI,EAAE;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,OAAO,CAAC;YACb,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,KAAK,CAAC,EAAE,OAAO,CAAC;SACjB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3E,gBAAgB,EAAE,GAAG,CAAC;QACtB,kBAAkB,EAAE,GAAG,CAAC;QACxB,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QACtC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9D,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAC3C,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAEvC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAExC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;KAClD,CAAC;IACF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,aAAa,EAAE,GAAG,CAAC;QACnB,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KACpC,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAC1B,QAAQ,EAAE,GAAG,CAAC;KACf,CAAC;CACH;AAED,UAAU,mBAAmB;IAC3B,EAAE,EAAE,qBAAqB,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAMD,eAAO,MAAM,cAAc,GAAI,uBAAuB,mBAAmB,4CA8UxE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,SAAS,uBAEhC"}
|