@olundot/ui 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/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +31 -0
- package/dist/index.d.ts +976 -0
- package/dist/index.js +7313 -0
- package/dist/tailwind.preset.d.ts +18 -0
- package/dist/tailwind.preset.js +29 -0
- package/dist/tokens.css +73 -0
- package/package.json +80 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,976 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { SVGProps } from 'react';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { LucideIcon } from 'lucide-react';
|
|
7
|
+
import { Select as Select$1, Tabs as Tabs$1, Dialog as Dialog$1, Separator as Separator$1, Avatar as Avatar$1, DropdownMenu as DropdownMenu$1, Tooltip as Tooltip$1, Checkbox as Checkbox$1, RadioGroup, ScrollArea as ScrollArea$1 } from 'radix-ui';
|
|
8
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
11
|
+
|
|
12
|
+
declare const buttonVariants: (props?: ({
|
|
13
|
+
variant?: "primary" | "secondary" | "destructive" | "outline" | "ghost" | "danger" | "emergency" | "subtle" | "default" | "link" | null | undefined;
|
|
14
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | "default" | "icon" | "icon-xs" | null | undefined;
|
|
15
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
16
|
+
type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;
|
|
17
|
+
type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;
|
|
18
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
19
|
+
asChild?: boolean;
|
|
20
|
+
leadingIcon?: LucideIcon;
|
|
21
|
+
trailingIcon?: LucideIcon;
|
|
22
|
+
loading?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
25
|
+
|
|
26
|
+
type CopyButtonProps = Omit<ButtonProps, 'children' | 'leadingIcon' | 'loading' | 'size' | 'trailingIcon' | 'variant'> & {
|
|
27
|
+
value: string;
|
|
28
|
+
label?: React.ReactNode;
|
|
29
|
+
copiedLabel?: React.ReactNode;
|
|
30
|
+
onCopied?: () => void;
|
|
31
|
+
size?: ButtonSize;
|
|
32
|
+
variant?: ButtonVariant;
|
|
33
|
+
duration?: number;
|
|
34
|
+
};
|
|
35
|
+
declare const CopyButton: React.ForwardRefExoticComponent<Omit<ButtonProps, "variant" | "size" | "leadingIcon" | "trailingIcon" | "loading" | "children"> & {
|
|
36
|
+
value: string;
|
|
37
|
+
label?: React.ReactNode;
|
|
38
|
+
copiedLabel?: React.ReactNode;
|
|
39
|
+
onCopied?: () => void;
|
|
40
|
+
size?: ButtonSize;
|
|
41
|
+
variant?: ButtonVariant;
|
|
42
|
+
duration?: number;
|
|
43
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
44
|
+
|
|
45
|
+
declare const inputVariants: (props?: ({
|
|
46
|
+
inputSize?: "xs" | "sm" | "md" | "lg" | "default" | null | undefined;
|
|
47
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
48
|
+
declare const inputMessageVariants: (props?: ({
|
|
49
|
+
state?: "error" | "success" | "default" | null | undefined;
|
|
50
|
+
inputSize?: "xs" | "sm" | "md" | "lg" | "default" | null | undefined;
|
|
51
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
52
|
+
type InputState = NonNullable<VariantProps<typeof inputMessageVariants>["state"]>;
|
|
53
|
+
interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {
|
|
54
|
+
invalid?: boolean;
|
|
55
|
+
label?: React.ReactNode;
|
|
56
|
+
message?: React.ReactNode;
|
|
57
|
+
state?: InputState;
|
|
58
|
+
}
|
|
59
|
+
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
60
|
+
|
|
61
|
+
declare const fileUploadZoneVariants: (props?: ({
|
|
62
|
+
size?: "default" | "compact" | null | undefined;
|
|
63
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
64
|
+
declare const fileUploadIconVariants: (props?: ({
|
|
65
|
+
size?: "default" | "compact" | null | undefined;
|
|
66
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
67
|
+
interface FileUploadZoneProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, "onChange">, VariantProps<typeof fileUploadZoneVariants> {
|
|
68
|
+
accept?: string;
|
|
69
|
+
multiple?: boolean;
|
|
70
|
+
onFiles?: (files: FileList) => void;
|
|
71
|
+
label?: React.ReactNode;
|
|
72
|
+
hint?: React.ReactNode;
|
|
73
|
+
error?: React.ReactNode;
|
|
74
|
+
disabled?: boolean;
|
|
75
|
+
}
|
|
76
|
+
declare const FileUploadZone: React.ForwardRefExoticComponent<FileUploadZoneProps & React.RefAttributes<HTMLLabelElement>>;
|
|
77
|
+
|
|
78
|
+
declare const alertVariants: (props?: ({
|
|
79
|
+
variant?: "error" | "warning" | "info" | "success" | null | undefined;
|
|
80
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
81
|
+
declare const inlineAlertVariants: (props?: ({
|
|
82
|
+
variant?: "error" | "warning" | "info" | "success" | null | undefined;
|
|
83
|
+
surface?: "filled" | "plain" | null | undefined;
|
|
84
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
85
|
+
type AlertVariant = NonNullable<VariantProps<typeof alertVariants>['variant']>;
|
|
86
|
+
interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'children'>, VariantProps<typeof alertVariants> {
|
|
87
|
+
title?: React.ReactNode;
|
|
88
|
+
children: React.ReactNode;
|
|
89
|
+
icon?: React.ReactNode;
|
|
90
|
+
onDismiss?: () => void;
|
|
91
|
+
}
|
|
92
|
+
interface InlineAlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof inlineAlertVariants> {
|
|
93
|
+
children: React.ReactNode;
|
|
94
|
+
icon?: React.ReactNode;
|
|
95
|
+
}
|
|
96
|
+
declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
97
|
+
/**
|
|
98
|
+
* InlineAlert is for inline status text only. Use Alert or Toast when the UI needs dismissal.
|
|
99
|
+
*
|
|
100
|
+
* surface variants:
|
|
101
|
+
* - `filled` (default): accent tint 배경. table toolbar / 영역 분리가 필요한 위치.
|
|
102
|
+
* - `plain`: 배경 없음. form field 바로 아래처럼 인접 input과 영역 충돌을 피해야 하는 위치.
|
|
103
|
+
*/
|
|
104
|
+
declare const InlineAlert: React.ForwardRefExoticComponent<InlineAlertProps & React.RefAttributes<HTMLDivElement>>;
|
|
105
|
+
|
|
106
|
+
declare const textareaVariants: (props?: ({
|
|
107
|
+
textareaSize?: "default" | "compact" | "large" | null | undefined;
|
|
108
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
109
|
+
declare const textareaMessageVariants: (props?: ({
|
|
110
|
+
state?: "error" | "success" | "default" | null | undefined;
|
|
111
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
112
|
+
type TextareaState = NonNullable<VariantProps<typeof textareaMessageVariants>["state"]>;
|
|
113
|
+
type TextareaSize = NonNullable<VariantProps<typeof textareaVariants>["textareaSize"]>;
|
|
114
|
+
interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "children">, VariantProps<typeof textareaVariants> {
|
|
115
|
+
invalid?: boolean;
|
|
116
|
+
label?: React.ReactNode;
|
|
117
|
+
message?: React.ReactNode;
|
|
118
|
+
state?: TextareaState;
|
|
119
|
+
valueLength?: number;
|
|
120
|
+
}
|
|
121
|
+
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
122
|
+
|
|
123
|
+
declare const selectVariants: (props?: ({
|
|
124
|
+
selectVariant?: "inline" | "field" | null | undefined;
|
|
125
|
+
selectSize?: "sm" | "md" | "lg" | null | undefined;
|
|
126
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
127
|
+
declare const selectMessageVariants: (props?: ({
|
|
128
|
+
state?: "error" | "success" | "default" | null | undefined;
|
|
129
|
+
selectSize?: "sm" | "md" | "lg" | null | undefined;
|
|
130
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
131
|
+
type SelectState = NonNullable<VariantProps<typeof selectMessageVariants>["state"]>;
|
|
132
|
+
type SelectSize = NonNullable<VariantProps<typeof selectVariants>["selectSize"]>;
|
|
133
|
+
interface SelectOption {
|
|
134
|
+
value: string;
|
|
135
|
+
label: React.ReactNode;
|
|
136
|
+
disabled?: boolean;
|
|
137
|
+
}
|
|
138
|
+
interface SelectProps extends Omit<React.ComponentPropsWithoutRef<typeof Select$1.Root>, "children" | "dir">, VariantProps<typeof selectVariants> {
|
|
139
|
+
className?: string;
|
|
140
|
+
id?: string;
|
|
141
|
+
label?: React.ReactNode;
|
|
142
|
+
message?: React.ReactNode;
|
|
143
|
+
invalid?: boolean;
|
|
144
|
+
state?: SelectState;
|
|
145
|
+
options: readonly SelectOption[];
|
|
146
|
+
placeholder?: React.ReactNode;
|
|
147
|
+
"aria-label"?: React.AriaAttributes["aria-label"];
|
|
148
|
+
"aria-describedby"?: string;
|
|
149
|
+
"aria-invalid"?: React.AriaAttributes["aria-invalid"];
|
|
150
|
+
}
|
|
151
|
+
declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
152
|
+
|
|
153
|
+
declare const formFieldVariants: (props?: ({
|
|
154
|
+
layout?: "horizontal" | "vertical" | null | undefined;
|
|
155
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
156
|
+
declare const formFieldLabelClassName = "text-[13px] font-medium leading-[1.35] text-[var(--text-secondary)]";
|
|
157
|
+
declare const formFieldRequiredClassName = "ml-[2px] text-[var(--semantic-error,var(--error))]";
|
|
158
|
+
declare const formFieldDescriptionClassName = "ml-[var(--space-1-5)] text-[12px] leading-[1.4] text-[var(--text-tertiary)]";
|
|
159
|
+
declare const formFieldErrorClassName = "ml-[var(--space-1-5)] text-[12px] leading-[1.4] text-[var(--semantic-error,var(--error))]";
|
|
160
|
+
declare const formFieldControlStackClassName = "flex min-w-0 flex-col gap-[var(--space-0-5)]";
|
|
161
|
+
interface FormFieldProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
162
|
+
label: React.ReactNode;
|
|
163
|
+
required?: boolean;
|
|
164
|
+
description?: React.ReactNode;
|
|
165
|
+
error?: React.ReactNode;
|
|
166
|
+
children: React.ReactNode | ((field: FormFieldRenderProps) => React.ReactNode);
|
|
167
|
+
layout?: "vertical" | "horizontal";
|
|
168
|
+
id?: string;
|
|
169
|
+
}
|
|
170
|
+
interface FormFieldRenderProps {
|
|
171
|
+
controlProps: {
|
|
172
|
+
id?: string;
|
|
173
|
+
"aria-describedby"?: string;
|
|
174
|
+
"aria-invalid"?: true;
|
|
175
|
+
};
|
|
176
|
+
descriptionId?: string;
|
|
177
|
+
errorId?: string;
|
|
178
|
+
invalid: boolean;
|
|
179
|
+
}
|
|
180
|
+
declare function FormField({ label, required, description, error, children, layout, id, className, ...props }: FormFieldProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
|
|
182
|
+
type PermissionFallback = "hide" | "disabled" | React.ReactNode;
|
|
183
|
+
interface PermissionScope {
|
|
184
|
+
resourceId?: string;
|
|
185
|
+
resourceType?: string;
|
|
186
|
+
}
|
|
187
|
+
interface PermissionState {
|
|
188
|
+
permissions?: readonly string[];
|
|
189
|
+
grants?: readonly string[];
|
|
190
|
+
denies?: readonly string[];
|
|
191
|
+
delegations?: readonly string[];
|
|
192
|
+
rolePermissions?: readonly string[];
|
|
193
|
+
}
|
|
194
|
+
type PermissionEvaluator = PermissionState | readonly string[] | ((permission: string, scope?: PermissionScope) => boolean);
|
|
195
|
+
interface PermissionProviderProps {
|
|
196
|
+
children: React.ReactNode;
|
|
197
|
+
permissions?: PermissionEvaluator;
|
|
198
|
+
value?: PermissionEvaluator;
|
|
199
|
+
}
|
|
200
|
+
interface PermissionGuardProps {
|
|
201
|
+
permission: string;
|
|
202
|
+
children: React.ReactNode;
|
|
203
|
+
fallback?: PermissionFallback;
|
|
204
|
+
scope?: PermissionScope;
|
|
205
|
+
permissions?: PermissionEvaluator;
|
|
206
|
+
disabledReason?: React.ReactNode;
|
|
207
|
+
}
|
|
208
|
+
declare const PermissionContext: React.Context<PermissionEvaluator | undefined>;
|
|
209
|
+
declare function PermissionProvider({ children, permissions, value, }: PermissionProviderProps): react_jsx_runtime.JSX.Element;
|
|
210
|
+
declare function usePermission(permission: string, scope?: PermissionScope): boolean;
|
|
211
|
+
declare function evaluatePermission(permission: string, state?: PermissionEvaluator, scope?: PermissionScope): boolean;
|
|
212
|
+
declare function PermissionGuard({ permission, children, fallback, scope, permissions, disabledReason, }: PermissionGuardProps): react_jsx_runtime.JSX.Element | null;
|
|
213
|
+
|
|
214
|
+
declare const choiceGroupVariants: (props?: ({
|
|
215
|
+
type?: "single" | "multi" | null | undefined;
|
|
216
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
217
|
+
declare const choiceRowVariants: (props?: ({
|
|
218
|
+
interactive?: boolean | null | undefined;
|
|
219
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
220
|
+
declare const choiceMarkerVariants: (props?: ({
|
|
221
|
+
interactive?: boolean | null | undefined;
|
|
222
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
223
|
+
declare const choiceBodyVariants: (props?: ({
|
|
224
|
+
disabled?: boolean | null | undefined;
|
|
225
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
226
|
+
type ChoiceGroupType = "single" | "multi";
|
|
227
|
+
type ChoiceGroupVariant = "default" | "review-only" | "corrected-answer-display";
|
|
228
|
+
interface ChoiceGroupOption {
|
|
229
|
+
value: string;
|
|
230
|
+
body: React.ReactNode;
|
|
231
|
+
description?: React.ReactNode;
|
|
232
|
+
disabled?: boolean;
|
|
233
|
+
correct?: boolean;
|
|
234
|
+
}
|
|
235
|
+
type AccessibleGroupName$1 = {
|
|
236
|
+
"aria-label": string;
|
|
237
|
+
"aria-labelledby"?: never;
|
|
238
|
+
} | {
|
|
239
|
+
"aria-label"?: never;
|
|
240
|
+
"aria-labelledby": string;
|
|
241
|
+
};
|
|
242
|
+
interface ChoiceGroupBaseProps {
|
|
243
|
+
className?: string;
|
|
244
|
+
options: readonly ChoiceGroupOption[];
|
|
245
|
+
variant?: ChoiceGroupVariant;
|
|
246
|
+
type: ChoiceGroupType;
|
|
247
|
+
name?: string;
|
|
248
|
+
}
|
|
249
|
+
type ChoiceGroupSingleProps = ChoiceGroupBaseProps & AccessibleGroupName$1 & {
|
|
250
|
+
type: "single";
|
|
251
|
+
value?: string;
|
|
252
|
+
defaultValue?: string;
|
|
253
|
+
onValueChange?: (value: string) => void;
|
|
254
|
+
};
|
|
255
|
+
type ChoiceGroupMultiProps = ChoiceGroupBaseProps & AccessibleGroupName$1 & {
|
|
256
|
+
type: "multi";
|
|
257
|
+
value?: readonly string[];
|
|
258
|
+
defaultValue?: readonly string[];
|
|
259
|
+
onValueChange?: (value: string[]) => void;
|
|
260
|
+
};
|
|
261
|
+
type ChoiceGroupProps = ChoiceGroupSingleProps | ChoiceGroupMultiProps;
|
|
262
|
+
declare const ChoiceGroup: React.ForwardRefExoticComponent<ChoiceGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
263
|
+
|
|
264
|
+
declare const cardVariants: (props?: ({
|
|
265
|
+
variant?: "default" | "interactive" | "elevated" | "notice" | null | undefined;
|
|
266
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
267
|
+
type CardVariant = NonNullable<VariantProps<typeof cardVariants>["variant"]>;
|
|
268
|
+
interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
269
|
+
}
|
|
270
|
+
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
271
|
+
declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
272
|
+
declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
|
|
273
|
+
declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
274
|
+
declare const CardContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
275
|
+
declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
276
|
+
|
|
277
|
+
interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
278
|
+
breadcrumb?: React.ReactNode;
|
|
279
|
+
back?: React.ReactNode;
|
|
280
|
+
title: React.ReactNode;
|
|
281
|
+
subtitle?: React.ReactNode;
|
|
282
|
+
meta?: React.ReactNode;
|
|
283
|
+
actions?: React.ReactNode;
|
|
284
|
+
}
|
|
285
|
+
declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLElement>>;
|
|
286
|
+
|
|
287
|
+
type WizardStepState = "upcoming" | "current" | "complete";
|
|
288
|
+
interface WizardStep {
|
|
289
|
+
id: string;
|
|
290
|
+
label: string;
|
|
291
|
+
description?: string;
|
|
292
|
+
state?: WizardStepState;
|
|
293
|
+
}
|
|
294
|
+
interface WizardLayoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
295
|
+
header: React.ReactNode;
|
|
296
|
+
steps: WizardStep[];
|
|
297
|
+
activeStep: number;
|
|
298
|
+
onStepChange?: (step: number) => void;
|
|
299
|
+
children: React.ReactNode;
|
|
300
|
+
footer?: React.ReactNode;
|
|
301
|
+
status?: React.ReactNode;
|
|
302
|
+
allowStepNavigation?: boolean;
|
|
303
|
+
}
|
|
304
|
+
declare const WizardLayout: React.ForwardRefExoticComponent<WizardLayoutProps & React.RefAttributes<HTMLDivElement>>;
|
|
305
|
+
|
|
306
|
+
declare const tabsListVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
307
|
+
declare const tabsTriggerVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
308
|
+
declare const tabsBadgeVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
309
|
+
interface TabItem {
|
|
310
|
+
key: string;
|
|
311
|
+
label: string;
|
|
312
|
+
badge?: number;
|
|
313
|
+
disabled?: boolean;
|
|
314
|
+
}
|
|
315
|
+
type TabsListVariantProps = VariantProps<typeof tabsListVariants>;
|
|
316
|
+
interface TabsProps extends Omit<React.ComponentPropsWithoutRef<typeof Tabs$1.Root>, 'value' | 'onValueChange' | 'defaultValue' | 'onChange'>, TabsListVariantProps {
|
|
317
|
+
tabs: TabItem[];
|
|
318
|
+
activeKey: string;
|
|
319
|
+
onChange: (key: string) => void;
|
|
320
|
+
baseId?: string;
|
|
321
|
+
listClassName?: string;
|
|
322
|
+
triggerClassName?: string;
|
|
323
|
+
}
|
|
324
|
+
declare const Tabs: React.ForwardRefExoticComponent<TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
325
|
+
declare const TabsContent: React.ForwardRefExoticComponent<Omit<Omit<Tabs$1.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref">, "value"> & {
|
|
326
|
+
tabKey: string;
|
|
327
|
+
baseId?: string;
|
|
328
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
329
|
+
|
|
330
|
+
interface DetailLayoutPropsBase extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
331
|
+
header: React.ReactNode;
|
|
332
|
+
children: React.ReactNode;
|
|
333
|
+
aside?: React.ReactNode;
|
|
334
|
+
footer?: React.ReactNode;
|
|
335
|
+
bodyClassName?: string;
|
|
336
|
+
contentClassName?: string;
|
|
337
|
+
asideClassName?: string;
|
|
338
|
+
stickyAside?: boolean;
|
|
339
|
+
stickyAsideTopClassName?: string;
|
|
340
|
+
}
|
|
341
|
+
interface DetailLayoutPropsWithTabs {
|
|
342
|
+
tabs: TabItem[];
|
|
343
|
+
activeTab: string;
|
|
344
|
+
onTabChange: (key: string) => void;
|
|
345
|
+
baseId?: string;
|
|
346
|
+
}
|
|
347
|
+
interface DetailLayoutPropsWithoutTabs {
|
|
348
|
+
tabs?: undefined;
|
|
349
|
+
activeTab?: never;
|
|
350
|
+
onTabChange?: never;
|
|
351
|
+
baseId?: string;
|
|
352
|
+
}
|
|
353
|
+
type DetailLayoutProps = DetailLayoutPropsBase & (DetailLayoutPropsWithTabs | DetailLayoutPropsWithoutTabs);
|
|
354
|
+
declare const DetailLayout: React.ForwardRefExoticComponent<DetailLayoutProps & React.RefAttributes<HTMLElement>>;
|
|
355
|
+
|
|
356
|
+
interface FormLayoutSection {
|
|
357
|
+
id: string;
|
|
358
|
+
title: string;
|
|
359
|
+
description?: string;
|
|
360
|
+
aside?: React.ReactNode;
|
|
361
|
+
columns?: 1 | 2;
|
|
362
|
+
collapsible?: boolean;
|
|
363
|
+
defaultOpen?: boolean;
|
|
364
|
+
children: React.ReactNode;
|
|
365
|
+
}
|
|
366
|
+
interface FormLayoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
367
|
+
header: React.ReactNode;
|
|
368
|
+
sections: FormLayoutSection[];
|
|
369
|
+
footer?: React.ReactNode;
|
|
370
|
+
status?: React.ReactNode;
|
|
371
|
+
editorSectionId?: string;
|
|
372
|
+
sectionClassName?: string;
|
|
373
|
+
contentClassName?: string;
|
|
374
|
+
}
|
|
375
|
+
declare const FormLayout: React.ForwardRefExoticComponent<FormLayoutProps & React.RefAttributes<HTMLDivElement>>;
|
|
376
|
+
|
|
377
|
+
interface FormModalProps {
|
|
378
|
+
open: boolean;
|
|
379
|
+
onOpenChange: (open: boolean) => void;
|
|
380
|
+
title: string;
|
|
381
|
+
description?: string;
|
|
382
|
+
children: React.ReactNode;
|
|
383
|
+
onSubmit: () => void | Promise<void>;
|
|
384
|
+
submitLabel?: string;
|
|
385
|
+
cancelLabel?: string;
|
|
386
|
+
wide?: boolean;
|
|
387
|
+
loading?: boolean;
|
|
388
|
+
status?: React.ReactNode;
|
|
389
|
+
}
|
|
390
|
+
declare function FormModal({ open, onOpenChange, title, description, children, onSubmit, submitLabel, cancelLabel, wide, loading, status, }: FormModalProps): react_jsx_runtime.JSX.Element;
|
|
391
|
+
|
|
392
|
+
interface InfoModalProps {
|
|
393
|
+
open: boolean;
|
|
394
|
+
onOpenChange: (open: boolean) => void;
|
|
395
|
+
title: string;
|
|
396
|
+
description?: string;
|
|
397
|
+
children: React.ReactNode;
|
|
398
|
+
closeLabel?: string;
|
|
399
|
+
width?: "default" | "wide";
|
|
400
|
+
footer?: React.ReactNode;
|
|
401
|
+
}
|
|
402
|
+
declare function InfoModal({ open, onOpenChange, title, description, children, closeLabel, width, footer, }: InfoModalProps): react_jsx_runtime.JSX.Element;
|
|
403
|
+
|
|
404
|
+
interface FilterToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
405
|
+
search?: React.ReactNode;
|
|
406
|
+
filters?: React.ReactNode;
|
|
407
|
+
resultSummary?: React.ReactNode;
|
|
408
|
+
clearAction?: React.ReactNode;
|
|
409
|
+
actions?: React.ReactNode;
|
|
410
|
+
}
|
|
411
|
+
declare const FilterToolbar: React.ForwardRefExoticComponent<FilterToolbarProps & React.RefAttributes<HTMLDivElement>>;
|
|
412
|
+
|
|
413
|
+
declare const dataTableVariants: (props?: ({
|
|
414
|
+
density?: "compact" | "standard" | null | undefined;
|
|
415
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
416
|
+
declare const dataTableRowVariants: (props?: ({
|
|
417
|
+
interactive?: boolean | null | undefined;
|
|
418
|
+
selected?: boolean | null | undefined;
|
|
419
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
420
|
+
interface DataTableColumn<T> {
|
|
421
|
+
key: string;
|
|
422
|
+
header: React.ReactNode;
|
|
423
|
+
width?: string;
|
|
424
|
+
align?: 'left' | 'right' | 'center';
|
|
425
|
+
render?: (row: T) => React.ReactNode;
|
|
426
|
+
tabular?: boolean;
|
|
427
|
+
sortable?: boolean;
|
|
428
|
+
}
|
|
429
|
+
interface DataTableSort {
|
|
430
|
+
key: string;
|
|
431
|
+
dir: 'asc' | 'desc';
|
|
432
|
+
}
|
|
433
|
+
interface DataTableBulkAction {
|
|
434
|
+
label: React.ReactNode;
|
|
435
|
+
onClick: (ids: Set<string>) => void;
|
|
436
|
+
variant?: 'default' | 'destructive';
|
|
437
|
+
}
|
|
438
|
+
interface DataTableProps<T> extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof dataTableVariants> {
|
|
439
|
+
columns: DataTableColumn<T>[];
|
|
440
|
+
data: T[];
|
|
441
|
+
keyField: keyof T;
|
|
442
|
+
selectable?: boolean;
|
|
443
|
+
selectedIds?: Set<string>;
|
|
444
|
+
onSelectionChange?: (ids: Set<string>) => void;
|
|
445
|
+
sortBy?: DataTableSort;
|
|
446
|
+
onSortChange?: (key: string, dir: 'asc' | 'desc' | null) => void;
|
|
447
|
+
loading?: boolean;
|
|
448
|
+
emptyState?: React.ReactNode;
|
|
449
|
+
bulkActions?: DataTableBulkAction[];
|
|
450
|
+
rowHref?: (row: T) => string;
|
|
451
|
+
skeletonRowCount?: number;
|
|
452
|
+
}
|
|
453
|
+
type DataTableComponent = (<T>(props: DataTableProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null) & {
|
|
454
|
+
displayName?: string;
|
|
455
|
+
};
|
|
456
|
+
declare const DataTable: DataTableComponent;
|
|
457
|
+
|
|
458
|
+
declare const Dialog: React.FC<Dialog$1.DialogProps>;
|
|
459
|
+
declare const DialogTrigger: React.ForwardRefExoticComponent<Dialog$1.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
460
|
+
declare const DialogPortal: React.FC<Dialog$1.DialogPortalProps>;
|
|
461
|
+
declare const DialogClose: React.ForwardRefExoticComponent<Dialog$1.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
462
|
+
declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
463
|
+
declare const DialogContent: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
464
|
+
showCloseButton?: boolean;
|
|
465
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
466
|
+
declare const DialogHeader: {
|
|
467
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
468
|
+
displayName: string;
|
|
469
|
+
};
|
|
470
|
+
declare const DialogFooter: {
|
|
471
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
472
|
+
displayName: string;
|
|
473
|
+
};
|
|
474
|
+
declare const DialogTitle: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
475
|
+
declare const DialogDescription: React.ForwardRefExoticComponent<Omit<Dialog$1.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
476
|
+
/**
|
|
477
|
+
* DialogRawContent — shadcn 기본 스타일 없는 순수 radix Content.
|
|
478
|
+
* 자체 head/body/foot 슬롯을 가진 ModalShell 등 커스텀 구현용.
|
|
479
|
+
* DialogPortal + DialogOverlay와 함께 수동으로 조합해서 사용.
|
|
480
|
+
*/
|
|
481
|
+
declare const DialogRawContent: React.ForwardRefExoticComponent<Dialog$1.DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
482
|
+
|
|
483
|
+
interface ConfirmDialogProps {
|
|
484
|
+
open: boolean;
|
|
485
|
+
onOpenChange: (open: boolean) => void;
|
|
486
|
+
title: string;
|
|
487
|
+
description?: string;
|
|
488
|
+
tone?: "default" | "destructive";
|
|
489
|
+
confirmLabel: string;
|
|
490
|
+
cancelLabel?: string;
|
|
491
|
+
onConfirm: () => void | Promise<void>;
|
|
492
|
+
loading?: boolean;
|
|
493
|
+
}
|
|
494
|
+
declare function ConfirmDialog({ open, onOpenChange, title, description, tone, confirmLabel, cancelLabel, onConfirm, loading, }: ConfirmDialogProps): react_jsx_runtime.JSX.Element;
|
|
495
|
+
|
|
496
|
+
declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
|
|
497
|
+
|
|
498
|
+
declare function Avatar({ className, size, ...props }: React.ComponentProps<typeof Avatar$1.Root> & {
|
|
499
|
+
size?: "sm" | "md" | "lg";
|
|
500
|
+
}): react_jsx_runtime.JSX.Element;
|
|
501
|
+
declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof Avatar$1.Image>): react_jsx_runtime.JSX.Element;
|
|
502
|
+
declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof Avatar$1.Fallback>): react_jsx_runtime.JSX.Element;
|
|
503
|
+
|
|
504
|
+
declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenu$1.Root>): react_jsx_runtime.JSX.Element;
|
|
505
|
+
declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenu$1.Portal>): react_jsx_runtime.JSX.Element;
|
|
506
|
+
declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
507
|
+
declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenu$1.Content>): react_jsx_runtime.JSX.Element;
|
|
508
|
+
declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenu$1.Group>): react_jsx_runtime.JSX.Element;
|
|
509
|
+
declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenu$1.Item> & {
|
|
510
|
+
inset?: boolean;
|
|
511
|
+
variant?: "default" | "destructive";
|
|
512
|
+
}): react_jsx_runtime.JSX.Element;
|
|
513
|
+
declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenu$1.CheckboxItem>): react_jsx_runtime.JSX.Element;
|
|
514
|
+
declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenu$1.RadioGroup>): react_jsx_runtime.JSX.Element;
|
|
515
|
+
declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenu$1.RadioItem>): react_jsx_runtime.JSX.Element;
|
|
516
|
+
declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenu$1.Label> & {
|
|
517
|
+
inset?: boolean;
|
|
518
|
+
}): react_jsx_runtime.JSX.Element;
|
|
519
|
+
declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenu$1.Separator>): react_jsx_runtime.JSX.Element;
|
|
520
|
+
declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
|
|
521
|
+
declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenu$1.Sub>): react_jsx_runtime.JSX.Element;
|
|
522
|
+
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
|
|
523
|
+
inset?: boolean;
|
|
524
|
+
}): react_jsx_runtime.JSX.Element;
|
|
525
|
+
declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenu$1.SubContent>): react_jsx_runtime.JSX.Element;
|
|
526
|
+
|
|
527
|
+
declare function Sheet({ ...props }: React.ComponentProps<typeof Dialog$1.Root>): react_jsx_runtime.JSX.Element;
|
|
528
|
+
declare function SheetTrigger({ ...props }: React.ComponentProps<typeof Dialog$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
529
|
+
declare function SheetClose({ ...props }: React.ComponentProps<typeof Dialog$1.Close>): react_jsx_runtime.JSX.Element;
|
|
530
|
+
declare function SheetContent({ className, children, side, mobileSide, showCloseButton, ...props }: React.ComponentProps<typeof Dialog$1.Content> & {
|
|
531
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
532
|
+
mobileSide?: "top" | "right" | "bottom" | "left";
|
|
533
|
+
showCloseButton?: boolean;
|
|
534
|
+
}): react_jsx_runtime.JSX.Element;
|
|
535
|
+
declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
536
|
+
declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
537
|
+
declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof Dialog$1.Title>): react_jsx_runtime.JSX.Element;
|
|
538
|
+
declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof Dialog$1.Description>): react_jsx_runtime.JSX.Element;
|
|
539
|
+
|
|
540
|
+
interface SheetDrawerProps {
|
|
541
|
+
open: boolean;
|
|
542
|
+
onOpenChange: (open: boolean) => void;
|
|
543
|
+
title: string;
|
|
544
|
+
description?: string;
|
|
545
|
+
children: React.ReactNode;
|
|
546
|
+
expandHref?: string;
|
|
547
|
+
onExpand?: () => void;
|
|
548
|
+
expandLabel?: string;
|
|
549
|
+
footer?: React.ReactNode;
|
|
550
|
+
width?: "default" | "wide";
|
|
551
|
+
closeLabel?: string;
|
|
552
|
+
}
|
|
553
|
+
declare function SheetDrawer({ open, onOpenChange, title, description, children, expandHref, onExpand, expandLabel, footer, width, closeLabel, }: SheetDrawerProps): react_jsx_runtime.JSX.Element;
|
|
554
|
+
|
|
555
|
+
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof Tooltip$1.Provider>): react_jsx_runtime.JSX.Element;
|
|
556
|
+
declare function Tooltip({ ...props }: React.ComponentProps<typeof Tooltip$1.Root>): react_jsx_runtime.JSX.Element;
|
|
557
|
+
declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof Tooltip$1.Trigger>): react_jsx_runtime.JSX.Element;
|
|
558
|
+
declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof Tooltip$1.Content>): react_jsx_runtime.JSX.Element;
|
|
559
|
+
|
|
560
|
+
declare const badgeVariants: (props?: ({
|
|
561
|
+
variant?: "brand" | "neutral" | "status" | "semantic" | "pill" | null | undefined;
|
|
562
|
+
tone?: "accent" | "warning" | "info" | "success" | "neutral" | "danger" | null | undefined;
|
|
563
|
+
size?: "xs" | "sm" | "md" | null | undefined;
|
|
564
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
565
|
+
declare const badgeDotVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
566
|
+
type BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>;
|
|
567
|
+
type BadgeTone = NonNullable<VariantProps<typeof badgeVariants>['tone']>;
|
|
568
|
+
type BadgeSize = NonNullable<VariantProps<typeof badgeVariants>['size']>;
|
|
569
|
+
interface BadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>, VariantProps<typeof badgeVariants> {
|
|
570
|
+
showDot?: boolean;
|
|
571
|
+
disabled?: boolean;
|
|
572
|
+
}
|
|
573
|
+
declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
574
|
+
|
|
575
|
+
declare const twoTierBadgeVariants: (props?: ({
|
|
576
|
+
align?: "end" | "center" | "start" | null | undefined;
|
|
577
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
578
|
+
declare const twoTierBadgeLineVariants: (props?: ({
|
|
579
|
+
tier?: "primary" | "secondary" | null | undefined;
|
|
580
|
+
intent?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
|
|
581
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
582
|
+
type TwoTierBadgeIntent = NonNullable<VariantProps<typeof twoTierBadgeLineVariants>["intent"]>;
|
|
583
|
+
interface TwoTierBadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof twoTierBadgeVariants> {
|
|
584
|
+
primary: React.ReactNode;
|
|
585
|
+
secondary?: React.ReactNode;
|
|
586
|
+
primaryIntent?: TwoTierBadgeIntent;
|
|
587
|
+
secondaryIntent?: TwoTierBadgeIntent;
|
|
588
|
+
primaryClassName?: string;
|
|
589
|
+
secondaryClassName?: string;
|
|
590
|
+
}
|
|
591
|
+
declare const TwoTierBadge: React.ForwardRefExoticComponent<TwoTierBadgeProps & React.RefAttributes<HTMLDivElement>>;
|
|
592
|
+
|
|
593
|
+
declare const statusBadgeVariants: (props?: ({
|
|
594
|
+
status?: "error" | "warning" | "info" | "success" | "active" | "pending" | "archived" | null | undefined;
|
|
595
|
+
size?: "xs" | "sm" | "md" | null | undefined;
|
|
596
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
597
|
+
declare const statusBadgeDotVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
598
|
+
type StatusBadgeStatus = NonNullable<VariantProps<typeof statusBadgeVariants>["status"]>;
|
|
599
|
+
interface StatusBadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof statusBadgeVariants> {
|
|
600
|
+
showDot?: boolean;
|
|
601
|
+
}
|
|
602
|
+
declare const StatusBadge: React.ForwardRefExoticComponent<StatusBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
603
|
+
|
|
604
|
+
declare const notificationBadgeVariants: (props?: ({
|
|
605
|
+
size?: "sm" | "md" | null | undefined;
|
|
606
|
+
placement?: "none" | "inline" | "corner" | null | undefined;
|
|
607
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
608
|
+
type NotificationBadgeSize = NonNullable<VariantProps<typeof notificationBadgeVariants>['size']>;
|
|
609
|
+
type NotificationBadgePlacement = NonNullable<VariantProps<typeof notificationBadgeVariants>['placement']>;
|
|
610
|
+
interface NotificationBadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children' | 'color'>, VariantProps<typeof notificationBadgeVariants> {
|
|
611
|
+
count: number;
|
|
612
|
+
max?: number;
|
|
613
|
+
}
|
|
614
|
+
declare const NotificationBadge: React.ForwardRefExoticComponent<NotificationBadgeProps & React.RefAttributes<HTMLSpanElement>>;
|
|
615
|
+
|
|
616
|
+
declare const chipVariants: (props?: ({
|
|
617
|
+
variant?: "filter" | "choice" | "status-filter" | "removable" | null | undefined;
|
|
618
|
+
tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
|
|
619
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
620
|
+
pressed?: boolean | null | undefined;
|
|
621
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
622
|
+
declare const chipCountVariants: (props?: ({
|
|
623
|
+
tone?: "muted" | "accent" | "warning" | "success" | "neutral" | "danger" | null | undefined;
|
|
624
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
625
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
626
|
+
type ChipVariant = NonNullable<VariantProps<typeof chipVariants>["variant"]>;
|
|
627
|
+
type ChipTone = NonNullable<VariantProps<typeof chipVariants>["tone"]>;
|
|
628
|
+
type ChipSize = NonNullable<VariantProps<typeof chipVariants>["size"]>;
|
|
629
|
+
interface ChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "color">, Omit<VariantProps<typeof chipVariants>, "pressed"> {
|
|
630
|
+
asChild?: boolean;
|
|
631
|
+
pressed?: boolean;
|
|
632
|
+
count?: React.ReactNode;
|
|
633
|
+
removeLabel?: string;
|
|
634
|
+
}
|
|
635
|
+
declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLButtonElement>>;
|
|
636
|
+
|
|
637
|
+
declare const emptyStateVariants: (props?: ({
|
|
638
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
639
|
+
tone?: "raised" | "muted" | "neutral" | null | undefined;
|
|
640
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
641
|
+
declare const emptyStateIconVariants: (props?: ({
|
|
642
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
643
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
644
|
+
type EmptyStateSize = NonNullable<VariantProps<typeof emptyStateVariants>["size"]>;
|
|
645
|
+
type EmptyStateTone = NonNullable<VariantProps<typeof emptyStateVariants>["tone"]>;
|
|
646
|
+
interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof emptyStateVariants> {
|
|
647
|
+
icon?: LucideIcon;
|
|
648
|
+
title: React.ReactNode;
|
|
649
|
+
description?: React.ReactNode;
|
|
650
|
+
hint?: React.ReactNode;
|
|
651
|
+
action?: React.ReactNode;
|
|
652
|
+
}
|
|
653
|
+
declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & React.RefAttributes<HTMLDivElement>>;
|
|
654
|
+
|
|
655
|
+
declare const errorStateVariants: (props?: ({
|
|
656
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
657
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
658
|
+
interface ErrorStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof errorStateVariants> {
|
|
659
|
+
title?: React.ReactNode;
|
|
660
|
+
message?: React.ReactNode;
|
|
661
|
+
errorCode?: string;
|
|
662
|
+
onRetry?: () => void;
|
|
663
|
+
retryLabel?: React.ReactNode;
|
|
664
|
+
}
|
|
665
|
+
declare const ErrorState: React.ForwardRefExoticComponent<ErrorStateProps & React.RefAttributes<HTMLDivElement>>;
|
|
666
|
+
|
|
667
|
+
declare const skeletonVariants: (props?: ({
|
|
668
|
+
shape?: "text" | "block" | "circle" | null | undefined;
|
|
669
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
670
|
+
declare const spinnerVariants: (props?: ({
|
|
671
|
+
size?: 16 | 24 | 32 | null | undefined;
|
|
672
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
673
|
+
interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
|
|
674
|
+
}
|
|
675
|
+
declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
|
|
676
|
+
interface SkeletonTextProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
677
|
+
lines?: number;
|
|
678
|
+
widths?: Array<string | number>;
|
|
679
|
+
}
|
|
680
|
+
declare const SkeletonText: React.ForwardRefExoticComponent<SkeletonTextProps & React.RefAttributes<HTMLDivElement>>;
|
|
681
|
+
interface SkeletonRowColumn {
|
|
682
|
+
width?: string;
|
|
683
|
+
align?: 'left' | 'right' | 'center';
|
|
684
|
+
}
|
|
685
|
+
interface SkeletonRowProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
686
|
+
columns: SkeletonRowColumn[];
|
|
687
|
+
count?: number;
|
|
688
|
+
}
|
|
689
|
+
declare const SkeletonRow: React.ForwardRefExoticComponent<SkeletonRowProps & React.RefAttributes<HTMLDivElement>>;
|
|
690
|
+
interface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof spinnerVariants> {
|
|
691
|
+
label?: string;
|
|
692
|
+
}
|
|
693
|
+
declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLSpanElement>>;
|
|
694
|
+
|
|
695
|
+
declare const iconButtonVariants: (props?: ({
|
|
696
|
+
variant?: "outline" | "ghost" | "danger" | "subtle" | null | undefined;
|
|
697
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
698
|
+
pressed?: boolean | null | undefined;
|
|
699
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
700
|
+
declare const iconButtonBadgeVariants: (props?: ({
|
|
701
|
+
tone?: "error" | "info" | null | undefined;
|
|
702
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
703
|
+
type IconButtonVariant = NonNullable<VariantProps<typeof iconButtonVariants>["variant"]>;
|
|
704
|
+
type IconButtonSize = NonNullable<VariantProps<typeof iconButtonVariants>["size"]>;
|
|
705
|
+
type IconButtonBadgeTone = NonNullable<VariantProps<typeof iconButtonBadgeVariants>["tone"]>;
|
|
706
|
+
type IconButtonIcon = React.ComponentType<React.SVGProps<SVGSVGElement> & {
|
|
707
|
+
size?: number | string;
|
|
708
|
+
strokeWidth?: number | string;
|
|
709
|
+
}>;
|
|
710
|
+
type IconButtonAccessibleName = {
|
|
711
|
+
"aria-label": string;
|
|
712
|
+
"aria-labelledby"?: string;
|
|
713
|
+
} | {
|
|
714
|
+
"aria-label"?: string;
|
|
715
|
+
"aria-labelledby": string;
|
|
716
|
+
};
|
|
717
|
+
type IconButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "aria-label" | "aria-labelledby" | "children" | "color"> & Omit<VariantProps<typeof iconButtonVariants>, "pressed"> & IconButtonAccessibleName & {
|
|
718
|
+
icon: IconButtonIcon;
|
|
719
|
+
pressed?: boolean;
|
|
720
|
+
badge?: React.ReactNode;
|
|
721
|
+
badgeTone?: IconButtonBadgeTone;
|
|
722
|
+
};
|
|
723
|
+
declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
724
|
+
|
|
725
|
+
declare const paginationVariants: (props?: ({
|
|
726
|
+
size?: "compact" | "standard" | null | undefined;
|
|
727
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
728
|
+
declare const paginationControlVariants: (props?: ({
|
|
729
|
+
size?: "compact" | "standard" | null | undefined;
|
|
730
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
731
|
+
type PaginationSize = NonNullable<VariantProps<typeof paginationVariants>['size']>;
|
|
732
|
+
interface PaginationProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onChange'>, VariantProps<typeof paginationVariants> {
|
|
733
|
+
total: number;
|
|
734
|
+
page: number;
|
|
735
|
+
pageSize: number;
|
|
736
|
+
pageSizeOptions?: readonly number[];
|
|
737
|
+
onPageChange?: (page: number) => void;
|
|
738
|
+
onPageSizeChange?: (pageSize: number) => void;
|
|
739
|
+
totalLabel?: (total: number) => React.ReactNode;
|
|
740
|
+
pageSizeLabel?: string;
|
|
741
|
+
}
|
|
742
|
+
declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
|
|
743
|
+
|
|
744
|
+
declare const modeToggleVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
745
|
+
declare const modeToggleItemVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
746
|
+
interface ModeToggleOption<T extends string> {
|
|
747
|
+
value: T;
|
|
748
|
+
label: string;
|
|
749
|
+
icon?: LucideIcon;
|
|
750
|
+
disabled?: boolean;
|
|
751
|
+
}
|
|
752
|
+
interface ModeToggleProps<T extends string> extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
753
|
+
options: Array<ModeToggleOption<T>>;
|
|
754
|
+
value: T;
|
|
755
|
+
onChange: (value: T) => void;
|
|
756
|
+
itemClassName?: string;
|
|
757
|
+
}
|
|
758
|
+
declare function ModeToggle<T extends string>({ className, itemClassName, options, value, onChange, ...props }: ModeToggleProps<T>): react_jsx_runtime.JSX.Element;
|
|
759
|
+
|
|
760
|
+
declare const actionFooterVariants: (props?: ({
|
|
761
|
+
position?: "fixed" | "static" | "sticky" | null | undefined;
|
|
762
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
763
|
+
declare const actionFooterStatusVariants: (props?: ({
|
|
764
|
+
kind?: "error" | "saving" | "saved" | null | undefined;
|
|
765
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
766
|
+
interface ActionFooterStatus {
|
|
767
|
+
kind: 'saving' | 'saved' | 'error';
|
|
768
|
+
lastSavedAt?: Date;
|
|
769
|
+
}
|
|
770
|
+
interface ActionFooterAction {
|
|
771
|
+
id?: string;
|
|
772
|
+
label: string;
|
|
773
|
+
variant?: ButtonVariant;
|
|
774
|
+
onClick: () => void;
|
|
775
|
+
disabled?: boolean;
|
|
776
|
+
loading?: boolean;
|
|
777
|
+
permission?: string;
|
|
778
|
+
leadingIcon?: LucideIcon;
|
|
779
|
+
}
|
|
780
|
+
interface ActionFooterProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof actionFooterVariants> {
|
|
781
|
+
status?: ActionFooterStatus;
|
|
782
|
+
actions: ActionFooterAction[];
|
|
783
|
+
permissions?: readonly string[] | ((permission: string) => boolean);
|
|
784
|
+
}
|
|
785
|
+
declare const ActionFooter: React.ForwardRefExoticComponent<ActionFooterProps & React.RefAttributes<HTMLDivElement>>;
|
|
786
|
+
|
|
787
|
+
declare const toastVariants: (props?: ({
|
|
788
|
+
variant?: "error" | "warning" | "info" | "success" | "default" | null | undefined;
|
|
789
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
790
|
+
declare const toastViewportVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
791
|
+
type ToastVariant = NonNullable<VariantProps<typeof toastVariants>['variant']>;
|
|
792
|
+
interface ToastAction {
|
|
793
|
+
label: string;
|
|
794
|
+
onClick: () => void;
|
|
795
|
+
}
|
|
796
|
+
interface ToastOptions {
|
|
797
|
+
message: string;
|
|
798
|
+
variant?: ToastVariant;
|
|
799
|
+
duration?: number;
|
|
800
|
+
action?: ToastAction;
|
|
801
|
+
}
|
|
802
|
+
interface ToastItem extends ToastOptions {
|
|
803
|
+
id: string;
|
|
804
|
+
}
|
|
805
|
+
interface ToastRootProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'id'>, ToastItem {
|
|
806
|
+
onClose?: () => void;
|
|
807
|
+
}
|
|
808
|
+
type ToastListener = (items: ToastItem[]) => void;
|
|
809
|
+
declare function limitToasts(items: ToastItem[], max?: number): ToastItem[];
|
|
810
|
+
declare function getToastDuration(options: ToastOptions): number;
|
|
811
|
+
declare function createToast(options: ToastOptions): string;
|
|
812
|
+
declare const toast: {
|
|
813
|
+
show: typeof createToast;
|
|
814
|
+
success(message: string, options?: Omit<ToastOptions, "message" | "variant">): string;
|
|
815
|
+
error(message: string, options?: Omit<ToastOptions, "message" | "variant">): string;
|
|
816
|
+
warning(message: string, options?: Omit<ToastOptions, "message" | "variant">): string;
|
|
817
|
+
info(message: string, options?: Omit<ToastOptions, "message" | "variant">): string;
|
|
818
|
+
dismiss(id: string): void;
|
|
819
|
+
subscribe(listener: ToastListener): () => void;
|
|
820
|
+
};
|
|
821
|
+
declare const ToastRoot: React.ForwardRefExoticComponent<ToastRootProps & React.RefAttributes<HTMLDivElement>>;
|
|
822
|
+
declare const ToastViewport: React.ForwardRefExoticComponent<React.OlHTMLAttributes<HTMLOListElement> & React.RefAttributes<HTMLOListElement>>;
|
|
823
|
+
interface ToastProviderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
824
|
+
maxToasts?: number;
|
|
825
|
+
}
|
|
826
|
+
declare function ToastProvider({ children, maxToasts, className, ...props }: ToastProviderProps): react_jsx_runtime.JSX.Element;
|
|
827
|
+
|
|
828
|
+
declare const otpFieldVariants: (props?: ({
|
|
829
|
+
size?: "default" | "compact" | null | undefined;
|
|
830
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
831
|
+
declare const otpFieldGroupVariants: (props?: ({
|
|
832
|
+
size?: "default" | "compact" | null | undefined;
|
|
833
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
834
|
+
declare const otpCellVariants: (props?: ({
|
|
835
|
+
size?: "default" | "compact" | null | undefined;
|
|
836
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
837
|
+
declare const otpFieldMessageVariants: (props?: ({
|
|
838
|
+
state?: "error" | "default" | null | undefined;
|
|
839
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
840
|
+
type OTPFieldSize = NonNullable<VariantProps<typeof otpCellVariants>["size"]>;
|
|
841
|
+
interface OTPFieldProps extends Omit<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, "onChange" | "children" | "defaultValue" | "value">, VariantProps<typeof otpFieldVariants> {
|
|
842
|
+
defaultValue?: string;
|
|
843
|
+
errorText?: React.ReactNode;
|
|
844
|
+
helperText?: React.ReactNode;
|
|
845
|
+
invalid?: boolean;
|
|
846
|
+
label: React.ReactNode;
|
|
847
|
+
length?: number;
|
|
848
|
+
name?: string;
|
|
849
|
+
onComplete?: (value: string) => void;
|
|
850
|
+
onValueChange?: (value: string) => void;
|
|
851
|
+
readOnly?: boolean;
|
|
852
|
+
size?: OTPFieldSize;
|
|
853
|
+
value?: string;
|
|
854
|
+
required?: boolean;
|
|
855
|
+
}
|
|
856
|
+
declare const OTPField: React.ForwardRefExoticComponent<OTPFieldProps & React.RefAttributes<HTMLFieldSetElement>>;
|
|
857
|
+
|
|
858
|
+
declare const searchFieldVariants: (props?: ({
|
|
859
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
860
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
861
|
+
declare const searchFieldInputVariants: (props?: ({
|
|
862
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
863
|
+
hasClear?: boolean | null | undefined;
|
|
864
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
865
|
+
type SearchFieldSize = NonNullable<VariantProps<typeof searchFieldVariants>["size"]>;
|
|
866
|
+
interface SearchFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type">, VariantProps<typeof searchFieldVariants> {
|
|
867
|
+
clearable?: boolean;
|
|
868
|
+
clearLabel?: string;
|
|
869
|
+
onClear?: () => void;
|
|
870
|
+
}
|
|
871
|
+
declare const SearchField: React.ForwardRefExoticComponent<SearchFieldProps & React.RefAttributes<HTMLInputElement>>;
|
|
872
|
+
|
|
873
|
+
declare const checkboxVariants: (props?: ({
|
|
874
|
+
size?: "sm" | "md" | null | undefined;
|
|
875
|
+
fullWidth?: boolean | null | undefined;
|
|
876
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
877
|
+
declare const checkboxBoxVariants: (props?: ({
|
|
878
|
+
size?: "sm" | "md" | null | undefined;
|
|
879
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
880
|
+
type CheckboxSize = NonNullable<VariantProps<typeof checkboxVariants>["size"]>;
|
|
881
|
+
type CheckboxCheckedState = React.ComponentProps<typeof Checkbox$1.Root>["checked"];
|
|
882
|
+
interface CheckboxProps extends Omit<React.ComponentPropsWithoutRef<typeof Checkbox$1.Root>, "children" | "color">, VariantProps<typeof checkboxVariants> {
|
|
883
|
+
label: React.ReactNode;
|
|
884
|
+
description?: React.ReactNode;
|
|
885
|
+
}
|
|
886
|
+
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
|
|
887
|
+
|
|
888
|
+
declare const radioCardGroupVariants: (props?: ({
|
|
889
|
+
columns?: "one" | "two" | "three" | null | undefined;
|
|
890
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
891
|
+
declare const radioCardItemVariants: (props?: ({
|
|
892
|
+
density?: "compact" | "comfortable" | null | undefined;
|
|
893
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
894
|
+
declare const radioCardControlVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
895
|
+
type RadioCardColumns = NonNullable<VariantProps<typeof radioCardGroupVariants>["columns"]>;
|
|
896
|
+
type RadioCardDensity = NonNullable<VariantProps<typeof radioCardItemVariants>["density"]>;
|
|
897
|
+
interface RadioCardOption {
|
|
898
|
+
value: string;
|
|
899
|
+
title: React.ReactNode;
|
|
900
|
+
description: React.ReactNode;
|
|
901
|
+
disabled?: boolean;
|
|
902
|
+
}
|
|
903
|
+
type AccessibleGroupName = {
|
|
904
|
+
"aria-label": string;
|
|
905
|
+
"aria-labelledby"?: never;
|
|
906
|
+
} | {
|
|
907
|
+
"aria-label"?: never;
|
|
908
|
+
"aria-labelledby": string;
|
|
909
|
+
};
|
|
910
|
+
type RadioCardGroupRootProps = Omit<React.ComponentPropsWithoutRef<typeof RadioGroup.Root>, "children" | "orientation" | "aria-label" | "aria-labelledby">;
|
|
911
|
+
type RadioCardGroupProps = RadioCardGroupRootProps & AccessibleGroupName & VariantProps<typeof radioCardGroupVariants> & {
|
|
912
|
+
options: readonly RadioCardOption[];
|
|
913
|
+
density?: RadioCardDensity;
|
|
914
|
+
};
|
|
915
|
+
declare const RadioCardGroup: React.ForwardRefExoticComponent<RadioCardGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
916
|
+
|
|
917
|
+
declare function ScrollArea({ className, children, ...props }: React.ComponentProps<typeof ScrollArea$1.Root>): react_jsx_runtime.JSX.Element;
|
|
918
|
+
declare function ScrollBar({ className, orientation, ...props }: React.ComponentProps<typeof ScrollArea$1.ScrollAreaScrollbar>): react_jsx_runtime.JSX.Element;
|
|
919
|
+
|
|
920
|
+
interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
921
|
+
/** 0~100 진행률 */
|
|
922
|
+
value: number;
|
|
923
|
+
/** 너비 px 또는 CSS 값 (기본 120px) */
|
|
924
|
+
width?: string | number;
|
|
925
|
+
/** 높이 px (기본 4) */
|
|
926
|
+
height?: number;
|
|
927
|
+
}
|
|
928
|
+
declare function Progress({ value, width, height, className, style, ...props }: ProgressProps): react_jsx_runtime.JSX.Element;
|
|
929
|
+
|
|
930
|
+
/**
|
|
931
|
+
* OLUN 브랜드 로고.
|
|
932
|
+
*
|
|
933
|
+
* - symbol: O 원형 테두리 + 우하단 accent-solid 작은 circle
|
|
934
|
+
* - wordmark: "OLUN" + 마지막 "." 은 accent-fg 색상
|
|
935
|
+
*
|
|
936
|
+
* 레퍼런스: apps/web/docs/wireframes/ref/shell-wireframe.html Topbar 브랜드 영역.
|
|
937
|
+
*/
|
|
938
|
+
interface OlunSymbolProps {
|
|
939
|
+
/** 심볼 크기 px (기본 28) */
|
|
940
|
+
size?: number;
|
|
941
|
+
className?: string;
|
|
942
|
+
}
|
|
943
|
+
declare function OlunSymbol({ size, className }: OlunSymbolProps): react_jsx_runtime.JSX.Element;
|
|
944
|
+
interface OlunLogoProps {
|
|
945
|
+
/** 심볼 크기 px (기본 28) */
|
|
946
|
+
symbolSize?: number;
|
|
947
|
+
/** wordmark font-size px (기본 18) */
|
|
948
|
+
fontSize?: number;
|
|
949
|
+
/** 심볼 표시 여부 (기본 true) */
|
|
950
|
+
showSymbol?: boolean;
|
|
951
|
+
className?: string;
|
|
952
|
+
}
|
|
953
|
+
declare function OlunLogo({ symbolSize, fontSize, showSymbol, className, }: OlunLogoProps): react_jsx_runtime.JSX.Element;
|
|
954
|
+
|
|
955
|
+
declare function ThemeToggle({ className }: {
|
|
956
|
+
className?: string;
|
|
957
|
+
}): react_jsx_runtime.JSX.Element;
|
|
958
|
+
|
|
959
|
+
type ThemeFabVariant = "square" | "circle";
|
|
960
|
+
interface ThemeFabProps {
|
|
961
|
+
/**
|
|
962
|
+
* 모양/크기 variant.
|
|
963
|
+
* - `square` (default): 36×36 rounded-sm (exam 와이어프레임 기존 사양).
|
|
964
|
+
* - `circle`: 56×56 rounded-full + accent border + backdrop blur (web 표준).
|
|
965
|
+
*/
|
|
966
|
+
variant?: ThemeFabVariant;
|
|
967
|
+
}
|
|
968
|
+
declare function ThemeFab({ variant }?: ThemeFabProps): react_jsx_runtime.JSX.Element | null;
|
|
969
|
+
|
|
970
|
+
interface JbnuEmblemProps extends SVGProps<SVGSVGElement> {
|
|
971
|
+
/** 너비·높이 px (기본 32). `className`으로 오버라이드 가능. */
|
|
972
|
+
size?: number;
|
|
973
|
+
}
|
|
974
|
+
declare function JbnuEmblem({ size, className, style, ...props }: JbnuEmblemProps): react_jsx_runtime.JSX.Element;
|
|
975
|
+
|
|
976
|
+
export { ActionFooter, type ActionFooterAction, type ActionFooterProps, type ActionFooterStatus, Alert, type AlertProps, type AlertVariant, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BadgeSize, type BadgeTone, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, type CardVariant, Checkbox, type CheckboxCheckedState, type CheckboxProps, type CheckboxSize, Chip, type ChipProps, type ChipSize, type ChipTone, type ChipVariant, ChoiceGroup, type ChoiceGroupOption, type ChoiceGroupProps, type ChoiceGroupType, type ChoiceGroupVariant, ConfirmDialog, type ConfirmDialogProps, CopyButton, type CopyButtonProps, DataTable, type DataTableBulkAction, type DataTableColumn, type DataTableProps, type DataTableSort, DetailLayout, type DetailLayoutProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogRawContent, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, type EmptyStateSize, type EmptyStateTone, ErrorState, type ErrorStateProps, FileUploadZone, type FileUploadZoneProps, FilterToolbar, type FilterToolbarProps, FormField, type FormFieldProps, type FormFieldRenderProps, FormLayout, type FormLayoutProps, type FormLayoutSection, FormModal, type FormModalProps, IconButton, type IconButtonBadgeTone, type IconButtonProps, type IconButtonSize, type IconButtonVariant, InfoModal, type InfoModalProps, InlineAlert, type InlineAlertProps, Input, type InputProps, type InputState, JbnuEmblem, type JbnuEmblemProps, ModeToggle, type ModeToggleOption, type ModeToggleProps, NotificationBadge, type NotificationBadgePlacement, type NotificationBadgeProps, type NotificationBadgeSize, OTPField, type OTPFieldProps, type OTPFieldSize, OlunLogo, OlunSymbol, PageHeader, type PageHeaderProps, Pagination, type PaginationProps, type PaginationSize, PermissionContext, type PermissionEvaluator, type PermissionFallback, PermissionGuard, type PermissionGuardProps, PermissionProvider, type PermissionProviderProps, type PermissionScope, type PermissionState, Progress, type RadioCardColumns, type RadioCardDensity, RadioCardGroup, type RadioCardGroupProps, type RadioCardOption, ScrollArea, ScrollBar, SearchField, type SearchFieldProps, type SearchFieldSize, Select, type SelectOption, type SelectProps, type SelectSize, type SelectState, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetDrawer, type SheetDrawerProps, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, SkeletonRow, type SkeletonRowColumn, type SkeletonRowProps, SkeletonText, type SkeletonTextProps, Spinner, type SpinnerProps, StatusBadge, type StatusBadgeProps, type StatusBadgeStatus, type TabItem, Tabs, TabsContent, type TabsProps, Textarea, type TextareaProps, type TextareaSize, type TextareaState, ThemeFab, type ThemeFabProps, ThemeToggle, type ToastAction, type ToastItem, type ToastOptions, ToastProvider, ToastRoot, type ToastVariant, ToastViewport, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TwoTierBadge, type TwoTierBadgeIntent, type TwoTierBadgeProps, WizardLayout, type WizardLayoutProps, type WizardStep, type WizardStepState, actionFooterStatusVariants, actionFooterVariants, alertVariants, badgeDotVariants, badgeVariants, buttonVariants, cardVariants, checkboxBoxVariants, checkboxVariants, chipCountVariants, chipVariants, choiceBodyVariants, choiceGroupVariants, choiceMarkerVariants, choiceRowVariants, cn, dataTableRowVariants, dataTableVariants, emptyStateIconVariants, emptyStateVariants, errorStateVariants, evaluatePermission, fileUploadIconVariants, fileUploadZoneVariants, formFieldControlStackClassName, formFieldDescriptionClassName, formFieldErrorClassName, formFieldLabelClassName, formFieldRequiredClassName, formFieldVariants, getToastDuration, iconButtonBadgeVariants, iconButtonVariants, inlineAlertVariants, inputMessageVariants, inputVariants, limitToasts, modeToggleItemVariants, modeToggleVariants, notificationBadgeVariants, otpCellVariants, otpFieldGroupVariants, otpFieldMessageVariants, otpFieldVariants, paginationControlVariants, paginationVariants, radioCardControlVariants, radioCardGroupVariants, radioCardItemVariants, searchFieldInputVariants, searchFieldVariants, selectMessageVariants, selectVariants, skeletonVariants, spinnerVariants, statusBadgeDotVariants, statusBadgeVariants, tabsBadgeVariants, tabsListVariants, tabsTriggerVariants, textareaMessageVariants, textareaVariants, toast, toastVariants, toastViewportVariants, twoTierBadgeLineVariants, twoTierBadgeVariants, usePermission };
|