@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.
Files changed (66) hide show
  1. package/accordion/index.module.css +4 -4
  2. package/accordion/index.tsx +30 -58
  3. package/alert-dialog/index.tsx +38 -44
  4. package/badge/index.tsx +2 -2
  5. package/button/index.tsx +31 -30
  6. package/callout/index.tsx +29 -8
  7. package/checkbox/index.tsx +24 -88
  8. package/combobox/index.tsx +133 -323
  9. package/command-palette/index.tsx +55 -34
  10. package/dialog/index.tsx +30 -26
  11. package/dist/index.js +155 -27
  12. package/drawer/index.module.css +2 -2
  13. package/drawer/index.tsx +54 -132
  14. package/dropdown-menu/index.tsx +95 -100
  15. package/field/index.tsx +43 -94
  16. package/input/index.tsx +13 -9
  17. package/kbd/index.tsx +2 -2
  18. package/label/index.tsx +7 -9
  19. package/number-field/index.tsx +129 -176
  20. package/package.json +12 -15
  21. package/palette.css +114 -0
  22. package/popover/index.tsx +62 -33
  23. package/radio-group/index.tsx +36 -39
  24. package/registry.json +65 -169
  25. package/select/index.tsx +154 -76
  26. package/switch/index.tsx +13 -6
  27. package/table/index.tsx +5 -6
  28. package/tabs/index.module.css +5 -3
  29. package/tabs/index.tsx +26 -77
  30. package/tailwind.css +3 -0
  31. package/textarea/index.tsx +25 -13
  32. package/toast/index.module.css +187 -0
  33. package/toast/index.tsx +141 -46
  34. package/toggle/index.tsx +8 -7
  35. package/{styles.css → tokens.css} +82 -303
  36. package/tooltip/index.tsx +62 -31
  37. package/tv.ts +0 -1
  38. package/utilities.css +124 -0
  39. package/accordion/AGENTS.md +0 -60
  40. package/alert-dialog/AGENTS.md +0 -78
  41. package/badge/AGENTS.md +0 -35
  42. package/button/AGENTS.md +0 -39
  43. package/callout/AGENTS.md +0 -41
  44. package/checkbox/AGENTS.md +0 -54
  45. package/combobox/AGENTS.md +0 -150
  46. package/command-palette/AGENTS.md +0 -45
  47. package/dialog/AGENTS.md +0 -81
  48. package/drawer/AGENTS.md +0 -66
  49. package/dropdown-menu/AGENTS.md +0 -133
  50. package/field/AGENTS.md +0 -96
  51. package/input/AGENTS.md +0 -35
  52. package/kbd/AGENTS.md +0 -17
  53. package/label/AGENTS.md +0 -21
  54. package/number-field/AGENTS.md +0 -53
  55. package/popover/AGENTS.md +0 -64
  56. package/press.css +0 -37
  57. package/radio-group/AGENTS.md +0 -81
  58. package/select/AGENTS.md +0 -90
  59. package/switch/AGENTS.md +0 -37
  60. package/table/AGENTS.md +0 -82
  61. package/tabs/AGENTS.md +0 -60
  62. package/test-utils.ts +0 -10
  63. package/textarea/AGENTS.md +0 -35
  64. package/toast/AGENTS.md +0 -34
  65. package/toggle/AGENTS.md +0 -37
  66. 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
+ }
@@ -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`
@@ -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`
@@ -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`
@@ -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`