@pantoia/ui 0.2.0 → 0.4.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.
- package/accordion/index.module.css +4 -4
- package/accordion/index.tsx +30 -58
- package/alert-dialog/index.tsx +38 -44
- package/badge/index.tsx +2 -2
- package/button/index.tsx +31 -30
- package/callout/index.tsx +29 -8
- package/checkbox/index.tsx +24 -88
- package/combobox/index.tsx +133 -323
- package/command-palette/index.tsx +55 -34
- package/dialog/index.tsx +30 -26
- package/dist/index.js +155 -27
- package/drawer/index.module.css +2 -2
- package/drawer/index.tsx +54 -132
- package/dropdown-menu/index.tsx +95 -100
- package/field/index.tsx +43 -94
- package/input/index.tsx +13 -9
- package/kbd/index.tsx +2 -2
- package/label/index.tsx +7 -9
- package/number-field/index.tsx +129 -176
- package/package.json +12 -15
- package/palette.css +114 -0
- package/popover/index.tsx +62 -33
- package/radio-group/index.tsx +36 -39
- package/registry.json +65 -169
- package/select/index.tsx +154 -76
- package/switch/index.tsx +13 -6
- package/table/index.tsx +5 -6
- package/tabs/index.module.css +5 -3
- package/tabs/index.tsx +26 -77
- package/tailwind.css +3 -0
- package/textarea/index.tsx +25 -13
- package/toast/index.module.css +187 -0
- package/toast/index.tsx +141 -46
- package/toggle/index.tsx +8 -7
- package/{styles.css → tokens.css} +82 -303
- package/tooltip/index.tsx +62 -31
- package/tv.ts +0 -1
- package/utilities.css +124 -0
- package/accordion/AGENTS.md +0 -60
- package/alert-dialog/AGENTS.md +0 -78
- package/badge/AGENTS.md +0 -35
- package/button/AGENTS.md +0 -39
- package/callout/AGENTS.md +0 -41
- package/checkbox/AGENTS.md +0 -54
- package/combobox/AGENTS.md +0 -150
- package/command-palette/AGENTS.md +0 -45
- package/dialog/AGENTS.md +0 -81
- package/drawer/AGENTS.md +0 -66
- package/dropdown-menu/AGENTS.md +0 -133
- package/field/AGENTS.md +0 -96
- package/input/AGENTS.md +0 -35
- package/kbd/AGENTS.md +0 -17
- package/label/AGENTS.md +0 -21
- package/number-field/AGENTS.md +0 -53
- package/popover/AGENTS.md +0 -64
- package/press.css +0 -37
- package/radio-group/AGENTS.md +0 -81
- package/select/AGENTS.md +0 -90
- package/switch/AGENTS.md +0 -37
- package/table/AGENTS.md +0 -82
- package/tabs/AGENTS.md +0 -60
- package/test-utils.ts +0 -10
- package/textarea/AGENTS.md +0 -35
- package/toast/AGENTS.md +0 -34
- package/toggle/AGENTS.md +0 -37
- package/tooltip/AGENTS.md +0 -50
package/utilities.css
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
@custom-variant dark (&:where(.dark, .dark *):not(:where(.light, .light *)));
|
|
2
|
+
|
|
3
|
+
@custom-variant current (&[aria-current="page"]);
|
|
4
|
+
|
|
5
|
+
@custom-variant invalid (&[aria-invalid="true"]);
|
|
6
|
+
|
|
7
|
+
@custom-variant invalid-within (&:has([aria-invalid="true"]));
|
|
8
|
+
|
|
9
|
+
@custom-variant in-invalid (&:where([aria-invalid="true"] *));
|
|
10
|
+
|
|
11
|
+
@custom-variant described (&:has([data-description]));
|
|
12
|
+
|
|
13
|
+
@custom-variant checked (&:where([data-checked], [data-indeterminate]));
|
|
14
|
+
@custom-variant open (&[data-open]);
|
|
15
|
+
@custom-variant closed (&[data-closed]);
|
|
16
|
+
@custom-variant on (&[aria-pressed="true"]);
|
|
17
|
+
@custom-variant side-top (&[data-side="top"]);
|
|
18
|
+
@custom-variant side-right (&[data-side="right"]);
|
|
19
|
+
@custom-variant side-bottom (&[data-side="bottom"]);
|
|
20
|
+
@custom-variant side-left (&[data-side="left"]);
|
|
21
|
+
@custom-variant selected (&[data-selected]:not([data-selected="false"]));
|
|
22
|
+
@custom-variant unset (&[data-placeholder]);
|
|
23
|
+
|
|
24
|
+
@custom-variant menu-gutter (.menu:has(.menu-lead) &:not(:has(.menu-lead)));
|
|
25
|
+
|
|
26
|
+
@layer base {
|
|
27
|
+
:root { color-scheme: light; }
|
|
28
|
+
.dark { color-scheme: dark; }
|
|
29
|
+
|
|
30
|
+
body {
|
|
31
|
+
position: relative;
|
|
32
|
+
background-color: var(--color-bg);
|
|
33
|
+
color: var(--color-fg);
|
|
34
|
+
font-family: var(--font-sans);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
code, pre, kbd, samp { font-family: var(--font-mono); }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@utility text-prose {
|
|
41
|
+
font-size: var(--pds-prose);
|
|
42
|
+
line-height: var(--tw-leading, var(--pds-prose-lh));
|
|
43
|
+
font-weight: var(--tw-font-weight, 400);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@utility text-value {
|
|
47
|
+
font-size: var(--pds-value);
|
|
48
|
+
line-height: var(--tw-leading, var(--pds-value-lh));
|
|
49
|
+
font-weight: var(--tw-font-weight, 400);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@utility transition-state {
|
|
53
|
+
transition-property: color, background-color, box-shadow, scale;
|
|
54
|
+
transition-duration: var(--dur-state);
|
|
55
|
+
transition-timing-function: var(--ease-state);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@keyframes enter { from { opacity: 0; scale: var(--enter-scale); } }
|
|
59
|
+
@keyframes exit { to { opacity: 0; scale: var(--enter-scale); } }
|
|
60
|
+
|
|
61
|
+
@utility animate-enter { animation: enter var(--dur-enter) var(--ease-enter); }
|
|
62
|
+
@utility animate-exit { animation: exit var(--dur-exit) var(--ease-exit); }
|
|
63
|
+
|
|
64
|
+
@keyframes draw { from { stroke-dashoffset: var(--draw-len); } }
|
|
65
|
+
|
|
66
|
+
@utility animate-draw {
|
|
67
|
+
stroke-dasharray: var(--draw-len);
|
|
68
|
+
animation: draw var(--dur-enter) var(--ease-enter);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@keyframes fade-in { from { opacity: 0; } }
|
|
72
|
+
@keyframes fade-out { to { opacity: 0; } }
|
|
73
|
+
|
|
74
|
+
@utility animate-fade-in { animation: fade-in var(--dur-enter) var(--ease-enter); }
|
|
75
|
+
@utility animate-fade-out { animation: fade-out var(--dur-exit) var(--ease-exit); }
|
|
76
|
+
|
|
77
|
+
@utility z-sticky { z-index: 10; }
|
|
78
|
+
@utility z-overlay { z-index: 50; }
|
|
79
|
+
@utility z-toast { z-index: 60; }
|
|
80
|
+
|
|
81
|
+
@utility frame {
|
|
82
|
+
@apply bg-bg-panel border border-line;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@utility card {
|
|
86
|
+
@apply bg-bg-panel shadow-s3;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@utility float {
|
|
90
|
+
@apply bg-bg-panel border border-line shadow-s3;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@utility sheet {
|
|
94
|
+
@apply bg-bg-panel;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
@utility press {
|
|
98
|
+
position: relative;
|
|
99
|
+
|
|
100
|
+
&::after {
|
|
101
|
+
content: "";
|
|
102
|
+
position: absolute;
|
|
103
|
+
inset: 0;
|
|
104
|
+
border-radius: inherit;
|
|
105
|
+
background: var(--pds-pressed-dim);
|
|
106
|
+
opacity: 0;
|
|
107
|
+
pointer-events: none;
|
|
108
|
+
transition: opacity var(--dur-state) var(--ease-state);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&:active:not(:disabled):not([aria-disabled="true"])::after,
|
|
112
|
+
&[data-pressed]:not([data-popup-open]):not([aria-pressed]):not(:disabled):not([aria-disabled="true"])::after {
|
|
113
|
+
opacity: 1;
|
|
114
|
+
transition-duration: 0s;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@utility press-shrink {
|
|
119
|
+
&:active:not(:disabled):not([aria-disabled="true"]),
|
|
120
|
+
&[data-pressed]:not([data-popup-open]):not([aria-pressed]):not(:disabled):not([aria-disabled="true"]) {
|
|
121
|
+
scale: var(--scale-press);
|
|
122
|
+
transition-duration: 0s;
|
|
123
|
+
}
|
|
124
|
+
}
|
package/accordion/AGENTS.md
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Accordion
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add accordion
|
|
5
|
-
층 ui
|
|
6
|
-
파일 accordion/index.tsx, accordion/index.module.css, accordion/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Accordion` | `AccordionProps` |
|
|
14
|
-
| `AccordionItem` | - |
|
|
15
|
-
| `AccordionTrigger` | - |
|
|
16
|
-
| `AccordionContent` | - |
|
|
17
|
-
|
|
18
|
-
### `AccordionItem`
|
|
19
|
-
|
|
20
|
-
| 이름 | 타입 | 필수 |
|
|
21
|
-
|---|---|---|
|
|
22
|
-
| `value` | `string` | 예 |
|
|
23
|
-
| `disabled` | `boolean` | |
|
|
24
|
-
| `className` | `string` | |
|
|
25
|
-
| `children` | `ReactNode` | |
|
|
26
|
-
|
|
27
|
-
### `AccordionTrigger`
|
|
28
|
-
|
|
29
|
-
| 이름 | 타입 | 필수 |
|
|
30
|
-
|---|---|---|
|
|
31
|
-
| `className` | `string` | |
|
|
32
|
-
| `children` | `ReactNode` | |
|
|
33
|
-
|
|
34
|
-
### `AccordionContent`
|
|
35
|
-
|
|
36
|
-
| 이름 | 타입 | 필수 |
|
|
37
|
-
|---|---|---|
|
|
38
|
-
| `className` | `string` | |
|
|
39
|
-
| `children` | `ReactNode` | |
|
|
40
|
-
|
|
41
|
-
## props
|
|
42
|
-
|
|
43
|
-
### `AccordionProps`
|
|
44
|
-
|
|
45
|
-
| 이름 | 타입 | 필수 |
|
|
46
|
-
|---|---|---|
|
|
47
|
-
| `value` | `string \| string[]` | |
|
|
48
|
-
| `defaultValue` | `string \| string[]` | |
|
|
49
|
-
| `onValueChange` | `(value: string & string[]) => void` | |
|
|
50
|
-
| `multiple` | `boolean` | |
|
|
51
|
-
| `className` | `string` | |
|
|
52
|
-
| `children` | `ReactNode` | |
|
|
53
|
-
|
|
54
|
-
## 함께 받는 것
|
|
55
|
-
|
|
56
|
-
`tv`
|
|
57
|
-
|
|
58
|
-
## npm 의존
|
|
59
|
-
|
|
60
|
-
`lucide-react`, `radix-ui`
|
package/alert-dialog/AGENTS.md
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# AlertDialog
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add alert-dialog
|
|
5
|
-
층 ui
|
|
6
|
-
파일 alert-dialog/index.tsx, alert-dialog/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `AlertDialog` | `AlertDialogProps` |
|
|
14
|
-
| `AlertDialogTrigger` | - |
|
|
15
|
-
| `AlertDialogContent` | `ComponentProps<typeof AlertDialogPrimitive.Content>` |
|
|
16
|
-
| `AlertDialogTitle` | `ComponentProps<typeof AlertDialogPrimitive.Title>` |
|
|
17
|
-
| `AlertDialogDescription` | `ComponentProps<typeof AlertDialogPrimitive.Description>` |
|
|
18
|
-
| `AlertDialogHeader` | `AlertDialogHeaderProps` |
|
|
19
|
-
| `AlertDialogFooter` | - |
|
|
20
|
-
| `AlertDialogAction` | - |
|
|
21
|
-
| `AlertDialogCancel` | - |
|
|
22
|
-
|
|
23
|
-
### `AlertDialogTrigger`
|
|
24
|
-
|
|
25
|
-
| 이름 | 타입 | 필수 |
|
|
26
|
-
|---|---|---|
|
|
27
|
-
| `children` | `ReactNode` | 예 |
|
|
28
|
-
|
|
29
|
-
### `AlertDialogFooter`
|
|
30
|
-
|
|
31
|
-
| 이름 | 타입 | 필수 |
|
|
32
|
-
|---|---|---|
|
|
33
|
-
| `className` | `string` | |
|
|
34
|
-
| `children` | `ReactNode` | |
|
|
35
|
-
|
|
36
|
-
### `AlertDialogAction`
|
|
37
|
-
|
|
38
|
-
| 이름 | 타입 | 필수 |
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| `color` | `'neutral' \| 'brand' \| 'danger'` | |
|
|
41
|
-
| `onClick` | `() => void` | |
|
|
42
|
-
| `className` | `string` | |
|
|
43
|
-
| `children` | `ReactNode` | |
|
|
44
|
-
|
|
45
|
-
### `AlertDialogCancel`
|
|
46
|
-
|
|
47
|
-
| 이름 | 타입 | 필수 |
|
|
48
|
-
|---|---|---|
|
|
49
|
-
| `className` | `string` | |
|
|
50
|
-
| `children` | `ReactNode` | |
|
|
51
|
-
|
|
52
|
-
## props
|
|
53
|
-
|
|
54
|
-
### `AlertDialogProps`
|
|
55
|
-
|
|
56
|
-
| 이름 | 타입 | 필수 |
|
|
57
|
-
|---|---|---|
|
|
58
|
-
| `open` | `boolean` | |
|
|
59
|
-
| `defaultOpen` | `boolean` | |
|
|
60
|
-
| `onOpenChange` | `(open: boolean) => void` | |
|
|
61
|
-
| `children` | `ReactNode` | |
|
|
62
|
-
|
|
63
|
-
### `AlertDialogHeaderProps`
|
|
64
|
-
|
|
65
|
-
| 이름 | 타입 | 필수 |
|
|
66
|
-
|---|---|---|
|
|
67
|
-
| `lead` | `ReactNode` | |
|
|
68
|
-
| `trail` | `ReactNode` | |
|
|
69
|
-
| `className` | `string` | |
|
|
70
|
-
| `children` | `ReactNode` | |
|
|
71
|
-
|
|
72
|
-
## 함께 받는 것
|
|
73
|
-
|
|
74
|
-
`button`, `tv`
|
|
75
|
-
|
|
76
|
-
## npm 의존
|
|
77
|
-
|
|
78
|
-
`radix-ui`
|
package/badge/AGENTS.md
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Badge
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add badge
|
|
5
|
-
층 ui
|
|
6
|
-
파일 badge/index.tsx, badge/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Badge` | `BadgeProps` |
|
|
14
|
-
|
|
15
|
-
## props
|
|
16
|
-
|
|
17
|
-
### `BadgeProps`
|
|
18
|
-
|
|
19
|
-
`Omit<HTMLAttributes<HTMLSpanElement>, 'color'>` 를 확장한다.
|
|
20
|
-
|
|
21
|
-
| 이름 | 타입 | 필수 |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `color` | `'neutral' \| 'brand' \| 'info' \| 'success' \| 'warning' \| 'danger'` | |
|
|
24
|
-
| `shape` | `'square' \| 'pill'` | |
|
|
25
|
-
|
|
26
|
-
## 변형 - `badge`
|
|
27
|
-
|
|
28
|
-
| 축 | 값 | 기본 |
|
|
29
|
-
|---|---|---|
|
|
30
|
-
| `color` | `neutral`, `brand`, `info`, `success`, `warning`, `danger` | `neutral` |
|
|
31
|
-
| `shape` | `square`, `pill` | `square` |
|
|
32
|
-
|
|
33
|
-
## 함께 받는 것
|
|
34
|
-
|
|
35
|
-
`tv`
|
package/button/AGENTS.md
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Button
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add button
|
|
5
|
-
층 ui
|
|
6
|
-
파일 button/index.tsx, button/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Button` | `ButtonProps` |
|
|
14
|
-
|
|
15
|
-
## props
|
|
16
|
-
|
|
17
|
-
### `ButtonProps`
|
|
18
|
-
|
|
19
|
-
`Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'>` 를 확장한다.
|
|
20
|
-
|
|
21
|
-
| 이름 | 타입 | 필수 |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `color` | `'brand' \| 'neutral' \| 'danger'` | 예 |
|
|
24
|
-
| `emphasis` | `'solid' \| 'weak' \| 'outline' \| 'ghost'` | 예 |
|
|
25
|
-
| `size` | `'sm' \| 'md' \| 'lg'` | |
|
|
26
|
-
| `shape` | `'rect' \| 'square' \| 'pill' \| 'circle'` | |
|
|
27
|
-
|
|
28
|
-
## 변형 - `button`
|
|
29
|
-
|
|
30
|
-
| 축 | 값 | 기본 |
|
|
31
|
-
|---|---|---|
|
|
32
|
-
| `color` | `brand`, `neutral`, `danger` | - |
|
|
33
|
-
| `emphasis` | `solid`, `weak`, `outline`, `ghost` | - |
|
|
34
|
-
| `size` | `sm`, `md`, `lg` | `md` |
|
|
35
|
-
| `shape` | `rect`, `square`, `pill`, `circle` | `rect` |
|
|
36
|
-
|
|
37
|
-
## 함께 받는 것
|
|
38
|
-
|
|
39
|
-
`tv`
|
package/callout/AGENTS.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Callout
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add callout
|
|
5
|
-
층 ui
|
|
6
|
-
파일 callout/index.tsx, callout/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Callout` | `CalloutProps` |
|
|
14
|
-
|
|
15
|
-
## props
|
|
16
|
-
|
|
17
|
-
### `CalloutProps`
|
|
18
|
-
|
|
19
|
-
| 이름 | 타입 | 필수 |
|
|
20
|
-
|---|---|---|
|
|
21
|
-
| `color` | `'info' \| 'success' \| 'warning' \| 'danger'` | |
|
|
22
|
-
| `icon` | `ReactNode` | |
|
|
23
|
-
| `title` | `ReactNode` | |
|
|
24
|
-
| `className` | `string` | |
|
|
25
|
-
| `children` | `ReactNode` | |
|
|
26
|
-
|
|
27
|
-
## 변형 - `callout`
|
|
28
|
-
|
|
29
|
-
슬롯 `root`, `icon`, `title`, `body`, `text`
|
|
30
|
-
|
|
31
|
-
| 축 | 값 | 기본 |
|
|
32
|
-
|---|---|---|
|
|
33
|
-
| `color` | `info`, `success`, `warning`, `danger` | `info` |
|
|
34
|
-
|
|
35
|
-
## 함께 받는 것
|
|
36
|
-
|
|
37
|
-
`tv`
|
|
38
|
-
|
|
39
|
-
## npm 의존
|
|
40
|
-
|
|
41
|
-
`lucide-react`
|
package/checkbox/AGENTS.md
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Checkbox
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add checkbox
|
|
5
|
-
층 ui
|
|
6
|
-
파일 checkbox/index.tsx, checkbox/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CheckboxGroup` | `CheckboxGroupProps` |
|
|
14
|
-
| `Checkbox` | `CheckboxProps` |
|
|
15
|
-
|
|
16
|
-
## props
|
|
17
|
-
|
|
18
|
-
### `CheckboxGroupProps`
|
|
19
|
-
|
|
20
|
-
| 이름 | 타입 | 필수 |
|
|
21
|
-
|---|---|---|
|
|
22
|
-
| `value` | `string[]` | |
|
|
23
|
-
| `defaultValue` | `string[]` | |
|
|
24
|
-
| `onValueChange` | `(value: string[]) => void` | |
|
|
25
|
-
| `disabled` | `boolean` | |
|
|
26
|
-
| `className` | `string` | |
|
|
27
|
-
| `children` | `ReactNode` | |
|
|
28
|
-
|
|
29
|
-
### `CheckboxProps`
|
|
30
|
-
|
|
31
|
-
`Omit<ComponentProps<typeof CheckboxPrimitive.Root>, 'checked' | 'onCheckedChange' | 'value'>` 를 확장한다.
|
|
32
|
-
|
|
33
|
-
| 이름 | 타입 | 필수 |
|
|
34
|
-
|---|---|---|
|
|
35
|
-
| `value` | `string` | |
|
|
36
|
-
| `checked` | `boolean` | |
|
|
37
|
-
| `onCheckedChange` | `(checked: boolean) => void` | |
|
|
38
|
-
| `indeterminate` | `boolean` | |
|
|
39
|
-
| `onIndeterminateChange` | `(indeterminate: boolean) => void` | |
|
|
40
|
-
| `color` | `'neutral' \| 'info' \| 'success' \| 'warning' \| 'danger'` | |
|
|
41
|
-
|
|
42
|
-
## 변형 - `checkbox`
|
|
43
|
-
|
|
44
|
-
| 축 | 값 | 기본 |
|
|
45
|
-
|---|---|---|
|
|
46
|
-
| `color` | `neutral`, `info`, `success`, `warning`, `danger` | `neutral` |
|
|
47
|
-
|
|
48
|
-
## 함께 받는 것
|
|
49
|
-
|
|
50
|
-
`tv`
|
|
51
|
-
|
|
52
|
-
## npm 의존
|
|
53
|
-
|
|
54
|
-
`lucide-react`, `radix-ui`
|
package/combobox/AGENTS.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# Combobox
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add combobox
|
|
5
|
-
층 ui
|
|
6
|
-
파일 combobox/index.tsx, combobox/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Combobox` | `ComboboxProps` |
|
|
14
|
-
| `ComboboxAnchor` | `ComboboxAnchorProps` |
|
|
15
|
-
| `ComboboxInput` | `ComboboxInputProps` |
|
|
16
|
-
| `ComboboxTrigger` | - |
|
|
17
|
-
| `ComboboxCancel` | - |
|
|
18
|
-
| `ComboboxContent` | `ComboboxContentProps` |
|
|
19
|
-
| `ComboboxViewport` | - |
|
|
20
|
-
| `ComboboxItem` | `ComboboxItemProps` |
|
|
21
|
-
| `ComboboxItemText` | - |
|
|
22
|
-
| `ComboboxItemDescription` | - |
|
|
23
|
-
| `ComboboxGroup` | - |
|
|
24
|
-
| `ComboboxEmpty` | - |
|
|
25
|
-
| `ComboboxSeparator` | - |
|
|
26
|
-
|
|
27
|
-
### `ComboboxTrigger`
|
|
28
|
-
|
|
29
|
-
| 이름 | 타입 | 필수 |
|
|
30
|
-
|---|---|---|
|
|
31
|
-
| `label` | `string` | |
|
|
32
|
-
| `disabled` | `boolean` | |
|
|
33
|
-
| `className` | `string` | |
|
|
34
|
-
|
|
35
|
-
### `ComboboxCancel`
|
|
36
|
-
|
|
37
|
-
| 이름 | 타입 | 필수 |
|
|
38
|
-
|---|---|---|
|
|
39
|
-
| `label` | `string` | |
|
|
40
|
-
| `className` | `string` | |
|
|
41
|
-
|
|
42
|
-
### `ComboboxViewport`
|
|
43
|
-
|
|
44
|
-
| 이름 | 타입 | 필수 |
|
|
45
|
-
|---|---|---|
|
|
46
|
-
| `label` | `string` | |
|
|
47
|
-
| `className` | `string` | |
|
|
48
|
-
| `children` | `ReactNode` | |
|
|
49
|
-
|
|
50
|
-
### `ComboboxItemText`
|
|
51
|
-
|
|
52
|
-
| 이름 | 타입 | 필수 |
|
|
53
|
-
|---|---|---|
|
|
54
|
-
| `className` | `string` | |
|
|
55
|
-
| `children` | `ReactNode` | |
|
|
56
|
-
|
|
57
|
-
### `ComboboxItemDescription`
|
|
58
|
-
|
|
59
|
-
| 이름 | 타입 | 필수 |
|
|
60
|
-
|---|---|---|
|
|
61
|
-
| `className` | `string` | |
|
|
62
|
-
| `children` | `ReactNode` | |
|
|
63
|
-
|
|
64
|
-
### `ComboboxGroup`
|
|
65
|
-
|
|
66
|
-
| 이름 | 타입 | 필수 |
|
|
67
|
-
|---|---|---|
|
|
68
|
-
| `label` | `string` | |
|
|
69
|
-
| `className` | `string` | |
|
|
70
|
-
| `children` | `ReactNode` | |
|
|
71
|
-
|
|
72
|
-
### `ComboboxEmpty`
|
|
73
|
-
|
|
74
|
-
| 이름 | 타입 | 필수 |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| `className` | `string` | |
|
|
77
|
-
| `children` | `ReactNode` | |
|
|
78
|
-
|
|
79
|
-
### `ComboboxSeparator`
|
|
80
|
-
|
|
81
|
-
| 이름 | 타입 | 필수 |
|
|
82
|
-
|---|---|---|
|
|
83
|
-
| `className` | `string` | |
|
|
84
|
-
|
|
85
|
-
## 도우미
|
|
86
|
-
|
|
87
|
-
`contains(text: string, search: string)`
|
|
88
|
-
|
|
89
|
-
## props
|
|
90
|
-
|
|
91
|
-
### `ComboboxProps`
|
|
92
|
-
|
|
93
|
-
| 이름 | 타입 | 필수 |
|
|
94
|
-
|---|---|---|
|
|
95
|
-
| `value` | `string` | |
|
|
96
|
-
| `defaultValue` | `string` | |
|
|
97
|
-
| `onValueChange` | `(value: string) => void` | |
|
|
98
|
-
| `open` | `boolean` | |
|
|
99
|
-
| `defaultOpen` | `boolean` | |
|
|
100
|
-
| `onOpenChange` | `(open: boolean) => void` | |
|
|
101
|
-
| `ignoreFilter` | `boolean` | |
|
|
102
|
-
| `className` | `string` | |
|
|
103
|
-
| `children` | `ReactNode` | |
|
|
104
|
-
|
|
105
|
-
### `ComboboxAnchorProps`
|
|
106
|
-
|
|
107
|
-
| 이름 | 타입 | 필수 |
|
|
108
|
-
|---|---|---|
|
|
109
|
-
| `surface` | `'bare' \| 'well'` | |
|
|
110
|
-
| `size` | `'sm' \| 'md' \| 'lg'` | |
|
|
111
|
-
| `className` | `string` | |
|
|
112
|
-
| `children` | `ReactNode` | |
|
|
113
|
-
|
|
114
|
-
### `ComboboxInputProps`
|
|
115
|
-
|
|
116
|
-
`Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>` 를 확장한다.
|
|
117
|
-
|
|
118
|
-
| 이름 | 타입 | 필수 |
|
|
119
|
-
|---|---|---|
|
|
120
|
-
| `value` | `string` | |
|
|
121
|
-
| `onValueChange` | `(value: string) => void` | |
|
|
122
|
-
|
|
123
|
-
### `ComboboxContentProps`
|
|
124
|
-
|
|
125
|
-
`Omit<ComponentProps<typeof PopoverPrimitive.Content>, 'align' | 'sideOffset' | 'onOpenAutoFocus'>`
|
|
126
|
-
|
|
127
|
-
### `ComboboxItemProps`
|
|
128
|
-
|
|
129
|
-
| 이름 | 타입 | 필수 |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| `value` | `string` | 예 |
|
|
132
|
-
| `textValue` | `string` | |
|
|
133
|
-
| `disabled` | `boolean` | |
|
|
134
|
-
| `className` | `string` | |
|
|
135
|
-
| `children` | `ReactNode` | |
|
|
136
|
-
|
|
137
|
-
## 변형 - `comboboxAnchor`
|
|
138
|
-
|
|
139
|
-
| 축 | 값 | 기본 |
|
|
140
|
-
|---|---|---|
|
|
141
|
-
| `surface` | `bare`, `well` | `bare` |
|
|
142
|
-
| `size` | `sm`, `md`, `lg` | `md` |
|
|
143
|
-
|
|
144
|
-
## 함께 받는 것
|
|
145
|
-
|
|
146
|
-
`tv`
|
|
147
|
-
|
|
148
|
-
## npm 의존
|
|
149
|
-
|
|
150
|
-
`lucide-react`, `radix-ui`
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# CommandPalette
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add command-palette
|
|
5
|
-
층 derived
|
|
6
|
-
파일 command-palette/index.tsx, command-palette/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `CommandPalette` | `CommandPaletteProps` |
|
|
14
|
-
|
|
15
|
-
## props
|
|
16
|
-
|
|
17
|
-
### `CommandPaletteItem`
|
|
18
|
-
|
|
19
|
-
| 이름 | 타입 | 필수 |
|
|
20
|
-
|---|---|---|
|
|
21
|
-
| `value` | `string` | 예 |
|
|
22
|
-
| `label` | `string` | 예 |
|
|
23
|
-
| `group` | `string` | |
|
|
24
|
-
|
|
25
|
-
### `CommandPaletteProps`
|
|
26
|
-
|
|
27
|
-
| 이름 | 타입 | 필수 |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| `open` | `boolean` | |
|
|
30
|
-
| `defaultOpen` | `boolean` | |
|
|
31
|
-
| `onOpenChange` | `(open: boolean) => void` | |
|
|
32
|
-
| `items` | `CommandPaletteItem[]` | 예 |
|
|
33
|
-
| `title` | `string` | 예 |
|
|
34
|
-
| `placeholder` | `string` | 예 |
|
|
35
|
-
| `emptyText` | `string` | 예 |
|
|
36
|
-
| `onSelect` | `(value: string) => void` | |
|
|
37
|
-
| `className` | `string` | |
|
|
38
|
-
|
|
39
|
-
## 함께 받는 것
|
|
40
|
-
|
|
41
|
-
`combobox`, `dialog`, `kbd`
|
|
42
|
-
|
|
43
|
-
## npm 의존
|
|
44
|
-
|
|
45
|
-
`lucide-react`
|
package/dialog/AGENTS.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Dialog
|
|
2
|
-
|
|
3
|
-
```
|
|
4
|
-
받기 npx @pantoia/ui add dialog
|
|
5
|
-
층 ui
|
|
6
|
-
파일 dialog/index.tsx, dialog/AGENTS.md
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 부위
|
|
10
|
-
|
|
11
|
-
| 이름 | props |
|
|
12
|
-
|---|---|
|
|
13
|
-
| `Dialog` | `DialogProps` |
|
|
14
|
-
| `DialogTrigger` | - |
|
|
15
|
-
| `DialogClose` | - |
|
|
16
|
-
| `DialogContent` | `DialogContentProps` |
|
|
17
|
-
| `DialogTitle` | `ComponentProps<typeof DialogPrimitive.Title>` |
|
|
18
|
-
| `DialogDescription` | `ComponentProps<typeof DialogPrimitive.Description>` |
|
|
19
|
-
| `DialogHeader` | `DialogHeaderProps` |
|
|
20
|
-
| `DialogFooter` | - |
|
|
21
|
-
|
|
22
|
-
### `DialogTrigger`
|
|
23
|
-
|
|
24
|
-
| 이름 | 타입 | 필수 |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| `children` | `ReactNode` | 예 |
|
|
27
|
-
|
|
28
|
-
### `DialogClose`
|
|
29
|
-
|
|
30
|
-
| 이름 | 타입 | 필수 |
|
|
31
|
-
|---|---|---|
|
|
32
|
-
| `children` | `ReactNode` | 예 |
|
|
33
|
-
|
|
34
|
-
### `DialogFooter`
|
|
35
|
-
|
|
36
|
-
| 이름 | 타입 | 필수 |
|
|
37
|
-
|---|---|---|
|
|
38
|
-
| `className` | `string` | |
|
|
39
|
-
| `children` | `ReactNode` | |
|
|
40
|
-
|
|
41
|
-
## props
|
|
42
|
-
|
|
43
|
-
### `DialogProps`
|
|
44
|
-
|
|
45
|
-
| 이름 | 타입 | 필수 |
|
|
46
|
-
|---|---|---|
|
|
47
|
-
| `open` | `boolean` | |
|
|
48
|
-
| `defaultOpen` | `boolean` | |
|
|
49
|
-
| `onOpenChange` | `(open: boolean) => void` | |
|
|
50
|
-
| `children` | `ReactNode` | |
|
|
51
|
-
|
|
52
|
-
### `DialogContentProps`
|
|
53
|
-
|
|
54
|
-
`ComponentProps<typeof DialogPrimitive.Content>` 를 확장한다.
|
|
55
|
-
|
|
56
|
-
| 이름 | 타입 | 필수 |
|
|
57
|
-
|---|---|---|
|
|
58
|
-
| `size` | `'md' \| 'full' \| 'top'` | |
|
|
59
|
-
|
|
60
|
-
### `DialogHeaderProps`
|
|
61
|
-
|
|
62
|
-
| 이름 | 타입 | 필수 |
|
|
63
|
-
|---|---|---|
|
|
64
|
-
| `lead` | `ReactNode` | |
|
|
65
|
-
| `trail` | `ReactNode` | |
|
|
66
|
-
| `className` | `string` | |
|
|
67
|
-
| `children` | `ReactNode` | |
|
|
68
|
-
|
|
69
|
-
## 변형 - `dialog`
|
|
70
|
-
|
|
71
|
-
| 축 | 값 | 기본 |
|
|
72
|
-
|---|---|---|
|
|
73
|
-
| `size` | `md`, `full`, `top` | `md` |
|
|
74
|
-
|
|
75
|
-
## 함께 받는 것
|
|
76
|
-
|
|
77
|
-
`tv`
|
|
78
|
-
|
|
79
|
-
## npm 의존
|
|
80
|
-
|
|
81
|
-
`radix-ui`
|