@tipp/ui 1.4.7 → 1.4.9
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/atoms/button.cjs +30 -10
- package/dist/atoms/button.cjs.map +1 -1
- package/dist/atoms/button.d.cts +3 -2
- package/dist/atoms/button.d.ts +3 -2
- package/dist/atoms/button.js +1 -1
- package/dist/atoms/dialog.cjs +30 -10
- package/dist/atoms/dialog.cjs.map +1 -1
- package/dist/atoms/dialog.js +2 -2
- package/dist/atoms/drawer.cjs +30 -10
- package/dist/atoms/drawer.cjs.map +1 -1
- package/dist/atoms/drawer.js +2 -2
- package/dist/atoms/field-error-wrapper.js +2 -2
- package/dist/atoms/index.cjs +30 -10
- package/dist/atoms/index.cjs.map +1 -1
- package/dist/atoms/index.d.cts +1 -0
- package/dist/atoms/index.d.ts +1 -0
- package/dist/atoms/index.js +60 -60
- package/dist/atoms/pagination.js +2 -2
- package/dist/chunk-3YBBMDHJ.js +60 -0
- package/dist/chunk-3YBBMDHJ.js.map +1 -0
- package/dist/chunk-7YPMSAU3.js +164 -0
- package/dist/chunk-7YPMSAU3.js.map +1 -0
- package/dist/chunk-BSG2Q4XC.js +192 -0
- package/dist/chunk-BSG2Q4XC.js.map +1 -0
- package/dist/chunk-EIAK47TI.js +77 -0
- package/dist/chunk-EIAK47TI.js.map +1 -0
- package/dist/chunk-EQC3MBY2.js +164 -0
- package/dist/chunk-EQC3MBY2.js.map +1 -0
- package/dist/chunk-GIUL45NR.js +63 -0
- package/dist/chunk-GIUL45NR.js.map +1 -0
- package/dist/chunk-KK6EZCIU.js +192 -0
- package/dist/chunk-KK6EZCIU.js.map +1 -0
- package/dist/chunk-LGWPZRFJ.js +340 -0
- package/dist/chunk-LGWPZRFJ.js.map +1 -0
- package/dist/chunk-PCWEW2UL.js +80 -0
- package/dist/chunk-PCWEW2UL.js.map +1 -0
- package/dist/chunk-TSVUJJVY.js +340 -0
- package/dist/chunk-TSVUJJVY.js.map +1 -0
- package/dist/chunk-WM3XQMNK.js +88 -0
- package/dist/chunk-WM3XQMNK.js.map +1 -0
- package/dist/chunk-XXODW32Q.js +63 -0
- package/dist/chunk-XXODW32Q.js.map +1 -0
- package/dist/chunk-ZQLHJD5Q.js +192 -0
- package/dist/chunk-ZQLHJD5Q.js.map +1 -0
- package/dist/index.cjs +40 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +80 -80
- package/dist/molecules/date-picker/index.js +2 -2
- package/dist/molecules/expand-table/index.cjs +10 -8
- package/dist/molecules/expand-table/index.cjs.map +1 -1
- package/dist/molecules/expand-table/index.d.cts +1 -0
- package/dist/molecules/expand-table/index.d.ts +1 -0
- package/dist/molecules/expand-table/index.js +29 -29
- package/dist/molecules/expand-table/row.cjs +4 -4
- package/dist/molecules/expand-table/row.cjs.map +1 -1
- package/dist/molecules/expand-table/row.d.cts +2 -1
- package/dist/molecules/expand-table/row.d.ts +2 -1
- package/dist/molecules/expand-table/row.js +28 -28
- package/dist/molecules/index.cjs +40 -18
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.js +37 -37
- package/dist/molecules/learning-post.cjs +30 -10
- package/dist/molecules/learning-post.cjs.map +1 -1
- package/dist/molecules/learning-post.js +4 -4
- package/dist/molecules/navigation.cjs +30 -10
- package/dist/molecules/navigation.cjs.map +1 -1
- package/dist/molecules/navigation.js +28 -28
- package/dist/molecules/stepper.js +3 -3
- package/dist/molecules/tag-selector.cjs +30 -10
- package/dist/molecules/tag-selector.cjs.map +1 -1
- package/dist/molecules/tag-selector.js +28 -28
- package/package.json +1 -1
- package/src/atoms/button.tsx +39 -11
- package/src/molecules/expand-table/index.tsx +6 -3
- package/src/molecules/expand-table/row.tsx +6 -3
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Row
|
|
3
|
+
} from "./chunk-PCWEW2UL.js";
|
|
4
|
+
import {
|
|
5
|
+
TriangleArrowDownIcon
|
|
6
|
+
} from "./chunk-BSTJBBEX.js";
|
|
7
|
+
import {
|
|
8
|
+
TriangleArrowUpIcon
|
|
9
|
+
} from "./chunk-NDUKDKGB.js";
|
|
10
|
+
import {
|
|
11
|
+
Spinner
|
|
12
|
+
} from "./chunk-FR2GDOU2.js";
|
|
13
|
+
import {
|
|
14
|
+
Pagination
|
|
15
|
+
} from "./chunk-5X3BCQPR.js";
|
|
16
|
+
import {
|
|
17
|
+
Flex
|
|
18
|
+
} from "./chunk-25HMMI7R.js";
|
|
19
|
+
import {
|
|
20
|
+
Typo
|
|
21
|
+
} from "./chunk-52MVZ6AN.js";
|
|
22
|
+
|
|
23
|
+
// src/molecules/expand-table/index.tsx
|
|
24
|
+
import {
|
|
25
|
+
flexRender,
|
|
26
|
+
getCoreRowModel,
|
|
27
|
+
useReactTable,
|
|
28
|
+
getSortedRowModel,
|
|
29
|
+
createColumnHelper,
|
|
30
|
+
getPaginationRowModel
|
|
31
|
+
} from "@tanstack/react-table";
|
|
32
|
+
import { useCallback, useMemo, useState } from "react";
|
|
33
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
34
|
+
function ExpandTable(props) {
|
|
35
|
+
const {
|
|
36
|
+
data,
|
|
37
|
+
columns,
|
|
38
|
+
ExpandComp,
|
|
39
|
+
placeholder,
|
|
40
|
+
onRowClick,
|
|
41
|
+
tableStyle,
|
|
42
|
+
showPagination,
|
|
43
|
+
isLoading,
|
|
44
|
+
pageIndex = 0,
|
|
45
|
+
pageSize = 10,
|
|
46
|
+
siblingCount = 2,
|
|
47
|
+
getRowStyle,
|
|
48
|
+
getCellStyle
|
|
49
|
+
} = props;
|
|
50
|
+
const defaultAlign = "left";
|
|
51
|
+
const [pagination, setPagination] = useState({
|
|
52
|
+
pageIndex: pageIndex || 0,
|
|
53
|
+
pageSize: pageSize || 9999
|
|
54
|
+
});
|
|
55
|
+
const [sorting, setSorting] = useState([]);
|
|
56
|
+
const { getRowModel, getHeaderGroups, setPageIndex } = useReactTable({
|
|
57
|
+
data: data || [],
|
|
58
|
+
columns,
|
|
59
|
+
getCoreRowModel: getCoreRowModel(),
|
|
60
|
+
getSortedRowModel: getSortedRowModel(),
|
|
61
|
+
state: {
|
|
62
|
+
sorting,
|
|
63
|
+
pagination
|
|
64
|
+
},
|
|
65
|
+
onSortingChange: setSorting,
|
|
66
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
67
|
+
onPaginationChange: setPagination
|
|
68
|
+
});
|
|
69
|
+
const gridTemplateColumns = useMemo(() => {
|
|
70
|
+
return columns.map((col) => {
|
|
71
|
+
var _a;
|
|
72
|
+
if ((_a = col.meta) == null ? void 0 : _a.autoSize)
|
|
73
|
+
return "1fr";
|
|
74
|
+
return `${col.size || 150}px`;
|
|
75
|
+
}).join(" ");
|
|
76
|
+
}, [columns]);
|
|
77
|
+
const rowModels = getRowModel();
|
|
78
|
+
const onChangePagination = useCallback(
|
|
79
|
+
(page) => {
|
|
80
|
+
setPageIndex(page - 1);
|
|
81
|
+
},
|
|
82
|
+
[setPageIndex]
|
|
83
|
+
);
|
|
84
|
+
const helpCompRender = useCallback(
|
|
85
|
+
(rowLength) => {
|
|
86
|
+
if (isLoading) {
|
|
87
|
+
return /* @__PURE__ */ jsx(
|
|
88
|
+
Flex,
|
|
89
|
+
{
|
|
90
|
+
align: "center",
|
|
91
|
+
height: "100%",
|
|
92
|
+
justify: "center",
|
|
93
|
+
p: "5",
|
|
94
|
+
width: "100%",
|
|
95
|
+
children: /* @__PURE__ */ jsx(Spinner, {})
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
if (rowLength === 0) {
|
|
100
|
+
return /* @__PURE__ */ jsx("div", { className: "tr", children: /* @__PURE__ */ jsx(Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ jsx(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder");
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
},
|
|
104
|
+
[isLoading, placeholder]
|
|
105
|
+
);
|
|
106
|
+
const pageCount = useMemo(() => {
|
|
107
|
+
if (!data)
|
|
108
|
+
return 0;
|
|
109
|
+
return Math.ceil(data.length / pageSize);
|
|
110
|
+
}, [data, pageSize]);
|
|
111
|
+
return /* @__PURE__ */ jsxs("div", { className: "expand-table", style: tableStyle, children: [
|
|
112
|
+
/* @__PURE__ */ jsx("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(
|
|
113
|
+
"div",
|
|
114
|
+
{
|
|
115
|
+
className: "tr",
|
|
116
|
+
style: { gridTemplateColumns },
|
|
117
|
+
children: headerGroup.headers.map((header) => {
|
|
118
|
+
var _a;
|
|
119
|
+
const sortable = header.column.getCanSort();
|
|
120
|
+
const sortedState = header.column.getIsSorted();
|
|
121
|
+
const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
|
|
122
|
+
return /* @__PURE__ */ jsx("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ jsxs(
|
|
123
|
+
"button",
|
|
124
|
+
{
|
|
125
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
126
|
+
style: sortable ? { cursor: "pointer" } : { cursor: "default" },
|
|
127
|
+
type: "button",
|
|
128
|
+
children: [
|
|
129
|
+
/* @__PURE__ */ jsx(Typo, { as: "div", variant: "body", children: flexRender(
|
|
130
|
+
header.column.columnDef.header,
|
|
131
|
+
header.getContext()
|
|
132
|
+
) }),
|
|
133
|
+
sortable ? /* @__PURE__ */ jsxs(
|
|
134
|
+
Flex,
|
|
135
|
+
{
|
|
136
|
+
direction: "column",
|
|
137
|
+
style: { marginLeft: "var(--space-2)" },
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ jsx(
|
|
140
|
+
TriangleArrowUpIcon,
|
|
141
|
+
{
|
|
142
|
+
color: sortedState === "asc" ? "var(--iris-10)" : "var(--iris-6)"
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
/* @__PURE__ */ jsx(
|
|
146
|
+
TriangleArrowDownIcon,
|
|
147
|
+
{
|
|
148
|
+
color: sortedState === "desc" ? "var(--iris-10)" : "var(--iris-6)"
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
) : null
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
) }, header.id);
|
|
157
|
+
})
|
|
158
|
+
},
|
|
159
|
+
headerGroup.id
|
|
160
|
+
)) }),
|
|
161
|
+
/* @__PURE__ */ jsx("div", { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
|
|
162
|
+
return /* @__PURE__ */ jsx(
|
|
163
|
+
Row,
|
|
164
|
+
{
|
|
165
|
+
ExpandComp,
|
|
166
|
+
defaultAlign,
|
|
167
|
+
getCellStyle,
|
|
168
|
+
getRowStyle,
|
|
169
|
+
gridTemplateColumns,
|
|
170
|
+
onRowClick,
|
|
171
|
+
row
|
|
172
|
+
},
|
|
173
|
+
`row_${row.id}`
|
|
174
|
+
);
|
|
175
|
+
}) }),
|
|
176
|
+
showPagination ? /* @__PURE__ */ jsx(Flex, { justify: "end", pt: "3", width: "100%", children: /* @__PURE__ */ jsx(
|
|
177
|
+
Pagination,
|
|
178
|
+
{
|
|
179
|
+
count: pageCount,
|
|
180
|
+
onChange: onChangePagination,
|
|
181
|
+
page: pagination.pageIndex + 1,
|
|
182
|
+
siblingCount
|
|
183
|
+
}
|
|
184
|
+
) }) : null
|
|
185
|
+
] });
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export {
|
|
189
|
+
createColumnHelper,
|
|
190
|
+
ExpandTable
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=chunk-ZQLHJD5Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/expand-table/index.tsx"],"sourcesContent":["import type {\n ColumnDef,\n SortingState,\n RowData,\n Row as RowType,\n PaginationState,\n} from '@tanstack/react-table';\nimport type { CSSProperties } from 'react';\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n getSortedRowModel,\n createColumnHelper,\n getPaginationRowModel,\n} from '@tanstack/react-table';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { Flex, Pagination, Spinner, Typo } from '../../atoms';\nimport { TriangleArrowDownIcon } from '../../icons/down';\nimport { TriangleArrowUpIcon } from '../../icons/up';\nimport { Row, type ExpandComp, type OnRowClick } from './row';\n\nexport type { ExpandComp, OnRowClick, ColumnDef, RowType as Row };\nexport { createColumnHelper };\n\nexport interface ExpandTableProps<Datum extends RowData> {\n /** 렌더할 데이터 배열 */\n data?: Datum[];\n /** 테이블 컬럼의 메타 데이터 */\n columns: ColumnDef<Datum>[];\n /** Row의 open이 true인 경우 하단의 collapse에 렌더할 컴포넌트 */\n ExpandComp?: ExpandComp<Datum>;\n /** 데이테가 없을 시 화면에 표시할 컴포넌트 */\n placeholder?: React.ReactNode;\n /** 행 클릭 시 실행할 콜백 */\n onRowClick?: OnRowClick<Datum>;\n getRowStyle?: (data: Datum) => CSSProperties;\n getCellStyle?: (data: Datum) => CSSProperties;\n tableStyle?: CSSProperties;\n isLoading?: boolean;\n\n /** pagination - 표시 유무 */\n showPagination?: boolean;\n /** pagination - 현재 선택된 페이지, 0부터 시작 */\n pageIndex?: number;\n /** pagination - 한 페이지에 표시될 컬럼 개수 */\n pageSize?: number;\n /** pagination - */\n siblingCount?: number;\n}\n\nexport function ExpandTable<Datum extends RowData>(\n props: ExpandTableProps<Datum>\n): React.ReactNode {\n const {\n data,\n columns,\n ExpandComp,\n placeholder,\n onRowClick,\n tableStyle,\n showPagination,\n isLoading,\n pageIndex = 0,\n pageSize = 10,\n siblingCount = 2,\n getRowStyle,\n getCellStyle,\n } = props;\n const defaultAlign = 'left';\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: pageIndex || 0,\n pageSize: pageSize || 9999,\n });\n\n const [sorting, setSorting] = useState<SortingState>([]);\n const { getRowModel, getHeaderGroups, setPageIndex } = useReactTable({\n data: data || [],\n columns,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n state: {\n sorting,\n pagination,\n },\n onSortingChange: setSorting,\n getPaginationRowModel: getPaginationRowModel(),\n onPaginationChange: setPagination,\n });\n\n const gridTemplateColumns = useMemo<string>(() => {\n return columns\n .map((col) => {\n if (col.meta?.autoSize) return '1fr';\n return `${col.size || 150}px`;\n })\n .join(' ');\n }, [columns]);\n\n const rowModels = getRowModel();\n\n const onChangePagination = useCallback(\n (page: number) => {\n setPageIndex(page - 1);\n },\n [setPageIndex]\n );\n\n const helpCompRender = useCallback(\n (rowLength: number) => {\n if (isLoading) {\n return (\n <Flex\n align=\"center\"\n height=\"100%\"\n justify=\"center\"\n p=\"5\"\n width=\"100%\"\n >\n <Spinner />\n </Flex>\n );\n }\n if (rowLength === 0) {\n return (\n <div className=\"tr\" key=\"expand_placeholder\">\n <Flex align=\"center\" justify=\"center\">\n {placeholder || (\n <Typo color=\"gray\" mb=\"6\" mt=\"6\" variant=\"body\">\n 데이터가 없습니다\n </Typo>\n )}\n </Flex>\n </div>\n );\n }\n return null;\n },\n [isLoading, placeholder]\n );\n\n const pageCount = useMemo(() => {\n if (!data) return 0;\n return Math.ceil(data.length / pageSize);\n }, [data, pageSize]);\n\n return (\n <div className=\"expand-table\" style={tableStyle}>\n <div className=\"thead\">\n {getHeaderGroups().map((headerGroup) => (\n <div\n className=\"tr\"\n key={headerGroup.id}\n style={{ gridTemplateColumns }}\n >\n {headerGroup.headers.map((header) => {\n const sortable = header.column.getCanSort();\n const sortedState = header.column.getIsSorted();\n const justifyContent =\n header.column.columnDef.meta?.align || defaultAlign;\n\n return (\n <div className={`${justifyContent} th`} key={header.id}>\n <button\n onClick={header.column.getToggleSortingHandler()}\n style={\n sortable ? { cursor: 'pointer' } : { cursor: 'default' }\n }\n type=\"button\"\n >\n <Typo as=\"div\" variant=\"body\">\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </Typo>\n {sortable ? (\n <Flex\n direction=\"column\"\n style={{ marginLeft: 'var(--space-2)' }}\n >\n <TriangleArrowUpIcon\n color={\n sortedState === 'asc'\n ? 'var(--iris-10)'\n : 'var(--iris-6)'\n }\n />\n <TriangleArrowDownIcon\n color={\n sortedState === 'desc'\n ? 'var(--iris-10)'\n : 'var(--iris-6)'\n }\n />\n </Flex>\n ) : null}\n </button>\n </div>\n );\n })}\n </div>\n ))}\n </div>\n <div className=\"tbody\">\n {/* 조건에 따라 placeholder 또는 loading 렌더*/}\n {helpCompRender(rowModels.rows.length) ||\n rowModels.rows.map((row) => {\n return (\n <Row\n ExpandComp={ExpandComp}\n defaultAlign={defaultAlign}\n getCellStyle={getCellStyle}\n getRowStyle={getRowStyle}\n gridTemplateColumns={gridTemplateColumns}\n key={`row_${row.id}`}\n onRowClick={onRowClick}\n row={row}\n />\n );\n })}\n </div>\n\n {showPagination ? (\n <Flex justify=\"end\" pt=\"3\" width=\"100%\">\n <Pagination\n count={pageCount}\n onChange={onChangePagination}\n page={pagination.pageIndex + 1}\n siblingCount={siblingCount}\n />\n </Flex>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -250,20 +250,40 @@ var import_themes6 = require("@radix-ui/themes");
|
|
|
250
250
|
var import_themes7 = require("@radix-ui/themes");
|
|
251
251
|
var import_react3 = require("react");
|
|
252
252
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
253
|
+
var convertSizeStr = (size) => {
|
|
254
|
+
switch (size) {
|
|
255
|
+
case "small":
|
|
256
|
+
return "1";
|
|
257
|
+
case "medium":
|
|
258
|
+
return "2";
|
|
259
|
+
case "large":
|
|
260
|
+
return "3";
|
|
261
|
+
default:
|
|
262
|
+
return "2";
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
var convertSizeResponse = (size) => {
|
|
266
|
+
if (typeof size === "string" || typeof size === "undefined") {
|
|
267
|
+
return convertSizeStr(size);
|
|
268
|
+
}
|
|
269
|
+
const radixSize = {};
|
|
270
|
+
let key = "initial";
|
|
271
|
+
for (key in radixSize) {
|
|
272
|
+
radixSize[key] = convertSizeStr(size[key]);
|
|
273
|
+
}
|
|
274
|
+
return radixSize;
|
|
275
|
+
};
|
|
276
|
+
var convertSize = (size) => {
|
|
277
|
+
if (typeof size === "string") {
|
|
278
|
+
return convertSizeStr(size);
|
|
279
|
+
}
|
|
280
|
+
return convertSizeResponse(size);
|
|
281
|
+
};
|
|
253
282
|
var Button = (0, import_react3.forwardRef)(
|
|
254
283
|
(props, ref) => {
|
|
255
284
|
const _a = props, { size, style, variant } = _a, restProps = __objRest(_a, ["size", "style", "variant"]);
|
|
256
285
|
const radixSize = (0, import_react3.useMemo)(() => {
|
|
257
|
-
|
|
258
|
-
case "small":
|
|
259
|
-
return "1";
|
|
260
|
-
case "medium":
|
|
261
|
-
return "2";
|
|
262
|
-
case "large":
|
|
263
|
-
return "3";
|
|
264
|
-
default:
|
|
265
|
-
return "2";
|
|
266
|
-
}
|
|
286
|
+
return convertSize(size);
|
|
267
287
|
}, [size]);
|
|
268
288
|
const mergedStyle = (0, import_react3.useMemo)(() => {
|
|
269
289
|
const baseStyle = {
|
|
@@ -1083,7 +1103,7 @@ var import_react_table = require("@tanstack/react-table");
|
|
|
1083
1103
|
var import_react19 = require("react");
|
|
1084
1104
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1085
1105
|
function Row(props) {
|
|
1086
|
-
const { row, ExpandComp,
|
|
1106
|
+
const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
|
|
1087
1107
|
const [open, setOpen] = (0, import_react19.useState)(false);
|
|
1088
1108
|
const onClickRow = (0, import_react19.useCallback)(() => {
|
|
1089
1109
|
var _a;
|
|
@@ -1107,7 +1127,7 @@ function Row(props) {
|
|
|
1107
1127
|
className: "tr",
|
|
1108
1128
|
onClick: onClickRow,
|
|
1109
1129
|
style: __spreadValues({
|
|
1110
|
-
gridTemplateColumns
|
|
1130
|
+
gridTemplateColumns
|
|
1111
1131
|
}, (getRowStyle == null ? void 0 : getRowStyle(row.original)) || {}),
|
|
1112
1132
|
type: "button",
|
|
1113
1133
|
children: row.getVisibleCells().map((cell) => {
|
|
@@ -1118,11 +1138,11 @@ function Row(props) {
|
|
|
1118
1138
|
"div",
|
|
1119
1139
|
{
|
|
1120
1140
|
className: "td",
|
|
1121
|
-
style: {
|
|
1141
|
+
style: __spreadValues({
|
|
1122
1142
|
// width: autoSize ? undefined : cell.column.getSize(),
|
|
1123
1143
|
flexGrow: autoSize ? 1 : void 0,
|
|
1124
1144
|
justifyContent
|
|
1125
|
-
},
|
|
1145
|
+
}, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
|
|
1126
1146
|
children: [
|
|
1127
1147
|
(0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
|
|
1128
1148
|
((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
@@ -1160,7 +1180,8 @@ function ExpandTable(props) {
|
|
|
1160
1180
|
pageIndex = 0,
|
|
1161
1181
|
pageSize = 10,
|
|
1162
1182
|
siblingCount = 2,
|
|
1163
|
-
getRowStyle
|
|
1183
|
+
getRowStyle,
|
|
1184
|
+
getCellStyle
|
|
1164
1185
|
} = props;
|
|
1165
1186
|
const defaultAlign = "left";
|
|
1166
1187
|
const [pagination, setPagination] = (0, import_react20.useState)({
|
|
@@ -1181,7 +1202,7 @@ function ExpandTable(props) {
|
|
|
1181
1202
|
getPaginationRowModel: (0, import_react_table2.getPaginationRowModel)(),
|
|
1182
1203
|
onPaginationChange: setPagination
|
|
1183
1204
|
});
|
|
1184
|
-
const
|
|
1205
|
+
const gridTemplateColumns = (0, import_react20.useMemo)(() => {
|
|
1185
1206
|
return columns.map((col) => {
|
|
1186
1207
|
var _a;
|
|
1187
1208
|
if ((_a = col.meta) == null ? void 0 : _a.autoSize)
|
|
@@ -1228,7 +1249,7 @@ function ExpandTable(props) {
|
|
|
1228
1249
|
"div",
|
|
1229
1250
|
{
|
|
1230
1251
|
className: "tr",
|
|
1231
|
-
style: { gridTemplateColumns
|
|
1252
|
+
style: { gridTemplateColumns },
|
|
1232
1253
|
children: headerGroup.headers.map((header) => {
|
|
1233
1254
|
var _a;
|
|
1234
1255
|
const sortable = header.column.getCanSort();
|
|
@@ -1279,8 +1300,9 @@ function ExpandTable(props) {
|
|
|
1279
1300
|
{
|
|
1280
1301
|
ExpandComp,
|
|
1281
1302
|
defaultAlign,
|
|
1303
|
+
getCellStyle,
|
|
1282
1304
|
getRowStyle,
|
|
1283
|
-
|
|
1305
|
+
gridTemplateColumns,
|
|
1284
1306
|
onRowClick,
|
|
1285
1307
|
row
|
|
1286
1308
|
},
|