@mondrianai/runyourai-design-system 0.0.1 → 0.0.3
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 +313 -104
- package/dist/index.d.ts +313 -104
- package/dist/index.js +1829 -1187
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1839 -1198
- package/dist/index.mjs.map +1 -1
- package/dist/styles/tailwind-theme.css +12 -0
- package/package.json +3 -2
package/dist/index.d.mts
CHANGED
|
@@ -5,6 +5,8 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
6
6
|
import { VariantProps } from 'class-variance-authority';
|
|
7
7
|
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
|
8
|
+
import { PaginationState, OnChangeFn, RowSelectionState } from '@tanstack/react-table';
|
|
9
|
+
export { OnChangeFn, PaginationState, RowSelectionState, SortingState } from '@tanstack/react-table';
|
|
8
10
|
|
|
9
11
|
declare const Accordion: React$1.ForwardRefExoticComponent<(Accordion$1.AccordionSingleProps | Accordion$1.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
|
|
10
12
|
declare const AccordionItem: React$1.ForwardRefExoticComponent<Omit<Accordion$1.AccordionItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
@@ -41,14 +43,11 @@ interface AvatarProps {
|
|
|
41
43
|
src?: string;
|
|
42
44
|
/** 이미지 alt 텍스트 */
|
|
43
45
|
alt?: string;
|
|
46
|
+
/** 이미지 fallback으로 이니셜 표시. 미제공 시 User 아이콘 표시 */
|
|
47
|
+
username?: string;
|
|
44
48
|
/**
|
|
45
|
-
*
|
|
46
|
-
* square
|
|
47
|
-
*/
|
|
48
|
-
fallback?: string;
|
|
49
|
-
/**
|
|
50
|
-
* circle (기본) — 원형, 사진 아바타
|
|
51
|
-
* square — 모서리 둥근 사각형, 이니셜 아바타 (bg-gray-500 + 흰 글자)
|
|
49
|
+
* circle(기본): 원형, 사진 아바타
|
|
50
|
+
* square: 모서리 둥근 사각형, 이니셜 아바타 (bg-gray-500 + 흰 글자)
|
|
52
51
|
*/
|
|
53
52
|
shape?: 'circle' | 'square';
|
|
54
53
|
/** sm (24px) | md (32px, 기본) | lg (40px) */
|
|
@@ -58,16 +57,16 @@ interface AvatarProps {
|
|
|
58
57
|
interface AvatarGroupItem {
|
|
59
58
|
/** 고유 식별자 (key prop으로 사용) */
|
|
60
59
|
id: string;
|
|
60
|
+
username?: string;
|
|
61
61
|
src?: string;
|
|
62
62
|
alt?: string;
|
|
63
|
-
fallback?: string;
|
|
64
63
|
}
|
|
65
64
|
interface AvatarGroupProps {
|
|
66
65
|
avatars: AvatarGroupItem[];
|
|
67
66
|
size?: AvatarSize;
|
|
68
67
|
className?: string;
|
|
69
68
|
}
|
|
70
|
-
declare function Avatar({ src, alt,
|
|
69
|
+
declare function Avatar({ src, alt, username, shape, size, className, }: AvatarProps): react_jsx_runtime.JSX.Element;
|
|
71
70
|
declare function AvatarGroup({ avatars, size, className }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
|
|
72
71
|
|
|
73
72
|
/**
|
|
@@ -96,14 +95,19 @@ interface BadgeProps {
|
|
|
96
95
|
declare const BADGE_VARIANT_STYLES: Record<BadgeVariant, string>;
|
|
97
96
|
declare function Badge({ text, variant, spin, iconName, className, }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
98
97
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
98
|
+
interface BreadcrumbProps extends React__default.ComponentPropsWithoutRef<'nav'> {
|
|
99
|
+
items: {
|
|
100
|
+
label: string;
|
|
101
|
+
href?: string;
|
|
102
|
+
}[];
|
|
103
|
+
separator?: BreadcrumbSeparator;
|
|
104
|
+
collapse?: 'dropdown' | 'ellipsis';
|
|
105
|
+
}
|
|
106
|
+
declare function Breadcrumb({ items, separator, collapse, className, }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
107
|
+
type BreadcrumbSeparator = 'slash' | 'chevron-right';
|
|
108
|
+
declare function BreadcrumbSeparator({ iconName, className, ...props }: React__default.ComponentPropsWithoutRef<'li'> & {
|
|
109
|
+
iconName: 'slash' | 'chevron-right';
|
|
110
|
+
}): react_jsx_runtime.JSX.Element;
|
|
107
111
|
|
|
108
112
|
declare const buttonVariants: (props?: ({
|
|
109
113
|
variant?: "link" | "default" | "secondary" | "outline" | "ghost" | "destructive" | null | undefined;
|
|
@@ -156,6 +160,16 @@ interface CardProps {
|
|
|
156
160
|
}
|
|
157
161
|
declare function Card({ machineType, availability, machineName, machineInitial, tags, specs, onSelect, selectLabel, className, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
158
162
|
|
|
163
|
+
interface DataSectionProps {
|
|
164
|
+
/** 섹션 제목 */
|
|
165
|
+
title?: string;
|
|
166
|
+
children: React$1.ReactNode;
|
|
167
|
+
left?: React$1.ReactNode;
|
|
168
|
+
right?: React$1.ReactNode;
|
|
169
|
+
className?: string;
|
|
170
|
+
}
|
|
171
|
+
declare function DataSection({ title, left, right, className, children, }: DataSectionProps): react_jsx_runtime.JSX.Element;
|
|
172
|
+
|
|
159
173
|
interface CheckboxProps extends React$1.ComponentPropsWithoutRef<typeof Checkbox$1.Root> {
|
|
160
174
|
/** Optional label rendered to the right of the checkbox */
|
|
161
175
|
label?: string;
|
|
@@ -356,7 +370,7 @@ interface UserMenuSection {
|
|
|
356
370
|
label?: string;
|
|
357
371
|
items: UserMenuSectionItem[];
|
|
358
372
|
}
|
|
359
|
-
interface NotificationItem
|
|
373
|
+
interface NotificationItem {
|
|
360
374
|
id: string;
|
|
361
375
|
badge?: string;
|
|
362
376
|
date?: string;
|
|
@@ -378,7 +392,7 @@ interface HeaderProps {
|
|
|
378
392
|
onUpgrade?: () => void;
|
|
379
393
|
userEmail?: string;
|
|
380
394
|
userMenuSections?: UserMenuSection[];
|
|
381
|
-
notifications?: NotificationItem
|
|
395
|
+
notifications?: NotificationItem[];
|
|
382
396
|
onViewAllNotifications?: () => void;
|
|
383
397
|
hasNotification?: boolean;
|
|
384
398
|
languages?: LanguageItem[];
|
|
@@ -404,6 +418,21 @@ interface IconProps extends React$1.SVGProps<SVGSVGElement> {
|
|
|
404
418
|
*/
|
|
405
419
|
declare function Icon({ name, className, strokeWidth, ...props }: IconProps): react_jsx_runtime.JSX.Element | null;
|
|
406
420
|
|
|
421
|
+
interface KbCardProps {
|
|
422
|
+
name: string;
|
|
423
|
+
size: string;
|
|
424
|
+
updatedAt: string;
|
|
425
|
+
connectedAgents: number | null;
|
|
426
|
+
icon?: React$1.ReactNode;
|
|
427
|
+
selectable?: boolean;
|
|
428
|
+
checked?: boolean;
|
|
429
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
430
|
+
/** 카드 클릭 핸들러. selectable(편집 모드)일 때는 동작하지 않음. */
|
|
431
|
+
onClick?: () => void;
|
|
432
|
+
className?: string;
|
|
433
|
+
}
|
|
434
|
+
declare function KbCard({ name, size, updatedAt, connectedAgents, icon, selectable, checked, onCheckedChange, onClick, className, }: KbCardProps): react_jsx_runtime.JSX.Element;
|
|
435
|
+
|
|
407
436
|
declare function MarkdownMessage({ content, isStreaming, footerMeta, className, }: {
|
|
408
437
|
content: string;
|
|
409
438
|
isStreaming?: boolean;
|
|
@@ -415,6 +444,51 @@ declare function MarkdownMessage({ content, isStreaming, footerMeta, className,
|
|
|
415
444
|
className?: string;
|
|
416
445
|
}): react_jsx_runtime.JSX.Element;
|
|
417
446
|
|
|
447
|
+
interface ModalProps {
|
|
448
|
+
id?: string;
|
|
449
|
+
/**
|
|
450
|
+
* 모달을 여는 트리거 — render prop 패턴.
|
|
451
|
+
* open 함수를 인자로 받아 원하는 요소에 직접 연결.
|
|
452
|
+
* ex) trigger={(open) => <Button onClick={open}>열기</Button>}
|
|
453
|
+
*/
|
|
454
|
+
trigger?: (open: () => void) => React$1.ReactNode;
|
|
455
|
+
/**
|
|
456
|
+
* footer 버튼 렌더 방식
|
|
457
|
+
* confirm — 취소 + default(검정) 확인 버튼
|
|
458
|
+
* danger — 취소 + destructive(빨강) 확인 버튼
|
|
459
|
+
* dialog — footer 없음 (children으로 모든 콘텐츠 처리)
|
|
460
|
+
*/
|
|
461
|
+
variant?: 'confirm' | 'danger' | 'dialog';
|
|
462
|
+
/** 모달 제목 */
|
|
463
|
+
title: string;
|
|
464
|
+
/** 제목 아래 부제목 (선택) */
|
|
465
|
+
description?: string;
|
|
466
|
+
/** 우상단 X 닫기 버튼 표시 여부 */
|
|
467
|
+
showCloseButton?: boolean;
|
|
468
|
+
/** 모달 본문 */
|
|
469
|
+
children?: React$1.ReactNode;
|
|
470
|
+
/** 취소 버튼 레이블 (기본: "취소") */
|
|
471
|
+
cancelLabel?: string;
|
|
472
|
+
/** 확인 버튼 레이블 (기본: "확인") */
|
|
473
|
+
confirmLabel?: string;
|
|
474
|
+
/**
|
|
475
|
+
* 확인 버튼 콜백.
|
|
476
|
+
* Promise를 반환하면 resolve될 때까지 loading 상태를 내부에서 자동 처리하고
|
|
477
|
+
* 완료 후 모달을 닫음.
|
|
478
|
+
*/
|
|
479
|
+
onConfirm?: () => void | Promise<void>;
|
|
480
|
+
/** 취소/닫기 시 콜백 (cancel 버튼, X 버튼, ESC, 오버레이 클릭) */
|
|
481
|
+
onCancel?: () => void;
|
|
482
|
+
/** 확인 버튼 비활성화 */
|
|
483
|
+
confirmDisabled?: boolean;
|
|
484
|
+
isLoading?: boolean;
|
|
485
|
+
/** 오버레이 클릭 시 닫기 (기본: true) */
|
|
486
|
+
closeOnOverlayClick?: boolean;
|
|
487
|
+
/** 모달 패널에 추가할 className */
|
|
488
|
+
className?: string;
|
|
489
|
+
}
|
|
490
|
+
declare function Modal({ id, trigger, variant, title, description, showCloseButton, children, cancelLabel, confirmLabel, onConfirm, onCancel, confirmDisabled, closeOnOverlayClick, className, isLoading, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
491
|
+
|
|
418
492
|
declare const Menubar: React$1.ForwardRefExoticComponent<Omit<Menubar$1.MenubarProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
419
493
|
declare const MenubarMenu: {
|
|
420
494
|
(props: Menubar$1.MenubarMenuProps & {
|
|
@@ -467,6 +541,14 @@ interface SegmentedControlProps<T extends string> {
|
|
|
467
541
|
}
|
|
468
542
|
declare function SegmentedControl<T extends string>({ value, onChange, items, }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
|
|
469
543
|
|
|
544
|
+
interface SearchInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'type'> {
|
|
545
|
+
value: string;
|
|
546
|
+
onChange: (value: string) => void;
|
|
547
|
+
placeholder?: string;
|
|
548
|
+
className?: string;
|
|
549
|
+
}
|
|
550
|
+
declare function SearchInput({ value, onChange, placeholder, className, ...props }: SearchInputProps): react_jsx_runtime.JSX.Element;
|
|
551
|
+
|
|
470
552
|
interface SelectOption {
|
|
471
553
|
/** Unique identifier for the option */
|
|
472
554
|
value: string;
|
|
@@ -512,81 +594,66 @@ interface SheetProps {
|
|
|
512
594
|
declare function Sheet({ open, onClose, title, description, children, footer }: SheetProps): react_jsx_runtime.JSX.Element;
|
|
513
595
|
|
|
514
596
|
/**
|
|
515
|
-
* 링크
|
|
516
|
-
* 미지정 시 기본 <a> 태그로
|
|
597
|
+
* 링크 컴포넌트 타입. next/link의 Link, react-router의 Link 등을 그대로 전달할 수 있습니다.
|
|
598
|
+
* 미지정 시 기본 <a> 태그로 렌더링됩니다.
|
|
517
599
|
*/
|
|
518
|
-
type
|
|
600
|
+
type SidebarLinkComponent = React$1.ComponentType<{
|
|
519
601
|
href: string;
|
|
602
|
+
children: React$1.ReactNode;
|
|
520
603
|
className?: string;
|
|
521
604
|
style?: React$1.CSSProperties;
|
|
522
605
|
onClick?: () => void;
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
606
|
+
}>;
|
|
607
|
+
type SidebarSubMenuItem = {
|
|
608
|
+
id: string;
|
|
609
|
+
title: string;
|
|
526
610
|
href: string;
|
|
527
|
-
label: string;
|
|
528
611
|
icon: React$1.ReactNode;
|
|
529
|
-
isActive
|
|
612
|
+
isActive?: boolean;
|
|
613
|
+
titleBadge?: string | number;
|
|
530
614
|
onClick?: () => void;
|
|
531
|
-
/** true이면 이 항목 앞에 구분선을 렌더링합니다. */
|
|
532
|
-
dividerBefore?: boolean;
|
|
533
615
|
};
|
|
534
|
-
type
|
|
535
|
-
label: string;
|
|
536
|
-
icon?: React$1.ReactNode;
|
|
537
|
-
onSelect?: () => void;
|
|
538
|
-
variant?: 'default' | 'destructive';
|
|
539
|
-
/** true이면 이 항목 앞에 구분선(간격)을 렌더링합니다. */
|
|
540
|
-
separatorBefore?: boolean;
|
|
541
|
-
};
|
|
542
|
-
type SidebarTask = {
|
|
616
|
+
type SidebarMainMenuItem = {
|
|
543
617
|
id: string;
|
|
544
618
|
title: string;
|
|
545
|
-
/** 클릭 시 이동할 경로. renderLink 또는 기본 <a>로 렌더링됩니다. */
|
|
546
619
|
href: string;
|
|
547
|
-
icon?: React$1.ReactNode;
|
|
548
|
-
favorited?: boolean;
|
|
549
|
-
};
|
|
550
|
-
type SidebarUtilityLink = {
|
|
551
|
-
label: string;
|
|
552
620
|
icon: React$1.ReactNode;
|
|
553
|
-
|
|
554
|
-
href?: string;
|
|
621
|
+
isActive?: boolean;
|
|
555
622
|
onClick?: () => void;
|
|
623
|
+
onHover?: (e: React$1.MouseEvent<HTMLElement>) => void;
|
|
624
|
+
subMenus?: SidebarSubMenuItem[];
|
|
556
625
|
};
|
|
557
|
-
|
|
558
|
-
type SidebarLabels = {
|
|
559
|
-
taskSectionTitle?: string;
|
|
560
|
-
taskSectionHide?: string;
|
|
561
|
-
taskSectionShow?: string;
|
|
562
|
-
taskEmptyMessage?: string;
|
|
563
|
-
};
|
|
564
|
-
interface NotificationItem {
|
|
626
|
+
type SidebarUtilityItem = {
|
|
565
627
|
id: string;
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
628
|
+
/**
|
|
629
|
+
* popover가 지정된 경우 icon·label·href·onClick은 무시됩니다.
|
|
630
|
+
* Sidebar는 단순 렌더링만 수행합니다.
|
|
631
|
+
*/
|
|
632
|
+
popover?: React$1.ReactNode;
|
|
633
|
+
icon?: React$1.ReactNode;
|
|
634
|
+
label?: string;
|
|
635
|
+
href?: string;
|
|
636
|
+
onClick?: (e: React$1.MouseEvent<HTMLElement>) => void;
|
|
637
|
+
onHover?: (e: React$1.MouseEvent<HTMLElement>) => void;
|
|
638
|
+
notiBadge?: boolean | number;
|
|
639
|
+
};
|
|
640
|
+
declare function SidebarLink({ href, className, style, onClick, children, }: {
|
|
641
|
+
href: string;
|
|
572
642
|
className?: string;
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
onDeleteTask?: (id: string) => void;
|
|
588
|
-
labels?: SidebarLabels;
|
|
589
|
-
renderLink?: RenderLinkFn;
|
|
643
|
+
style?: React$1.CSSProperties;
|
|
644
|
+
onClick?: () => void;
|
|
645
|
+
children: React$1.ReactNode;
|
|
646
|
+
}): React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>>;
|
|
647
|
+
declare function Sidebar({ logo, menus, avatar, utilities, panelTopContent, panelCenterContent, panelBottomContent, className, LinkComponent, }: {
|
|
648
|
+
logo: React$1.ReactNode;
|
|
649
|
+
menus: SidebarMainMenuItem[];
|
|
650
|
+
avatar: React$1.ReactNode;
|
|
651
|
+
utilities?: SidebarUtilityItem[];
|
|
652
|
+
panelTopContent?: React$1.ReactNode;
|
|
653
|
+
panelCenterContent?: React$1.ReactNode;
|
|
654
|
+
panelBottomContent?: React$1.ReactNode;
|
|
655
|
+
className?: string;
|
|
656
|
+
LinkComponent: SidebarLinkComponent;
|
|
590
657
|
}): react_jsx_runtime.JSX.Element;
|
|
591
658
|
|
|
592
659
|
declare const Slider: React$1.ForwardRefExoticComponent<Omit<Slider$1.SliderProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
|
|
@@ -617,6 +684,94 @@ interface SwitchFieldProps extends React__default.ComponentPropsWithoutRef<typeo
|
|
|
617
684
|
}
|
|
618
685
|
declare function SwitchField({ label, description, className, id, ...props }: SwitchFieldProps): react_jsx_runtime.JSX.Element;
|
|
619
686
|
|
|
687
|
+
type SortDirection = 'asc' | 'desc' | null;
|
|
688
|
+
interface TableColumn<T> {
|
|
689
|
+
key: string;
|
|
690
|
+
header: string;
|
|
691
|
+
sortable?: boolean;
|
|
692
|
+
/** 정렬 기준값 추출. sortable=true 시 필수 */
|
|
693
|
+
sortValue?: (row: T) => string | number;
|
|
694
|
+
/** 헤더·셀 text-align. 기본값 "left" */
|
|
695
|
+
align?: 'left' | 'center' | 'right';
|
|
696
|
+
cellClassName?: string;
|
|
697
|
+
headerClassName?: string;
|
|
698
|
+
/**
|
|
699
|
+
* true이면 셀 내용을 한 줄로 잘라내고 hover 시 tooltip으로 전체 내용을 표시.
|
|
700
|
+
* tooltip에 표시할 텍스트를 별도로 지정하려면 ellipsisTooltip을 함께 사용.
|
|
701
|
+
*/
|
|
702
|
+
ellipsis?: boolean;
|
|
703
|
+
/** ellipsis=true 일 때 tooltip에 표시할 내용. 미제공 시 cell 렌더 결과를 그대로 사용. */
|
|
704
|
+
ellipsisTooltip?: (row: T) => React$1.ReactNode;
|
|
705
|
+
cell: (row: T) => React$1.ReactNode;
|
|
706
|
+
}
|
|
707
|
+
/**
|
|
708
|
+
* TanStack Table의 pagination 옵션을 그대로 노출.
|
|
709
|
+
* 상세 동작은 TanStack Table 공식 문서 참고:
|
|
710
|
+
* https://tanstack.com/table/latest/docs/api/features/pagination
|
|
711
|
+
*/
|
|
712
|
+
interface TablePaginationConfig extends Partial<Pick<PaginationState, 'pageSize' | 'pageIndex'>> {
|
|
713
|
+
onPaginationChange?: OnChangeFn<PaginationState>;
|
|
714
|
+
/** 서버사이드 페이지네이션 시 true로 설정 */
|
|
715
|
+
manualPagination?: boolean;
|
|
716
|
+
/** manualPagination=true 일 때 전체 페이지 수 */
|
|
717
|
+
pageCount?: number;
|
|
718
|
+
/** manualPagination=true 일 때 전체 행 수 (pageCount 대신 사용 가능) */
|
|
719
|
+
rowCount?: number;
|
|
720
|
+
}
|
|
721
|
+
interface TableSortingItem {
|
|
722
|
+
/** TableColumn.key 와 일치해야 함 */
|
|
723
|
+
key: TableColumn<never>['key'];
|
|
724
|
+
desc?: boolean;
|
|
725
|
+
}
|
|
726
|
+
interface TableProps<T> {
|
|
727
|
+
columns: TableColumn<T>[];
|
|
728
|
+
data: T[];
|
|
729
|
+
/**
|
|
730
|
+
* 각 행의 고유 키.
|
|
731
|
+
* - keyof T (예: "id") — T[key]를 string으로 변환해 사용
|
|
732
|
+
* - (row: T) => string — 함수로 직접 계산
|
|
733
|
+
*/
|
|
734
|
+
rowKey: keyof T | ((row: T) => string);
|
|
735
|
+
/**
|
|
736
|
+
* 페이지네이션 설정. 미전달 시 페이지네이션 비활성화.
|
|
737
|
+
* TanStack Table pagination 옵션을 그대로 수용.
|
|
738
|
+
*/
|
|
739
|
+
pagination?: TablePaginationConfig;
|
|
740
|
+
/**
|
|
741
|
+
* 초기 정렬 상태. 복수 컬럼 정렬 지원.
|
|
742
|
+
* 각 항목의 key는 TableColumn.key 와 일치해야 함.
|
|
743
|
+
*/
|
|
744
|
+
defaultSorting?: TableSortingItem[];
|
|
745
|
+
/** 데이터 로딩 중 상태. true이면 tbody 대신 스피너를 표시 */
|
|
746
|
+
loading?: boolean;
|
|
747
|
+
/** true이면 각 행 앞에 체크박스가 추가되어 row multi-select 활성화 */
|
|
748
|
+
enableRowSelection?: boolean;
|
|
749
|
+
/** 외부에서 selection 상태를 제어할 때 사용 (controlled) */
|
|
750
|
+
rowSelection?: RowSelectionState;
|
|
751
|
+
/** selection 상태 변경 콜백 */
|
|
752
|
+
onRowSelectionChange?: OnChangeFn<RowSelectionState>;
|
|
753
|
+
/**
|
|
754
|
+
* 각 행 오른쪽 끝에 렌더링할 액션 영역.
|
|
755
|
+
* row 데이터를 받아 ReactNode를 반환하는 함수.
|
|
756
|
+
* 예: hover 시 나타나는 삭제·편집 버튼 등.
|
|
757
|
+
*/
|
|
758
|
+
rowActions?: (row: T) => React$1.ReactNode;
|
|
759
|
+
/** 행 클릭 핸들러. enableRowSelection=true(편집 모드)일 때는 동작하지 않음. */
|
|
760
|
+
onRowClick?: (row: T) => void;
|
|
761
|
+
className?: string;
|
|
762
|
+
}
|
|
763
|
+
declare function SortIcon({ direction }: {
|
|
764
|
+
direction: SortDirection;
|
|
765
|
+
}): react_jsx_runtime.JSX.Element;
|
|
766
|
+
interface TablePaginationProps {
|
|
767
|
+
currentPage: number;
|
|
768
|
+
totalPages: number;
|
|
769
|
+
onPageChange: (page: number) => void;
|
|
770
|
+
className?: string;
|
|
771
|
+
}
|
|
772
|
+
declare function TablePagination({ currentPage, totalPages, onPageChange, className, }: TablePaginationProps): react_jsx_runtime.JSX.Element;
|
|
773
|
+
declare function Table<T>({ columns, data, rowKey, pagination, defaultSorting, loading, enableRowSelection, rowSelection: rowSelectionProp, onRowSelectionChange, rowActions, onRowClick, className, }: TableProps<T>): react_jsx_runtime.JSX.Element;
|
|
774
|
+
|
|
620
775
|
declare const TooltipProvider: React$1.FC<Tooltip$1.TooltipProviderProps>;
|
|
621
776
|
interface TooltipProps extends Pick<React$1.ComponentPropsWithoutRef<typeof Tooltip$1.Root>, 'open' | 'defaultOpen' | 'onOpenChange' | 'delayDuration'>, Omit<React$1.ComponentPropsWithoutRef<typeof Tooltip$1.Content>, 'children' | 'content'> {
|
|
622
777
|
/** 툴팁 말풍선에 표시할 내용 */
|
|
@@ -738,6 +893,15 @@ declare function BoldIcon({ className }: {
|
|
|
738
893
|
className?: string;
|
|
739
894
|
}): react_jsx_runtime.JSX.Element;
|
|
740
895
|
|
|
896
|
+
/**
|
|
897
|
+
* Book-open icon — SVG downloaded directly from Figma design system.
|
|
898
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
899
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
900
|
+
*/
|
|
901
|
+
declare function BookOpenIcon({ className }: {
|
|
902
|
+
className?: string;
|
|
903
|
+
}): react_jsx_runtime.JSX.Element;
|
|
904
|
+
|
|
741
905
|
interface BookUpIconProps {
|
|
742
906
|
className?: string;
|
|
743
907
|
}
|
|
@@ -766,6 +930,15 @@ declare function CircleCheckFillIcon({ className }: {
|
|
|
766
930
|
className?: string;
|
|
767
931
|
}): react_jsx_runtime.JSX.Element;
|
|
768
932
|
|
|
933
|
+
/**
|
|
934
|
+
* Circle-help icon — SVG downloaded directly from Figma design system.
|
|
935
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
936
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
937
|
+
*/
|
|
938
|
+
declare function CircleHelpIcon({ className }: {
|
|
939
|
+
className?: string;
|
|
940
|
+
}): react_jsx_runtime.JSX.Element;
|
|
941
|
+
|
|
769
942
|
/**
|
|
770
943
|
* Circle-outline icon — stroke-only circle.
|
|
771
944
|
* SVG downloaded from Figma design system.
|
|
@@ -790,6 +963,15 @@ declare function CodeSquareIcon({ className }: {
|
|
|
790
963
|
className?: string;
|
|
791
964
|
}): react_jsx_runtime.JSX.Element;
|
|
792
965
|
|
|
966
|
+
/**
|
|
967
|
+
* Credit icon — SVG downloaded directly from Figma design system.
|
|
968
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
969
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
970
|
+
*/
|
|
971
|
+
declare function CreditIcon({ className }: {
|
|
972
|
+
className?: string;
|
|
973
|
+
}): react_jsx_runtime.JSX.Element;
|
|
974
|
+
|
|
793
975
|
declare function DownloadIcon({ className }: {
|
|
794
976
|
className?: string;
|
|
795
977
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -819,6 +1001,15 @@ declare function FolderAmberIcon({ className }: {
|
|
|
819
1001
|
className?: string;
|
|
820
1002
|
}): react_jsx_runtime.JSX.Element;
|
|
821
1003
|
|
|
1004
|
+
/**
|
|
1005
|
+
* Folder-closed icon — SVG downloaded directly from Figma design system.
|
|
1006
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1007
|
+
* Source: Figma node 616-3399, stroke-width: 1.02
|
|
1008
|
+
*/
|
|
1009
|
+
declare function FolderClosedIcon({ className }: {
|
|
1010
|
+
className?: string;
|
|
1011
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1012
|
+
|
|
822
1013
|
/**
|
|
823
1014
|
* Heading icon — SVG downloaded from Figma design system.
|
|
824
1015
|
* Source: Figma node (lucide/heading)
|
|
@@ -855,6 +1046,15 @@ declare function ItalicIcon({ className }: {
|
|
|
855
1046
|
className?: string;
|
|
856
1047
|
}): react_jsx_runtime.JSX.Element;
|
|
857
1048
|
|
|
1049
|
+
/**
|
|
1050
|
+
* Key-round icon — SVG downloaded directly from Figma design system.
|
|
1051
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1052
|
+
* Source: Figma node 616-3399, stroke-width: 1.02
|
|
1053
|
+
*/
|
|
1054
|
+
declare function KeyRoundIcon({ className }: {
|
|
1055
|
+
className?: string;
|
|
1056
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1057
|
+
|
|
858
1058
|
declare function LayersIcon({ className }: {
|
|
859
1059
|
className?: string;
|
|
860
1060
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -900,6 +1100,24 @@ declare function ListOrderedIcon({ className }: {
|
|
|
900
1100
|
className?: string;
|
|
901
1101
|
}): react_jsx_runtime.JSX.Element;
|
|
902
1102
|
|
|
1103
|
+
/**
|
|
1104
|
+
* Message-circle icon — SVG downloaded directly from Figma design system.
|
|
1105
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1106
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1107
|
+
*/
|
|
1108
|
+
declare function MessageCircleIcon({ className }: {
|
|
1109
|
+
className?: string;
|
|
1110
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* Messages-square icon — SVG downloaded directly from Figma design system.
|
|
1114
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1115
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1116
|
+
*/
|
|
1117
|
+
declare function MessagesSquareIcon({ className }: {
|
|
1118
|
+
className?: string;
|
|
1119
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1120
|
+
|
|
903
1121
|
declare function MyPageIcon({ className }: {
|
|
904
1122
|
className?: string;
|
|
905
1123
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -912,6 +1130,15 @@ declare function OutdentIcon({ className }: {
|
|
|
912
1130
|
className?: string;
|
|
913
1131
|
}): react_jsx_runtime.JSX.Element;
|
|
914
1132
|
|
|
1133
|
+
/**
|
|
1134
|
+
* Panel-left icon — SVG downloaded directly from Figma design system.
|
|
1135
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1136
|
+
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1137
|
+
*/
|
|
1138
|
+
declare function PanelLeftIcon({ className }: {
|
|
1139
|
+
className?: string;
|
|
1140
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1141
|
+
|
|
915
1142
|
interface PenLineIconProps {
|
|
916
1143
|
className?: string;
|
|
917
1144
|
}
|
|
@@ -934,6 +1161,14 @@ declare function PresentationIcon({ className }: {
|
|
|
934
1161
|
className?: string;
|
|
935
1162
|
}): react_jsx_runtime.JSX.Element;
|
|
936
1163
|
|
|
1164
|
+
/**
|
|
1165
|
+
* Shopping Bag icon — SVG from public/icons/shopping-bag.svg
|
|
1166
|
+
* Uses stroke="currentColor" for CSS color control.
|
|
1167
|
+
*/
|
|
1168
|
+
declare function ShoppingBagIcon({ className }: {
|
|
1169
|
+
className?: string;
|
|
1170
|
+
}): react_jsx_runtime.JSX.Element;
|
|
1171
|
+
|
|
937
1172
|
/**
|
|
938
1173
|
* Smile icon — SVG downloaded from Figma design system.
|
|
939
1174
|
* Source: public/icons/smile.svg
|
|
@@ -1007,30 +1242,4 @@ declare function WandSparklesIcon({ className }: {
|
|
|
1007
1242
|
className?: string;
|
|
1008
1243
|
}): react_jsx_runtime.JSX.Element;
|
|
1009
1244
|
|
|
1010
|
-
|
|
1011
|
-
* Message-circle icon — SVG downloaded directly from Figma design system.
|
|
1012
|
-
* Uses stroke="currentColor" for CSS color control.
|
|
1013
|
-
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1014
|
-
*/
|
|
1015
|
-
declare function MessageCircleIcon({ className }: {
|
|
1016
|
-
className?: string;
|
|
1017
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1018
|
-
|
|
1019
|
-
/**
|
|
1020
|
-
* Messages-square icon — SVG downloaded directly from Figma design system.
|
|
1021
|
-
* Uses stroke="currentColor" for CSS color control.
|
|
1022
|
-
* Source: Figma node 616-3399, stroke-width: 1.25
|
|
1023
|
-
*/
|
|
1024
|
-
declare function MessagesSquareIcon({ className }: {
|
|
1025
|
-
className?: string;
|
|
1026
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1027
|
-
|
|
1028
|
-
/**
|
|
1029
|
-
* Shopping Bag icon — SVG from public/icons/shopping-bag.svg
|
|
1030
|
-
* Uses stroke="currentColor" for CSS color control.
|
|
1031
|
-
*/
|
|
1032
|
-
declare function ShoppingBagIcon({ className }: {
|
|
1033
|
-
className?: string;
|
|
1034
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1035
|
-
|
|
1036
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AiAgentIcon, AiBuilderIcon, AiCloudIcon, AiDatacenterIcon, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlignJustifyIcon, AlignLeftIcon, ArrowDownIcon, type AvailabilityStatus, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookUpIcon, Breadcrumb, BreadcrumbDropdownItem, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, DeepSeekIcon, DownloadIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FolderAmberIcon, GeminiIcon, GoogleIcon, GroupedSelect, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, type ModelGroup, type ModelItem, MyPageIcon, type NavDropdownItem, type NotificationItem$1 as NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Providers, type RenderLinkFn, RyaiLogoIcon, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, ShoppingBagIcon, Sidebar, type SidebarLabels, type SidebarNavItem, type SidebarTask, type SidebarTaskMenuItem, type SidebarUtilityLink, Slider, SmileIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, type StepperStep, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, TablePropertiesIcon, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, buttonVariants };
|
|
1245
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AiAgentIcon, AiBuilderIcon, AiCloudIcon, AiDatacenterIcon, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AlignJustifyIcon, AlignLeftIcon, ArrowDownIcon, type AvailabilityStatus, Avatar, AvatarGroup, type AvatarGroupItem, type AvatarGroupProps, type AvatarProps, type AvatarSize, BADGE_VARIANT_STYLES, Badge, type BadgeProps, type BadgeVariant, BlockquoteIcon, BoldIcon, BookOpenIcon, BookUpIcon, Breadcrumb, Button, type ButtonProps, Card, type CardProps, type CardSpec, Checkbox, CheckboxCard, type CheckboxCardProps, type CheckboxProps, ChevronsUpDownIcon, ChoiceCardGroup, type ChoiceCardGroupProps, ChoiceCardItem, type ChoiceCardItemProps, CircleCheckFillIcon, CircleHelpIcon, CircleOutlineIcon, ClaudeIcon, CodeIcon, CodeSquareIcon, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleRoot, CollapsibleTrigger, type CollapsibleWorkspace, Combobox, type ComboboxOption, type ComboboxProps, CreditIcon, DataSection, type DataSectionProps, DeepSeekIcon, DownloadIcon, Field, FieldDivider, type FieldProps, FieldRow, type FieldRowProps, FieldSection, type FieldSectionProps, FileCodeIcon, FileSearchIcon, FolderAmberIcon, FolderClosedIcon, GeminiIcon, GoogleIcon, GroupedSelect, Header, type HeaderNavItem, type HeaderProps, HeadingIcon, ICON_NODES, Icon, type IconProps, ImageIcon, ImportIcon, IndentIcon, ItalicIcon, KbCard, type KbCardProps, KeyRoundIcon, type LanguageItem, LayersIcon, LayoutGridIcon, LineChartIcon, LinkIcon, ListIcon, ListOrderedIcon, type MachineType, MarkdownMessage, Menubar, MenubarContent, MenubarGroup, MenubarItem, MenubarMenu, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageCircleIcon, MessageFooter, type MessageFooterProps, MessagesSquareIcon, Modal, type ModalProps, type ModelGroup, type ModelItem, MyPageIcon, type NavDropdownItem, type NotificationItem, NumberBadge, type NumberBadgeProps, OpenAiIcon, OutdentIcon, PanelLeftIcon, PenLineIcon, PencilLineIcon, PresentationIcon, Providers, RyaiLogoIcon, SearchInput, type SearchInputProps, SegmentedControl, Select, type SelectGroup, type SelectOption, type SelectProps, Sheet, ShoppingBagIcon, Sidebar, SidebarLink, type SidebarMainMenuItem, type SidebarSubMenuItem, type SidebarUtilityItem, Slider, SmileIcon, type SortDirection, SortIcon, SparklesIcon, SquareCheckIcon, SquareCheckOutlineIcon, StarIcon, Stepper, type StepperProps, type StepperStep, StrikethroughIcon, Switch, SwitchField, type SwitchFieldProps, Table, type TableColumn, TablePagination, type TablePaginationConfig, TablePropertiesIcon, type TableProps, type TableSortingItem, Tooltip, type TooltipProps, TooltipProvider, TooltipWithIcon, type TooltipWithIconProps, TrashIcon, UpstageIcon, type UserMenuSection, type UserMenuSectionItem, UserMessageBubble, WandSparklesIcon, buttonVariants };
|