sales-frontend-components 0.0.4 โ 0.0.6
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/data-table/data-table.module.scss +109 -0
- package/dist/index.cjs.js +331 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +49 -4
- package/dist/index.esm.js +324 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/step-indicator/step-indicator.module.scss +65 -0
- package/package.json +31 -10
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
@use 'sales-frontend-design-system/design-system-context' as *;
|
|
2
|
+
|
|
3
|
+
// ๐จ ๋ฃจํธ ์ปจํ
์ด๋ ๋ฐ ์คํฌ๋กค
|
|
4
|
+
.root {
|
|
5
|
+
width: 100%;
|
|
6
|
+
overflow-x: auto;
|
|
7
|
+
border: 1px solid colors(border-neutral_3);
|
|
8
|
+
border-bottom: none;
|
|
9
|
+
// height๊ฐ ์ง์ ๋๋ฉด sticky ๋ชจ๋๋ก ๋์
|
|
10
|
+
&.sticky {
|
|
11
|
+
overflow: auto; // ์ด ์ปจํ
์ด๋๊ฐ ์คํฌ๋กค์ ๊ฐ์ง
|
|
12
|
+
border-bottom: 1px solid colors(border-neutral_3);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ๐จ ๊ธฐ๋ณธ ํ
์ด๋ธ ๋ ์ด์์
|
|
17
|
+
.table {
|
|
18
|
+
width: 100%;
|
|
19
|
+
color: colors(text-body_1);
|
|
20
|
+
table-layout: fixed;
|
|
21
|
+
border-collapse: collapse;
|
|
22
|
+
|
|
23
|
+
@include apply-typography(body3);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// ๐จ ํ
์ด๋ธ ํค๋
|
|
27
|
+
.table-head {
|
|
28
|
+
color: colors(text-body_2);
|
|
29
|
+
background-color: colors(surface-neutral_1); // ์คํฌ๋กค ์ ์๋ ๋ด์ฉ์ด ๋น์น์ง ์๋๋ก ๋ฐฐ๊ฒฝ์ ์ง์
|
|
30
|
+
// Sticky ํค๋ ์คํ์ผ
|
|
31
|
+
&.sticky th {
|
|
32
|
+
position: sticky;
|
|
33
|
+
top: 0;
|
|
34
|
+
z-index: 1;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@include apply-typography(body4);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// ๐จ ํ
์ด๋ธ ์
๊ณตํต ์คํ์ผ
|
|
41
|
+
.table-head-cell {
|
|
42
|
+
position: relative; // ๋ฆฌ์ฌ์ด์ง ํธ๋ค ์์น์ ๊ธฐ์ค
|
|
43
|
+
height: 40px;
|
|
44
|
+
text-align: center;
|
|
45
|
+
// โ
box-shadow๋ก ์์ชฝ ํ
๋๋ฆฌ๊น์ง ์ถ๊ฐ
|
|
46
|
+
box-shadow:
|
|
47
|
+
inset 0 1px 0 colors(border-neutral_3),
|
|
48
|
+
inset 0 -1px 0 colors(border-neutral_3);
|
|
49
|
+
|
|
50
|
+
// ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ์๊ฐ์ ํผ๋๋ฐฑ
|
|
51
|
+
&.is-resizing {
|
|
52
|
+
color: colors(text-body_1);
|
|
53
|
+
background-color: colors(surface-neutral_3);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.table-head-cell,
|
|
58
|
+
.table-data-cell {
|
|
59
|
+
// ๋๋น๋ฅผ ์ด๊ณผํ๋ ํ
์คํธ๋ ๋ง์ค์ํ๋ก ํ์
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
text-overflow: ellipsis;
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
|
|
64
|
+
// โ
์ธ๋ก์ ์ถ๊ฐ
|
|
65
|
+
border-right: 1px solid colors(border-neutral_3);
|
|
66
|
+
// โ
box-shadow๋ก ์๋์ชฝ ํ
๋๋ฆฌ ๋์ฒด
|
|
67
|
+
box-shadow: inset 0 -1px 0 colors(border-neutral_3);
|
|
68
|
+
// โ
๋ง์ง๋ง ์
์ ์ค๋ฅธ์ชฝ ์ธ๋ก์ ์ ๊ฑฐ
|
|
69
|
+
&:last-child {
|
|
70
|
+
border-right: none;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// ๐จ ๋ฆฌ์ฌ์ด์ง ํธ๋ค ์คํ์ผ
|
|
75
|
+
.resize-handle {
|
|
76
|
+
position: absolute;
|
|
77
|
+
top: 0;
|
|
78
|
+
right: 0;
|
|
79
|
+
width: 5px; // ํธ๋ค ๋๋น (์ค์ ๋ก๋ ํฌ๋ช
)
|
|
80
|
+
height: 100%;
|
|
81
|
+
touch-action: none; // ๋ชจ๋ฐ์ผ ํฐ์น ์ด๋ฒคํธ ์ ์ด
|
|
82
|
+
cursor: col-resize; // ์ปค์ ๋ชจ์ ๋ณ๊ฒฝ
|
|
83
|
+
user-select: none; // ๋๋๊ทธ ์ค ํ
์คํธ ์ ํ ๋ฐฉ์ง
|
|
84
|
+
|
|
85
|
+
// ํธ๋ค ์ค๋ฅธ์ชฝ์ ๊ตฌ๋ถ์ ํจ๊ณผ ์ถ๊ฐ
|
|
86
|
+
// &::after {
|
|
87
|
+
// position: absolute;
|
|
88
|
+
// top: 25%;
|
|
89
|
+
// right: 2px;
|
|
90
|
+
// width: 1px;
|
|
91
|
+
// height: 50%;
|
|
92
|
+
// content: '';
|
|
93
|
+
// background-color: #c0c0c0;
|
|
94
|
+
// transition: background-color 0.2s ease;
|
|
95
|
+
// }
|
|
96
|
+
|
|
97
|
+
// ํธ๋ค์ ํธ๋ฒํ๊ฑฐ๋, ๋ถ๋ชจ th๊ฐ ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ๊ตฌ๋ถ์ ๊ฐ์กฐ
|
|
98
|
+
// &:hover::after,
|
|
99
|
+
// :global(.is-resizing) &::after {
|
|
100
|
+
// background-color: #2979ff; // ํ์ฑํ ์์
|
|
101
|
+
// }
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// ๐จ ํผ๋๋ฐฑ ๋ฉ์์ง ์
(Loading, No Data ๋ฑ)
|
|
105
|
+
.feedback-cell {
|
|
106
|
+
padding: 48px;
|
|
107
|
+
color: #757575;
|
|
108
|
+
text-align: center;
|
|
109
|
+
}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactTable = require('@tanstack/react-table');
|
|
5
|
+
var styles = require('./data-table/data-table.module.scss');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var reactHookForm = require('react-hook-form');
|
|
8
|
+
var salesFrontendDesignSystem = require('sales-frontend-design-system');
|
|
9
|
+
var styles$1 = require('./step-indicator/step-indicator.module.scss');
|
|
10
|
+
|
|
11
|
+
function getDefaultExportFromCjs (x) {
|
|
12
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
var bind = {exports: {}};
|
|
16
|
+
|
|
17
|
+
/*!
|
|
18
|
+
Copyright (c) 2018 Jed Watson.
|
|
19
|
+
Licensed under the MIT License (MIT), see
|
|
20
|
+
http://jedwatson.github.io/classnames
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
var hasRequiredBind;
|
|
24
|
+
|
|
25
|
+
function requireBind () {
|
|
26
|
+
if (hasRequiredBind) return bind.exports;
|
|
27
|
+
hasRequiredBind = 1;
|
|
28
|
+
(function (module) {
|
|
29
|
+
/* global define */
|
|
30
|
+
|
|
31
|
+
(function () {
|
|
32
|
+
|
|
33
|
+
var hasOwn = {}.hasOwnProperty;
|
|
34
|
+
|
|
35
|
+
function classNames () {
|
|
36
|
+
var classes = '';
|
|
37
|
+
|
|
38
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
39
|
+
var arg = arguments[i];
|
|
40
|
+
if (arg) {
|
|
41
|
+
classes = appendClass(classes, parseValue.call(this, arg));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return classes;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function parseValue (arg) {
|
|
49
|
+
if (typeof arg === 'string' || typeof arg === 'number') {
|
|
50
|
+
return this && this[arg] || arg;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (typeof arg !== 'object') {
|
|
54
|
+
return '';
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (Array.isArray(arg)) {
|
|
58
|
+
return classNames.apply(this, arg);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
62
|
+
return arg.toString();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
var classes = '';
|
|
66
|
+
|
|
67
|
+
for (var key in arg) {
|
|
68
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
69
|
+
classes = appendClass(classes, this && this[key] || key);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return classes;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function appendClass (value, newClass) {
|
|
77
|
+
if (!newClass) {
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (value) {
|
|
82
|
+
return value + ' ' + newClass;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return value + newClass;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (module.exports) {
|
|
89
|
+
classNames.default = classNames;
|
|
90
|
+
module.exports = classNames;
|
|
91
|
+
} else {
|
|
92
|
+
window.classNames = classNames;
|
|
93
|
+
}
|
|
94
|
+
}());
|
|
95
|
+
} (bind));
|
|
96
|
+
return bind.exports;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var bindExports = requireBind();
|
|
100
|
+
var classNames = /*@__PURE__*/getDefaultExportFromCjs(bindExports);
|
|
101
|
+
|
|
102
|
+
const cx$1 = classNames.bind(styles);
|
|
103
|
+
const DataTable = ({
|
|
104
|
+
table,
|
|
105
|
+
height,
|
|
106
|
+
isError,
|
|
107
|
+
isLoading,
|
|
108
|
+
msgText,
|
|
109
|
+
className
|
|
110
|
+
}) => {
|
|
111
|
+
const isSticky = !!height;
|
|
112
|
+
const { columnSizing } = table.getState();
|
|
113
|
+
return (
|
|
114
|
+
// 1. Sticky ํค๋๋ฅผ ์ํ ์คํฌ๋กค ์ปจํ
์ด๋
|
|
115
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx$1("root", { sticky: isSticky }), style: { height }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
116
|
+
"table",
|
|
117
|
+
{
|
|
118
|
+
className: cx$1("table", className),
|
|
119
|
+
style: {
|
|
120
|
+
// minWidth: table.getCenterTotalSize() // ํ
์ด๋ธ ์ ์ฒด ๋๋น๋ฅผ ์ปฌ๋ผ ๋๋น์ ํฉ์ผ๋ก ์ค์
|
|
121
|
+
},
|
|
122
|
+
children: [
|
|
123
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: cx$1("table-head", { sticky: isSticky }), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: cx$1("table-row"), children: headerGroup.headers.map((header) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
124
|
+
"th",
|
|
125
|
+
{
|
|
126
|
+
colSpan: header.colSpan,
|
|
127
|
+
className: cx$1("table-head-cell", {
|
|
128
|
+
"is-resizing": header.column.getIsResizing()
|
|
129
|
+
// 3. ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ํด๋์ค ์ถ๊ฐ
|
|
130
|
+
}),
|
|
131
|
+
style: header.column.columnDef.size ? { width: header.getSize(), minWidth: header.getSize(), maxWidth: header.getSize() } : void 0,
|
|
132
|
+
children: [
|
|
133
|
+
header.isPlaceholder ? null : reactTable.flexRender(header.column.columnDef.header, header.getContext()),
|
|
134
|
+
header.column.getCanResize() && /* @__PURE__ */ jsxRuntime.jsx(
|
|
135
|
+
"div",
|
|
136
|
+
{
|
|
137
|
+
onMouseDown: header.getResizeHandler(),
|
|
138
|
+
onTouchStart: header.getResizeHandler(),
|
|
139
|
+
className: cx$1("resize-handle")
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
header.id
|
|
145
|
+
)) }, headerGroup.id)) }),
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: cx$1("table-body"), children: !isLoading && !isError && table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: cx$1("table-row"), children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
147
|
+
"td",
|
|
148
|
+
{
|
|
149
|
+
className: cx$1("table-data-cell"),
|
|
150
|
+
style: cell.column.columnDef.size ? {
|
|
151
|
+
width: cell.column.getSize(),
|
|
152
|
+
minWidth: cell.column.getSize(),
|
|
153
|
+
maxWidth: cell.column.getSize()
|
|
154
|
+
} : void 0,
|
|
155
|
+
children: reactTable.flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
156
|
+
},
|
|
157
|
+
cell.id
|
|
158
|
+
)) }, row.id)) : /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { className: cx$1("feedback-cell"), colSpan: table.getVisibleLeafColumns().length, children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { children: "Loading..." }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: msgText || (isError ? "Error" : "No data") }) }) }) })
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
) })
|
|
162
|
+
);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
const useTable = ({
|
|
166
|
+
data,
|
|
167
|
+
columns,
|
|
168
|
+
defaultColumn = { size: 150, enableResizing: true },
|
|
169
|
+
initialState,
|
|
170
|
+
onSortingChange,
|
|
171
|
+
enableRowSelection,
|
|
172
|
+
enableColumnResizing,
|
|
173
|
+
mode = "SSR",
|
|
174
|
+
debug
|
|
175
|
+
}) => {
|
|
176
|
+
const [sorting, setSorting] = React.useState(initialState?.sorting || []);
|
|
177
|
+
const [rowSelection, setRowSelection] = React.useState(initialState?.rowSelection || {});
|
|
178
|
+
const [pagination, setPagination] = React.useState(initialState?.pagination || {});
|
|
179
|
+
const [columnVisibility, setColumnVisibility] = React.useState(initialState?.columnVisibility || {});
|
|
180
|
+
const getOption = (mode2) => {
|
|
181
|
+
if (mode2 === "SSR") {
|
|
182
|
+
return {
|
|
183
|
+
manualSorting: true,
|
|
184
|
+
manualPagination: true,
|
|
185
|
+
onSortingChange
|
|
186
|
+
};
|
|
187
|
+
} else {
|
|
188
|
+
return {
|
|
189
|
+
getPaginationRowModel: reactTable.getPaginationRowModel(),
|
|
190
|
+
onPaginationChange: setPagination,
|
|
191
|
+
onSortingChange: setSorting
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const table = reactTable.useReactTable({
|
|
196
|
+
data,
|
|
197
|
+
columns,
|
|
198
|
+
columnResizeMode: "onChange",
|
|
199
|
+
defaultColumn,
|
|
200
|
+
enableColumnResizing,
|
|
201
|
+
enableRowSelection,
|
|
202
|
+
initialState,
|
|
203
|
+
state: {
|
|
204
|
+
sorting,
|
|
205
|
+
rowSelection,
|
|
206
|
+
pagination,
|
|
207
|
+
columnVisibility
|
|
208
|
+
},
|
|
209
|
+
onRowSelectionChange: setRowSelection,
|
|
210
|
+
onColumnVisibilityChange: setColumnVisibility,
|
|
211
|
+
getCoreRowModel: reactTable.getCoreRowModel(),
|
|
212
|
+
getSortedRowModel: reactTable.getSortedRowModel(),
|
|
213
|
+
...getOption(mode),
|
|
214
|
+
debugTable: debug,
|
|
215
|
+
debugHeaders: debug,
|
|
216
|
+
debugColumns: debug
|
|
217
|
+
});
|
|
218
|
+
return table;
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const FormDatePicker = ({
|
|
222
|
+
name,
|
|
223
|
+
control,
|
|
224
|
+
disabled,
|
|
225
|
+
...props
|
|
226
|
+
}) => {
|
|
227
|
+
const { field, fieldState } = reactHookForm.useController({ name, control, disabled });
|
|
228
|
+
const baseProps = {
|
|
229
|
+
...props,
|
|
230
|
+
id: field.name,
|
|
231
|
+
defaultValue: field.value,
|
|
232
|
+
disabled: field.disabled,
|
|
233
|
+
error: fieldState.invalid,
|
|
234
|
+
onBlur: field.onBlur
|
|
235
|
+
};
|
|
236
|
+
return /* @__PURE__ */ jsxRuntime.jsx(salesFrontendDesignSystem.DatePicker, { ...baseProps });
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
const FormSegmentGroup = ({
|
|
240
|
+
name,
|
|
241
|
+
control,
|
|
242
|
+
disabled,
|
|
243
|
+
...props
|
|
244
|
+
}) => {
|
|
245
|
+
const { field, fieldState } = reactHookForm.useController({ name, control, disabled });
|
|
246
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
247
|
+
salesFrontendDesignSystem.SegmentGroup,
|
|
248
|
+
{
|
|
249
|
+
...props,
|
|
250
|
+
tabIndex: 0,
|
|
251
|
+
id: field.name,
|
|
252
|
+
ref: field.ref,
|
|
253
|
+
defaultValue: field.value,
|
|
254
|
+
disabled: field.disabled,
|
|
255
|
+
error: fieldState.invalid,
|
|
256
|
+
onBlur: field.onBlur,
|
|
257
|
+
onValueChange: (selected) => {
|
|
258
|
+
field.onChange(selected);
|
|
259
|
+
props.onValueChange?.(selected);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
);
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
const FormTextField = ({
|
|
266
|
+
name,
|
|
267
|
+
control,
|
|
268
|
+
disabled,
|
|
269
|
+
error,
|
|
270
|
+
onBlur,
|
|
271
|
+
onChange,
|
|
272
|
+
rootProps,
|
|
273
|
+
...props
|
|
274
|
+
}) => {
|
|
275
|
+
const { field, fieldState } = reactHookForm.useController({ name, control, disabled });
|
|
276
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
277
|
+
salesFrontendDesignSystem.FormField.TextField,
|
|
278
|
+
{
|
|
279
|
+
...props,
|
|
280
|
+
id: field.name,
|
|
281
|
+
size: "medium",
|
|
282
|
+
autoComplete: "off",
|
|
283
|
+
name: field.name,
|
|
284
|
+
value: field.value ?? "",
|
|
285
|
+
disabled: field.disabled,
|
|
286
|
+
error: fieldState.invalid || error,
|
|
287
|
+
onChange: (e) => {
|
|
288
|
+
field.onChange(e);
|
|
289
|
+
onChange?.(e);
|
|
290
|
+
},
|
|
291
|
+
onBlur: (e) => {
|
|
292
|
+
field.onBlur();
|
|
293
|
+
onBlur?.(e);
|
|
294
|
+
},
|
|
295
|
+
rootProps: {
|
|
296
|
+
...rootProps,
|
|
297
|
+
onClear: () => {
|
|
298
|
+
field.onChange("");
|
|
299
|
+
rootProps?.onClear?.();
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
);
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
const cx = classNames.bind(styles$1);
|
|
307
|
+
const StepIndicator = ({ items, currentIndex = 0, defaultValue = "", dotCount = 3 }) => {
|
|
308
|
+
const [current, setCurrent] = React.useState(currentIndex);
|
|
309
|
+
React.useEffect(() => {
|
|
310
|
+
items.map((item, idx) => {
|
|
311
|
+
if (item.value === defaultValue) {
|
|
312
|
+
setCurrent(idx);
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
}, [items, defaultValue]);
|
|
316
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx("stepper-layout"), children: [
|
|
317
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx("stepper"), children: items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
318
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cx("circle", (defaultValue === item.value || current === idx) && "active"), children: item.isCompleted || idx < current ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx("completed") }) : ++idx }),
|
|
319
|
+
idx < items.length && Array.from({ length: dotCount }).map((_, dotIdx) => /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx("dot") }, `dot-${idx}-${dotIdx}`))
|
|
320
|
+
] }, `num-${idx}`)) }),
|
|
321
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: cx("step-labels"), children: items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cx((defaultValue === item.value || current === idx) && "active"), children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.label ?? item.value }) }, `label-${idx}`)) })
|
|
322
|
+
] });
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
exports.DataTable = DataTable;
|
|
326
|
+
exports.FormDatePicker = FormDatePicker;
|
|
327
|
+
exports.FormSegmentGroup = FormSegmentGroup;
|
|
328
|
+
exports.FormTextField = FormTextField;
|
|
329
|
+
exports.StepIndicator = StepIndicator;
|
|
330
|
+
exports.useTable = useTable;
|
|
331
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/data-table/data-table.tsx","../src/data-table/use-table.ts","../src/form/form-date-picker.tsx","../src/form/form-segment.tsx","../src/form/form-text-field.tsx","../src/step-indicator/step-indicator.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { flexRender, type RowData } from '@tanstack/react-table';\nimport classNames from 'classnames/bind';\nimport styles from './data-table.module.scss';\nimport { DataTableProps } from './data-table.types';\n\nconst cx = classNames.bind(styles);\n\n// isResizing ํด๋์ค๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ๊ธฐ ์ํด onMouseDown์์ ์ํ๋ฅผ ์ง์ ๊ด๋ฆฌํ ์๋ ์์ง๋ง,\n// table.getState()๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์
๋๋ค.\nexport const DataTable = <T extends RowData>({\n table,\n height,\n isError,\n isLoading,\n msgText,\n className\n}: DataTableProps<T>) => {\n // sticky prop์ ์ด์ height ์ ๋ฌด๋ก ํ๋จ\n const isSticky = !!height;\n const { columnSizing } = table.getState();\n\n return (\n // 1. Sticky ํค๋๋ฅผ ์ํ ์คํฌ๋กค ์ปจํ
์ด๋\n <div className={cx('root', { sticky: isSticky })} style={{ height: height }}>\n {/* 2. table-layout: fixed์ ๋๋น 100%๋ฅผ ์ํด table ํ๊ทธ์ ์คํ์ผ ์ ์ฉ */}\n <table\n className={cx('table', className)}\n style={\n {\n // minWidth: table.getCenterTotalSize() // ํ
์ด๋ธ ์ ์ฒด ๋๋น๋ฅผ ์ปฌ๋ผ ๋๋น์ ํฉ์ผ๋ก ์ค์ \n }\n }\n >\n <thead className={cx('table-head', { sticky: isSticky })}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={cx('table-row')}>\n {headerGroup.headers.map((header) => (\n <th\n key={header.id}\n colSpan={header.colSpan}\n className={cx('table-head-cell', {\n 'is-resizing': header.column.getIsResizing() // 3. ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ํด๋์ค ์ถ๊ฐ\n })}\n style={\n header.column.columnDef.size\n ? { width: header.getSize(), minWidth: header.getSize(), maxWidth: header.getSize() } // 4. TanStack์ด ๊ณ์ฐํ ๋๋น๋ฅผ ์ง์ ์ ์ฉ\n : undefined\n }\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n\n {/* 5. ์ปฌ๋ผ ๋ฆฌ์ฌ์ด์ง ํธ๋ค */}\n {header.column.getCanResize() && (\n <div\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n className={cx('resize-handle')}\n />\n )}\n </th>\n ))}\n </tr>\n ))}\n </thead>\n\n <tbody className={cx('table-body')}>\n {/* ... ๊ธฐ์กด tbody ๋ด์ฉ์ ๋์ผ ... */}\n {!isLoading && !isError && table.getRowModel().rows.length > 0 ? (\n table.getRowModel().rows.map((row) => (\n <tr key={row.id} className={cx('table-row')}>\n {row.getVisibleCells().map((cell) => (\n <td\n key={cell.id}\n className={cx('table-data-cell')}\n style={\n cell.column.columnDef.size\n ? {\n width: cell.column.getSize(),\n minWidth: cell.column.getSize(),\n maxWidth: cell.column.getSize()\n }\n : undefined\n }\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ))}\n </tr>\n ))\n ) : (\n <tr>\n <td className={cx('feedback-cell')} colSpan={table.getVisibleLeafColumns().length}>\n {isLoading ? <div>Loading...</div> : <div>{msgText || (isError ? 'Error' : 'No data')}</div>}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\n\nimport {\n type PaginationState,\n type RowData,\n type RowSelectionState,\n type TableOptions,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table';\n\ntype RenderingMode = 'CSR' | 'SSR';\n\nexport const useTable = <TData extends RowData>({\n data,\n columns,\n defaultColumn = { size: 150, enableResizing: true },\n initialState,\n onSortingChange,\n enableRowSelection,\n enableColumnResizing,\n mode = 'SSR',\n debug\n}: Pick<\n TableOptions<TData>,\n | 'data'\n | 'columns'\n | 'initialState'\n | 'onSortingChange'\n | 'enableRowSelection'\n | 'enableColumnResizing'\n | 'defaultColumn'\n> & {\n mode?: RenderingMode;\n debug?: boolean;\n}) => {\n const [sorting, setSorting] = React.useState(initialState?.sorting || []);\n const [rowSelection, setRowSelection] = useState<RowSelectionState>(initialState?.rowSelection || {});\n const [pagination, setPagination] = React.useState((initialState?.pagination as PaginationState) || {});\n const [columnVisibility, setColumnVisibility] = React.useState(initialState?.columnVisibility || {});\n\n const getOption = (mode: RenderingMode): Partial<TableOptions<TData>> => {\n if (mode === 'SSR') {\n return {\n manualSorting: true,\n manualPagination: true,\n onSortingChange\n };\n } else {\n return {\n getPaginationRowModel: getPaginationRowModel(),\n onPaginationChange: setPagination,\n onSortingChange: setSorting\n };\n }\n };\n\n const table = useReactTable({\n data,\n columns,\n columnResizeMode: 'onChange',\n defaultColumn,\n enableColumnResizing,\n enableRowSelection,\n initialState,\n state: {\n sorting,\n rowSelection,\n pagination,\n columnVisibility\n },\n onRowSelectionChange: setRowSelection,\n onColumnVisibilityChange: setColumnVisibility,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n ...getOption(mode),\n\n debugTable: debug,\n debugHeaders: debug,\n debugColumns: debug\n });\n\n return table;\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { DatePicker, type DatePickerProps } from 'sales-frontend-design-system';\n\nexport const FormDatePicker = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & DatePickerProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n const baseProps: DatePickerProps = {\n ...props,\n id: field.name,\n defaultValue: field.value,\n disabled: field.disabled,\n error: fieldState.invalid,\n onBlur: field.onBlur\n };\n\n // if (props.mode === 'range') {\n // return (\n // <DatePicker\n // {...baseProps}\n // onValueChange={(selected: IPeriodDate) => {\n // if (props.mode === 'range') {\n // }\n // field.onChange(selected);\n // // props.onValueChange?.(selected);\n // }}\n // />\n // );\n // }\n\n return <DatePicker {...baseProps} />;\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { SegmentGroup, type SegmentGroupProps } from 'sales-frontend-design-system';\n\nexport const FormSegmentGroup = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & SegmentGroupProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n return (\n <SegmentGroup\n {...props}\n tabIndex={0}\n id={field.name}\n ref={field.ref}\n defaultValue={field.value}\n disabled={field.disabled}\n error={fieldState.invalid}\n onBlur={field.onBlur}\n onValueChange={(selected) => {\n field.onChange(selected);\n props.onValueChange?.(selected);\n }}\n />\n );\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { FormField } from 'sales-frontend-design-system';\n\nexport const FormTextField = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n error,\n onBlur,\n onChange,\n rootProps,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & FormField.ITextFieldProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n return (\n <FormField.TextField\n {...props}\n id={field.name}\n size=\"medium\"\n autoComplete=\"off\"\n name={field.name}\n value={field.value ?? ''}\n disabled={field.disabled}\n error={fieldState.invalid || error}\n onChange={(e) => {\n field.onChange(e);\n onChange?.(e);\n }}\n onBlur={(e) => {\n field.onBlur();\n onBlur?.(e);\n }}\n rootProps={{\n ...rootProps,\n onClear: () => {\n field.onChange('');\n rootProps?.onClear?.();\n }\n }}\n />\n );\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './step-indicator.module.scss';\nimport type { IStepIndicatorProps } from './step-indicator.types';\n\nconst cx = classNames.bind(styles);\n\nexport const StepIndicator = ({ items, currentIndex = 0, defaultValue = '', dotCount = 3 }: IStepIndicatorProps) => {\n const [current, setCurrent] = React.useState(currentIndex);\n\n React.useEffect(() => {\n items.map((item, idx) => {\n if (item.value === defaultValue) {\n setCurrent(idx);\n }\n });\n }, [items, defaultValue]);\n\n return (\n <div className={cx('stepper-layout')}>\n <div className={cx('stepper')}>\n {items.map((item, idx) => (\n <React.Fragment key={`num-${idx}`}>\n <div className={cx('circle', (defaultValue === item.value || current === idx) && 'active')}>\n {item.isCompleted || idx < current ? <span className={cx('completed')} /> : ++idx}\n </div>\n\n {/* ๋ค์ ๋จ๊ณ๊ฐ ์์ ๋๋ง dot ๋ ๋๋ง */}\n {idx < items.length &&\n Array.from({ length: dotCount }).map((_, dotIdx) => (\n <span key={`dot-${idx}-${dotIdx}`} className={cx('dot')} />\n ))}\n </React.Fragment>\n ))}\n </div>\n\n <ul className={cx('step-labels')}>\n {items.map((item, idx) => (\n <li key={`label-${idx}`} className={cx((defaultValue === item.value || current === idx) && 'active')}>\n <span>{item.label ?? item.value}</span>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"],"names":["cx","jsx","jsxs","flexRender","useState","mode","getPaginationRowModel","useReactTable","getCoreRowModel","getSortedRowModel","useController","DatePicker","SegmentGroup","FormField","styles"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,53 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { RowData, Table, TableOptions } from '@tanstack/react-table';
|
|
3
|
+
import { FieldValues, UseControllerProps } from 'react-hook-form';
|
|
4
|
+
import { DatePickerProps, SegmentGroupProps, FormField } from 'sales-frontend-design-system';
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
|
|
6
|
+
type DataTableProps<T extends RowData> = {
|
|
7
|
+
table: Table<T>;
|
|
8
|
+
height?: string;
|
|
9
|
+
isError?: boolean;
|
|
10
|
+
isLoading?: boolean;
|
|
11
|
+
msgText?: React.ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
declare const DataTable: <T extends RowData>({ table, height, isError, isLoading, msgText, className }: DataTableProps<T>) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
|
|
17
|
+
type RenderingMode = 'CSR' | 'SSR';
|
|
18
|
+
declare const useTable: <TData extends RowData>({ data, columns, defaultColumn, initialState, onSortingChange, enableRowSelection, enableColumnResizing, mode, debug }: Pick<TableOptions<TData>, "data" | "columns" | "initialState" | "onSortingChange" | "enableRowSelection" | "enableColumnResizing" | "defaultColumn"> & {
|
|
19
|
+
mode?: RenderingMode;
|
|
20
|
+
debug?: boolean;
|
|
21
|
+
}) => any;
|
|
22
|
+
|
|
23
|
+
declare const FormDatePicker: <TFormValues extends FieldValues>({ name, control, disabled, ...props }: Pick<UseControllerProps<TFormValues>, "name" | "control" | "disabled"> & DatePickerProps) => react_jsx_runtime.JSX.Element;
|
|
24
|
+
|
|
25
|
+
declare const FormSegmentGroup: <TFormValues extends FieldValues>({ name, control, disabled, ...props }: Pick<UseControllerProps<TFormValues>, "name" | "control" | "disabled"> & SegmentGroupProps) => react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
declare const FormTextField: <TFormValues extends FieldValues>({ name, control, disabled, error, onBlur, onChange, rootProps, ...props }: Pick<UseControllerProps<TFormValues>, "name" | "control" | "disabled"> & FormField.ITextFieldProps) => react_jsx_runtime.JSX.Element;
|
|
28
|
+
|
|
29
|
+
interface IStepItems {
|
|
30
|
+
/** Step์ ๊ณ ์ ์๋ณ ๊ฐ */
|
|
31
|
+
value: string;
|
|
32
|
+
/** Step์ ์๊ฐ์ ์ผ๋ก ํ์๋ ํ
์คํธ ๋ผ๋ฒจ */
|
|
33
|
+
label?: string;
|
|
34
|
+
/** ์๋ฃ์ํ ์ฌ๋ถ */
|
|
35
|
+
isCompleted?: boolean;
|
|
36
|
+
/** Step์ ํด๋นํ๋ ์ปดํฌ๋ํธ */
|
|
37
|
+
component?: React.ReactNode;
|
|
5
38
|
}
|
|
6
|
-
|
|
39
|
+
interface IStepIndicatorProps {
|
|
40
|
+
/** ๊ฐ ๋จ๊ณ์ ๋ํ ์ ๋ณด (ํ
์คํธ, ์ํ ๋ฑ)๋ฅผ ๋ด์ ๋ฐฐ์ด */
|
|
41
|
+
items: IStepItems[];
|
|
42
|
+
/** ํ์ฌ ์ ํ๋ ๋จ๊ณ์ ์ธ๋ฑ์ค (์ธ๋ถ ์ ์ด์ฉ) */
|
|
43
|
+
currentIndex?: number;
|
|
44
|
+
/** ์ปดํฌ๋ํธ๊ฐ ์ต์ด ๋ง์ดํธ๋ ๋ ๊ธฐ๋ณธ์ผ๋ก ์ ํ๋ ๊ฐ (value ๊ธฐ์ค) */
|
|
45
|
+
defaultValue?: string;
|
|
46
|
+
/** ํ์ํ dot์ ์ด ๊ฐ์ (items ๋ฐฐ์ด๊ณผ ๋ณ๊ฐ๋ก ์๊ฐ์ ํ์๋ง ์กฐ์ ํ ๋ ์ฌ์ฉ) */
|
|
47
|
+
dotCount?: number;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare const StepIndicator: ({ items, currentIndex, defaultValue, dotCount }: IStepIndicatorProps) => react_jsx_runtime.JSX.Element;
|
|
7
51
|
|
|
8
|
-
export {
|
|
52
|
+
export { DataTable, FormDatePicker, FormSegmentGroup, FormTextField, StepIndicator, useTable };
|
|
53
|
+
export type { DataTableProps, IStepIndicatorProps, IStepItems };
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { flexRender, useReactTable, getSortedRowModel, getCoreRowModel, getPaginationRowModel } from '@tanstack/react-table';
|
|
3
|
+
import styles from './data-table/data-table.module.scss';
|
|
4
|
+
import React, { useState } from 'react';
|
|
5
|
+
import { useController } from 'react-hook-form';
|
|
6
|
+
import { DatePicker, SegmentGroup, FormField } from 'sales-frontend-design-system';
|
|
7
|
+
import styles$1 from './step-indicator/step-indicator.module.scss';
|
|
8
|
+
|
|
9
|
+
function getDefaultExportFromCjs (x) {
|
|
10
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
var bind = {exports: {}};
|
|
14
|
+
|
|
15
|
+
/*!
|
|
16
|
+
Copyright (c) 2018 Jed Watson.
|
|
17
|
+
Licensed under the MIT License (MIT), see
|
|
18
|
+
http://jedwatson.github.io/classnames
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
var hasRequiredBind;
|
|
22
|
+
|
|
23
|
+
function requireBind () {
|
|
24
|
+
if (hasRequiredBind) return bind.exports;
|
|
25
|
+
hasRequiredBind = 1;
|
|
26
|
+
(function (module) {
|
|
27
|
+
/* global define */
|
|
28
|
+
|
|
29
|
+
(function () {
|
|
30
|
+
|
|
31
|
+
var hasOwn = {}.hasOwnProperty;
|
|
32
|
+
|
|
33
|
+
function classNames () {
|
|
34
|
+
var classes = '';
|
|
35
|
+
|
|
36
|
+
for (var i = 0; i < arguments.length; i++) {
|
|
37
|
+
var arg = arguments[i];
|
|
38
|
+
if (arg) {
|
|
39
|
+
classes = appendClass(classes, parseValue.call(this, arg));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return classes;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function parseValue (arg) {
|
|
47
|
+
if (typeof arg === 'string' || typeof arg === 'number') {
|
|
48
|
+
return this && this[arg] || arg;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (typeof arg !== 'object') {
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (Array.isArray(arg)) {
|
|
56
|
+
return classNames.apply(this, arg);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
|
|
60
|
+
return arg.toString();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
var classes = '';
|
|
64
|
+
|
|
65
|
+
for (var key in arg) {
|
|
66
|
+
if (hasOwn.call(arg, key) && arg[key]) {
|
|
67
|
+
classes = appendClass(classes, this && this[key] || key);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return classes;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function appendClass (value, newClass) {
|
|
75
|
+
if (!newClass) {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (value) {
|
|
80
|
+
return value + ' ' + newClass;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return value + newClass;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (module.exports) {
|
|
87
|
+
classNames.default = classNames;
|
|
88
|
+
module.exports = classNames;
|
|
89
|
+
} else {
|
|
90
|
+
window.classNames = classNames;
|
|
91
|
+
}
|
|
92
|
+
}());
|
|
93
|
+
} (bind));
|
|
94
|
+
return bind.exports;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var bindExports = requireBind();
|
|
98
|
+
var classNames = /*@__PURE__*/getDefaultExportFromCjs(bindExports);
|
|
99
|
+
|
|
100
|
+
const cx$1 = classNames.bind(styles);
|
|
101
|
+
const DataTable = ({
|
|
102
|
+
table,
|
|
103
|
+
height,
|
|
104
|
+
isError,
|
|
105
|
+
isLoading,
|
|
106
|
+
msgText,
|
|
107
|
+
className
|
|
108
|
+
}) => {
|
|
109
|
+
const isSticky = !!height;
|
|
110
|
+
const { columnSizing } = table.getState();
|
|
111
|
+
return (
|
|
112
|
+
// 1. Sticky ํค๋๋ฅผ ์ํ ์คํฌ๋กค ์ปจํ
์ด๋
|
|
113
|
+
/* @__PURE__ */ jsx("div", { className: cx$1("root", { sticky: isSticky }), style: { height }, children: /* @__PURE__ */ jsxs(
|
|
114
|
+
"table",
|
|
115
|
+
{
|
|
116
|
+
className: cx$1("table", className),
|
|
117
|
+
style: {
|
|
118
|
+
// minWidth: table.getCenterTotalSize() // ํ
์ด๋ธ ์ ์ฒด ๋๋น๋ฅผ ์ปฌ๋ผ ๋๋น์ ํฉ์ผ๋ก ์ค์
|
|
119
|
+
},
|
|
120
|
+
children: [
|
|
121
|
+
/* @__PURE__ */ jsx("thead", { className: cx$1("table-head", { sticky: isSticky }), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx("tr", { className: cx$1("table-row"), children: headerGroup.headers.map((header) => /* @__PURE__ */ jsxs(
|
|
122
|
+
"th",
|
|
123
|
+
{
|
|
124
|
+
colSpan: header.colSpan,
|
|
125
|
+
className: cx$1("table-head-cell", {
|
|
126
|
+
"is-resizing": header.column.getIsResizing()
|
|
127
|
+
// 3. ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ํด๋์ค ์ถ๊ฐ
|
|
128
|
+
}),
|
|
129
|
+
style: header.column.columnDef.size ? { width: header.getSize(), minWidth: header.getSize(), maxWidth: header.getSize() } : void 0,
|
|
130
|
+
children: [
|
|
131
|
+
header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()),
|
|
132
|
+
header.column.getCanResize() && /* @__PURE__ */ jsx(
|
|
133
|
+
"div",
|
|
134
|
+
{
|
|
135
|
+
onMouseDown: header.getResizeHandler(),
|
|
136
|
+
onTouchStart: header.getResizeHandler(),
|
|
137
|
+
className: cx$1("resize-handle")
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
header.id
|
|
143
|
+
)) }, headerGroup.id)) }),
|
|
144
|
+
/* @__PURE__ */ jsx("tbody", { className: cx$1("table-body"), children: !isLoading && !isError && table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx("tr", { className: cx$1("table-row"), children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx(
|
|
145
|
+
"td",
|
|
146
|
+
{
|
|
147
|
+
className: cx$1("table-data-cell"),
|
|
148
|
+
style: cell.column.columnDef.size ? {
|
|
149
|
+
width: cell.column.getSize(),
|
|
150
|
+
minWidth: cell.column.getSize(),
|
|
151
|
+
maxWidth: cell.column.getSize()
|
|
152
|
+
} : void 0,
|
|
153
|
+
children: flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
154
|
+
},
|
|
155
|
+
cell.id
|
|
156
|
+
)) }, row.id)) : /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { className: cx$1("feedback-cell"), colSpan: table.getVisibleLeafColumns().length, children: isLoading ? /* @__PURE__ */ jsx("div", { children: "Loading..." }) : /* @__PURE__ */ jsx("div", { children: msgText || (isError ? "Error" : "No data") }) }) }) })
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
) })
|
|
160
|
+
);
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const useTable = ({
|
|
164
|
+
data,
|
|
165
|
+
columns,
|
|
166
|
+
defaultColumn = { size: 150, enableResizing: true },
|
|
167
|
+
initialState,
|
|
168
|
+
onSortingChange,
|
|
169
|
+
enableRowSelection,
|
|
170
|
+
enableColumnResizing,
|
|
171
|
+
mode = "SSR",
|
|
172
|
+
debug
|
|
173
|
+
}) => {
|
|
174
|
+
const [sorting, setSorting] = React.useState(initialState?.sorting || []);
|
|
175
|
+
const [rowSelection, setRowSelection] = useState(initialState?.rowSelection || {});
|
|
176
|
+
const [pagination, setPagination] = React.useState(initialState?.pagination || {});
|
|
177
|
+
const [columnVisibility, setColumnVisibility] = React.useState(initialState?.columnVisibility || {});
|
|
178
|
+
const getOption = (mode2) => {
|
|
179
|
+
if (mode2 === "SSR") {
|
|
180
|
+
return {
|
|
181
|
+
manualSorting: true,
|
|
182
|
+
manualPagination: true,
|
|
183
|
+
onSortingChange
|
|
184
|
+
};
|
|
185
|
+
} else {
|
|
186
|
+
return {
|
|
187
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
188
|
+
onPaginationChange: setPagination,
|
|
189
|
+
onSortingChange: setSorting
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
const table = useReactTable({
|
|
194
|
+
data,
|
|
195
|
+
columns,
|
|
196
|
+
columnResizeMode: "onChange",
|
|
197
|
+
defaultColumn,
|
|
198
|
+
enableColumnResizing,
|
|
199
|
+
enableRowSelection,
|
|
200
|
+
initialState,
|
|
201
|
+
state: {
|
|
202
|
+
sorting,
|
|
203
|
+
rowSelection,
|
|
204
|
+
pagination,
|
|
205
|
+
columnVisibility
|
|
206
|
+
},
|
|
207
|
+
onRowSelectionChange: setRowSelection,
|
|
208
|
+
onColumnVisibilityChange: setColumnVisibility,
|
|
209
|
+
getCoreRowModel: getCoreRowModel(),
|
|
210
|
+
getSortedRowModel: getSortedRowModel(),
|
|
211
|
+
...getOption(mode),
|
|
212
|
+
debugTable: debug,
|
|
213
|
+
debugHeaders: debug,
|
|
214
|
+
debugColumns: debug
|
|
215
|
+
});
|
|
216
|
+
return table;
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const FormDatePicker = ({
|
|
220
|
+
name,
|
|
221
|
+
control,
|
|
222
|
+
disabled,
|
|
223
|
+
...props
|
|
224
|
+
}) => {
|
|
225
|
+
const { field, fieldState } = useController({ name, control, disabled });
|
|
226
|
+
const baseProps = {
|
|
227
|
+
...props,
|
|
228
|
+
id: field.name,
|
|
229
|
+
defaultValue: field.value,
|
|
230
|
+
disabled: field.disabled,
|
|
231
|
+
error: fieldState.invalid,
|
|
232
|
+
onBlur: field.onBlur
|
|
233
|
+
};
|
|
234
|
+
return /* @__PURE__ */ jsx(DatePicker, { ...baseProps });
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
const FormSegmentGroup = ({
|
|
238
|
+
name,
|
|
239
|
+
control,
|
|
240
|
+
disabled,
|
|
241
|
+
...props
|
|
242
|
+
}) => {
|
|
243
|
+
const { field, fieldState } = useController({ name, control, disabled });
|
|
244
|
+
return /* @__PURE__ */ jsx(
|
|
245
|
+
SegmentGroup,
|
|
246
|
+
{
|
|
247
|
+
...props,
|
|
248
|
+
tabIndex: 0,
|
|
249
|
+
id: field.name,
|
|
250
|
+
ref: field.ref,
|
|
251
|
+
defaultValue: field.value,
|
|
252
|
+
disabled: field.disabled,
|
|
253
|
+
error: fieldState.invalid,
|
|
254
|
+
onBlur: field.onBlur,
|
|
255
|
+
onValueChange: (selected) => {
|
|
256
|
+
field.onChange(selected);
|
|
257
|
+
props.onValueChange?.(selected);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
);
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
const FormTextField = ({
|
|
264
|
+
name,
|
|
265
|
+
control,
|
|
266
|
+
disabled,
|
|
267
|
+
error,
|
|
268
|
+
onBlur,
|
|
269
|
+
onChange,
|
|
270
|
+
rootProps,
|
|
271
|
+
...props
|
|
272
|
+
}) => {
|
|
273
|
+
const { field, fieldState } = useController({ name, control, disabled });
|
|
274
|
+
return /* @__PURE__ */ jsx(
|
|
275
|
+
FormField.TextField,
|
|
276
|
+
{
|
|
277
|
+
...props,
|
|
278
|
+
id: field.name,
|
|
279
|
+
size: "medium",
|
|
280
|
+
autoComplete: "off",
|
|
281
|
+
name: field.name,
|
|
282
|
+
value: field.value ?? "",
|
|
283
|
+
disabled: field.disabled,
|
|
284
|
+
error: fieldState.invalid || error,
|
|
285
|
+
onChange: (e) => {
|
|
286
|
+
field.onChange(e);
|
|
287
|
+
onChange?.(e);
|
|
288
|
+
},
|
|
289
|
+
onBlur: (e) => {
|
|
290
|
+
field.onBlur();
|
|
291
|
+
onBlur?.(e);
|
|
292
|
+
},
|
|
293
|
+
rootProps: {
|
|
294
|
+
...rootProps,
|
|
295
|
+
onClear: () => {
|
|
296
|
+
field.onChange("");
|
|
297
|
+
rootProps?.onClear?.();
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
);
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
const cx = classNames.bind(styles$1);
|
|
305
|
+
const StepIndicator = ({ items, currentIndex = 0, defaultValue = "", dotCount = 3 }) => {
|
|
306
|
+
const [current, setCurrent] = React.useState(currentIndex);
|
|
307
|
+
React.useEffect(() => {
|
|
308
|
+
items.map((item, idx) => {
|
|
309
|
+
if (item.value === defaultValue) {
|
|
310
|
+
setCurrent(idx);
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}, [items, defaultValue]);
|
|
314
|
+
return /* @__PURE__ */ jsxs("div", { className: cx("stepper-layout"), children: [
|
|
315
|
+
/* @__PURE__ */ jsx("div", { className: cx("stepper"), children: items.map((item, idx) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
316
|
+
/* @__PURE__ */ jsx("div", { className: cx("circle", (defaultValue === item.value || current === idx) && "active"), children: item.isCompleted || idx < current ? /* @__PURE__ */ jsx("span", { className: cx("completed") }) : ++idx }),
|
|
317
|
+
idx < items.length && Array.from({ length: dotCount }).map((_, dotIdx) => /* @__PURE__ */ jsx("span", { className: cx("dot") }, `dot-${idx}-${dotIdx}`))
|
|
318
|
+
] }, `num-${idx}`)) }),
|
|
319
|
+
/* @__PURE__ */ jsx("ul", { className: cx("step-labels"), children: items.map((item, idx) => /* @__PURE__ */ jsx("li", { className: cx((defaultValue === item.value || current === idx) && "active"), children: /* @__PURE__ */ jsx("span", { children: item.label ?? item.value }) }, `label-${idx}`)) })
|
|
320
|
+
] });
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
export { DataTable, FormDatePicker, FormSegmentGroup, FormTextField, StepIndicator, useTable };
|
|
324
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/data-table/data-table.tsx","../src/data-table/use-table.ts","../src/form/form-date-picker.tsx","../src/form/form-segment.tsx","../src/form/form-text-field.tsx","../src/step-indicator/step-indicator.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { flexRender, type RowData } from '@tanstack/react-table';\nimport classNames from 'classnames/bind';\nimport styles from './data-table.module.scss';\nimport { DataTableProps } from './data-table.types';\n\nconst cx = classNames.bind(styles);\n\n// isResizing ํด๋์ค๋ฅผ ๋์ ์ผ๋ก ์ถ๊ฐํ๊ธฐ ์ํด onMouseDown์์ ์ํ๋ฅผ ์ง์ ๊ด๋ฆฌํ ์๋ ์์ง๋ง,\n// table.getState()๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์
๋๋ค.\nexport const DataTable = <T extends RowData>({\n table,\n height,\n isError,\n isLoading,\n msgText,\n className\n}: DataTableProps<T>) => {\n // sticky prop์ ์ด์ height ์ ๋ฌด๋ก ํ๋จ\n const isSticky = !!height;\n const { columnSizing } = table.getState();\n\n return (\n // 1. Sticky ํค๋๋ฅผ ์ํ ์คํฌ๋กค ์ปจํ
์ด๋\n <div className={cx('root', { sticky: isSticky })} style={{ height: height }}>\n {/* 2. table-layout: fixed์ ๋๋น 100%๋ฅผ ์ํด table ํ๊ทธ์ ์คํ์ผ ์ ์ฉ */}\n <table\n className={cx('table', className)}\n style={\n {\n // minWidth: table.getCenterTotalSize() // ํ
์ด๋ธ ์ ์ฒด ๋๋น๋ฅผ ์ปฌ๋ผ ๋๋น์ ํฉ์ผ๋ก ์ค์ \n }\n }\n >\n <thead className={cx('table-head', { sticky: isSticky })}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={cx('table-row')}>\n {headerGroup.headers.map((header) => (\n <th\n key={header.id}\n colSpan={header.colSpan}\n className={cx('table-head-cell', {\n 'is-resizing': header.column.getIsResizing() // 3. ๋ฆฌ์ฌ์ด์ง ์ค์ผ ๋ ํด๋์ค ์ถ๊ฐ\n })}\n style={\n header.column.columnDef.size\n ? { width: header.getSize(), minWidth: header.getSize(), maxWidth: header.getSize() } // 4. TanStack์ด ๊ณ์ฐํ ๋๋น๋ฅผ ์ง์ ์ ์ฉ\n : undefined\n }\n >\n {header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}\n\n {/* 5. ์ปฌ๋ผ ๋ฆฌ์ฌ์ด์ง ํธ๋ค */}\n {header.column.getCanResize() && (\n <div\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n className={cx('resize-handle')}\n />\n )}\n </th>\n ))}\n </tr>\n ))}\n </thead>\n\n <tbody className={cx('table-body')}>\n {/* ... ๊ธฐ์กด tbody ๋ด์ฉ์ ๋์ผ ... */}\n {!isLoading && !isError && table.getRowModel().rows.length > 0 ? (\n table.getRowModel().rows.map((row) => (\n <tr key={row.id} className={cx('table-row')}>\n {row.getVisibleCells().map((cell) => (\n <td\n key={cell.id}\n className={cx('table-data-cell')}\n style={\n cell.column.columnDef.size\n ? {\n width: cell.column.getSize(),\n minWidth: cell.column.getSize(),\n maxWidth: cell.column.getSize()\n }\n : undefined\n }\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n ))}\n </tr>\n ))\n ) : (\n <tr>\n <td className={cx('feedback-cell')} colSpan={table.getVisibleLeafColumns().length}>\n {isLoading ? <div>Loading...</div> : <div>{msgText || (isError ? 'Error' : 'No data')}</div>}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n );\n};\n","'use client';\n\nimport React, { useState } from 'react';\n\nimport {\n type PaginationState,\n type RowData,\n type RowSelectionState,\n type TableOptions,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table';\n\ntype RenderingMode = 'CSR' | 'SSR';\n\nexport const useTable = <TData extends RowData>({\n data,\n columns,\n defaultColumn = { size: 150, enableResizing: true },\n initialState,\n onSortingChange,\n enableRowSelection,\n enableColumnResizing,\n mode = 'SSR',\n debug\n}: Pick<\n TableOptions<TData>,\n | 'data'\n | 'columns'\n | 'initialState'\n | 'onSortingChange'\n | 'enableRowSelection'\n | 'enableColumnResizing'\n | 'defaultColumn'\n> & {\n mode?: RenderingMode;\n debug?: boolean;\n}) => {\n const [sorting, setSorting] = React.useState(initialState?.sorting || []);\n const [rowSelection, setRowSelection] = useState<RowSelectionState>(initialState?.rowSelection || {});\n const [pagination, setPagination] = React.useState((initialState?.pagination as PaginationState) || {});\n const [columnVisibility, setColumnVisibility] = React.useState(initialState?.columnVisibility || {});\n\n const getOption = (mode: RenderingMode): Partial<TableOptions<TData>> => {\n if (mode === 'SSR') {\n return {\n manualSorting: true,\n manualPagination: true,\n onSortingChange\n };\n } else {\n return {\n getPaginationRowModel: getPaginationRowModel(),\n onPaginationChange: setPagination,\n onSortingChange: setSorting\n };\n }\n };\n\n const table = useReactTable({\n data,\n columns,\n columnResizeMode: 'onChange',\n defaultColumn,\n enableColumnResizing,\n enableRowSelection,\n initialState,\n state: {\n sorting,\n rowSelection,\n pagination,\n columnVisibility\n },\n onRowSelectionChange: setRowSelection,\n onColumnVisibilityChange: setColumnVisibility,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n ...getOption(mode),\n\n debugTable: debug,\n debugHeaders: debug,\n debugColumns: debug\n });\n\n return table;\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { DatePicker, type DatePickerProps } from 'sales-frontend-design-system';\n\nexport const FormDatePicker = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & DatePickerProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n const baseProps: DatePickerProps = {\n ...props,\n id: field.name,\n defaultValue: field.value,\n disabled: field.disabled,\n error: fieldState.invalid,\n onBlur: field.onBlur\n };\n\n // if (props.mode === 'range') {\n // return (\n // <DatePicker\n // {...baseProps}\n // onValueChange={(selected: IPeriodDate) => {\n // if (props.mode === 'range') {\n // }\n // field.onChange(selected);\n // // props.onValueChange?.(selected);\n // }}\n // />\n // );\n // }\n\n return <DatePicker {...baseProps} />;\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { SegmentGroup, type SegmentGroupProps } from 'sales-frontend-design-system';\n\nexport const FormSegmentGroup = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & SegmentGroupProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n return (\n <SegmentGroup\n {...props}\n tabIndex={0}\n id={field.name}\n ref={field.ref}\n defaultValue={field.value}\n disabled={field.disabled}\n error={fieldState.invalid}\n onBlur={field.onBlur}\n onValueChange={(selected) => {\n field.onChange(selected);\n props.onValueChange?.(selected);\n }}\n />\n );\n};\n","import { useController, type FieldValues, type UseControllerProps } from 'react-hook-form';\nimport { FormField } from 'sales-frontend-design-system';\n\nexport const FormTextField = <TFormValues extends FieldValues>({\n name,\n control,\n disabled,\n error,\n onBlur,\n onChange,\n rootProps,\n ...props\n}: Pick<UseControllerProps<TFormValues>, 'name' | 'control' | 'disabled'> & FormField.ITextFieldProps) => {\n const { field, fieldState } = useController({ name, control, disabled });\n\n return (\n <FormField.TextField\n {...props}\n id={field.name}\n size=\"medium\"\n autoComplete=\"off\"\n name={field.name}\n value={field.value ?? ''}\n disabled={field.disabled}\n error={fieldState.invalid || error}\n onChange={(e) => {\n field.onChange(e);\n onChange?.(e);\n }}\n onBlur={(e) => {\n field.onBlur();\n onBlur?.(e);\n }}\n rootProps={{\n ...rootProps,\n onClear: () => {\n field.onChange('');\n rootProps?.onClear?.();\n }\n }}\n />\n );\n};\n","import React from 'react';\n\nimport classNames from 'classnames/bind';\nimport styles from './step-indicator.module.scss';\nimport type { IStepIndicatorProps } from './step-indicator.types';\n\nconst cx = classNames.bind(styles);\n\nexport const StepIndicator = ({ items, currentIndex = 0, defaultValue = '', dotCount = 3 }: IStepIndicatorProps) => {\n const [current, setCurrent] = React.useState(currentIndex);\n\n React.useEffect(() => {\n items.map((item, idx) => {\n if (item.value === defaultValue) {\n setCurrent(idx);\n }\n });\n }, [items, defaultValue]);\n\n return (\n <div className={cx('stepper-layout')}>\n <div className={cx('stepper')}>\n {items.map((item, idx) => (\n <React.Fragment key={`num-${idx}`}>\n <div className={cx('circle', (defaultValue === item.value || current === idx) && 'active')}>\n {item.isCompleted || idx < current ? <span className={cx('completed')} /> : ++idx}\n </div>\n\n {/* ๋ค์ ๋จ๊ณ๊ฐ ์์ ๋๋ง dot ๋ ๋๋ง */}\n {idx < items.length &&\n Array.from({ length: dotCount }).map((_, dotIdx) => (\n <span key={`dot-${idx}-${dotIdx}`} className={cx('dot')} />\n ))}\n </React.Fragment>\n ))}\n </div>\n\n <ul className={cx('step-labels')}>\n {items.map((item, idx) => (\n <li key={`label-${idx}`} className={cx((defaultValue === item.value || current === idx) && 'active')}>\n <span>{item.label ?? item.value}</span>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"],"names":["cx","mode","styles"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
@use 'sales-frontend-design-system/design-system-context' as *;
|
|
2
|
+
|
|
3
|
+
.stepper-layout {
|
|
4
|
+
display: flex;
|
|
5
|
+
gap: padding(medium);
|
|
6
|
+
|
|
7
|
+
.stepper {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: space-around;
|
|
12
|
+
padding: padding(medium) padding(zero);
|
|
13
|
+
|
|
14
|
+
.circle {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
width: 24px;
|
|
19
|
+
height: 24px;
|
|
20
|
+
|
|
21
|
+
@include apply-typography(body3);
|
|
22
|
+
|
|
23
|
+
color: colors(text-body_0);
|
|
24
|
+
background-color: colors(text-neutral_2);
|
|
25
|
+
border-radius: radius-basic(full);
|
|
26
|
+
|
|
27
|
+
.completed {
|
|
28
|
+
width: 20px;
|
|
29
|
+
height: 20px;
|
|
30
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.7071 6.29289C16.0976 6.68342 16.0976 7.31658 15.7071 7.70711L9.70711 13.7071C9.31658 14.0976 8.68342 14.0976 8.29289 13.7071L4.29289 9.70711C3.90237 9.31658 3.90237 8.68342 4.29289 8.29289C4.68342 7.90237 5.31658 7.90237 5.70711 8.29289L9 11.5858L14.2929 6.29289C14.6834 5.90237 15.3166 5.90237 15.7071 6.29289Z' fill='white'/%3E%3C/svg%3E");
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.active {
|
|
34
|
+
background-color: colors(text-body_1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.dot {
|
|
39
|
+
width: 2px;
|
|
40
|
+
height: 2px;
|
|
41
|
+
background-color: colors(text-neutral_2);
|
|
42
|
+
border-radius: radius-basic(full);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.step-labels {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: column;
|
|
49
|
+
gap: padding(xsmall);
|
|
50
|
+
color: colors(text-neutral_1);
|
|
51
|
+
|
|
52
|
+
@include apply-typography(subtitle3);
|
|
53
|
+
|
|
54
|
+
li {
|
|
55
|
+
padding: padding(medium) padding(large);
|
|
56
|
+
border: 2px solid colors(border-neutral_3);
|
|
57
|
+
border-radius: radius-basic(medium);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
li.active {
|
|
61
|
+
color: colors(text-body);
|
|
62
|
+
border: 2px solid colors(border-neutral_6);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sales-frontend-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "
|
|
6
|
+
"main": "dist/index.cjs.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
9
|
"files": [
|
|
9
10
|
"dist"
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
".": {
|
|
13
14
|
"import": {
|
|
14
15
|
"types": "./dist/index.d.ts",
|
|
15
|
-
"default": "./dist/index.js"
|
|
16
|
+
"default": "./dist/index.esm.js"
|
|
16
17
|
},
|
|
17
18
|
"require": {
|
|
18
19
|
"types": "./dist/index.d.ts",
|
|
@@ -21,28 +22,48 @@
|
|
|
21
22
|
}
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
25
|
+
"@faker-js/faker": "^9.8.0",
|
|
26
|
+
"@hookform/resolvers": "^5.1.1",
|
|
27
|
+
"@rollup/plugin-commonjs": "^28.0.3",
|
|
28
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
29
|
+
"@tanstack/react-table": "^8.0.0",
|
|
24
30
|
"@types/node": "^22.14.0",
|
|
25
31
|
"@types/react": "19.1.0",
|
|
26
32
|
"@types/react-dom": "19.1.1",
|
|
33
|
+
"concurrently": "^9.1.2",
|
|
34
|
+
"copyfiles": "^2.4.1",
|
|
35
|
+
"esbuild": "^0.25.3",
|
|
27
36
|
"react": "^19.1.0",
|
|
37
|
+
"react-hook-form": "^7.58.1",
|
|
38
|
+
"rollup": "^4.40.0",
|
|
39
|
+
"rollup-plugin-dts": "^6.2.1",
|
|
40
|
+
"rollup-plugin-esbuild": "^6.2.1",
|
|
41
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
28
42
|
"sass": "^1.86.3",
|
|
29
|
-
"tsup": "^8.4.0",
|
|
30
43
|
"typescript": "5.8.2",
|
|
31
|
-
"
|
|
32
|
-
"eslint-config-sales-frontend-eslint-config-v8": "^0.0.
|
|
33
|
-
"sales-frontend-
|
|
44
|
+
"zod": "^3.25.67",
|
|
45
|
+
"eslint-config-sales-frontend-eslint-config-v8": "^0.0.5",
|
|
46
|
+
"sales-frontend-typescript-config": "0.0.2",
|
|
47
|
+
"sales-frontend-design-system": "0.0.5"
|
|
34
48
|
},
|
|
35
49
|
"peerDependencies": {
|
|
50
|
+
"@tanstack/react-table": "^8.0.0",
|
|
36
51
|
"react": ">=18.0.0",
|
|
37
52
|
"react-dom": ">=18.0.0",
|
|
38
|
-
"
|
|
53
|
+
"react-hook-form": "^7.58.1",
|
|
54
|
+
"sales-frontend-design-system": "^0.0.5"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"classnames": "^2.5.1"
|
|
39
58
|
},
|
|
40
59
|
"scripts": {
|
|
41
60
|
"lint": "eslint . --max-warnings 0",
|
|
42
61
|
"generate:component": "turbo gen react-component",
|
|
43
62
|
"check-types": "tsc --noEmit",
|
|
44
|
-
"storybook": "
|
|
45
|
-
"
|
|
63
|
+
"storybook": "concurrently \"rollup -c -w\" \"pnpm copy-scss:watch\"",
|
|
64
|
+
"copy-scss": "copyfiles -u 1 'src/**/*.scss' dist",
|
|
65
|
+
"copy-scss:watch": "copyfiles -w -u 1 'src/**/*.scss' dist",
|
|
66
|
+
"build": "rollup -c && pnpm copy-scss",
|
|
46
67
|
"release": "pnpm publish"
|
|
47
68
|
}
|
|
48
69
|
}
|