@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.
Files changed (77) hide show
  1. package/dist/atoms/button.cjs +30 -10
  2. package/dist/atoms/button.cjs.map +1 -1
  3. package/dist/atoms/button.d.cts +3 -2
  4. package/dist/atoms/button.d.ts +3 -2
  5. package/dist/atoms/button.js +1 -1
  6. package/dist/atoms/dialog.cjs +30 -10
  7. package/dist/atoms/dialog.cjs.map +1 -1
  8. package/dist/atoms/dialog.js +2 -2
  9. package/dist/atoms/drawer.cjs +30 -10
  10. package/dist/atoms/drawer.cjs.map +1 -1
  11. package/dist/atoms/drawer.js +2 -2
  12. package/dist/atoms/field-error-wrapper.js +2 -2
  13. package/dist/atoms/index.cjs +30 -10
  14. package/dist/atoms/index.cjs.map +1 -1
  15. package/dist/atoms/index.d.cts +1 -0
  16. package/dist/atoms/index.d.ts +1 -0
  17. package/dist/atoms/index.js +60 -60
  18. package/dist/atoms/pagination.js +2 -2
  19. package/dist/chunk-3YBBMDHJ.js +60 -0
  20. package/dist/chunk-3YBBMDHJ.js.map +1 -0
  21. package/dist/chunk-7YPMSAU3.js +164 -0
  22. package/dist/chunk-7YPMSAU3.js.map +1 -0
  23. package/dist/chunk-BSG2Q4XC.js +192 -0
  24. package/dist/chunk-BSG2Q4XC.js.map +1 -0
  25. package/dist/chunk-EIAK47TI.js +77 -0
  26. package/dist/chunk-EIAK47TI.js.map +1 -0
  27. package/dist/chunk-EQC3MBY2.js +164 -0
  28. package/dist/chunk-EQC3MBY2.js.map +1 -0
  29. package/dist/chunk-GIUL45NR.js +63 -0
  30. package/dist/chunk-GIUL45NR.js.map +1 -0
  31. package/dist/chunk-KK6EZCIU.js +192 -0
  32. package/dist/chunk-KK6EZCIU.js.map +1 -0
  33. package/dist/chunk-LGWPZRFJ.js +340 -0
  34. package/dist/chunk-LGWPZRFJ.js.map +1 -0
  35. package/dist/chunk-PCWEW2UL.js +80 -0
  36. package/dist/chunk-PCWEW2UL.js.map +1 -0
  37. package/dist/chunk-TSVUJJVY.js +340 -0
  38. package/dist/chunk-TSVUJJVY.js.map +1 -0
  39. package/dist/chunk-WM3XQMNK.js +88 -0
  40. package/dist/chunk-WM3XQMNK.js.map +1 -0
  41. package/dist/chunk-XXODW32Q.js +63 -0
  42. package/dist/chunk-XXODW32Q.js.map +1 -0
  43. package/dist/chunk-ZQLHJD5Q.js +192 -0
  44. package/dist/chunk-ZQLHJD5Q.js.map +1 -0
  45. package/dist/index.cjs +40 -18
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.cts +1 -0
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.js +80 -80
  50. package/dist/molecules/date-picker/index.js +2 -2
  51. package/dist/molecules/expand-table/index.cjs +10 -8
  52. package/dist/molecules/expand-table/index.cjs.map +1 -1
  53. package/dist/molecules/expand-table/index.d.cts +1 -0
  54. package/dist/molecules/expand-table/index.d.ts +1 -0
  55. package/dist/molecules/expand-table/index.js +29 -29
  56. package/dist/molecules/expand-table/row.cjs +4 -4
  57. package/dist/molecules/expand-table/row.cjs.map +1 -1
  58. package/dist/molecules/expand-table/row.d.cts +2 -1
  59. package/dist/molecules/expand-table/row.d.ts +2 -1
  60. package/dist/molecules/expand-table/row.js +28 -28
  61. package/dist/molecules/index.cjs +40 -18
  62. package/dist/molecules/index.cjs.map +1 -1
  63. package/dist/molecules/index.js +37 -37
  64. package/dist/molecules/learning-post.cjs +30 -10
  65. package/dist/molecules/learning-post.cjs.map +1 -1
  66. package/dist/molecules/learning-post.js +4 -4
  67. package/dist/molecules/navigation.cjs +30 -10
  68. package/dist/molecules/navigation.cjs.map +1 -1
  69. package/dist/molecules/navigation.js +28 -28
  70. package/dist/molecules/stepper.js +3 -3
  71. package/dist/molecules/tag-selector.cjs +30 -10
  72. package/dist/molecules/tag-selector.cjs.map +1 -1
  73. package/dist/molecules/tag-selector.js +28 -28
  74. package/package.json +1 -1
  75. package/src/atoms/button.tsx +39 -11
  76. package/src/molecules/expand-table/index.tsx +6 -3
  77. package/src/molecules/expand-table/row.tsx +6 -3
package/dist/index.d.cts CHANGED
@@ -39,6 +39,7 @@ export { toast } from 'react-toastify';
39
39
  export { ExpandComp, OnRowClick } from './molecules/expand-table/row.cjs';
40
40
  export { ColumnDef, Row, createColumnHelper } from '@tanstack/react-table';
41
41
  import 'react';
42
+ import '@radix-ui/themes/props';
42
43
  import '@radix-ui/react-dialog';
43
44
  import '@radix-ui/react-form';
44
45
  import 'react-datepicker';
package/dist/index.d.ts CHANGED
@@ -39,6 +39,7 @@ export { toast } from 'react-toastify';
39
39
  export { ExpandComp, OnRowClick } from './molecules/expand-table/row.js';
40
40
  export { ColumnDef, Row, createColumnHelper } from '@tanstack/react-table';
41
41
  import 'react';
42
+ import '@radix-ui/themes/props';
42
43
  import '@radix-ui/react-dialog';
43
44
  import '@radix-ui/react-form';
44
45
  import 'react-datepicker';
package/dist/index.js CHANGED
@@ -11,46 +11,58 @@ import {
11
11
  import {
12
12
  scrollTo
13
13
  } from "./chunk-ZXQZRIRS.js";
14
- import {
15
- useThemeContext
16
- } from "./chunk-MMGP4GEQ.js";
17
14
  import "./chunk-6ZAP2Q6K.js";
18
- import {
19
- TagSelector
20
- } from "./chunk-P7633BEQ.js";
21
15
  import {
22
16
  DatePicker
23
- } from "./chunk-C3YMRWG2.js";
17
+ } from "./chunk-2QDLO3YM.js";
24
18
  import {
25
19
  ExpandTable,
26
20
  createColumnHelper
27
- } from "./chunk-VR6Y66LP.js";
28
- import "./chunk-SOMDO7V4.js";
21
+ } from "./chunk-BSG2Q4XC.js";
22
+ import "./chunk-PCWEW2UL.js";
29
23
  import {
30
24
  DotNavigation
31
25
  } from "./chunk-EDTEVEJW.js";
32
26
  import {
33
27
  LearningPost
34
- } from "./chunk-XGPMAJED.js";
35
- import {
36
- ThemeProvider
37
- } from "./chunk-BVNXAZ4W.js";
28
+ } from "./chunk-EQC3MBY2.js";
38
29
  import {
39
30
  Navigation
40
- } from "./chunk-VSGK4POC.js";
31
+ } from "./chunk-XXODW32Q.js";
41
32
  import {
42
33
  Stepper
43
- } from "./chunk-Y3L7BYDF.js";
44
- import "./chunk-PSINRHYW.js";
34
+ } from "./chunk-PF5CPG6R.js";
45
35
  import {
46
- EchartDefaultProps
47
- } from "./chunk-2QFSCWES.js";
36
+ TagSelector
37
+ } from "./chunk-LGWPZRFJ.js";
48
38
  import {
49
- HorizontalBarChart
50
- } from "./chunk-SGMO4KBC.js";
39
+ ThemeProvider
40
+ } from "./chunk-BVNXAZ4W.js";
41
+ import {
42
+ useThemeContext
43
+ } from "./chunk-MMGP4GEQ.js";
51
44
  import "./chunk-BSTJBBEX.js";
52
45
  import "./chunk-NDUKDKGB.js";
53
46
  import "./chunk-76JGDATZ.js";
47
+ import {
48
+ TextArea
49
+ } from "./chunk-ILRUXI2E.js";
50
+ import {
51
+ TextField
52
+ } from "./chunk-JPIZP2PZ.js";
53
+ import {
54
+ ToastContainer,
55
+ toast
56
+ } from "./chunk-CYYWMYE7.js";
57
+ import {
58
+ Select
59
+ } from "./chunk-3JRNKBMN.js";
60
+ import {
61
+ Separator
62
+ } from "./chunk-HYITAA4J.js";
63
+ import {
64
+ Skeleton
65
+ } from "./chunk-5H3YPCZK.js";
54
66
  import {
55
67
  Spinner
56
68
  } from "./chunk-FR2GDOU2.js";
@@ -67,15 +79,14 @@ import {
67
79
  Tabs
68
80
  } from "./chunk-5ZITU5L7.js";
69
81
  import {
70
- TextArea
71
- } from "./chunk-ILRUXI2E.js";
82
+ Progress
83
+ } from "./chunk-365QMK4D.js";
72
84
  import {
73
- TextField
74
- } from "./chunk-JPIZP2PZ.js";
85
+ Quote
86
+ } from "./chunk-YO3BQW6S.js";
75
87
  import {
76
- ToastContainer,
77
- toast
78
- } from "./chunk-CYYWMYE7.js";
88
+ RadioCards
89
+ } from "./chunk-6IVCARWS.js";
79
90
  import {
80
91
  RadioGroup
81
92
  } from "./chunk-6DJOIRMF.js";
@@ -92,14 +103,8 @@ import {
92
103
  SegmentedControl
93
104
  } from "./chunk-TVDKGMBI.js";
94
105
  import {
95
- Select
96
- } from "./chunk-3JRNKBMN.js";
97
- import {
98
- Separator
99
- } from "./chunk-HYITAA4J.js";
100
- import {
101
- Skeleton
102
- } from "./chunk-5H3YPCZK.js";
106
+ HoverCard
107
+ } from "./chunk-O3T3TM3V.js";
103
108
  import {
104
109
  Inset
105
110
  } from "./chunk-XQOL7UBI.js";
@@ -111,22 +116,31 @@ import {
111
116
  } from "./chunk-SIM6HKVI.js";
112
117
  import {
113
118
  Pagination
114
- } from "./chunk-5X3BCQPR.js";
119
+ } from "./chunk-IM7DSIK2.js";
120
+ import {
121
+ IconButton
122
+ } from "./chunk-O3DNDMV3.js";
115
123
  import {
116
124
  Popover
117
125
  } from "./chunk-5AVBYDPB.js";
118
126
  import {
119
- Progress
120
- } from "./chunk-365QMK4D.js";
127
+ DropdownMenu
128
+ } from "./chunk-4WFMOFN2.js";
121
129
  import {
122
- Quote
123
- } from "./chunk-YO3BQW6S.js";
130
+ EllipsisTooltip
131
+ } from "./chunk-WKFZ5MMN.js";
124
132
  import {
125
- RadioCards
126
- } from "./chunk-6IVCARWS.js";
133
+ Tooltip
134
+ } from "./chunk-ACVANQJ4.js";
135
+ import {
136
+ Em
137
+ } from "./chunk-2DZ2Y3JI.js";
127
138
  import {
128
139
  FieldErrorWrapper
129
- } from "./chunk-DJN2IEY6.js";
140
+ } from "./chunk-QDZS4B6A.js";
141
+ import {
142
+ Typo
143
+ } from "./chunk-52MVZ6AN.js";
130
144
  import {
131
145
  Flex
132
146
  } from "./chunk-25HMMI7R.js";
@@ -140,11 +154,14 @@ import {
140
154
  Heading
141
155
  } from "./chunk-HK224ADT.js";
142
156
  import {
143
- HoverCard
144
- } from "./chunk-O3T3TM3V.js";
157
+ CheckboxGroup
158
+ } from "./chunk-IQEEPHOY.js";
145
159
  import {
146
- IconButton
147
- } from "./chunk-O3DNDMV3.js";
160
+ Checkbox
161
+ } from "./chunk-LHCDPZ5E.js";
162
+ import {
163
+ Code
164
+ } from "./chunk-OHMOP5PV.js";
148
165
  import {
149
166
  Collapse
150
167
  } from "./chunk-LZJR77Q2.js";
@@ -156,34 +173,28 @@ import {
156
173
  } from "./chunk-VTJZMOSP.js";
157
174
  import {
158
175
  Dialog
159
- } from "./chunk-6AJTMXLJ.js";
176
+ } from "./chunk-WM3XQMNK.js";
160
177
  import {
161
178
  Content,
162
179
  Drawer,
163
180
  Root,
164
181
  Trigger
165
- } from "./chunk-3IZQ2PIQ.js";
182
+ } from "./chunk-3YBBMDHJ.js";
166
183
  import {
167
- DropdownMenu
168
- } from "./chunk-4WFMOFN2.js";
169
- import {
170
- EllipsisTooltip
171
- } from "./chunk-WKFZ5MMN.js";
172
- import {
173
- Tooltip
174
- } from "./chunk-ACVANQJ4.js";
184
+ Avatar
185
+ } from "./chunk-3SSSCLJ5.js";
175
186
  import {
176
- Typo
177
- } from "./chunk-52MVZ6AN.js";
187
+ Badge
188
+ } from "./chunk-EWD4AO5N.js";
178
189
  import {
179
- Em
180
- } from "./chunk-2DZ2Y3JI.js";
190
+ Blockquote
191
+ } from "./chunk-YGL6SWKN.js";
181
192
  import {
182
193
  Box
183
194
  } from "./chunk-4Y5BEXVN.js";
184
195
  import {
185
196
  Button
186
- } from "./chunk-P3YCIJUP.js";
197
+ } from "./chunk-EIAK47TI.js";
187
198
  import {
188
199
  Callout
189
200
  } from "./chunk-B6XJN6EC.js";
@@ -193,15 +204,6 @@ import {
193
204
  import {
194
205
  CheckboxCards
195
206
  } from "./chunk-MIMJ7LON.js";
196
- import {
197
- CheckboxGroup
198
- } from "./chunk-IQEEPHOY.js";
199
- import {
200
- Checkbox
201
- } from "./chunk-LHCDPZ5E.js";
202
- import {
203
- Code
204
- } from "./chunk-OHMOP5PV.js";
205
207
  import {
206
208
  ArchiveIcon,
207
209
  BackpackIcon,
@@ -238,6 +240,13 @@ import {
238
240
  Share1Icon,
239
241
  TrashIcon
240
242
  } from "./chunk-66C4U3BG.js";
243
+ import "./chunk-PSINRHYW.js";
244
+ import {
245
+ EchartDefaultProps
246
+ } from "./chunk-2QFSCWES.js";
247
+ import {
248
+ HorizontalBarChart
249
+ } from "./chunk-SGMO4KBC.js";
241
250
  import {
242
251
  AlertDialog
243
252
  } from "./chunk-J242TTFH.js";
@@ -247,15 +256,6 @@ import {
247
256
  import {
248
257
  AutoSizingInput
249
258
  } from "./chunk-YJCCE5WP.js";
250
- import {
251
- Avatar
252
- } from "./chunk-3SSSCLJ5.js";
253
- import {
254
- Badge
255
- } from "./chunk-EWD4AO5N.js";
256
- import {
257
- Blockquote
258
- } from "./chunk-YGL6SWKN.js";
259
259
  import "./chunk-N552FDTV.js";
260
260
  export {
261
261
  AlertDialog,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  DatePicker
3
- } from "../../chunk-C3YMRWG2.js";
3
+ } from "../../chunk-2QDLO3YM.js";
4
+ import "../../chunk-O3DNDMV3.js";
4
5
  import "../../chunk-25HMMI7R.js";
5
6
  import "../../chunk-HK224ADT.js";
6
- import "../../chunk-O3DNDMV3.js";
7
7
  import "../../chunk-66C4U3BG.js";
8
8
  import "../../chunk-N552FDTV.js";
9
9
  export {
@@ -294,7 +294,7 @@ var import_react_table = require("@tanstack/react-table");
294
294
  var import_react4 = require("react");
295
295
  var import_jsx_runtime6 = require("react/jsx-runtime");
296
296
  function Row(props) {
297
- const { row, ExpandComp, gridColTemp, getRowStyle } = props;
297
+ const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
298
298
  const [open, setOpen] = (0, import_react4.useState)(false);
299
299
  const onClickRow = (0, import_react4.useCallback)(() => {
300
300
  var _a;
@@ -318,7 +318,7 @@ function Row(props) {
318
318
  className: "tr",
319
319
  onClick: onClickRow,
320
320
  style: __spreadValues({
321
- gridTemplateColumns: gridColTemp
321
+ gridTemplateColumns
322
322
  }, (getRowStyle == null ? void 0 : getRowStyle(row.original)) || {}),
323
323
  type: "button",
324
324
  children: row.getVisibleCells().map((cell) => {
@@ -329,11 +329,11 @@ function Row(props) {
329
329
  "div",
330
330
  {
331
331
  className: "td",
332
- style: {
332
+ style: __spreadValues({
333
333
  // width: autoSize ? undefined : cell.column.getSize(),
334
334
  flexGrow: autoSize ? 1 : void 0,
335
335
  justifyContent
336
- },
336
+ }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
337
337
  children: [
338
338
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
339
339
  ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
@@ -371,7 +371,8 @@ function ExpandTable(props) {
371
371
  pageIndex = 0,
372
372
  pageSize = 10,
373
373
  siblingCount = 2,
374
- getRowStyle
374
+ getRowStyle,
375
+ getCellStyle
375
376
  } = props;
376
377
  const defaultAlign = "left";
377
378
  const [pagination, setPagination] = (0, import_react5.useState)({
@@ -392,7 +393,7 @@ function ExpandTable(props) {
392
393
  getPaginationRowModel: (0, import_react_table2.getPaginationRowModel)(),
393
394
  onPaginationChange: setPagination
394
395
  });
395
- const gridColTemp = (0, import_react5.useMemo)(() => {
396
+ const gridTemplateColumns = (0, import_react5.useMemo)(() => {
396
397
  return columns.map((col) => {
397
398
  var _a;
398
399
  if ((_a = col.meta) == null ? void 0 : _a.autoSize)
@@ -439,7 +440,7 @@ function ExpandTable(props) {
439
440
  "div",
440
441
  {
441
442
  className: "tr",
442
- style: { gridTemplateColumns: gridColTemp },
443
+ style: { gridTemplateColumns },
443
444
  children: headerGroup.headers.map((header) => {
444
445
  var _a;
445
446
  const sortable = header.column.getCanSort();
@@ -490,8 +491,9 @@ function ExpandTable(props) {
490
491
  {
491
492
  ExpandComp,
492
493
  defaultAlign,
494
+ getCellStyle,
493
495
  getRowStyle,
494
- gridColTemp,
496
+ gridTemplateColumns,
495
497
  onRowClick,
496
498
  row
497
499
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecules/expand-table/index.tsx","../../../src/atoms/flex.tsx","../../../src/atoms/icon-button.tsx","../../../src/atoms/typo.tsx","../../../src/atoms/collapse.tsx","../../../src/atoms/spinner.tsx","../../../src/atoms/pagination.tsx","../../../src/icon.ts","../../../src/icons/down.tsx","../../../src/icons/up.tsx","../../../src/molecules/expand-table/row.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 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 } = 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 gridColTemp = 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: gridColTemp }}\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 getRowStyle={getRowStyle}\n gridColTemp={gridColTemp}\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","export { Flex, type FlexProps } from '@radix-ui/themes';\n","export { IconButton, type IconButtonProps } from '@radix-ui/themes';\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\n\nexport type TypoProps = RadixTextProps & {\n variant?: 'body' | 'caption' | 'subtitle';\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactElement => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n switch (variant) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import React, { useEffect, useRef, useState } from 'react';\n\nexport interface CollapseProps {\n children: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n /** 닫힘 상태일 때 높이 값이 필요할 시 사용 */\n closedHeight?: string;\n}\n\nexport function Collapse(props: CollapseProps): React.ReactNode {\n const { children, closedHeight = '0' } = props;\n const [open, setOpen] = useState(() => {\n return props.open || props.defaultOpen || false;\n });\n\n useEffect(() => {\n if (props.open === undefined) return;\n setOpen(props.open);\n }, [props.open]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!ref.current) return;\n ref.current.style.maxHeight = open\n ? `${ref.current.scrollHeight}px`\n : closedHeight;\n }, [closedHeight, open]);\n\n return (\n <div className=\"tipp-collapse\" ref={ref}>\n {children}\n </div>\n );\n}\n","export { Spinner, type SpinnerProps } from '@radix-ui/themes';\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n} from '../icon';\nimport type { IconButtonProps } from './icon-button';\nimport { IconButton } from './icon-button';\nimport { Flex } from './flex';\nimport { Typo } from './typo';\n\nexport interface PaginationProps {\n /** 현재 선택된 페이지, 1부터 시작 */\n page?: number;\n /** 기본 선택 페이지, page보다 낮은 우선 순위를 갖는다 */\n defaultPage?: number;\n /** 선택한 페이지 변경 이벤트 cb */\n onChange?: (page: number) => void;\n /** 전체 페이지의 수 */\n count?: number;\n /** 표시할 페이지 버튼의 개수 */\n siblingCount?: number;\n}\n\nexport function Pagination(props: PaginationProps): React.ReactNode {\n const { onChange, count = 0, siblingCount = 2 } = props;\n\n const [page, setPage] = useState(() => props.page || props.defaultPage || 1);\n\n const visibleItems = useMemo(() => {\n let start = Math.max(1, page - siblingCount);\n let end = Math.min(count, page + siblingCount);\n if (page - siblingCount <= 0 && end < count) {\n end = Math.min(count, end + Math.abs(page - siblingCount) + 1);\n } else if (page + siblingCount > count && start > 1) {\n start = Math.max(1, start - (page + siblingCount - count));\n }\n\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }, [count, page, siblingCount]);\n\n useEffect(() => {\n onChange?.(page);\n }, [onChange, page]);\n\n useEffect(() => {\n if (props.page) {\n setPage(props.page);\n }\n }, [props.page]);\n\n const prev = useMemo<number | undefined>(() => {\n const p = page - 1;\n return p < 1 ? undefined : p;\n }, [page]);\n\n const next = useMemo<number | undefined>(() => {\n const n = page + 1;\n return n > count ? undefined : n;\n }, [count, page]);\n\n const onClickPrev = useCallback(() => {\n prev && setPage(prev);\n }, [prev]);\n\n const onClickNext = useCallback(() => {\n next && setPage(next);\n }, [next]);\n\n const doublePrev = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n return Math.max(0, visibleItems[0] - 1);\n }, [visibleItems]);\n\n const onClickDoublePrev = useCallback(() => {\n doublePrev && setPage(doublePrev);\n }, [doublePrev]);\n\n const doubleNext = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n const n = visibleItems[visibleItems.length - 1] + 1;\n if (n > count) return;\n return Math.min(count, n);\n }, [count, visibleItems]);\n\n const onClickDoubleNext = useCallback(() => {\n doubleNext && setPage(doubleNext);\n }, [doubleNext]);\n\n const iconSize = {\n height: 24,\n width: 24,\n };\n\n const moveButtonProps: IconButtonProps = {\n variant: 'ghost',\n size: '3',\n style: { borderRadius: '50%' },\n };\n\n return (\n <Flex align=\"center\" className=\"tipp-pagination\" gap=\"4\">\n <IconButton\n disabled={!doublePrev}\n onClick={onClickDoublePrev}\n {...moveButtonProps}\n >\n <DoubleArrowLeftIcon {...iconSize} />\n </IconButton>\n <IconButton disabled={!prev} onClick={onClickPrev} {...moveButtonProps}>\n <ChevronLeftIcon {...iconSize} />\n </IconButton>\n <Flex gap=\"1\">\n {visibleItems.map((item) => {\n return (\n <button\n className={`page-button ${item === page ? 'active' : ''}`}\n key={item}\n onClick={() => {\n setPage(item);\n }}\n type=\"button\"\n >\n <Typo variant=\"body\">{item}</Typo>\n </button>\n );\n })}\n </Flex>\n <IconButton disabled={!next} onClick={onClickNext} {...moveButtonProps}>\n <ChevronRightIcon {...iconSize} />\n </IconButton>\n <IconButton\n disabled={!doubleNext}\n onClick={onClickDoubleNext}\n {...moveButtonProps}\n >\n <DoubleArrowRightIcon {...iconSize} />\n </IconButton>\n </Flex>\n );\n}\n","export {\n BookmarkIcon,\n ExitIcon,\n InfoCircledIcon,\n ExclamationTriangleIcon,\n MagnifyingGlassIcon,\n DotsHorizontalIcon,\n ChatBubbleIcon,\n PlusIcon,\n BookmarkFilledIcon,\n MixerHorizontalIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClipboardIcon,\n BarChartIcon,\n PersonIcon,\n GearIcon,\n DotsVerticalIcon,\n Pencil1Icon,\n Cross1Icon,\n Link2Icon,\n ChevronUpIcon,\n ChevronDownIcon,\n FileIcon,\n TrashIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n GlobeIcon,\n BackpackIcon,\n CalendarIcon,\n CheckIcon,\n ArchiveIcon,\n RowsIcon,\n Share1Icon,\n ClipboardCopyIcon,\n} from '@radix-ui/react-icons';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowDownIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.10844 0.8125H0.891554C0.197392 0.8125 -0.177096 1.62672 0.274659 2.15377L3.3831 5.78029C3.70737 6.1586 4.29263 6.1586 4.6169 5.78029L7.72534 2.15377C8.1771 1.62672 7.80261 0.8125 7.10844 0.8125Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowDownIcon.displayName = 'ArrowDownIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowUpIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M0.891555 6.1875L7.10845 6.1875C7.80261 6.1875 8.1771 5.37328 7.72534 4.84623L4.6169 1.21971C4.29263 0.841403 3.70737 0.841403 3.3831 1.21971L0.274659 4.84623C-0.177095 5.37328 0.197393 6.1875 0.891555 6.1875Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowUpIcon.displayName = 'ArrowUpIcon';\n","import {\n type Row as TanstackRow,\n type RowData,\n flexRender,\n} from '@tanstack/react-table';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { Collapse } from '../../atoms';\nimport type { CellAlign } from '../../utils/get-cell-align';\n\nexport type ExpandComp<Datum> = React.FC<{ row: TanstackRow<Datum> }>;\nexport type OnRowClick<Datum> = (data: Datum) => void;\n\ninterface RowProps<Datum extends RowData> {\n row: TanstackRow<Datum>;\n ExpandComp?: ExpandComp<Datum>;\n onRowClick?: OnRowClick<Datum>;\n gridColTemp: string;\n getRowStyle?: (data: Datum) => React.CSSProperties;\n defaultAlign: CellAlign;\n}\n\nexport function Row<Datum extends RowData>(\n props: RowProps<Datum>\n): React.ReactNode {\n const { row, ExpandComp, gridColTemp, getRowStyle } = props;\n const [open, setOpen] = useState(false);\n\n const onClickRow = useCallback(() => {\n props.onRowClick?.(row.original);\n setOpen((prev) => !prev);\n }, [props, row.original]);\n\n const rowClassName = useMemo(() => {\n const baseCls = ['tr-wrapper'];\n if (ExpandComp) {\n baseCls.push('expandable');\n }\n if (props.onRowClick) {\n baseCls.push('clickable');\n }\n return baseCls.join(' ');\n }, [ExpandComp, props.onRowClick]);\n\n return (\n <div className={rowClassName} key={`tr-wrapper_${row.id}`}>\n <button\n className=\"tr\"\n key={`tr_${row.id}`}\n onClick={onClickRow}\n style={{\n gridTemplateColumns: gridColTemp,\n ...(getRowStyle?.(row.original) || {}),\n }}\n type=\"button\"\n >\n {row.getVisibleCells().map((cell) => {\n const autoSize = cell.column.columnDef.meta?.autoSize;\n const justifyContent =\n cell.column.columnDef.meta?.align || props.defaultAlign;\n\n return (\n <div\n className=\"td\"\n key={cell.id}\n style={{\n // width: autoSize ? undefined : cell.column.getSize(),\n flexGrow: autoSize ? 1 : undefined,\n justifyContent,\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n {cell.column.columnDef.meta?.OpenBtn ? (\n <cell.column.columnDef.meta.OpenBtn\n data={row.original}\n open={open}\n setIsOpen={setOpen}\n />\n ) : null}\n </div>\n );\n })}\n </button>\n {ExpandComp ? (\n <Collapse open={open}>\n <div className=\"expand-comp-wrapper\">\n <ExpandComp row={row} />\n </div>\n </Collapse>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":["import_react_table","import_react","import_themes","import_themes","RadixText","import_react","import_jsx_runtime","import_themes","import_react","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../src/molecules/expand-table/index.tsx","../../../src/atoms/flex.tsx","../../../src/atoms/icon-button.tsx","../../../src/atoms/typo.tsx","../../../src/atoms/collapse.tsx","../../../src/atoms/spinner.tsx","../../../src/atoms/pagination.tsx","../../../src/icon.ts","../../../src/icons/down.tsx","../../../src/icons/up.tsx","../../../src/molecules/expand-table/row.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","export { Flex, type FlexProps } from '@radix-ui/themes';\n","export { IconButton, type IconButtonProps } from '@radix-ui/themes';\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\n\nexport type TypoProps = RadixTextProps & {\n variant?: 'body' | 'caption' | 'subtitle';\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactElement => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n switch (variant) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import React, { useEffect, useRef, useState } from 'react';\n\nexport interface CollapseProps {\n children: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n /** 닫힘 상태일 때 높이 값이 필요할 시 사용 */\n closedHeight?: string;\n}\n\nexport function Collapse(props: CollapseProps): React.ReactNode {\n const { children, closedHeight = '0' } = props;\n const [open, setOpen] = useState(() => {\n return props.open || props.defaultOpen || false;\n });\n\n useEffect(() => {\n if (props.open === undefined) return;\n setOpen(props.open);\n }, [props.open]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!ref.current) return;\n ref.current.style.maxHeight = open\n ? `${ref.current.scrollHeight}px`\n : closedHeight;\n }, [closedHeight, open]);\n\n return (\n <div className=\"tipp-collapse\" ref={ref}>\n {children}\n </div>\n );\n}\n","export { Spinner, type SpinnerProps } from '@radix-ui/themes';\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n} from '../icon';\nimport type { IconButtonProps } from './icon-button';\nimport { IconButton } from './icon-button';\nimport { Flex } from './flex';\nimport { Typo } from './typo';\n\nexport interface PaginationProps {\n /** 현재 선택된 페이지, 1부터 시작 */\n page?: number;\n /** 기본 선택 페이지, page보다 낮은 우선 순위를 갖는다 */\n defaultPage?: number;\n /** 선택한 페이지 변경 이벤트 cb */\n onChange?: (page: number) => void;\n /** 전체 페이지의 수 */\n count?: number;\n /** 표시할 페이지 버튼의 개수 */\n siblingCount?: number;\n}\n\nexport function Pagination(props: PaginationProps): React.ReactNode {\n const { onChange, count = 0, siblingCount = 2 } = props;\n\n const [page, setPage] = useState(() => props.page || props.defaultPage || 1);\n\n const visibleItems = useMemo(() => {\n let start = Math.max(1, page - siblingCount);\n let end = Math.min(count, page + siblingCount);\n if (page - siblingCount <= 0 && end < count) {\n end = Math.min(count, end + Math.abs(page - siblingCount) + 1);\n } else if (page + siblingCount > count && start > 1) {\n start = Math.max(1, start - (page + siblingCount - count));\n }\n\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }, [count, page, siblingCount]);\n\n useEffect(() => {\n onChange?.(page);\n }, [onChange, page]);\n\n useEffect(() => {\n if (props.page) {\n setPage(props.page);\n }\n }, [props.page]);\n\n const prev = useMemo<number | undefined>(() => {\n const p = page - 1;\n return p < 1 ? undefined : p;\n }, [page]);\n\n const next = useMemo<number | undefined>(() => {\n const n = page + 1;\n return n > count ? undefined : n;\n }, [count, page]);\n\n const onClickPrev = useCallback(() => {\n prev && setPage(prev);\n }, [prev]);\n\n const onClickNext = useCallback(() => {\n next && setPage(next);\n }, [next]);\n\n const doublePrev = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n return Math.max(0, visibleItems[0] - 1);\n }, [visibleItems]);\n\n const onClickDoublePrev = useCallback(() => {\n doublePrev && setPage(doublePrev);\n }, [doublePrev]);\n\n const doubleNext = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n const n = visibleItems[visibleItems.length - 1] + 1;\n if (n > count) return;\n return Math.min(count, n);\n }, [count, visibleItems]);\n\n const onClickDoubleNext = useCallback(() => {\n doubleNext && setPage(doubleNext);\n }, [doubleNext]);\n\n const iconSize = {\n height: 24,\n width: 24,\n };\n\n const moveButtonProps: IconButtonProps = {\n variant: 'ghost',\n size: '3',\n style: { borderRadius: '50%' },\n };\n\n return (\n <Flex align=\"center\" className=\"tipp-pagination\" gap=\"4\">\n <IconButton\n disabled={!doublePrev}\n onClick={onClickDoublePrev}\n {...moveButtonProps}\n >\n <DoubleArrowLeftIcon {...iconSize} />\n </IconButton>\n <IconButton disabled={!prev} onClick={onClickPrev} {...moveButtonProps}>\n <ChevronLeftIcon {...iconSize} />\n </IconButton>\n <Flex gap=\"1\">\n {visibleItems.map((item) => {\n return (\n <button\n className={`page-button ${item === page ? 'active' : ''}`}\n key={item}\n onClick={() => {\n setPage(item);\n }}\n type=\"button\"\n >\n <Typo variant=\"body\">{item}</Typo>\n </button>\n );\n })}\n </Flex>\n <IconButton disabled={!next} onClick={onClickNext} {...moveButtonProps}>\n <ChevronRightIcon {...iconSize} />\n </IconButton>\n <IconButton\n disabled={!doubleNext}\n onClick={onClickDoubleNext}\n {...moveButtonProps}\n >\n <DoubleArrowRightIcon {...iconSize} />\n </IconButton>\n </Flex>\n );\n}\n","export {\n BookmarkIcon,\n ExitIcon,\n InfoCircledIcon,\n ExclamationTriangleIcon,\n MagnifyingGlassIcon,\n DotsHorizontalIcon,\n ChatBubbleIcon,\n PlusIcon,\n BookmarkFilledIcon,\n MixerHorizontalIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClipboardIcon,\n BarChartIcon,\n PersonIcon,\n GearIcon,\n DotsVerticalIcon,\n Pencil1Icon,\n Cross1Icon,\n Link2Icon,\n ChevronUpIcon,\n ChevronDownIcon,\n FileIcon,\n TrashIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n GlobeIcon,\n BackpackIcon,\n CalendarIcon,\n CheckIcon,\n ArchiveIcon,\n RowsIcon,\n Share1Icon,\n ClipboardCopyIcon,\n} from '@radix-ui/react-icons';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowDownIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.10844 0.8125H0.891554C0.197392 0.8125 -0.177096 1.62672 0.274659 2.15377L3.3831 5.78029C3.70737 6.1586 4.29263 6.1586 4.6169 5.78029L7.72534 2.15377C8.1771 1.62672 7.80261 0.8125 7.10844 0.8125Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowDownIcon.displayName = 'ArrowDownIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowUpIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M0.891555 6.1875L7.10845 6.1875C7.80261 6.1875 8.1771 5.37328 7.72534 4.84623L4.6169 1.21971C4.29263 0.841403 3.70737 0.841403 3.3831 1.21971L0.274659 4.84623C-0.177095 5.37328 0.197393 6.1875 0.891555 6.1875Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowUpIcon.displayName = 'ArrowUpIcon';\n","import {\n type Row as TanstackRow,\n type RowData,\n flexRender,\n} from '@tanstack/react-table';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { Collapse } from '../../atoms';\nimport type { CellAlign } from '../../utils/get-cell-align';\n\nexport type ExpandComp<Datum> = React.FC<{ row: TanstackRow<Datum> }>;\nexport type OnRowClick<Datum> = (data: Datum) => void;\n\ninterface RowProps<Datum extends RowData> {\n row: TanstackRow<Datum>;\n ExpandComp?: ExpandComp<Datum>;\n onRowClick?: OnRowClick<Datum>;\n gridTemplateColumns: string;\n getRowStyle?: (data: Datum) => React.CSSProperties;\n getCellStyle?: (data: Datum) => React.CSSProperties;\n defaultAlign: CellAlign;\n}\n\nexport function Row<Datum extends RowData>(\n props: RowProps<Datum>\n): React.ReactNode {\n const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } =\n props;\n const [open, setOpen] = useState(false);\n\n const onClickRow = useCallback(() => {\n props.onRowClick?.(row.original);\n setOpen((prev) => !prev);\n }, [props, row.original]);\n\n const rowClassName = useMemo(() => {\n const baseCls = ['tr-wrapper'];\n if (ExpandComp) {\n baseCls.push('expandable');\n }\n if (props.onRowClick) {\n baseCls.push('clickable');\n }\n return baseCls.join(' ');\n }, [ExpandComp, props.onRowClick]);\n\n return (\n <div className={rowClassName} key={`tr-wrapper_${row.id}`}>\n <button\n className=\"tr\"\n key={`tr_${row.id}`}\n onClick={onClickRow}\n style={{\n gridTemplateColumns,\n ...(getRowStyle?.(row.original) || {}),\n }}\n type=\"button\"\n >\n {row.getVisibleCells().map((cell) => {\n const autoSize = cell.column.columnDef.meta?.autoSize;\n const justifyContent =\n cell.column.columnDef.meta?.align || props.defaultAlign;\n\n return (\n <div\n className=\"td\"\n key={cell.id}\n style={{\n // width: autoSize ? undefined : cell.column.getSize(),\n flexGrow: autoSize ? 1 : undefined,\n justifyContent,\n ...(getCellStyle?.(row.original) || {}),\n }}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n {cell.column.columnDef.meta?.OpenBtn ? (\n <cell.column.columnDef.meta.OpenBtn\n data={row.original}\n open={open}\n setIsOpen={setOpen}\n />\n ) : null}\n </div>\n );\n })}\n </button>\n {ExpandComp ? (\n <Collapse open={open}>\n <div className=\"expand-comp-wrapper\">\n <ExpandComp row={row} />\n </div>\n </Collapse>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":["import_react_table","import_react","import_themes","import_themes","RadixText","import_react","import_jsx_runtime","import_themes","import_react","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}
@@ -16,6 +16,7 @@ interface ExpandTableProps<Datum extends RowData> {
16
16
  /** 행 클릭 시 실행할 콜백 */
17
17
  onRowClick?: OnRowClick<Datum>;
18
18
  getRowStyle?: (data: Datum) => CSSProperties;
19
+ getCellStyle?: (data: Datum) => CSSProperties;
19
20
  tableStyle?: CSSProperties;
20
21
  isLoading?: boolean;
21
22
  /** pagination - 표시 유무 */
@@ -16,6 +16,7 @@ interface ExpandTableProps<Datum extends RowData> {
16
16
  /** 행 클릭 시 실행할 콜백 */
17
17
  onRowClick?: OnRowClick<Datum>;
18
18
  getRowStyle?: (data: Datum) => CSSProperties;
19
+ getCellStyle?: (data: Datum) => CSSProperties;
19
20
  tableStyle?: CSSProperties;
20
21
  isLoading?: boolean;
21
22
  /** pagination - 표시 유무 */
@@ -1,67 +1,67 @@
1
1
  import {
2
2
  ExpandTable,
3
3
  createColumnHelper
4
- } from "../../chunk-VR6Y66LP.js";
5
- import "../../chunk-SOMDO7V4.js";
4
+ } from "../../chunk-BSG2Q4XC.js";
5
+ import "../../chunk-PCWEW2UL.js";
6
6
  import "../../chunk-BSTJBBEX.js";
7
7
  import "../../chunk-NDUKDKGB.js";
8
8
  import "../../chunk-76JGDATZ.js";
9
+ import "../../chunk-ILRUXI2E.js";
10
+ import "../../chunk-JPIZP2PZ.js";
11
+ import "../../chunk-CYYWMYE7.js";
12
+ import "../../chunk-3JRNKBMN.js";
13
+ import "../../chunk-HYITAA4J.js";
14
+ import "../../chunk-5H3YPCZK.js";
9
15
  import "../../chunk-FR2GDOU2.js";
10
16
  import "../../chunk-74DX4CU7.js";
11
17
  import "../../chunk-OYM4XCHQ.js";
12
18
  import "../../chunk-YJ7ZFOYL.js";
13
19
  import "../../chunk-5ZITU5L7.js";
14
- import "../../chunk-ILRUXI2E.js";
15
- import "../../chunk-JPIZP2PZ.js";
16
- import "../../chunk-CYYWMYE7.js";
20
+ import "../../chunk-365QMK4D.js";
21
+ import "../../chunk-YO3BQW6S.js";
22
+ import "../../chunk-6IVCARWS.js";
17
23
  import "../../chunk-6DJOIRMF.js";
18
24
  import "../../chunk-FPD73OHW.js";
19
25
  import "../../chunk-ZKZDVS7G.js";
20
26
  import "../../chunk-MUNMDHRF.js";
21
27
  import "../../chunk-TVDKGMBI.js";
22
- import "../../chunk-3JRNKBMN.js";
23
- import "../../chunk-HYITAA4J.js";
24
- import "../../chunk-5H3YPCZK.js";
28
+ import "../../chunk-O3T3TM3V.js";
25
29
  import "../../chunk-XQOL7UBI.js";
26
30
  import "../../chunk-TULWX7D6.js";
27
31
  import "../../chunk-SIM6HKVI.js";
28
- import "../../chunk-5X3BCQPR.js";
32
+ import "../../chunk-IM7DSIK2.js";
33
+ import "../../chunk-O3DNDMV3.js";
29
34
  import "../../chunk-5AVBYDPB.js";
30
- import "../../chunk-365QMK4D.js";
31
- import "../../chunk-YO3BQW6S.js";
32
- import "../../chunk-6IVCARWS.js";
33
- import "../../chunk-DJN2IEY6.js";
35
+ import "../../chunk-4WFMOFN2.js";
36
+ import "../../chunk-WKFZ5MMN.js";
37
+ import "../../chunk-ACVANQJ4.js";
38
+ import "../../chunk-2DZ2Y3JI.js";
39
+ import "../../chunk-QDZS4B6A.js";
40
+ import "../../chunk-52MVZ6AN.js";
34
41
  import "../../chunk-25HMMI7R.js";
35
42
  import "../../chunk-2CVXGGI5.js";
36
43
  import "../../chunk-EGEQY3KT.js";
37
44
  import "../../chunk-HK224ADT.js";
38
- import "../../chunk-O3T3TM3V.js";
39
- import "../../chunk-O3DNDMV3.js";
45
+ import "../../chunk-IQEEPHOY.js";
46
+ import "../../chunk-LHCDPZ5E.js";
47
+ import "../../chunk-OHMOP5PV.js";
40
48
  import "../../chunk-LZJR77Q2.js";
41
49
  import "../../chunk-Q37G2GS6.js";
42
50
  import "../../chunk-VTJZMOSP.js";
43
- import "../../chunk-6AJTMXLJ.js";
44
- import "../../chunk-3IZQ2PIQ.js";
45
- import "../../chunk-4WFMOFN2.js";
46
- import "../../chunk-WKFZ5MMN.js";
47
- import "../../chunk-ACVANQJ4.js";
48
- import "../../chunk-52MVZ6AN.js";
49
- import "../../chunk-2DZ2Y3JI.js";
51
+ import "../../chunk-WM3XQMNK.js";
52
+ import "../../chunk-3YBBMDHJ.js";
53
+ import "../../chunk-3SSSCLJ5.js";
54
+ import "../../chunk-EWD4AO5N.js";
55
+ import "../../chunk-YGL6SWKN.js";
50
56
  import "../../chunk-4Y5BEXVN.js";
51
- import "../../chunk-P3YCIJUP.js";
57
+ import "../../chunk-EIAK47TI.js";
52
58
  import "../../chunk-B6XJN6EC.js";
53
59
  import "../../chunk-UVKNLJDZ.js";
54
60
  import "../../chunk-MIMJ7LON.js";
55
- import "../../chunk-IQEEPHOY.js";
56
- import "../../chunk-LHCDPZ5E.js";
57
- import "../../chunk-OHMOP5PV.js";
58
61
  import "../../chunk-66C4U3BG.js";
59
62
  import "../../chunk-J242TTFH.js";
60
63
  import "../../chunk-EAXUQEO5.js";
61
64
  import "../../chunk-YJCCE5WP.js";
62
- import "../../chunk-3SSSCLJ5.js";
63
- import "../../chunk-EWD4AO5N.js";
64
- import "../../chunk-YGL6SWKN.js";
65
65
  import "../../chunk-N552FDTV.js";
66
66
  export {
67
67
  ExpandTable,
@@ -65,7 +65,7 @@ function Collapse(props) {
65
65
  // src/molecules/expand-table/row.tsx
66
66
  var import_jsx_runtime2 = require("react/jsx-runtime");
67
67
  function Row(props) {
68
- const { row, ExpandComp, gridColTemp, getRowStyle } = props;
68
+ const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
69
69
  const [open, setOpen] = (0, import_react2.useState)(false);
70
70
  const onClickRow = (0, import_react2.useCallback)(() => {
71
71
  var _a;
@@ -89,7 +89,7 @@ function Row(props) {
89
89
  className: "tr",
90
90
  onClick: onClickRow,
91
91
  style: __spreadValues({
92
- gridTemplateColumns: gridColTemp
92
+ gridTemplateColumns
93
93
  }, (getRowStyle == null ? void 0 : getRowStyle(row.original)) || {}),
94
94
  type: "button",
95
95
  children: row.getVisibleCells().map((cell) => {
@@ -100,11 +100,11 @@ function Row(props) {
100
100
  "div",
101
101
  {
102
102
  className: "td",
103
- style: {
103
+ style: __spreadValues({
104
104
  // width: autoSize ? undefined : cell.column.getSize(),
105
105
  flexGrow: autoSize ? 1 : void 0,
106
106
  justifyContent
107
- },
107
+ }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
108
108
  children: [
109
109
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
110
110
  ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(