@mondrianai/runyourai-design-system 0.0.20 → 0.0.22

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
@@ -112,7 +112,7 @@ declare function BreadcrumbSeparator({ iconName, className, ...props }: React__d
112
112
  }): react_jsx_runtime.JSX.Element;
113
113
 
114
114
  declare const buttonVariants: (props?: ({
115
- variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | null | undefined;
115
+ variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | "ghostDestructive" | null | undefined;
116
116
  size?: "rounded" | "default" | "icon" | "pill" | null | undefined;
117
117
  } & class_variance_authority_types.ClassProp) | undefined) => string;
118
118
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -519,7 +519,7 @@ declare function Input({ className, type, ...props }: React$1.ComponentProps<"in
519
519
 
520
520
  declare function InputGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
521
521
  declare const inputGroupAddonVariants: (props?: ({
522
- align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
522
+ align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
523
523
  } & class_variance_authority_types.ClassProp) | undefined) => string;
524
524
  declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
525
525
  declare const inputGroupButtonVariants: (props?: ({
@@ -570,6 +570,24 @@ declare function MarkdownMessage({ content, isStreaming, footerMeta, className,
570
570
  className?: string;
571
571
  }): react_jsx_runtime.JSX.Element;
572
572
 
573
+ /**
574
+ * footer 취소/확인 버튼 커스터마이즈 묶음.
575
+ * onClick(취소=onCancel, 확인=onConfirm)은 Modal 레벨에서 처리하므로 제외.
576
+ */
577
+ interface ModalButtonProps {
578
+ /** 버튼 레이블 */
579
+ label?: string;
580
+ /** 텍스트 앞 아이콘 */
581
+ iconStart?: React$1.ReactNode;
582
+ /** 텍스트 뒤 아이콘 */
583
+ iconEnd?: React$1.ReactNode;
584
+ /** 비활성화 */
585
+ disabled?: boolean;
586
+ /** 로딩 상태 (스피너 표시, 클릭 불가) */
587
+ isLoading?: boolean;
588
+ /** 버튼에 추가할 className */
589
+ className?: string;
590
+ }
573
591
  interface ModalProps {
574
592
  id?: string;
575
593
  /**
@@ -596,14 +614,14 @@ interface ModalProps {
596
614
  title: string;
597
615
  /** 제목 아래 부제목 (선택) */
598
616
  description?: string;
599
- /** 우상단 X 닫기 버튼 표시 여부 */
617
+ /** 우상단 X 닫기 버튼 표시 여부 (기본: true) */
600
618
  showCloseButton?: boolean;
601
619
  /** 모달 본문 */
602
620
  children?: React$1.ReactNode;
603
- /** 취소 버튼 레이블 (기본: "취소") */
604
- cancelLabel?: string;
605
- /** 확인 버튼 레이블 (기본: "확인") */
606
- confirmLabel?: string;
621
+ /** 취소 버튼 커스터마이즈 (label 기본: "취소") */
622
+ cancelButtonProps?: ModalButtonProps;
623
+ /** 확인 버튼 커스터마이즈 (label 기본: "확인") */
624
+ confirmButtonProps?: ModalButtonProps;
607
625
  /**
608
626
  * 확인 버튼 콜백.
609
627
  * Promise를 반환하면 resolve될 때까지 loading 상태를 내부에서 자동 처리하고
@@ -612,15 +630,12 @@ interface ModalProps {
612
630
  onConfirm?: () => void | Promise<void>;
613
631
  /** 취소/닫기 시 콜백 (cancel 버튼, X 버튼, ESC, 오버레이 클릭) */
614
632
  onCancel?: () => void;
615
- /** 확인 버튼 비활성화 */
616
- confirmDisabled?: boolean;
617
- isLoading?: boolean;
618
633
  /** 오버레이 클릭 시 닫기 (기본: true) */
619
634
  closeOnOverlayClick?: boolean;
620
635
  /** 모달 패널에 추가할 className */
621
636
  className?: string;
622
637
  }
623
- declare function Modal({ id, trigger, open: openProp, onOpenChange, variant, title, description, showCloseButton, children, cancelLabel, confirmLabel, onConfirm, onCancel, confirmDisabled, closeOnOverlayClick, className, isLoading, }: ModalProps): react_jsx_runtime.JSX.Element;
638
+ declare function Modal({ id, trigger, open: openProp, onOpenChange, variant, title, description, showCloseButton, children, cancelButtonProps, confirmButtonProps, onConfirm, onCancel, closeOnOverlayClick, className, }: ModalProps): react_jsx_runtime.JSX.Element;
624
639
 
625
640
  declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
626
641
  declare const MenubarMenu: {
@@ -1017,6 +1032,39 @@ interface TableColumn<T> {
1017
1032
  align?: 'left' | 'center' | 'right';
1018
1033
  cellClassName?: string;
1019
1034
  headerClassName?: string;
1035
+ /**
1036
+ * 고정 px 너비. 컨테이너가 넓어져도 이 컬럼은 늘어나지 않는다.
1037
+ * (grow와 함께 주면 width가 우선해 고정으로 처리된다)
1038
+ *
1039
+ * ⚠️ 한 테이블에서 width/minWidth/grow 중 하나라도 쓰면 그 테이블은 "flex 레이아웃"으로
1040
+ * 전환된다. 이때 컬럼 너비는 이 세 prop으로만 정하고, headerClassName의 w-[..] 같은
1041
+ * 너비 클래스는 무시된다(정렬·색상 등 다른 스타일에는 계속 headerClassName 사용 가능).
1042
+ *
1043
+ * @example width: 124 // 항상 124px 고정
1044
+ */
1045
+ width?: number;
1046
+ /**
1047
+ * 가변 컬럼의 최소 px 너비(floor). 남은 공간이 부족해도 이 값 아래로는 줄어들지 않고,
1048
+ * 대신 테이블이 가로로 넘쳐 스크롤된다. grow와 함께 사용한다.
1049
+ */
1050
+ minWidth?: number;
1051
+ /**
1052
+ * 가변 컬럼의 성장 가중치. 고정 컬럼(width)을 뺀 "남은 폭"을 grow 비율대로 나눠 갖는다.
1053
+ * (각 컬럼의 minWidth를 먼저 보장한 뒤, 그 위로 남는 여백만 grow 비율로 분배)
1054
+ *
1055
+ * - width/minWidth/grow를 아무것도 지정하지 않은 컬럼은 grow:1로 취급된다
1056
+ * → 여러 개면 남은 폭을 1:1로 균등 분배(headerClassName 없이 나열하던 기존 동작과 동일).
1057
+ * - 한 테이블에서 width(고정)와 grow(가변)를 섞어 쓸 수 있다.
1058
+ *
1059
+ * @example
1060
+ * // 남는 폭을 name : group : members = 3 : 1 : 1 로 분배.
1061
+ * // 각 컬럼은 minWidth 이하로는 줄지 않고, 그 아래로 좁아지면 가로 스크롤.
1062
+ * { key: 'name', grow: 3, minWidth: 180 }
1063
+ * { key: 'group', grow: 1, minWidth: 128 }
1064
+ * { key: 'members', grow: 1, minWidth: 128 }
1065
+ * { key: 'date', width: 136 } // 고정 컬럼은 늘어나지 않음
1066
+ */
1067
+ grow?: number;
1020
1068
  /**
1021
1069
  * true이면 셀 내용을 한 줄로 잘라내고 hover 시 tooltip으로 전체 내용을 표시.
1022
1070
  * tooltip에 표시할 텍스트를 별도로 지정하려면 ellipsisTooltip을 함께 사용.
@@ -1065,6 +1113,15 @@ interface TableProps<T> {
1065
1113
  defaultSorting?: TableSortingItem[];
1066
1114
  /** 데이터 로딩 중 상태. true이면 tbody 대신 스피너를 표시 */
1067
1115
  loading?: boolean;
1116
+ /**
1117
+ * data가 비어 있을 때 tbody 영역에 표시할 내용.
1118
+ * - 미전달: 기본값 <Empty description="No Data" /> 표시
1119
+ * - { description }: 기본 Empty 스타일을 유지한 채 description만 교체
1120
+ * - ReactNode: 전달한 내용을 그대로 렌더(완전 커스텀)
1121
+ */
1122
+ empty?: React$1.ReactNode | {
1123
+ description: React$1.ReactNode;
1124
+ };
1068
1125
  /** true이면 각 행 앞에 체크박스가 추가되어 row multi-select 활성화 */
1069
1126
  enableRowSelection?: boolean;
1070
1127
  /** 외부에서 selection 상태를 제어할 때 사용 (controlled) */
@@ -1079,6 +1136,12 @@ interface TableProps<T> {
1079
1136
  rowActions?: (row: T) => React$1.ReactNode;
1080
1137
  /** 행 클릭 핸들러. enableRowSelection=true(편집 모드)일 때는 동작하지 않음. */
1081
1138
  onRowClick?: (row: T) => void;
1139
+ /**
1140
+ * 특정 행을 disabled 처리할지 판단하는 콜백. true를 반환한 행은
1141
+ * 모든 셀 텍스트가 text-muted-foreground로 통일되고, 클릭(onRowClick)·선택(체크박스)이
1142
+ * 비활성화된다. hover 효과는 그대로 유지된다.
1143
+ */
1144
+ isRowDisabled?: (row: T) => boolean;
1082
1145
  /**
1083
1146
  * 정렬 상태 변경 콜백. 서버사이드 정렬 연동에 사용.
1084
1147
  * 빈 배열(정렬 해제)은 전달되지 않으므로 항상 최소 1개 항목 보장.
@@ -1094,10 +1157,14 @@ interface TableProps<T> {
1094
1157
  declare function SortIcon({ direction }: {
1095
1158
  direction: SortDirection;
1096
1159
  }): react_jsx_runtime.JSX.Element;
1097
- declare function Table<T>({ columns, data, rowKey, pagination, defaultSorting, loading, enableRowSelection, rowSelection: rowSelectionProp, onRowSelectionChange, rowActions, onRowClick, onSortingChange, className, maxHeight, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1160
+ declare function Table<T>({ columns, data, rowKey, pagination, defaultSorting, loading, empty, enableRowSelection, rowSelection: rowSelectionProp, onRowSelectionChange, rowActions, onRowClick, isRowDisabled, onSortingChange, className, maxHeight, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1098
1161
 
1099
1162
  declare const TooltipProvider: React$1.FC<Tooltip$1.TooltipProviderProps>;
1100
- 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'> {
1163
+ interface TooltipSizeProps {
1164
+ /** 말풍선 최대 너비 (숫자는 px). @default 280 */
1165
+ maxWidth?: number | string;
1166
+ }
1167
+ 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'>, TooltipSizeProps {
1101
1168
  /** 툴팁 말풍선에 표시할 내용 */
1102
1169
  content: React$1.ReactNode;
1103
1170
  /** 호버 시 툴팁을 여는 트리거 요소 (asChild로 렌더링) */
@@ -1641,4 +1708,4 @@ declare function WordFileIcon({ className }: {
1641
1708
  className?: string;
1642
1709
  }): react_jsx_runtime.JSX.Element;
1643
1710
 
1644
- 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, 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, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, 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, DatePicker, type DatePickerLocale, type DatePickerMode, type DatePickerProps, type DateRange, DeepSeekIcon, type DisabledDateRule, DownloadIcon, Drawer, type DrawerProps, DriveIcon, DropdownMenu, type DropdownMenuGroupConfig, type DropdownMenuItemConfig, type DropdownMenuProps, 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, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, 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, type PaginationProps, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, RefreshCwIcon, RyaiDsProvider, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, type SheetProps, 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 };
1711
+ 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, 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, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, 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, DatePicker, type DatePickerLocale, type DatePickerMode, type DatePickerProps, type DateRange, DeepSeekIcon, type DisabledDateRule, DownloadIcon, Drawer, type DrawerProps, DriveIcon, DropdownMenu, type DropdownMenuGroupConfig, type DropdownMenuItemConfig, type DropdownMenuProps, 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, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalButtonProps, type ModalProps, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, type PaginationProps, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, RefreshCwIcon, RyaiDsProvider, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, type SheetProps, 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, type TooltipSizeProps, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants, toggleBaseClasses, toggleSizeClasses };
package/dist/index.d.ts CHANGED
@@ -112,7 +112,7 @@ declare function BreadcrumbSeparator({ iconName, className, ...props }: React__d
112
112
  }): react_jsx_runtime.JSX.Element;
113
113
 
114
114
  declare const buttonVariants: (props?: ({
115
- variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | null | undefined;
115
+ variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | "ghostDestructive" | null | undefined;
116
116
  size?: "rounded" | "default" | "icon" | "pill" | null | undefined;
117
117
  } & class_variance_authority_types.ClassProp) | undefined) => string;
118
118
  interface ButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -519,7 +519,7 @@ declare function Input({ className, type, ...props }: React$1.ComponentProps<"in
519
519
 
520
520
  declare function InputGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
521
521
  declare const inputGroupAddonVariants: (props?: ({
522
- align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
522
+ align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
523
523
  } & class_variance_authority_types.ClassProp) | undefined) => string;
524
524
  declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
525
525
  declare const inputGroupButtonVariants: (props?: ({
@@ -570,6 +570,24 @@ declare function MarkdownMessage({ content, isStreaming, footerMeta, className,
570
570
  className?: string;
571
571
  }): react_jsx_runtime.JSX.Element;
572
572
 
573
+ /**
574
+ * footer 취소/확인 버튼 커스터마이즈 묶음.
575
+ * onClick(취소=onCancel, 확인=onConfirm)은 Modal 레벨에서 처리하므로 제외.
576
+ */
577
+ interface ModalButtonProps {
578
+ /** 버튼 레이블 */
579
+ label?: string;
580
+ /** 텍스트 앞 아이콘 */
581
+ iconStart?: React$1.ReactNode;
582
+ /** 텍스트 뒤 아이콘 */
583
+ iconEnd?: React$1.ReactNode;
584
+ /** 비활성화 */
585
+ disabled?: boolean;
586
+ /** 로딩 상태 (스피너 표시, 클릭 불가) */
587
+ isLoading?: boolean;
588
+ /** 버튼에 추가할 className */
589
+ className?: string;
590
+ }
573
591
  interface ModalProps {
574
592
  id?: string;
575
593
  /**
@@ -596,14 +614,14 @@ interface ModalProps {
596
614
  title: string;
597
615
  /** 제목 아래 부제목 (선택) */
598
616
  description?: string;
599
- /** 우상단 X 닫기 버튼 표시 여부 */
617
+ /** 우상단 X 닫기 버튼 표시 여부 (기본: true) */
600
618
  showCloseButton?: boolean;
601
619
  /** 모달 본문 */
602
620
  children?: React$1.ReactNode;
603
- /** 취소 버튼 레이블 (기본: "취소") */
604
- cancelLabel?: string;
605
- /** 확인 버튼 레이블 (기본: "확인") */
606
- confirmLabel?: string;
621
+ /** 취소 버튼 커스터마이즈 (label 기본: "취소") */
622
+ cancelButtonProps?: ModalButtonProps;
623
+ /** 확인 버튼 커스터마이즈 (label 기본: "확인") */
624
+ confirmButtonProps?: ModalButtonProps;
607
625
  /**
608
626
  * 확인 버튼 콜백.
609
627
  * Promise를 반환하면 resolve될 때까지 loading 상태를 내부에서 자동 처리하고
@@ -612,15 +630,12 @@ interface ModalProps {
612
630
  onConfirm?: () => void | Promise<void>;
613
631
  /** 취소/닫기 시 콜백 (cancel 버튼, X 버튼, ESC, 오버레이 클릭) */
614
632
  onCancel?: () => void;
615
- /** 확인 버튼 비활성화 */
616
- confirmDisabled?: boolean;
617
- isLoading?: boolean;
618
633
  /** 오버레이 클릭 시 닫기 (기본: true) */
619
634
  closeOnOverlayClick?: boolean;
620
635
  /** 모달 패널에 추가할 className */
621
636
  className?: string;
622
637
  }
623
- declare function Modal({ id, trigger, open: openProp, onOpenChange, variant, title, description, showCloseButton, children, cancelLabel, confirmLabel, onConfirm, onCancel, confirmDisabled, closeOnOverlayClick, className, isLoading, }: ModalProps): react_jsx_runtime.JSX.Element;
638
+ declare function Modal({ id, trigger, open: openProp, onOpenChange, variant, title, description, showCloseButton, children, cancelButtonProps, confirmButtonProps, onConfirm, onCancel, closeOnOverlayClick, className, }: ModalProps): react_jsx_runtime.JSX.Element;
624
639
 
625
640
  declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
626
641
  declare const MenubarMenu: {
@@ -1017,6 +1032,39 @@ interface TableColumn<T> {
1017
1032
  align?: 'left' | 'center' | 'right';
1018
1033
  cellClassName?: string;
1019
1034
  headerClassName?: string;
1035
+ /**
1036
+ * 고정 px 너비. 컨테이너가 넓어져도 이 컬럼은 늘어나지 않는다.
1037
+ * (grow와 함께 주면 width가 우선해 고정으로 처리된다)
1038
+ *
1039
+ * ⚠️ 한 테이블에서 width/minWidth/grow 중 하나라도 쓰면 그 테이블은 "flex 레이아웃"으로
1040
+ * 전환된다. 이때 컬럼 너비는 이 세 prop으로만 정하고, headerClassName의 w-[..] 같은
1041
+ * 너비 클래스는 무시된다(정렬·색상 등 다른 스타일에는 계속 headerClassName 사용 가능).
1042
+ *
1043
+ * @example width: 124 // 항상 124px 고정
1044
+ */
1045
+ width?: number;
1046
+ /**
1047
+ * 가변 컬럼의 최소 px 너비(floor). 남은 공간이 부족해도 이 값 아래로는 줄어들지 않고,
1048
+ * 대신 테이블이 가로로 넘쳐 스크롤된다. grow와 함께 사용한다.
1049
+ */
1050
+ minWidth?: number;
1051
+ /**
1052
+ * 가변 컬럼의 성장 가중치. 고정 컬럼(width)을 뺀 "남은 폭"을 grow 비율대로 나눠 갖는다.
1053
+ * (각 컬럼의 minWidth를 먼저 보장한 뒤, 그 위로 남는 여백만 grow 비율로 분배)
1054
+ *
1055
+ * - width/minWidth/grow를 아무것도 지정하지 않은 컬럼은 grow:1로 취급된다
1056
+ * → 여러 개면 남은 폭을 1:1로 균등 분배(headerClassName 없이 나열하던 기존 동작과 동일).
1057
+ * - 한 테이블에서 width(고정)와 grow(가변)를 섞어 쓸 수 있다.
1058
+ *
1059
+ * @example
1060
+ * // 남는 폭을 name : group : members = 3 : 1 : 1 로 분배.
1061
+ * // 각 컬럼은 minWidth 이하로는 줄지 않고, 그 아래로 좁아지면 가로 스크롤.
1062
+ * { key: 'name', grow: 3, minWidth: 180 }
1063
+ * { key: 'group', grow: 1, minWidth: 128 }
1064
+ * { key: 'members', grow: 1, minWidth: 128 }
1065
+ * { key: 'date', width: 136 } // 고정 컬럼은 늘어나지 않음
1066
+ */
1067
+ grow?: number;
1020
1068
  /**
1021
1069
  * true이면 셀 내용을 한 줄로 잘라내고 hover 시 tooltip으로 전체 내용을 표시.
1022
1070
  * tooltip에 표시할 텍스트를 별도로 지정하려면 ellipsisTooltip을 함께 사용.
@@ -1065,6 +1113,15 @@ interface TableProps<T> {
1065
1113
  defaultSorting?: TableSortingItem[];
1066
1114
  /** 데이터 로딩 중 상태. true이면 tbody 대신 스피너를 표시 */
1067
1115
  loading?: boolean;
1116
+ /**
1117
+ * data가 비어 있을 때 tbody 영역에 표시할 내용.
1118
+ * - 미전달: 기본값 <Empty description="No Data" /> 표시
1119
+ * - { description }: 기본 Empty 스타일을 유지한 채 description만 교체
1120
+ * - ReactNode: 전달한 내용을 그대로 렌더(완전 커스텀)
1121
+ */
1122
+ empty?: React$1.ReactNode | {
1123
+ description: React$1.ReactNode;
1124
+ };
1068
1125
  /** true이면 각 행 앞에 체크박스가 추가되어 row multi-select 활성화 */
1069
1126
  enableRowSelection?: boolean;
1070
1127
  /** 외부에서 selection 상태를 제어할 때 사용 (controlled) */
@@ -1079,6 +1136,12 @@ interface TableProps<T> {
1079
1136
  rowActions?: (row: T) => React$1.ReactNode;
1080
1137
  /** 행 클릭 핸들러. enableRowSelection=true(편집 모드)일 때는 동작하지 않음. */
1081
1138
  onRowClick?: (row: T) => void;
1139
+ /**
1140
+ * 특정 행을 disabled 처리할지 판단하는 콜백. true를 반환한 행은
1141
+ * 모든 셀 텍스트가 text-muted-foreground로 통일되고, 클릭(onRowClick)·선택(체크박스)이
1142
+ * 비활성화된다. hover 효과는 그대로 유지된다.
1143
+ */
1144
+ isRowDisabled?: (row: T) => boolean;
1082
1145
  /**
1083
1146
  * 정렬 상태 변경 콜백. 서버사이드 정렬 연동에 사용.
1084
1147
  * 빈 배열(정렬 해제)은 전달되지 않으므로 항상 최소 1개 항목 보장.
@@ -1094,10 +1157,14 @@ interface TableProps<T> {
1094
1157
  declare function SortIcon({ direction }: {
1095
1158
  direction: SortDirection;
1096
1159
  }): react_jsx_runtime.JSX.Element;
1097
- declare function Table<T>({ columns, data, rowKey, pagination, defaultSorting, loading, enableRowSelection, rowSelection: rowSelectionProp, onRowSelectionChange, rowActions, onRowClick, onSortingChange, className, maxHeight, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1160
+ declare function Table<T>({ columns, data, rowKey, pagination, defaultSorting, loading, empty, enableRowSelection, rowSelection: rowSelectionProp, onRowSelectionChange, rowActions, onRowClick, isRowDisabled, onSortingChange, className, maxHeight, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1098
1161
 
1099
1162
  declare const TooltipProvider: React$1.FC<Tooltip$1.TooltipProviderProps>;
1100
- 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'> {
1163
+ interface TooltipSizeProps {
1164
+ /** 말풍선 최대 너비 (숫자는 px). @default 280 */
1165
+ maxWidth?: number | string;
1166
+ }
1167
+ 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'>, TooltipSizeProps {
1101
1168
  /** 툴팁 말풍선에 표시할 내용 */
1102
1169
  content: React$1.ReactNode;
1103
1170
  /** 호버 시 툴팁을 여는 트리거 요소 (asChild로 렌더링) */
@@ -1641,4 +1708,4 @@ declare function WordFileIcon({ className }: {
1641
1708
  className?: string;
1642
1709
  }): react_jsx_runtime.JSX.Element;
1643
1710
 
1644
- 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, 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, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, 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, DatePicker, type DatePickerLocale, type DatePickerMode, type DatePickerProps, type DateRange, DeepSeekIcon, type DisabledDateRule, DownloadIcon, Drawer, type DrawerProps, DriveIcon, DropdownMenu, type DropdownMenuGroupConfig, type DropdownMenuItemConfig, type DropdownMenuProps, 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, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, 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, type PaginationProps, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, RefreshCwIcon, RyaiDsProvider, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, type SheetProps, 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 };
1711
+ 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, 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, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, 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, DatePicker, type DatePickerLocale, type DatePickerMode, type DatePickerProps, type DateRange, DeepSeekIcon, type DisabledDateRule, DownloadIcon, Drawer, type DrawerProps, DriveIcon, DropdownMenu, type DropdownMenuGroupConfig, type DropdownMenuItemConfig, type DropdownMenuProps, 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, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, ItalicIcon, KbCard, type KbCardMetadataItem, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, MarkdownFileIcon, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalButtonProps, type ModalProps, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, Pagination, type PaginationProps, PanelLeftIcon, PdfFileIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Progress, type ProgressProps, type ProgressThreshold, RefreshCwIcon, RyaiDsProvider, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, SheetFileIcon, type SheetProps, 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, type TooltipSizeProps, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, WordFileIcon, buttonVariants, toggleBaseClasses, toggleSizeClasses };