@fangxinyan/lumina 0.7.0 → 0.8.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/Pagination.cjs +3 -3
- package/dist/Pagination.js +2 -2
- package/dist/Select.cjs +2 -2
- package/dist/Select.d.cts +4 -0
- package/dist/Select.d.ts +4 -0
- package/dist/Select.js +1 -1
- package/dist/Splitter.cjs +2 -2
- package/dist/Splitter.d.cts +10 -0
- package/dist/Splitter.d.ts +10 -0
- package/dist/Splitter.js +1 -1
- package/dist/{Table-W4HPZ7MZ.css → Table-KB6EEBDJ.css} +28 -1
- package/dist/Table.cjs +4 -4
- package/dist/Table.d.cts +7 -1
- package/dist/Table.d.ts +7 -1
- package/dist/Table.js +3 -3
- package/dist/TablePro.cjs +5 -5
- package/dist/TablePro.js +4 -4
- package/dist/{Tabs-A3IG6UZ6.css → Tabs-FB2AMBWL.css} +14 -0
- package/dist/Tabs.cjs +2 -2
- package/dist/Tabs.d.cts +6 -0
- package/dist/Tabs.d.ts +6 -0
- package/dist/Tabs.js +1 -1
- package/dist/{chunk-WMZV7PNO.js → chunk-63RSKQID.js} +5 -1
- package/dist/{chunk-3EHJ5QI3.js → chunk-DURKCGEM.js} +26 -12
- package/dist/{chunk-BJDQVVCG.js → chunk-HQNDVNTQ.js} +1 -1
- package/dist/{chunk-RAK6CENJ.js → chunk-IJDM2U3B.js} +52 -35
- package/dist/{chunk-LOWTSOWT.js → chunk-J5UEQ3ZQ.js} +32 -5
- package/dist/{chunk-U7VEPMCX.cjs → chunk-JBS353O4.cjs} +32 -5
- package/dist/{chunk-56I6ZKGU.cjs → chunk-PJFYIXBX.cjs} +2 -2
- package/dist/{chunk-ENFLP7SN.cjs → chunk-PNKNZREC.cjs} +15 -5
- package/dist/{chunk-XZXY3XCL.cjs → chunk-RR7KWH26.cjs} +52 -35
- package/dist/{chunk-D7YSY5RZ.cjs → chunk-SF7BPXDJ.cjs} +26 -12
- package/dist/{chunk-JINKQT6H.cjs → chunk-WHBKQZU5.cjs} +6 -2
- package/dist/{chunk-EA3NZBCZ.js → chunk-WMISXERU.js} +14 -4
- package/dist/index.cjs +13 -13
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +7 -7
- package/dist/styles.css +42 -1
- package/docs/llms/drawer.md +8 -1
- package/docs/llms/select.md +19 -0
- package/docs/llms/splitter.md +12 -1
- package/docs/llms/tablepro.md +23 -1
- package/docs/llms/tabs.md +21 -0
- package/docs/llms.md +1 -1
- package/package.json +1 -1
|
@@ -33,6 +33,11 @@ var SplitterBase = React.forwardRef(({
|
|
|
33
33
|
className = "",
|
|
34
34
|
handleClassName = "",
|
|
35
35
|
handleProps,
|
|
36
|
+
firstPaneClassName = "",
|
|
37
|
+
firstPaneStyle,
|
|
38
|
+
secondPaneClassName = "",
|
|
39
|
+
secondPaneStyle,
|
|
40
|
+
handle,
|
|
36
41
|
secondMin = 24,
|
|
37
42
|
storageKey,
|
|
38
43
|
...rest
|
|
@@ -156,6 +161,13 @@ var SplitterBase = React.forwardRef(({
|
|
|
156
161
|
}
|
|
157
162
|
};
|
|
158
163
|
const firstStyle = direction === "horizontal" ? { width: current } : { height: current };
|
|
164
|
+
const {
|
|
165
|
+
className: nativeHandleClassName = "",
|
|
166
|
+
style: nativeHandleStyle,
|
|
167
|
+
children: nativeHandleChildren,
|
|
168
|
+
...nativeHandleProps
|
|
169
|
+
} = handleProps ?? {};
|
|
170
|
+
const handleContent = handle !== void 0 ? handle : nativeHandleChildren !== void 0 ? nativeHandleChildren : /* @__PURE__ */ jsx("span", { className: "splitter-handle-grip", "aria-hidden": true });
|
|
159
171
|
return /* @__PURE__ */ jsxs(
|
|
160
172
|
"div",
|
|
161
173
|
{
|
|
@@ -167,11 +179,18 @@ var SplitterBase = React.forwardRef(({
|
|
|
167
179
|
className: `splitter ${direction} ${dragging ? "dragging" : ""} ${className}`,
|
|
168
180
|
...rest,
|
|
169
181
|
children: [
|
|
170
|
-
/* @__PURE__ */ jsx("div", { className: "splitter-panel first", style: firstStyle, children: children[0] }),
|
|
171
182
|
/* @__PURE__ */ jsx(
|
|
172
183
|
"div",
|
|
173
184
|
{
|
|
174
|
-
|
|
185
|
+
className: ["splitter-panel", "first", firstPaneClassName].filter(Boolean).join(" "),
|
|
186
|
+
style: { ...firstStyle, ...firstPaneStyle },
|
|
187
|
+
children: children[0]
|
|
188
|
+
}
|
|
189
|
+
),
|
|
190
|
+
/* @__PURE__ */ jsx(
|
|
191
|
+
"div",
|
|
192
|
+
{
|
|
193
|
+
...nativeHandleProps,
|
|
175
194
|
role: "separator",
|
|
176
195
|
tabIndex: 0,
|
|
177
196
|
"aria-label": handleProps?.["aria-label"] ?? "\u8C03\u6574\u5206\u680F\u5C3A\u5BF8",
|
|
@@ -179,16 +198,24 @@ var SplitterBase = React.forwardRef(({
|
|
|
179
198
|
"aria-valuenow": current,
|
|
180
199
|
"aria-valuemin": min,
|
|
181
200
|
"aria-valuemax": Number.isFinite(max) ? clamp(max) : void 0,
|
|
182
|
-
className:
|
|
201
|
+
className: ["splitter-handle", handleClassName, nativeHandleClassName].filter(Boolean).join(" "),
|
|
202
|
+
style: nativeHandleStyle,
|
|
183
203
|
onPointerDown,
|
|
184
204
|
onKeyDown: (event) => {
|
|
185
205
|
handleProps?.onKeyDown?.(event);
|
|
186
206
|
if (!event.defaultPrevented) onKeyDown(event);
|
|
187
207
|
},
|
|
188
|
-
children:
|
|
208
|
+
children: handleContent
|
|
189
209
|
}
|
|
190
210
|
),
|
|
191
|
-
/* @__PURE__ */ jsx(
|
|
211
|
+
/* @__PURE__ */ jsx(
|
|
212
|
+
"div",
|
|
213
|
+
{
|
|
214
|
+
className: ["splitter-panel", "second", secondPaneClassName].filter(Boolean).join(" "),
|
|
215
|
+
style: secondPaneStyle,
|
|
216
|
+
children: children[1]
|
|
217
|
+
}
|
|
218
|
+
)
|
|
192
219
|
]
|
|
193
220
|
}
|
|
194
221
|
);
|
|
@@ -55,6 +55,11 @@ var SplitterBase = React__namespace.forwardRef(({
|
|
|
55
55
|
className = "",
|
|
56
56
|
handleClassName = "",
|
|
57
57
|
handleProps,
|
|
58
|
+
firstPaneClassName = "",
|
|
59
|
+
firstPaneStyle,
|
|
60
|
+
secondPaneClassName = "",
|
|
61
|
+
secondPaneStyle,
|
|
62
|
+
handle,
|
|
58
63
|
secondMin = 24,
|
|
59
64
|
storageKey,
|
|
60
65
|
...rest
|
|
@@ -178,6 +183,13 @@ var SplitterBase = React__namespace.forwardRef(({
|
|
|
178
183
|
}
|
|
179
184
|
};
|
|
180
185
|
const firstStyle = direction === "horizontal" ? { width: current } : { height: current };
|
|
186
|
+
const {
|
|
187
|
+
className: nativeHandleClassName = "",
|
|
188
|
+
style: nativeHandleStyle,
|
|
189
|
+
children: nativeHandleChildren,
|
|
190
|
+
...nativeHandleProps
|
|
191
|
+
} = handleProps ?? {};
|
|
192
|
+
const handleContent = handle !== void 0 ? handle : nativeHandleChildren !== void 0 ? nativeHandleChildren : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "splitter-handle-grip", "aria-hidden": true });
|
|
181
193
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
182
194
|
"div",
|
|
183
195
|
{
|
|
@@ -189,11 +201,18 @@ var SplitterBase = React__namespace.forwardRef(({
|
|
|
189
201
|
className: `splitter ${direction} ${dragging ? "dragging" : ""} ${className}`,
|
|
190
202
|
...rest,
|
|
191
203
|
children: [
|
|
192
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "splitter-panel first", style: firstStyle, children: children[0] }),
|
|
193
204
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
194
205
|
"div",
|
|
195
206
|
{
|
|
196
|
-
|
|
207
|
+
className: ["splitter-panel", "first", firstPaneClassName].filter(Boolean).join(" "),
|
|
208
|
+
style: { ...firstStyle, ...firstPaneStyle },
|
|
209
|
+
children: children[0]
|
|
210
|
+
}
|
|
211
|
+
),
|
|
212
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
213
|
+
"div",
|
|
214
|
+
{
|
|
215
|
+
...nativeHandleProps,
|
|
197
216
|
role: "separator",
|
|
198
217
|
tabIndex: 0,
|
|
199
218
|
"aria-label": handleProps?.["aria-label"] ?? "\u8C03\u6574\u5206\u680F\u5C3A\u5BF8",
|
|
@@ -201,16 +220,24 @@ var SplitterBase = React__namespace.forwardRef(({
|
|
|
201
220
|
"aria-valuenow": current,
|
|
202
221
|
"aria-valuemin": min,
|
|
203
222
|
"aria-valuemax": Number.isFinite(max) ? clamp(max) : void 0,
|
|
204
|
-
className:
|
|
223
|
+
className: ["splitter-handle", handleClassName, nativeHandleClassName].filter(Boolean).join(" "),
|
|
224
|
+
style: nativeHandleStyle,
|
|
205
225
|
onPointerDown,
|
|
206
226
|
onKeyDown: (event) => {
|
|
207
227
|
handleProps?.onKeyDown?.(event);
|
|
208
228
|
if (!event.defaultPrevented) onKeyDown(event);
|
|
209
229
|
},
|
|
210
|
-
children:
|
|
230
|
+
children: handleContent
|
|
211
231
|
}
|
|
212
232
|
),
|
|
213
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
233
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
234
|
+
"div",
|
|
235
|
+
{
|
|
236
|
+
className: ["splitter-panel", "second", secondPaneClassName].filter(Boolean).join(" "),
|
|
237
|
+
style: secondPaneStyle,
|
|
238
|
+
children: children[1]
|
|
239
|
+
}
|
|
240
|
+
)
|
|
214
241
|
]
|
|
215
242
|
}
|
|
216
243
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSF7BPXDJ_cjs = require('./chunk-SF7BPXDJ.cjs');
|
|
4
4
|
var chunkSTQDKMS5_cjs = require('./chunk-STQDKMS5.cjs');
|
|
5
5
|
var chunk2AUXUZ3Z_cjs = require('./chunk-2AUXUZ3Z.cjs');
|
|
6
6
|
var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
|
|
@@ -137,7 +137,7 @@ var PaginationBase = React__namespace.forwardRef(({
|
|
|
137
137
|
}
|
|
138
138
|
),
|
|
139
139
|
showSizeChanger && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pg-size-changer", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
140
|
-
|
|
140
|
+
chunkSF7BPXDJ_cjs.Select,
|
|
141
141
|
{
|
|
142
142
|
value: normalizedPageSize,
|
|
143
143
|
size: "sm",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPJFYIXBX_cjs = require('./chunk-PJFYIXBX.cjs');
|
|
4
4
|
var chunkKCDOC3HS_cjs = require('./chunk-KCDOC3HS.cjs');
|
|
5
5
|
var chunkFJB3243S_cjs = require('./chunk-FJB3243S.cjs');
|
|
6
6
|
var chunkHSDMJUB6_cjs = require('./chunk-HSDMJUB6.cjs');
|
|
@@ -10,7 +10,7 @@ var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
|
|
|
10
10
|
var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
|
|
11
11
|
require('./tokens-CEJVVA3G.css');
|
|
12
12
|
require('./shared-NJHRNLRH.css');
|
|
13
|
-
require('./Table-
|
|
13
|
+
require('./Table-KB6EEBDJ.css');
|
|
14
14
|
var React = require('react');
|
|
15
15
|
var reactDom = require('react-dom');
|
|
16
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -74,6 +74,8 @@ var TableInner = ({
|
|
|
74
74
|
tableProps,
|
|
75
75
|
caption,
|
|
76
76
|
onRowClick,
|
|
77
|
+
activeRowKey,
|
|
78
|
+
rowClassName,
|
|
77
79
|
empty = "\u6682\u65E0\u6570\u636E",
|
|
78
80
|
className = "",
|
|
79
81
|
style,
|
|
@@ -387,8 +389,10 @@ var TableInner = ({
|
|
|
387
389
|
);
|
|
388
390
|
})
|
|
389
391
|
] }) }),
|
|
390
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map(({ row, key: k }, i) => {
|
|
392
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: totalColCount, className: "table-empty", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-empty-content", children: empty }) }) }) : rowsToRender.map(({ row, key: k }, i) => {
|
|
391
393
|
const isSel = selectedKeySet.has(k);
|
|
394
|
+
const isActive = activeRowKey !== void 0 && activeRowKey === k;
|
|
395
|
+
const resolvedRowClassName = typeof rowClassName === "function" ? rowClassName(row, i) : rowClassName;
|
|
392
396
|
const selProps = rowSelection?.getCheckboxProps?.(row);
|
|
393
397
|
const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
|
|
394
398
|
const isExpanded = canExpand && expandedKeySet.has(k);
|
|
@@ -398,10 +402,16 @@ var TableInner = ({
|
|
|
398
402
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
399
403
|
"tr",
|
|
400
404
|
{
|
|
401
|
-
className:
|
|
405
|
+
className: [
|
|
406
|
+
onRowClick ? "clickable" : "",
|
|
407
|
+
isSel ? "selected" : "",
|
|
408
|
+
isActive ? "active-row" : "",
|
|
409
|
+
resolvedRowClassName
|
|
410
|
+
].filter(Boolean).join(" "),
|
|
402
411
|
onClick: onRowClick ? () => onRowClick(row, i) : void 0,
|
|
403
412
|
tabIndex: onRowClick ? 0 : void 0,
|
|
404
413
|
"aria-selected": selectionMode !== "off" ? isSel : void 0,
|
|
414
|
+
"aria-current": isActive ? "true" : void 0,
|
|
405
415
|
onKeyDown: onRowClick ? (event) => {
|
|
406
416
|
if (event.currentTarget !== event.target) return;
|
|
407
417
|
if (event.key === "Enter" || event.key === " ") {
|
|
@@ -493,7 +503,7 @@ var TableInner = ({
|
|
|
493
503
|
}
|
|
494
504
|
),
|
|
495
505
|
pagEnabled && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-pagination", children: /* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Pagination", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
496
|
-
|
|
506
|
+
chunkPJFYIXBX_cjs.Pagination,
|
|
497
507
|
{
|
|
498
508
|
total: totalCount,
|
|
499
509
|
pageSize: curPageSize,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
|
|
4
4
|
require('./tokens-CEJVVA3G.css');
|
|
5
5
|
require('./shared-NJHRNLRH.css');
|
|
6
|
-
require('./Tabs-
|
|
6
|
+
require('./Tabs-FB2AMBWL.css');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
|
|
@@ -35,6 +35,9 @@ var TabsBase = React__namespace.forwardRef(({
|
|
|
35
35
|
onChange,
|
|
36
36
|
variant = "line",
|
|
37
37
|
centered,
|
|
38
|
+
tabBarClassName = "",
|
|
39
|
+
contentClassName = "",
|
|
40
|
+
fill = false,
|
|
38
41
|
className = "",
|
|
39
42
|
...rest
|
|
40
43
|
}, ref) => {
|
|
@@ -64,40 +67,54 @@ var TabsBase = React__namespace.forwardRef(({
|
|
|
64
67
|
};
|
|
65
68
|
const active = items.find((i) => i.key === current);
|
|
66
69
|
const activeIndex = items.findIndex((item) => item.key === current);
|
|
67
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
70
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
71
|
+
"div",
|
|
72
|
+
{
|
|
73
|
+
ref,
|
|
74
|
+
className: [
|
|
75
|
+
"tabs",
|
|
76
|
+
variant,
|
|
77
|
+
centered ? "centered" : "",
|
|
78
|
+
fill ? "fill" : "",
|
|
79
|
+
className
|
|
80
|
+
].filter(Boolean).join(" "),
|
|
81
|
+
...rest,
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: ["tabs-nav", tabBarClassName].filter(Boolean).join(" "), role: "tablist", children: items.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
"button",
|
|
85
|
+
{
|
|
86
|
+
ref: (node) => {
|
|
87
|
+
if (node) tabRefs.current.set(it.key, node);
|
|
88
|
+
else tabRefs.current.delete(it.key);
|
|
89
|
+
},
|
|
90
|
+
type: "button",
|
|
91
|
+
role: "tab",
|
|
92
|
+
id: `${baseId}-tab-${index}`,
|
|
93
|
+
"aria-selected": current === it.key,
|
|
94
|
+
"aria-controls": it.content !== void 0 ? `${baseId}-panel-${index}` : void 0,
|
|
95
|
+
tabIndex: current === it.key ? 0 : -1,
|
|
96
|
+
disabled: it.disabled,
|
|
97
|
+
className: `tab ${current === it.key ? "active" : ""}`,
|
|
98
|
+
onClick: () => select(it.key),
|
|
99
|
+
onKeyDown: handleTabKeyDown,
|
|
100
|
+
children: it.label
|
|
101
|
+
},
|
|
102
|
+
it.key
|
|
103
|
+
)) }),
|
|
104
|
+
active?.content !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
"div",
|
|
106
|
+
{
|
|
107
|
+
id: `${baseId}-panel-${activeIndex}`,
|
|
108
|
+
className: ["tabs-content", contentClassName].filter(Boolean).join(" "),
|
|
109
|
+
role: "tabpanel",
|
|
110
|
+
"aria-labelledby": `${baseId}-tab-${activeIndex}`,
|
|
111
|
+
tabIndex: 0,
|
|
112
|
+
children: active.content
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
);
|
|
101
118
|
});
|
|
102
119
|
TabsBase.displayName = "Tabs";
|
|
103
120
|
var Tabs = chunkNRJXZPZR_cjs.withComponentTheme(TabsBase, "Tabs", "tabs");
|
|
@@ -68,6 +68,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
68
68
|
selectedRender,
|
|
69
69
|
listHeight = 260,
|
|
70
70
|
popupStyle,
|
|
71
|
+
getOptionDisabled,
|
|
71
72
|
open: openProp,
|
|
72
73
|
defaultOpen,
|
|
73
74
|
onOpenChange,
|
|
@@ -89,7 +90,8 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
89
90
|
defaultValue: _defaultValue,
|
|
90
91
|
onChange: _selectionChange,
|
|
91
92
|
onClear: _onClear,
|
|
92
|
-
maxTagCount
|
|
93
|
+
maxTagCount,
|
|
94
|
+
maxCount,
|
|
93
95
|
...rest
|
|
94
96
|
} = props;
|
|
95
97
|
const isMulti = multiple === true;
|
|
@@ -163,6 +165,15 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
163
165
|
const singleValue = singleControlled ? props.value : innerSingle;
|
|
164
166
|
const controlledMultiValue = props.value;
|
|
165
167
|
const multiValue = multiControlled ? Array.isArray(controlledMultiValue) ? controlledMultiValue : [] : innerMulti;
|
|
168
|
+
const selectedValues = React__namespace.useMemo(
|
|
169
|
+
() => isMulti ? multiValue : singleValue !== void 0 ? [singleValue] : [],
|
|
170
|
+
[isMulti, multiValue, singleValue]
|
|
171
|
+
);
|
|
172
|
+
const selectionLimit = maxCount !== void 0 && Number.isFinite(maxCount) ? Math.max(0, Math.floor(maxCount)) : void 0;
|
|
173
|
+
const isOptionDisabled = React__namespace.useCallback((option) => {
|
|
174
|
+
const selected = selectedValues.includes(option.value);
|
|
175
|
+
return !!option.disabled || !!getOptionDisabled?.(option, selectedValues) || isMulti && !selected && selectionLimit !== void 0 && selectedValues.length >= selectionLimit;
|
|
176
|
+
}, [getOptionDisabled, isMulti, selectedValues, selectionLimit]);
|
|
166
177
|
React__namespace.useEffect(() => {
|
|
167
178
|
if (!open) return;
|
|
168
179
|
const h = (e) => {
|
|
@@ -199,20 +210,20 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
199
210
|
}, [options, filteredFlat, query]);
|
|
200
211
|
React__namespace.useEffect(() => {
|
|
201
212
|
setActiveIdx((current) => {
|
|
202
|
-
if (current >= 0 && current < filteredFlat.length && !filteredFlat[current]
|
|
213
|
+
if (current >= 0 && current < filteredFlat.length && !isOptionDisabled(filteredFlat[current])) {
|
|
203
214
|
return current;
|
|
204
215
|
}
|
|
205
|
-
return filteredFlat.findIndex((option) => !option
|
|
216
|
+
return filteredFlat.findIndex((option) => !isOptionDisabled(option));
|
|
206
217
|
});
|
|
207
|
-
}, [filteredFlat]);
|
|
218
|
+
}, [filteredFlat, isOptionDisabled]);
|
|
208
219
|
const pickSingle = (opt) => {
|
|
209
|
-
if (disabled || opt
|
|
220
|
+
if (disabled || isOptionDisabled(opt)) return;
|
|
210
221
|
if (!singleControlled) setInnerSingle(opt.value);
|
|
211
222
|
props.onChange?.(opt.value);
|
|
212
223
|
setOpen(false);
|
|
213
224
|
};
|
|
214
225
|
const toggleMulti = (opt) => {
|
|
215
|
-
if (disabled || opt
|
|
226
|
+
if (disabled || isOptionDisabled(opt)) return;
|
|
216
227
|
const cur = multiValue ?? [];
|
|
217
228
|
const next = cur.includes(opt.value) ? cur.filter((v) => v !== opt.value) : [...cur, opt.value];
|
|
218
229
|
if (!multiControlled) setInnerMulti(next);
|
|
@@ -254,7 +265,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
254
265
|
setActiveIdx((i) => {
|
|
255
266
|
for (let step = 1; step <= filteredFlat.length; step++) {
|
|
256
267
|
const next = (Math.max(i, -1) + step) % filteredFlat.length;
|
|
257
|
-
if (!filteredFlat[next]
|
|
268
|
+
if (filteredFlat[next] && !isOptionDisabled(filteredFlat[next])) return next;
|
|
258
269
|
}
|
|
259
270
|
return i;
|
|
260
271
|
});
|
|
@@ -265,7 +276,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
265
276
|
setActiveIdx((i) => {
|
|
266
277
|
for (let step = 1; step <= filteredFlat.length; step++) {
|
|
267
278
|
const next = (i - step + filteredFlat.length) % filteredFlat.length;
|
|
268
|
-
if (!filteredFlat[next]
|
|
279
|
+
if (filteredFlat[next] && !isOptionDisabled(filteredFlat[next])) return next;
|
|
269
280
|
}
|
|
270
281
|
return i;
|
|
271
282
|
});
|
|
@@ -274,7 +285,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
274
285
|
if (e.key === "Enter") {
|
|
275
286
|
e.preventDefault();
|
|
276
287
|
const opt = filteredFlat[activeIdx];
|
|
277
|
-
if (opt && !opt
|
|
288
|
+
if (opt && !isOptionDisabled(opt)) {
|
|
278
289
|
if (isMulti) toggleMulti(opt);
|
|
279
290
|
else pickSingle(opt);
|
|
280
291
|
}
|
|
@@ -284,7 +295,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
284
295
|
const renderTrigger = () => {
|
|
285
296
|
if (isMulti) {
|
|
286
297
|
const selected = (multiValue ?? []).map((v) => allFlat.find((o) => o.value === v)).filter((o) => !!o);
|
|
287
|
-
const max =
|
|
298
|
+
const max = maxTagCount;
|
|
288
299
|
const shown = max != null ? selected.slice(0, max) : selected;
|
|
289
300
|
const overflow = selected.length - shown.length;
|
|
290
301
|
if (selected.length === 0) {
|
|
@@ -331,6 +342,7 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
331
342
|
const idx = renderIdx;
|
|
332
343
|
const sel = isSelected(o.value);
|
|
333
344
|
const active = idx === activeIdx;
|
|
345
|
+
const optionDisabled = isOptionDisabled(o);
|
|
334
346
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
335
347
|
"button",
|
|
336
348
|
{
|
|
@@ -339,9 +351,11 @@ var SelectInner = (props, forwardedRef) => {
|
|
|
339
351
|
role: "option",
|
|
340
352
|
"aria-selected": sel,
|
|
341
353
|
"aria-label": getOptionAriaLabel(o),
|
|
342
|
-
disabled:
|
|
354
|
+
disabled: optionDisabled,
|
|
343
355
|
className: `menu-item ${sel ? "active" : ""} ${active ? "highlight" : ""}`,
|
|
344
|
-
onMouseEnter: () =>
|
|
356
|
+
onMouseEnter: () => {
|
|
357
|
+
if (!optionDisabled) setActiveIdx(idx);
|
|
358
|
+
},
|
|
345
359
|
onClick: () => isMulti ? toggleMulti(o) : pickSingle(o),
|
|
346
360
|
children: [
|
|
347
361
|
isMulti && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `menu-check ${sel ? "on" : ""}`, "aria-hidden": true, children: sel && /* @__PURE__ */ jsxRuntime.jsx(chunk2AUXUZ3Z_cjs.Icon, { name: "check", size: 11, stroke: 3 }) }),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkPNKNZREC_cjs = require('./chunk-PNKNZREC.cjs');
|
|
4
4
|
var chunkNRJXZPZR_cjs = require('./chunk-NRJXZPZR.cjs');
|
|
5
5
|
require('./tokens-CEJVVA3G.css');
|
|
6
6
|
require('./shared-NJHRNLRH.css');
|
|
@@ -57,6 +57,8 @@ var TableProInner = ({
|
|
|
57
57
|
tableProps,
|
|
58
58
|
caption,
|
|
59
59
|
onRowClick,
|
|
60
|
+
activeRowKey,
|
|
61
|
+
rowClassName,
|
|
60
62
|
empty,
|
|
61
63
|
...rootProps
|
|
62
64
|
}, ref) => {
|
|
@@ -75,7 +77,7 @@ var TableProInner = ({
|
|
|
75
77
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "table-toolbar-actions", children: actions })
|
|
76
78
|
] }),
|
|
77
79
|
/* @__PURE__ */ jsxRuntime.jsx(chunkNRJXZPZR_cjs.InternalComponentThemePart, { components: "Table", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
78
|
-
|
|
80
|
+
chunkPNKNZREC_cjs.Table,
|
|
79
81
|
{
|
|
80
82
|
columns,
|
|
81
83
|
data,
|
|
@@ -97,6 +99,8 @@ var TableProInner = ({
|
|
|
97
99
|
tableProps,
|
|
98
100
|
caption,
|
|
99
101
|
onRowClick,
|
|
102
|
+
activeRowKey,
|
|
103
|
+
rowClassName,
|
|
100
104
|
empty,
|
|
101
105
|
className: innerTableClassName,
|
|
102
106
|
style: tableStyle
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Pagination } from './chunk-
|
|
1
|
+
import { Pagination } from './chunk-HQNDVNTQ.js';
|
|
2
2
|
import { Checkbox } from './chunk-KATJAJUU.js';
|
|
3
3
|
import { useFloating } from './chunk-3QXP2ZNP.js';
|
|
4
4
|
import { useOverlayLayer } from './chunk-2A4GYSN4.js';
|
|
@@ -8,7 +8,7 @@ import { withComponentTheme, InternalComponentThemePart, useComponentPortalTheme
|
|
|
8
8
|
import { usePortalContainer } from './chunk-ULTDRMGN.js';
|
|
9
9
|
import './tokens-CEJVVA3G.css';
|
|
10
10
|
import './shared-NJHRNLRH.css';
|
|
11
|
-
import './Table-
|
|
11
|
+
import './Table-KB6EEBDJ.css';
|
|
12
12
|
import * as React from 'react';
|
|
13
13
|
import { createPortal } from 'react-dom';
|
|
14
14
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -52,6 +52,8 @@ var TableInner = ({
|
|
|
52
52
|
tableProps,
|
|
53
53
|
caption,
|
|
54
54
|
onRowClick,
|
|
55
|
+
activeRowKey,
|
|
56
|
+
rowClassName,
|
|
55
57
|
empty = "\u6682\u65E0\u6570\u636E",
|
|
56
58
|
className = "",
|
|
57
59
|
style,
|
|
@@ -365,8 +367,10 @@ var TableInner = ({
|
|
|
365
367
|
);
|
|
366
368
|
})
|
|
367
369
|
] }) }),
|
|
368
|
-
/* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: empty }) }) : rowsToRender.map(({ row, key: k }, i) => {
|
|
370
|
+
/* @__PURE__ */ jsx("tbody", { children: rowsToRender.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: totalColCount, className: "table-empty", children: /* @__PURE__ */ jsx("div", { className: "table-empty-content", children: empty }) }) }) : rowsToRender.map(({ row, key: k }, i) => {
|
|
369
371
|
const isSel = selectedKeySet.has(k);
|
|
372
|
+
const isActive = activeRowKey !== void 0 && activeRowKey === k;
|
|
373
|
+
const resolvedRowClassName = typeof rowClassName === "function" ? rowClassName(row, i) : rowClassName;
|
|
370
374
|
const selProps = rowSelection?.getCheckboxProps?.(row);
|
|
371
375
|
const canExpand = hasExpandable && (expandable?.rowExpandable?.(row) ?? true);
|
|
372
376
|
const isExpanded = canExpand && expandedKeySet.has(k);
|
|
@@ -376,10 +380,16 @@ var TableInner = ({
|
|
|
376
380
|
/* @__PURE__ */ jsxs(
|
|
377
381
|
"tr",
|
|
378
382
|
{
|
|
379
|
-
className:
|
|
383
|
+
className: [
|
|
384
|
+
onRowClick ? "clickable" : "",
|
|
385
|
+
isSel ? "selected" : "",
|
|
386
|
+
isActive ? "active-row" : "",
|
|
387
|
+
resolvedRowClassName
|
|
388
|
+
].filter(Boolean).join(" "),
|
|
380
389
|
onClick: onRowClick ? () => onRowClick(row, i) : void 0,
|
|
381
390
|
tabIndex: onRowClick ? 0 : void 0,
|
|
382
391
|
"aria-selected": selectionMode !== "off" ? isSel : void 0,
|
|
392
|
+
"aria-current": isActive ? "true" : void 0,
|
|
383
393
|
onKeyDown: onRowClick ? (event) => {
|
|
384
394
|
if (event.currentTarget !== event.target) return;
|
|
385
395
|
if (event.key === "Enter" || event.key === " ") {
|
package/dist/index.cjs
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
var chunkJKUXA3U6_cjs = require('./chunk-JKUXA3U6.cjs');
|
|
4
4
|
var chunk77HU7JWK_cjs = require('./chunk-77HU7JWK.cjs');
|
|
5
5
|
var chunk3EMWDDWK_cjs = require('./chunk-3EMWDDWK.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
6
|
+
var chunkWHBKQZU5_cjs = require('./chunk-WHBKQZU5.cjs');
|
|
7
|
+
var chunkPNKNZREC_cjs = require('./chunk-PNKNZREC.cjs');
|
|
8
|
+
var chunkRR7KWH26_cjs = require('./chunk-RR7KWH26.cjs');
|
|
9
9
|
require('./chunk-HYJSMFZA.cjs');
|
|
10
10
|
var chunkPIJV2FHO_cjs = require('./chunk-PIJV2FHO.cjs');
|
|
11
11
|
var chunkYUJ7Z6N2_cjs = require('./chunk-YUJ7Z6N2.cjs');
|
|
12
12
|
var chunkLDX6Q6RK_cjs = require('./chunk-LDX6Q6RK.cjs');
|
|
13
13
|
var chunkZYIE3BH7_cjs = require('./chunk-ZYIE3BH7.cjs');
|
|
14
|
-
var
|
|
14
|
+
var chunkJBS353O4_cjs = require('./chunk-JBS353O4.cjs');
|
|
15
15
|
var chunkU5YYOOLC_cjs = require('./chunk-U5YYOOLC.cjs');
|
|
16
16
|
var chunkLG62MPMU_cjs = require('./chunk-LG62MPMU.cjs');
|
|
17
17
|
var chunkG5LCOBOT_cjs = require('./chunk-G5LCOBOT.cjs');
|
|
@@ -20,8 +20,8 @@ var chunk434Y2JVW_cjs = require('./chunk-434Y2JVW.cjs');
|
|
|
20
20
|
var chunkQYPA77OI_cjs = require('./chunk-QYPA77OI.cjs');
|
|
21
21
|
var chunkQ565GDVK_cjs = require('./chunk-Q565GDVK.cjs');
|
|
22
22
|
var chunkMUZQWIMR_cjs = require('./chunk-MUZQWIMR.cjs');
|
|
23
|
-
var
|
|
24
|
-
var
|
|
23
|
+
var chunkPJFYIXBX_cjs = require('./chunk-PJFYIXBX.cjs');
|
|
24
|
+
var chunkSF7BPXDJ_cjs = require('./chunk-SF7BPXDJ.cjs');
|
|
25
25
|
var chunkGFKWSDD6_cjs = require('./chunk-GFKWSDD6.cjs');
|
|
26
26
|
var chunkVX6MZO4K_cjs = require('./chunk-VX6MZO4K.cjs');
|
|
27
27
|
var chunkYAYSXZZZ_cjs = require('./chunk-YAYSXZZZ.cjs');
|
|
@@ -58,7 +58,7 @@ require('./chunk-NRJXZPZR.cjs');
|
|
|
58
58
|
var chunkEE5KXDRK_cjs = require('./chunk-EE5KXDRK.cjs');
|
|
59
59
|
|
|
60
60
|
// src/index.ts
|
|
61
|
-
var VERSION = "0.
|
|
61
|
+
var VERSION = "0.8.0";
|
|
62
62
|
|
|
63
63
|
Object.defineProperty(exports, "Timeline", {
|
|
64
64
|
enumerable: true,
|
|
@@ -90,15 +90,15 @@ Object.defineProperty(exports, "Typography", {
|
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "TablePro", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkWHBKQZU5_cjs.TablePro; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "Table", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkPNKNZREC_cjs.Table; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "Tabs", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkRR7KWH26_cjs.Tabs; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "THEME_PANEL_DEFAULT_PRESET_OPTIONS", {
|
|
104
104
|
enumerable: true,
|
|
@@ -126,7 +126,7 @@ Object.defineProperty(exports, "Slider", {
|
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "Splitter", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkJBS353O4_cjs.Splitter; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "StatusBar", {
|
|
132
132
|
enumerable: true,
|
|
@@ -190,11 +190,11 @@ Object.defineProperty(exports, "Modal", {
|
|
|
190
190
|
});
|
|
191
191
|
Object.defineProperty(exports, "Pagination", {
|
|
192
192
|
enumerable: true,
|
|
193
|
-
get: function () { return
|
|
193
|
+
get: function () { return chunkPJFYIXBX_cjs.Pagination; }
|
|
194
194
|
});
|
|
195
195
|
Object.defineProperty(exports, "Select", {
|
|
196
196
|
enumerable: true,
|
|
197
|
-
get: function () { return
|
|
197
|
+
get: function () { return chunkSF7BPXDJ_cjs.Select; }
|
|
198
198
|
});
|
|
199
199
|
Object.defineProperty(exports, "Tag", {
|
|
200
200
|
enumerable: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -21,7 +21,7 @@ export { MessageApi, MessageConfig, MessageContainer, MessageContainerProps, Mes
|
|
|
21
21
|
export { Tooltip, TooltipPlacement, TooltipProps } from './Tooltip.cjs';
|
|
22
22
|
export { Popover, PopoverPlacement, PopoverProps } from './Popover.cjs';
|
|
23
23
|
export { Alert, AlertProps, AlertTone } from './Alert.cjs';
|
|
24
|
-
export { ExpandableConfig, PaginationConfig, RowKey, RowSelectionConfig, Table, TableChangeAction, TableChangeInfo, TableColumn, TableColumnFilterItem, TablePaginationState, TableProps, TableScrollConfig, TableSorterState, TableVariant } from './Table.cjs';
|
|
24
|
+
export { ExpandableConfig, PaginationConfig, RowKey, RowSelectionConfig, Table, TableChangeAction, TableChangeInfo, TableColumn, TableColumnFilterItem, TablePaginationState, TableProps, TableRowClassName, TableScrollConfig, TableSorterState, TableVariant } from './Table.cjs';
|
|
25
25
|
export { TablePro, TableProProps } from './TablePro.cjs';
|
|
26
26
|
export { Pagination, PaginationProps } from './Pagination.cjs';
|
|
27
27
|
export { DatePicker, DatePickerFormat, DatePickerProps, DatePickerSize } from './DatePicker.cjs';
|
|
@@ -54,6 +54,6 @@ import 'react/jsx-runtime';
|
|
|
54
54
|
import 'react';
|
|
55
55
|
|
|
56
56
|
/** Package version — bumped by release scripts. */
|
|
57
|
-
declare const VERSION = "0.
|
|
57
|
+
declare const VERSION = "0.8.0";
|
|
58
58
|
|
|
59
59
|
export { VERSION };
|