urfu-ui-kit-react 2.1.5 → 2.1.6
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/components/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.js +9 -8
- package/dist/components/Accordion/Accordion.types.d.ts +2 -0
- package/dist/components/Accordion/Accordion.types.d.ts.map +1 -1
- package/dist/components/BreadCrumbs/BreadCrumbs.d.ts.map +1 -1
- package/dist/components/BreadCrumbs/BreadCrumbs.js +20 -19
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.js +145 -144
- package/dist/components/Calendar/Calendar.types.d.ts +9 -4
- package/dist/components/Calendar/Calendar.types.d.ts.map +1 -1
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +37 -31
- package/dist/components/ColumnSettings/ColumnSettings.d.ts.map +1 -1
- package/dist/components/ColumnSettings/ColumnSettings.js +72 -72
- package/dist/components/Drawer/Drawer.d.ts +11 -0
- package/dist/components/Drawer/Drawer.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.js +87 -0
- package/dist/components/Drawer/Drawer.types.d.ts +44 -0
- package/dist/components/Drawer/Drawer.types.d.ts.map +1 -0
- package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
- package/dist/components/ErrorScreen/ErrorScreen.js +172 -138
- package/dist/components/FormField/FormField.d.ts +1 -1
- package/dist/components/FormField/FormField.d.ts.map +1 -1
- package/dist/components/FormField/FormField.js +42 -29
- package/dist/components/FormField/FormField.types.d.ts +6 -0
- package/dist/components/FormField/FormField.types.d.ts.map +1 -1
- package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +22 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.d.ts.map +1 -0
- package/dist/components/InfiniteScroll/InfiniteScroll.js +27 -0
- package/dist/components/InputText/InputText.d.ts +39 -2
- package/dist/components/InputText/InputText.d.ts.map +1 -1
- package/dist/components/InputText/InputText.js +103 -94
- package/dist/components/InputText/InputText.types.d.ts +11 -0
- package/dist/components/InputText/InputText.types.d.ts.map +1 -1
- package/dist/components/InputTime/inputTimeKeyDown.d.ts +17 -2
- package/dist/components/InputTime/inputTimeKeyDown.d.ts.map +1 -1
- package/dist/components/InputTime/useInputTimeWheel.d.ts +13 -1
- package/dist/components/InputTime/useInputTimeWheel.d.ts.map +1 -1
- package/dist/components/Menu/Menu.d.ts.map +1 -1
- package/dist/components/Menu/Menu.js +54 -49
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.js +52 -49
- package/dist/components/Modal/Modal.types.d.ts +4 -2
- package/dist/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/components/Notification/Notification.d.ts.map +1 -1
- package/dist/components/Notification/Notification.js +97 -86
- package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -1
- package/dist/components/OfflineBanner/OfflineBanner.js +40 -32
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +61 -66
- package/dist/components/SearchSelect/SearchSelect.d.ts.map +1 -1
- package/dist/components/SearchSelect/SearchSelect.js +137 -134
- package/dist/components/TabPanels/TabPanels.d.ts +13 -0
- package/dist/components/TabPanels/TabPanels.d.ts.map +1 -0
- package/dist/components/TabPanels/TabPanels.js +8 -0
- package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
- package/dist/components/Table/Filter/Filter.js +47 -47
- package/dist/components/Table/Filter/Filter.types.d.ts +2 -1
- package/dist/components/Table/Filter/Filter.types.d.ts.map +1 -1
- package/dist/components/Table/Filter/SelectFilter.d.ts.map +1 -1
- package/dist/components/Table/Filter/SelectFilter.js +9 -9
- package/dist/components/Table/Table.d.ts +1 -1
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.dataPipeline.d.ts +4 -3
- package/dist/components/Table/Table.dataPipeline.d.ts.map +1 -1
- package/dist/components/Table/Table.dataPipeline.js +64 -63
- package/dist/components/Table/Table.js +299 -299
- package/dist/components/Table/Table.rowTypes.d.ts +6 -0
- package/dist/components/Table/Table.rowTypes.d.ts.map +1 -0
- package/dist/components/Table/Table.types.d.ts +10 -3
- package/dist/components/Table/Table.types.d.ts.map +1 -1
- package/dist/components/Table/TableHead.d.ts +27 -19
- package/dist/components/Table/TableHead.d.ts.map +1 -1
- package/dist/components/Table/TableHead.js +1 -1
- package/dist/components/Table/TableMobileCard.d.ts +11 -11
- package/dist/components/Table/TableMobileCard.d.ts.map +1 -1
- package/dist/components/Table/TableMobileCard.js +81 -84
- package/dist/components/Table/TableMobileView.d.ts +7 -5
- package/dist/components/Table/TableMobileView.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts +10 -8
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/TableRow.js +116 -112
- package/dist/components/Table/useTableColumnPinning.d.ts.map +1 -1
- package/dist/components/Table/useTableVirtualization.d.ts +5 -5
- package/dist/components/Table/useTableVirtualization.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +109 -104
- package/dist/components/Tabs/Tabs.types.d.ts +29 -1
- package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/components/Tabs/distributeTabs.d.ts +6 -0
- package/dist/components/Tabs/distributeTabs.d.ts.map +1 -1
- package/dist/components/Tabs/tabsIndicator.d.ts +7 -3
- package/dist/components/Tabs/tabsIndicator.d.ts.map +1 -1
- package/dist/components/Tabs/tabsScroll.d.ts +20 -0
- package/dist/components/Tabs/tabsScroll.d.ts.map +1 -0
- package/dist/components/Tabs/useTabsOverflow.d.ts +3 -1
- package/dist/components/Tabs/useTabsOverflow.d.ts.map +1 -1
- package/dist/components/Tabs/useTabsOverflow.js +33 -33
- package/dist/components/Tabs/useTabsScroll.d.ts +4 -0
- package/dist/components/Tabs/useTabsScroll.d.ts.map +1 -0
- package/dist/components/Tabs/useTabsScroll.js +17 -0
- package/dist/components/Textarea/Textarea.d.ts +22 -2
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +48 -43
- package/dist/components/Textarea/Textarea.types.d.ts +1 -0
- package/dist/components/Textarea/Textarea.types.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +150 -131
- package/dist/components/Tooltip/Tooltip.types.d.ts +7 -2
- package/dist/components/Tooltip/Tooltip.types.d.ts.map +1 -1
- package/dist/components/TreeView/TreeView.js +95 -95
- package/dist/components/TreeView/TreeView.types.d.ts +1 -1
- package/dist/components/TreeView/TreeView.types.d.ts.map +1 -1
- package/dist/components/VirtualList/VirtualList.d.ts +45 -0
- package/dist/components/VirtualList/VirtualList.d.ts.map +1 -0
- package/dist/components/VirtualList/VirtualList.js +62 -0
- package/dist/dev/index.js +1306 -584
- package/dist/dev/types/react/src/dev/index.d.ts +1 -1
- package/dist/dev/types/vanilla/src/core/motion.d.ts +41 -0
- package/dist/dev/types/vanilla/src/core/requestLog.d.ts +29 -0
- package/dist/dev/types/vanilla/src/dev/highlight.d.ts +32 -0
- package/dist/dev/types/vanilla/src/dev/intercept.d.ts +4 -1
- package/dist/dev/types/vanilla/src/dev/motionModes.d.ts +30 -0
- package/dist/dev/types/vanilla/src/dev/panelKit.d.ts +49 -0
- package/dist/dev/types/vanilla/src/dev/panelStyles.d.ts +7 -0
- package/dist/dev/types/vanilla/src/dev/rules.d.ts +31 -0
- package/dist/dev/types/vanilla/src/dev/store.d.ts +7 -4
- package/dist/dev/types/vanilla/src/dev/types.d.ts +14 -3
- package/dist/dev/types/vanilla/src/dev/viewModes.d.ts +22 -0
- package/dist/hooks/useCollapseMotion.d.ts +18 -0
- package/dist/hooks/useCollapseMotion.d.ts.map +1 -0
- package/dist/hooks/useCollapseMotion.js +9 -0
- package/dist/hooks/useDismiss.d.ts +7 -1
- package/dist/hooks/useDismiss.d.ts.map +1 -1
- package/dist/hooks/useDismiss.js +19 -17
- package/dist/hooks/useEnterMotion.d.ts +9 -0
- package/dist/hooks/useEnterMotion.d.ts.map +1 -0
- package/dist/hooks/useEnterMotion.js +10 -0
- package/dist/hooks/useForwardedRef.d.ts +8 -0
- package/dist/hooks/useForwardedRef.d.ts.map +1 -0
- package/dist/hooks/useForwardedRef.js +8 -0
- package/dist/hooks/useInfiniteScroll.d.ts +27 -0
- package/dist/hooks/useInfiniteScroll.d.ts.map +1 -0
- package/dist/hooks/useInfiniteScroll.js +13 -0
- package/dist/hooks/useMountTransition.d.ts +1 -1
- package/dist/hooks/useMountTransition.d.ts.map +1 -1
- package/dist/hooks/useMountTransition.js +14 -13
- package/dist/hooks/useVirtualList.d.ts +34 -0
- package/dist/hooks/useVirtualList.d.ts.map +1 -0
- package/dist/hooks/useVirtualList.js +21 -0
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/shared/collapseMotion.d.ts +32 -0
- package/dist/shared/collapseMotion.d.ts.map +1 -0
- package/dist/shared/infiniteScroll.d.ts +42 -0
- package/dist/shared/infiniteScroll.d.ts.map +1 -0
- package/dist/shared/kitCopy.js +1 -1
- package/dist/shared/linkClick.d.ts +7 -0
- package/dist/shared/linkClick.d.ts.map +1 -0
- package/dist/shared/motion.d.ts +42 -0
- package/dist/shared/motion.d.ts.map +1 -0
- package/dist/shared/popupTransition.d.ts +10 -2
- package/dist/shared/popupTransition.d.ts.map +1 -1
- package/dist/shared/popupTransition.js +6 -5
- package/dist/shared/virtualList.d.ts +103 -0
- package/dist/shared/virtualList.d.ts.map +1 -0
- package/dist/style-no-fonts.css +1 -1
- package/dist/style.css +1 -1
- package/dist/style.layer.css +2 -2
- package/dist/style.shell.css +5 -5
- package/dist/urfu-ui-kit-react.js +53 -45
- package/dist/utils/describeError.d.ts +12 -1
- package/dist/utils/describeError.d.ts.map +1 -1
- package/dist/vanilla/core/collapseMotion.js +58 -0
- package/dist/vanilla/core/describeError.js +172 -115
- package/dist/vanilla/core/distributeTabs.js +23 -20
- package/dist/vanilla/core/infiniteScroll.js +79 -0
- package/dist/vanilla/core/linkClick.js +2 -0
- package/dist/vanilla/core/motion.js +29 -0
- package/dist/vanilla/core/requestLog.js +40 -0
- package/dist/vanilla/core/tabsIndicator.js +29 -26
- package/dist/vanilla/core/tabsScroll.js +29 -0
- package/dist/vanilla/core/virtualList.js +213 -0
- package/package.json +1 -1
|
@@ -1,136 +1,140 @@
|
|
|
1
1
|
import { jsx as p, jsxs as X } from "react/jsx-runtime";
|
|
2
2
|
import { adaptTypographyStyle$u as S, pxAdd$u as w } from "./Table.helpers.js";
|
|
3
|
-
import { handleDragOver$u as Y, handleDragStart$u as
|
|
4
|
-
|
|
3
|
+
import { handleDragOver$u as Y, handleDragStart$u as q } from "./Functions.js";
|
|
4
|
+
import { prefersReducedMotion$u as z } from "../../vanilla/core/motion.js";
|
|
5
|
+
const C = "auto", P = ({
|
|
5
6
|
item: r,
|
|
6
7
|
i: e,
|
|
7
|
-
level:
|
|
8
|
-
rowKey:
|
|
9
|
-
absoluteIndex:
|
|
8
|
+
level: v,
|
|
9
|
+
rowKey: o,
|
|
10
|
+
absoluteIndex: i,
|
|
10
11
|
filteredColumns: f,
|
|
11
12
|
id: $,
|
|
12
13
|
virtualizationOn: h,
|
|
13
14
|
start: j,
|
|
14
|
-
draggable:
|
|
15
|
-
rowRefs:
|
|
15
|
+
draggable: D,
|
|
16
|
+
rowRefs: L,
|
|
16
17
|
resize: a,
|
|
17
18
|
columnWidths: y,
|
|
18
|
-
parentDataField:
|
|
19
|
+
parentDataField: s,
|
|
19
20
|
calcLeftValues: W,
|
|
20
21
|
handleDrop: x,
|
|
21
22
|
insertChildRows: B,
|
|
22
23
|
removeChildRows: E,
|
|
23
|
-
cellStyle:
|
|
24
|
-
tdStyle:
|
|
25
|
-
allTdStyleFunction:
|
|
26
|
-
cellContentStyle:
|
|
27
|
-
tdContentStyle:
|
|
28
|
-
allTdContentStyleFunction:
|
|
29
|
-
fillColumnIndex:
|
|
24
|
+
cellStyle: M,
|
|
25
|
+
tdStyle: N,
|
|
26
|
+
allTdStyleFunction: k,
|
|
27
|
+
cellContentStyle: R,
|
|
28
|
+
tdContentStyle: A,
|
|
29
|
+
allTdContentStyleFunction: g,
|
|
30
|
+
fillColumnIndex: b = -1
|
|
30
31
|
}) => /* @__PURE__ */ p(
|
|
31
32
|
"tr",
|
|
32
33
|
{
|
|
33
|
-
"data-virtual-index": h &&
|
|
34
|
-
id: `row${
|
|
35
|
-
draggable:
|
|
36
|
-
onDragStart: (t) =>
|
|
34
|
+
"data-virtual-index": h && i !== void 0 ? i : void 0,
|
|
35
|
+
id: `row${v ? `${v}.` : ""}${e}`,
|
|
36
|
+
draggable: D,
|
|
37
|
+
onDragStart: (t) => q(t, String(e)),
|
|
37
38
|
onDragOver: (t) => Y(t),
|
|
38
39
|
onDrop: (t) => x(t, e),
|
|
39
|
-
ref: h &&
|
|
40
|
-
|
|
40
|
+
ref: h && i !== void 0 ? (t) => {
|
|
41
|
+
L.current[i] = t;
|
|
41
42
|
} : void 0,
|
|
42
|
-
children: f == null ? void 0 : f.map((t, d) =>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
43
|
+
children: f == null ? void 0 : f.map((t, d) => {
|
|
44
|
+
var O;
|
|
45
|
+
return /* @__PURE__ */ X(
|
|
46
|
+
"td",
|
|
47
|
+
{
|
|
48
|
+
id: `${$}td${e}${d}`,
|
|
49
|
+
className: `${t.sticky ? "sticky" : ""}`,
|
|
50
|
+
style: S(
|
|
51
|
+
Object.assign(
|
|
52
|
+
{
|
|
53
|
+
left: t.sticky ? W(d) : "",
|
|
54
|
+
// Вид по умолчанию 2.0 — как в Meetings: 15px сверху и снизу,
|
|
55
|
+
// боковой отступ держит блок содержимого (.u-table-td-content).
|
|
56
|
+
// Инлайном, потому что vanilla задаёт ячейке свои 20px и порядок
|
|
57
|
+
// подключения стилей у проектов разный. tdStyle по-прежнему главнее.
|
|
58
|
+
padding: "calc(15 * var(--u-unit, 1px)) 0",
|
|
59
|
+
display: s && d === 0 && r[s] ? "flex" : "table-cell",
|
|
60
|
+
gap: "calc(4 * var(--u-preset-unit, 1px))"
|
|
61
|
+
},
|
|
62
|
+
M,
|
|
63
|
+
N,
|
|
64
|
+
t.tdStyle,
|
|
65
|
+
t.cellStyle,
|
|
66
|
+
k && k(r),
|
|
67
|
+
t.tdStyleFunction && t.tdStyleFunction(r)
|
|
68
|
+
)
|
|
69
|
+
),
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ p(
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
className: "u-table-td-content",
|
|
75
|
+
style: S(
|
|
76
|
+
Object.assign(
|
|
77
|
+
{
|
|
78
|
+
// Растянутая колонка: width колонки — нижняя граница, иначе текст
|
|
79
|
+
// переносится по ней посреди широкой пустой ячейки, а скелетон
|
|
80
|
+
// меряет тот же узкий блок и висит по центру.
|
|
81
|
+
width: d === b && !(a && !t.resizeOff) ? "100%" : a && !t.resizeOff && (t != null && t.width) ? y[t.field] >= t.width ? y[t.field] : w(t.width) : a && !t.resizeOff || t != null && t.width ? y[t.field] || (t == null ? void 0 : t.width) : C,
|
|
82
|
+
minWidth: d === b && !(a && !t.resizeOff) && t.width ? w(t.width) : a && !t.resizeOff && t.width ? w(t.width) : "",
|
|
83
|
+
position: t.sticky ? "sticky" : "",
|
|
84
|
+
overflowX: "hidden",
|
|
85
|
+
// break-word, а не anywhere: с anywhere минимальная ширина колонки без width — одна буква,
|
|
86
|
+
// и на узком экране слова рвались посередине («Петр/ов»). Как во Vue-ките.
|
|
87
|
+
overflowWrap: "break-word",
|
|
88
|
+
overflowY: "hidden",
|
|
89
|
+
display: "-webkit-box",
|
|
90
|
+
WebkitLineClamp: 15,
|
|
91
|
+
WebkitBoxOrient: "vertical"
|
|
92
|
+
},
|
|
93
|
+
R,
|
|
94
|
+
A,
|
|
95
|
+
t.tdContentStyle,
|
|
96
|
+
t.cellContentStyle,
|
|
97
|
+
g && g(r),
|
|
98
|
+
t.tdContentStyleFunction && t.tdContentStyleFunction(r)
|
|
99
|
+
)
|
|
100
|
+
),
|
|
101
|
+
children: t.render ? t.render(r, e) : r[t.field]
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
!r.notExpandable && s && d === 0 && (((O = r[s]) == null ? void 0 : O.length) ?? 0) > 0 && /* @__PURE__ */ p(
|
|
105
|
+
"svg",
|
|
106
|
+
{
|
|
107
|
+
width: "12",
|
|
108
|
+
height: "12",
|
|
109
|
+
viewBox: "0 0 12 13",
|
|
110
|
+
fill: "none",
|
|
111
|
+
style: {
|
|
112
|
+
cursor: "pointer",
|
|
113
|
+
margin: "auto calc(8 * var(--u-preset-unit, 1px)) auto auto",
|
|
114
|
+
transform: r.parentDataOpened ? "rotate(180deg)" : "",
|
|
115
|
+
transition: z() ? "none" : "transform var(--u-duration-base, .2s) var(--u-ease-move, cubic-bezier(.2, 0, 0, 1))"
|
|
116
|
+
},
|
|
117
|
+
onClick: () => {
|
|
118
|
+
r.parentDataOpened ? E(e) : B(e);
|
|
119
|
+
},
|
|
120
|
+
children: /* @__PURE__ */ p(
|
|
121
|
+
"path",
|
|
74
122
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
overflowX: "hidden",
|
|
82
|
-
// break-word, а не anywhere: с anywhere минимальная ширина колонки без width — одна буква,
|
|
83
|
-
// и на узком экране слова рвались посередине («Петр/ов»). Как во Vue-ките.
|
|
84
|
-
overflowWrap: "break-word",
|
|
85
|
-
overflowY: "hidden",
|
|
86
|
-
display: "-webkit-box",
|
|
87
|
-
WebkitLineClamp: 15,
|
|
88
|
-
WebkitBoxOrient: "vertical"
|
|
89
|
-
},
|
|
90
|
-
M,
|
|
91
|
-
R,
|
|
92
|
-
t.tdContentStyle,
|
|
93
|
-
t.cellContentStyle,
|
|
94
|
-
v && v(r),
|
|
95
|
-
t.tdContentStyleFunction && t.tdContentStyleFunction(r)
|
|
123
|
+
d: "M1 4.5625L5.99999 9.5625L11 4.5625",
|
|
124
|
+
stroke: "#1E4391",
|
|
125
|
+
strokeWidth: "2",
|
|
126
|
+
strokeLinecap: "round",
|
|
127
|
+
strokeLinejoin: "round"
|
|
128
|
+
}
|
|
96
129
|
)
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
width: "12",
|
|
105
|
-
height: "12",
|
|
106
|
-
viewBox: "0 0 12 13",
|
|
107
|
-
fill: "none",
|
|
108
|
-
style: {
|
|
109
|
-
cursor: "pointer",
|
|
110
|
-
margin: "auto calc(8 * var(--u-preset-unit, 1px)) auto auto",
|
|
111
|
-
transform: r.parentDataOpened ? "rotate(180deg)" : "",
|
|
112
|
-
transition: "transform 0.2s ease"
|
|
113
|
-
},
|
|
114
|
-
onClick: () => {
|
|
115
|
-
r.parentDataOpened ? E(e) : B(e);
|
|
116
|
-
},
|
|
117
|
-
children: /* @__PURE__ */ p(
|
|
118
|
-
"path",
|
|
119
|
-
{
|
|
120
|
-
d: "M1 4.5625L5.99999 9.5625L11 4.5625",
|
|
121
|
-
stroke: "#1E4391",
|
|
122
|
-
strokeWidth: "2",
|
|
123
|
-
strokeLinecap: "round",
|
|
124
|
-
strokeLinejoin: "round"
|
|
125
|
-
}
|
|
126
|
-
)
|
|
127
|
-
}
|
|
128
|
-
)
|
|
129
|
-
]
|
|
130
|
-
},
|
|
131
|
-
t.key ? t.key : t.field ? t.field : d
|
|
132
|
-
))
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
t.key ? t.key : t.field ? t.field : d
|
|
135
|
+
);
|
|
136
|
+
})
|
|
133
137
|
},
|
|
134
|
-
|
|
138
|
+
o ?? r.id ?? (h ? j + e : e)
|
|
135
139
|
);
|
|
136
|
-
export {
|
|
140
|
+
export { P as TableRow$u };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumnPinning.d.ts","sourceRoot":"","sources":["../../../src/components/Table/useTableColumnPinning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAa5D,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,EAC3E,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useTableColumnPinning.d.ts","sourceRoot":"","sources":["../../../src/components/Table/useTableColumnPinning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAa5D,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,cAAc,CAAC,EAC3E,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO;;;;;;;;;;;;;;;;;;;sBAyB3B,GAAG;6BAG9C,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAHwC,GAAG;8BAG9C,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SkeletonTdStyle } from "./Table.types";
|
|
2
|
-
interface UseTableVirtualizationParams {
|
|
3
|
-
filteredData:
|
|
2
|
+
interface UseTableVirtualizationParams<Row> {
|
|
3
|
+
filteredData: Row[];
|
|
4
4
|
virtualizationOn?: boolean;
|
|
5
5
|
visibleRows: number;
|
|
6
6
|
rowHeight: number;
|
|
@@ -10,13 +10,13 @@ interface UseTableVirtualizationParams {
|
|
|
10
10
|
page?: number;
|
|
11
11
|
pageSize?: number;
|
|
12
12
|
}
|
|
13
|
-
export declare const useTableVirtualization: ({ filteredData, virtualizationOn, visibleRows, rowHeight, isLoading, isLoadingPreloader, id, page, pageSize, }: UseTableVirtualizationParams) => {
|
|
13
|
+
export declare const useTableVirtualization: <Row>({ filteredData, virtualizationOn, visibleRows, rowHeight, isLoading, isLoadingPreloader, id, page, pageSize, }: UseTableVirtualizationParams<Row>) => {
|
|
14
14
|
rootRef: import("react").MutableRefObject<HTMLDivElement>;
|
|
15
15
|
start: number;
|
|
16
16
|
visibleCount: number;
|
|
17
|
-
pagedData:
|
|
17
|
+
pagedData: Row[];
|
|
18
18
|
hasOverflow: boolean;
|
|
19
|
-
topPadding:
|
|
19
|
+
topPadding: number;
|
|
20
20
|
bottomPadding: number;
|
|
21
21
|
rowRefs: import("react").MutableRefObject<Record<number, HTMLTableRowElement>>;
|
|
22
22
|
rowHeightsRef: import("react").MutableRefObject<number[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableVirtualization.d.ts","sourceRoot":"","sources":["../../../src/components/Table/useTableVirtualization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useTableVirtualization.d.ts","sourceRoot":"","sources":["../../../src/components/Table/useTableVirtualization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,4BAA4B,CAAC,GAAG;IACxC,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,eAAO,MAAM,sBAAsB,GAAI,GAAG,EAAE,gHAUzC,4BAA4B,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;CAwPnC,CAAC"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
import './Tabs.less';
|
|
4
4
|
import '../../styles/tokens.less';
|
|
5
5
|
import type { TabsProperties } from './Tabs.types';
|
|
6
|
-
export declare const Tabs: ({ onClick, tabsData, activeTab, className, variant, fullWidth, tooltipOn, tooltipDisabled, }: TabsProperties) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const Tabs: ({ onClick, tabsData, activeTab, className, variant, fullWidth, tooltipOn, tooltipDisabled, LinkComponent, ariaLabel, }: TabsProperties) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=Tabs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mDAAmD,CAAC;AAC3D,OAAO,aAAa,CAAC;AACrB,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mDAAmD,CAAC;AAC3D,OAAO,aAAa,CAAC;AACrB,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,cAAc,CAAC;AA0BvE,eAAO,MAAM,IAAI,GAAI,wHAWlB,cAAc,4CA6LhB,CAAC"}
|
|
@@ -1,141 +1,146 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as a, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
4
|
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
|
-
import { useState as
|
|
7
|
-
import { Icon$u as
|
|
8
|
-
import { Tooltip$u as
|
|
9
|
-
import { useDismiss$u as
|
|
10
|
-
import { useMountTransition$u as
|
|
11
|
-
import { getPopupTransitionStyle$u as
|
|
12
|
-
import { useTabsOverflow$u as
|
|
13
|
-
import { useTabsIndicator$u as
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
import { useState as x, useRef as p, useId as D, useEffect as ee, Fragment as oe } from "react";
|
|
7
|
+
import { Icon$u as b } from "../Icon/Icon.js";
|
|
8
|
+
import { Tooltip$u as te } from "../Tooltip/Tooltip.js";
|
|
9
|
+
import { useDismiss$u as re } from "../../hooks/useDismiss.js";
|
|
10
|
+
import { useMountTransition$u as ne } from "../../hooks/useMountTransition.js";
|
|
11
|
+
import { getPopupTransitionStyle$u as se, POPUP_TRANSITION_MS$u as ie } from "../../shared/popupTransition.js";
|
|
12
|
+
import { useTabsOverflow$u as le } from "./useTabsOverflow.js";
|
|
13
|
+
import { useTabsIndicator$u as ae } from "./useTabsIndicator.js";
|
|
14
|
+
import { useTabsScroll$u as ce } from "./useTabsScroll.js";
|
|
15
|
+
import { isPlainLeftClick$u as ue } from "../../vanilla/core/linkClick.js";
|
|
16
|
+
const me = [], Ie = ({
|
|
17
|
+
onClick: h,
|
|
18
|
+
tabsData: n = me,
|
|
17
19
|
activeTab: m,
|
|
18
|
-
className:
|
|
19
|
-
variant:
|
|
20
|
-
fullWidth:
|
|
21
|
-
tooltipOn:
|
|
22
|
-
tooltipDisabled:
|
|
20
|
+
className: $ = "",
|
|
21
|
+
variant: g = "line",
|
|
22
|
+
fullWidth: y = !1,
|
|
23
|
+
tooltipOn: U = !1,
|
|
24
|
+
tooltipDisabled: _ = !1,
|
|
25
|
+
LinkComponent: v,
|
|
26
|
+
ariaLabel: B
|
|
23
27
|
}) => {
|
|
24
|
-
const { containerRef:
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}, [
|
|
30
|
-
const
|
|
31
|
-
var
|
|
32
|
-
if ((
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
},
|
|
28
|
+
const { containerRef: K, measureRef: j, moreMeasureRef: q, visible: z, overflow: u, paddingOf: F, promote: L } = le(n, m, y, g !== "segment"), [d, c] = x(!1), R = p(null), N = p(null), k = p(null), O = D(), { shouldRender: H, status: J, isAnimated: Y } = ne({ isOpen: d, duration: ie }), A = p(u);
|
|
29
|
+
d && (A.current = u);
|
|
30
|
+
const f = g === "segment", T = n.some((e) => e.url), w = f ? "u-tab-segment" : "u-tab-line", G = f ? "u-tab-segment-active" : "u-tab-active", { trackRef: I, indicatorRef: Q } = ae(m, `${g}|${y}|${JSON.stringify(n.map((e) => e.id))}`);
|
|
31
|
+
ce(I, !f, m), re({ refs: [R], enabled: d, onDismiss: () => c(!1) }), ee(() => {
|
|
32
|
+
u.length || c(!1);
|
|
33
|
+
}, [u.length]);
|
|
34
|
+
const S = (e) => {
|
|
35
|
+
var t, s;
|
|
36
|
+
if ((t = n[e]) != null && t.disabled) return;
|
|
37
|
+
const o = u.includes(e);
|
|
38
|
+
L(e), c(!1), h == null || h(n[e]), o && ((s = N.current) == null || s.focus({ preventScroll: !0 }));
|
|
39
|
+
}, P = () => {
|
|
36
40
|
var e;
|
|
37
|
-
return Array.from(((e =
|
|
38
|
-
},
|
|
39
|
-
var
|
|
40
|
-
const
|
|
41
|
-
(
|
|
42
|
-
},
|
|
43
|
-
var
|
|
44
|
-
const
|
|
45
|
-
s >= 0 ? (e.preventDefault(), (
|
|
46
|
-
},
|
|
47
|
-
if (!e.icon) return
|
|
48
|
-
const
|
|
49
|
-
return /* @__PURE__ */
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
-
!e.iconOnly &&
|
|
41
|
+
return Array.from(((e = k.current) == null ? void 0 : e.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')) || []);
|
|
42
|
+
}, V = (e) => {
|
|
43
|
+
var t;
|
|
44
|
+
const o = P();
|
|
45
|
+
(t = o[e < 0 ? o.length - 1 : e]) == null || t.focus();
|
|
46
|
+
}, X = (e) => {
|
|
47
|
+
var i, l;
|
|
48
|
+
const o = P(), t = o.indexOf(document.activeElement), s = e.key === "ArrowDown" ? (t + 1) % o.length : e.key === "ArrowUp" ? (t - 1 + o.length) % o.length : e.key === "Home" ? 0 : e.key === "End" ? o.length - 1 : -1;
|
|
49
|
+
s >= 0 ? (e.preventDefault(), (i = o[s]) == null || i.focus()) : e.key === "Escape" && (e.preventDefault(), c(!1), (l = N.current) == null || l.focus());
|
|
50
|
+
}, M = (e) => /* @__PURE__ */ r("span", { className: "u-tabs-title", "data-label": e.title, children: e.title }), Z = (e) => {
|
|
51
|
+
if (!e.icon) return M(e);
|
|
52
|
+
const o = e.iconPosition === "right";
|
|
53
|
+
return /* @__PURE__ */ a("span", { className: `u-tabs-content${o ? " u-tabs-content-reverse" : ""}`, children: [
|
|
54
|
+
/* @__PURE__ */ r(b, { name: e.icon, className: "u-tabs-icon" }),
|
|
55
|
+
!e.iconOnly && M(e)
|
|
52
56
|
] });
|
|
53
|
-
},
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
}, C = (e, o, t, s = !1) => {
|
|
58
|
+
const i = n[e];
|
|
59
|
+
if (!i.url)
|
|
60
|
+
return /* @__PURE__ */ r("button", { type: "button", ...o, onClick: s ? void 0 : () => S(e), children: t });
|
|
61
|
+
if (s || i.disabled)
|
|
62
|
+
return /* @__PURE__ */ r("a", { ...o, role: o.role ?? (s ? void 0 : "link"), children: t });
|
|
63
|
+
const l = (W) => {
|
|
64
|
+
ue(W) && S(e);
|
|
65
|
+
};
|
|
66
|
+
return v ? /* @__PURE__ */ r(v, { to: i.url, ...o, onClick: l, children: t }) : /* @__PURE__ */ r("a", { href: i.url, ...o, onClick: l, children: t });
|
|
67
|
+
}, E = (e, o = !1) => {
|
|
68
|
+
const t = n[e], s = !!(t.icon && t.iconOnly), i = t.icon ? s ? " u-tab-icon-only" : ` u-tab-with-icon${t.iconPosition === "right" ? " u-tab-icon-right" : ""}` : "", l = C(e, {
|
|
69
|
+
className: `${w}${i}${t.id === m ? ` ${G}` : ""}${t.disabled ? " u-tab--disabled" : ""}`,
|
|
70
|
+
"data-label": s ? void 0 : t.title,
|
|
71
|
+
"aria-label": s ? t.title : void 0,
|
|
72
|
+
"data-measure-tab": o ? "" : void 0,
|
|
73
|
+
// Не хватает места — сначала ужимаются отступы вкладок, подпись остаётся целой.
|
|
74
|
+
style: o ? void 0 : F(e),
|
|
75
|
+
// Отключённая вкладка не попадает в обход по Tab; нативный disabled не ставим —
|
|
76
|
+
// он гасит события мыши, и подсказка с объяснением не показалась бы.
|
|
77
|
+
tabIndex: o || t.disabled ? -1 : void 0,
|
|
78
|
+
"aria-current": !o && t.id === m ? "page" : void 0,
|
|
79
|
+
"aria-disabled": !o && t.disabled ? "true" : void 0
|
|
80
|
+
}, Z(t), o);
|
|
81
|
+
return /* @__PURE__ */ r("div", { className: "u-tabs-item", children: U && !_ && !o ? /* @__PURE__ */ r(te, { tooltipText: t.title, portalOn: !0, className: "u-tabs-tooltip", children: l }) : l }, e);
|
|
71
82
|
};
|
|
72
|
-
return /* @__PURE__ */
|
|
73
|
-
"div",
|
|
83
|
+
return /* @__PURE__ */ a(
|
|
84
|
+
T ? "nav" : "div",
|
|
74
85
|
{
|
|
75
|
-
ref:
|
|
76
|
-
className: `u-tabs ${
|
|
86
|
+
ref: K,
|
|
87
|
+
className: `u-tabs ${f ? "u-tabs-segment" : "u-tabs-line"}${y ? " u-tabs-full-width" : ""}${$ ? ` ${$}` : ""}`,
|
|
88
|
+
"aria-label": T ? B : void 0,
|
|
77
89
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
-
|
|
81
|
-
|
|
90
|
+
/* @__PURE__ */ a("div", { className: "u-tabs-track", ref: I, children: [
|
|
91
|
+
/* @__PURE__ */ r("span", { className: "u-tabs-indicator", ref: Q, "aria-hidden": "true" }),
|
|
92
|
+
z.map((e) => E(e)),
|
|
93
|
+
u.length > 0 && /* @__PURE__ */ a(
|
|
82
94
|
"div",
|
|
83
95
|
{
|
|
84
96
|
className: "u-tabs-more",
|
|
85
|
-
ref:
|
|
86
|
-
onKeyDown:
|
|
97
|
+
ref: R,
|
|
98
|
+
onKeyDown: X,
|
|
87
99
|
onBlur: (e) => {
|
|
88
|
-
const
|
|
89
|
-
|
|
100
|
+
const o = e.relatedTarget;
|
|
101
|
+
o && !e.currentTarget.contains(o) && c(!1);
|
|
90
102
|
},
|
|
91
103
|
children: [
|
|
92
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ a(
|
|
93
105
|
"button",
|
|
94
106
|
{
|
|
95
107
|
type: "button",
|
|
96
|
-
ref:
|
|
97
|
-
className: `${
|
|
98
|
-
"aria-expanded":
|
|
108
|
+
ref: N,
|
|
109
|
+
className: `${w} u-tabs-more-trigger`,
|
|
110
|
+
"aria-expanded": d,
|
|
99
111
|
"aria-haspopup": "menu",
|
|
100
|
-
"aria-controls":
|
|
101
|
-
onClick: () =>
|
|
112
|
+
"aria-controls": O,
|
|
113
|
+
onClick: () => c((e) => !e),
|
|
102
114
|
onKeyDown: (e) => {
|
|
103
|
-
(e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), e.stopPropagation(),
|
|
115
|
+
(e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), e.stopPropagation(), c(!0), requestAnimationFrame(() => V(e.key === "ArrowUp" ? -1 : 0)));
|
|
104
116
|
},
|
|
105
117
|
children: [
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
-
/* @__PURE__ */
|
|
118
|
+
/* @__PURE__ */ r("span", { children: "Ещё" }),
|
|
119
|
+
/* @__PURE__ */ r(b, { name: "down", size: 14, rotate: d ? 180 : 0 })
|
|
108
120
|
]
|
|
109
121
|
}
|
|
110
122
|
),
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
children: r[e].icon ? /* @__PURE__ */ i("span", { className: "u-tabs-content", children: [
|
|
120
|
-
/* @__PURE__ */ o(p, { name: r[e].icon, className: "u-tabs-icon" }),
|
|
121
|
-
/* @__PURE__ */ o("span", { children: r[e].title })
|
|
122
|
-
] }) : r[e].title
|
|
123
|
-
},
|
|
124
|
-
e
|
|
125
|
-
)) })
|
|
123
|
+
H && /* @__PURE__ */ r("div", { className: "u-tabs-more-menu", role: "menu", id: O, ref: k, style: se(J, Y), children: A.current.filter((e) => n[e]).map((e) => /* @__PURE__ */ r(oe, { children: C(e, {
|
|
124
|
+
role: "menuitem",
|
|
125
|
+
"aria-disabled": n[e].disabled ? "true" : void 0,
|
|
126
|
+
tabIndex: n[e].disabled ? -1 : void 0
|
|
127
|
+
}, n[e].icon ? /* @__PURE__ */ a("span", { className: "u-tabs-content", children: [
|
|
128
|
+
/* @__PURE__ */ r(b, { name: n[e].icon, className: "u-tabs-icon" }),
|
|
129
|
+
/* @__PURE__ */ r("span", { children: n[e].title })
|
|
130
|
+
] }) : n[e].title) }, e)) })
|
|
126
131
|
]
|
|
127
132
|
}
|
|
128
133
|
)
|
|
129
134
|
] }),
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
-
|
|
132
|
-
/* @__PURE__ */
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
-
/* @__PURE__ */
|
|
135
|
+
/* @__PURE__ */ a("div", { ref: j, className: "u-tabs-measure", "aria-hidden": "true", children: [
|
|
136
|
+
n.map((e, o) => E(o, !0)),
|
|
137
|
+
f && /* @__PURE__ */ a("button", { ref: q, type: "button", tabIndex: -1, className: `${w} u-tabs-more-trigger u-tabs-more-measure`, children: [
|
|
138
|
+
/* @__PURE__ */ r("span", { children: "Ещё" }),
|
|
139
|
+
/* @__PURE__ */ r(b, { name: "down", size: 14 })
|
|
135
140
|
] })
|
|
136
141
|
] })
|
|
137
142
|
]
|
|
138
143
|
}
|
|
139
144
|
);
|
|
140
145
|
};
|
|
141
|
-
export {
|
|
146
|
+
export { Ie as Tabs$u };
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import type { ComponentType, CSSProperties, MouseEvent, ReactNode } from 'react';
|
|
1
2
|
export type TabsDataProperties = Partial<{
|
|
2
3
|
id: string | number;
|
|
3
4
|
title: string;
|
|
5
|
+
/**
|
|
6
|
+
* Адрес раздела. Есть хотя бы у одной вкладки — вкладки становятся ссылками (режим навигации):
|
|
7
|
+
* Ctrl/Cmd/Shift/средний клик и «Открыть в новой вкладке» работают как у обычной ссылки,
|
|
8
|
+
* обычный клик вызывает `onClick`, как раньше. Без `LinkComponent` — `<a href>` с переходом браузера.
|
|
9
|
+
*/
|
|
10
|
+
url: string;
|
|
4
11
|
/** Имя иконки кита (как у `Icon`): `'list-view'`, `'table-view'` и т. д. Без него вкладка — только текст. */
|
|
5
12
|
icon: string;
|
|
6
13
|
/** Сторона иконки относительно текста; по умолчанию слева. */
|
|
@@ -12,11 +19,24 @@ export type TabsDataProperties = Partial<{
|
|
|
12
19
|
iconOnly: boolean;
|
|
13
20
|
/**
|
|
14
21
|
* Вкладку нельзя выбрать: клик и Enter не вызывают `onClick`, кнопка с `aria-disabled="true"`
|
|
15
|
-
* выпадает из обхода по Tab и стрелками в меню
|
|
22
|
+
* выпадает из обхода по Tab и стрелками в меню «Ещё» сегментов, вид приглушён. Если она уже активна
|
|
16
23
|
* (`activeTab`), выбор не меняется — кит её не переключает сам.
|
|
17
24
|
*/
|
|
18
25
|
disabled: boolean;
|
|
19
26
|
}>;
|
|
27
|
+
/** Пропсы, которые кит передаёт `LinkComponent` вкладки-ссылки (как у `Link` react-router). */
|
|
28
|
+
export type TabsLinkProperties = {
|
|
29
|
+
to: string;
|
|
30
|
+
className?: string;
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
|
|
33
|
+
tabIndex?: number;
|
|
34
|
+
style?: CSSProperties;
|
|
35
|
+
role?: string;
|
|
36
|
+
'aria-current'?: 'page';
|
|
37
|
+
'aria-label'?: string;
|
|
38
|
+
'data-label'?: string;
|
|
39
|
+
};
|
|
20
40
|
export type TabsProperties = Partial<{
|
|
21
41
|
onClick: (...args: unknown[]) => unknown;
|
|
22
42
|
tabsData: Array<TabsDataProperties>;
|
|
@@ -32,5 +52,13 @@ export type TabsProperties = Partial<{
|
|
|
32
52
|
tooltipOn: boolean;
|
|
33
53
|
/** Отключает китовую подсказку и при `tooltipOn`; по умолчанию false. */
|
|
34
54
|
tooltipDisabled: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Компонент ссылки роутера для вкладок с `url` (react-router `Link`): получает `to={url}`, классы
|
|
57
|
+
* и обработчик клика, обычный клик переходит без перезагрузки страницы. Без него — `<a href>`.
|
|
58
|
+
* Функция наряду с `ComponentType`: `to` у `Link` шире строки, а `propTypes` в `ComponentType` это запрещают.
|
|
59
|
+
*/
|
|
60
|
+
LinkComponent: ComponentType<TabsLinkProperties> | ((props: TabsLinkProperties) => ReactNode);
|
|
61
|
+
/** Подпись области навигации (`<nav aria-label>`) в режиме ссылок, если на странице несколько `nav`. */
|
|
62
|
+
ariaLabel: string;
|
|
35
63
|
}>;
|
|
36
64
|
//# sourceMappingURL=Tabs.types.d.ts.map
|