@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
@@ -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
- switch (size) {
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, gridColTemp, getRowStyle } = props;
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: gridColTemp
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 gridColTemp = (0, import_react20.useMemo)(() => {
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: gridColTemp },
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
- gridColTemp,
1305
+ gridTemplateColumns,
1284
1306
  onRowClick,
1285
1307
  row
1286
1308
  },