nntc-ui 0.0.52 → 0.0.53
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/index.js +76 -65
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1566,9 +1566,9 @@ var WrapForLabel = (props) => {
|
|
|
1566
1566
|
// src/components/common/MultiSelect/MultiSelect.tsx
|
|
1567
1567
|
import classnames12 from "classnames";
|
|
1568
1568
|
import {
|
|
1569
|
-
useCallback as
|
|
1569
|
+
useCallback as useCallback8,
|
|
1570
1570
|
useLayoutEffect as useLayoutEffect2,
|
|
1571
|
-
useMemo as
|
|
1571
|
+
useMemo as useMemo5,
|
|
1572
1572
|
useRef as useRef7,
|
|
1573
1573
|
useState as useState8
|
|
1574
1574
|
} from "react";
|
|
@@ -1649,11 +1649,11 @@ var multiSelect_default = {
|
|
|
1649
1649
|
|
|
1650
1650
|
// src/components/common/MultiSelect/ui/SelectPopover/SelectPopover.tsx
|
|
1651
1651
|
import classNames4 from "classnames";
|
|
1652
|
-
import { useCallback as
|
|
1652
|
+
import { useCallback as useCallback7, useMemo as useMemo4 } from "react";
|
|
1653
1653
|
|
|
1654
1654
|
// src/components/common/Checklist/Checklist.tsx
|
|
1655
1655
|
import classnames11 from "classnames";
|
|
1656
|
-
import { useState as useState7 } from "react";
|
|
1656
|
+
import { useCallback as useCallback6, useMemo as useMemo3, useState as useState7 } from "react";
|
|
1657
1657
|
|
|
1658
1658
|
// src/components/common/Checklist/checklist.module.css
|
|
1659
1659
|
var root13 = "checklist_root";
|
|
@@ -1680,30 +1680,47 @@ function Checklist(props) {
|
|
|
1680
1680
|
const { items: items2, selected: selected5, disableSearch, isDisabled, actionWithSelected, onChangeItem, classes } = props;
|
|
1681
1681
|
const { t } = useTranslation();
|
|
1682
1682
|
const [filterSubstring, setFilterSubstring] = useState7("");
|
|
1683
|
-
const
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1683
|
+
const filteredItems = useMemo3(() => {
|
|
1684
|
+
return filterItems(items2, filterSubstring, selected5);
|
|
1685
|
+
}, [items2, filterSubstring, selected5]);
|
|
1686
|
+
const selectedItemsList = useMemo3(() => {
|
|
1687
|
+
return items2.filter((item3) => !!selected5[item3.value]);
|
|
1688
|
+
}, [items2, selected5]);
|
|
1689
|
+
const handleClick = useCallback6(
|
|
1690
|
+
(item3) => {
|
|
1691
|
+
const value = !selected5[item3.value];
|
|
1692
|
+
if (onChangeItem) {
|
|
1693
|
+
onChangeItem(item3);
|
|
1694
|
+
}
|
|
1695
|
+
const newSelected = { ...selected5, [item3.value]: value };
|
|
1696
|
+
actionWithSelected(newSelected);
|
|
1697
|
+
},
|
|
1698
|
+
[selected5, onChangeItem, actionWithSelected]
|
|
1699
|
+
);
|
|
1700
|
+
const onSelectAll = useCallback6(() => {
|
|
1701
|
+
const newSelected = { ...selected5 };
|
|
1696
1702
|
filteredItems.forEach((item3) => {
|
|
1697
|
-
newSelected
|
|
1703
|
+
newSelected[item3.value] = true;
|
|
1698
1704
|
});
|
|
1699
|
-
setSelectedItems(newSelected);
|
|
1700
1705
|
actionWithSelected(newSelected);
|
|
1701
|
-
};
|
|
1702
|
-
const onUnSelectAll = () => {
|
|
1703
|
-
const newSelected = {};
|
|
1704
|
-
|
|
1706
|
+
}, [selected5, filteredItems, actionWithSelected]);
|
|
1707
|
+
const onUnSelectAll = useCallback6(() => {
|
|
1708
|
+
const newSelected = { ...selected5 };
|
|
1709
|
+
selectedItemsList.forEach((item3) => {
|
|
1710
|
+
delete newSelected[item3.value];
|
|
1711
|
+
});
|
|
1705
1712
|
actionWithSelected(newSelected);
|
|
1706
|
-
};
|
|
1713
|
+
}, [selected5, selectedItemsList, actionWithSelected]);
|
|
1714
|
+
const handleFilterChange = useCallback6((e) => {
|
|
1715
|
+
setFilterSubstring(e.target.value);
|
|
1716
|
+
}, []);
|
|
1717
|
+
const handleCheckboxChange = useCallback6(
|
|
1718
|
+
(item3) => (e) => {
|
|
1719
|
+
e.stopPropagation();
|
|
1720
|
+
handleClick(item3);
|
|
1721
|
+
},
|
|
1722
|
+
[handleClick]
|
|
1723
|
+
);
|
|
1707
1724
|
return /* @__PURE__ */ jsxs11("div", { className: classnames11(root13, classes?.root), children: [
|
|
1708
1725
|
!disableSearch && /* @__PURE__ */ jsx19(
|
|
1709
1726
|
SearchInput,
|
|
@@ -1713,11 +1730,11 @@ function Checklist(props) {
|
|
|
1713
1730
|
value: filterSubstring,
|
|
1714
1731
|
fullWidth: true,
|
|
1715
1732
|
classes: classes?.searchInput,
|
|
1716
|
-
onChange:
|
|
1733
|
+
onChange: handleFilterChange
|
|
1717
1734
|
}
|
|
1718
1735
|
),
|
|
1719
1736
|
/* @__PURE__ */ jsxs11("div", { className: classnames11(scrolled, "styledScroll", classes?.scrolled), children: [
|
|
1720
|
-
|
|
1737
|
+
selectedItemsList.length > 0 && /* @__PURE__ */ jsxs11(Fragment3, { children: [
|
|
1721
1738
|
/* @__PURE__ */ jsxs11("div", { className: classnames11(actionWrap, classes?.actionWrap), children: [
|
|
1722
1739
|
/* @__PURE__ */ jsx19(Typography, { className: classnames11(classes?.typography), children: t("\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435") }),
|
|
1723
1740
|
/* @__PURE__ */ jsx19(
|
|
@@ -1732,15 +1749,12 @@ function Checklist(props) {
|
|
|
1732
1749
|
}
|
|
1733
1750
|
)
|
|
1734
1751
|
] }),
|
|
1735
|
-
/* @__PURE__ */ jsx19("div", { children:
|
|
1752
|
+
/* @__PURE__ */ jsx19("div", { children: selectedItemsList.map((item3) => /* @__PURE__ */ jsx19(
|
|
1736
1753
|
Checkbox,
|
|
1737
1754
|
{
|
|
1738
1755
|
label: item3.name,
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
e.stopPropagation();
|
|
1742
|
-
handleClick(item3);
|
|
1743
|
-
},
|
|
1756
|
+
checked: !!selected5[item3.value],
|
|
1757
|
+
onChange: handleCheckboxChange(item3),
|
|
1744
1758
|
disabled: isDisabled,
|
|
1745
1759
|
classes: classes?.checkbox
|
|
1746
1760
|
},
|
|
@@ -1762,11 +1776,8 @@ function Checklist(props) {
|
|
|
1762
1776
|
Checkbox,
|
|
1763
1777
|
{
|
|
1764
1778
|
label: item3.name,
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
e.stopPropagation();
|
|
1768
|
-
handleClick(item3);
|
|
1769
|
-
},
|
|
1779
|
+
checked: !!selected5[item3.value],
|
|
1780
|
+
onChange: handleCheckboxChange(item3),
|
|
1770
1781
|
disabled: isDisabled,
|
|
1771
1782
|
classes: classes?.checkbox
|
|
1772
1783
|
},
|
|
@@ -1780,21 +1791,21 @@ function Checklist(props) {
|
|
|
1780
1791
|
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1781
1792
|
function SelectPopover2(props) {
|
|
1782
1793
|
const { items: items2, selected: selected5, onSelectedChange, classes, enableSearch = false, disabled: disabled2 } = props;
|
|
1783
|
-
const checklistItems =
|
|
1794
|
+
const checklistItems = useMemo4(
|
|
1784
1795
|
() => items2.map((item3) => ({
|
|
1785
1796
|
name: item3.name,
|
|
1786
1797
|
value: item3.value
|
|
1787
1798
|
})),
|
|
1788
1799
|
[items2]
|
|
1789
1800
|
);
|
|
1790
|
-
const selectedItems =
|
|
1801
|
+
const selectedItems = useMemo4(() => {
|
|
1791
1802
|
const result = {};
|
|
1792
1803
|
selected5?.forEach((value) => {
|
|
1793
1804
|
result[value] = true;
|
|
1794
1805
|
});
|
|
1795
1806
|
return result;
|
|
1796
1807
|
}, [selected5]);
|
|
1797
|
-
const handleActionWithSelected =
|
|
1808
|
+
const handleActionWithSelected = useCallback7(
|
|
1798
1809
|
(newSelected) => {
|
|
1799
1810
|
const values = Object.entries(newSelected).reduce((acc, [value, isSelected]) => {
|
|
1800
1811
|
if (isSelected) {
|
|
@@ -1881,8 +1892,8 @@ function MultiSelect(props) {
|
|
|
1881
1892
|
resizeObserver.disconnect();
|
|
1882
1893
|
};
|
|
1883
1894
|
}, []);
|
|
1884
|
-
const activeItems =
|
|
1885
|
-
const inputClickHandler =
|
|
1895
|
+
const activeItems = useMemo5(() => items2.filter((i) => selected5?.includes(i.value)), [selected5, items2]);
|
|
1896
|
+
const inputClickHandler = useCallback8(
|
|
1886
1897
|
(e) => {
|
|
1887
1898
|
e.preventDefault();
|
|
1888
1899
|
if (!disabled2) {
|
|
@@ -1891,13 +1902,13 @@ function MultiSelect(props) {
|
|
|
1891
1902
|
},
|
|
1892
1903
|
[disabled2]
|
|
1893
1904
|
);
|
|
1894
|
-
const handleSelectedChange =
|
|
1905
|
+
const handleSelectedChange = useCallback8(
|
|
1895
1906
|
(newValues) => {
|
|
1896
1907
|
onValueChange?.(newValues);
|
|
1897
1908
|
},
|
|
1898
1909
|
[onValueChange]
|
|
1899
1910
|
);
|
|
1900
|
-
const title2 =
|
|
1911
|
+
const title2 = useMemo5(() => {
|
|
1901
1912
|
if (!activeItems.length)
|
|
1902
1913
|
return "";
|
|
1903
1914
|
return getTitle(titleType, activeItems, t);
|
|
@@ -2190,7 +2201,7 @@ import {
|
|
|
2190
2201
|
useInteractions as useInteractions2,
|
|
2191
2202
|
useRole as useRole2
|
|
2192
2203
|
} from "@floating-ui/react";
|
|
2193
|
-
import { useMemo as
|
|
2204
|
+
import { useMemo as useMemo6, useState as useState9 } from "react";
|
|
2194
2205
|
function useTooltip(props = {}) {
|
|
2195
2206
|
const {
|
|
2196
2207
|
initialOpen = false,
|
|
@@ -2231,7 +2242,7 @@ function useTooltip(props = {}) {
|
|
|
2231
2242
|
const dismiss = useDismiss2(context);
|
|
2232
2243
|
const role = useRole2(context, { role: "tooltip" });
|
|
2233
2244
|
const interactions = useInteractions2([hover, focus, dismiss, role]);
|
|
2234
|
-
return
|
|
2245
|
+
return useMemo6(
|
|
2235
2246
|
() => ({
|
|
2236
2247
|
open,
|
|
2237
2248
|
setOpen,
|
|
@@ -2521,7 +2532,7 @@ import { flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-tabl
|
|
|
2521
2532
|
import { defaultRangeExtractor, useVirtualizer } from "@tanstack/react-virtual";
|
|
2522
2533
|
import classnames22 from "classnames";
|
|
2523
2534
|
import dayjs4 from "dayjs";
|
|
2524
|
-
import { Fragment as Fragment7, useCallback as
|
|
2535
|
+
import { Fragment as Fragment7, useCallback as useCallback9, useEffect as useEffect8, useMemo as useMemo8, useRef as useRef11, useState as useState15 } from "react";
|
|
2525
2536
|
|
|
2526
2537
|
// src/utils/toFirstLetterUpperCase.ts
|
|
2527
2538
|
var toFirstLetterUpperCase = (name) => {
|
|
@@ -2752,7 +2763,7 @@ var DefaultColumn = {
|
|
|
2752
2763
|
|
|
2753
2764
|
// src/components/view/VirtualTable/ui/HeaderDropdown/HeaderDropdown.tsx
|
|
2754
2765
|
import classnames21 from "classnames";
|
|
2755
|
-
import { useMemo as
|
|
2766
|
+
import { useMemo as useMemo7 } from "react";
|
|
2756
2767
|
|
|
2757
2768
|
// src/components/view/VirtualTable/ui/HeaderDropdown/headerDropdown.module.css
|
|
2758
2769
|
var root18 = "headerDropdown_root";
|
|
@@ -2971,7 +2982,7 @@ function HeaderDropdown(props) {
|
|
|
2971
2982
|
rows
|
|
2972
2983
|
} = props;
|
|
2973
2984
|
const headerResultName = sortAnotherName ?? headerName;
|
|
2974
|
-
const filterItems2 =
|
|
2985
|
+
const filterItems2 = useMemo7(() => {
|
|
2975
2986
|
const checklistItems = items2.map(
|
|
2976
2987
|
(i) => ({
|
|
2977
2988
|
name: i[headerResultName] ? valueFormat ? valueFormat(i[headerResultName].value?.toString() || "") : toFixed !== void 0 && !Number.isNaN(parseFloat(i[headerResultName].value)) ? parseFloat(Number(i[headerResultName].value).toFixed(toFixed)).toString() : i[headerResultName].value?.toString() || "< \u043D\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F >" : "< \u043D\u0435\u0442 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F >",
|
|
@@ -2995,7 +3006,7 @@ function HeaderDropdown(props) {
|
|
|
2995
3006
|
];
|
|
2996
3007
|
return uniqueChecklistItems;
|
|
2997
3008
|
}, [items2, headerResultName]);
|
|
2998
|
-
const uniqueRows =
|
|
3009
|
+
const uniqueRows = useMemo7(
|
|
2999
3010
|
() => Array.from(
|
|
3000
3011
|
new Set(
|
|
3001
3012
|
rows.filter((i) => !!i?.[headerResultName]).map((i) => i[headerResultName].payload?.id ?? i[headerResultName].value)
|
|
@@ -3003,17 +3014,17 @@ function HeaderDropdown(props) {
|
|
|
3003
3014
|
),
|
|
3004
3015
|
[rows, headerResultName]
|
|
3005
3016
|
);
|
|
3006
|
-
const filterSelectedItems =
|
|
3017
|
+
const filterSelectedItems = useMemo7(() => {
|
|
3007
3018
|
const result = {};
|
|
3008
3019
|
filterBy.find((fb) => fb.columnName === headerResultName)?.values.forEach((v) => {
|
|
3009
3020
|
result[v] = true;
|
|
3010
3021
|
});
|
|
3011
3022
|
return result;
|
|
3012
3023
|
}, [filterBy, headerResultName]);
|
|
3013
|
-
const filterNumbers =
|
|
3024
|
+
const filterNumbers = useMemo7(() => {
|
|
3014
3025
|
return filterBy.find((fb) => fb.columnName === headerResultName && fb.type === "numberRange")?.values;
|
|
3015
3026
|
}, [filterBy, headerResultName]);
|
|
3016
|
-
const filterDates =
|
|
3027
|
+
const filterDates = useMemo7(() => {
|
|
3017
3028
|
return filterBy.find((fb) => fb.columnName === headerResultName && fb.type === "dateRange")?.values;
|
|
3018
3029
|
}, [filterBy, headerResultName]);
|
|
3019
3030
|
const handleSortClick = (direction) => () => {
|
|
@@ -3284,8 +3295,8 @@ function VirtualTable(props) {
|
|
|
3284
3295
|
const [filterBy, setFilterBy] = useState15(globalFilters ?? []);
|
|
3285
3296
|
const [sortBy, setSortBy] = useState15([...globalSorts ?? [], { columnName: "isNew", direction: "desc" }]);
|
|
3286
3297
|
const tableContainerRef = useRef11(null);
|
|
3287
|
-
const memoizedColumns =
|
|
3288
|
-
const memoizedData =
|
|
3298
|
+
const memoizedColumns = useMemo8(() => getColumns(columns), [columns]);
|
|
3299
|
+
const memoizedData = useMemo8(() => {
|
|
3289
3300
|
const newRows = [...rows];
|
|
3290
3301
|
const nextFilterBy = filterBy.filter((filterByItem) => {
|
|
3291
3302
|
const startDate = filterByItem.type === "dateRange" ? dayjs4(filterByItem.values[0]) : null;
|
|
@@ -3306,7 +3317,7 @@ function VirtualTable(props) {
|
|
|
3306
3317
|
);
|
|
3307
3318
|
return sorted;
|
|
3308
3319
|
}, [rows, sortBy, filterBy]);
|
|
3309
|
-
const columnsEstimateSize =
|
|
3320
|
+
const columnsEstimateSize = useMemo8(
|
|
3310
3321
|
() => cellWidth ?? ((index) => memoizedColumns[index]?.meta?.width ?? 200),
|
|
3311
3322
|
[cellWidth, memoizedColumns]
|
|
3312
3323
|
);
|
|
@@ -3340,7 +3351,7 @@ function VirtualTable(props) {
|
|
|
3340
3351
|
const columnVirtualizer = useVirtualizer({
|
|
3341
3352
|
horizontal: true,
|
|
3342
3353
|
count: headerGroups[0]?.headers.length ?? 1,
|
|
3343
|
-
rangeExtractor:
|
|
3354
|
+
rangeExtractor: useCallback9((range) => {
|
|
3344
3355
|
const stickyIndexes = [...Array(fixedColumnsCount)].map((_, index) => index);
|
|
3345
3356
|
const next = /* @__PURE__ */ new Set([...stickyIndexes, ...defaultRangeExtractor(range)]);
|
|
3346
3357
|
return [...next].sort((a, b) => a - b);
|
|
@@ -3349,11 +3360,11 @@ function VirtualTable(props) {
|
|
|
3349
3360
|
estimateSize: columnsEstimateSize,
|
|
3350
3361
|
overscan: 5
|
|
3351
3362
|
});
|
|
3352
|
-
const fixedColumnsWidth =
|
|
3363
|
+
const fixedColumnsWidth = useMemo8(
|
|
3353
3364
|
() => [...Array(fixedColumnsCount)].reduce((sum, _, index) => sum + columnsEstimateSize(index), 0),
|
|
3354
3365
|
[fixedColumnsCount, columnsEstimateSize]
|
|
3355
3366
|
);
|
|
3356
|
-
const headerGroupHeight =
|
|
3367
|
+
const headerGroupHeight = useMemo8(() => {
|
|
3357
3368
|
const delta = headerGroups.length - headerRowHeight.length;
|
|
3358
3369
|
const result = [...headerRowHeight];
|
|
3359
3370
|
if (delta > 0) {
|
|
@@ -3363,14 +3374,14 @@ function VirtualTable(props) {
|
|
|
3363
3374
|
}
|
|
3364
3375
|
return result;
|
|
3365
3376
|
}, [headerRowHeight, headerGroups]);
|
|
3366
|
-
const summaryHeaderHeight =
|
|
3377
|
+
const summaryHeaderHeight = useMemo8(
|
|
3367
3378
|
() => headerGroupHeight.reduce(
|
|
3368
3379
|
(sum, current, currentIndex) => currentIndex < headerGroups.length ? sum + current : sum,
|
|
3369
3380
|
0
|
|
3370
3381
|
),
|
|
3371
3382
|
[headerGroupHeight, headerGroups]
|
|
3372
3383
|
);
|
|
3373
|
-
const headerGroupY =
|
|
3384
|
+
const headerGroupY = useCallback9(
|
|
3374
3385
|
(headerIndex) => headerGroupHeight.reduce((sum, current, currentIndex) => currentIndex < headerIndex ? sum + current : sum, 0),
|
|
3375
3386
|
[headerGroupHeight, headerGroups]
|
|
3376
3387
|
);
|
|
@@ -3690,7 +3701,7 @@ function VirtualTable(props) {
|
|
|
3690
3701
|
}
|
|
3691
3702
|
|
|
3692
3703
|
// src/components/view/TreeView/TreeView.tsx
|
|
3693
|
-
import { memo as memo2, useCallback as
|
|
3704
|
+
import { memo as memo2, useCallback as useCallback10, useMemo as useMemo9, useState as useState17 } from "react";
|
|
3694
3705
|
|
|
3695
3706
|
// src/components/view/TreeView/treeView.module.css
|
|
3696
3707
|
var search = "treeView_search";
|
|
@@ -3783,8 +3794,8 @@ var getFilteredTree = (tree, search2) => {
|
|
|
3783
3794
|
import { Fragment as Fragment9, jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3784
3795
|
var TreeView_default = memo2(function TreeView({ data, selected: selected5, startIcons, onSelect, withSearch = false }) {
|
|
3785
3796
|
const [searchValue, setSearchValue] = useState17("");
|
|
3786
|
-
const onChangeSearchValue =
|
|
3787
|
-
const selectedValues =
|
|
3797
|
+
const onChangeSearchValue = useCallback10((e) => setSearchValue(e.target.value), []);
|
|
3798
|
+
const selectedValues = useMemo9(
|
|
3788
3799
|
() => selected5.reduce(
|
|
3789
3800
|
(acc, cur) => {
|
|
3790
3801
|
acc[cur] = true;
|
|
@@ -3794,7 +3805,7 @@ var TreeView_default = memo2(function TreeView({ data, selected: selected5, star
|
|
|
3794
3805
|
),
|
|
3795
3806
|
[selected5]
|
|
3796
3807
|
);
|
|
3797
|
-
const filteredData =
|
|
3808
|
+
const filteredData = useMemo9(() => {
|
|
3798
3809
|
return getFilteredTree(data, searchValue);
|
|
3799
3810
|
}, [data, searchValue]);
|
|
3800
3811
|
return /* @__PURE__ */ jsxs21(Fragment9, { children: [
|