@mondrianai/runyourai-design-system 0.0.18 → 0.0.19
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 +15 -7
- package/dist/index.d.ts +15 -7
- package/dist/index.js +165 -83
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +281 -199
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import React__default from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
3
3
|
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, DropdownMenu as DropdownMenu$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
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -33,7 +33,7 @@ declare const AlertDialogAction: React$1.ForwardRefExoticComponent<Omit<AlertDia
|
|
|
33
33
|
declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogCancelProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
34
34
|
|
|
35
35
|
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
36
|
-
variant?: "
|
|
36
|
+
variant?: "destructive" | "default" | null | undefined;
|
|
37
37
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLDivElement>>;
|
|
38
38
|
declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
39
39
|
declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -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" | "
|
|
115
|
+
variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | 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> {
|
|
@@ -869,6 +869,8 @@ declare function Stepper({ steps, currentStep, className }: StepperProps): react
|
|
|
869
869
|
interface TabItem<T extends string = string> {
|
|
870
870
|
value: T;
|
|
871
871
|
label: string;
|
|
872
|
+
/** 이 탭이 활성화됐을 때 탭 행 우측에 렌더링할 콘텐츠 (검색, 액션 버튼 등) */
|
|
873
|
+
rightContents?: ReactNode;
|
|
872
874
|
}
|
|
873
875
|
interface TabsProps<T extends string = string> {
|
|
874
876
|
allTabs: TabItem<T>[];
|
|
@@ -878,7 +880,7 @@ interface TabsProps<T extends string = string> {
|
|
|
878
880
|
* "pill" — 회색 배경 컨테이너 + 흰 배경 active (segment control 스타일)
|
|
879
881
|
* "underline" — 하단 밑줄 active (default)
|
|
880
882
|
*/
|
|
881
|
-
variant?:
|
|
883
|
+
variant?: 'pill' | 'underline';
|
|
882
884
|
/** 컨테이너를 w-full로 펼치고 각 탭 버튼을 균등 분할(flex-1)합니다 */
|
|
883
885
|
block?: boolean;
|
|
884
886
|
/** Tailwind height 클래스 (e.g. "h-[36px]"). 지정 시 내부 버튼 패딩도 자동 조정됩니다. */
|
|
@@ -981,9 +983,15 @@ interface PaginationProps {
|
|
|
981
983
|
previousLabel?: string;
|
|
982
984
|
/** 다음 버튼 라벨. simple=true 이면 무시됨. 기본값 "다음" */
|
|
983
985
|
nextLabel?: string;
|
|
986
|
+
/** 현재 페이지 크기. onPageSizeChange와 함께 사용하면 좌측에 Select가 표시됨. */
|
|
987
|
+
pageSize?: number;
|
|
988
|
+
/** 페이지 크기 변경 콜백. 제공 시 좌측에 페이지 크기 Select가 표시됨. */
|
|
989
|
+
onPageSizeChange?: (size: number) => void;
|
|
990
|
+
/** 페이지 크기 옵션. value는 숫자 문자열, label은 단위 포함 표시 텍스트. 예: [{ value: '10', label: '10개' }] */
|
|
991
|
+
pageSizeOptions?: SelectOption[];
|
|
984
992
|
className?: string;
|
|
985
993
|
}
|
|
986
|
-
declare function Pagination({ currentPage, totalPages, onPageChange, simple, previousLabel, nextLabel, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
994
|
+
declare function Pagination({ currentPage, totalPages, onPageChange, simple, previousLabel, nextLabel, pageSize, onPageSizeChange, pageSizeOptions, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
987
995
|
|
|
988
996
|
type SortDirection = 'ASC' | 'DESC' | null;
|
|
989
997
|
interface TableColumn<T> {
|
|
@@ -1109,7 +1117,7 @@ declare function UserMessageBubble({ content }: {
|
|
|
1109
1117
|
* · delayDuration — hover → open 지연 시간 (ms)
|
|
1110
1118
|
* · skipDelayDuration — 빠르게 연속 이동 시 딜레이 스킵 임계치 (ms)
|
|
1111
1119
|
*/
|
|
1112
|
-
declare function
|
|
1120
|
+
declare function RyaiDsProvider({ children }: {
|
|
1113
1121
|
children: React.ReactNode;
|
|
1114
1122
|
}): react_jsx_runtime.JSX.Element;
|
|
1115
1123
|
|
|
@@ -1620,4 +1628,4 @@ declare function WordFileIcon({ className }: {
|
|
|
1620
1628
|
className?: string;
|
|
1621
1629
|
}): react_jsx_runtime.JSX.Element;
|
|
1622
1630
|
|
|
1623
|
-
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, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, 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,
|
|
1631
|
+
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, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, 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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import React__default from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
3
3
|
import { Accordion as Accordion$1, AlertDialog as AlertDialog$1, DropdownMenu as DropdownMenu$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
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -33,7 +33,7 @@ declare const AlertDialogAction: React$1.ForwardRefExoticComponent<Omit<AlertDia
|
|
|
33
33
|
declare const AlertDialogCancel: React$1.ForwardRefExoticComponent<Omit<AlertDialog$1.AlertDialogCancelProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
34
34
|
|
|
35
35
|
declare const Alert: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
36
|
-
variant?: "
|
|
36
|
+
variant?: "destructive" | "default" | null | undefined;
|
|
37
37
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLDivElement>>;
|
|
38
38
|
declare const AlertTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
39
39
|
declare const AlertDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -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" | "
|
|
115
|
+
variant?: "link" | "primary" | "secondary" | "outline" | "ghost" | "destructive" | 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> {
|
|
@@ -869,6 +869,8 @@ declare function Stepper({ steps, currentStep, className }: StepperProps): react
|
|
|
869
869
|
interface TabItem<T extends string = string> {
|
|
870
870
|
value: T;
|
|
871
871
|
label: string;
|
|
872
|
+
/** 이 탭이 활성화됐을 때 탭 행 우측에 렌더링할 콘텐츠 (검색, 액션 버튼 등) */
|
|
873
|
+
rightContents?: ReactNode;
|
|
872
874
|
}
|
|
873
875
|
interface TabsProps<T extends string = string> {
|
|
874
876
|
allTabs: TabItem<T>[];
|
|
@@ -878,7 +880,7 @@ interface TabsProps<T extends string = string> {
|
|
|
878
880
|
* "pill" — 회색 배경 컨테이너 + 흰 배경 active (segment control 스타일)
|
|
879
881
|
* "underline" — 하단 밑줄 active (default)
|
|
880
882
|
*/
|
|
881
|
-
variant?:
|
|
883
|
+
variant?: 'pill' | 'underline';
|
|
882
884
|
/** 컨테이너를 w-full로 펼치고 각 탭 버튼을 균등 분할(flex-1)합니다 */
|
|
883
885
|
block?: boolean;
|
|
884
886
|
/** Tailwind height 클래스 (e.g. "h-[36px]"). 지정 시 내부 버튼 패딩도 자동 조정됩니다. */
|
|
@@ -981,9 +983,15 @@ interface PaginationProps {
|
|
|
981
983
|
previousLabel?: string;
|
|
982
984
|
/** 다음 버튼 라벨. simple=true 이면 무시됨. 기본값 "다음" */
|
|
983
985
|
nextLabel?: string;
|
|
986
|
+
/** 현재 페이지 크기. onPageSizeChange와 함께 사용하면 좌측에 Select가 표시됨. */
|
|
987
|
+
pageSize?: number;
|
|
988
|
+
/** 페이지 크기 변경 콜백. 제공 시 좌측에 페이지 크기 Select가 표시됨. */
|
|
989
|
+
onPageSizeChange?: (size: number) => void;
|
|
990
|
+
/** 페이지 크기 옵션. value는 숫자 문자열, label은 단위 포함 표시 텍스트. 예: [{ value: '10', label: '10개' }] */
|
|
991
|
+
pageSizeOptions?: SelectOption[];
|
|
984
992
|
className?: string;
|
|
985
993
|
}
|
|
986
|
-
declare function Pagination({ currentPage, totalPages, onPageChange, simple, previousLabel, nextLabel, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
994
|
+
declare function Pagination({ currentPage, totalPages, onPageChange, simple, previousLabel, nextLabel, pageSize, onPageSizeChange, pageSizeOptions, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
|
|
987
995
|
|
|
988
996
|
type SortDirection = 'ASC' | 'DESC' | null;
|
|
989
997
|
interface TableColumn<T> {
|
|
@@ -1109,7 +1117,7 @@ declare function UserMessageBubble({ content }: {
|
|
|
1109
1117
|
* · delayDuration — hover → open 지연 시간 (ms)
|
|
1110
1118
|
* · skipDelayDuration — 빠르게 연속 이동 시 딜레이 스킵 임계치 (ms)
|
|
1111
1119
|
*/
|
|
1112
|
-
declare function
|
|
1120
|
+
declare function RyaiDsProvider({ children }: {
|
|
1113
1121
|
children: React.ReactNode;
|
|
1114
1122
|
}): react_jsx_runtime.JSX.Element;
|
|
1115
1123
|
|
|
@@ -1620,4 +1628,4 @@ declare function WordFileIcon({ className }: {
|
|
|
1620
1628
|
className?: string;
|
|
1621
1629
|
}): react_jsx_runtime.JSX.Element;
|
|
1622
1630
|
|
|
1623
|
-
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, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, 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,
|
|
1631
|
+
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, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, 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 };
|
package/dist/index.js
CHANGED
|
@@ -220,8 +220,8 @@ __export(components_exports, {
|
|
|
220
220
|
PencilLineIcon: () => PencilLineIcon,
|
|
221
221
|
PresentationIcon: () => PresentationIcon,
|
|
222
222
|
Progress: () => Progress,
|
|
223
|
-
Providers: () => Providers,
|
|
224
223
|
RefreshCwIcon: () => RefreshCwIcon,
|
|
224
|
+
RyaiDsProvider: () => RyaiDsProvider,
|
|
225
225
|
RyaiLogoIcon: () => RyaiLogoIcon,
|
|
226
226
|
SearchInput: () => SearchInput,
|
|
227
227
|
SegmentedControl: () => SegmentedControl,
|
|
@@ -701,7 +701,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
701
701
|
variants: {
|
|
702
702
|
/**
|
|
703
703
|
* variant — 버튼 색상/스타일
|
|
704
|
-
*
|
|
704
|
+
* primary 검정 배경, 흰 글자(primary-foreground), 그림자 / hover: opacity-90
|
|
705
705
|
* secondary 연회색 배경, 검정 글자 / hover: accent 배경 (텍스트·opacity 변화 없음)
|
|
706
706
|
* outline 흰 배경 + 테두리, 검정 글자 / hover: accent 배경 (텍스트 색 변화 없음)
|
|
707
707
|
* ghost 배경 없음, 검정 글자 / hover: accent 배경 (텍스트 색 변화 없음)
|
|
@@ -709,7 +709,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
709
709
|
* link 배경/테두리 없음, primary 색 글자 / hover: underline
|
|
710
710
|
*/
|
|
711
711
|
variant: {
|
|
712
|
-
|
|
712
|
+
primary: "bg-primary text-primary-foreground shadow-button hover:opacity-90",
|
|
713
713
|
secondary: "bg-secondary text-secondary-foreground hover:bg-accent",
|
|
714
714
|
outline: "border border-border bg-background text-foreground hover:bg-accent",
|
|
715
715
|
ghost: "text-foreground hover:bg-accent",
|
|
@@ -731,7 +731,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
731
731
|
}
|
|
732
732
|
},
|
|
733
733
|
defaultVariants: {
|
|
734
|
-
variant: "
|
|
734
|
+
variant: "primary",
|
|
735
735
|
size: "default"
|
|
736
736
|
}
|
|
737
737
|
}
|
|
@@ -739,7 +739,7 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
739
739
|
function Button(_a) {
|
|
740
740
|
var _b = _a, {
|
|
741
741
|
className,
|
|
742
|
-
variant = "
|
|
742
|
+
variant = "primary",
|
|
743
743
|
size = "default",
|
|
744
744
|
asChild = false,
|
|
745
745
|
loading = false,
|
|
@@ -891,7 +891,7 @@ var AlertDialogAction = React3.forwardRef((_a, ref) => {
|
|
|
891
891
|
import_radix_ui3.AlertDialog.Action,
|
|
892
892
|
__spreadValues({
|
|
893
893
|
ref,
|
|
894
|
-
className: cn(buttonVariants({ variant: "
|
|
894
|
+
className: cn(buttonVariants({ variant: "primary" }), className)
|
|
895
895
|
}, props)
|
|
896
896
|
);
|
|
897
897
|
});
|
|
@@ -3825,40 +3825,28 @@ var React14 = __toESM(require("react"));
|
|
|
3825
3825
|
var import_radix_ui11 = require("radix-ui");
|
|
3826
3826
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
3827
3827
|
var TooltipProvider = import_radix_ui11.Tooltip.Provider;
|
|
3828
|
-
var TooltipContent = React14.forwardRef(
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3832
|
-
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
"animate-in fade-in-0 zoom-in-95",
|
|
3851
|
-
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
3852
|
-
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
3853
|
-
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
3854
|
-
className
|
|
3855
|
-
)
|
|
3856
|
-
}, props), {
|
|
3857
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "block text-xs font-normal leading-snug tracking-tight text-primary-foreground whitespace-normal break-words", children })
|
|
3858
|
-
})
|
|
3859
|
-
) });
|
|
3860
|
-
}
|
|
3861
|
-
);
|
|
3828
|
+
var TooltipContent = React14.forwardRef((_a, ref) => {
|
|
3829
|
+
var _b = _a, { className, side = "top", sideOffset = 4, children } = _b, props = __objRest(_b, ["className", "side", "sideOffset", "children"]);
|
|
3830
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_radix_ui11.Tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
3831
|
+
import_radix_ui11.Tooltip.Content,
|
|
3832
|
+
__spreadProps(__spreadValues({
|
|
3833
|
+
ref,
|
|
3834
|
+
side,
|
|
3835
|
+
sideOffset,
|
|
3836
|
+
className: cn(
|
|
3837
|
+
"z-50 w-max max-w-[200px]",
|
|
3838
|
+
"bg-primary rounded-md px-2.5 py-1.5",
|
|
3839
|
+
"animate-in fade-in-0 zoom-in-95",
|
|
3840
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
3841
|
+
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
|
|
3842
|
+
"data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
3843
|
+
className
|
|
3844
|
+
)
|
|
3845
|
+
}, props), {
|
|
3846
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "block text-xs font-normal leading-snug tracking-tight text-primary-foreground whitespace-normal break-words", children })
|
|
3847
|
+
})
|
|
3848
|
+
) });
|
|
3849
|
+
});
|
|
3862
3850
|
TooltipContent.displayName = "TooltipContent";
|
|
3863
3851
|
function Tooltip(_a) {
|
|
3864
3852
|
var _b = _a, {
|
|
@@ -3901,7 +3889,7 @@ function TooltipWithIcon({
|
|
|
3901
3889
|
Icon,
|
|
3902
3890
|
{
|
|
3903
3891
|
name: iconName,
|
|
3904
|
-
className: cn("size-4 text-muted-foreground cursor-
|
|
3892
|
+
className: cn("size-4 text-muted-foreground cursor-help", className)
|
|
3905
3893
|
}
|
|
3906
3894
|
) });
|
|
3907
3895
|
}
|
|
@@ -4516,7 +4504,7 @@ function Modal({
|
|
|
4516
4504
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
4517
4505
|
Button,
|
|
4518
4506
|
{
|
|
4519
|
-
variant: variant === "danger" ? "destructive" : "
|
|
4507
|
+
variant: variant === "danger" ? "destructive" : "primary",
|
|
4520
4508
|
onClick: handleConfirm,
|
|
4521
4509
|
disabled: confirmDisabled,
|
|
4522
4510
|
loading: isLoadingCombined,
|
|
@@ -4877,6 +4865,19 @@ function SearchInput(_a) {
|
|
|
4877
4865
|
var React20 = __toESM(require("react"));
|
|
4878
4866
|
var import_radix_ui13 = require("radix-ui");
|
|
4879
4867
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
4868
|
+
function TruncatedText({ text, className }) {
|
|
4869
|
+
const ref = React20.useRef(null);
|
|
4870
|
+
const [open, setOpen] = React20.useState(false);
|
|
4871
|
+
const handleOpenChange = (nextOpen) => {
|
|
4872
|
+
if (!nextOpen) {
|
|
4873
|
+
setOpen(false);
|
|
4874
|
+
return;
|
|
4875
|
+
}
|
|
4876
|
+
const el = ref.current;
|
|
4877
|
+
if (el && el.scrollWidth > el.clientWidth) setOpen(true);
|
|
4878
|
+
};
|
|
4879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Tooltip, { content: text, open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { ref, className, children: text }) });
|
|
4880
|
+
}
|
|
4880
4881
|
function Select(props) {
|
|
4881
4882
|
var _a, _b, _c, _d;
|
|
4882
4883
|
const { placeholder = "\uC120\uD0DD\uD574 \uC8FC\uC138\uC694", className, disabled = false } = props;
|
|
@@ -4950,13 +4951,13 @@ function Select(props) {
|
|
|
4950
4951
|
triggerGroupIcon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 flex items-center", children: triggerGroupIcon }),
|
|
4951
4952
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
4952
4953
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
4953
|
-
|
|
4954
|
+
TruncatedText,
|
|
4954
4955
|
{
|
|
4956
|
+
text: triggerLabel || placeholder,
|
|
4955
4957
|
className: cn(
|
|
4956
4958
|
"min-w-0 truncate text-left text-sm leading-5 tracking-tight",
|
|
4957
4959
|
triggerLabel ? "text-foreground" : "text-muted-foreground"
|
|
4958
|
-
)
|
|
4959
|
-
children: triggerLabel || placeholder
|
|
4960
|
+
)
|
|
4960
4961
|
}
|
|
4961
4962
|
),
|
|
4962
4963
|
triggerOptionIcon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 flex items-center", children: triggerOptionIcon })
|
|
@@ -4980,8 +4981,8 @@ function Select(props) {
|
|
|
4980
4981
|
{
|
|
4981
4982
|
align: "start",
|
|
4982
4983
|
sideOffset: 4,
|
|
4983
|
-
style: { width: "var(--radix-popover-trigger-width)" },
|
|
4984
4984
|
className: cn(
|
|
4985
|
+
"min-w-[var(--radix-popover-trigger-width)] max-w-80",
|
|
4985
4986
|
"z-50 rounded-lg border border-border bg-popover overflow-hidden",
|
|
4986
4987
|
"shadow-dropdown",
|
|
4987
4988
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
@@ -5013,7 +5014,7 @@ function Select(props) {
|
|
|
5013
5014
|
),
|
|
5014
5015
|
children: [
|
|
5015
5016
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex flex-1 min-w-0 items-center gap-1.5", children: [
|
|
5016
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
5017
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TruncatedText, { text: opt.label, className: "min-w-0 truncate text-left" }),
|
|
5017
5018
|
opt.icon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 flex items-center", children: opt.icon })
|
|
5018
5019
|
] }),
|
|
5019
5020
|
isSelected && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { name: "check", className: "size-4 shrink-0 ml-2" })
|
|
@@ -5692,16 +5693,21 @@ function Tabs({
|
|
|
5692
5693
|
height = "h-[36px]",
|
|
5693
5694
|
className
|
|
5694
5695
|
}) {
|
|
5696
|
+
var _a;
|
|
5697
|
+
const activeRightContents = (_a = allTabs.find(
|
|
5698
|
+
(t) => t.value === current
|
|
5699
|
+
)) == null ? void 0 : _a.rightContents;
|
|
5700
|
+
const hasAnyRightContents = allTabs.some((t) => t.rightContents != null);
|
|
5695
5701
|
if (variant === "pill") {
|
|
5696
|
-
|
|
5702
|
+
const pillEl = /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5697
5703
|
"div",
|
|
5698
5704
|
{
|
|
5699
5705
|
className: cn(
|
|
5700
5706
|
"items-center gap-1 rounded-lg bg-muted p-1",
|
|
5701
|
-
block ? "flex w-full" : "inline-flex",
|
|
5707
|
+
block && !hasAnyRightContents ? "flex w-full" : "inline-flex",
|
|
5702
5708
|
height,
|
|
5703
5709
|
height && "[&_button]:py-1",
|
|
5704
|
-
className
|
|
5710
|
+
!hasAnyRightContents && className
|
|
5705
5711
|
),
|
|
5706
5712
|
children: allTabs.map((tab) => {
|
|
5707
5713
|
const isActive = tab.value === current;
|
|
@@ -5711,7 +5717,7 @@ function Tabs({
|
|
|
5711
5717
|
type: "button",
|
|
5712
5718
|
onClick: () => onTabChange(tab.value),
|
|
5713
5719
|
className: cn(
|
|
5714
|
-
"rounded-md px-3 py-1.5 text-sm font-medium tracking-tight transition-all",
|
|
5720
|
+
"cursor-pointer rounded-md px-3 py-1.5 text-sm font-medium tracking-tight transition-all",
|
|
5715
5721
|
block && "flex-1",
|
|
5716
5722
|
isActive ? "bg-background text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
|
|
5717
5723
|
),
|
|
@@ -5722,24 +5728,66 @@ function Tabs({
|
|
|
5722
5728
|
})
|
|
5723
5729
|
}
|
|
5724
5730
|
);
|
|
5725
|
-
|
|
5726
|
-
|
|
5727
|
-
|
|
5728
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5729
|
-
"button",
|
|
5731
|
+
if (!hasAnyRightContents) return pillEl;
|
|
5732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5733
|
+
"div",
|
|
5730
5734
|
{
|
|
5731
|
-
|
|
5732
|
-
|
|
5733
|
-
|
|
5734
|
-
"
|
|
5735
|
-
|
|
5736
|
-
|
|
5737
|
-
),
|
|
5738
|
-
children: tab.label
|
|
5739
|
-
},
|
|
5740
|
-
tab.value
|
|
5735
|
+
className: cn("flex items-center gap-4", block && "w-full", className),
|
|
5736
|
+
children: [
|
|
5737
|
+
pillEl,
|
|
5738
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "ml-auto flex items-center gap-2", children: activeRightContents })
|
|
5739
|
+
]
|
|
5740
|
+
}
|
|
5741
5741
|
);
|
|
5742
|
-
}
|
|
5742
|
+
}
|
|
5743
|
+
if (!hasAnyRightContents) {
|
|
5744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: cn("flex items-center", block && "w-full", className), children: allTabs.map((tab) => {
|
|
5745
|
+
const isActive = tab.value === current;
|
|
5746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5747
|
+
"button",
|
|
5748
|
+
{
|
|
5749
|
+
type: "button",
|
|
5750
|
+
onClick: () => onTabChange(tab.value),
|
|
5751
|
+
className: cn(
|
|
5752
|
+
"cursor-pointer px-3 py-2 text-sm tracking-tight transition-colors",
|
|
5753
|
+
block && "flex-1",
|
|
5754
|
+
isActive ? "border-b-2 border-foreground font-semibold text-foreground" : "border-b border-border font-medium text-muted-foreground hover:text-foreground"
|
|
5755
|
+
),
|
|
5756
|
+
children: tab.label
|
|
5757
|
+
},
|
|
5758
|
+
tab.value
|
|
5759
|
+
);
|
|
5760
|
+
}) });
|
|
5761
|
+
}
|
|
5762
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
5763
|
+
"div",
|
|
5764
|
+
{
|
|
5765
|
+
className: cn(
|
|
5766
|
+
"flex w-full items-center border-b border-border",
|
|
5767
|
+
className
|
|
5768
|
+
),
|
|
5769
|
+
children: [
|
|
5770
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: cn("flex items-center", block && "flex-1"), children: allTabs.map((tab) => {
|
|
5771
|
+
const isActive = tab.value === current;
|
|
5772
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5773
|
+
"button",
|
|
5774
|
+
{
|
|
5775
|
+
type: "button",
|
|
5776
|
+
onClick: () => onTabChange(tab.value),
|
|
5777
|
+
className: cn(
|
|
5778
|
+
"cursor-pointer -mb-px px-3 pt-2 pb-3 text-sm tracking-tight transition-colors",
|
|
5779
|
+
block && "flex-1",
|
|
5780
|
+
isActive ? "border-b-2 border-foreground font-semibold text-foreground" : "font-medium text-muted-foreground hover:text-foreground"
|
|
5781
|
+
),
|
|
5782
|
+
children: tab.label
|
|
5783
|
+
},
|
|
5784
|
+
tab.value
|
|
5785
|
+
);
|
|
5786
|
+
}) }),
|
|
5787
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "ml-auto flex items-center pb-1", children: activeRightContents })
|
|
5788
|
+
]
|
|
5789
|
+
}
|
|
5790
|
+
);
|
|
5743
5791
|
}
|
|
5744
5792
|
|
|
5745
5793
|
// src/components/ui/toggle.tsx
|
|
@@ -6025,17 +6073,13 @@ function getVisiblePageItems(currentPage, totalPages) {
|
|
|
6025
6073
|
];
|
|
6026
6074
|
}
|
|
6027
6075
|
function PaginationRoot(_a) {
|
|
6028
|
-
var _b = _a, {
|
|
6029
|
-
className
|
|
6030
|
-
} = _b, props = __objRest(_b, [
|
|
6031
|
-
"className"
|
|
6032
|
-
]);
|
|
6076
|
+
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6033
6077
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6034
6078
|
"nav",
|
|
6035
6079
|
__spreadValues({
|
|
6036
6080
|
role: "navigation",
|
|
6037
6081
|
"aria-label": "pagination",
|
|
6038
|
-
className: cn("
|
|
6082
|
+
className: cn("flex", className)
|
|
6039
6083
|
}, props)
|
|
6040
6084
|
);
|
|
6041
6085
|
}
|
|
@@ -6056,20 +6100,35 @@ var PaginationItem = React25.forwardRef((_a, ref) => {
|
|
|
6056
6100
|
});
|
|
6057
6101
|
PaginationItem.displayName = "PaginationItem";
|
|
6058
6102
|
function PaginationLink(_a) {
|
|
6059
|
-
var _b = _a, {
|
|
6103
|
+
var _b = _a, {
|
|
6104
|
+
className,
|
|
6105
|
+
isActive
|
|
6106
|
+
} = _b, props = __objRest(_b, [
|
|
6107
|
+
"className",
|
|
6108
|
+
"isActive"
|
|
6109
|
+
]);
|
|
6060
6110
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6061
6111
|
"button",
|
|
6062
6112
|
__spreadValues({
|
|
6063
6113
|
"aria-current": isActive ? "page" : void 0,
|
|
6064
6114
|
className: cn(
|
|
6065
|
-
buttonVariants({
|
|
6115
|
+
buttonVariants({
|
|
6116
|
+
variant: isActive ? "outline" : "ghost",
|
|
6117
|
+
size: "icon"
|
|
6118
|
+
}),
|
|
6066
6119
|
className
|
|
6067
6120
|
)
|
|
6068
6121
|
}, props)
|
|
6069
6122
|
);
|
|
6070
6123
|
}
|
|
6071
6124
|
function PaginationPrevious(_a) {
|
|
6072
|
-
var _b = _a, {
|
|
6125
|
+
var _b = _a, {
|
|
6126
|
+
className,
|
|
6127
|
+
label
|
|
6128
|
+
} = _b, props = __objRest(_b, [
|
|
6129
|
+
"className",
|
|
6130
|
+
"label"
|
|
6131
|
+
]);
|
|
6073
6132
|
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
|
|
6074
6133
|
"button",
|
|
6075
6134
|
__spreadProps(__spreadValues({
|
|
@@ -6135,10 +6194,18 @@ function Pagination({
|
|
|
6135
6194
|
simple = false,
|
|
6136
6195
|
previousLabel = "\uC774\uC804",
|
|
6137
6196
|
nextLabel = "\uB2E4\uC74C",
|
|
6197
|
+
pageSize,
|
|
6198
|
+
onPageSizeChange,
|
|
6199
|
+
pageSizeOptions = [
|
|
6200
|
+
{ value: "10", label: "10\uAC1C" },
|
|
6201
|
+
{ value: "20", label: "20\uAC1C" },
|
|
6202
|
+
{ value: "50", label: "50\uAC1C" },
|
|
6203
|
+
{ value: "100", label: "100\uAC1C" }
|
|
6204
|
+
],
|
|
6138
6205
|
className
|
|
6139
6206
|
}) {
|
|
6140
6207
|
const items = getVisiblePageItems(currentPage, totalPages);
|
|
6141
|
-
|
|
6208
|
+
const pageNav = /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(PaginationContent, { children: [
|
|
6142
6209
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6143
6210
|
PaginationPrevious,
|
|
6144
6211
|
{
|
|
@@ -6169,7 +6236,22 @@ function Pagination({
|
|
|
6169
6236
|
disabled: currentPage >= totalPages
|
|
6170
6237
|
}
|
|
6171
6238
|
) })
|
|
6172
|
-
] })
|
|
6239
|
+
] });
|
|
6240
|
+
if (onPageSizeChange) {
|
|
6241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: cn("flex items-center gap-2", className), children: [
|
|
6242
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
6243
|
+
Select,
|
|
6244
|
+
{
|
|
6245
|
+
options: pageSizeOptions,
|
|
6246
|
+
value: pageSize !== void 0 ? String(pageSize) : void 0,
|
|
6247
|
+
onValueChange: (value) => onPageSizeChange(Number(value)),
|
|
6248
|
+
className: "w-24"
|
|
6249
|
+
}
|
|
6250
|
+
),
|
|
6251
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("nav", { role: "navigation", "aria-label": "pagination", className: "flex", children: pageNav })
|
|
6252
|
+
] });
|
|
6253
|
+
}
|
|
6254
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PaginationRoot, { className, children: pageNav });
|
|
6173
6255
|
}
|
|
6174
6256
|
|
|
6175
6257
|
// src/components/ui/table.tsx
|
|
@@ -6547,14 +6629,14 @@ function Table({
|
|
|
6547
6629
|
] })
|
|
6548
6630
|
}
|
|
6549
6631
|
),
|
|
6550
|
-
!loading && hasPagination && totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6632
|
+
!loading && hasPagination && totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "pt-4 flex justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
6551
6633
|
Pagination,
|
|
6552
6634
|
{
|
|
6553
6635
|
currentPage,
|
|
6554
6636
|
totalPages,
|
|
6555
6637
|
onPageChange: (page) => table.setPageIndex(page - 1)
|
|
6556
6638
|
}
|
|
6557
|
-
)
|
|
6639
|
+
) })
|
|
6558
6640
|
] });
|
|
6559
6641
|
}
|
|
6560
6642
|
|
|
@@ -6592,9 +6674,9 @@ function UserMessageBubble({ content }) {
|
|
|
6592
6674
|
) });
|
|
6593
6675
|
}
|
|
6594
6676
|
|
|
6595
|
-
// src/components/
|
|
6677
|
+
// src/components/provider.tsx
|
|
6596
6678
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
6597
|
-
function
|
|
6679
|
+
function RyaiDsProvider({ children }) {
|
|
6598
6680
|
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TooltipProvider, { delayDuration: 200, skipDelayDuration: 300, children });
|
|
6599
6681
|
}
|
|
6600
6682
|
|
|
@@ -9971,8 +10053,8 @@ function WordFileIcon({ className }) {
|
|
|
9971
10053
|
PencilLineIcon,
|
|
9972
10054
|
PresentationIcon,
|
|
9973
10055
|
Progress,
|
|
9974
|
-
Providers,
|
|
9975
10056
|
RefreshCwIcon,
|
|
10057
|
+
RyaiDsProvider,
|
|
9976
10058
|
RyaiLogoIcon,
|
|
9977
10059
|
SearchInput,
|
|
9978
10060
|
SegmentedControl,
|