@wipco/sdui 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-AR2JYE75.js → chunk-QJHD6HVQ.js} +837 -152
- package/dist/index.d.ts +85 -26
- package/dist/index.js +19 -56
- package/dist/meta.d.ts +2 -2
- package/dist/meta.js +121 -19
- package/dist/rich.js +2 -2
- package/dist/styles.css +88 -13
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -72,12 +72,23 @@ declare function Can({ entity, action, scope, fallback, children }: CanProps): R
|
|
|
72
72
|
*/
|
|
73
73
|
|
|
74
74
|
interface IconProps extends React__default.SVGAttributes<SVGSVGElement> {
|
|
75
|
+
/** kebab-case Lucide 이름 — "scan-line", "layers", "circle-alert". */
|
|
75
76
|
name: string;
|
|
77
|
+
/** 픽셀 박스. 기본 18. */
|
|
76
78
|
size?: number;
|
|
79
|
+
/** 기본 1.5. 32px 위에서만 2를 쓴다. */
|
|
77
80
|
strokeWidth?: number;
|
|
81
|
+
/** 주면 role="img" + aria-label. 장식 아이콘은 생략한다. */
|
|
82
|
+
title?: string;
|
|
78
83
|
}
|
|
79
|
-
/**
|
|
80
|
-
|
|
84
|
+
/**
|
|
85
|
+
* 스트로크 아이콘. 130종을 24px 그리드 위에 그린다.
|
|
86
|
+
*
|
|
87
|
+
* **등록되지 않은 이름은 `null`이다** — 예전엔 점(●)으로 대체했는데, 그러면 스펙 오타나
|
|
88
|
+
* 아직 안 넣은 이름이 "없던 자국"으로 화면에 남는다. 빠진 아이콘은 비어 보이는 편이
|
|
89
|
+
* 낫고, 어차피 잘못된 이름은 check-meta가 팔레트 쪽에서 잡는다.
|
|
90
|
+
*/
|
|
91
|
+
declare function Icon({ name, size, strokeWidth, className, style, title, ...rest }: IconProps): React__default.JSX.Element | null;
|
|
81
92
|
interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
82
93
|
/** primary = WIPCO Blue, secondary = 외곽선(기본), ghost = 투명, danger = WIPCO Red, link = 인라인 */
|
|
83
94
|
variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'link';
|
|
@@ -87,33 +98,52 @@ interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElem
|
|
|
87
98
|
icon?: string;
|
|
88
99
|
/** 후행 아이콘 이름 */
|
|
89
100
|
iconEnd?: string;
|
|
90
|
-
/**
|
|
101
|
+
/**
|
|
102
|
+
* 라벨을 감추고 스피너를 돌린다.
|
|
103
|
+
*
|
|
104
|
+
* 스피너는 **CSS가 그린다**(`.wp-btn--loading::after`) — 엘리먼트를 따로 넣지 않는다.
|
|
105
|
+
* 예전엔 `<span class="wp-spinner">`를 렌더했는데, 같은 클래스에 ::after 규칙을 가진
|
|
106
|
+
* 디자인 시스템 스타일시트와 겹치면 원이 두 개 돈다. 그릴 주체를 CSS 한쪽으로 모은다.
|
|
107
|
+
*/
|
|
91
108
|
loading?: boolean;
|
|
92
109
|
block?: boolean;
|
|
93
110
|
disabled?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* 다른 태그로 렌더한다. 링크로 보내야 하는 자리(SSO 이동 등)는 `as="a"` + `href`다 —
|
|
113
|
+
* `<button>`에 href를 달면 아무 데도 가지 않는다.
|
|
114
|
+
*
|
|
115
|
+
* button이 아닐 때는 `disabled` 속성이 없으므로 비활성은 `aria-disabled`로만 알린다
|
|
116
|
+
* (그래서 button일 때도 둘 다 붙인다 — 표기가 태그에 따라 달라지지 않게).
|
|
117
|
+
*/
|
|
118
|
+
as?: 'button' | 'a' | 'span';
|
|
94
119
|
children?: React__default.ReactNode;
|
|
95
120
|
}
|
|
96
|
-
declare function Button({ variant, size, icon, iconEnd, loading, block, disabled, children, className,
|
|
121
|
+
declare function Button({ variant, size, icon, iconEnd, loading, block, disabled, as, children, className, ...rest }: ButtonProps): React__default.JSX.Element;
|
|
97
122
|
interface IconButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
98
123
|
icon: string;
|
|
99
|
-
/** 접근성 라벨(필수 권장) */
|
|
124
|
+
/** 접근성 라벨(필수 권장) — title이자 aria-label이 된다. */
|
|
100
125
|
label?: string;
|
|
101
|
-
|
|
126
|
+
/** xs 24 · sm 28 · md 32(기본) · lg 40 px 정사각 */
|
|
127
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
102
128
|
/**
|
|
103
129
|
* 예전 이름. `variant`를 주지 않았을 때만 쓰인다 — `variant` 주석 참고.
|
|
104
130
|
* @deprecated `variant`로 옮겨라. `tone="danger"`는 `variant="danger"`와 같다.
|
|
105
131
|
*/
|
|
106
132
|
tone?: 'default' | 'danger';
|
|
107
133
|
/**
|
|
108
|
-
* 디자인 시스템 어휘. ghost = 투명(기본) · outlined = 하드라인 테두리 ·
|
|
134
|
+
* 디자인 시스템 어휘. ghost = 투명(기본) · outlined = 하드라인 테두리 ·
|
|
135
|
+
* solid = 채움 · danger = 빨강 · onchrome = 네이비 사이드바/탑바 위.
|
|
109
136
|
*
|
|
110
137
|
* 같은 자리를 가리키는 프롭이 `tone`과 둘로 갈라져 있는데 **variant가 이긴다** —
|
|
111
138
|
* 스펙과 디자인 시스템 문서가 쓰는 이름이 이쪽이고, 값 어휘도 넓다(outlined는 tone에 없다).
|
|
112
139
|
* variant를 주지 않으면 tone이 그대로 먹으므로 tone만 쓰던 코드는 그대로 돈다.
|
|
113
140
|
*/
|
|
114
|
-
variant?: 'ghost' | 'outlined' | 'danger';
|
|
141
|
+
variant?: 'ghost' | 'outlined' | 'solid' | 'danger' | 'onchrome';
|
|
142
|
+
/** 토글 상태 — aria-pressed로 나가고 선택 틴트를 입는다. */
|
|
143
|
+
pressed?: boolean;
|
|
144
|
+
disabled?: boolean;
|
|
115
145
|
}
|
|
116
|
-
declare function IconButton({ icon, label, size, tone, variant, className, type, ...rest }: IconButtonProps): React__default.JSX.Element;
|
|
146
|
+
declare function IconButton({ icon, label, size, tone, variant, pressed, disabled, className, type, ...rest }: IconButtonProps): React__default.JSX.Element;
|
|
117
147
|
interface InputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
118
148
|
/** sm 28 · md 32(기본) · lg 40 px */
|
|
119
149
|
size?: 'sm' | 'md' | 'lg';
|
|
@@ -124,15 +154,11 @@ interface InputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputEl
|
|
|
124
154
|
/** 고정폭 글꼴 — ID, 좌표, 해시 */
|
|
125
155
|
mono?: boolean;
|
|
126
156
|
/**
|
|
127
|
-
* 입력 오른쪽 끝에 겹쳐 그리는 후행
|
|
157
|
+
* 입력 오른쪽 끝에 겹쳐 그리는 후행 표시.
|
|
128
158
|
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* 문자열은 **ICON_PATHS에 있는 이름이면 아이콘, 아니면 그대로 단위 글자**로 그린다.
|
|
133
|
-
* 디자인 시스템 쪽 용례는 `trailing="eye"`(비밀번호 보기)처럼 아이콘 이름인데
|
|
134
|
-
* 실제 스펙 9곳은 전부 "원"·"위" 같은 단위 글자라, 둘 중 하나만 고르면 나머지가 깨진다.
|
|
135
|
-
* 단위가 아이콘 이름과 겹치는 일은 없으므로 이름으로 갈라도 안전하다.
|
|
159
|
+
* **문자열은 아이콘 이름으로 읽는다** — `trailing="eye"`(비밀번호 보기)가 원래 용례다.
|
|
160
|
+
* 등록되지 않은 이름이면 Icon이 null을 내므로 자리만 남는다. 단위 글자("원", "mm")를
|
|
161
|
+
* 넣고 싶으면 문자열이 아니라 노드로 줘라: `trailing={<span>원</span>}`.
|
|
136
162
|
*/
|
|
137
163
|
trailing?: React__default.ReactNode;
|
|
138
164
|
}
|
|
@@ -158,9 +184,16 @@ declare function Select({ options, size, invalid, placeholder, className, ...res
|
|
|
158
184
|
interface CheckboxProps extends React__default.InputHTMLAttributes<HTMLInputElement> {
|
|
159
185
|
label?: React__default.ReactNode;
|
|
160
186
|
description?: React__default.ReactNode;
|
|
187
|
+
/**
|
|
188
|
+
* 부분 선택 — 전체선택 체크박스의 "일부만 골랐다" 상태.
|
|
189
|
+
*
|
|
190
|
+
* HTML 속성이 아니라 DOM 프로퍼티라 ref로 직접 넣어야 한다(마크업에 남지 않는다).
|
|
191
|
+
* 글리프도 체크가 아니라 빼기로 바뀐다.
|
|
192
|
+
*/
|
|
193
|
+
indeterminate?: boolean;
|
|
161
194
|
disabled?: boolean;
|
|
162
195
|
}
|
|
163
|
-
declare function Checkbox({ label, description, disabled, className, ...rest }: CheckboxProps): React__default.JSX.Element;
|
|
196
|
+
declare function Checkbox({ label, description, indeterminate, disabled, className, ...rest }: CheckboxProps): React__default.JSX.Element;
|
|
164
197
|
interface SwitchProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
165
198
|
label?: React__default.ReactNode;
|
|
166
199
|
size?: 'sm' | 'md';
|
|
@@ -230,10 +263,12 @@ interface ToastProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>,
|
|
|
230
263
|
tone?: 'info' | 'success' | 'warning' | 'danger';
|
|
231
264
|
title?: React__default.ReactNode;
|
|
232
265
|
children?: React__default.ReactNode;
|
|
266
|
+
/** 인라인 액션 하나 — 되돌리기 같은 것. Button variant="link"를 넣는다. */
|
|
267
|
+
action?: React__default.ReactNode;
|
|
233
268
|
onClose?: () => void;
|
|
234
269
|
}
|
|
235
270
|
/** 우하단 일시 알림. .wp-toast-region 안에 렌더링된다. */
|
|
236
|
-
declare function Toast({ tone, title, children, onClose, className, ...rest }: ToastProps): React__default.JSX.Element;
|
|
271
|
+
declare function Toast({ tone, title, children, action, onClose, className, ...rest }: ToastProps): React__default.JSX.Element;
|
|
237
272
|
interface TabItem {
|
|
238
273
|
value: string;
|
|
239
274
|
label: React__default.ReactNode;
|
|
@@ -245,8 +280,10 @@ interface TabsProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>,
|
|
|
245
280
|
value: string;
|
|
246
281
|
onChange?: (value: string) => void;
|
|
247
282
|
size?: 'md' | 'lg';
|
|
283
|
+
/** 네이비 탑바 위 — 밝은 글자, 빨간 인디케이터. */
|
|
284
|
+
onChrome?: boolean;
|
|
248
285
|
}
|
|
249
|
-
declare function Tabs({ items, value, onChange, size, className, ...rest }: TabsProps): React__default.JSX.Element;
|
|
286
|
+
declare function Tabs({ items, value, onChange, size, onChrome, className, ...rest }: TabsProps): React__default.JSX.Element;
|
|
250
287
|
interface TableColumn {
|
|
251
288
|
key: string;
|
|
252
289
|
header: React__default.ReactNode;
|
|
@@ -255,6 +292,8 @@ interface TableColumn {
|
|
|
255
292
|
align?: 'left' | 'right';
|
|
256
293
|
mono?: boolean;
|
|
257
294
|
strong?: boolean;
|
|
295
|
+
/** 헤더를 정렬 버튼으로 만든다. 실제 정렬은 `sort`·`onSort`가 담당한다. */
|
|
296
|
+
sortable?: boolean;
|
|
258
297
|
/**
|
|
259
298
|
* 셀 값을 Badge로 렌더링 — JSON 스펙에서 쓸 수 있는 선언적 지정.
|
|
260
299
|
* toneMap: 값 → tone, labelMap: 값 → 표시 텍스트(생략 시 값 그대로)
|
|
@@ -272,13 +311,24 @@ interface TableProps extends React__default.TableHTMLAttributes<HTMLTableElement
|
|
|
272
311
|
/** 40px 대신 32px 행 */
|
|
273
312
|
dense?: boolean;
|
|
274
313
|
hover?: boolean;
|
|
314
|
+
/** 스크롤 본문용 고정 헤더 */
|
|
315
|
+
sticky?: boolean;
|
|
316
|
+
/** 현재 정렬 상태 — 해당 컬럼 헤더의 화살표 방향을 정한다 */
|
|
317
|
+
sort?: {
|
|
318
|
+
key: string;
|
|
319
|
+
dir: 'asc' | 'desc';
|
|
320
|
+
};
|
|
321
|
+
/** 정렬 헤더를 눌렀을 때. 주지 않으면 sortable 컬럼도 버튼이 되지 않는다 */
|
|
322
|
+
onSort?: (key: string) => void;
|
|
323
|
+
/** 선택된 행의 rowKey 값 — 해당 행에 aria-selected가 붙고 하이라이트된다 */
|
|
324
|
+
selectedIds?: any[];
|
|
275
325
|
/** 행 key와 선택에 쓸 필드. 기본 "id" */
|
|
276
326
|
rowKey?: string;
|
|
277
327
|
onRowClick?: (row: any) => void;
|
|
278
328
|
/** rows가 비었을 때 대신 렌더링 — EmptyState 권장 */
|
|
279
329
|
empty?: React__default.ReactNode;
|
|
280
330
|
}
|
|
281
|
-
declare function Table({ columns, rows, dense, hover, rowKey, onRowClick, empty, className, ...rest }: TableProps): React__default.JSX.Element;
|
|
331
|
+
declare function Table({ columns, rows, dense, hover, sticky, sort, onSort, selectedIds, rowKey, onRowClick, empty, className, ...rest }: TableProps): React__default.JSX.Element;
|
|
282
332
|
interface StatCardProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
283
333
|
label: React__default.ReactNode;
|
|
284
334
|
value: React__default.ReactNode;
|
|
@@ -302,24 +352,33 @@ interface EmptyStateProps extends Omit<React__default.HTMLAttributes<HTMLDivElem
|
|
|
302
352
|
declare function EmptyState({ icon, title, children, actions, tight, className, ...rest }: EmptyStateProps): React__default.JSX.Element;
|
|
303
353
|
interface SpinnerProps extends React__default.HTMLAttributes<HTMLSpanElement> {
|
|
304
354
|
size?: 'sm' | 'md' | 'lg';
|
|
355
|
+
/** 네이비/뷰어 표면 위 — 밝은 테두리로 뒤집는다. */
|
|
356
|
+
inverse?: boolean;
|
|
305
357
|
label?: string;
|
|
306
358
|
}
|
|
307
|
-
declare function Spinner({ size, label, className, ...rest }: SpinnerProps): React__default.JSX.Element;
|
|
359
|
+
declare function Spinner({ size, inverse, label, className, ...rest }: SpinnerProps): React__default.JSX.Element;
|
|
308
360
|
interface ProgressBarProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
309
|
-
/** 0
|
|
361
|
+
/** 0~`max` */
|
|
310
362
|
value: number;
|
|
363
|
+
/** 기본 100. 용량 게이지처럼 분모가 100이 아닌 자리에 쓴다 */
|
|
364
|
+
max?: number;
|
|
311
365
|
/** danger 임계 강조 등 */
|
|
312
366
|
tone?: 'brand' | 'success' | 'warning' | 'danger' | 'info';
|
|
367
|
+
/** sm 4 · md 6(기본) · lg 8 px */
|
|
368
|
+
size?: 'sm' | 'md' | 'lg';
|
|
369
|
+
/** 사선 해치 애니메이션 — 진행 중인 작업에만 */
|
|
370
|
+
striped?: boolean;
|
|
313
371
|
label?: React__default.ReactNode;
|
|
314
372
|
/**
|
|
315
|
-
*
|
|
373
|
+
* 현재 값을 퍼센트로 적는다.
|
|
316
374
|
*
|
|
317
375
|
* 막대만으로는 82%와 91%를 구분할 수 없어서, 여러 개를 세로로 쌓아 비교하는
|
|
318
|
-
* 자리(공정별 진척 목록 등)에서 필요하다.
|
|
376
|
+
* 자리(공정별 진척 목록 등)에서 필요하다. 라벨이 있으면 라벨 줄 오른쪽 끝에,
|
|
377
|
+
* 라벨이 없으면 막대 오른쪽 옆(.wp-meter-row)에 붙는다.
|
|
319
378
|
*/
|
|
320
379
|
showValue?: boolean;
|
|
321
380
|
}
|
|
322
|
-
declare function ProgressBar({ value, tone,
|
|
381
|
+
declare function ProgressBar({ value, max, tone, size, striped, showValue, label, className, ...rest }: ProgressBarProps): React__default.JSX.Element;
|
|
323
382
|
interface PaginationProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
324
383
|
page: number;
|
|
325
384
|
pageCount: number;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Toast, Textarea, Tag, Tabs, Table, Switch, StatCard, Spinner, Select, ProgressBar, Pagination, Input, IconButton, Icon, Field, EmptyState, DateRangePicker, DatePicker, Checkbox, Card, Button, Badge, Alert, Dialog } from './chunk-
|
|
2
|
-
export { Alert, Badge, Button, Card, Checkbox, DatePicker, DateRangePicker, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Select, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast } from './chunk-
|
|
1
|
+
import { Toast, Textarea, Tag, Tabs, Table, Switch, StatCard, Spinner, Select, ProgressBar, Pagination, Input, IconButton, Icon, Field, EmptyState, DateRangePicker, DatePicker, Checkbox, Card, Button, Badge, Alert, Dialog } from './chunk-QJHD6HVQ.js';
|
|
2
|
+
export { Alert, Badge, Button, Card, Checkbox, DatePicker, DateRangePicker, Dialog, EmptyState, Field, Icon, IconButton, Input, Pagination, ProgressBar, Select, Spinner, StatCard, Switch, Table, Tabs, Tag, Textarea, Toast } from './chunk-QJHD6HVQ.js';
|
|
3
3
|
import React, { createContext, useContext, useMemo, useState, useRef, useEffect, useCallback } from 'react';
|
|
4
4
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -483,10 +483,7 @@ function ResultTable({
|
|
|
483
483
|
return /* @__PURE__ */ jsx("div", { ref: scrollRef, onScroll: handleScroll, style: { height, overflowY: "auto" }, children: table });
|
|
484
484
|
}
|
|
485
485
|
function ResultEmptyState({ title }) {
|
|
486
|
-
return (
|
|
487
|
-
// 아이콘 세트에 scan-search가 없어 같은 뜻의 search로 대체
|
|
488
|
-
/* @__PURE__ */ jsx(EmptyState, { icon: "search", title: `${title}\uC774(\uAC00) \uC5C6\uC2B5\uB2C8\uB2E4`, tight: true, children: "\uAC80\uC0C9 \uC870\uAC74\uC744 \uBC14\uAFB8\uAC70\uB098 \uCD08\uAE30\uD654\uD574 \uBCF4\uC138\uC694." })
|
|
489
|
-
);
|
|
486
|
+
return /* @__PURE__ */ jsx(EmptyState, { icon: "scan-search", title: `${title}\uC774(\uAC00) \uC5C6\uC2B5\uB2C8\uB2E4`, tight: true, children: "\uAC80\uC0C9 \uC870\uAC74\uC744 \uBC14\uAFB8\uAC70\uB098 \uCD08\uAE30\uD654\uD574 \uBCF4\uC138\uC694." });
|
|
490
487
|
}
|
|
491
488
|
function splitMultiValue(value) {
|
|
492
489
|
return value.split(",").map((item) => item.trim()).filter(Boolean);
|
|
@@ -681,7 +678,7 @@ function SearchToolbar({
|
|
|
681
678
|
IconButton,
|
|
682
679
|
{
|
|
683
680
|
type: "button",
|
|
684
|
-
icon: "
|
|
681
|
+
icon: "sliders-horizontal",
|
|
685
682
|
label: "\uC0C1\uC138\uAC80\uC0C9",
|
|
686
683
|
"aria-expanded": open,
|
|
687
684
|
style: open ? { background: "var(--wp-surface-active)" } : void 0,
|
|
@@ -1360,57 +1357,23 @@ function SelectCheckbox({
|
|
|
1360
1357
|
function ViewToggle({ value, onChange }) {
|
|
1361
1358
|
const items = [
|
|
1362
1359
|
{ value: "list", icon: "list", label: "\uBAA9\uB85D" },
|
|
1363
|
-
|
|
1364
|
-
{ value: "grid", icon: "layout-dashboard", label: "\uCE74\uB4DC" }
|
|
1360
|
+
{ value: "grid", icon: "layout-grid", label: "\uCE74\uB4DC" }
|
|
1365
1361
|
];
|
|
1366
|
-
return /* @__PURE__ */ jsx(
|
|
1367
|
-
"
|
|
1362
|
+
return /* @__PURE__ */ jsx("div", { className: "wp-seg", role: "tablist", children: items.map((tab) => /* @__PURE__ */ jsxs(
|
|
1363
|
+
"button",
|
|
1368
1364
|
{
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
"button",
|
|
1382
|
-
{
|
|
1383
|
-
type: "button",
|
|
1384
|
-
role: "tab",
|
|
1385
|
-
"aria-selected": active,
|
|
1386
|
-
onClick: () => onChange(tab.value),
|
|
1387
|
-
style: {
|
|
1388
|
-
display: "inline-flex",
|
|
1389
|
-
alignItems: "center",
|
|
1390
|
-
justifyContent: "center",
|
|
1391
|
-
gap: 5,
|
|
1392
|
-
height: 24,
|
|
1393
|
-
padding: "0 10px",
|
|
1394
|
-
border: 0,
|
|
1395
|
-
borderRadius: "var(--wp-radius-sm)",
|
|
1396
|
-
fontSize: 12,
|
|
1397
|
-
fontWeight: 500,
|
|
1398
|
-
whiteSpace: "nowrap",
|
|
1399
|
-
cursor: "pointer",
|
|
1400
|
-
background: active ? "var(--wp-surface-card)" : "transparent",
|
|
1401
|
-
color: active ? "var(--wp-text-strong)" : "var(--wp-text-muted)",
|
|
1402
|
-
boxShadow: active ? "var(--wp-shadow-sm)" : void 0
|
|
1403
|
-
},
|
|
1404
|
-
children: [
|
|
1405
|
-
/* @__PURE__ */ jsx(Icon, { name: tab.icon, size: 14 }),
|
|
1406
|
-
tab.label
|
|
1407
|
-
]
|
|
1408
|
-
},
|
|
1409
|
-
tab.value
|
|
1410
|
-
);
|
|
1411
|
-
})
|
|
1412
|
-
}
|
|
1413
|
-
);
|
|
1365
|
+
type: "button",
|
|
1366
|
+
role: "tab",
|
|
1367
|
+
className: "wp-seg__item",
|
|
1368
|
+
"aria-selected": tab.value === value,
|
|
1369
|
+
onClick: () => onChange(tab.value),
|
|
1370
|
+
children: [
|
|
1371
|
+
/* @__PURE__ */ jsx(Icon, { name: tab.icon, size: 14 }),
|
|
1372
|
+
tab.label
|
|
1373
|
+
]
|
|
1374
|
+
},
|
|
1375
|
+
tab.value
|
|
1376
|
+
)) });
|
|
1414
1377
|
}
|
|
1415
1378
|
function resolveRowPart(part, item) {
|
|
1416
1379
|
return typeof part === "function" ? part(item) : part;
|
package/dist/meta.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ type SduiPropKind = 'string' | 'number' | 'boolean'
|
|
|
29
29
|
| 'enum'
|
|
30
30
|
/** CSS 색상 문자열 */
|
|
31
31
|
| 'color'
|
|
32
|
-
/** `
|
|
32
|
+
/** `ICON_NODES`에 등록된 아이콘 이름 */
|
|
33
33
|
| 'icon'
|
|
34
34
|
/** ReactNode 자리 — 문자열이거나 `slots.<name>`으로 넘긴 노드 트리 */
|
|
35
35
|
| 'node'
|
|
@@ -140,7 +140,7 @@ interface SduiComponentMeta {
|
|
|
140
140
|
/** 팔레트에 보일 한국어 표시명 */
|
|
141
141
|
label: string;
|
|
142
142
|
category: SduiCategory;
|
|
143
|
-
/** `
|
|
143
|
+
/** `ICON_NODES`에 등록된 이름 (없는 이름이면 Icon이 아무것도 그리지 않는다) */
|
|
144
144
|
icon: string;
|
|
145
145
|
/** 한국어 한 줄 설명 */
|
|
146
146
|
description: string;
|
package/dist/meta.js
CHANGED
|
@@ -219,7 +219,7 @@ var PageHeadMeta = {
|
|
|
219
219
|
name: "PageHead",
|
|
220
220
|
label: "\uD398\uC774\uC9C0 \uD5E4\uB354",
|
|
221
221
|
category: "layout",
|
|
222
|
-
icon: "
|
|
222
|
+
icon: "flag",
|
|
223
223
|
description: "\uD398\uC774\uC9C0 \uC0C1\uB2E8\uC758 \uC81C\uBAA9\xB7\uBD80\uC81C\xB7\uC561\uC158 \uC601\uC5ED.",
|
|
224
224
|
props: [
|
|
225
225
|
{ name: "title", kind: "node", label: "\uC81C\uBAA9", slot: true, group: "content" },
|
|
@@ -362,6 +362,14 @@ var TabsMeta = {
|
|
|
362
362
|
],
|
|
363
363
|
group: "appearance"
|
|
364
364
|
},
|
|
365
|
+
{
|
|
366
|
+
name: "onChrome",
|
|
367
|
+
kind: "boolean",
|
|
368
|
+
label: "\uB124\uC774\uBE44 \uD06C\uB86C \uC704",
|
|
369
|
+
default: false,
|
|
370
|
+
description: "\uB124\uC774\uBE44 \uD0D1\uBC14 \uC704\uC5D0 \uC5B9\uB294 \uD0ED \u2014 \uBC1D\uC740 \uAE00\uC790\uC5D0 \uBE68\uAC04 \uC778\uB514\uCF00\uC774\uD130\uB85C \uB4A4\uC9D1\uB294\uB2E4.",
|
|
371
|
+
group: "appearance"
|
|
372
|
+
},
|
|
365
373
|
styleProp,
|
|
366
374
|
classNameProp
|
|
367
375
|
],
|
|
@@ -434,8 +442,7 @@ var ButtonMeta = {
|
|
|
434
442
|
name: "type",
|
|
435
443
|
kind: "enum",
|
|
436
444
|
label: "HTML \uD0C0\uC785",
|
|
437
|
-
|
|
438
|
-
description: "Form \uC548\uC5D0\uC11C Enter \uC81C\uCD9C\uC744 \uBC1B\uC73C\uB824\uBA74 submit.",
|
|
445
|
+
description: '\uC8FC\uC9C0 \uC54A\uC73C\uBA74 \uBE0C\uB77C\uC6B0\uC800 \uAE30\uBCF8\uAC12(Form \uC548\uC5D0\uC11C\uB294 submit)\uC774\uB2E4. \uC81C\uCD9C\uC774 \uC544\uB2CC \uBC84\uD2BC\uC740 "button"\uC744 \uBA85\uC2DC\uD558\uB77C.',
|
|
439
446
|
options: [
|
|
440
447
|
{ value: "button", label: "button" },
|
|
441
448
|
{ value: "submit", label: "submit" },
|
|
@@ -444,6 +451,20 @@ var ButtonMeta = {
|
|
|
444
451
|
group: "behavior",
|
|
445
452
|
advanced: true
|
|
446
453
|
},
|
|
454
|
+
{
|
|
455
|
+
name: "as",
|
|
456
|
+
kind: "enum",
|
|
457
|
+
label: "\uB80C\uB354 \uD0DC\uADF8",
|
|
458
|
+
default: "button",
|
|
459
|
+
description: '\uB9C1\uD06C\uB85C \uBCF4\uB0B4\uC57C \uD558\uB294 \uC790\uB9AC(SSO \uC774\uB3D9 \uB4F1)\uB294 "a" + href\uB2E4 \u2014 button\uC5D0 href\uB97C \uB2EC\uBA74 \uC544\uBB34 \uB370\uB3C4 \uAC00\uC9C0 \uC54A\uB294\uB2E4.',
|
|
460
|
+
options: [
|
|
461
|
+
{ value: "button", label: "button" },
|
|
462
|
+
{ value: "a", label: "a(\uB9C1\uD06C)" },
|
|
463
|
+
{ value: "span", label: "span" }
|
|
464
|
+
],
|
|
465
|
+
group: "behavior",
|
|
466
|
+
advanced: true
|
|
467
|
+
},
|
|
447
468
|
{ name: "onClick", kind: "action", label: "\uD074\uB9AD", group: "behavior" },
|
|
448
469
|
styleProp,
|
|
449
470
|
classNameProp
|
|
@@ -473,6 +494,15 @@ var CheckboxMeta = {
|
|
|
473
494
|
},
|
|
474
495
|
{ name: "label", kind: "node", label: "\uB77C\uBCA8", slot: true, group: "content" },
|
|
475
496
|
{ name: "description", kind: "node", label: "\uBCF4\uC870 \uC124\uBA85", slot: true, group: "content" },
|
|
497
|
+
{
|
|
498
|
+
name: "indeterminate",
|
|
499
|
+
kind: "boolean",
|
|
500
|
+
label: "\uBD80\uBD84 \uC120\uD0DD",
|
|
501
|
+
default: false,
|
|
502
|
+
bindable: true,
|
|
503
|
+
description: '\uC804\uCCB4\uC120\uD0DD \uCCB4\uD06C\uBC15\uC2A4\uC758 "\uC77C\uBD80\uB9CC \uACE8\uB790\uB2E4" \uC0C1\uD0DC. \uAE00\uB9AC\uD504\uAC00 \uCCB4\uD06C\uC5D0\uC11C \uBE7C\uAE30\uB85C \uBC14\uB010\uB2E4.',
|
|
504
|
+
group: "data"
|
|
505
|
+
},
|
|
476
506
|
{ name: "disabled", kind: "boolean", label: "\uBE44\uD65C\uC131", default: false, bindable: true, group: "behavior" },
|
|
477
507
|
classNameProp
|
|
478
508
|
],
|
|
@@ -605,7 +635,7 @@ var FormMeta = {
|
|
|
605
635
|
name: "Form",
|
|
606
636
|
label: "\uD3FC",
|
|
607
637
|
category: "input",
|
|
608
|
-
icon: "
|
|
638
|
+
icon: "square-pen",
|
|
609
639
|
description: "\uD3FC \uCEE8\uD14C\uC774\uB108. \uD544\uB4DC \uAC12\uC740 \uD398\uC774\uC9C0 \uC0C1\uD0DC\uC758 `{id}.{\uD544\uB4DC}` \uD0A4\uC5D0 \uC0B4\uACE0, \uAC80\uC99D\xB7dirty \uCD94\uC801\xB7\uC81C\uCD9C\uC740 \uB80C\uB354\uB7EC\uAC00 \uB9E1\uB294\uB2E4.",
|
|
610
640
|
props: [
|
|
611
641
|
{
|
|
@@ -712,9 +742,10 @@ var IconButtonMeta = {
|
|
|
712
742
|
label: "\uD06C\uAE30",
|
|
713
743
|
default: "md",
|
|
714
744
|
options: [
|
|
715
|
-
{ value: "xs", label: "xs" },
|
|
716
|
-
{ value: "sm", label: "sm" },
|
|
717
|
-
{ value: "md", label: "md" }
|
|
745
|
+
{ value: "xs", label: "xs 24px" },
|
|
746
|
+
{ value: "sm", label: "sm 28px" },
|
|
747
|
+
{ value: "md", label: "md 32px" },
|
|
748
|
+
{ value: "lg", label: "lg 40px" }
|
|
718
749
|
],
|
|
719
750
|
group: "appearance"
|
|
720
751
|
},
|
|
@@ -727,7 +758,9 @@ var IconButtonMeta = {
|
|
|
727
758
|
options: [
|
|
728
759
|
{ value: "ghost", label: "\uD22C\uBA85" },
|
|
729
760
|
{ value: "outlined", label: "\uC678\uACFD\uC120" },
|
|
730
|
-
{ value: "
|
|
761
|
+
{ value: "solid", label: "\uCC44\uC6C0" },
|
|
762
|
+
{ value: "danger", label: "\uC704\uD5D8" },
|
|
763
|
+
{ value: "onchrome", label: "\uB124\uC774\uBE44 \uD06C\uB86C \uC704" }
|
|
731
764
|
],
|
|
732
765
|
group: "appearance"
|
|
733
766
|
},
|
|
@@ -744,6 +777,14 @@ var IconButtonMeta = {
|
|
|
744
777
|
group: "appearance",
|
|
745
778
|
advanced: true
|
|
746
779
|
},
|
|
780
|
+
{
|
|
781
|
+
name: "pressed",
|
|
782
|
+
kind: "boolean",
|
|
783
|
+
label: "\uB20C\uB9B0 \uC0C1\uD0DC",
|
|
784
|
+
bindable: true,
|
|
785
|
+
description: "\uD1A0\uAE00 \uBC84\uD2BC\uC758 \uCF1C\uC9D0. aria-pressed\uB85C \uB098\uAC00\uACE0 \uC120\uD0DD \uD2F4\uD2B8\uAC00 \uBD99\uB294\uB2E4.",
|
|
786
|
+
group: "data"
|
|
787
|
+
},
|
|
747
788
|
{ name: "onClick", kind: "action", label: "\uD074\uB9AD", group: "behavior" },
|
|
748
789
|
{ name: "disabled", kind: "boolean", label: "\uBE44\uD65C\uC131", default: false, bindable: true, group: "behavior" },
|
|
749
790
|
styleProp,
|
|
@@ -751,7 +792,7 @@ var IconButtonMeta = {
|
|
|
751
792
|
],
|
|
752
793
|
children: { accepts: false },
|
|
753
794
|
preset: { component: "IconButton", props: { icon: "pencil", label: "\uC218\uC815", size: "sm" } },
|
|
754
|
-
resize: { kind: "enum", prop: "size", values: ["xs", "sm", "md"] }
|
|
795
|
+
resize: { kind: "enum", prop: "size", values: ["xs", "sm", "md", "lg"] }
|
|
755
796
|
};
|
|
756
797
|
var InputMeta = {
|
|
757
798
|
name: "Input",
|
|
@@ -812,9 +853,9 @@ var InputMeta = {
|
|
|
812
853
|
{ name: "title", kind: "string", label: "\uD234\uD301", group: "content", advanced: true },
|
|
813
854
|
{
|
|
814
855
|
name: "trailing",
|
|
815
|
-
kind: "
|
|
816
|
-
label: "\uD6C4\uD589 \
|
|
817
|
-
description: '\uC785\uB825 \uC624\uB978\uCABD \uB05D\uC5D0 \uACB9\uCCD0 \uADF8\uB9AC\uB294 \
|
|
856
|
+
kind: "icon",
|
|
857
|
+
label: "\uD6C4\uD589 \uC544\uC774\uCF58",
|
|
858
|
+
description: '\uC785\uB825 \uC624\uB978\uCABD \uB05D\uC5D0 \uACB9\uCCD0 \uADF8\uB9AC\uB294 \uD45C\uC2DC. **\uC544\uC774\uCF58 \uC774\uB984\uC73C\uB85C \uC77D\uB294\uB2E4**(\uC608: "eye" = \uBE44\uBC00\uBC88\uD638 \uBCF4\uAE30). \uB4F1\uB85D\uB418\uC9C0 \uC54A\uC740 \uC774\uB984\uC774\uBA74 \uC544\uBB34\uAC83\uB3C4 \uADF8\uB9AC\uC9C0 \uC54A\uB294\uB2E4 \u2014 "\uC6D0"\xB7"mm" \uAC19\uC740 \uB2E8\uC704 \uAE00\uC790\uB294 \uC5EC\uAE30 \uB123\uC5B4\uB3C4 \uB098\uC624\uC9C0 \uC54A\uB294\uB2E4.',
|
|
818
859
|
group: "content"
|
|
819
860
|
},
|
|
820
861
|
styleProp,
|
|
@@ -995,15 +1036,23 @@ var IconMeta = {
|
|
|
995
1036
|
label: "\uC544\uC774\uCF58",
|
|
996
1037
|
category: "display",
|
|
997
1038
|
icon: "info",
|
|
998
|
-
description: "\uC2A4\uD2B8\uB85C\uD06C \uC544\uC774\uCF58. icons.ts\uC758
|
|
1039
|
+
description: "\uC2A4\uD2B8\uB85C\uD06C \uC544\uC774\uCF58 130\uC885. icons.ts\uC758 ICON_NODES\uC5D0 \uC5C6\uB294 \uC774\uB984\uC740 \uC544\uBB34\uAC83\uB3C4 \uADF8\uB9AC\uC9C0 \uC54A\uB294\uB2E4.",
|
|
999
1040
|
props: [
|
|
1000
1041
|
{ name: "name", kind: "icon", label: "\uC544\uC774\uCF58 \uC774\uB984", required: true, group: "content" },
|
|
1001
|
-
{ name: "size", kind: "number", label: "\uD06C\uAE30(px)", default:
|
|
1002
|
-
{ name: "strokeWidth", kind: "number", label: "\uC120 \uAD75\uAE30", default: 1.
|
|
1042
|
+
{ name: "size", kind: "number", label: "\uD06C\uAE30(px)", default: 18, group: "appearance" },
|
|
1043
|
+
{ name: "strokeWidth", kind: "number", label: "\uC120 \uAD75\uAE30", default: 1.5, group: "appearance", advanced: true },
|
|
1044
|
+
{
|
|
1045
|
+
name: "title",
|
|
1046
|
+
kind: "string",
|
|
1047
|
+
label: "\uC811\uADFC\uC131 \uC81C\uBAA9",
|
|
1048
|
+
description: '\uC8FC\uBA74 role="img" + aria-label\uC774 \uBD99\uB294\uB2E4. \uC606\uC5D0 \uAE00\uC774 \uC788\uB294 \uC7A5\uC2DD \uC544\uC774\uCF58\uC740 \uBE44\uC6CC \uB454\uB2E4.',
|
|
1049
|
+
group: "content"
|
|
1050
|
+
},
|
|
1051
|
+
styleProp,
|
|
1003
1052
|
classNameProp
|
|
1004
1053
|
],
|
|
1005
1054
|
children: { accepts: false },
|
|
1006
|
-
preset: { component: "Icon", props: { name: "info", size:
|
|
1055
|
+
preset: { component: "Icon", props: { name: "info", size: 18 } },
|
|
1007
1056
|
resize: { kind: "numeric", widthProp: "size", heightProp: "size", unit: "px", axis: "both" }
|
|
1008
1057
|
};
|
|
1009
1058
|
var KeyValueListMeta = {
|
|
@@ -1227,6 +1276,7 @@ var TableMeta = {
|
|
|
1227
1276
|
{ name: "align", kind: "enum", label: "\uC815\uB82C", options: [{ value: "left", label: "\uC67C\uCABD" }, { value: "right", label: "\uC624\uB978\uCABD" }] },
|
|
1228
1277
|
{ name: "mono", kind: "boolean", label: "\uACE0\uC815\uD3ED \uAE00\uAF34" },
|
|
1229
1278
|
{ name: "strong", kind: "boolean", label: "\uAD75\uAC8C" },
|
|
1279
|
+
{ name: "sortable", kind: "boolean", label: "\uC815\uB82C \uAC00\uB2A5", description: "onSort\uB97C \uD568\uAED8 \uC918\uC57C \uD5E4\uB354\uAC00 \uBC84\uD2BC\uC774 \uB41C\uB2E4." },
|
|
1230
1280
|
{
|
|
1231
1281
|
name: "badge",
|
|
1232
1282
|
kind: "object",
|
|
@@ -1249,6 +1299,28 @@ var TableMeta = {
|
|
|
1249
1299
|
},
|
|
1250
1300
|
{ name: "dense", kind: "boolean", label: "\uC870\uBC00\uD558\uAC8C", default: false, description: "\uD589 \uB192\uC774 40px \u2192 32px", group: "appearance" },
|
|
1251
1301
|
{ name: "hover", kind: "boolean", label: "\uD589 \uD638\uBC84 \uAC15\uC870", default: true, group: "appearance" },
|
|
1302
|
+
{ name: "sticky", kind: "boolean", label: "\uD5E4\uB354 \uACE0\uC815", default: false, description: "\uC2A4\uD06C\uB864\uB418\uB294 \uBCF8\uBB38 \uC704\uC5D0 \uBA38\uB9AC\uAE00\uC744 \uBD99\uC5EC \uB454\uB2E4.", group: "appearance" },
|
|
1303
|
+
{
|
|
1304
|
+
name: "sort",
|
|
1305
|
+
kind: "object",
|
|
1306
|
+
label: "\uC815\uB82C \uC0C1\uD0DC",
|
|
1307
|
+
bindable: true,
|
|
1308
|
+
description: "{ key, dir } \u2014 \uD574\uB2F9 \uCEEC\uB7FC \uD5E4\uB354\uC758 \uD654\uC0B4\uD45C \uBC29\uD5A5\uC744 \uC815\uD55C\uB2E4. \uC815\uB82C \uC790\uCCB4\uB294 rows\uB97C \uC8FC\uB294 \uCABD\uC774 \uD55C\uB2E4.",
|
|
1309
|
+
fields: [
|
|
1310
|
+
{ name: "key", kind: "string", label: "\uCEEC\uB7FC key" },
|
|
1311
|
+
{ name: "dir", kind: "enum", label: "\uBC29\uD5A5", options: [{ value: "asc", label: "\uC624\uB984\uCC28\uC21C" }, { value: "desc", label: "\uB0B4\uB9BC\uCC28\uC21C" }] }
|
|
1312
|
+
],
|
|
1313
|
+
group: "data"
|
|
1314
|
+
},
|
|
1315
|
+
{ name: "onSort", kind: "action", label: "\uC815\uB82C \uD5E4\uB354 \uD074\uB9AD", eventArg: "\uCEEC\uB7FC key", group: "behavior" },
|
|
1316
|
+
{
|
|
1317
|
+
name: "selectedIds",
|
|
1318
|
+
kind: "binding",
|
|
1319
|
+
label: "\uC120\uD0DD\uB41C \uD589",
|
|
1320
|
+
bindable: true,
|
|
1321
|
+
description: "rowKey \uAC12\uC758 \uBC30\uC5F4. \uD574\uB2F9 \uD589\uC5D0 aria-selected\uAC00 \uBD99\uACE0 \uC120\uD0DD \uD2F4\uD2B8\uAC00 \uAE54\uB9B0\uB2E4.",
|
|
1322
|
+
group: "data"
|
|
1323
|
+
},
|
|
1252
1324
|
{ name: "rowKey", kind: "string", label: "\uD589 key \uD544\uB4DC", default: "id", group: "data", advanced: true },
|
|
1253
1325
|
{ name: "onRowClick", kind: "action", label: "\uD589 \uD074\uB9AD", eventArg: "\uD589 \uAC1D\uCCB4 \uC804\uCCB4", group: "behavior" },
|
|
1254
1326
|
{ name: "empty", kind: "node", label: "\uBE48 \uBAA9\uB85D \uD45C\uC2DC", slot: true, description: "EmptyState \uAD8C\uC7A5", group: "content" },
|
|
@@ -1619,9 +1691,10 @@ var ProgressBarMeta = {
|
|
|
1619
1691
|
label: "\uC9C4\uD589 \uB9C9\uB300",
|
|
1620
1692
|
category: "feedback",
|
|
1621
1693
|
icon: "minus",
|
|
1622
|
-
description: "
|
|
1694
|
+
description: "\uC9C4\uCC99\xB7\uC6A9\uB7C9 \uB9C9\uB300(.wp-meter). \uBC94\uC704\uB97C \uBC97\uC5B4\uB09C \uAC12\uC740 \uAD6C\uD604\uC5D0\uC11C \uC798\uB77C \uB0B8\uB2E4.",
|
|
1623
1695
|
props: [
|
|
1624
|
-
{ name: "value", kind: "number", label: "\uAC12
|
|
1696
|
+
{ name: "value", kind: "number", label: "\uAC12", required: true, bindable: true, group: "data" },
|
|
1697
|
+
{ name: "max", kind: "number", label: "\uCD5C\uB300\uAC12", default: 100, bindable: true, description: "\uBD84\uBAA8\uAC00 100\uC774 \uC544\uB2CC \uC6A9\uB7C9 \uAC8C\uC774\uC9C0\uC5D0 \uC4F4\uB2E4.", group: "data" },
|
|
1625
1698
|
{
|
|
1626
1699
|
name: "tone",
|
|
1627
1700
|
kind: "enum",
|
|
@@ -1637,13 +1710,33 @@ var ProgressBarMeta = {
|
|
|
1637
1710
|
],
|
|
1638
1711
|
group: "appearance"
|
|
1639
1712
|
},
|
|
1713
|
+
{
|
|
1714
|
+
name: "size",
|
|
1715
|
+
kind: "enum",
|
|
1716
|
+
label: "\uB450\uAED8",
|
|
1717
|
+
default: "md",
|
|
1718
|
+
options: [
|
|
1719
|
+
{ value: "sm", label: "sm 4px" },
|
|
1720
|
+
{ value: "md", label: "md 6px" },
|
|
1721
|
+
{ value: "lg", label: "lg 8px" }
|
|
1722
|
+
],
|
|
1723
|
+
group: "appearance"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
name: "striped",
|
|
1727
|
+
kind: "boolean",
|
|
1728
|
+
label: "\uC0AC\uC120 \uD574\uCE58",
|
|
1729
|
+
default: false,
|
|
1730
|
+
description: "\uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC5D0\uB9CC. \uBA48\uCD98 \uAC12\uC5D0 \uC4F0\uBA74 \uC6C0\uC9C1\uC774\uB294 \uAC83\uCC98\uB7FC \uC77D\uD78C\uB2E4.",
|
|
1731
|
+
group: "appearance"
|
|
1732
|
+
},
|
|
1640
1733
|
{ name: "label", kind: "node", label: "\uB77C\uBCA8", slot: true, group: "content" },
|
|
1641
1734
|
{
|
|
1642
1735
|
name: "showValue",
|
|
1643
1736
|
kind: "boolean",
|
|
1644
1737
|
label: "\uAC12 \uD45C\uC2DC",
|
|
1645
1738
|
default: false,
|
|
1646
|
-
description: "\uB77C\uBCA8
|
|
1739
|
+
description: "\uB77C\uBCA8\uC774 \uC788\uC73C\uBA74 \uB77C\uBCA8 \uC904 \uC624\uB978\uCABD \uB05D\uC5D0, \uC5C6\uC73C\uBA74 \uB9C9\uB300 \uC624\uB978\uCABD \uC606\uC5D0 \uD37C\uC13C\uD2B8\uB97C \uC801\uB294\uB2E4.",
|
|
1647
1740
|
group: "appearance"
|
|
1648
1741
|
},
|
|
1649
1742
|
styleProp,
|
|
@@ -1672,6 +1765,14 @@ var SpinnerMeta = {
|
|
|
1672
1765
|
],
|
|
1673
1766
|
group: "appearance"
|
|
1674
1767
|
},
|
|
1768
|
+
{
|
|
1769
|
+
name: "inverse",
|
|
1770
|
+
kind: "boolean",
|
|
1771
|
+
label: "\uC5B4\uB450\uC6B4 \uD45C\uBA74 \uC704",
|
|
1772
|
+
default: false,
|
|
1773
|
+
description: "\uB124\uC774\uBE44/\uBDF0\uC5B4 \uD45C\uBA74 \uC704\uC5D0\uC11C \uD14C\uB450\uB9AC\uB97C \uBC1D\uC740 \uCABD\uC73C\uB85C \uB4A4\uC9D1\uB294\uB2E4.",
|
|
1774
|
+
group: "appearance"
|
|
1775
|
+
},
|
|
1675
1776
|
{ name: "label", kind: "string", label: "\uC124\uBA85", description: "\uC811\uADFC\uC131 \uB77C\uBCA8 \uACB8 \uC606 \uCEA1\uC158", group: "content" },
|
|
1676
1777
|
classNameProp
|
|
1677
1778
|
],
|
|
@@ -1703,6 +1804,7 @@ var ToastMeta = {
|
|
|
1703
1804
|
group: "appearance"
|
|
1704
1805
|
},
|
|
1705
1806
|
{ name: "title", kind: "node", label: "\uC81C\uBAA9", slot: true, group: "content" },
|
|
1807
|
+
{ name: "action", kind: "node", label: "\uC778\uB77C\uC778 \uC561\uC158", slot: true, description: '\uB418\uB3CC\uB9AC\uAE30 \uAC19\uC740 \uAC83 \uD558\uB098. Button variant="link"\uB97C \uB123\uB294\uB2E4.', group: "content" },
|
|
1706
1808
|
{ name: "onClose", kind: "action", label: "\uB2EB\uAE30", group: "behavior" },
|
|
1707
1809
|
classNameProp
|
|
1708
1810
|
],
|
package/dist/rich.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { HoistedStyle, Spinner, EmptyState } from './chunk-
|
|
2
|
-
export { DatePicker, DateRangePicker } from './chunk-
|
|
1
|
+
import { HoistedStyle, Spinner, EmptyState } from './chunk-QJHD6HVQ.js';
|
|
2
|
+
export { DatePicker, DateRangePicker } from './chunk-QJHD6HVQ.js';
|
|
3
3
|
import { useRef, useCallback, useMemo, useState, useEffect, useLayoutEffect } from 'react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|