@thewrong/ui 0.3.0 → 0.4.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/README.md +2 -2
- package/dist/components/button/Button.cjs +1 -1
- package/dist/components/button/Button.d.ts +3 -0
- package/dist/components/button/Button.esm.js +17 -5
- package/dist/components/button/types.d.ts +3 -1
- package/dist/components/button/utils.cjs +1 -1
- package/dist/components/button/utils.d.ts +2 -2
- package/dist/components/button/utils.esm.js +6 -2
- package/dist/components/progress/Progress.cjs +1 -1
- package/dist/components/progress/Progress.d.ts +3 -4
- package/dist/components/progress/Progress.esm.js +5 -5
- package/dist/components/progress/types.d.ts +2 -2
- package/dist/components/select/MultiSelect.cjs +1 -1
- package/dist/components/select/MultiSelect.esm.js +140 -138
- package/dist/components/select/Select.cjs +1 -1
- package/dist/components/select/Select.esm.js +190 -182
- package/dist/components/select/types.d.ts +7 -0
- package/dist/components/slider/Slider.cjs +1 -0
- package/dist/components/slider/Slider.d.ts +6 -0
- package/dist/components/slider/Slider.esm.js +36 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/types.d.ts +15 -0
- package/dist/components/slider/utils.cjs +1 -0
- package/dist/components/slider/utils.d.ts +3 -0
- package/dist/components/slider/utils.esm.js +15 -0
- package/dist/components/table/accordion-table.cjs +1 -1
- package/dist/components/table/accordion-table.esm.js +194 -180
- package/dist/components/table/components/SortHeader.cjs +1 -0
- package/dist/components/table/components/SortHeader.d.ts +10 -0
- package/dist/components/table/components/SortHeader.esm.js +27 -0
- package/dist/components/table/components/SortableHeaderCell.cjs +1 -1
- package/dist/components/table/components/SortableHeaderCell.d.ts +10 -2
- package/dist/components/table/components/SortableHeaderCell.esm.js +54 -26
- package/dist/components/table/hooks/sort-state.cjs +1 -0
- package/dist/components/table/hooks/sort-state.d.ts +5 -0
- package/dist/components/table/hooks/sort-state.esm.js +21 -0
- package/dist/components/table/hooks/useTableSort.cjs +1 -1
- package/dist/components/table/hooks/useTableSort.d.ts +6 -3
- package/dist/components/table/hooks/useTableSort.esm.js +18 -19
- package/dist/components/table/paginated-table.d.ts +2 -0
- package/dist/components/table/table.cjs +1 -1
- package/dist/components/table/table.d.ts +2 -0
- package/dist/components/table/table.esm.js +119 -104
- package/dist/components/table/types.d.ts +11 -4
- package/dist/components/tabs/Tabs.cjs +1 -0
- package/dist/components/tabs/Tabs.d.ts +8 -0
- package/dist/components/tabs/Tabs.esm.js +53 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/navigation.cjs +1 -0
- package/dist/components/tabs/navigation.d.ts +2 -0
- package/dist/components/tabs/navigation.esm.js +18 -0
- package/dist/components/tabs/types.d.ts +20 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +3 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.esm.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.esm.js +10 -0
- package/dist/tokens.css +78 -5
- package/dist/ui.css +1 -1
- package/llms.txt +9 -6
- package/package.json +1 -1
|
@@ -4,17 +4,19 @@ import { LoadingSpinner as n } from "../loading-spinner/LoadingSpinner.esm.js";
|
|
|
4
4
|
import { TableCheckbox as r } from "../table-checkbox/TableCheckbox.esm.js";
|
|
5
5
|
import { applyColumnState as i, buildColumnSlots as a, flattenLeafColumns as o, hasGroupSlot as ee } from "./column-group-utils.esm.js";
|
|
6
6
|
import { SortableHeaderCell as s } from "./components/SortableHeaderCell.esm.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
7
|
+
import { SortHeader as te } from "./components/SortHeader.esm.js";
|
|
8
|
+
import { ariaSort as ne, nextSort as re, sortDirectionFor as ie } from "./hooks/sort-state.esm.js";
|
|
9
|
+
import { useColumnResize as ae } from "./hooks/useColumnResize.esm.js";
|
|
10
|
+
import { useFillEmptyRows as oe } from "../../hooks/useFillEmptyRows.esm.js";
|
|
11
|
+
import { useTableDragSelection as se } from "../../hooks/useTableDragSelection.esm.js";
|
|
12
|
+
import { useTableSort as ce } from "./hooks/useTableSort.esm.js";
|
|
13
|
+
import { getColumnAlignClasses as c, getHoverableRowClasses as le, getSelectedRowClasses as ue, getStripedRowClasses as l, getTableBaseClasses as de, getTableCellClasses as u, getTableHeaderCellClasses as d, getTableHeaderClasses as fe, getTableSizeClasses as pe, getTableVariantClasses as me } from "./utils.esm.js";
|
|
12
14
|
import { forwardRef as f, useMemo as p, useRef as m } from "react";
|
|
13
15
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
14
|
-
import { DndContext as
|
|
15
|
-
import { SortableContext as
|
|
16
|
+
import { DndContext as he, KeyboardSensor as ge, PointerSensor as _e, closestCenter as ve, useSensor as ye, useSensors as be } from "@dnd-kit/core";
|
|
17
|
+
import { SortableContext as xe, arrayMove as Se, horizontalListSortingStrategy as Ce, sortableKeyboardCoordinates as we } from "@dnd-kit/sortable";
|
|
16
18
|
//#region src/components/table/table.tsx
|
|
17
|
-
var
|
|
19
|
+
var Te = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
18
20
|
let r = {
|
|
19
21
|
...e,
|
|
20
22
|
y: 0
|
|
@@ -23,11 +25,21 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
23
25
|
let i = n.left - t.left, a = n.right - t.right;
|
|
24
26
|
return r.x = Math.min(Math.max(r.x, i), a), r;
|
|
25
27
|
}, _ = f((f, _) => {
|
|
26
|
-
let { data: v, columns: y, columnGroups:
|
|
27
|
-
initialSort:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
let { data: v, columns: y, columnGroups: b, rowHeight: x, loading: Ee = !1, isFetching: S = !1, emptyMessage: De = "데이터가 없어요", onRowClick: C, selectedRows: w = [], onRowSelect: T, enableRowSelection: E = !1, enableSelectAll: D = !1, rowCompare: O, getRowId: k, enableSorting: A = !1, sortCycle: j = "tri", formatSortLabel: Oe, serverSideSorting: M = !1, onSortChange: ke, initialSort: Ae, variant: je = "default", size: Me = "medium", stickyHeader: N = !0, height: P, maxHeight: F, storageKey: Ne, columnState: I, fillEmptyRows: L = !0, totalElements: R, footerSlot: Pe, className: z = "", "data-testid": Fe, ...Ie } = f, { sort: B, sortedData: Le, handleSort: Re } = ce({
|
|
29
|
+
initialSort: Ae,
|
|
30
|
+
cycle: j,
|
|
31
|
+
serverSide: M,
|
|
32
|
+
onSort: ke || void 0
|
|
33
|
+
}), V = (e) => !!(e.sortable && (A || M)), ze = (e) => V(e) ? ne(ie(B, e.key)) : void 0, Be = (e) => {
|
|
34
|
+
if (!V(e)) return /* @__PURE__ */ h("span", { children: e.header });
|
|
35
|
+
let t = ie(B, e.key), n = re(B, e.key, j)?.direction ?? null;
|
|
36
|
+
return /* @__PURE__ */ h(te, {
|
|
37
|
+
current: t,
|
|
38
|
+
label: Oe?.(e, t, n),
|
|
39
|
+
onSort: () => Re(e.key),
|
|
40
|
+
children: e.header
|
|
41
|
+
});
|
|
42
|
+
}, H = p(() => !A || M ? v : Le(v, (e, t) => {
|
|
31
43
|
let n = y.find((e) => e.key === t);
|
|
32
44
|
if (n?.accessor) {
|
|
33
45
|
let r = n.accessor(e);
|
|
@@ -36,92 +48,92 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
36
48
|
return e[t];
|
|
37
49
|
}), [
|
|
38
50
|
v,
|
|
39
|
-
k,
|
|
40
51
|
A,
|
|
41
|
-
|
|
52
|
+
M,
|
|
42
53
|
B,
|
|
54
|
+
Le,
|
|
43
55
|
y
|
|
44
|
-
]),
|
|
45
|
-
if (!
|
|
46
|
-
let e = new Set(
|
|
47
|
-
return i(G,
|
|
48
|
-
}, [G,
|
|
56
|
+
]), Ve = m(null), U = m(null), He = m(null), Ue = m(null), W = !!I, We = be(ye(_e, { activationConstraint: { distance: 5 } }), ye(ge, { coordinateGetter: we })), G = p(() => a(y, b), [y, b]), K = p(() => {
|
|
57
|
+
if (!I) return G.filter((e) => !(e.kind === "column" && e.leafColumns[0].hidden));
|
|
58
|
+
let e = new Set(I.hiddenColumns);
|
|
59
|
+
return i(G, I.columnOrder, e);
|
|
60
|
+
}, [G, I]), q = p(() => o(K), [K]), J = p(() => ee(K), [K]), Ge = p(() => new Map(G.map((e) => [e.key, e])), [G]), Ke = (e) => {
|
|
49
61
|
let { active: t, over: n } = e;
|
|
50
|
-
if (!
|
|
51
|
-
let r =
|
|
62
|
+
if (!I || !n || t.id === n.id) return;
|
|
63
|
+
let r = Ge.get(String(n.id));
|
|
52
64
|
if (r?.kind === "column" && r.leafColumns[0].excludeFromPreset) return;
|
|
53
|
-
let i =
|
|
54
|
-
a === -1 || o === -1 ||
|
|
55
|
-
}, { handleMouseDown:
|
|
65
|
+
let i = I.columnOrder, a = i.indexOf(String(t.id)), o = i.indexOf(String(n.id));
|
|
66
|
+
a === -1 || o === -1 || I.onColumnOrderChange(Se(i, a, o));
|
|
67
|
+
}, { handleMouseDown: qe, handleDoubleClick: Je, getColumnWidth: Y, measureRef: Ye } = ae({
|
|
56
68
|
columns: q,
|
|
57
|
-
data:
|
|
69
|
+
data: H,
|
|
58
70
|
getCellContent: (e, t) => {
|
|
59
71
|
let n = q.find((e) => e.key === t);
|
|
60
72
|
return n?.accessor ? n.accessor(e) : e[t];
|
|
61
73
|
},
|
|
62
|
-
tableRef:
|
|
63
|
-
...
|
|
64
|
-
controlledWidths:
|
|
65
|
-
onColumnWidthsChange:
|
|
66
|
-
} : { storageKey:
|
|
67
|
-
}),
|
|
74
|
+
tableRef: Ve,
|
|
75
|
+
...I ? {
|
|
76
|
+
controlledWidths: I.columnWidths,
|
|
77
|
+
onColumnWidthsChange: I.onColumnWidthsChange
|
|
78
|
+
} : { storageKey: Ne }
|
|
79
|
+
}), Xe = de(), Ze = me(je), Qe = pe(Me), $e = E && D ? 48 : 0, et = p(() => q.reduce((e, t) => {
|
|
68
80
|
let n = Y(t.key, t.width), r = parseFloat(n);
|
|
69
81
|
return e + (Number.isFinite(r) ? r : 0);
|
|
70
|
-
}, 0) +
|
|
82
|
+
}, 0) + $e, [
|
|
71
83
|
q,
|
|
72
84
|
Y,
|
|
73
|
-
|
|
85
|
+
$e
|
|
74
86
|
]), X = p(() => {
|
|
75
87
|
let e = {};
|
|
76
|
-
return
|
|
77
|
-
}, [
|
|
78
|
-
enabled:
|
|
88
|
+
return P && (e.height = typeof P == "number" ? `${P}px` : P), F && (e.maxHeight = typeof F == "number" ? `${F}px` : F), e;
|
|
89
|
+
}, [P, F]), { emptyRowCount: tt, measuredRowHeight: nt } = oe({
|
|
90
|
+
enabled: L,
|
|
79
91
|
containerRef: U,
|
|
80
|
-
theadRef:
|
|
81
|
-
tbodyRef:
|
|
92
|
+
theadRef: He,
|
|
93
|
+
tbodyRef: Ue,
|
|
82
94
|
excludeRowsSelector: "tr:not([data-empty-row])",
|
|
83
95
|
remainingMode: "sum-real-rows",
|
|
84
|
-
deps: [
|
|
85
|
-
}), Z = (e) => !
|
|
86
|
-
T,
|
|
96
|
+
deps: [H, q]
|
|
97
|
+
}), Z = (e) => !E || w.length === 0 ? !1 : O ? w.some((t) => O(t, e)) : w.some((t) => t === e), rt = p(() => !E || !D || H.length === 0 ? !1 : H.every((e) => Z(e)), [
|
|
87
98
|
E,
|
|
88
|
-
|
|
99
|
+
D,
|
|
100
|
+
H,
|
|
89
101
|
Z
|
|
90
|
-
]),
|
|
91
|
-
!
|
|
92
|
-
Z(e) &&
|
|
93
|
-
}) :
|
|
94
|
-
Z(e) ||
|
|
102
|
+
]), it = () => {
|
|
103
|
+
!E || !T || (rt ? H.forEach((e) => {
|
|
104
|
+
Z(e) && T(e, !1);
|
|
105
|
+
}) : H.forEach((e) => {
|
|
106
|
+
Z(e) || T(e, !0);
|
|
95
107
|
}));
|
|
96
|
-
}, Q =
|
|
97
|
-
rows:
|
|
98
|
-
getRowId:
|
|
108
|
+
}, Q = E && !!T && !!k, $ = se({
|
|
109
|
+
rows: H,
|
|
110
|
+
getRowId: k ?? (() => -1),
|
|
99
111
|
isSelected: (e) => Z(e),
|
|
100
|
-
setSelected: (e, t) =>
|
|
112
|
+
setSelected: (e, t) => T?.(e, t),
|
|
101
113
|
enabled: Q,
|
|
102
114
|
scrollContainerRef: U
|
|
103
|
-
}),
|
|
115
|
+
}), at = (t, n) => {
|
|
104
116
|
let r = [l(n)];
|
|
105
|
-
return Z(t) && r.push(
|
|
117
|
+
return Z(t) && r.push(ue()), C && r.push(le()), e(r);
|
|
106
118
|
};
|
|
107
|
-
return
|
|
119
|
+
return Ee ? /* @__PURE__ */ h("div", {
|
|
108
120
|
ref: _,
|
|
109
|
-
className: e("flex items-center justify-center p-8 flex-1",
|
|
121
|
+
className: e("flex items-center justify-center p-8 flex-1", z),
|
|
110
122
|
style: X,
|
|
111
|
-
"data-testid":
|
|
112
|
-
...
|
|
123
|
+
"data-testid": Fe,
|
|
124
|
+
...Ie,
|
|
113
125
|
children: /* @__PURE__ */ h(n, {
|
|
114
126
|
message: "데이터를 불러오는 중이에요...",
|
|
115
127
|
className: "min-h-0"
|
|
116
128
|
})
|
|
117
129
|
}) : /* @__PURE__ */ g("div", {
|
|
118
130
|
ref: _,
|
|
119
|
-
className: e("isolate relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6",
|
|
131
|
+
className: e("isolate relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6", z),
|
|
120
132
|
style: X,
|
|
121
|
-
"data-testid":
|
|
122
|
-
...
|
|
133
|
+
"data-testid": Fe,
|
|
134
|
+
...Ie,
|
|
123
135
|
children: [/* @__PURE__ */ h("div", {
|
|
124
|
-
ref:
|
|
136
|
+
ref: Ye,
|
|
125
137
|
className: "absolute invisible whitespace-nowrap",
|
|
126
138
|
style: {
|
|
127
139
|
top: "-9999px",
|
|
@@ -132,8 +144,8 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
132
144
|
children: [/* @__PURE__ */ g("div", {
|
|
133
145
|
className: "relative flex flex-1 flex-col min-h-0",
|
|
134
146
|
children: [/* @__PURE__ */ h("div", {
|
|
135
|
-
className: e("pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-bg-surface/60 backdrop-blur-[2px] transition-opacity duration-150",
|
|
136
|
-
...
|
|
147
|
+
className: e("pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-bg-surface/60 backdrop-blur-[2px] transition-opacity duration-150", S ? "opacity-100" : "opacity-0"),
|
|
148
|
+
...S ? {
|
|
137
149
|
role: "status",
|
|
138
150
|
"aria-live": "polite"
|
|
139
151
|
} : { "aria-hidden": !0 },
|
|
@@ -144,52 +156,52 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
144
156
|
}), /* @__PURE__ */ h("div", {
|
|
145
157
|
ref: U,
|
|
146
158
|
className: "scrollbar-table overflow-auto flex-1 bg-bg-page",
|
|
147
|
-
children:
|
|
159
|
+
children: H.length === 0 ? /* @__PURE__ */ h("div", {
|
|
148
160
|
className: "flex items-center justify-center p-8 h-full",
|
|
149
161
|
children: /* @__PURE__ */ h("p", {
|
|
150
162
|
className: "text-fg-muted",
|
|
151
|
-
children:
|
|
163
|
+
children: De
|
|
152
164
|
})
|
|
153
|
-
}) : /* @__PURE__ */ h(
|
|
154
|
-
sensors:
|
|
155
|
-
collisionDetection:
|
|
156
|
-
onDragEnd:
|
|
157
|
-
modifiers: [
|
|
165
|
+
}) : /* @__PURE__ */ h(he, {
|
|
166
|
+
sensors: We,
|
|
167
|
+
collisionDetection: ve,
|
|
168
|
+
onDragEnd: Ke,
|
|
169
|
+
modifiers: [Te],
|
|
158
170
|
children: /* @__PURE__ */ g("table", {
|
|
159
|
-
ref:
|
|
160
|
-
className: e(
|
|
171
|
+
ref: Ve,
|
|
172
|
+
className: e(Xe, Ze, Qe),
|
|
161
173
|
style: {
|
|
162
174
|
tableLayout: "fixed",
|
|
163
175
|
minWidth: "100%",
|
|
164
|
-
width: `${
|
|
176
|
+
width: `${et}px`
|
|
165
177
|
},
|
|
166
178
|
children: [
|
|
167
|
-
/* @__PURE__ */ g("colgroup", { children: [
|
|
179
|
+
/* @__PURE__ */ g("colgroup", { children: [E && D && /* @__PURE__ */ h("col", { style: { width: "48px" } }), q.map((e) => /* @__PURE__ */ h("col", {
|
|
168
180
|
"data-col-key": e.key,
|
|
169
181
|
style: { width: Y(e.key, e.width) }
|
|
170
182
|
}, e.key))] }),
|
|
171
183
|
/* @__PURE__ */ g("thead", {
|
|
172
|
-
ref:
|
|
173
|
-
className:
|
|
184
|
+
ref: He,
|
|
185
|
+
className: fe(),
|
|
174
186
|
style: {
|
|
175
|
-
position:
|
|
176
|
-
top:
|
|
177
|
-
zIndex:
|
|
187
|
+
position: N ? "sticky" : "relative",
|
|
188
|
+
top: N ? 0 : void 0,
|
|
189
|
+
zIndex: N ? 20 : void 0
|
|
178
190
|
},
|
|
179
|
-
children: [/* @__PURE__ */ g("tr", { children: [
|
|
191
|
+
children: [/* @__PURE__ */ g("tr", { children: [E && D && /* @__PURE__ */ h("th", {
|
|
180
192
|
rowSpan: J ? 2 : 1,
|
|
181
193
|
className: e(d(), c("center"), "w-12 px-0"),
|
|
182
194
|
children: /* @__PURE__ */ h("div", {
|
|
183
195
|
className: "flex items-center justify-center",
|
|
184
196
|
children: /* @__PURE__ */ h(r, {
|
|
185
|
-
checked:
|
|
186
|
-
onChange: () =>
|
|
197
|
+
checked: rt,
|
|
198
|
+
onChange: () => it(),
|
|
187
199
|
ariaLabel: "전체 선택"
|
|
188
200
|
})
|
|
189
201
|
})
|
|
190
|
-
}), /* @__PURE__ */ h(
|
|
202
|
+
}), /* @__PURE__ */ h(xe, {
|
|
191
203
|
items: K.map((e) => e.key),
|
|
192
|
-
strategy:
|
|
204
|
+
strategy: Ce,
|
|
193
205
|
children: K.map((n) => {
|
|
194
206
|
if (n.kind === "group") return /* @__PURE__ */ g(s, {
|
|
195
207
|
id: n.key,
|
|
@@ -211,6 +223,8 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
211
223
|
id: r.key,
|
|
212
224
|
disabled: i,
|
|
213
225
|
as: "th",
|
|
226
|
+
"aria-sort": ze(r),
|
|
227
|
+
hasSortButton: V(r),
|
|
214
228
|
rowSpan: J ? 2 : 1,
|
|
215
229
|
className: e(d(), c("center"), "group/header-cell relative", r.sticky && "sticky left-0 z-20 bg-bg-table-header", r.hideOnMobile && "hidden md:table-cell"),
|
|
216
230
|
style: {
|
|
@@ -225,16 +239,16 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
225
239
|
}),
|
|
226
240
|
/* @__PURE__ */ h("div", {
|
|
227
241
|
className: "flex items-center justify-center w-full pr-1 pl-3 select-none",
|
|
228
|
-
children:
|
|
242
|
+
children: Be(r)
|
|
229
243
|
}),
|
|
230
244
|
r.excludeFromPreset !== !0 && /* @__PURE__ */ h("div", {
|
|
231
245
|
className: "group/resize absolute right-0 top-0 h-full w-3 cursor-col-resize z-50 flex items-center justify-center",
|
|
232
246
|
onPointerDown: (e) => e.stopPropagation(),
|
|
233
247
|
onMouseDown: (e) => {
|
|
234
|
-
e.preventDefault(), e.stopPropagation(),
|
|
248
|
+
e.preventDefault(), e.stopPropagation(), qe(r.key, e);
|
|
235
249
|
},
|
|
236
250
|
onDoubleClick: (e) => {
|
|
237
|
-
e.preventDefault(), e.stopPropagation(),
|
|
251
|
+
e.preventDefault(), e.stopPropagation(), Je(r.key, e);
|
|
238
252
|
},
|
|
239
253
|
onClick: (e) => {
|
|
240
254
|
e.preventDefault(), e.stopPropagation();
|
|
@@ -250,6 +264,7 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
250
264
|
}, r.key);
|
|
251
265
|
})
|
|
252
266
|
})] }), J && /* @__PURE__ */ h("tr", { children: K.filter((e) => e.kind === "group").flatMap((e) => e.leafColumns).map((t) => /* @__PURE__ */ h("th", {
|
|
267
|
+
"aria-sort": ze(t),
|
|
253
268
|
className: e(d(), c(t.align ?? "center"), t.hideOnMobile && "hidden md:table-cell"),
|
|
254
269
|
style: {
|
|
255
270
|
width: Y(t.key, t.width),
|
|
@@ -257,19 +272,19 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
257
272
|
},
|
|
258
273
|
children: /* @__PURE__ */ h("div", {
|
|
259
274
|
className: "flex items-center justify-center w-full pr-1 pl-3 select-none",
|
|
260
|
-
children:
|
|
275
|
+
children: Be(t)
|
|
261
276
|
})
|
|
262
277
|
}, t.key)) })]
|
|
263
278
|
}),
|
|
264
279
|
/* @__PURE__ */ g("tbody", {
|
|
265
|
-
ref:
|
|
266
|
-
children: [
|
|
280
|
+
ref: Ue,
|
|
281
|
+
children: [H.map((t, n) => {
|
|
267
282
|
let i = Z(t);
|
|
268
283
|
return /* @__PURE__ */ g("tr", {
|
|
269
|
-
className:
|
|
270
|
-
onClick: () =>
|
|
271
|
-
style:
|
|
272
|
-
children: [
|
|
284
|
+
className: at(t, n),
|
|
285
|
+
onClick: () => C?.(t, n),
|
|
286
|
+
style: x ? { height: `${x}px` } : void 0,
|
|
287
|
+
children: [E && D && /* @__PURE__ */ h("td", {
|
|
273
288
|
className: e(u(), c("center"), "w-12 select-none"),
|
|
274
289
|
onClick: (e) => e.stopPropagation(),
|
|
275
290
|
onMouseDown: Q ? (e) => {
|
|
@@ -280,7 +295,7 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
280
295
|
className: "flex items-center justify-center",
|
|
281
296
|
children: /* @__PURE__ */ h(r, {
|
|
282
297
|
checked: i,
|
|
283
|
-
onChange: (e) =>
|
|
298
|
+
onChange: (e) => T?.(t, e),
|
|
284
299
|
pointerEventsNone: Q,
|
|
285
300
|
ariaLabel: "행 선택"
|
|
286
301
|
})
|
|
@@ -292,9 +307,9 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
292
307
|
style: {
|
|
293
308
|
width: Y(n.key, n.width),
|
|
294
309
|
minWidth: n.minWidth || 50,
|
|
295
|
-
...
|
|
296
|
-
height: `${
|
|
297
|
-
maxHeight: `${
|
|
310
|
+
...x ? {
|
|
311
|
+
height: `${x}px`,
|
|
312
|
+
maxHeight: `${x}px`,
|
|
298
313
|
overflow: "hidden"
|
|
299
314
|
} : {}
|
|
300
315
|
},
|
|
@@ -302,14 +317,14 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
302
317
|
}, n.key);
|
|
303
318
|
})]
|
|
304
319
|
}, n);
|
|
305
|
-
}),
|
|
306
|
-
let r =
|
|
320
|
+
}), L && Array.from({ length: tt }).map((t, n) => {
|
|
321
|
+
let r = H.length + n, i = x ?? nt ?? void 0;
|
|
307
322
|
return /* @__PURE__ */ g("tr", {
|
|
308
323
|
"data-empty-row": !0,
|
|
309
324
|
"aria-hidden": "true",
|
|
310
325
|
className: l(r),
|
|
311
326
|
style: i ? { height: `${i}px` } : void 0,
|
|
312
|
-
children: [
|
|
327
|
+
children: [E && D && /* @__PURE__ */ h("td", {
|
|
313
328
|
className: e(u(), "w-12"),
|
|
314
329
|
style: i ? { height: `${i}px` } : void 0
|
|
315
330
|
}), q.map((t) => /* @__PURE__ */ h("td", {
|
|
@@ -327,11 +342,11 @@ var xe = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
327
342
|
})
|
|
328
343
|
})
|
|
329
344
|
})]
|
|
330
|
-
}),
|
|
345
|
+
}), Pe ?? (R === void 0 ? null : /* @__PURE__ */ h("div", {
|
|
331
346
|
className: "flex justify-end shrink-0 text-sm text-fg-muted",
|
|
332
347
|
children: /* @__PURE__ */ g("span", { children: [
|
|
333
348
|
"총 ",
|
|
334
|
-
|
|
349
|
+
R.toLocaleString(),
|
|
335
350
|
"건"
|
|
336
351
|
] })
|
|
337
352
|
}))]
|
|
@@ -60,12 +60,11 @@ export interface TableColumn<T> {
|
|
|
60
60
|
*/
|
|
61
61
|
sortable?: boolean;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @default null
|
|
63
|
+
* @deprecated 무시됨. 정렬은 Table의 enableSorting/serverSideSorting과 useTableSort로 설정한다.
|
|
65
64
|
*/
|
|
66
65
|
sortDirection?: SortDirection;
|
|
67
66
|
/**
|
|
68
|
-
*
|
|
67
|
+
* @deprecated 무시됨. 정렬은 Table의 enableSorting/serverSideSorting과 useTableSort로 설정한다.
|
|
69
68
|
*/
|
|
70
69
|
onSort?: (direction: SortDirection) => void;
|
|
71
70
|
/**
|
|
@@ -206,10 +205,18 @@ export interface TableCommonProps<T> {
|
|
|
206
205
|
*/
|
|
207
206
|
getRowId?: (row: T) => string | number;
|
|
208
207
|
/**
|
|
209
|
-
* 정렬 사용 여부 (클라이언트 사이드 정렬)
|
|
208
|
+
* 정렬 사용 여부 (클라이언트 사이드 정렬). 전달된 현재 페이지 데이터만 정렬한다.
|
|
209
|
+
* 서버 페이지네이션이면 serverSideSorting을 사용하고, 정렬 변경 시 페이지 초기화는 호출부에서 처리한다.
|
|
210
210
|
* @default false
|
|
211
211
|
*/
|
|
212
212
|
enableSorting?: boolean;
|
|
213
|
+
/** 정렬 순서. 기본 tri(오름차순 → 내림차순 → 해제), toggle은 두 방향만 순환한다. */
|
|
214
|
+
sortCycle?: "tri" | "toggle";
|
|
215
|
+
/**
|
|
216
|
+
* 정렬 버튼 이름을 지정한다. 기본값은 헤더 텍스트이며 정렬 상태는 헤더의 aria-sort로 전달한다.
|
|
217
|
+
* 보이는 헤더 텍스트가 있으면 반환하는 이름에 그 텍스트를 포함한다(WCAG 2.5.3).
|
|
218
|
+
*/
|
|
219
|
+
formatSortLabel?: (column: TableColumn<T>, current: SortDirection, next: SortDirection) => string;
|
|
213
220
|
/**
|
|
214
221
|
* 서버 사이드 정렬 사용 여부
|
|
215
222
|
* @default false
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs"),t=require("./navigation.cjs");let n=require("react"),r=require("react/jsx-runtime");function i({items:i,value:a,defaultValue:o,onValueChange:s,activation:c=`auto`,"aria-label":l,"aria-labelledby":u,className:d}){let f=(0,n.useId)(),p=(0,n.useRef)([]),[m,h]=(0,n.useState)(o),[g,_]=(0,n.useState)(),v=a??m,y=i.find(e=>e.value===v&&!e.disabled)?.value??i.find(e=>!e.disabled)?.value,b=i.find(e=>e.value===g&&!e.disabled)?.value??y,x=e=>{e!==y&&(a===void 0&&h(e),s?.(e))},S=(e,n)=>{if(e.altKey||e.ctrlKey||e.metaKey)return;let r=t.nextTabIndex(i.map(e=>!!e.disabled),n,e.key);r!==null&&(e.preventDefault(),p.current[r]?.focus(),c===`auto`&&r!==n&&x(i[r].value))};return(0,r.jsxs)(`div`,{className:e.cn(`w-full`,d),children:[(0,r.jsx)(`div`,{role:`tablist`,"aria-label":l,"aria-labelledby":u,className:`flex gap-1 border-b border-border-subtle`,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||_(void 0)},children:i.map((t,n)=>(0,r.jsx)(`button`,{ref:e=>{p.current[n]=e},type:`button`,role:`tab`,id:`${f}-tab-${n}`,"aria-controls":`${f}-panel-${n}`,"aria-selected":t.value===y,tabIndex:t.value===b?0:-1,disabled:t.disabled,onFocus:()=>_(t.value),onClick:()=>x(t.value),onKeyDown:e=>S(e,n),className:e.cn(`-mb-px border-b-2 px-3 py-2 text-sm font-medium outline-none transition-colors focus-visible:ring-control focus-visible:ring-inset focus-visible:ring-focus-primary disabled:cursor-not-allowed disabled:text-fg-disabled disabled:opacity-60`,t.value===y?`border-primary-fg text-primary-fg`:`border-transparent text-fg-muted hover:text-fg-default`),children:t.label},t.value))}),i.map((e,t)=>(0,r.jsx)(`div`,{role:`tabpanel`,id:`${f}-panel-${t}`,"aria-labelledby":`${f}-tab-${t}`,hidden:e.value!==y,tabIndex:0,className:`pt-4 outline-none focus-visible:ring-control focus-visible:ring-focus-primary`,children:e.value===y?e.content:null},e.value))]})}exports.Tabs=i;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TabsProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* 가로 탭. SegmentedControl처럼 항목 배열을 받으며 패널 내용은 선택된 경우에만 마운트한다.
|
|
4
|
+
* 자동 활성화는 패널 내용이 즉시 준비될 때 적합하다. 지연이 있으면 manual을 사용한다.
|
|
5
|
+
* 탭 목록의 접근성 이름은 aria-label 또는 aria-labelledby로 지정한다.
|
|
6
|
+
* value가 활성 항목에 없으면 첫 활성 탭을 표시하며 onValueChange는 호출하지 않는다. 부모에서 값을 맞춘다.
|
|
7
|
+
*/
|
|
8
|
+
export declare function Tabs<V extends string>({ items, value, defaultValue, onValueChange, activation, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, className, }: TabsProps<V>): import("react").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { nextTabIndex as t } from "./navigation.esm.js";
|
|
3
|
+
import { useId as n, useRef as r, useState as i } from "react";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/tabs/Tabs.tsx
|
|
6
|
+
function s({ items: s, value: c, defaultValue: l, onValueChange: u, activation: d = "auto", "aria-label": f, "aria-labelledby": p, className: m }) {
|
|
7
|
+
let h = n(), g = r([]), [_, v] = i(l), [y, b] = i(), x = c ?? _, S = s.find((e) => e.value === x && !e.disabled)?.value ?? s.find((e) => !e.disabled)?.value, C = s.find((e) => e.value === y && !e.disabled)?.value ?? S, w = (e) => {
|
|
8
|
+
e !== S && (c === void 0 && v(e), u?.(e));
|
|
9
|
+
}, T = (e, n) => {
|
|
10
|
+
if (e.altKey || e.ctrlKey || e.metaKey) return;
|
|
11
|
+
let r = t(s.map((e) => !!e.disabled), n, e.key);
|
|
12
|
+
r !== null && (e.preventDefault(), g.current[r]?.focus(), d === "auto" && r !== n && w(s[r].value));
|
|
13
|
+
};
|
|
14
|
+
return /* @__PURE__ */ o("div", {
|
|
15
|
+
className: e("w-full", m),
|
|
16
|
+
children: [/* @__PURE__ */ a("div", {
|
|
17
|
+
role: "tablist",
|
|
18
|
+
"aria-label": f,
|
|
19
|
+
"aria-labelledby": p,
|
|
20
|
+
className: "flex gap-1 border-b border-border-subtle",
|
|
21
|
+
onBlur: (e) => {
|
|
22
|
+
e.currentTarget.contains(e.relatedTarget) || b(void 0);
|
|
23
|
+
},
|
|
24
|
+
children: s.map((t, n) => /* @__PURE__ */ a("button", {
|
|
25
|
+
ref: (e) => {
|
|
26
|
+
g.current[n] = e;
|
|
27
|
+
},
|
|
28
|
+
type: "button",
|
|
29
|
+
role: "tab",
|
|
30
|
+
id: `${h}-tab-${n}`,
|
|
31
|
+
"aria-controls": `${h}-panel-${n}`,
|
|
32
|
+
"aria-selected": t.value === S,
|
|
33
|
+
tabIndex: t.value === C ? 0 : -1,
|
|
34
|
+
disabled: t.disabled,
|
|
35
|
+
onFocus: () => b(t.value),
|
|
36
|
+
onClick: () => w(t.value),
|
|
37
|
+
onKeyDown: (e) => T(e, n),
|
|
38
|
+
className: e("-mb-px border-b-2 px-3 py-2 text-sm font-medium outline-none transition-colors focus-visible:ring-control focus-visible:ring-inset focus-visible:ring-focus-primary disabled:cursor-not-allowed disabled:text-fg-disabled disabled:opacity-60", t.value === S ? "border-primary-fg text-primary-fg" : "border-transparent text-fg-muted hover:text-fg-default"),
|
|
39
|
+
children: t.label
|
|
40
|
+
}, t.value))
|
|
41
|
+
}), s.map((e, t) => /* @__PURE__ */ a("div", {
|
|
42
|
+
role: "tabpanel",
|
|
43
|
+
id: `${h}-panel-${t}`,
|
|
44
|
+
"aria-labelledby": `${h}-tab-${t}`,
|
|
45
|
+
hidden: e.value !== S,
|
|
46
|
+
tabIndex: 0,
|
|
47
|
+
className: "pt-4 outline-none focus-visible:ring-control focus-visible:ring-focus-primary",
|
|
48
|
+
children: e.value === S ? e.content : null
|
|
49
|
+
}, e.value))]
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { s as Tabs };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t,n){let r=e.length;if(!r||e.every(Boolean))return null;if(n===`Home`)return e.findIndex(e=>!e);if(n===`End`){for(let t=r-1;t>=0;t--)if(!e[t])return t}let i=n===`ArrowRight`?1:n===`ArrowLeft`?-1:0;if(!i)return null;for(let n=1;n<=r;n++){let a=(t+i*n+r*n)%r;if(!e[a])return a}return null}exports.nextTabIndex=e;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/components/tabs/navigation.ts
|
|
2
|
+
function e(e, t, n) {
|
|
3
|
+
let r = e.length;
|
|
4
|
+
if (!r || e.every(Boolean)) return null;
|
|
5
|
+
if (n === "Home") return e.findIndex((e) => !e);
|
|
6
|
+
if (n === "End") {
|
|
7
|
+
for (let t = r - 1; t >= 0; t--) if (!e[t]) return t;
|
|
8
|
+
}
|
|
9
|
+
let i = n === "ArrowRight" ? 1 : n === "ArrowLeft" ? -1 : 0;
|
|
10
|
+
if (!i) return null;
|
|
11
|
+
for (let n = 1; n <= r; n++) {
|
|
12
|
+
let a = (t + i * n + r * n) % r;
|
|
13
|
+
if (!e[a]) return a;
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { e as nextTabIndex };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TabItem<V extends string> {
|
|
3
|
+
value: V;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
content: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface TabsProps<V extends string> {
|
|
9
|
+
items: readonly TabItem<V>[];
|
|
10
|
+
/** 활성 항목에 없으면 첫 활성 탭을 표시하며 콜백은 호출하지 않는다. 부모에서 값을 맞춘다. */
|
|
11
|
+
value?: V;
|
|
12
|
+
defaultValue?: V;
|
|
13
|
+
onValueChange?: (value: V) => void;
|
|
14
|
+
/** auto는 화살표·Home·End 이동 시 선택하고 manual은 Enter 또는 Space로 선택한다. 기본 auto. */
|
|
15
|
+
activation?: "auto" | "manual";
|
|
16
|
+
/** 가로 탭만 지원한다. */
|
|
17
|
+
"aria-label"?: string;
|
|
18
|
+
"aria-labelledby"?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./_virtual/_rolldown/runtime.cjs");/* empty css */const e=require("./lib/utils.cjs"),t=require("./components/button/Button.cjs"),n=require("./components/badge/Badge.cjs"),r=require("./components/switch/Switch.cjs"),i=require("./components/checkbox/Checkbox.cjs"),ee=require("./components/input/use-input-format.cjs"),a=require("./components/input/Input.cjs"),te=require("./components/input/PasswordInput.cjs"),ne=require("./components/input/DecimalInput.cjs"),re=require("./components/input/format.cjs"),ie=require("./components/textarea/Textarea.cjs"),ae=require("./components/collapsible/Collapsible.cjs"),oe=require("./components/animated-height/AnimatedHeight.cjs"),se=require("./components/tooltip/Tooltip.cjs"),ce=require("./components/info-tooltip/InfoTooltip.cjs"),le=require("./components/popover/Popover.cjs"),o=require("./components/loading-spinner/LoadingSpinner.cjs"),s=require("./components/select/Select.cjs"),c=require("./components/select/MultiSelect.cjs"),l=require("./components/table-checkbox/TableCheckbox.cjs"),u=require("./hooks/useFillEmptyRows.cjs"),d=require("./hooks/useTableDragSelection.cjs"),f=require("./components/table/hooks/useTableSort.cjs"),p=require("./components/table/table.cjs"),m=require("./components/table/components/Pagination.cjs"),h=require("./components/table/paginated-table.cjs"),g=require("./components/table/mini-table.cjs"),_=require("./components/table/paginated-mini-table.cjs"),v=require("./components/table/accordion-table.cjs"),y=require("./hooks/useVirtualRows.cjs"),b=require("./components/table/hooks/useVirtualTable.cjs"),x=require("./hooks/useInfiniteScroll.cjs"),S=require("./hooks/useClickOutside.cjs"),C=require("./hooks/useMediaQuery.cjs"),w=require("./hooks/useBottomSheetDrag.cjs"),T=require("./hooks/useScrollLock.cjs"),E=require("./hooks/useFocusTrap.cjs"),D=require("./hooks/useAwaitableOverlay.cjs"),O=require("./components/stepper/use-stepper.cjs"),k=require("./lib/overlay-stack.cjs"),A=require("./lib/Portal.cjs"),j=require("./components/modal/Modal.cjs"),M=require("./components/modal/ModalSubView.cjs"),N=require("./components/modal/StandardModal.cjs"),P=require("./components/table/components/ColumnSettingsTable.cjs"),F=require("./components/table/components/ColumnPresetSelector.cjs"),I=require("./lib/column-preset-storage.cjs"),L=require("./components/table/hooks/useColumnPresets.cjs"),R=require("./components/table/hooks/useTableColumnState.cjs"),z=require("./components/page-title/PageTitle.cjs"),B=require("./components/toolbar/Toolbar.cjs"),V=require("./components/table-page-layout/TablePageLayout.cjs"),H=require("./components/date-picker/date-range-picker.cjs"),U=require("./components/date-picker/date-picker.cjs"),W=require("./components/date-picker/month-picker.cjs"),G=require("./components/time-picker/time-picker.cjs"),ue=require("./components/month-range-picker/month-range-picker.cjs"),de=require("./components/date-input/DateInput.cjs"),K=require("./components/search-box/parseDateRange.cjs"),fe=require("./components/search-box/SearchBox.cjs"),q=require("./components/search-box/parseSearchValues.cjs"),J=require("./components/search-box/dateRangePresets.cjs"),Y=require("./components/action-toast/ActionToast.cjs"),pe=require("./components/toast/ToastProvider.cjs"),me=require("./components/drawer/Drawer.cjs"),X=require("./components/radio/Radio.cjs"),he=require("./components/segmented-control/SegmentedControl.cjs"),
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require("./_virtual/_rolldown/runtime.cjs");/* empty css */const e=require("./lib/utils.cjs"),t=require("./components/button/Button.cjs"),n=require("./components/badge/Badge.cjs"),r=require("./components/switch/Switch.cjs"),i=require("./components/checkbox/Checkbox.cjs"),ee=require("./components/input/use-input-format.cjs"),a=require("./components/input/Input.cjs"),te=require("./components/input/PasswordInput.cjs"),ne=require("./components/input/DecimalInput.cjs"),re=require("./components/input/format.cjs"),ie=require("./components/textarea/Textarea.cjs"),ae=require("./components/collapsible/Collapsible.cjs"),oe=require("./components/animated-height/AnimatedHeight.cjs"),se=require("./components/tooltip/Tooltip.cjs"),ce=require("./components/info-tooltip/InfoTooltip.cjs"),le=require("./components/popover/Popover.cjs"),o=require("./components/loading-spinner/LoadingSpinner.cjs"),s=require("./components/select/Select.cjs"),c=require("./components/select/MultiSelect.cjs"),l=require("./components/table-checkbox/TableCheckbox.cjs"),u=require("./hooks/useFillEmptyRows.cjs"),d=require("./hooks/useTableDragSelection.cjs"),f=require("./components/table/hooks/useTableSort.cjs"),p=require("./components/table/table.cjs"),m=require("./components/table/components/Pagination.cjs"),h=require("./components/table/paginated-table.cjs"),g=require("./components/table/mini-table.cjs"),_=require("./components/table/paginated-mini-table.cjs"),v=require("./components/table/accordion-table.cjs"),y=require("./hooks/useVirtualRows.cjs"),b=require("./components/table/hooks/useVirtualTable.cjs"),x=require("./hooks/useInfiniteScroll.cjs"),S=require("./hooks/useClickOutside.cjs"),C=require("./hooks/useMediaQuery.cjs"),w=require("./hooks/useBottomSheetDrag.cjs"),T=require("./hooks/useScrollLock.cjs"),E=require("./hooks/useFocusTrap.cjs"),D=require("./hooks/useAwaitableOverlay.cjs"),O=require("./components/stepper/use-stepper.cjs"),k=require("./lib/overlay-stack.cjs"),A=require("./lib/Portal.cjs"),j=require("./components/modal/Modal.cjs"),M=require("./components/modal/ModalSubView.cjs"),N=require("./components/modal/StandardModal.cjs"),P=require("./components/table/components/ColumnSettingsTable.cjs"),F=require("./components/table/components/ColumnPresetSelector.cjs"),I=require("./lib/column-preset-storage.cjs"),L=require("./components/table/hooks/useColumnPresets.cjs"),R=require("./components/table/hooks/useTableColumnState.cjs"),z=require("./components/page-title/PageTitle.cjs"),B=require("./components/toolbar/Toolbar.cjs"),V=require("./components/table-page-layout/TablePageLayout.cjs"),H=require("./components/date-picker/date-range-picker.cjs"),U=require("./components/date-picker/date-picker.cjs"),W=require("./components/date-picker/month-picker.cjs"),G=require("./components/time-picker/time-picker.cjs"),ue=require("./components/month-range-picker/month-range-picker.cjs"),de=require("./components/date-input/DateInput.cjs"),K=require("./components/search-box/parseDateRange.cjs"),fe=require("./components/search-box/SearchBox.cjs"),q=require("./components/search-box/parseSearchValues.cjs"),J=require("./components/search-box/dateRangePresets.cjs"),Y=require("./components/action-toast/ActionToast.cjs"),pe=require("./components/toast/ToastProvider.cjs"),me=require("./components/drawer/Drawer.cjs"),X=require("./components/radio/Radio.cjs"),he=require("./components/segmented-control/SegmentedControl.cjs"),ge=require("./components/progress/Progress.cjs"),_e=require("./components/skeleton/Skeleton.cjs"),ve=require("./components/field/Field.cjs"),ye=require("./components/field/FieldMessage.cjs"),Z=require("./components/error-boundary/chunk-reload.cjs"),be=require("./components/error-boundary/ErrorBoundary.cjs"),xe=require("./components/typing-dots/TypingDots.cjs"),Q=require("./components/typewriter-text/TypewriterText.cjs"),$=require("./components/stepper/Stepper.cjs"),Se=require("./components/segmented-code-input/SegmentedCodeInput.cjs"),Ce=require("./components/copyable-text/CopyableText.cjs"),we=require("./components/tabs/Tabs.cjs"),Te=require("./components/slider/Slider.cjs");let Ee=require("react-hot-toast");exports.AccordionTable=v.AccordionTable,exports.AnimatedHeight=oe.AnimatedHeight,exports.Badge=n.Badge,exports.Button=t.Button,exports.CHUNK_RELOAD_TTL_MS=Z.CHUNK_RELOAD_TTL_MS,exports.Checkbox=i.Checkbox,exports.CheckboxCircle=i.CheckboxCircle,exports.CheckboxLine=i.CheckboxLine,exports.CheckboxLineTransparent=i.CheckboxLineTransparent,exports.Collapsible=ae.Collapsible,exports.ColumnPresetSelector=F.ColumnPresetSelector,exports.ColumnPresetStorage=I.ColumnPresetStorage,exports.ColumnSettingsTable=P.ColumnSettingsTable,exports.CopyableText=Ce.CopyableText,exports.DEFAULT_DATE_RANGE_PRESETS=J.DEFAULT_DATE_RANGE_PRESETS,exports.DateInput=de.DateInput,exports.DatePicker=U.DatePicker,exports.DatePickerBody=U.DatePickerBody,exports.DateRangePicker=H.DateRangePicker,exports.DecimalInput=ne.DecimalInput,exports.Drawer=me.Drawer,exports.ErrorBoundary=be.ErrorBoundary,exports.Field=ve.Field,exports.FieldMessage=ye.FieldMessage,exports.InfoTooltip=ce.InfoTooltip,exports.InlineSpinner=o.InlineSpinner,exports.Input=a.Input,exports.LoadingSpinner=o.LoadingSpinner,exports.MOBILE_MEDIA_QUERY=C.MOBILE_MEDIA_QUERY,exports.MiniTable=g.MiniTable,exports.Modal=j.Modal,exports.ModalSubView=M.ModalSubView,exports.MonthPicker=W.MonthPicker,exports.MonthRangePicker=ue.MonthRangePicker,exports.MultiSelect=c.MultiSelect,exports.PageHeader=V.PageHeader,exports.PageTitle=z.PageTitle,exports.PaginatedMiniTable=_.PaginatedMiniTable,exports.PaginatedTable=h.PaginatedTable,exports.Pagination=m.Pagination,exports.PasswordInput=te.PasswordInput,exports.Popover=le.Popover,exports.Portal=A.Portal,exports.Progress=ge.Progress,exports.Radio=X.Radio,exports.RadioGroup=X.RadioGroup,exports.RadioItem=X.RadioItem,exports.SearchBox=fe.SearchBox,exports.SegmentedCodeInput=Se.SegmentedCodeInput,exports.SegmentedControl=he.SegmentedControl,exports.Select=s.Select,exports.Skeleton=_e.Skeleton,exports.Slider=Te.Slider,exports.Spinner=o.Spinner,exports.StandardModal=N.StandardModal,exports.Stepper=$.Stepper,exports.StepperContent=$.StepperContent,exports.Switch=r.Switch,exports.Table=p.Table,exports.TableCard=V.TableCard,exports.TableCheckbox=l.TableCheckbox,exports.TablePageLayout=V.TablePageLayout,exports.Tabs=we.Tabs,exports.Textarea=ie.Textarea,exports.TimeInput=G.TimeInput,exports.TimePicker=G.TimePicker,exports.ToastProvider=pe.ToastProvider,exports.Toolbar=B.Toolbar,exports.Tooltip=se.Tooltip,exports.TypewriterText=Q.TypewriterText,exports.TypingDots=xe.TypingDots,exports.clearChunkReloadGuard=Z.clearChunkReloadGuard,exports.cn=e.cn,exports.dismissActionToast=Y.dismissActionToast,exports.formatYearMonth=e.formatYearMonth,exports.getTodayDateRange=J.getTodayDateRange,exports.getTodayDateRangeValue=J.getTodayDateRangeValue,exports.inputFormats=re.inputFormats,exports.isActionToastActive=Y.isActionToastActive,exports.isChunkLoadError=Z.isChunkLoadError,exports.listenForChunkPreloadError=Z.listenForChunkPreloadError,exports.overlayStack=k.overlayStack,exports.parseDateRangeValue=K.parseDateRangeValue,exports.parseMultiSelectValue=q.parseMultiSelectValue,exports.parseSearchValues=q.parseSearchValues,exports.reloadAfterClearingChunkGuard=Z.reloadAfterClearingChunkGuard,exports.reloadOnceForChunkError=Z.reloadOnceForChunkError,exports.serializeDateRangeValue=K.serializeDateRangeValue,exports.showActionToast=Y.showActionToast,Object.defineProperty(exports,"toast",{enumerable:!0,get:function(){return Ee.default}}),exports.tryAcquireChunkReloadGuard=Z.tryAcquireChunkReloadGuard,exports.useAwaitableOverlay=D.useAwaitableOverlay,exports.useBottomSheetDrag=w.useBottomSheetDrag,exports.useClickOutside=S.useClickOutside,exports.useColumnPresets=L.useColumnPresets,exports.useFillEmptyRows=u.useFillEmptyRows,exports.useFocusTrap=E.useFocusTrap,exports.useHeaderButtonSize=V.useHeaderButtonSize,exports.useInfiniteScroll=x.useInfiniteScroll,exports.useInputFormat=ee.useInputFormat,exports.useIsMobile=C.useIsMobile,exports.useMediaQuery=C.useMediaQuery,exports.useScrollLock=T.useScrollLock,exports.useStepper=O.useStepper,exports.useTableColumnState=R.useTableColumnState,exports.useTableDragSelection=d.useTableDragSelection,exports.useTableSort=f.useTableSort,exports.useVirtualRows=y.useVirtualRows,exports.useVirtualTable=b.useVirtualTable;
|
package/dist/index.d.ts
CHANGED
|
@@ -38,3 +38,5 @@ export * from './components/typewriter-text/index.js';
|
|
|
38
38
|
export * from './components/stepper/index.js';
|
|
39
39
|
export * from './components/segmented-code-input/index.js';
|
|
40
40
|
export * from './components/copyable-text/index.js';
|
|
41
|
+
export * from './components/tabs/index.js';
|
|
42
|
+
export * from './components/slider/index.js';
|