@mondrianai/runyourai-design-system 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -168,8 +168,9 @@ interface DataSectionProps {
168
168
  left?: React$1.ReactNode;
169
169
  right?: React$1.ReactNode;
170
170
  className?: string;
171
+ childrenClassName?: string;
171
172
  }
172
- declare function DataSection({ title, left, right, className, children, }: DataSectionProps): react_jsx_runtime.JSX.Element;
173
+ declare function DataSection({ title, left, right, className, childrenClassName, children, }: DataSectionProps): react_jsx_runtime.JSX.Element;
173
174
 
174
175
  interface DrawerProps {
175
176
  open: boolean;
@@ -341,28 +342,6 @@ declare function FieldDivider({ className }: {
341
342
  className?: string;
342
343
  }): react_jsx_runtime.JSX.Element;
343
344
 
344
- type ModelItem = {
345
- id: string;
346
- apiId: string;
347
- name: string;
348
- };
349
- type ModelGroup = {
350
- id: string;
351
- provider: string;
352
- iconSrc: string;
353
- models: ModelItem[];
354
- };
355
- /** 그룹 헤더(아이콘+이름)와 커스텀 스크롤바를 가진 그룹형 셀렉트
356
- * @param groups 표시할 그룹 목록 — 소비 측에서 데이터를 주입합니다.
357
- * @param readOnly true이면 chevron 없이 선택값만 muted-foreground로 표시 (드롭다운 비활성)
358
- * @param onModelChange 항목 선택 시 호출 — 선택된 항목의 apiId 전달 */
359
- declare function GroupedSelect({ groups, readOnly, defaultItemId, onChange, }: {
360
- groups: ModelGroup[];
361
- readOnly?: boolean;
362
- defaultItemId?: string;
363
- onChange?: (apiId: string) => void;
364
- }): react_jsx_runtime.JSX.Element;
365
-
366
345
  interface NavDropdownItem {
367
346
  label: string;
368
347
  icon?: string;
@@ -453,8 +432,9 @@ interface KbCardProps {
453
432
  /** 카드 클릭 핸들러. selectable(편집 모드)일 때는 동작하지 않음. */
454
433
  onClick?: () => void;
455
434
  className?: string;
435
+ variant?: 'grid' | 'list';
456
436
  }
457
- declare function KbCard({ name, metadata, icon, topRight, selectable, checked, onCheckedChange, onClick, className, }: KbCardProps): react_jsx_runtime.JSX.Element;
437
+ declare function KbCard({ name, metadata, icon, topRight, selectable, checked, onCheckedChange, onClick, className, variant, }: KbCardProps): react_jsx_runtime.JSX.Element;
458
438
 
459
439
  declare function MarkdownMessage({ content, isStreaming, footerMeta, className, }: {
460
440
  content: string;
@@ -560,6 +540,25 @@ interface NumberBadgeProps {
560
540
  }
561
541
  declare function NumberBadge({ count, variant, className, }: NumberBadgeProps): react_jsx_runtime.JSX.Element;
562
542
 
543
+ interface ProgressThreshold {
544
+ /** Value (0–100) at which this color activates */
545
+ at: number;
546
+ /** CSS color value, e.g. 'var(--color-amber-500)' or '#ef4444' */
547
+ color: string;
548
+ }
549
+ interface ProgressProps {
550
+ /** Current progress value (0–100) */
551
+ value: number;
552
+ /** Activates when value >= at */
553
+ warning?: ProgressThreshold;
554
+ /** Activates when value >= at (takes precedence over warning) */
555
+ danger?: ProgressThreshold;
556
+ /** Tooltip text shown on hover */
557
+ tooltip?: string;
558
+ className?: string;
559
+ }
560
+ declare function Progress({ value, warning, danger, tooltip, className, }: ProgressProps): react_jsx_runtime.JSX.Element;
561
+
563
562
  interface Item<T extends string> {
564
563
  key: T;
565
564
  label: string;
@@ -580,38 +579,41 @@ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEle
580
579
  declare function SearchInput({ value, onChange, placeholder, className, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
581
580
 
582
581
  interface SelectOption {
583
- /** Unique identifier for the option */
584
582
  value: string;
585
- /** Display text shown in the list and trigger */
586
583
  label: string;
587
584
  /** Optional icon rendered before the label */
588
585
  icon?: React$1.ReactNode;
589
586
  }
590
587
  interface SelectGroup {
591
- /** Optional category label shown above items */
588
+ /** Category label shown above items */
592
589
  label?: string;
593
- /** Items in this group */
590
+ /** Icon rendered before the group label */
591
+ icon?: React$1.ReactNode;
594
592
  options: SelectOption[];
595
593
  }
596
- interface SelectProps {
597
- /** List of selectable options (flat or grouped) */
594
+ interface SelectBase {
595
+ /** Flat list of options (shorthand for a single unnamed group) */
598
596
  options?: SelectOption[];
599
- /** Grouped options with optional category labels */
597
+ /** Grouped options with optional labels and icons */
600
598
  groups?: SelectGroup[];
601
- /** Controlled selected value */
602
- value?: string;
603
- /** Default value for uncontrolled mode */
604
- defaultValue?: string;
605
- /** Callback when selection changes */
606
- onValueChange?: (value: string) => void;
607
- /** Placeholder text shown when no value is selected */
608
599
  placeholder?: string;
609
- /** Additional className for the trigger button */
610
600
  className?: string;
611
- /** Disable the select */
612
601
  disabled?: boolean;
613
602
  }
614
- declare function Select({ options, groups, value: controlledValue, defaultValue, onValueChange, placeholder, className, disabled, }: SelectProps): react_jsx_runtime.JSX.Element;
603
+ interface SingleSelectProps extends SelectBase {
604
+ multiple?: false;
605
+ value?: string;
606
+ defaultValue?: string;
607
+ onValueChange?: (value: string) => void;
608
+ }
609
+ interface MultiSelectProps extends SelectBase {
610
+ multiple: true;
611
+ value?: string[];
612
+ defaultValue?: string[];
613
+ onValueChange?: (value: string[]) => void;
614
+ }
615
+ type SelectProps = SingleSelectProps | MultiSelectProps;
616
+ declare function Select(props: SelectProps): react_jsx_runtime.JSX.Element;
615
617
 
616
618
  interface SheetProps {
617
619
  open: boolean;
@@ -645,6 +647,7 @@ type SidebarSubMenuItem = {
645
647
  isExternal?: boolean;
646
648
  };
647
649
  type SidebarMainMenuItem = {
650
+ type?: 'item';
648
651
  id: string;
649
652
  title: string;
650
653
  href: string;
@@ -653,6 +656,8 @@ type SidebarMainMenuItem = {
653
656
  onClick?: () => void;
654
657
  onHover?: (e: React$1.MouseEvent<HTMLElement>) => void;
655
658
  subMenus?: SidebarSubMenuItem[];
659
+ } | {
660
+ type: 'divider';
656
661
  };
657
662
  type SidebarUtilityItem = {
658
663
  id: string;
@@ -687,22 +692,27 @@ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, pane
687
692
  LinkComponent: SidebarLinkComponent;
688
693
  }): react_jsx_runtime.JSX.Element;
689
694
 
690
- declare const skeletonVariants: (props?: ({
691
- size?: "sm" | "md" | "lg" | null | undefined;
692
- } & class_variance_authority_types.ClassProp) | undefined) => string;
693
- interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
695
+ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
696
+ /**
697
+ * bar — 가로 막대, width=100%, 양쪽 rounded-full (default)
698
+ * circle 원형, size prop으로 지름 조절
699
+ * card — 대형 사각형 블록, rounded-xl
700
+ */
701
+ shape?: 'bar' | 'circle' | 'card';
702
+ /**
703
+ * lg — bar: 24px / circle: 40px / card: 128px
704
+ * md — bar: 12px / circle: 32px / card: 96px
705
+ * sm — bar: 6px / circle: 24px / card: 64px
706
+ */
707
+ size?: 'lg' | 'md' | 'sm';
694
708
  }
695
- declare function Skeleton({ className, size, style, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
709
+ declare function Skeleton({ className, shape, size, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
696
710
 
697
711
  declare const Slider: React$1.ForwardRefExoticComponent<Omit<Slider$1.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
698
712
 
699
- interface StepperStep {
700
- /** key prop으로 사용되는 고유 식별자 */
701
- id: string;
702
- label: string;
703
- }
704
713
  interface StepperProps {
705
- steps: StepperStep[];
714
+ /** Step 라벨 문자열 배열 */
715
+ steps: string[];
706
716
  /**
707
717
  * 현재 진행 중인 step의 0-based 인덱스.
708
718
  * 이 인덱스 이전 step은 complete, 이 인덱스는 current, 이후는 next.
@@ -712,6 +722,65 @@ interface StepperProps {
712
722
  }
713
723
  declare function Stepper({ steps, currentStep, className }: StepperProps): react_jsx_runtime.JSX.Element;
714
724
 
725
+ interface TabItem<T extends string = string> {
726
+ value: T;
727
+ label: string;
728
+ }
729
+ interface TabsProps<T extends string = string> {
730
+ allTabs: TabItem<T>[];
731
+ current: T;
732
+ onTabChange: (value: T) => void;
733
+ /**
734
+ * "pill" — 회색 배경 컨테이너 + 흰 배경 active (segment control 스타일)
735
+ * "underline" — 하단 밑줄 active (default)
736
+ */
737
+ variant?: 'pill' | 'underline';
738
+ className?: string;
739
+ }
740
+ declare function Tabs<T extends string = string>({ allTabs, current, onTabChange, variant, className, }: TabsProps<T>): react_jsx_runtime.JSX.Element;
741
+
742
+ interface ToggleProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
743
+ pressed?: boolean;
744
+ onPressedChange?: (pressed: boolean) => void;
745
+ size?: 'sm' | 'md' | 'lg';
746
+ }
747
+ declare const toggleSizeClasses: {
748
+ readonly sm: "h-7 min-w-7 px-1.5 text-sm";
749
+ readonly md: "h-9 min-w-9 px-2 text-sm";
750
+ readonly lg: "h-10 min-w-10 px-2.5 text-base";
751
+ };
752
+ declare const toggleBaseClasses = "inline-flex items-center justify-center gap-1.5 font-medium tracking-tight transition-colors select-none";
753
+ declare function Toggle({ pressed, onPressedChange, size, disabled, className, children, ...props }: ToggleProps): react_jsx_runtime.JSX.Element;
754
+
755
+ interface ToggleGroupItemData<T extends string = string> {
756
+ value: T;
757
+ children: React.ReactNode;
758
+ disabled?: boolean;
759
+ }
760
+ interface ToggleGroupBaseProps<T extends string = string> {
761
+ items: ToggleGroupItemData<T>[];
762
+ /**
763
+ * outlined — 컨테이너 border + 아이템 사이 divider (default)
764
+ * noBorder — border 없음, 아이템마다 rounded-md 독립 적용
765
+ */
766
+ variant?: 'bordered' | 'noBorder';
767
+ disabled?: boolean;
768
+ size?: 'sm' | 'md' | 'lg';
769
+ className?: string;
770
+ }
771
+ interface ToggleGroupSingleProps<T extends string = string> extends ToggleGroupBaseProps<T> {
772
+ type?: 'single';
773
+ value?: T;
774
+ onValueChange?: (value: T) => void;
775
+ }
776
+ interface ToggleGroupMultipleProps<T extends string = string> extends ToggleGroupBaseProps<T> {
777
+ type: 'multiple';
778
+ value?: T[];
779
+ onValueChange?: (value: T[]) => void;
780
+ }
781
+ type ToggleGroupProps<T extends string = string> = ToggleGroupSingleProps<T> | ToggleGroupMultipleProps<T>;
782
+ declare function ToggleGroup<T extends string = string>({ items, variant, disabled, size, className, ...rest }: ToggleGroupProps<T>): react_jsx_runtime.JSX.Element;
783
+
715
784
  interface CircleIndicatorProps {
716
785
  /** 사용량 (바이트 또는 임의 단위) */
717
786
  used: number;
@@ -1380,4 +1449,4 @@ declare function WordFileIcon({ className }: {
1380
1449
  className?: string;
1381
1450
  }): react_jsx_runtime.JSX.Element;
1382
1451
 
1383
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentBlogIcon, AgentCsIcon, AgentDataIcon, AgentHrIcon, AgentMailIcon, AgentTrendIcon, 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, type AvatarSize, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookOpenIcon, BookUpIcon, Breadcrumb, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleHelpIcon, CircleIndicator, type CircleIndicatorProps, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, CreditIcon, DataSection, type DataSectionProps, DeepSeekIcon, DownloadIcon, Drawer, type DrawerProps, DriveIcon, Empty, EmptyTrayIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FileTypeCornerIcon, FolderAmberIcon, FolderBlueIcon, FolderClosedIcon, FolderGreenIcon, FolderVioletIcon, GeminiIcon, GoogleIcon, GroupedSelect, HangulFileIcon, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, HtmlFileIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalProps, type ModelGroup, type ModelItem, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Providers, RefreshCwIcon, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, ShoppingBagIcon, Sidebar, SidebarLink, type SidebarMainMenuItem, type SidebarSubMenuItem, type SidebarUtilityItem, Skeleton, type SkeletonProps, SlideFileIcon, Slider, SmileIcon, type SortDirection, SortIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, type StepperStep, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, Table, type TableColumn, type TablePaginationConfig, TablePropertiesIcon, type TableProps, type TableSortingItem, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants };
1452
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentBlogIcon, AgentCsIcon, AgentDataIcon, AgentHrIcon, AgentMailIcon, AgentTrendIcon, 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, type AvatarSize, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookOpenIcon, BookUpIcon, Breadcrumb, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleHelpIcon, CircleIndicator, type CircleIndicatorProps, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, CreditIcon, DataSection, type DataSectionProps, DeepSeekIcon, DownloadIcon, Drawer, type DrawerProps, DriveIcon, Empty, EmptyTrayIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FileTypeCornerIcon, FolderAmberIcon, FolderBlueIcon, FolderClosedIcon, FolderGreenIcon, FolderVioletIcon, GeminiIcon, GoogleIcon, HangulFileIcon, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, HtmlFileIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalProps, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, Providers, RefreshCwIcon, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, ShoppingBagIcon, Sidebar, SidebarLink, type SidebarMainMenuItem, type SidebarSubMenuItem, type SidebarUtilityItem, Skeleton, type SkeletonProps, SlideFileIcon, Slider, SmileIcon, type SortDirection, SortIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, type TabItem, Table, type TableColumn, type TablePaginationConfig, TablePropertiesIcon, type TableProps, type TableSortingItem, Tabs, type TabsProps, Toggle, ToggleGroup, type ToggleGroupItemData, type ToggleGroupProps, type ToggleProps, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants, toggleBaseClasses, toggleSizeClasses };
package/dist/index.d.ts CHANGED
@@ -168,8 +168,9 @@ interface DataSectionProps {
168
168
  left?: React$1.ReactNode;
169
169
  right?: React$1.ReactNode;
170
170
  className?: string;
171
+ childrenClassName?: string;
171
172
  }
172
- declare function DataSection({ title, left, right, className, children, }: DataSectionProps): react_jsx_runtime.JSX.Element;
173
+ declare function DataSection({ title, left, right, className, childrenClassName, children, }: DataSectionProps): react_jsx_runtime.JSX.Element;
173
174
 
174
175
  interface DrawerProps {
175
176
  open: boolean;
@@ -341,28 +342,6 @@ declare function FieldDivider({ className }: {
341
342
  className?: string;
342
343
  }): react_jsx_runtime.JSX.Element;
343
344
 
344
- type ModelItem = {
345
- id: string;
346
- apiId: string;
347
- name: string;
348
- };
349
- type ModelGroup = {
350
- id: string;
351
- provider: string;
352
- iconSrc: string;
353
- models: ModelItem[];
354
- };
355
- /** 그룹 헤더(아이콘+이름)와 커스텀 스크롤바를 가진 그룹형 셀렉트
356
- * @param groups 표시할 그룹 목록 — 소비 측에서 데이터를 주입합니다.
357
- * @param readOnly true이면 chevron 없이 선택값만 muted-foreground로 표시 (드롭다운 비활성)
358
- * @param onModelChange 항목 선택 시 호출 — 선택된 항목의 apiId 전달 */
359
- declare function GroupedSelect({ groups, readOnly, defaultItemId, onChange, }: {
360
- groups: ModelGroup[];
361
- readOnly?: boolean;
362
- defaultItemId?: string;
363
- onChange?: (apiId: string) => void;
364
- }): react_jsx_runtime.JSX.Element;
365
-
366
345
  interface NavDropdownItem {
367
346
  label: string;
368
347
  icon?: string;
@@ -453,8 +432,9 @@ interface KbCardProps {
453
432
  /** 카드 클릭 핸들러. selectable(편집 모드)일 때는 동작하지 않음. */
454
433
  onClick?: () => void;
455
434
  className?: string;
435
+ variant?: 'grid' | 'list';
456
436
  }
457
- declare function KbCard({ name, metadata, icon, topRight, selectable, checked, onCheckedChange, onClick, className, }: KbCardProps): react_jsx_runtime.JSX.Element;
437
+ declare function KbCard({ name, metadata, icon, topRight, selectable, checked, onCheckedChange, onClick, className, variant, }: KbCardProps): react_jsx_runtime.JSX.Element;
458
438
 
459
439
  declare function MarkdownMessage({ content, isStreaming, footerMeta, className, }: {
460
440
  content: string;
@@ -560,6 +540,25 @@ interface NumberBadgeProps {
560
540
  }
561
541
  declare function NumberBadge({ count, variant, className, }: NumberBadgeProps): react_jsx_runtime.JSX.Element;
562
542
 
543
+ interface ProgressThreshold {
544
+ /** Value (0–100) at which this color activates */
545
+ at: number;
546
+ /** CSS color value, e.g. 'var(--color-amber-500)' or '#ef4444' */
547
+ color: string;
548
+ }
549
+ interface ProgressProps {
550
+ /** Current progress value (0–100) */
551
+ value: number;
552
+ /** Activates when value >= at */
553
+ warning?: ProgressThreshold;
554
+ /** Activates when value >= at (takes precedence over warning) */
555
+ danger?: ProgressThreshold;
556
+ /** Tooltip text shown on hover */
557
+ tooltip?: string;
558
+ className?: string;
559
+ }
560
+ declare function Progress({ value, warning, danger, tooltip, className, }: ProgressProps): react_jsx_runtime.JSX.Element;
561
+
563
562
  interface Item<T extends string> {
564
563
  key: T;
565
564
  label: string;
@@ -580,38 +579,41 @@ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEle
580
579
  declare function SearchInput({ value, onChange, placeholder, className, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
581
580
 
582
581
  interface SelectOption {
583
- /** Unique identifier for the option */
584
582
  value: string;
585
- /** Display text shown in the list and trigger */
586
583
  label: string;
587
584
  /** Optional icon rendered before the label */
588
585
  icon?: React$1.ReactNode;
589
586
  }
590
587
  interface SelectGroup {
591
- /** Optional category label shown above items */
588
+ /** Category label shown above items */
592
589
  label?: string;
593
- /** Items in this group */
590
+ /** Icon rendered before the group label */
591
+ icon?: React$1.ReactNode;
594
592
  options: SelectOption[];
595
593
  }
596
- interface SelectProps {
597
- /** List of selectable options (flat or grouped) */
594
+ interface SelectBase {
595
+ /** Flat list of options (shorthand for a single unnamed group) */
598
596
  options?: SelectOption[];
599
- /** Grouped options with optional category labels */
597
+ /** Grouped options with optional labels and icons */
600
598
  groups?: SelectGroup[];
601
- /** Controlled selected value */
602
- value?: string;
603
- /** Default value for uncontrolled mode */
604
- defaultValue?: string;
605
- /** Callback when selection changes */
606
- onValueChange?: (value: string) => void;
607
- /** Placeholder text shown when no value is selected */
608
599
  placeholder?: string;
609
- /** Additional className for the trigger button */
610
600
  className?: string;
611
- /** Disable the select */
612
601
  disabled?: boolean;
613
602
  }
614
- declare function Select({ options, groups, value: controlledValue, defaultValue, onValueChange, placeholder, className, disabled, }: SelectProps): react_jsx_runtime.JSX.Element;
603
+ interface SingleSelectProps extends SelectBase {
604
+ multiple?: false;
605
+ value?: string;
606
+ defaultValue?: string;
607
+ onValueChange?: (value: string) => void;
608
+ }
609
+ interface MultiSelectProps extends SelectBase {
610
+ multiple: true;
611
+ value?: string[];
612
+ defaultValue?: string[];
613
+ onValueChange?: (value: string[]) => void;
614
+ }
615
+ type SelectProps = SingleSelectProps | MultiSelectProps;
616
+ declare function Select(props: SelectProps): react_jsx_runtime.JSX.Element;
615
617
 
616
618
  interface SheetProps {
617
619
  open: boolean;
@@ -645,6 +647,7 @@ type SidebarSubMenuItem = {
645
647
  isExternal?: boolean;
646
648
  };
647
649
  type SidebarMainMenuItem = {
650
+ type?: 'item';
648
651
  id: string;
649
652
  title: string;
650
653
  href: string;
@@ -653,6 +656,8 @@ type SidebarMainMenuItem = {
653
656
  onClick?: () => void;
654
657
  onHover?: (e: React$1.MouseEvent<HTMLElement>) => void;
655
658
  subMenus?: SidebarSubMenuItem[];
659
+ } | {
660
+ type: 'divider';
656
661
  };
657
662
  type SidebarUtilityItem = {
658
663
  id: string;
@@ -687,22 +692,27 @@ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, pane
687
692
  LinkComponent: SidebarLinkComponent;
688
693
  }): react_jsx_runtime.JSX.Element;
689
694
 
690
- declare const skeletonVariants: (props?: ({
691
- size?: "sm" | "md" | "lg" | null | undefined;
692
- } & class_variance_authority_types.ClassProp) | undefined) => string;
693
- interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
695
+ interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
696
+ /**
697
+ * bar — 가로 막대, width=100%, 양쪽 rounded-full (default)
698
+ * circle 원형, size prop으로 지름 조절
699
+ * card — 대형 사각형 블록, rounded-xl
700
+ */
701
+ shape?: 'bar' | 'circle' | 'card';
702
+ /**
703
+ * lg — bar: 24px / circle: 40px / card: 128px
704
+ * md — bar: 12px / circle: 32px / card: 96px
705
+ * sm — bar: 6px / circle: 24px / card: 64px
706
+ */
707
+ size?: 'lg' | 'md' | 'sm';
694
708
  }
695
- declare function Skeleton({ className, size, style, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
709
+ declare function Skeleton({ className, shape, size, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
696
710
 
697
711
  declare const Slider: React$1.ForwardRefExoticComponent<Omit<Slider$1.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
698
712
 
699
- interface StepperStep {
700
- /** key prop으로 사용되는 고유 식별자 */
701
- id: string;
702
- label: string;
703
- }
704
713
  interface StepperProps {
705
- steps: StepperStep[];
714
+ /** Step 라벨 문자열 배열 */
715
+ steps: string[];
706
716
  /**
707
717
  * 현재 진행 중인 step의 0-based 인덱스.
708
718
  * 이 인덱스 이전 step은 complete, 이 인덱스는 current, 이후는 next.
@@ -712,6 +722,65 @@ interface StepperProps {
712
722
  }
713
723
  declare function Stepper({ steps, currentStep, className }: StepperProps): react_jsx_runtime.JSX.Element;
714
724
 
725
+ interface TabItem<T extends string = string> {
726
+ value: T;
727
+ label: string;
728
+ }
729
+ interface TabsProps<T extends string = string> {
730
+ allTabs: TabItem<T>[];
731
+ current: T;
732
+ onTabChange: (value: T) => void;
733
+ /**
734
+ * "pill" — 회색 배경 컨테이너 + 흰 배경 active (segment control 스타일)
735
+ * "underline" — 하단 밑줄 active (default)
736
+ */
737
+ variant?: 'pill' | 'underline';
738
+ className?: string;
739
+ }
740
+ declare function Tabs<T extends string = string>({ allTabs, current, onTabChange, variant, className, }: TabsProps<T>): react_jsx_runtime.JSX.Element;
741
+
742
+ interface ToggleProps extends Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
743
+ pressed?: boolean;
744
+ onPressedChange?: (pressed: boolean) => void;
745
+ size?: 'sm' | 'md' | 'lg';
746
+ }
747
+ declare const toggleSizeClasses: {
748
+ readonly sm: "h-7 min-w-7 px-1.5 text-sm";
749
+ readonly md: "h-9 min-w-9 px-2 text-sm";
750
+ readonly lg: "h-10 min-w-10 px-2.5 text-base";
751
+ };
752
+ declare const toggleBaseClasses = "inline-flex items-center justify-center gap-1.5 font-medium tracking-tight transition-colors select-none";
753
+ declare function Toggle({ pressed, onPressedChange, size, disabled, className, children, ...props }: ToggleProps): react_jsx_runtime.JSX.Element;
754
+
755
+ interface ToggleGroupItemData<T extends string = string> {
756
+ value: T;
757
+ children: React.ReactNode;
758
+ disabled?: boolean;
759
+ }
760
+ interface ToggleGroupBaseProps<T extends string = string> {
761
+ items: ToggleGroupItemData<T>[];
762
+ /**
763
+ * outlined — 컨테이너 border + 아이템 사이 divider (default)
764
+ * noBorder — border 없음, 아이템마다 rounded-md 독립 적용
765
+ */
766
+ variant?: 'bordered' | 'noBorder';
767
+ disabled?: boolean;
768
+ size?: 'sm' | 'md' | 'lg';
769
+ className?: string;
770
+ }
771
+ interface ToggleGroupSingleProps<T extends string = string> extends ToggleGroupBaseProps<T> {
772
+ type?: 'single';
773
+ value?: T;
774
+ onValueChange?: (value: T) => void;
775
+ }
776
+ interface ToggleGroupMultipleProps<T extends string = string> extends ToggleGroupBaseProps<T> {
777
+ type: 'multiple';
778
+ value?: T[];
779
+ onValueChange?: (value: T[]) => void;
780
+ }
781
+ type ToggleGroupProps<T extends string = string> = ToggleGroupSingleProps<T> | ToggleGroupMultipleProps<T>;
782
+ declare function ToggleGroup<T extends string = string>({ items, variant, disabled, size, className, ...rest }: ToggleGroupProps<T>): react_jsx_runtime.JSX.Element;
783
+
715
784
  interface CircleIndicatorProps {
716
785
  /** 사용량 (바이트 또는 임의 단위) */
717
786
  used: number;
@@ -1380,4 +1449,4 @@ declare function WordFileIcon({ className }: {
1380
1449
  className?: string;
1381
1450
  }): react_jsx_runtime.JSX.Element;
1382
1451
 
1383
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentBlogIcon, AgentCsIcon, AgentDataIcon, AgentHrIcon, AgentMailIcon, AgentTrendIcon, 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, type AvatarSize, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookOpenIcon, BookUpIcon, Breadcrumb, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleHelpIcon, CircleIndicator, type CircleIndicatorProps, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, CreditIcon, DataSection, type DataSectionProps, DeepSeekIcon, DownloadIcon, Drawer, type DrawerProps, DriveIcon, Empty, EmptyTrayIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FileTypeCornerIcon, FolderAmberIcon, FolderBlueIcon, FolderClosedIcon, FolderGreenIcon, FolderVioletIcon, GeminiIcon, GoogleIcon, GroupedSelect, HangulFileIcon, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, HtmlFileIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalProps, type ModelGroup, type ModelItem, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Providers, RefreshCwIcon, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, ShoppingBagIcon, Sidebar, SidebarLink, type SidebarMainMenuItem, type SidebarSubMenuItem, type SidebarUtilityItem, Skeleton, type SkeletonProps, SlideFileIcon, Slider, SmileIcon, type SortDirection, SortIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, type StepperStep, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, Table, type TableColumn, type TablePaginationConfig, TablePropertiesIcon, type TableProps, type TableSortingItem, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants };
1452
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AgentBlogIcon, AgentCsIcon, AgentDataIcon, AgentHrIcon, AgentMailIcon, AgentTrendIcon, 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, type AvatarSize, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookOpenIcon, BookUpIcon, Breadcrumb, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleHelpIcon, CircleIndicator, type CircleIndicatorProps, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, CreditIcon, DataSection, type DataSectionProps, DeepSeekIcon, DownloadIcon, Drawer, type DrawerProps, DriveIcon, Empty, EmptyTrayIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FileTypeCornerIcon, FolderAmberIcon, FolderBlueIcon, FolderClosedIcon, FolderGreenIcon, FolderVioletIcon, GeminiIcon, GoogleIcon, HangulFileIcon, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, HtmlFileIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalProps, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, Providers, RefreshCwIcon, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, ShoppingBagIcon, Sidebar, SidebarLink, type SidebarMainMenuItem, type SidebarSubMenuItem, type SidebarUtilityItem, Skeleton, type SkeletonProps, SlideFileIcon, Slider, SmileIcon, type SortDirection, SortIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, type TabItem, Table, type TableColumn, type TablePaginationConfig, TablePropertiesIcon, type TableProps, type TableSortingItem, Tabs, type TabsProps, Toggle, ToggleGroup, type ToggleGroupItemData, type ToggleGroupProps, type ToggleProps, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants, toggleBaseClasses, toggleSizeClasses };