@mondrianai/runyourai-design-system 0.0.1
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 +222 -0
- package/dist/chunk-JLKIFAQZ.mjs +54 -0
- package/dist/chunk-JLKIFAQZ.mjs.map +1 -0
- package/dist/index.d.mts +1036 -0
- package/dist/index.d.ts +1036 -0
- package/dist/index.js +5318 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +5115 -0
- package/dist/index.mjs.map +1 -0
- package/dist/styles/index.css +337 -0
- package/dist/styles/index.css.map +1 -0
- package/dist/styles/index.d.mts +2 -0
- package/dist/styles/index.d.ts +2 -0
- package/dist/styles/tailwind-theme.css +207 -0
- package/dist/utils.d.mts +5 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.js +43 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +8 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +80 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1036 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, Checkbox as Checkbox$1, Collapsible as Collapsible$1, Menubar as Menubar$1, Slider as Slider$1, Switch as Switch$1, Tooltip as Tooltip$1 } from 'radix-ui';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
|
+
import { VariantProps } from 'class-variance-authority';
|
|
7
|
+
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
|
8
|
+
|
|
9
|
+
declare const Accordion: React$1.ForwardRefExoticComponent<(Accordion$1.AccordionSingleProps | Accordion$1.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
declare const AccordionItem: React$1.ForwardRefExoticComponent<Omit<Accordion$1.AccordionItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
declare const AccordionTrigger: React$1.ForwardRefExoticComponent<Omit<Accordion$1.AccordionTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
declare const AccordionContent: React$1.ForwardRefExoticComponent<Omit<Accordion$1.AccordionContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
|
|
14
|
+
declare const AlertDialog: React$1.FC<AlertDialog$1.AlertDialogProps>;
|
|
15
|
+
declare const AlertDialogTrigger: React$1.ForwardRefExoticComponent<AlertDialog$1.AlertDialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
declare const AlertDialogPortal: React$1.FC<AlertDialog$1.AlertDialogPortalProps>;
|
|
17
|
+
declare const AlertDialogOverlay: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
declare const AlertDialogContent: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
19
|
+
declare function AlertDialogHeader({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
20
|
+
declare namespace AlertDialogHeader {
|
|
21
|
+
var displayName: string;
|
|
22
|
+
}
|
|
23
|
+
declare function AlertDialogFooter({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
24
|
+
declare namespace AlertDialogFooter {
|
|
25
|
+
var displayName: string;
|
|
26
|
+
}
|
|
27
|
+
declare const AlertDialogTitle: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
28
|
+
declare const AlertDialogDescription: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
29
|
+
declare const AlertDialogAction: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogActionProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
30
|
+
declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogCancelProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
31
|
+
|
|
32
|
+
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
33
|
+
variant?: "default" | "destructive" | null | undefined;
|
|
34
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLDivElement>>;
|
|
35
|
+
declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
36
|
+
declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
|
|
38
|
+
type AvatarSize = 'sm' | 'md' | 'lg';
|
|
39
|
+
interface AvatarProps {
|
|
40
|
+
/** 이미지 URL */
|
|
41
|
+
src?: string;
|
|
42
|
+
/** 이미지 alt 텍스트 */
|
|
43
|
+
alt?: string;
|
|
44
|
+
/**
|
|
45
|
+
* 이미지 없거나 로드 실패 시 표시할 이니셜 텍스트.
|
|
46
|
+
* square 아바타에서는 항상 표시.
|
|
47
|
+
*/
|
|
48
|
+
fallback?: string;
|
|
49
|
+
/**
|
|
50
|
+
* circle (기본) — 원형, 사진 아바타
|
|
51
|
+
* square — 모서리 둥근 사각형, 이니셜 아바타 (bg-gray-500 + 흰 글자)
|
|
52
|
+
*/
|
|
53
|
+
shape?: 'circle' | 'square';
|
|
54
|
+
/** sm (24px) | md (32px, 기본) | lg (40px) */
|
|
55
|
+
size?: AvatarSize;
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
interface AvatarGroupItem {
|
|
59
|
+
/** 고유 식별자 (key prop으로 사용) */
|
|
60
|
+
id: string;
|
|
61
|
+
src?: string;
|
|
62
|
+
alt?: string;
|
|
63
|
+
fallback?: string;
|
|
64
|
+
}
|
|
65
|
+
interface AvatarGroupProps {
|
|
66
|
+
avatars: AvatarGroupItem[];
|
|
67
|
+
size?: AvatarSize;
|
|
68
|
+
className?: string;
|
|
69
|
+
}
|
|
70
|
+
declare function Avatar({ src, alt, fallback, shape, size, className, }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
71
|
+
declare function AvatarGroup({ avatars, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 배지 시맨틱 변형:
|
|
75
|
+
* - default: primary 배경 (검정/흰)
|
|
76
|
+
* - secondary: secondary 배경 (회색)
|
|
77
|
+
* - destructive: destructive 배경 (강한 빨강)
|
|
78
|
+
* - outline: 테두리만, 투명 배경 (회색)
|
|
79
|
+
* - info: blue-50 배경 + blue-800 텍스트 (정보/완료)
|
|
80
|
+
* - error: red-50 배경 + red-800 텍스트 (오류/실패)
|
|
81
|
+
* - warning: amber-50 배경 + amber-800 텍스트 (경고/on-demand)
|
|
82
|
+
* - success: green-50 배경 + green-800 텍스트 (성공/reserved)
|
|
83
|
+
*/
|
|
84
|
+
type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'info' | 'error' | 'warning' | 'success';
|
|
85
|
+
interface BadgeProps {
|
|
86
|
+
/** 배지 표시 텍스트 */
|
|
87
|
+
text: string;
|
|
88
|
+
/** 배지 시맨틱 변형 (기본값: default) */
|
|
89
|
+
variant?: BadgeVariant;
|
|
90
|
+
/** 아이콘 이름 (@/components/ui/icon-registry에 정의된 이름) */
|
|
91
|
+
iconName?: string;
|
|
92
|
+
className?: string;
|
|
93
|
+
/** 아이콘 회전 여부 */
|
|
94
|
+
spin?: boolean;
|
|
95
|
+
}
|
|
96
|
+
declare const BADGE_VARIANT_STYLES: Record<BadgeVariant, string>;
|
|
97
|
+
declare function Badge({ text, variant, spin, iconName, className, }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
declare function Breadcrumb({ className, ...props }: React__default.ComponentPropsWithoutRef<"nav">): react_jsx_runtime.JSX.Element;
|
|
100
|
+
declare function BreadcrumbList({ className, ...props }: React__default.ComponentPropsWithoutRef<"ol">): react_jsx_runtime.JSX.Element;
|
|
101
|
+
declare function BreadcrumbItem({ className, ...props }: React__default.ComponentPropsWithoutRef<"li">): react_jsx_runtime.JSX.Element;
|
|
102
|
+
declare function BreadcrumbLink({ className, ...props }: React__default.ComponentPropsWithoutRef<"a">): react_jsx_runtime.JSX.Element;
|
|
103
|
+
declare function BreadcrumbPage({ className, ...props }: React__default.ComponentPropsWithoutRef<"span">): react_jsx_runtime.JSX.Element;
|
|
104
|
+
declare function BreadcrumbSeparator({ children, className, ...props }: React__default.ComponentPropsWithoutRef<"li">): react_jsx_runtime.JSX.Element;
|
|
105
|
+
declare function BreadcrumbEllipsis({ className, ...props }: React__default.ComponentPropsWithoutRef<"span">): react_jsx_runtime.JSX.Element;
|
|
106
|
+
declare function BreadcrumbDropdownItem({ children, className, ...props }: React__default.ComponentPropsWithoutRef<"button">): react_jsx_runtime.JSX.Element;
|
|
107
|
+
|
|
108
|
+
declare const buttonVariants: (props?: ({
|
|
109
|
+
variant?: "link" | "default" | "secondary" | "outline" | "ghost" | "destructive" | null | undefined;
|
|
110
|
+
size?: "rounded" | "default" | "icon" | "pill" | null | undefined;
|
|
111
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
112
|
+
interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
113
|
+
/** Radix Slot 패턴 — true 이면 자식 요소에 props를 병합 */
|
|
114
|
+
asChild?: boolean;
|
|
115
|
+
/** 로딩 상태 — 스피너 표시, 클릭 불가, 반투명 처리 (h-8 / 32px) */
|
|
116
|
+
loading?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* 텍스트 앞에 렌더링할 아이콘 (primary / secondary / outline 전용)
|
|
119
|
+
* loading 상태에서는 자동으로 숨겨집니다.
|
|
120
|
+
*/
|
|
121
|
+
iconStart?: React$1.ReactNode;
|
|
122
|
+
/**
|
|
123
|
+
* 텍스트 뒤에 렌더링할 아이콘 (primary / secondary / outline 전용)
|
|
124
|
+
* loading 상태에서는 자동으로 숨겨집니다.
|
|
125
|
+
*/
|
|
126
|
+
iconEnd?: React$1.ReactNode;
|
|
127
|
+
}
|
|
128
|
+
declare function Button({ className, variant, size, asChild, loading, iconStart, iconEnd, disabled, children, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
129
|
+
|
|
130
|
+
/** 예약 유형: Reserved(사전 예약) 또는 On-demand(즉시 사용) */
|
|
131
|
+
type MachineType = 'reserved' | 'on-demand';
|
|
132
|
+
/** 이용 상태: 대여가능 또는 대여중 */
|
|
133
|
+
type AvailabilityStatus = 'available' | 'rented';
|
|
134
|
+
interface CardSpec {
|
|
135
|
+
label: string;
|
|
136
|
+
value: string;
|
|
137
|
+
}
|
|
138
|
+
interface CardProps {
|
|
139
|
+
/** 예약 유형 배지 — reserved 또는 on-demand (필수) */
|
|
140
|
+
machineType: MachineType;
|
|
141
|
+
/** 이용 상태 배지 — available(대여가능) 또는 rented(대여중) (필수) */
|
|
142
|
+
availability: AvailabilityStatus;
|
|
143
|
+
/** 머신 이름 (예: "NVIDIA B300 x 8") */
|
|
144
|
+
machineName: string;
|
|
145
|
+
/** 머신 이름 앞 이니셜 박스에 표시할 문자 (예: "B") */
|
|
146
|
+
machineInitial: string;
|
|
147
|
+
/** 스펙 태그 목록 (예: ["4x8x", "000GB VRAM", "B-Series"]) */
|
|
148
|
+
tags?: string[];
|
|
149
|
+
/** 스펙 상세 목록 (예: [{ label: "CPU", value: "128 Core" }]) */
|
|
150
|
+
specs?: CardSpec[];
|
|
151
|
+
/** 머신 선택 버튼 클릭 핸들러 */
|
|
152
|
+
onSelect?: () => void;
|
|
153
|
+
/** 버튼 텍스트 (기본값: "머신 선택") */
|
|
154
|
+
selectLabel?: string;
|
|
155
|
+
className?: string;
|
|
156
|
+
}
|
|
157
|
+
declare function Card({ machineType, availability, machineName, machineInitial, tags, specs, onSelect, selectLabel, className, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
158
|
+
|
|
159
|
+
interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof Checkbox$1.Root> {
|
|
160
|
+
/** Optional label rendered to the right of the checkbox */
|
|
161
|
+
label?: string;
|
|
162
|
+
/** Optional description rendered below the label (requires label) */
|
|
163
|
+
description?: string;
|
|
164
|
+
}
|
|
165
|
+
declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
166
|
+
interface CheckboxCardProps extends React$1.ComponentPropsWithoutRef<typeof Checkbox$1.Root> {
|
|
167
|
+
/** Main label text */
|
|
168
|
+
label: string;
|
|
169
|
+
/** Optional description below the label */
|
|
170
|
+
description?: string;
|
|
171
|
+
}
|
|
172
|
+
declare const CheckboxCard: React$1.ForwardRefExoticComponent<CheckboxCardProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
173
|
+
|
|
174
|
+
interface ChoiceCardGroupProps {
|
|
175
|
+
/** 초기 선택값 (비제어 모드) */
|
|
176
|
+
defaultValue?: string;
|
|
177
|
+
/** 선택값 (제어 모드) */
|
|
178
|
+
value?: string;
|
|
179
|
+
/** 선택 변경 콜백 */
|
|
180
|
+
onValueChange?: (value: string) => void;
|
|
181
|
+
className?: string;
|
|
182
|
+
children: React__default.ReactNode;
|
|
183
|
+
}
|
|
184
|
+
declare function ChoiceCardGroup({ defaultValue, value: controlledValue, onValueChange, className, children, }: ChoiceCardGroupProps): react_jsx_runtime.JSX.Element;
|
|
185
|
+
interface ChoiceCardItemProps {
|
|
186
|
+
/** 그룹 내 고유 값 */
|
|
187
|
+
value: string;
|
|
188
|
+
/** 카드 제목 */
|
|
189
|
+
title: string;
|
|
190
|
+
/** 카드 설명 (선택) */
|
|
191
|
+
description?: string;
|
|
192
|
+
className?: string;
|
|
193
|
+
}
|
|
194
|
+
declare function ChoiceCardItem({ value, title, description, className, }: ChoiceCardItemProps): react_jsx_runtime.JSX.Element;
|
|
195
|
+
|
|
196
|
+
interface CollapsibleWorkspace {
|
|
197
|
+
id: string;
|
|
198
|
+
/** 워크스페이스 이름 */
|
|
199
|
+
name: string;
|
|
200
|
+
/** 뱃지 텍스트 (예: "개인", "Enterprise", "Team") */
|
|
201
|
+
badge: string;
|
|
202
|
+
/** 아바타에 표시할 텍스트 (미지정 시 name[0]) */
|
|
203
|
+
avatarText?: string;
|
|
204
|
+
/** 아바타 이미지 URL (지정 시 텍스트 대신 이미지 표시) */
|
|
205
|
+
avatarSrc?: string;
|
|
206
|
+
/**
|
|
207
|
+
* 아바타 배경색
|
|
208
|
+
* - "sidebar-ring" : 회색 (#6b7280) — 개인/기본
|
|
209
|
+
* - "chart-1" : 파란색 (#3b82f6) — 팀/엔터프라이즈
|
|
210
|
+
* @default "sidebar-ring"
|
|
211
|
+
*/
|
|
212
|
+
avatarColor?: "sidebar-ring" | "chart-1";
|
|
213
|
+
/** 현재 활성 워크스페이스 여부 (드롭다운에서 강조 + Check 표시) */
|
|
214
|
+
isActive?: boolean;
|
|
215
|
+
}
|
|
216
|
+
interface CollapsibleProps {
|
|
217
|
+
/** 트리거에 표시되는 현재 워크스페이스 */
|
|
218
|
+
activeWorkspace: CollapsibleWorkspace;
|
|
219
|
+
/**
|
|
220
|
+
* 드롭다운에 표시할 워크스페이스 목록.
|
|
221
|
+
* isActive=true인 항목이 강조(bg-accent + Check 아이콘)로 표시된다.
|
|
222
|
+
*/
|
|
223
|
+
workspaces?: CollapsibleWorkspace[];
|
|
224
|
+
/** 제어 모드: 열림 상태 */
|
|
225
|
+
open?: boolean;
|
|
226
|
+
/** 제어 모드: 열림 상태 변경 콜백 */
|
|
227
|
+
onOpenChange?: (open: boolean) => void;
|
|
228
|
+
/** 비제어 모드: 초기 열림 상태 @default false */
|
|
229
|
+
defaultOpen?: boolean;
|
|
230
|
+
/** "+ 팀 생성하기" 클릭 콜백 */
|
|
231
|
+
onCreateTeam?: () => void;
|
|
232
|
+
/** 워크스페이스 항목 클릭 콜백 */
|
|
233
|
+
onSelectWorkspace?: (workspace: CollapsibleWorkspace) => void;
|
|
234
|
+
className?: string;
|
|
235
|
+
}
|
|
236
|
+
declare function Collapsible({ activeWorkspace, workspaces, open, onOpenChange, defaultOpen, onCreateTeam, onSelectWorkspace, className, }: CollapsibleProps): react_jsx_runtime.JSX.Element;
|
|
237
|
+
declare const CollapsibleRoot: React$1.ForwardRefExoticComponent<Collapsible$1.CollapsibleProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
238
|
+
declare const CollapsibleTrigger: React$1.ForwardRefExoticComponent<Collapsible$1.CollapsibleTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
239
|
+
declare const CollapsibleContent: React$1.ForwardRefExoticComponent<Collapsible$1.CollapsibleContentProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
240
|
+
|
|
241
|
+
interface ComboboxOption {
|
|
242
|
+
/** Unique identifier for the option */
|
|
243
|
+
value: string;
|
|
244
|
+
/** Display text shown in the list and trigger */
|
|
245
|
+
label: string;
|
|
246
|
+
/** Optional icon rendered before the label (16×16) */
|
|
247
|
+
icon?: React$1.ReactNode;
|
|
248
|
+
}
|
|
249
|
+
interface ComboboxProps {
|
|
250
|
+
/** List of selectable options */
|
|
251
|
+
options: ComboboxOption[];
|
|
252
|
+
/** Controlled selected value */
|
|
253
|
+
value?: string;
|
|
254
|
+
/** Callback when selection changes */
|
|
255
|
+
onValueChange?: (value: string) => void;
|
|
256
|
+
/** Placeholder text shown when no value is selected */
|
|
257
|
+
placeholder?: string;
|
|
258
|
+
/** Placeholder inside the search input */
|
|
259
|
+
searchPlaceholder?: string;
|
|
260
|
+
/** Whether to show the search input (default: false) */
|
|
261
|
+
showSearch?: boolean;
|
|
262
|
+
/** Optional footer action at the bottom (e.g. "+ 새 컬렉션 만들기") */
|
|
263
|
+
footer?: {
|
|
264
|
+
label: string;
|
|
265
|
+
onClick: () => void;
|
|
266
|
+
};
|
|
267
|
+
/** Additional className for the trigger button */
|
|
268
|
+
className?: string;
|
|
269
|
+
/** Disable the combobox */
|
|
270
|
+
disabled?: boolean;
|
|
271
|
+
}
|
|
272
|
+
declare function Combobox({ options, value, onValueChange, placeholder, searchPlaceholder, showSearch, footer, className, disabled, }: ComboboxProps): react_jsx_runtime.JSX.Element;
|
|
273
|
+
|
|
274
|
+
interface FieldProps {
|
|
275
|
+
/** 필드 레이블 */
|
|
276
|
+
label?: string;
|
|
277
|
+
/** 컨트롤 위 보조 텍스트 */
|
|
278
|
+
hint?: string;
|
|
279
|
+
/** 컨트롤 아래 헬퍼 텍스트 */
|
|
280
|
+
description?: string;
|
|
281
|
+
/** label 의 htmlFor — input id 와 연결 */
|
|
282
|
+
htmlFor?: string;
|
|
283
|
+
/** 필수 항목 표시 * */
|
|
284
|
+
required?: boolean;
|
|
285
|
+
className?: string;
|
|
286
|
+
children: React__default.ReactNode;
|
|
287
|
+
}
|
|
288
|
+
declare function Field({ label, hint, description, htmlFor, required, className, children, }: FieldProps): react_jsx_runtime.JSX.Element;
|
|
289
|
+
interface FieldSectionProps {
|
|
290
|
+
title: string;
|
|
291
|
+
description?: string;
|
|
292
|
+
/** 섹션 헤더 하단 구분선 표시 여부 */
|
|
293
|
+
showDivider?: boolean;
|
|
294
|
+
/** 헤딩 텍스트 크기: "base"=16px (기본), "sm"=14px */
|
|
295
|
+
titleSize?: "base" | "sm";
|
|
296
|
+
className?: string;
|
|
297
|
+
children?: React__default.ReactNode;
|
|
298
|
+
}
|
|
299
|
+
declare function FieldSection({ title, description, showDivider, titleSize, className, children, }: FieldSectionProps): react_jsx_runtime.JSX.Element;
|
|
300
|
+
interface FieldRowProps {
|
|
301
|
+
label: string;
|
|
302
|
+
description?: string;
|
|
303
|
+
className?: string;
|
|
304
|
+
children: React__default.ReactNode;
|
|
305
|
+
}
|
|
306
|
+
declare function FieldRow({ label, description, className, children }: FieldRowProps): react_jsx_runtime.JSX.Element;
|
|
307
|
+
declare function FieldDivider({ className }: {
|
|
308
|
+
className?: string;
|
|
309
|
+
}): react_jsx_runtime.JSX.Element;
|
|
310
|
+
|
|
311
|
+
type ModelItem = {
|
|
312
|
+
id: string;
|
|
313
|
+
apiId: string;
|
|
314
|
+
name: string;
|
|
315
|
+
};
|
|
316
|
+
type ModelGroup = {
|
|
317
|
+
id: string;
|
|
318
|
+
provider: string;
|
|
319
|
+
iconSrc: string;
|
|
320
|
+
models: ModelItem[];
|
|
321
|
+
};
|
|
322
|
+
/** 그룹 헤더(아이콘+이름)와 커스텀 스크롤바를 가진 그룹형 셀렉트
|
|
323
|
+
* @param groups 표시할 그룹 목록 — 소비 측에서 데이터를 주입합니다.
|
|
324
|
+
* @param readOnly true이면 chevron 없이 선택값만 muted-foreground로 표시 (드롭다운 비활성)
|
|
325
|
+
* @param onModelChange 항목 선택 시 호출 — 선택된 항목의 apiId 전달 */
|
|
326
|
+
declare function GroupedSelect({ groups, readOnly, defaultItemId, onChange, }: {
|
|
327
|
+
groups: ModelGroup[];
|
|
328
|
+
readOnly?: boolean;
|
|
329
|
+
defaultItemId?: string;
|
|
330
|
+
onChange?: (apiId: string) => void;
|
|
331
|
+
}): react_jsx_runtime.JSX.Element;
|
|
332
|
+
|
|
333
|
+
interface NavDropdownItem {
|
|
334
|
+
label: string;
|
|
335
|
+
icon?: string;
|
|
336
|
+
href?: string;
|
|
337
|
+
onClick?: () => void;
|
|
338
|
+
}
|
|
339
|
+
interface HeaderNavItem {
|
|
340
|
+
label: string;
|
|
341
|
+
href?: string;
|
|
342
|
+
active?: boolean;
|
|
343
|
+
onClick?: () => void;
|
|
344
|
+
/** 하위 드롭다운 아이템이 있으면 클릭 시 드롭다운 오픈 */
|
|
345
|
+
dropdownItems?: NavDropdownItem[];
|
|
346
|
+
}
|
|
347
|
+
interface UserMenuSectionItem {
|
|
348
|
+
label: string;
|
|
349
|
+
icon?: string;
|
|
350
|
+
href?: string;
|
|
351
|
+
onClick?: () => void;
|
|
352
|
+
variant?: "default" | "destructive";
|
|
353
|
+
}
|
|
354
|
+
interface UserMenuSection {
|
|
355
|
+
/** 섹션 헤더 레이블 (생략 시 레이블 없음) */
|
|
356
|
+
label?: string;
|
|
357
|
+
items: UserMenuSectionItem[];
|
|
358
|
+
}
|
|
359
|
+
interface NotificationItem$1 {
|
|
360
|
+
id: string;
|
|
361
|
+
badge?: string;
|
|
362
|
+
date?: string;
|
|
363
|
+
title: string;
|
|
364
|
+
description: string;
|
|
365
|
+
highlighted?: boolean;
|
|
366
|
+
}
|
|
367
|
+
interface LanguageItem {
|
|
368
|
+
code: string;
|
|
369
|
+
label: string;
|
|
370
|
+
/** 국기 이모지 */
|
|
371
|
+
flag: string;
|
|
372
|
+
}
|
|
373
|
+
interface HeaderProps {
|
|
374
|
+
logo?: React$1.ReactNode;
|
|
375
|
+
brandName?: string;
|
|
376
|
+
navItems?: HeaderNavItem[];
|
|
377
|
+
upgradeLabel?: string;
|
|
378
|
+
onUpgrade?: () => void;
|
|
379
|
+
userEmail?: string;
|
|
380
|
+
userMenuSections?: UserMenuSection[];
|
|
381
|
+
notifications?: NotificationItem$1[];
|
|
382
|
+
onViewAllNotifications?: () => void;
|
|
383
|
+
hasNotification?: boolean;
|
|
384
|
+
languages?: LanguageItem[];
|
|
385
|
+
currentLanguage?: string;
|
|
386
|
+
onLanguageChange?: (code: string) => void;
|
|
387
|
+
className?: string;
|
|
388
|
+
}
|
|
389
|
+
declare function Header({ logo, brandName, navItems, upgradeLabel, onUpgrade, userEmail, userMenuSections, notifications, onViewAllNotifications, hasNotification, languages, currentLanguage, onLanguageChange, className, }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
390
|
+
|
|
391
|
+
type IconNode = [string, Record<string, string>, ...IconNode[]];
|
|
392
|
+
declare const ICON_NODES: Record<string, IconNode[]>;
|
|
393
|
+
|
|
394
|
+
interface IconProps extends React$1.SVGProps<SVGSVGElement> {
|
|
395
|
+
/** Icon name in kebab-case (e.g. "arrow-up", "chevron-down") */
|
|
396
|
+
name: string;
|
|
397
|
+
className?: string;
|
|
398
|
+
strokeWidth?: number;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Inline SVG icon component.
|
|
402
|
+
* Uses `stroke="currentColor"` so color is controlled via CSS `text-*` classes.
|
|
403
|
+
* Renders the same paths as lucide-react but without the library dependency.
|
|
404
|
+
*/
|
|
405
|
+
declare function Icon({ name, className, strokeWidth, ...props }: IconProps): react_jsx_runtime.JSX.Element | null;
|
|
406
|
+
|
|
407
|
+
declare function MarkdownMessage({ content, isStreaming, footerMeta, className, }: {
|
|
408
|
+
content: string;
|
|
409
|
+
isStreaming?: boolean;
|
|
410
|
+
/**
|
|
411
|
+
* MessageFooter의 meta 슬롯에 들어갈 ReactNode.
|
|
412
|
+
* streaming 중에는 렌더링되지 않습니다.
|
|
413
|
+
*/
|
|
414
|
+
footerMeta?: React$1.ReactNode;
|
|
415
|
+
className?: string;
|
|
416
|
+
}): react_jsx_runtime.JSX.Element;
|
|
417
|
+
|
|
418
|
+
declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
419
|
+
declare const MenubarMenu: {
|
|
420
|
+
(props: Menubar$1.MenubarMenuProps & {
|
|
421
|
+
__scopeMenubar?: _radix_ui_react_context.Scope;
|
|
422
|
+
}): react_jsx_runtime.JSX.Element;
|
|
423
|
+
displayName: string;
|
|
424
|
+
};
|
|
425
|
+
declare const MenubarTrigger: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
426
|
+
declare const MenubarContent: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
427
|
+
declare const MenubarGroup: React$1.ForwardRefExoticComponent<Menubar$1.MenubarGroupProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
428
|
+
declare const MenubarItem: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
429
|
+
inset?: boolean;
|
|
430
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
431
|
+
declare const MenubarSub: React$1.FC<Menubar$1.MenubarSubProps>;
|
|
432
|
+
declare const MenubarSubTrigger: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarSubTriggerProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
433
|
+
inset?: boolean;
|
|
434
|
+
} & React$1.RefAttributes<HTMLDivElement>>;
|
|
435
|
+
declare const MenubarSubContent: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarSubContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
436
|
+
declare const MenubarShortcut: {
|
|
437
|
+
({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
|
|
438
|
+
displayName: string;
|
|
439
|
+
};
|
|
440
|
+
declare const MenubarSeparator: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
441
|
+
|
|
442
|
+
interface MessageFooterProps {
|
|
443
|
+
/** 복사할 원본 텍스트 */
|
|
444
|
+
content: string;
|
|
445
|
+
/** 복사 버튼 왼쪽에 표시할 임의 콘텐츠 (예: src/app/components/model-info.tsx) */
|
|
446
|
+
meta?: React$1.ReactNode;
|
|
447
|
+
}
|
|
448
|
+
declare function MessageFooter({ content, meta }: MessageFooterProps): react_jsx_runtime.JSX.Element;
|
|
449
|
+
|
|
450
|
+
interface NumberBadgeProps {
|
|
451
|
+
/** 표시할 숫자 */
|
|
452
|
+
count: number;
|
|
453
|
+
/** 배지 시맨틱 변형 (기본값: default) */
|
|
454
|
+
variant?: BadgeVariant;
|
|
455
|
+
className?: string;
|
|
456
|
+
}
|
|
457
|
+
declare function NumberBadge({ count, variant, className, }: NumberBadgeProps): react_jsx_runtime.JSX.Element;
|
|
458
|
+
|
|
459
|
+
interface Item<T extends string> {
|
|
460
|
+
key: T;
|
|
461
|
+
label: string;
|
|
462
|
+
}
|
|
463
|
+
interface SegmentedControlProps<T extends string> {
|
|
464
|
+
value: T;
|
|
465
|
+
onChange: (value: T) => void;
|
|
466
|
+
items: readonly Item<T>[];
|
|
467
|
+
}
|
|
468
|
+
declare function SegmentedControl<T extends string>({ value, onChange, items, }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
469
|
+
|
|
470
|
+
interface SelectOption {
|
|
471
|
+
/** Unique identifier for the option */
|
|
472
|
+
value: string;
|
|
473
|
+
/** Display text shown in the list and trigger */
|
|
474
|
+
label: string;
|
|
475
|
+
/** Optional icon rendered before the label */
|
|
476
|
+
icon?: React$1.ReactNode;
|
|
477
|
+
}
|
|
478
|
+
interface SelectGroup {
|
|
479
|
+
/** Optional category label shown above items */
|
|
480
|
+
label?: string;
|
|
481
|
+
/** Items in this group */
|
|
482
|
+
options: SelectOption[];
|
|
483
|
+
}
|
|
484
|
+
interface SelectProps {
|
|
485
|
+
/** List of selectable options (flat or grouped) */
|
|
486
|
+
options?: SelectOption[];
|
|
487
|
+
/** Grouped options with optional category labels */
|
|
488
|
+
groups?: SelectGroup[];
|
|
489
|
+
/** Controlled selected value */
|
|
490
|
+
value?: string;
|
|
491
|
+
/** Default value for uncontrolled mode */
|
|
492
|
+
defaultValue?: string;
|
|
493
|
+
/** Callback when selection changes */
|
|
494
|
+
onValueChange?: (value: string) => void;
|
|
495
|
+
/** Placeholder text shown when no value is selected */
|
|
496
|
+
placeholder?: string;
|
|
497
|
+
/** Additional className for the trigger button */
|
|
498
|
+
className?: string;
|
|
499
|
+
/** Disable the select */
|
|
500
|
+
disabled?: boolean;
|
|
501
|
+
}
|
|
502
|
+
declare function Select({ options, groups, value: controlledValue, defaultValue, onValueChange, placeholder, className, disabled, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
503
|
+
|
|
504
|
+
interface SheetProps {
|
|
505
|
+
open: boolean;
|
|
506
|
+
onClose: () => void;
|
|
507
|
+
title: string;
|
|
508
|
+
description?: string;
|
|
509
|
+
children: React$1.ReactNode;
|
|
510
|
+
footer?: React$1.ReactNode;
|
|
511
|
+
}
|
|
512
|
+
declare function Sheet({ open, onClose, title, description, children, footer }: SheetProps): react_jsx_runtime.JSX.Element;
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* 링크 렌더링 함수. next/link, react-router <Link> 등 소비 측 라우터에 맞게 주입한다.
|
|
516
|
+
* 미지정 시 기본 <a> 태그로 렌더링된다.
|
|
517
|
+
*/
|
|
518
|
+
type RenderLinkFn = (props: {
|
|
519
|
+
href: string;
|
|
520
|
+
className?: string;
|
|
521
|
+
style?: React$1.CSSProperties;
|
|
522
|
+
onClick?: () => void;
|
|
523
|
+
children: React$1.ReactNode;
|
|
524
|
+
}) => React$1.ReactNode;
|
|
525
|
+
type SidebarNavItem = {
|
|
526
|
+
href: string;
|
|
527
|
+
label: string;
|
|
528
|
+
icon: React$1.ReactNode;
|
|
529
|
+
isActive: boolean;
|
|
530
|
+
onClick?: () => void;
|
|
531
|
+
/** true이면 이 항목 앞에 구분선을 렌더링합니다. */
|
|
532
|
+
dividerBefore?: boolean;
|
|
533
|
+
};
|
|
534
|
+
type SidebarTaskMenuItem = {
|
|
535
|
+
label: string;
|
|
536
|
+
icon?: React$1.ReactNode;
|
|
537
|
+
onSelect?: () => void;
|
|
538
|
+
variant?: 'default' | 'destructive';
|
|
539
|
+
/** true이면 이 항목 앞에 구분선(간격)을 렌더링합니다. */
|
|
540
|
+
separatorBefore?: boolean;
|
|
541
|
+
};
|
|
542
|
+
type SidebarTask = {
|
|
543
|
+
id: string;
|
|
544
|
+
title: string;
|
|
545
|
+
/** 클릭 시 이동할 경로. renderLink 또는 기본 <a>로 렌더링됩니다. */
|
|
546
|
+
href: string;
|
|
547
|
+
icon?: React$1.ReactNode;
|
|
548
|
+
favorited?: boolean;
|
|
549
|
+
};
|
|
550
|
+
type SidebarUtilityLink = {
|
|
551
|
+
label: string;
|
|
552
|
+
icon: React$1.ReactNode;
|
|
553
|
+
/** 외부 링크 URL. 없으면 button으로 렌더링됩니다. */
|
|
554
|
+
href?: string;
|
|
555
|
+
onClick?: () => void;
|
|
556
|
+
};
|
|
557
|
+
/** 하드코딩된 한국어 문자열을 외부에서 교체할 수 있는 레이블 모음 */
|
|
558
|
+
type SidebarLabels = {
|
|
559
|
+
taskSectionTitle?: string;
|
|
560
|
+
taskSectionHide?: string;
|
|
561
|
+
taskSectionShow?: string;
|
|
562
|
+
taskEmptyMessage?: string;
|
|
563
|
+
};
|
|
564
|
+
interface NotificationItem {
|
|
565
|
+
id: string;
|
|
566
|
+
badge?: string;
|
|
567
|
+
date?: string;
|
|
568
|
+
title: string;
|
|
569
|
+
description: string;
|
|
570
|
+
}
|
|
571
|
+
declare function Sidebar({ className, logo, navRailItems, sectionTitle, navItems, tasks, activeTaskId, showTaskSection, hasNotification, notifications, onViewAllNotifications, utilityLinks, username, onRenameTask, onToggleFavorite, onDeleteTask, labels, renderLink, }: {
|
|
572
|
+
className?: string;
|
|
573
|
+
logo?: React$1.ReactNode;
|
|
574
|
+
navRailItems?: SidebarNavItem[];
|
|
575
|
+
sectionTitle?: string;
|
|
576
|
+
navItems: SidebarNavItem[];
|
|
577
|
+
tasks: SidebarTask[];
|
|
578
|
+
activeTaskId: string | null;
|
|
579
|
+
showTaskSection?: boolean;
|
|
580
|
+
hasNotification?: boolean;
|
|
581
|
+
notifications?: NotificationItem[];
|
|
582
|
+
onViewAllNotifications?: () => void;
|
|
583
|
+
utilityLinks?: SidebarUtilityLink[];
|
|
584
|
+
username?: string;
|
|
585
|
+
onRenameTask?: (id: string, newTitle: string) => void;
|
|
586
|
+
onToggleFavorite?: (id: string) => void;
|
|
587
|
+
onDeleteTask?: (id: string) => void;
|
|
588
|
+
labels?: SidebarLabels;
|
|
589
|
+
renderLink?: RenderLinkFn;
|
|
590
|
+
}): react_jsx_runtime.JSX.Element;
|
|
591
|
+
|
|
592
|
+
declare const Slider: React$1.ForwardRefExoticComponent<Omit<Slider$1.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
593
|
+
|
|
594
|
+
interface StepperStep {
|
|
595
|
+
/** key prop으로 사용되는 고유 식별자 */
|
|
596
|
+
id: string;
|
|
597
|
+
label: string;
|
|
598
|
+
}
|
|
599
|
+
interface StepperProps {
|
|
600
|
+
steps: StepperStep[];
|
|
601
|
+
/**
|
|
602
|
+
* 현재 진행 중인 step의 0-based 인덱스.
|
|
603
|
+
* 이 인덱스 이전 step은 complete, 이 인덱스는 current, 이후는 next.
|
|
604
|
+
*/
|
|
605
|
+
currentStep: number;
|
|
606
|
+
className?: string;
|
|
607
|
+
}
|
|
608
|
+
declare function Stepper({ steps, currentStep, className }: StepperProps): react_jsx_runtime.JSX.Element;
|
|
609
|
+
|
|
610
|
+
declare const Switch: React__default.ForwardRefExoticComponent<Omit<Switch$1.SwitchProps & React__default.RefAttributes<HTMLButtonElement>, "ref"> & React__default.RefAttributes<HTMLButtonElement>>;
|
|
611
|
+
interface SwitchFieldProps extends React__default.ComponentPropsWithoutRef<typeof Switch$1.Root> {
|
|
612
|
+
/** 레이블 텍스트 */
|
|
613
|
+
label: string;
|
|
614
|
+
/** 보조 설명 (선택) */
|
|
615
|
+
description?: string;
|
|
616
|
+
className?: string;
|
|
617
|
+
}
|
|
618
|
+
declare function SwitchField({ label, description, className, id, ...props }: SwitchFieldProps): react_jsx_runtime.JSX.Element;
|
|
619
|
+
|
|
620
|
+
declare const TooltipProvider: React$1.FC<Tooltip$1.TooltipProviderProps>;
|
|
621
|
+
interface TooltipProps extends Pick<React$1.ComponentPropsWithoutRef<typeof Tooltip$1.Root>, 'open' | 'defaultOpen' | 'onOpenChange' | 'delayDuration'>, Omit<React$1.ComponentPropsWithoutRef<typeof Tooltip$1.Content>, 'children' | 'content'> {
|
|
622
|
+
/** 툴팁 말풍선에 표시할 내용 */
|
|
623
|
+
content: React$1.ReactNode;
|
|
624
|
+
/** 호버 시 툴팁을 여는 트리거 요소 (asChild로 렌더링) */
|
|
625
|
+
children: React$1.ReactNode;
|
|
626
|
+
}
|
|
627
|
+
declare function Tooltip({ content, children, open, defaultOpen, onOpenChange, delayDuration, ...contentProps }: TooltipProps): string | number | bigint | boolean | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
628
|
+
interface TooltipWithIconProps {
|
|
629
|
+
content: string;
|
|
630
|
+
/** 트리거 아이콘 이름 (Lucide). @default "info" */
|
|
631
|
+
iconName?: string;
|
|
632
|
+
className?: string;
|
|
633
|
+
}
|
|
634
|
+
declare function TooltipWithIcon({ content, iconName, className, }: TooltipWithIconProps): react_jsx_runtime.JSX.Element | null;
|
|
635
|
+
|
|
636
|
+
/**
|
|
637
|
+
* 사용자 메시지 말풍선.
|
|
638
|
+
* 텍스트가 한 줄이면 rounded-full, 두 줄 이상이면 rounded-2xl.
|
|
639
|
+
* leading-6 = 24px 기준으로 28px 초과 여부로 판별.
|
|
640
|
+
*/
|
|
641
|
+
declare function UserMessageBubble({ content }: {
|
|
642
|
+
content: string;
|
|
643
|
+
}): react_jsx_runtime.JSX.Element;
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* 디자인 시스템 전역 Provider 묶음.
|
|
647
|
+
* layout.tsx (Server Component) 안에서 children을 감싸는 용도.
|
|
648
|
+
*
|
|
649
|
+
* 현재 포함된 Provider:
|
|
650
|
+
* - TooltipProvider: Radix Tooltip 전역 설정
|
|
651
|
+
* · delayDuration — hover → open 지연 시간 (ms)
|
|
652
|
+
* · skipDelayDuration — 빠르게 연속 이동 시 딜레이 스킵 임계치 (ms)
|
|
653
|
+
*/
|
|
654
|
+
declare function Providers({ children }: {
|
|
655
|
+
children: React.ReactNode;
|
|
656
|
+
}): react_jsx_runtime.JSX.Element;
|
|
657
|
+
|
|
658
|
+
declare function RyaiLogoIcon(): react_jsx_runtime.JSX.Element;
|
|
659
|
+
|
|
660
|
+
declare function ClaudeIcon({ className }: {
|
|
661
|
+
className?: string;
|
|
662
|
+
}): react_jsx_runtime.JSX.Element;
|
|
663
|
+
|
|
664
|
+
declare function DeepSeekIcon({ className }: {
|
|
665
|
+
className?: string;
|
|
666
|
+
}): react_jsx_runtime.JSX.Element;
|
|
667
|
+
|
|
668
|
+
declare function GeminiIcon({ className }: {
|
|
669
|
+
className?: string;
|
|
670
|
+
}): react_jsx_runtime.JSX.Element;
|
|
671
|
+
|
|
672
|
+
declare function GoogleIcon({ className }: {
|
|
673
|
+
className?: string;
|
|
674
|
+
}): react_jsx_runtime.JSX.Element;
|
|
675
|
+
|
|
676
|
+
declare function OpenAiIcon({ className }: {
|
|
677
|
+
className?: string;
|
|
678
|
+
}): react_jsx_runtime.JSX.Element;
|
|
679
|
+
|
|
680
|
+
declare function UpstageIcon({ className }: {
|
|
681
|
+
className?: string;
|
|
682
|
+
}): react_jsx_runtime.JSX.Element;
|
|
683
|
+
|
|
684
|
+
declare function AiAgentIcon({ className }: {
|
|
685
|
+
className?: string;
|
|
686
|
+
}): react_jsx_runtime.JSX.Element;
|
|
687
|
+
|
|
688
|
+
declare function AiBuilderIcon({ className }: {
|
|
689
|
+
className?: string;
|
|
690
|
+
}): react_jsx_runtime.JSX.Element;
|
|
691
|
+
|
|
692
|
+
declare function AiCloudIcon({ className }: {
|
|
693
|
+
className?: string;
|
|
694
|
+
}): react_jsx_runtime.JSX.Element;
|
|
695
|
+
|
|
696
|
+
/**
|
|
697
|
+
* AI Datacenter icon — SVG from public/icons/aidatacenter.svg
|
|
698
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
699
|
+
*/
|
|
700
|
+
declare function AiDatacenterIcon({ className }: {
|
|
701
|
+
className?: string;
|
|
702
|
+
}): react_jsx_runtime.JSX.Element;
|
|
703
|
+
|
|
704
|
+
interface AlignJustifyIconProps {
|
|
705
|
+
className?: string;
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* align-justify icon — SVG downloaded from Figma Lucide Icon library.
|
|
709
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:64
|
|
710
|
+
*/
|
|
711
|
+
declare function AlignJustifyIcon({ className }: AlignJustifyIconProps): react_jsx_runtime.JSX.Element;
|
|
712
|
+
|
|
713
|
+
/**
|
|
714
|
+
* Align-left icon — SVG downloaded from Figma design system.
|
|
715
|
+
* Source: Figma node (lucide/align-left)
|
|
716
|
+
*/
|
|
717
|
+
declare function AlignLeftIcon({ className }: {
|
|
718
|
+
className?: string;
|
|
719
|
+
}): react_jsx_runtime.JSX.Element;
|
|
720
|
+
|
|
721
|
+
declare function ArrowDownIcon({ className }: {
|
|
722
|
+
className?: string;
|
|
723
|
+
}): react_jsx_runtime.JSX.Element;
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Blockquote icon — SVG downloaded from Figma design system.
|
|
727
|
+
* Source: Figma node (lucide/quote)
|
|
728
|
+
*/
|
|
729
|
+
declare function BlockquoteIcon({ className }: {
|
|
730
|
+
className?: string;
|
|
731
|
+
}): react_jsx_runtime.JSX.Element;
|
|
732
|
+
|
|
733
|
+
/**
|
|
734
|
+
* Bold icon — SVG downloaded from Figma design system.
|
|
735
|
+
* Source: Figma node (lucide/bold)
|
|
736
|
+
*/
|
|
737
|
+
declare function BoldIcon({ className }: {
|
|
738
|
+
className?: string;
|
|
739
|
+
}): react_jsx_runtime.JSX.Element;
|
|
740
|
+
|
|
741
|
+
interface BookUpIconProps {
|
|
742
|
+
className?: string;
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
* Book-up icon — SVG downloaded directly from Figma design system.
|
|
746
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
747
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:418 (lucide/book-up)
|
|
748
|
+
*/
|
|
749
|
+
declare function BookUpIcon({ className }: BookUpIconProps): react_jsx_runtime.JSX.Element;
|
|
750
|
+
|
|
751
|
+
interface ChevronsUpDownIconProps {
|
|
752
|
+
className?: string;
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Chevrons-up-down icon — SVG downloaded directly from Figma design system.
|
|
756
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
757
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:607 (lucide/chevrons-up-down)
|
|
758
|
+
*/
|
|
759
|
+
declare function ChevronsUpDownIcon({ className }: ChevronsUpDownIconProps): react_jsx_runtime.JSX.Element;
|
|
760
|
+
|
|
761
|
+
/**
|
|
762
|
+
* Circle-check-fill icon — filled circle with white checkmark.
|
|
763
|
+
* SVG downloaded from Figma design system.
|
|
764
|
+
*/
|
|
765
|
+
declare function CircleCheckFillIcon({ className }: {
|
|
766
|
+
className?: string;
|
|
767
|
+
}): react_jsx_runtime.JSX.Element;
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Circle-outline icon — stroke-only circle.
|
|
771
|
+
* SVG downloaded from Figma design system.
|
|
772
|
+
*/
|
|
773
|
+
declare function CircleOutlineIcon({ className }: {
|
|
774
|
+
className?: string;
|
|
775
|
+
}): react_jsx_runtime.JSX.Element;
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* Code icon — SVG downloaded from Figma design system.
|
|
779
|
+
* Source: Figma node (lucide/code)
|
|
780
|
+
*/
|
|
781
|
+
declare function CodeIcon({ className }: {
|
|
782
|
+
className?: string;
|
|
783
|
+
}): react_jsx_runtime.JSX.Element;
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* Code-square icon — SVG downloaded from Figma design system.
|
|
787
|
+
* Source: Figma node (lucide/square-code)
|
|
788
|
+
*/
|
|
789
|
+
declare function CodeSquareIcon({ className }: {
|
|
790
|
+
className?: string;
|
|
791
|
+
}): react_jsx_runtime.JSX.Element;
|
|
792
|
+
|
|
793
|
+
declare function DownloadIcon({ className }: {
|
|
794
|
+
className?: string;
|
|
795
|
+
}): react_jsx_runtime.JSX.Element;
|
|
796
|
+
|
|
797
|
+
/**
|
|
798
|
+
* File-code icon — SVG downloaded from Figma design system.
|
|
799
|
+
* Source: public/icons/file-code.svg
|
|
800
|
+
*/
|
|
801
|
+
declare function FileCodeIcon({ className }: {
|
|
802
|
+
className?: string;
|
|
803
|
+
}): react_jsx_runtime.JSX.Element;
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* File-search icon — SVG downloaded from Figma design system.
|
|
807
|
+
* Source: public/icons/file-search.svg
|
|
808
|
+
*/
|
|
809
|
+
declare function FileSearchIcon({ className }: {
|
|
810
|
+
className?: string;
|
|
811
|
+
}): react_jsx_runtime.JSX.Element;
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* Folder-amber icon — amber-colored folder from Figma design system.
|
|
815
|
+
* Uses <img> to preserve complex gradient fills and filters.
|
|
816
|
+
* Source: public/icons/folder-amber.svg
|
|
817
|
+
*/
|
|
818
|
+
declare function FolderAmberIcon({ className }: {
|
|
819
|
+
className?: string;
|
|
820
|
+
}): react_jsx_runtime.JSX.Element;
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* Heading icon — SVG downloaded from Figma design system.
|
|
824
|
+
* Source: Figma node (lucide/heading)
|
|
825
|
+
*/
|
|
826
|
+
declare function HeadingIcon({ className }: {
|
|
827
|
+
className?: string;
|
|
828
|
+
}): react_jsx_runtime.JSX.Element;
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* Image icon — SVG downloaded from Figma design system.
|
|
832
|
+
* Source: Figma node (lucide/image)
|
|
833
|
+
*/
|
|
834
|
+
declare function ImageIcon({ className }: {
|
|
835
|
+
className?: string;
|
|
836
|
+
}): react_jsx_runtime.JSX.Element;
|
|
837
|
+
|
|
838
|
+
declare function ImportIcon({ className }: {
|
|
839
|
+
className?: string;
|
|
840
|
+
}): react_jsx_runtime.JSX.Element;
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* Indent icon — SVG downloaded from Figma design system.
|
|
844
|
+
* Source: Figma node (lucide/indent)
|
|
845
|
+
*/
|
|
846
|
+
declare function IndentIcon({ className }: {
|
|
847
|
+
className?: string;
|
|
848
|
+
}): react_jsx_runtime.JSX.Element;
|
|
849
|
+
|
|
850
|
+
/**
|
|
851
|
+
* Italic icon — SVG downloaded from Figma design system.
|
|
852
|
+
* Source: Figma node (lucide/italic)
|
|
853
|
+
*/
|
|
854
|
+
declare function ItalicIcon({ className }: {
|
|
855
|
+
className?: string;
|
|
856
|
+
}): react_jsx_runtime.JSX.Element;
|
|
857
|
+
|
|
858
|
+
declare function LayersIcon({ className }: {
|
|
859
|
+
className?: string;
|
|
860
|
+
}): react_jsx_runtime.JSX.Element;
|
|
861
|
+
|
|
862
|
+
interface LayoutGridIconProps {
|
|
863
|
+
className?: string;
|
|
864
|
+
}
|
|
865
|
+
/**
|
|
866
|
+
* layout-grid icon — SVG downloaded from Figma Lucide Icon library.
|
|
867
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:1554
|
|
868
|
+
*/
|
|
869
|
+
declare function LayoutGridIcon({ className }: LayoutGridIconProps): react_jsx_runtime.JSX.Element;
|
|
870
|
+
|
|
871
|
+
/**
|
|
872
|
+
* Line-chart icon — SVG downloaded from Figma design system.
|
|
873
|
+
* Source: public/icons/line-chart.svg
|
|
874
|
+
*/
|
|
875
|
+
declare function LineChartIcon({ className }: {
|
|
876
|
+
className?: string;
|
|
877
|
+
}): react_jsx_runtime.JSX.Element;
|
|
878
|
+
|
|
879
|
+
/**
|
|
880
|
+
* Link icon — SVG downloaded from Figma design system.
|
|
881
|
+
* Source: Figma node (lucide/link)
|
|
882
|
+
*/
|
|
883
|
+
declare function LinkIcon({ className }: {
|
|
884
|
+
className?: string;
|
|
885
|
+
}): react_jsx_runtime.JSX.Element;
|
|
886
|
+
|
|
887
|
+
/**
|
|
888
|
+
* List (unordered) icon — SVG downloaded from Figma design system.
|
|
889
|
+
* Source: Figma node (lucide/list)
|
|
890
|
+
*/
|
|
891
|
+
declare function ListIcon({ className }: {
|
|
892
|
+
className?: string;
|
|
893
|
+
}): react_jsx_runtime.JSX.Element;
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* List-ordered icon — SVG downloaded from Figma design system.
|
|
897
|
+
* Source: Figma node (lucide/list-ordered)
|
|
898
|
+
*/
|
|
899
|
+
declare function ListOrderedIcon({ className }: {
|
|
900
|
+
className?: string;
|
|
901
|
+
}): react_jsx_runtime.JSX.Element;
|
|
902
|
+
|
|
903
|
+
declare function MyPageIcon({ className }: {
|
|
904
|
+
className?: string;
|
|
905
|
+
}): react_jsx_runtime.JSX.Element;
|
|
906
|
+
|
|
907
|
+
/**
|
|
908
|
+
* Outdent icon — SVG downloaded from Figma design system.
|
|
909
|
+
* Source: Figma node (lucide/outdent)
|
|
910
|
+
*/
|
|
911
|
+
declare function OutdentIcon({ className }: {
|
|
912
|
+
className?: string;
|
|
913
|
+
}): react_jsx_runtime.JSX.Element;
|
|
914
|
+
|
|
915
|
+
interface PenLineIconProps {
|
|
916
|
+
className?: string;
|
|
917
|
+
}
|
|
918
|
+
/**
|
|
919
|
+
* Pen-line icon — SVG downloaded directly from Figma design system.
|
|
920
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
921
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 4798:68154 (lucide/pen-line)
|
|
922
|
+
*/
|
|
923
|
+
declare function PenLineIcon({ className }: PenLineIconProps): react_jsx_runtime.JSX.Element;
|
|
924
|
+
|
|
925
|
+
declare function PencilLineIcon({ className }: {
|
|
926
|
+
className?: string;
|
|
927
|
+
}): react_jsx_runtime.JSX.Element;
|
|
928
|
+
|
|
929
|
+
/**
|
|
930
|
+
* Presentation icon — SVG downloaded from Figma design system.
|
|
931
|
+
* Source: Figma node (lucide/presentation)
|
|
932
|
+
*/
|
|
933
|
+
declare function PresentationIcon({ className }: {
|
|
934
|
+
className?: string;
|
|
935
|
+
}): react_jsx_runtime.JSX.Element;
|
|
936
|
+
|
|
937
|
+
/**
|
|
938
|
+
* Smile icon — SVG downloaded from Figma design system.
|
|
939
|
+
* Source: public/icons/smile.svg
|
|
940
|
+
*/
|
|
941
|
+
declare function SmileIcon({ className }: {
|
|
942
|
+
className?: string;
|
|
943
|
+
}): react_jsx_runtime.JSX.Element;
|
|
944
|
+
|
|
945
|
+
declare function SparklesIcon({ className }: {
|
|
946
|
+
className?: string;
|
|
947
|
+
}): react_jsx_runtime.JSX.Element;
|
|
948
|
+
|
|
949
|
+
/**
|
|
950
|
+
* Square-check icon (filled) — SVG downloaded from Figma design system.
|
|
951
|
+
* Uses fill="currentColor" for the background rect and white stroke for checkmark.
|
|
952
|
+
*/
|
|
953
|
+
declare function SquareCheckIcon({ className }: {
|
|
954
|
+
className?: string;
|
|
955
|
+
}): react_jsx_runtime.JSX.Element;
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* Square-check-outline icon — outlined square with checkmark (task list).
|
|
959
|
+
* SVG downloaded from Figma design system.
|
|
960
|
+
*/
|
|
961
|
+
declare function SquareCheckOutlineIcon({ className }: {
|
|
962
|
+
className?: string;
|
|
963
|
+
}): react_jsx_runtime.JSX.Element;
|
|
964
|
+
|
|
965
|
+
interface StarIconProps {
|
|
966
|
+
className?: string;
|
|
967
|
+
filled?: boolean;
|
|
968
|
+
}
|
|
969
|
+
/**
|
|
970
|
+
* Star icon — SVG downloaded directly from Figma design system.
|
|
971
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
972
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:2564 (lucide/star)
|
|
973
|
+
*/
|
|
974
|
+
declare function StarIcon({ className, filled }: StarIconProps): react_jsx_runtime.JSX.Element;
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Strikethrough icon — SVG downloaded from Figma design system.
|
|
978
|
+
* Source: Figma node (lucide/strikethrough)
|
|
979
|
+
*/
|
|
980
|
+
declare function StrikethroughIcon({ className }: {
|
|
981
|
+
className?: string;
|
|
982
|
+
}): react_jsx_runtime.JSX.Element;
|
|
983
|
+
|
|
984
|
+
/**
|
|
985
|
+
* Table-properties icon — SVG downloaded from Figma design system.
|
|
986
|
+
* Source: Figma node (lucide/table-properties)
|
|
987
|
+
*/
|
|
988
|
+
declare function TablePropertiesIcon({ className }: {
|
|
989
|
+
className?: string;
|
|
990
|
+
}): react_jsx_runtime.JSX.Element;
|
|
991
|
+
|
|
992
|
+
interface TrashIconProps {
|
|
993
|
+
className?: string;
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* Trash icon — SVG downloaded directly from Figma design system.
|
|
997
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
998
|
+
* Source: figma.com/design/bNKDIZZAm8ByouCPBnlEye node 128:2740 (lucide/trash)
|
|
999
|
+
*/
|
|
1000
|
+
declare function TrashIcon({ className }: TrashIconProps): react_jsx_runtime.JSX.Element;
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* Wand-sparkles icon — SVG downloaded from Figma design system.
|
|
1004
|
+
* Source: public/icons/wand-sparkles.svg
|
|
1005
|
+
*/
|
|
1006
|
+
declare function WandSparklesIcon({ className }: {
|
|
1007
|
+
className?: string;
|
|
1008
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* Message-circle icon — SVG downloaded directly from Figma design system.
|
|
1012
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1013
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1014
|
+
*/
|
|
1015
|
+
declare function MessageCircleIcon({ className }: {
|
|
1016
|
+
className?: string;
|
|
1017
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1018
|
+
|
|
1019
|
+
/**
|
|
1020
|
+
* Messages-square icon — SVG downloaded directly from Figma design system.
|
|
1021
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1022
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1023
|
+
*/
|
|
1024
|
+
declare function MessagesSquareIcon({ className }: {
|
|
1025
|
+
className?: string;
|
|
1026
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1027
|
+
|
|
1028
|
+
/**
|
|
1029
|
+
* Shopping Bag icon — SVG from public/icons/shopping-bag.svg
|
|
1030
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1031
|
+
*/
|
|
1032
|
+
declare function ShoppingBagIcon({ className }: {
|
|
1033
|
+
className?: string;
|
|
1034
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1035
|
+
|
|
1036
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AiAgentIcon, AiBuilderIcon, AiCloudIcon, AiDatacenterIcon, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlignJustifyIcon, AlignLeftIcon, ArrowDownIcon, type AvailabilityStatus, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookUpIcon, Breadcrumb, BreadcrumbDropdownItem, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, DeepSeekIcon, DownloadIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FolderAmberIcon, GeminiIcon, GoogleIcon, GroupedSelect, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, type ModelGroup, type ModelItem, MyPageIcon, type NavDropdownItem, type NotificationItem$1 as NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Providers, type RenderLinkFn, RyaiLogoIcon, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, ShoppingBagIcon, Sidebar, type SidebarLabels, type SidebarNavItem, type SidebarTask, type SidebarTaskMenuItem, type SidebarUtilityLink, Slider, SmileIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, type StepperStep, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, TablePropertiesIcon, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, buttonVariants };
|