@samkwang/ui-kit 0.1.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/README.md +167 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +391 -0
- package/dist/index.d.ts +391 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/tailwind-preset.cjs +3 -0
- package/dist/tailwind-preset.cjs.map +1 -0
- package/dist/tailwind-preset.d.cts +13 -0
- package/dist/tailwind-preset.d.ts +13 -0
- package/dist/tailwind-preset.js +3 -0
- package/dist/tailwind-preset.js.map +1 -0
- package/package.json +103 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
6
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
7
|
+
import * as SwitchPrimitive from '@radix-ui/react-switch';
|
|
8
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
|
+
import { ColumnDef, RowSelectionState, SortingState, Column } from '@tanstack/react-table';
|
|
10
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
11
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
12
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
13
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
14
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
15
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
16
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
17
|
+
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
18
|
+
import { ClassValue } from 'clsx';
|
|
19
|
+
|
|
20
|
+
declare const buttonVariants: (props?: ({
|
|
21
|
+
variant?: "primary" | "secondary" | "danger" | "ghost" | "link" | null | undefined;
|
|
22
|
+
size?: "sm" | "default" | "lg" | "icon" | null | undefined;
|
|
23
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
24
|
+
interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
25
|
+
asChild?: boolean;
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
fullWidth?: boolean;
|
|
28
|
+
}
|
|
29
|
+
declare const Button: React$1.ForwardRefExoticComponent<ButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
30
|
+
|
|
31
|
+
interface InputProps extends React$1.InputHTMLAttributes<HTMLInputElement> {
|
|
32
|
+
label?: string;
|
|
33
|
+
helperText?: string;
|
|
34
|
+
errorText?: string;
|
|
35
|
+
inputSize?: "sm" | "default" | "lg";
|
|
36
|
+
}
|
|
37
|
+
declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
38
|
+
|
|
39
|
+
interface LabelProps extends React$1.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> {
|
|
40
|
+
required?: boolean;
|
|
41
|
+
}
|
|
42
|
+
declare const Label: React$1.ForwardRefExoticComponent<LabelProps & React$1.RefAttributes<HTMLLabelElement>>;
|
|
43
|
+
|
|
44
|
+
interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
45
|
+
label?: string;
|
|
46
|
+
helperText?: string;
|
|
47
|
+
errorText?: string;
|
|
48
|
+
}
|
|
49
|
+
declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
|
|
50
|
+
|
|
51
|
+
interface SelectOption {
|
|
52
|
+
value: string;
|
|
53
|
+
label: string;
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
}
|
|
56
|
+
interface SelectProps extends Omit<React$1.SelectHTMLAttributes<HTMLSelectElement>, "size"> {
|
|
57
|
+
label?: string;
|
|
58
|
+
helperText?: string;
|
|
59
|
+
errorText?: string;
|
|
60
|
+
options: SelectOption[];
|
|
61
|
+
placeholder?: string;
|
|
62
|
+
selectSize?: "sm" | "default" | "lg";
|
|
63
|
+
}
|
|
64
|
+
declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLSelectElement>>;
|
|
65
|
+
|
|
66
|
+
interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
|
|
67
|
+
label?: string;
|
|
68
|
+
}
|
|
69
|
+
declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
70
|
+
|
|
71
|
+
interface SwitchProps extends React$1.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> {
|
|
72
|
+
label?: string;
|
|
73
|
+
switchSize?: "sm" | "default";
|
|
74
|
+
}
|
|
75
|
+
declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
76
|
+
|
|
77
|
+
interface SearchProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> {
|
|
78
|
+
searchSize?: "sm" | "lg";
|
|
79
|
+
onClear?: () => void;
|
|
80
|
+
}
|
|
81
|
+
declare const Search: React$1.ForwardRefExoticComponent<SearchProps & React$1.RefAttributes<HTMLInputElement>>;
|
|
82
|
+
|
|
83
|
+
/** plm-ui-standard 시맨틱 상태 (--color-danger / warning / success / info) */
|
|
84
|
+
type PlmBadgeVariant = "danger" | "warning" | "success" | "info" | "neutral";
|
|
85
|
+
interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
|
|
86
|
+
variant: PlmBadgeVariant;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* 상태·라벨용 공통 배지. 배경은 틴트(color-mix), 텍스트는 시맨틱 색.
|
|
90
|
+
*/
|
|
91
|
+
declare function Badge({ variant, className, children, ...rest }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
92
|
+
|
|
93
|
+
interface TableProps extends HTMLAttributes<HTMLTableElement> {
|
|
94
|
+
children: ReactNode;
|
|
95
|
+
/** 스크롤 래퍼(폭 100%)에 추가 클래스 */
|
|
96
|
+
frameClassName?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 통합 테이블 래퍼: 부모 폭 100%, 가로 스크롤, 내부 `<table class="plm-table">`.
|
|
100
|
+
* 셀 패딩·구분선은 전역 `.plm-table` 스타일을 따른다.
|
|
101
|
+
*/
|
|
102
|
+
declare function Table({ frameClassName, className, children, ...tableProps }: TableProps): react_jsx_runtime.JSX.Element;
|
|
103
|
+
|
|
104
|
+
interface TablePaginationProps {
|
|
105
|
+
pageIndex: number;
|
|
106
|
+
pageCount: number;
|
|
107
|
+
onPageChange: (nextIndex: number) => void;
|
|
108
|
+
className?: string;
|
|
109
|
+
/** 접근성 라벨 */
|
|
110
|
+
"aria-label"?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 테이블 하단 우측 미니 페이지네이션 (참고 UI: ◀ 1 2 … ▶).
|
|
114
|
+
*/
|
|
115
|
+
declare function TablePagination({ pageIndex, pageCount, onPageChange, className, "aria-label": ariaLabel, }: TablePaginationProps): react_jsx_runtime.JSX.Element | null;
|
|
116
|
+
|
|
117
|
+
type DataTableVariant = "service-desk" | "data-table" | "project-task";
|
|
118
|
+
interface SortButtonProps<TData> {
|
|
119
|
+
column: Column<TData, unknown>;
|
|
120
|
+
children: React.ReactNode;
|
|
121
|
+
variant: DataTableVariant;
|
|
122
|
+
sortButtonClassName?: string;
|
|
123
|
+
}
|
|
124
|
+
/** TanStack 컬럼 헤더용 정렬 버튼 */
|
|
125
|
+
declare function SortButton<TData>({ column, children, variant, sortButtonClassName, }: SortButtonProps<TData>): react_jsx_runtime.JSX.Element;
|
|
126
|
+
interface DataTableProps<TData> {
|
|
127
|
+
data: TData[];
|
|
128
|
+
columns: ColumnDef<TData, any>[];
|
|
129
|
+
getRowId?: (row: TData, index: number) => string;
|
|
130
|
+
onRowClick?: (row: TData) => void;
|
|
131
|
+
/** 단일 행 선택 (클릭 기반) */
|
|
132
|
+
enableRowSelection?: boolean;
|
|
133
|
+
selectedRowId?: string | null;
|
|
134
|
+
onSelectedRowChange?: (rowId: string | null, row: TData | null) => void;
|
|
135
|
+
/** 멀티 행 선택 (체크박스 기반) — enableRowSelection과 독립 동작 */
|
|
136
|
+
enableMultiSelect?: boolean;
|
|
137
|
+
selectedRowIds?: RowSelectionState;
|
|
138
|
+
onSelectedRowsChange?: (selectedIds: RowSelectionState, selectedRows: TData[]) => void;
|
|
139
|
+
rowClassName?: (row: TData) => string | undefined;
|
|
140
|
+
emptyMessage?: string;
|
|
141
|
+
variant?: DataTableVariant;
|
|
142
|
+
wrapClassName?: string;
|
|
143
|
+
tableClassName?: string;
|
|
144
|
+
initialSorting?: SortingState;
|
|
145
|
+
enableSorting?: boolean;
|
|
146
|
+
/** 설정 시 클라이언트 페이지네이션 및 하단 페이지 바 표시 */
|
|
147
|
+
pageSize?: number;
|
|
148
|
+
}
|
|
149
|
+
declare function DataTable<TData>({ data, columns: userColumns, getRowId, onRowClick, enableRowSelection, selectedRowId, onSelectedRowChange, enableMultiSelect, selectedRowIds: controlledRowSelection, onSelectedRowsChange, rowClassName, emptyMessage, variant, wrapClassName, tableClassName, initialSorting, enableSorting, pageSize, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
150
|
+
|
|
151
|
+
declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
152
|
+
declare const TabsList: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
153
|
+
variant?: "line" | "contained";
|
|
154
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
155
|
+
declare const TabsTrigger: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
|
|
156
|
+
variant?: "line" | "contained";
|
|
157
|
+
} & React$1.RefAttributes<HTMLButtonElement>>;
|
|
158
|
+
declare const TabsContent: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
159
|
+
|
|
160
|
+
interface TreeNode {
|
|
161
|
+
id: string;
|
|
162
|
+
label: string;
|
|
163
|
+
icon?: React$1.ReactNode;
|
|
164
|
+
children?: TreeNode[];
|
|
165
|
+
disabled?: boolean;
|
|
166
|
+
}
|
|
167
|
+
interface TreeViewProps {
|
|
168
|
+
data: TreeNode[];
|
|
169
|
+
defaultExpanded?: string[];
|
|
170
|
+
onSelect?: (node: TreeNode) => void;
|
|
171
|
+
selectedId?: string;
|
|
172
|
+
className?: string;
|
|
173
|
+
}
|
|
174
|
+
declare function TreeView({ data, defaultExpanded, onSelect, selectedId, className }: TreeViewProps): react_jsx_runtime.JSX.Element;
|
|
175
|
+
|
|
176
|
+
interface ListProps extends React$1.HTMLAttributes<HTMLUListElement> {
|
|
177
|
+
variant?: "default" | "contained";
|
|
178
|
+
}
|
|
179
|
+
declare const List: React$1.ForwardRefExoticComponent<ListProps & React$1.RefAttributes<HTMLUListElement>>;
|
|
180
|
+
interface ListItemProps extends React$1.LiHTMLAttributes<HTMLLIElement> {
|
|
181
|
+
active?: boolean;
|
|
182
|
+
disabled?: boolean;
|
|
183
|
+
interactive?: boolean;
|
|
184
|
+
}
|
|
185
|
+
declare const ListItem: React$1.ForwardRefExoticComponent<ListItemProps & React$1.RefAttributes<HTMLLIElement>>;
|
|
186
|
+
interface ListHeaderProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
187
|
+
}
|
|
188
|
+
declare const ListHeader: React$1.ForwardRefExoticComponent<ListHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
189
|
+
|
|
190
|
+
declare const Accordion: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
|
|
191
|
+
declare const AccordionItem: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
192
|
+
declare const AccordionTrigger: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
193
|
+
declare const AccordionContent: React$1.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
194
|
+
|
|
195
|
+
declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
|
|
196
|
+
declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
197
|
+
declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
198
|
+
declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
199
|
+
size?: "sm" | "default" | "lg" | "xl" | "full";
|
|
200
|
+
hideClose?: boolean;
|
|
201
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
202
|
+
declare const DialogHeader: ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
203
|
+
declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
204
|
+
declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
205
|
+
declare const DialogBody: ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
206
|
+
declare const DialogFooter: ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>) => react_jsx_runtime.JSX.Element;
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* 표준 모달 공통 타입
|
|
210
|
+
*/
|
|
211
|
+
interface StandardModalProps {
|
|
212
|
+
open: boolean;
|
|
213
|
+
onClose: () => void;
|
|
214
|
+
title: string;
|
|
215
|
+
children: React.ReactNode;
|
|
216
|
+
/** 저장 시 호출. 없으면 저장 버튼 미노출 */
|
|
217
|
+
onSave?: () => void | Promise<void>;
|
|
218
|
+
cancelLabel?: string;
|
|
219
|
+
saveLabel?: string;
|
|
220
|
+
/** true이면 닫기/취소 시 확인 */
|
|
221
|
+
hasUnsavedChanges?: boolean;
|
|
222
|
+
saveDisabled?: boolean;
|
|
223
|
+
/** 헤더에 추가로 표시할 요소 (기본: 취소/저장 버튼) */
|
|
224
|
+
headerActions?: React.ReactNode;
|
|
225
|
+
/** overlay 클릭 시 닫기 (기본 true) */
|
|
226
|
+
closeOnOverlayClick?: boolean;
|
|
227
|
+
/** aria-label for dialog */
|
|
228
|
+
ariaLabel?: string;
|
|
229
|
+
/** `.standard-modal`에 추가 클래스 (예: standard-modal--wide) */
|
|
230
|
+
modalClassName?: string;
|
|
231
|
+
}
|
|
232
|
+
interface ModalSectionProps {
|
|
233
|
+
title: string;
|
|
234
|
+
children: React.ReactNode;
|
|
235
|
+
/** 단일 열 레이아웃 사용 시 true */
|
|
236
|
+
fullWidth?: boolean;
|
|
237
|
+
}
|
|
238
|
+
interface FormGridProps {
|
|
239
|
+
children: React.ReactNode;
|
|
240
|
+
/** true면 1열 (grid-column: 1 / -1) */
|
|
241
|
+
fullWidth?: boolean;
|
|
242
|
+
}
|
|
243
|
+
interface ModalActionButtonsProps {
|
|
244
|
+
onCancel: () => void;
|
|
245
|
+
onSave?: () => void | Promise<void>;
|
|
246
|
+
cancelLabel?: string;
|
|
247
|
+
saveLabel?: string;
|
|
248
|
+
saveDisabled?: boolean;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* 표준 Form Modal: 헤더(제목 + 취소/저장) 고정, Body 스크롤, ESC/닫기 경고
|
|
253
|
+
*/
|
|
254
|
+
declare function StandardModal({ open, onClose, title, children, onSave, cancelLabel, saveLabel, hasUnsavedChanges, saveDisabled, headerActions, closeOnOverlayClick, ariaLabel, modalClassName, }: StandardModalProps): React$1.ReactPortal | null;
|
|
255
|
+
|
|
256
|
+
interface ModalHeaderProps {
|
|
257
|
+
title: string;
|
|
258
|
+
/** 우측 액션 (기본: ModalActionButtons) */
|
|
259
|
+
actions?: ReactNode;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* 모달 상단: [ 제목 | 액션(취소/저장) ]
|
|
263
|
+
*/
|
|
264
|
+
declare function ModalHeader({ title, actions }: ModalHeaderProps): react_jsx_runtime.JSX.Element;
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* 모달 내 섹션: 제목 + 구분선 + 내용
|
|
268
|
+
*/
|
|
269
|
+
declare function ModalSection({ title, children, fullWidth }: ModalSectionProps): react_jsx_runtime.JSX.Element;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* 2열 그리드 (1fr 1fr, gap 16px). fullWidth면 단일 열.
|
|
273
|
+
*/
|
|
274
|
+
declare function FormGrid({ children, fullWidth }: FormGridProps): react_jsx_runtime.JSX.Element;
|
|
275
|
+
|
|
276
|
+
interface FormFieldProps {
|
|
277
|
+
label: string;
|
|
278
|
+
required?: boolean;
|
|
279
|
+
helper?: string;
|
|
280
|
+
/** 단일 열로 span (FormGrid 내에서) */
|
|
281
|
+
fullWidth?: boolean;
|
|
282
|
+
children: ReactNode;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* 라벨(* 옵션) + children + 보조 설명(helper)
|
|
286
|
+
*/
|
|
287
|
+
declare function FormField({ label, required, helper, fullWidth, children }: FormFieldProps): react_jsx_runtime.JSX.Element;
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* 모달 헤더용 액션 버튼: [취소] [저장]
|
|
291
|
+
* 취소 = Ghost/Secondary, 저장 = Primary
|
|
292
|
+
*/
|
|
293
|
+
declare function ModalActionButtons({ onCancel, onSave, cancelLabel, saveLabel, saveDisabled, }: ModalActionButtonsProps): react_jsx_runtime.JSX.Element;
|
|
294
|
+
|
|
295
|
+
declare const DropdownMenu: React$1.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
296
|
+
declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
297
|
+
declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
298
|
+
declare const DropdownMenuSub: React$1.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
|
|
299
|
+
declare const DropdownMenuSubTrigger: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
300
|
+
declare const DropdownMenuSubContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
301
|
+
declare const DropdownMenuContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
302
|
+
declare const DropdownMenuItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
303
|
+
destructive?: boolean;
|
|
304
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
305
|
+
declare const DropdownMenuCheckboxItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
306
|
+
declare const DropdownMenuSeparator: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
307
|
+
declare const DropdownMenuLabel: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
308
|
+
|
|
309
|
+
declare const Popover: React$1.FC<PopoverPrimitive.PopoverProps>;
|
|
310
|
+
declare const PopoverTrigger: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
311
|
+
declare const PopoverAnchor: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
312
|
+
declare const PopoverClose: React$1.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
313
|
+
declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
314
|
+
|
|
315
|
+
declare const TooltipProvider: React$1.FC<TooltipPrimitive.TooltipProviderProps>;
|
|
316
|
+
interface TooltipProps {
|
|
317
|
+
content: React$1.ReactNode;
|
|
318
|
+
children: React$1.ReactNode;
|
|
319
|
+
side?: "top" | "bottom" | "left" | "right";
|
|
320
|
+
delayDuration?: number;
|
|
321
|
+
className?: string;
|
|
322
|
+
}
|
|
323
|
+
declare function Tooltip({ content, children, side, delayDuration, className }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
324
|
+
|
|
325
|
+
declare const notificationVariants: (props?: ({
|
|
326
|
+
variant?: "warning" | "success" | "info" | "error" | null | undefined;
|
|
327
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
328
|
+
interface NotificationProps extends VariantProps<typeof notificationVariants> {
|
|
329
|
+
title: string;
|
|
330
|
+
message?: string;
|
|
331
|
+
onClose?: () => void;
|
|
332
|
+
closable?: boolean;
|
|
333
|
+
action?: {
|
|
334
|
+
label: string;
|
|
335
|
+
onClick: () => void;
|
|
336
|
+
};
|
|
337
|
+
className?: string;
|
|
338
|
+
}
|
|
339
|
+
declare function Notification({ variant, title, message, onClose, closable, action, className, }: NotificationProps): react_jsx_runtime.JSX.Element;
|
|
340
|
+
|
|
341
|
+
interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
342
|
+
variant?: "text" | "circular" | "rectangular";
|
|
343
|
+
}
|
|
344
|
+
declare const Skeleton: React$1.ForwardRefExoticComponent<SkeletonProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
345
|
+
|
|
346
|
+
interface SpinnerProps {
|
|
347
|
+
size?: "sm" | "default" | "lg";
|
|
348
|
+
label?: string;
|
|
349
|
+
className?: string;
|
|
350
|
+
}
|
|
351
|
+
declare function Spinner({ size, label, className }: SpinnerProps): react_jsx_runtime.JSX.Element;
|
|
352
|
+
declare function SpinnerInline({ className }: {
|
|
353
|
+
className?: string;
|
|
354
|
+
}): react_jsx_runtime.JSX.Element;
|
|
355
|
+
|
|
356
|
+
interface DatePickerProps {
|
|
357
|
+
value?: string;
|
|
358
|
+
onChange: (value: string) => void;
|
|
359
|
+
placeholder?: string;
|
|
360
|
+
disabled?: boolean;
|
|
361
|
+
id?: string;
|
|
362
|
+
required?: boolean;
|
|
363
|
+
className?: string;
|
|
364
|
+
minDate?: string;
|
|
365
|
+
maxDate?: string;
|
|
366
|
+
/** 포커스가 빠질 때 (부모에서 자동 저장 등에 사용) */
|
|
367
|
+
onBlur?: () => void;
|
|
368
|
+
}
|
|
369
|
+
declare function DatePicker({ value, onChange, placeholder, disabled, id, required, className, minDate, maxDate, onBlur, }: DatePickerProps): react_jsx_runtime.JSX.Element;
|
|
370
|
+
|
|
371
|
+
declare const Separator: React$1.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
372
|
+
|
|
373
|
+
declare const ScrollArea: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
374
|
+
declare const ScrollBar: React$1.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* plm-ui-standard: Header → Filter → Content 구조의 공통 페이지 래퍼.
|
|
378
|
+
*/
|
|
379
|
+
interface PlmPageShellProps {
|
|
380
|
+
title: string;
|
|
381
|
+
subtitle?: string;
|
|
382
|
+
headerActions?: React.ReactNode;
|
|
383
|
+
filters?: React.ReactNode;
|
|
384
|
+
children: React.ReactNode;
|
|
385
|
+
className?: string;
|
|
386
|
+
}
|
|
387
|
+
declare function PlmPageShell({ title, subtitle, headerActions, filters, children, className, }: PlmPageShellProps): react_jsx_runtime.JSX.Element;
|
|
388
|
+
|
|
389
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
390
|
+
|
|
391
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Badge, type BadgeProps, Button, type ButtonProps, Checkbox, type CheckboxProps, DataTable, type DataTableProps, type DataTableVariant, DatePicker, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FormField, FormGrid, type FormGridProps, Input, type InputProps, Label, type LabelProps, List, ListHeader, type ListHeaderProps, ListItem, type ListItemProps, type ListProps, ModalActionButtons, type ModalActionButtonsProps, ModalHeader, ModalSection, type ModalSectionProps, Notification, type NotificationProps, type PlmBadgeVariant, PlmPageShell, type PlmPageShellProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, ScrollArea, ScrollBar, Search, type SearchProps, Select, type SelectOption, type SelectProps, Separator, Skeleton, type SkeletonProps, SortButton, type SortButtonProps, Spinner, SpinnerInline, type SpinnerProps, StandardModal, type StandardModalProps, Switch, type SwitchProps, Table, TablePagination, type TablePaginationProps, type TableProps, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, Tooltip, type TooltipProps, TooltipProvider, type TreeNode, TreeView, type TreeViewProps, buttonVariants, cn, notificationVariants };
|