@lawkit/ui 0.1.0

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.
Files changed (99) hide show
  1. package/dist/index.css +1 -0
  2. package/dist/index.js +3325 -0
  3. package/dist/tokens/src/contracts/theme-contract.css.d.ts +65 -0
  4. package/dist/tokens/src/foundation/color-palette.d.ts +150 -0
  5. package/dist/tokens/src/foundation/spacing-scale.d.ts +17 -0
  6. package/dist/tokens/src/foundation/typography-scale.d.ts +79 -0
  7. package/dist/tokens/src/index.d.ts +11 -0
  8. package/dist/tokens/src/runtime/create-theme-vars.d.ts +9 -0
  9. package/dist/tokens/src/semantic/color-roles.d.ts +409 -0
  10. package/dist/tokens/src/semantic/text-styles.d.ts +548 -0
  11. package/dist/tokens/src/theme.runtime.d.ts +2 -0
  12. package/dist/tokens/src/themes/light-theme.css.d.ts +23 -0
  13. package/dist/ui-v3/src/components/Alert/Alert.css.d.ts +59 -0
  14. package/dist/ui-v3/src/components/Alert/index.d.ts +34 -0
  15. package/dist/ui-v3/src/components/Avatar/Avatar.css.d.ts +95 -0
  16. package/dist/ui-v3/src/components/Avatar/index.d.ts +56 -0
  17. package/dist/ui-v3/src/components/Button/Button.css.d.ts +45 -0
  18. package/dist/ui-v3/src/components/Button/index.d.ts +22 -0
  19. package/dist/ui-v3/src/components/ButtonGroup/ButtonGroup.css.d.ts +68 -0
  20. package/dist/ui-v3/src/components/ButtonGroup/index.d.ts +26 -0
  21. package/dist/ui-v3/src/components/ButtonTab/ButtonTab.css.d.ts +23 -0
  22. package/dist/ui-v3/src/components/ButtonTab/index.d.ts +19 -0
  23. package/dist/ui-v3/src/components/CalendarPopover/CalendarPopover.css.d.ts +72 -0
  24. package/dist/ui-v3/src/components/CalendarPopover/index.d.ts +61 -0
  25. package/dist/ui-v3/src/components/Card/Card.css.d.ts +15 -0
  26. package/dist/ui-v3/src/components/Card/index.d.ts +29 -0
  27. package/dist/ui-v3/src/components/ChartTooltip/ChartTooltip.css.d.ts +36 -0
  28. package/dist/ui-v3/src/components/ChartTooltip/index.d.ts +28 -0
  29. package/dist/ui-v3/src/components/Checkbox/Checkbox.css.d.ts +71 -0
  30. package/dist/ui-v3/src/components/Checkbox/index.d.ts +27 -0
  31. package/dist/ui-v3/src/components/ChipsNavigation/ChipsNavigation.css.d.ts +26 -0
  32. package/dist/ui-v3/src/components/ChipsNavigation/index.d.ts +21 -0
  33. package/dist/ui-v3/src/components/Collapse/Collapse.css.d.ts +67 -0
  34. package/dist/ui-v3/src/components/Collapse/index.d.ts +32 -0
  35. package/dist/ui-v3/src/components/DataTable/DataTable.css.d.ts +32 -0
  36. package/dist/ui-v3/src/components/DataTable/index.d.ts +47 -0
  37. package/dist/ui-v3/src/components/DatePicker/DatePicker.css.d.ts +88 -0
  38. package/dist/ui-v3/src/components/DatePicker/index.d.ts +57 -0
  39. package/dist/ui-v3/src/components/Dropdown/Dropdown.css.d.ts +78 -0
  40. package/dist/ui-v3/src/components/Dropdown/index.d.ts +37 -0
  41. package/dist/ui-v3/src/components/FileUpload/FileUpload.css.d.ts +49 -0
  42. package/dist/ui-v3/src/components/FileUpload/index.d.ts +98 -0
  43. package/dist/ui-v3/src/components/IconButtonGroup/IconButtonGroup.css.d.ts +52 -0
  44. package/dist/ui-v3/src/components/IconButtonGroup/index.d.ts +23 -0
  45. package/dist/ui-v3/src/components/InfoPopover/InfoPopover.css.d.ts +9 -0
  46. package/dist/ui-v3/src/components/InfoPopover/index.d.ts +38 -0
  47. package/dist/ui-v3/src/components/Input/Input.css.d.ts +99 -0
  48. package/dist/ui-v3/src/components/Input/index.d.ts +86 -0
  49. package/dist/ui-v3/src/components/ListGroup/ListGroup.css.d.ts +47 -0
  50. package/dist/ui-v3/src/components/ListGroup/index.d.ts +30 -0
  51. package/dist/ui-v3/src/components/Mention/Mention.css.d.ts +1 -0
  52. package/dist/ui-v3/src/components/Mention/index.d.ts +15 -0
  53. package/dist/ui-v3/src/components/Modal/Modal.css.d.ts +23 -0
  54. package/dist/ui-v3/src/components/Modal/index.d.ts +34 -0
  55. package/dist/ui-v3/src/components/NavigationTab/NavigationTab.css.d.ts +18 -0
  56. package/dist/ui-v3/src/components/NavigationTab/index.d.ts +20 -0
  57. package/dist/ui-v3/src/components/NumberInput/NumberInput.css.d.ts +45 -0
  58. package/dist/ui-v3/src/components/NumberInput/index.d.ts +32 -0
  59. package/dist/ui-v3/src/components/Pagination/Pagination.css.d.ts +20 -0
  60. package/dist/ui-v3/src/components/Pagination/index.d.ts +18 -0
  61. package/dist/ui-v3/src/components/Popover/Popover.css.d.ts +65 -0
  62. package/dist/ui-v3/src/components/Popover/index.d.ts +39 -0
  63. package/dist/ui-v3/src/components/Progress/Progress.css.d.ts +60 -0
  64. package/dist/ui-v3/src/components/Progress/index.d.ts +36 -0
  65. package/dist/ui-v3/src/components/Radio/Radio.css.d.ts +55 -0
  66. package/dist/ui-v3/src/components/Radio/index.d.ts +64 -0
  67. package/dist/ui-v3/src/components/Skeleton/Skeleton.css.d.ts +19 -0
  68. package/dist/ui-v3/src/components/Skeleton/index.d.ts +52 -0
  69. package/dist/ui-v3/src/components/Slider/Slider.css.d.ts +10 -0
  70. package/dist/ui-v3/src/components/Slider/index.d.ts +66 -0
  71. package/dist/ui-v3/src/components/Spinner/Spinner.css.d.ts +68 -0
  72. package/dist/ui-v3/src/components/Spinner/index.d.ts +22 -0
  73. package/dist/ui-v3/src/components/SweetAlert/SweetAlert.css.d.ts +37 -0
  74. package/dist/ui-v3/src/components/SweetAlert/index.d.ts +25 -0
  75. package/dist/ui-v3/src/components/Switch/Switch.css.d.ts +46 -0
  76. package/dist/ui-v3/src/components/Switch/index.d.ts +26 -0
  77. package/dist/ui-v3/src/components/Tabs/Tabs.css.d.ts +55 -0
  78. package/dist/ui-v3/src/components/Tabs/index.d.ts +29 -0
  79. package/dist/ui-v3/src/components/TagSelect/TagSelect.css.d.ts +12 -0
  80. package/dist/ui-v3/src/components/TagSelect/index.d.ts +37 -0
  81. package/dist/ui-v3/src/components/Toast/Toast.css.d.ts +97 -0
  82. package/dist/ui-v3/src/components/Toast/index.d.ts +57 -0
  83. package/dist/ui-v3/src/components/Tooltip/Tooltip.css.d.ts +60 -0
  84. package/dist/ui-v3/src/components/Tooltip/index.d.ts +26 -0
  85. package/dist/ui-v3/src/components/TreeView/TreeView.css.d.ts +103 -0
  86. package/dist/ui-v3/src/components/TreeView/index.d.ts +72 -0
  87. package/dist/ui-v3/src/components/Widget/Widget.css.d.ts +52 -0
  88. package/dist/ui-v3/src/components/Widget/index.d.ts +109 -0
  89. package/dist/ui-v3/src/foundations/field/Field.d.ts +20 -0
  90. package/dist/ui-v3/src/foundations/field/field.css.d.ts +70 -0
  91. package/dist/ui-v3/src/foundations/field/index.d.ts +2 -0
  92. package/dist/ui-v3/src/index.d.ts +80 -0
  93. package/dist/ui-v3/src/lib/Portal.d.ts +6 -0
  94. package/dist/ui-v3/src/lib/cx.d.ts +1 -0
  95. package/dist/ui-v3/src/lib/cx.test.d.ts +1 -0
  96. package/dist/ui-v3/src/lib/useFocusTrap.d.ts +2 -0
  97. package/dist/ui-v3/src/styles/shared.css.d.ts +15 -0
  98. package/dist/ui-v3/src/styles/sprinkles.css.d.ts +29 -0
  99. package/package.json +67 -0
@@ -0,0 +1,95 @@
1
+ export declare const avatar: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ size: {
3
+ sm: {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ md: {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ lg: {
12
+ width: number;
13
+ height: number;
14
+ };
15
+ };
16
+ }>;
17
+ export declare const photoCircle: string;
18
+ export declare const systemCircle: string;
19
+ export declare const labelCircle: import('@vanilla-extract/recipes').RuntimeFn<{
20
+ color: {
21
+ primary: {
22
+ backgroundColor: "rgba(33, 81, 236, 0.12)";
23
+ color: string;
24
+ };
25
+ success: {
26
+ backgroundColor: "rgba(39, 194, 129, 0.12)";
27
+ color: "#1bc47d";
28
+ };
29
+ danger: {
30
+ backgroundColor: "rgba(234, 59, 59, 0.12)";
31
+ color: "#ea5455";
32
+ };
33
+ warning: {
34
+ backgroundColor: "rgba(240, 175, 35, 0.12)";
35
+ color: "#f0af23";
36
+ };
37
+ info: {
38
+ backgroundColor: "rgba(0, 207, 232, 0.12)";
39
+ color: "#00cfe8";
40
+ };
41
+ secondary: {
42
+ backgroundColor: "rgba(130, 134, 139, 0.12)";
43
+ color: "#82868b";
44
+ };
45
+ };
46
+ size: {
47
+ sm: {
48
+ fontSize: "10px";
49
+ lineHeight: "24px";
50
+ };
51
+ md: {
52
+ fontSize: `var(--${string})`;
53
+ lineHeight: "38px";
54
+ };
55
+ lg: {
56
+ fontSize: "20px";
57
+ lineHeight: "48px";
58
+ };
59
+ };
60
+ }>;
61
+ export declare const statusDot: import('@vanilla-extract/recipes').RuntimeFn<{
62
+ status: {
63
+ online: {
64
+ backgroundColor: "#1bc47d";
65
+ };
66
+ away: {
67
+ backgroundColor: "#f0af23";
68
+ };
69
+ busy: {
70
+ backgroundColor: "#ea5455";
71
+ };
72
+ };
73
+ size: {
74
+ sm: {
75
+ width: number;
76
+ height: number;
77
+ bottom: number;
78
+ right: number;
79
+ };
80
+ md: {
81
+ width: number;
82
+ height: number;
83
+ bottom: number;
84
+ right: number;
85
+ };
86
+ lg: {
87
+ width: number;
88
+ height: number;
89
+ bottom: number;
90
+ right: number;
91
+ };
92
+ };
93
+ }>;
94
+ export declare const group: string;
95
+ export declare const groupItem: string;
@@ -0,0 +1,56 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export type AvatarSize = "sm" | "md" | "lg";
3
+ export type AvatarStatus = "online" | "away" | "busy";
4
+ export type AvatarColor = "primary" | "success" | "danger" | "warning" | "info" | "secondary";
5
+ export interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
6
+ /** 이미지 URL (photo 모드) */
7
+ src?: string;
8
+ /** 이니셜 텍스트 (label 모드) */
9
+ initials?: string;
10
+ /** 시스템 아이콘 모드 */
11
+ system?: boolean;
12
+ /** 커스텀 시스템 아이콘 */
13
+ icon?: ReactNode;
14
+ /** 사이즈 */
15
+ size?: AvatarSize;
16
+ /** 상태 표시 (online/away/busy) */
17
+ status?: AvatarStatus;
18
+ /** 이니셜 배경 색상 */
19
+ color?: AvatarColor;
20
+ /** alt 텍스트 */
21
+ alt?: string;
22
+ }
23
+ /**
24
+ * **Avatar**
25
+ *
26
+ * 사용자 프로필 아바타.
27
+ *
28
+ * - **Photo**: `src` 제공 시 이미지 표시
29
+ * - **System**: `system` 플래그로 아이콘 아바타
30
+ * - **Label**: `initials` 제공 시 이니셜 표시
31
+ * - `status`: online(초록) / away(노랑) / busy(빨강) 상태 점
32
+ *
33
+ * ```tsx
34
+ * <Avatar src="/photo.jpg" status="online" />
35
+ * <Avatar system />
36
+ * <Avatar initials="PI" color="success" status="away" />
37
+ * ```
38
+ */
39
+ export declare function Avatar({ src, initials, system, icon, size, status, color, alt, className, ...rest }: AvatarProps): import("react/jsx-runtime").JSX.Element;
40
+ export interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
41
+ children: ReactNode;
42
+ }
43
+ /**
44
+ * **AvatarGroup**
45
+ *
46
+ * 아바타를 겹쳐서 그룹으로 표시.
47
+ *
48
+ * ```tsx
49
+ * <AvatarGroup>
50
+ * <Avatar src="/a.jpg" size="sm" />
51
+ * <Avatar src="/b.jpg" size="sm" />
52
+ * <Avatar initials="AB" size="sm" color="info" />
53
+ * </AvatarGroup>
54
+ * ```
55
+ */
56
+ export declare function AvatarGroup({ children, className, ...rest }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,45 @@
1
+ export declare const root: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ color: {
3
+ primary: {};
4
+ secondary: {};
5
+ success: {};
6
+ danger: {};
7
+ warning: {};
8
+ info: {};
9
+ dark: {};
10
+ neutral: {};
11
+ };
12
+ variant: {
13
+ default: {};
14
+ outline: {
15
+ backgroundColor: "transparent";
16
+ };
17
+ };
18
+ shape: {
19
+ rounded: {
20
+ borderRadius: `var(--${string})`;
21
+ };
22
+ round: {
23
+ borderRadius: "9999px";
24
+ };
25
+ };
26
+ size: {
27
+ small: {
28
+ height: number;
29
+ padding: `0 var(--${string})`;
30
+ fontSize: `var(--${string})`;
31
+ };
32
+ medium: {
33
+ height: number;
34
+ padding: `0 var(--${string})`;
35
+ fontSize: `var(--${string})`;
36
+ };
37
+ large: {
38
+ height: number;
39
+ padding: `0 var(--${string})`;
40
+ fontSize: `var(--${string})`;
41
+ };
42
+ };
43
+ }>;
44
+ export declare const disabled: string;
45
+ export declare const iconSlot: string;
@@ -0,0 +1,22 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export type ButtonVariant = "default" | "outline";
3
+ export type ButtonColor = "primary" | "secondary" | "success" | "danger" | "warning" | "info" | "dark" | "neutral";
4
+ export type ButtonShape = "rounded" | "round";
5
+ export type ButtonSize = "small" | "medium" | "large";
6
+ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> {
7
+ /** 버튼 스타일 변형 */
8
+ variant?: ButtonVariant;
9
+ /** 색상 테마 */
10
+ color?: ButtonColor;
11
+ /** 모양 (rounded: 5px / round: pill) */
12
+ shape?: ButtonShape;
13
+ /** 크기 */
14
+ size?: ButtonSize;
15
+ /** 좌측 아이콘 */
16
+ iconLeft?: ReactNode;
17
+ /** 우측 아이콘 */
18
+ iconRight?: ReactNode;
19
+ /** 버튼 텍스트 */
20
+ children?: ReactNode;
21
+ }
22
+ export declare function Button({ variant, color, shape, size, iconLeft, iconRight, disabled, className, children, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,68 @@
1
+ export declare const root: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ variant: {
3
+ fill: {
4
+ borderRadius: `var(--${string})`;
5
+ overflow: "hidden";
6
+ };
7
+ outline: {};
8
+ };
9
+ size: {
10
+ small: {};
11
+ medium: {};
12
+ };
13
+ }>;
14
+ export declare const item: import('@vanilla-extract/recipes').RuntimeFn<{
15
+ variant: {
16
+ fill: {
17
+ backgroundColor: string;
18
+ color: string;
19
+ borderRight: "1px solid rgba(0, 0, 0, 0.12)";
20
+ selectors: {
21
+ "&:last-child": {
22
+ borderRight: "none";
23
+ };
24
+ "&:hover:not([data-active='true'])": {
25
+ backgroundColor: string;
26
+ };
27
+ };
28
+ };
29
+ outline: {
30
+ backgroundColor: "transparent";
31
+ color: string;
32
+ border: `1px solid ${string}`;
33
+ marginLeft: number;
34
+ borderRadius: number;
35
+ selectors: {
36
+ "&:first-child": {
37
+ marginLeft: number;
38
+ borderTopLeftRadius: `var(--${string})`;
39
+ borderBottomLeftRadius: `var(--${string})`;
40
+ };
41
+ "&:last-child": {
42
+ borderTopRightRadius: `var(--${string})`;
43
+ borderBottomRightRadius: `var(--${string})`;
44
+ };
45
+ "&:hover:not([data-active='true'])": {
46
+ backgroundColor: "rgba(33, 81, 236, 0.12)";
47
+ };
48
+ };
49
+ };
50
+ };
51
+ size: {
52
+ small: {
53
+ height: number;
54
+ padding: `0 var(--${string})`;
55
+ fontSize: `var(--${string})`;
56
+ };
57
+ medium: {
58
+ height: number;
59
+ padding: `0 var(--${string})`;
60
+ fontSize: `var(--${string})`;
61
+ };
62
+ };
63
+ active: {
64
+ true: {};
65
+ false: {};
66
+ };
67
+ }>;
68
+ export declare const iconSlot: string;
@@ -0,0 +1,26 @@
1
+ import { ReactNode } from 'react';
2
+ export type ButtonGroupVariant = "fill" | "outline";
3
+ export type ButtonGroupSize = "small" | "medium";
4
+ export interface ButtonGroupItem {
5
+ /** 고유 식별 값 */
6
+ value: string;
7
+ /** 버튼 텍스트 */
8
+ label: string;
9
+ /** 좌측 아이콘 */
10
+ icon?: ReactNode;
11
+ }
12
+ export interface ButtonGroupProps {
13
+ /** 아이템 목록 */
14
+ items: ButtonGroupItem[];
15
+ /** 현재 활성화된 값 */
16
+ value?: string;
17
+ /** 값 변경 핸들러 */
18
+ onChange?: (value: string) => void;
19
+ /** 스타일 변형 */
20
+ variant?: ButtonGroupVariant;
21
+ /** 크기 */
22
+ size?: ButtonGroupSize;
23
+ /** 추가 className */
24
+ className?: string;
25
+ }
26
+ export declare function ButtonGroup({ items, value, onChange, variant, size, className, }: ButtonGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ export declare const root: string;
2
+ export declare const tab: import('@vanilla-extract/recipes').RuntimeFn<{
3
+ active: {
4
+ true: {
5
+ backgroundColor: string;
6
+ color: string;
7
+ selectors: {
8
+ "&:hover:not(:disabled)": {
9
+ backgroundColor: string;
10
+ };
11
+ };
12
+ };
13
+ false: {};
14
+ };
15
+ disabled: {
16
+ true: {
17
+ cursor: "not-allowed";
18
+ opacity: number;
19
+ pointerEvents: "none";
20
+ };
21
+ false: {};
22
+ };
23
+ }>;
@@ -0,0 +1,19 @@
1
+ export interface ButtonTabItem {
2
+ /** 고유 식별 값 */
3
+ value: string;
4
+ /** 탭 텍스트 */
5
+ label: string;
6
+ /** 비활성화 여부 */
7
+ disabled?: boolean;
8
+ }
9
+ export interface ButtonTabProps {
10
+ /** 탭 목록 */
11
+ items: ButtonTabItem[];
12
+ /** 현재 활성화된 값 */
13
+ value?: string;
14
+ /** 값 변경 핸들러 */
15
+ onChange?: (value: string) => void;
16
+ /** 추가 className */
17
+ className?: string;
18
+ }
19
+ export declare function ButtonTab({ items, value, onChange, className, }: ButtonTabProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ export declare const wrapper: string;
2
+ export declare const container: import('@vanilla-extract/recipes').RuntimeFn<{
3
+ placement: {
4
+ right: {
5
+ left: "100%";
6
+ top: "50%";
7
+ transform: "translateY(-50%)";
8
+ flexDirection: "row-reverse";
9
+ marginLeft: number;
10
+ };
11
+ left: {
12
+ right: "100%";
13
+ top: "50%";
14
+ transform: "translateY(-50%)";
15
+ flexDirection: "row";
16
+ marginRight: number;
17
+ };
18
+ bottom: {
19
+ top: "100%";
20
+ left: "50%";
21
+ transform: "translateX(-50%)";
22
+ flexDirection: "column-reverse";
23
+ marginTop: number;
24
+ };
25
+ top: {
26
+ bottom: "100%";
27
+ left: "50%";
28
+ transform: "translateX(-50%)";
29
+ flexDirection: "column";
30
+ marginBottom: number;
31
+ };
32
+ };
33
+ }>;
34
+ export declare const card: string;
35
+ export declare const arrow: import('@vanilla-extract/recipes').RuntimeFn<{
36
+ placement: {
37
+ right: {
38
+ borderTop: "7px solid transparent";
39
+ borderBottom: "7px solid transparent";
40
+ borderRight: "8px solid #eeeff2";
41
+ };
42
+ left: {
43
+ borderTop: "7px solid transparent";
44
+ borderBottom: "7px solid transparent";
45
+ borderLeft: "8px solid #eeeff2";
46
+ };
47
+ bottom: {
48
+ borderLeft: "7px solid transparent";
49
+ borderRight: "7px solid transparent";
50
+ borderBottom: "8px solid #eeeff2";
51
+ };
52
+ top: {
53
+ borderLeft: "7px solid transparent";
54
+ borderRight: "7px solid transparent";
55
+ borderTop: "8px solid #eeeff2";
56
+ };
57
+ };
58
+ }>;
59
+ export declare const header: string;
60
+ export declare const headerContent: string;
61
+ export declare const headerBadge: string;
62
+ export declare const headerTitle: string;
63
+ export declare const closeBtn: string;
64
+ export declare const divider: string;
65
+ export declare const badgesRow: string;
66
+ export declare const listGroup: string;
67
+ export declare const listItem: string;
68
+ export declare const listLabel: string;
69
+ export declare const listValue: string;
70
+ export declare const footer: string;
71
+ export declare const primaryBtn: string;
72
+ export declare const outlineBtn: string;
@@ -0,0 +1,61 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type CalendarPopoverPlacement = "top" | "bottom" | "left" | "right";
3
+ export interface CalendarPopoverField {
4
+ /** 라벨 (예: "관리번호", "요청자") */
5
+ label: string;
6
+ /** 값 (텍스트 또는 ReactNode) */
7
+ value: ReactNode;
8
+ }
9
+ export interface CalendarPopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
10
+ /** 카테고리 뱃지 (예: "계약검토", "기일") */
11
+ badge?: string;
12
+ /** 제목 */
13
+ title: string;
14
+ /** 뱃지 행 (ReactNode — Badge 컴포넌트 조합) */
15
+ badges?: ReactNode;
16
+ /** 상세 정보 행 (ReactNode — 자유 구성) */
17
+ details?: ReactNode;
18
+ /** key-value 필드 목록 */
19
+ fields?: CalendarPopoverField[];
20
+ /** 화살표 위치 */
21
+ placement?: CalendarPopoverPlacement;
22
+ /** 열림 상태 (제어 모드) */
23
+ open?: boolean;
24
+ /** 열림/닫힘 핸들러 */
25
+ onOpenChange?: (open: boolean) => void;
26
+ /** 닫기 핸들러 */
27
+ onClose?: () => void;
28
+ /** 주요 버튼 텍스트 */
29
+ primaryText?: string;
30
+ /** 보조 버튼 텍스트 */
31
+ secondaryText?: string;
32
+ /** 주요 버튼 클릭 */
33
+ onPrimary?: () => void;
34
+ /** 보조 버튼 클릭 */
35
+ onSecondary?: () => void;
36
+ /** 트리거 요소 */
37
+ children: ReactNode;
38
+ }
39
+ /**
40
+ * **CalendarPopover**
41
+ *
42
+ * 캘린더 일정 상세를 보여주는 카드형 팝오버.
43
+ * Badge, key-value 필드, 버튼으로 구성됩니다.
44
+ *
45
+ * ```tsx
46
+ * <CalendarPopover
47
+ * badge="계약검토"
48
+ * title="법무시스템 공급 계약"
49
+ * fields={[
50
+ * { label: "관리번호", value: "C20221108-0001" },
51
+ * { label: "요청자", value: "박영업" },
52
+ * ]}
53
+ * primaryText="일정 수정"
54
+ * secondaryText="사건 바로가기"
55
+ * placement="right"
56
+ * >
57
+ * <div>6/19</div>
58
+ * </CalendarPopover>
59
+ * ```
60
+ */
61
+ export declare function CalendarPopover({ badge, title, badges, details, fields, placement, open: controlledOpen, onOpenChange, onClose, primaryText, secondaryText, onPrimary, onSecondary, children, className, ...rest }: CalendarPopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ export declare const root: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ bordered: {
3
+ true: {
4
+ border: `1px solid ${string}`;
5
+ };
6
+ false: {};
7
+ };
8
+ }>;
9
+ export declare const header: string;
10
+ export declare const headerTitle: string;
11
+ export declare const headerActions: string;
12
+ export declare const body: string;
13
+ export declare const title: string;
14
+ export declare const bodyText: string;
15
+ export declare const footer: string;
@@ -0,0 +1,29 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
3
+ /** 헤더 텍스트 (divider 포함 상단 영역) */
4
+ header?: ReactNode;
5
+ /** 헤더 우측 액션 영역 */
6
+ headerActions?: ReactNode;
7
+ /** 본문 제목 (body 내부, 18px medium) */
8
+ title?: ReactNode;
9
+ /** 푸터 (divider 포함 하단 영역) */
10
+ footer?: ReactNode;
11
+ /** 명시적 border 표시 */
12
+ bordered?: boolean;
13
+ /** 본문 콘텐츠 */
14
+ children?: ReactNode;
15
+ }
16
+ export declare function CardHeader({ children, actions, className, }: {
17
+ children: ReactNode;
18
+ actions?: ReactNode;
19
+ className?: string;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ export declare function CardBody({ children, className, }: {
22
+ children: ReactNode;
23
+ className?: string;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ export declare function CardFooter({ children, className, }: {
26
+ children: ReactNode;
27
+ className?: string;
28
+ }): import("react/jsx-runtime").JSX.Element;
29
+ export declare function Card({ header, headerActions: headerActionsProp, title, footer, bordered, children, className, ...rest }: CardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ export declare const root: import('@vanilla-extract/recipes').RuntimeFn<{
2
+ variant: {
3
+ default: {
4
+ backgroundColor: string;
5
+ border: "1px solid #eeeff2";
6
+ };
7
+ pie: {
8
+ backgroundColor: string;
9
+ };
10
+ };
11
+ }>;
12
+ export declare const header: string;
13
+ export declare const divider: string;
14
+ export declare const body: string;
15
+ export declare const row: string;
16
+ export declare const dot: string;
17
+ export declare const label: import('@vanilla-extract/recipes').RuntimeFn<{
18
+ variant: {
19
+ default: {
20
+ color: "#4c5469";
21
+ };
22
+ pie: {
23
+ color: string;
24
+ };
25
+ };
26
+ }>;
27
+ export declare const value: import('@vanilla-extract/recipes').RuntimeFn<{
28
+ variant: {
29
+ default: {
30
+ color: "#4c5469";
31
+ };
32
+ pie: {
33
+ color: string;
34
+ };
35
+ };
36
+ }>;
@@ -0,0 +1,28 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface ChartTooltipDataItem {
3
+ /** 시리즈 라벨 (예: "Label :") */
4
+ label: string;
5
+ /** 값 (예: "90") */
6
+ value: string | number;
7
+ /** 시리즈 색상 (dot 표시용, default variant) */
8
+ color?: string;
9
+ }
10
+ export interface ChartTooltipProps extends HTMLAttributes<HTMLDivElement> {
11
+ /** 스타일 변형 */
12
+ variant?: "default" | "pie";
13
+ /** 헤더 텍스트 (카테고리/날짜 등, default variant) */
14
+ header?: string;
15
+ /** 데이터 목록 */
16
+ items: ChartTooltipDataItem[];
17
+ }
18
+ /**
19
+ * **ChartTooltip**
20
+ *
21
+ * 차트 위에 표시되는 데이터 툴팁.
22
+ *
23
+ * - `default`: 흰 배경 + 헤더(날짜) + 컬러 dot + label/value
24
+ * - `pie`: 파란 배경 + label/value (dot 없음)
25
+ *
26
+ * 차트 라이브러리의 custom tooltip 렌더러에서 사용합니다.
27
+ */
28
+ export declare function ChartTooltip({ variant, header, items, className, ...rest }: ChartTooltipProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,71 @@
1
+ export declare const wrapper: string;
2
+ export declare const wrapperDisabled: string;
3
+ export declare const hiddenInput: string;
4
+ export declare const box: import('@vanilla-extract/recipes').RuntimeFn<{
5
+ size: {
6
+ small: {
7
+ width: number;
8
+ height: number;
9
+ };
10
+ medium: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ large: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ };
19
+ checked: {
20
+ true: {
21
+ backgroundColor: string;
22
+ boxShadow: "none";
23
+ };
24
+ false: {
25
+ backgroundColor: string;
26
+ boxShadow: "inset 0 0 0 1.5px #9ea7b8";
27
+ };
28
+ };
29
+ disabled: {
30
+ true: {};
31
+ false: {};
32
+ };
33
+ }>;
34
+ export declare const checkIcon: import('@vanilla-extract/recipes').RuntimeFn<{
35
+ size: {
36
+ small: {
37
+ width: number;
38
+ height: number;
39
+ };
40
+ medium: {
41
+ width: number;
42
+ height: number;
43
+ };
44
+ large: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ };
49
+ }>;
50
+ export declare const label: import('@vanilla-extract/recipes').RuntimeFn<{
51
+ size: {
52
+ small: {
53
+ fontSize: `var(--${string})`;
54
+ lineHeight: "16px";
55
+ };
56
+ medium: {
57
+ fontSize: `var(--${string})`;
58
+ lineHeight: "18px";
59
+ };
60
+ large: {
61
+ fontSize: `var(--${string})`;
62
+ lineHeight: "21px";
63
+ };
64
+ };
65
+ disabled: {
66
+ true: {
67
+ color: "#d1d1d1";
68
+ };
69
+ false: {};
70
+ };
71
+ }>;