@mondrianai/runyourai-design-system 0.0.14 → 0.0.16

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
@@ -309,28 +309,68 @@ interface ComboboxProps {
309
309
  declare function Combobox({ options, value, onValueChange, placeholder, searchPlaceholder, showSearch, footer, className, disabled, }: ComboboxProps): react_jsx_runtime.JSX.Element;
310
310
 
311
311
  type DatePickerLocale = 'ko' | 'en' | 'jp';
312
- type DatePickerMode = 'date' | 'offset';
312
+ type DatePickerMode = 'date' | 'offset' | 'range';
313
+ type DateRange = {
314
+ start?: Date;
315
+ end?: Date;
316
+ };
317
+ /**
318
+ * A rule that disables one or more dates in the calendar:
319
+ * - `'past'` — all dates strictly before today
320
+ * - `'future'` — all dates strictly after today
321
+ * - `Date` — a specific single day
322
+ * - `{ start?, end? }` — an inclusive date range; omit either bound for an open-ended range
323
+ */
324
+ type DisabledDateRule = 'past' | 'future' | Date | {
325
+ start?: Date;
326
+ end?: Date;
327
+ };
313
328
  interface DatePickerProps {
314
- /** Controlled value */
329
+ /** Controlled value (date / offset modes) */
315
330
  value?: Date;
316
- /** Uncontrolled default value */
331
+ /** Uncontrolled default value (date / offset modes) */
317
332
  defaultValue?: Date;
318
- /** Called when user selects a date */
333
+ /** Called when user selects a date (date / offset modes) */
319
334
  onChange?: (date: Date | undefined) => void;
320
335
  /**
321
- * 'date' — trigger shows formatted date (e.g. "June 01, 2025")
336
+ * 'date' — trigger shows formatted date (e.g. "June 01, 2025")
322
337
  * 'offset' — trigger shows days-from-today (e.g. "In 2 days")
338
+ * 'range' — user interactively picks start + end; use range / onRangeChange
323
339
  */
324
340
  mode?: DatePickerMode;
325
- /** When true, dates before today cannot be selected and prev-month nav is blocked at current month */
341
+ /** Controlled range value. Used when mode='range'. */
342
+ range?: DateRange;
343
+ /** Uncontrolled default range. Used when mode='range'. */
344
+ defaultRange?: DateRange;
345
+ /** Called when the selected range changes. Used when mode='range'. */
346
+ onRangeChange?: (range: DateRange) => void;
347
+ /**
348
+ * One or more rules that disable specific dates in the calendar.
349
+ *
350
+ * ```tsx
351
+ * // 오늘 이후 선택 불가
352
+ * disabledDates="future"
353
+ *
354
+ * // 특정 날짜 하루 비활성화
355
+ * disabledDates={new Date(2025, 5, 10)}
356
+ *
357
+ * // 복합 규칙
358
+ * disabledDates={[
359
+ * 'past',
360
+ * new Date(2025, 5, 3),
361
+ * { start: new Date(2025, 4, 1), end: new Date(2025, 4, 5) },
362
+ * ]}
363
+ * ```
364
+ */
365
+ disabledDates?: DisabledDateRule | DisabledDateRule[];
366
+ /**
367
+ * @deprecated Use `disabledDates="past"` instead.
368
+ * When true, dates before today cannot be selected.
369
+ */
326
370
  disablePast?: boolean;
327
371
  locale?: DatePickerLocale;
328
372
  /** Override the placeholder shown when no date is selected */
329
373
  placeholder?: string;
330
- /**
331
- * Receives the selected date and returns a helper string rendered below the trigger.
332
- * Only shown when mode='offset' and a date is selected.
333
- */
334
374
  className?: string;
335
375
  /**
336
376
  * [minYear, maxYear] for the year dropdown.
@@ -341,7 +381,7 @@ interface DatePickerProps {
341
381
  showTodayLabel?: boolean;
342
382
  disabled?: boolean;
343
383
  }
344
- declare function DatePicker({ value, defaultValue, onChange, mode, disablePast, locale, placeholder, className, yearRange, showTodayLabel, disabled, }: DatePickerProps): react_jsx_runtime.JSX.Element;
384
+ declare function DatePicker({ value, defaultValue, onChange, mode, range, defaultRange, onRangeChange, disabledDates, disablePast, locale, placeholder, className, yearRange, showTodayLabel, disabled, }: DatePickerProps): react_jsx_runtime.JSX.Element;
345
385
 
346
386
  interface FieldProps {
347
387
  /** 필드 레이블 */
@@ -637,8 +677,10 @@ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEle
637
677
  onChange: (value: string) => void;
638
678
  placeholder?: string;
639
679
  className?: string;
680
+ /** onChange를 지연 호출할 ms. 지정하면 내부 draft 상태로 즉시 표시하고, 입력 완료 후 지연 커밋. */
681
+ debounce?: number;
640
682
  }
641
- declare function SearchInput({ value, onChange, placeholder, className, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
683
+ declare function SearchInput({ value, onChange, placeholder, className, debounce: debounceMs, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
642
684
 
643
685
  interface SelectOption {
644
686
  value: string;
@@ -707,6 +749,8 @@ type SidebarSubMenuItem = {
707
749
  titleBadge?: string | number;
708
750
  onClick?: () => void;
709
751
  isExternal?: boolean;
752
+ /** 아이템 행 우측에 렌더링되는 커스텀 콘텐츠. 링크 외부에 위치하므로 버튼 등 인터랙티브 요소를 포함할 수 있습니다. */
753
+ rightContent?: React$1.ReactNode;
710
754
  };
711
755
  type SidebarMainMenuItem = {
712
756
  type?: 'item';
@@ -744,7 +788,7 @@ declare function SidebarLink({ href, className, style, onClick, children, }: {
744
788
  onClick?: () => void;
745
789
  children: React$1.ReactNode;
746
790
  }): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
747
- declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, panelCenterContent, panelBottomContent, className, LinkComponent, }: {
791
+ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, panelCenterContent, panelBottomContent, className, LinkComponent, isPanelOpen: isPanelOpenProp, onPanelOpenChange, mainMenuIconSize, }: {
748
792
  logo: React$1.ReactNode;
749
793
  menus: SidebarMainMenuItem[];
750
794
  avatar: React$1.ReactNode;
@@ -754,6 +798,20 @@ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, pane
754
798
  panelBottomContent?: React$1.ReactNode;
755
799
  className?: string;
756
800
  LinkComponent: SidebarLinkComponent;
801
+ /**
802
+ * 서브메뉴 패널의 열림 상태를 외부에서 제어합니다.
803
+ * - `true` / `false`: controlled 모드 — subMenus 배열 길이와 관계없이 이 값을 따릅니다.
804
+ * - `undefined` (기본값): uncontrolled 모드 — activeMenu의 subMenus가 있을 때 자동으로 열립니다.
805
+ */
806
+ isPanelOpen?: boolean;
807
+ /** 패널 열림 상태가 변경될 때 호출됩니다. controlled / uncontrolled 모두 동작합니다. */
808
+ onPanelOpenChange?: (isOpen: boolean) => void;
809
+ /**
810
+ * 좌측 메인 메뉴(내비게이터) 아이콘 컨테이너 크기.
811
+ * - `'md'` (기본값): 32px
812
+ * - `'lg'`: 40px
813
+ */
814
+ mainMenuIconSize?: 'md' | 'lg';
757
815
  }): react_jsx_runtime.JSX.Element;
758
816
 
759
817
  interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
@@ -1525,4 +1583,4 @@ declare function WordFileIcon({ className }: {
1525
1583
  className?: string;
1526
1584
  }): react_jsx_runtime.JSX.Element;
1527
1585
 
1528
- 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, DeepSeekIcon, 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, 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 };
1586
+ 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, 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
@@ -309,28 +309,68 @@ interface ComboboxProps {
309
309
  declare function Combobox({ options, value, onValueChange, placeholder, searchPlaceholder, showSearch, footer, className, disabled, }: ComboboxProps): react_jsx_runtime.JSX.Element;
310
310
 
311
311
  type DatePickerLocale = 'ko' | 'en' | 'jp';
312
- type DatePickerMode = 'date' | 'offset';
312
+ type DatePickerMode = 'date' | 'offset' | 'range';
313
+ type DateRange = {
314
+ start?: Date;
315
+ end?: Date;
316
+ };
317
+ /**
318
+ * A rule that disables one or more dates in the calendar:
319
+ * - `'past'` — all dates strictly before today
320
+ * - `'future'` — all dates strictly after today
321
+ * - `Date` — a specific single day
322
+ * - `{ start?, end? }` — an inclusive date range; omit either bound for an open-ended range
323
+ */
324
+ type DisabledDateRule = 'past' | 'future' | Date | {
325
+ start?: Date;
326
+ end?: Date;
327
+ };
313
328
  interface DatePickerProps {
314
- /** Controlled value */
329
+ /** Controlled value (date / offset modes) */
315
330
  value?: Date;
316
- /** Uncontrolled default value */
331
+ /** Uncontrolled default value (date / offset modes) */
317
332
  defaultValue?: Date;
318
- /** Called when user selects a date */
333
+ /** Called when user selects a date (date / offset modes) */
319
334
  onChange?: (date: Date | undefined) => void;
320
335
  /**
321
- * 'date' — trigger shows formatted date (e.g. "June 01, 2025")
336
+ * 'date' — trigger shows formatted date (e.g. "June 01, 2025")
322
337
  * 'offset' — trigger shows days-from-today (e.g. "In 2 days")
338
+ * 'range' — user interactively picks start + end; use range / onRangeChange
323
339
  */
324
340
  mode?: DatePickerMode;
325
- /** When true, dates before today cannot be selected and prev-month nav is blocked at current month */
341
+ /** Controlled range value. Used when mode='range'. */
342
+ range?: DateRange;
343
+ /** Uncontrolled default range. Used when mode='range'. */
344
+ defaultRange?: DateRange;
345
+ /** Called when the selected range changes. Used when mode='range'. */
346
+ onRangeChange?: (range: DateRange) => void;
347
+ /**
348
+ * One or more rules that disable specific dates in the calendar.
349
+ *
350
+ * ```tsx
351
+ * // 오늘 이후 선택 불가
352
+ * disabledDates="future"
353
+ *
354
+ * // 특정 날짜 하루 비활성화
355
+ * disabledDates={new Date(2025, 5, 10)}
356
+ *
357
+ * // 복합 규칙
358
+ * disabledDates={[
359
+ * 'past',
360
+ * new Date(2025, 5, 3),
361
+ * { start: new Date(2025, 4, 1), end: new Date(2025, 4, 5) },
362
+ * ]}
363
+ * ```
364
+ */
365
+ disabledDates?: DisabledDateRule | DisabledDateRule[];
366
+ /**
367
+ * @deprecated Use `disabledDates="past"` instead.
368
+ * When true, dates before today cannot be selected.
369
+ */
326
370
  disablePast?: boolean;
327
371
  locale?: DatePickerLocale;
328
372
  /** Override the placeholder shown when no date is selected */
329
373
  placeholder?: string;
330
- /**
331
- * Receives the selected date and returns a helper string rendered below the trigger.
332
- * Only shown when mode='offset' and a date is selected.
333
- */
334
374
  className?: string;
335
375
  /**
336
376
  * [minYear, maxYear] for the year dropdown.
@@ -341,7 +381,7 @@ interface DatePickerProps {
341
381
  showTodayLabel?: boolean;
342
382
  disabled?: boolean;
343
383
  }
344
- declare function DatePicker({ value, defaultValue, onChange, mode, disablePast, locale, placeholder, className, yearRange, showTodayLabel, disabled, }: DatePickerProps): react_jsx_runtime.JSX.Element;
384
+ declare function DatePicker({ value, defaultValue, onChange, mode, range, defaultRange, onRangeChange, disabledDates, disablePast, locale, placeholder, className, yearRange, showTodayLabel, disabled, }: DatePickerProps): react_jsx_runtime.JSX.Element;
345
385
 
346
386
  interface FieldProps {
347
387
  /** 필드 레이블 */
@@ -637,8 +677,10 @@ interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputEle
637
677
  onChange: (value: string) => void;
638
678
  placeholder?: string;
639
679
  className?: string;
680
+ /** onChange를 지연 호출할 ms. 지정하면 내부 draft 상태로 즉시 표시하고, 입력 완료 후 지연 커밋. */
681
+ debounce?: number;
640
682
  }
641
- declare function SearchInput({ value, onChange, placeholder, className, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
683
+ declare function SearchInput({ value, onChange, placeholder, className, debounce: debounceMs, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
642
684
 
643
685
  interface SelectOption {
644
686
  value: string;
@@ -707,6 +749,8 @@ type SidebarSubMenuItem = {
707
749
  titleBadge?: string | number;
708
750
  onClick?: () => void;
709
751
  isExternal?: boolean;
752
+ /** 아이템 행 우측에 렌더링되는 커스텀 콘텐츠. 링크 외부에 위치하므로 버튼 등 인터랙티브 요소를 포함할 수 있습니다. */
753
+ rightContent?: React$1.ReactNode;
710
754
  };
711
755
  type SidebarMainMenuItem = {
712
756
  type?: 'item';
@@ -744,7 +788,7 @@ declare function SidebarLink({ href, className, style, onClick, children, }: {
744
788
  onClick?: () => void;
745
789
  children: React$1.ReactNode;
746
790
  }): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
747
- declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, panelCenterContent, panelBottomContent, className, LinkComponent, }: {
791
+ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, panelCenterContent, panelBottomContent, className, LinkComponent, isPanelOpen: isPanelOpenProp, onPanelOpenChange, mainMenuIconSize, }: {
748
792
  logo: React$1.ReactNode;
749
793
  menus: SidebarMainMenuItem[];
750
794
  avatar: React$1.ReactNode;
@@ -754,6 +798,20 @@ declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, pane
754
798
  panelBottomContent?: React$1.ReactNode;
755
799
  className?: string;
756
800
  LinkComponent: SidebarLinkComponent;
801
+ /**
802
+ * 서브메뉴 패널의 열림 상태를 외부에서 제어합니다.
803
+ * - `true` / `false`: controlled 모드 — subMenus 배열 길이와 관계없이 이 값을 따릅니다.
804
+ * - `undefined` (기본값): uncontrolled 모드 — activeMenu의 subMenus가 있을 때 자동으로 열립니다.
805
+ */
806
+ isPanelOpen?: boolean;
807
+ /** 패널 열림 상태가 변경될 때 호출됩니다. controlled / uncontrolled 모두 동작합니다. */
808
+ onPanelOpenChange?: (isOpen: boolean) => void;
809
+ /**
810
+ * 좌측 메인 메뉴(내비게이터) 아이콘 컨테이너 크기.
811
+ * - `'md'` (기본값): 32px
812
+ * - `'lg'`: 40px
813
+ */
814
+ mainMenuIconSize?: 'md' | 'lg';
757
815
  }): react_jsx_runtime.JSX.Element;
758
816
 
759
817
  interface SkeletonProps extends React$1.HTMLAttributes<HTMLDivElement> {
@@ -1525,4 +1583,4 @@ declare function WordFileIcon({ className }: {
1525
1583
  className?: string;
1526
1584
  }): react_jsx_runtime.JSX.Element;
1527
1585
 
1528
- 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, DeepSeekIcon, 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, 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 };
1586
+ 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, 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 };