@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/drawer/AGENTS.md DELETED
@@ -1,66 +0,0 @@
1
- # Drawer
2
-
3
- ```
4
- 받기 npx @pantoia/ui add drawer
5
- 층 ui
6
- 파일 drawer/index.tsx, drawer/index.module.css, drawer/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Drawer` | `DrawerProps` |
14
- | `DrawerTrigger` | - |
15
- | `DrawerClose` | - |
16
- | `DrawerContent` | `ComponentProps<typeof Dialog.Content>` |
17
- | `DrawerHeader` | `DrawerHeaderProps` |
18
- | `DrawerTitle` | `ComponentProps<typeof Dialog.Title>` |
19
- | `DrawerDescription` | `ComponentProps<typeof Dialog.Description>` |
20
-
21
- ### `DrawerTrigger`
22
-
23
- | 이름 | 타입 | 필수 |
24
- |---|---|---|
25
- | `children` | `ReactNode` | 예 |
26
-
27
- ### `DrawerClose`
28
-
29
- | 이름 | 타입 | 필수 |
30
- |---|---|---|
31
- | `children` | `ReactNode` | 예 |
32
-
33
- ## props
34
-
35
- ### `DrawerProps`
36
-
37
- | 이름 | 타입 | 필수 |
38
- |---|---|---|
39
- | `side` | `Side` | |
40
- | `open` | `boolean` | |
41
- | `defaultOpen` | `boolean` | |
42
- | `onOpenChange` | `(open: boolean) => void` | |
43
- | `children` | `ReactNode` | 예 |
44
-
45
- ### `DrawerHeaderProps`
46
-
47
- | 이름 | 타입 | 필수 |
48
- |---|---|---|
49
- | `lead` | `ReactNode` | |
50
- | `trail` | `ReactNode` | |
51
- | `className` | `string` | |
52
- | `children` | `ReactNode` | |
53
-
54
- ## 변형 - `drawerContent`
55
-
56
- | 축 | 값 | 기본 |
57
- |---|---|---|
58
- | `side` | `left`, `right` | - |
59
-
60
- ## 함께 받는 것
61
-
62
- `tv`
63
-
64
- ## npm 의존
65
-
66
- `radix-ui`
@@ -1,133 +0,0 @@
1
- # DropdownMenu
2
-
3
- ```
4
- 받기 npx @pantoia/ui add dropdown-menu
5
- 층 ui
6
- 파일 dropdown-menu/index.tsx, dropdown-menu/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `DropdownMenu` | `DropdownMenuProps` |
14
- | `DropdownMenuTrigger` | - |
15
- | `DropdownMenuContent` | `DropdownMenuContentProps` |
16
- | `DropdownMenuGroup` | - |
17
- | `DropdownMenuItem` | `DropdownMenuItemProps` |
18
- | `DropdownMenuCheckboxItem` | - |
19
- | `DropdownMenuRadioGroup` | - |
20
- | `DropdownMenuRadioItem` | - |
21
- | `DropdownMenuSeparator` | - |
22
- | `DropdownMenuSub` | - |
23
- | `DropdownMenuSubTrigger` | - |
24
- | `DropdownMenuSubContent` | `ComponentProps<typeof MenuPrimitive.SubContent>` |
25
-
26
- ### `DropdownMenuTrigger`
27
-
28
- | 이름 | 타입 | 필수 |
29
- |---|---|---|
30
- | `children` | `ReactNode` | 예 |
31
-
32
- ### `DropdownMenuGroup`
33
-
34
- | 이름 | 타입 | 필수 |
35
- |---|---|---|
36
- | `label` | `string` | |
37
- | `className` | `string` | |
38
- | `children` | `ReactNode` | |
39
-
40
- ### `DropdownMenuCheckboxItem`
41
-
42
- | 이름 | 타입 | 필수 |
43
- |---|---|---|
44
- | `checked` | `boolean` | |
45
- | `onCheckedChange` | `(checked: boolean) => void` | |
46
- | `disabled` | `boolean` | |
47
- | `className` | `string` | |
48
- | `children` | `ReactNode` | |
49
-
50
- ### `DropdownMenuRadioGroup`
51
-
52
- | 이름 | 타입 | 필수 |
53
- |---|---|---|
54
- | `value` | `string` | |
55
- | `onValueChange` | `(value: string) => void` | |
56
- | `children` | `ReactNode` | |
57
-
58
- ### `DropdownMenuRadioItem`
59
-
60
- | 이름 | 타입 | 필수 |
61
- |---|---|---|
62
- | `value` | `string` | 예 |
63
- | `disabled` | `boolean` | |
64
- | `className` | `string` | |
65
- | `children` | `ReactNode` | |
66
-
67
- ### `DropdownMenuSeparator`
68
-
69
- | 이름 | 타입 | 필수 |
70
- |---|---|---|
71
- | `className` | `string` | |
72
-
73
- ### `DropdownMenuSub`
74
-
75
- | 이름 | 타입 | 필수 |
76
- |---|---|---|
77
- | `open` | `boolean` | |
78
- | `defaultOpen` | `boolean` | |
79
- | `onOpenChange` | `(open: boolean) => void` | |
80
- | `children` | `ReactNode` | |
81
-
82
- ### `DropdownMenuSubTrigger`
83
-
84
- | 이름 | 타입 | 필수 |
85
- |---|---|---|
86
- | `disabled` | `boolean` | |
87
- | `lead` | `ReactNode` | |
88
- | `className` | `string` | |
89
- | `children` | `ReactNode` | |
90
-
91
- ## props
92
-
93
- ### `DropdownMenuProps`
94
-
95
- | 이름 | 타입 | 필수 |
96
- |---|---|---|
97
- | `open` | `boolean` | |
98
- | `defaultOpen` | `boolean` | |
99
- | `onOpenChange` | `(open: boolean) => void` | |
100
- | `children` | `ReactNode` | |
101
-
102
- ### `DropdownMenuContentProps`
103
-
104
- `Omit<ComponentProps<typeof MenuPrimitive.Content>, 'align'>` 를 확장한다.
105
-
106
- | 이름 | 타입 | 필수 |
107
- |---|---|---|
108
- | `align` | `'start' \| 'center' \| 'end'` | |
109
- | `arrow` | `boolean` | |
110
-
111
- ### `DropdownMenuItemProps`
112
-
113
- `Omit<ComponentProps<typeof MenuPrimitive.Item>, 'color'>` 를 확장한다.
114
-
115
- | 이름 | 타입 | 필수 |
116
- |---|---|---|
117
- | `color` | `'neutral' \| 'danger'` | |
118
- | `lead` | `ReactNode` | |
119
- | `trail` | `ReactNode` | |
120
-
121
- ## 변형 - `menuItem`
122
-
123
- | 축 | 값 | 기본 |
124
- |---|---|---|
125
- | `color` | `neutral`, `danger` | `neutral` |
126
-
127
- ## 함께 받는 것
128
-
129
- `tv`
130
-
131
- ## npm 의존
132
-
133
- `lucide-react`, `radix-ui`
package/field/AGENTS.md DELETED
@@ -1,96 +0,0 @@
1
- # Field
2
-
3
- ```
4
- 받기 npx @pantoia/ui add field
5
- 층 ui
6
- 파일 field/index.tsx, field/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Field` | `FieldProps` |
14
- | `FieldLabel` | - |
15
- | `FieldHelp` | - |
16
- | `FieldError` | `FieldErrorProps` |
17
- | `FieldPending` | - |
18
- | `FieldSuccess` | - |
19
-
20
- ### `FieldLabel`
21
-
22
- | 이름 | 타입 | 필수 |
23
- |---|---|---|
24
- | `className` | `string` | |
25
- | `children` | `ReactNode` | |
26
-
27
- ### `FieldHelp`
28
-
29
- | 이름 | 타입 | 필수 |
30
- |---|---|---|
31
- | `className` | `string` | |
32
- | `children` | `ReactNode` | |
33
-
34
- ### `FieldPending`
35
-
36
- | 이름 | 타입 | 필수 |
37
- |---|---|---|
38
- | `className` | `string` | |
39
- | `children` | `ReactNode` | |
40
-
41
- ### `FieldSuccess`
42
-
43
- | 이름 | 타입 | 필수 |
44
- |---|---|---|
45
- | `className` | `string` | |
46
- | `children` | `ReactNode` | |
47
-
48
- ## props
49
-
50
- ### `FieldContext`
51
-
52
- | 이름 | 타입 | 필수 |
53
- |---|---|---|
54
- | `id` | `string` | 예 |
55
- | `labelId` | `string` | 예 |
56
- | `messageId` | `string` | 예 |
57
-
58
- ### `FieldControl`
59
-
60
- | 이름 | 타입 | 필수 |
61
- |---|---|---|
62
- | `id` | `string` | 예 |
63
- | `aria-labelledby` | `string` | 예 |
64
- | `aria-invalid` | `'true' \| undefined` | 예 |
65
- | `aria-describedby` | `string` | 예 |
66
-
67
- ### `FieldProps`
68
-
69
- | 이름 | 타입 | 필수 |
70
- |---|---|---|
71
- | `invalid` | `boolean` | |
72
- | `layout` | `'stack' \| 'inline' \| 'split'` | |
73
- | `className` | `string` | |
74
- | `children` | `ReactNode \| ((args: { control: FieldControl }) => ReactNode)` | |
75
-
76
- ### `FieldErrorProps`
77
-
78
- | 이름 | 타입 | 필수 |
79
- |---|---|---|
80
- | `items` | `string \| string[]` | |
81
- | `className` | `string` | |
82
- | `children` | `ReactNode` | |
83
-
84
- ## 변형 - `field`
85
-
86
- | 축 | 값 | 기본 |
87
- |---|---|---|
88
- | `layout` | `stack`, `inline`, `split` | `stack` |
89
-
90
- ## 함께 받는 것
91
-
92
- `label`, `tv`
93
-
94
- ## npm 의존
95
-
96
- `lucide-react`
package/input/AGENTS.md DELETED
@@ -1,35 +0,0 @@
1
- # Input
2
-
3
- ```
4
- 받기 npx @pantoia/ui add input
5
- 층 ui
6
- 파일 input/index.tsx, input/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Input` | `InputProps` |
14
-
15
- ## props
16
-
17
- ### `InputProps`
18
-
19
- `Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>` 를 확장한다.
20
-
21
- | 이름 | 타입 | 필수 |
22
- |---|---|---|
23
- | `surface` | `'bare' \| 'well'` | |
24
- | `size` | `'sm' \| 'md' \| 'lg'` | |
25
-
26
- ## 변형 - `input`
27
-
28
- | 축 | 값 | 기본 |
29
- |---|---|---|
30
- | `surface` | `bare`, `well` | `bare` |
31
- | `size` | `sm`, `md`, `lg` | `md` |
32
-
33
- ## 함께 받는 것
34
-
35
- `tv`
package/kbd/AGENTS.md DELETED
@@ -1,17 +0,0 @@
1
- # Kbd
2
-
3
- ```
4
- 받기 npx @pantoia/ui add kbd
5
- 층 ui
6
- 파일 kbd/index.tsx, kbd/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Kbd` | `HTMLAttributes<HTMLElement>` |
14
-
15
- ## 함께 받는 것
16
-
17
- `tv`
package/label/AGENTS.md DELETED
@@ -1,21 +0,0 @@
1
- # Label
2
-
3
- ```
4
- 받기 npx @pantoia/ui add label
5
- 층 ui
6
- 파일 label/index.tsx, label/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Label` | `ComponentProps<typeof LabelPrimitive.Root>` |
14
-
15
- ## 함께 받는 것
16
-
17
- `tv`
18
-
19
- ## npm 의존
20
-
21
- `radix-ui`
@@ -1,53 +0,0 @@
1
- # NumberField
2
-
3
- ```
4
- 받기 npx @pantoia/ui add number-field
5
- 층 ui
6
- 파일 number-field/index.tsx, number-field/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `NumberField` | `NumberFieldProps` |
14
-
15
- ## props
16
-
17
- ### `NumberFieldProps`
18
-
19
- `Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'min' | 'max' | 'step'>` 를 확장한다.
20
-
21
- | 이름 | 타입 | 필수 |
22
- |---|---|---|
23
- | `value` | `number \| undefined` | |
24
- | `defaultValue` | `number` | |
25
- | `onValueChange` | `(value: number \| undefined) => void` | |
26
- | `decrementLabel` | `string` | 예 |
27
- | `incrementLabel` | `string` | 예 |
28
- | `min` | `number` | |
29
- | `max` | `number` | |
30
- | `step` | `number` | |
31
- | `surface` | `'bare' \| 'well'` | |
32
- | `size` | `'sm' \| 'md' \| 'lg'` | |
33
- | `disabled` | `boolean` | |
34
- | `readOnly` | `boolean` | |
35
- | `className` | `string` | |
36
-
37
- ## 변형 - `numberField`
38
-
39
- 슬롯 `root`, `step`, `input`
40
-
41
- | 축 | 값 | 기본 |
42
- |---|---|---|
43
- | `surface` | `bare`, `well` | `bare` |
44
- | `size` | `sm`, `md`, `lg` | `md` |
45
- | `readonly` | `true` | - |
46
-
47
- ## 함께 받는 것
48
-
49
- `tv`
50
-
51
- ## npm 의존
52
-
53
- `lucide-react`
package/popover/AGENTS.md DELETED
@@ -1,64 +0,0 @@
1
- # Popover
2
-
3
- ```
4
- 받기 npx @pantoia/ui add popover
5
- 층 ui
6
- 파일 popover/index.tsx, popover/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Popover` | `PopoverProps` |
14
- | `PopoverTrigger` | - |
15
- | `PopoverAnchor` | - |
16
- | `PopoverClose` | - |
17
- | `PopoverContent` | `PopoverContentProps` |
18
-
19
- ### `PopoverTrigger`
20
-
21
- | 이름 | 타입 | 필수 |
22
- |---|---|---|
23
- | `children` | `ReactNode` | 예 |
24
-
25
- ### `PopoverAnchor`
26
-
27
- | 이름 | 타입 | 필수 |
28
- |---|---|---|
29
- | `children` | `ReactNode` | 예 |
30
-
31
- ### `PopoverClose`
32
-
33
- | 이름 | 타입 | 필수 |
34
- |---|---|---|
35
- | `children` | `ReactNode` | 예 |
36
-
37
- ## props
38
-
39
- ### `PopoverProps`
40
-
41
- | 이름 | 타입 | 필수 |
42
- |---|---|---|
43
- | `open` | `boolean` | |
44
- | `defaultOpen` | `boolean` | |
45
- | `onOpenChange` | `(open: boolean) => void` | |
46
- | `children` | `ReactNode` | |
47
-
48
- ### `PopoverContentProps`
49
-
50
- `Omit<ComponentProps<typeof PopoverPrimitive.Content>, 'side' | 'align'>` 를 확장한다.
51
-
52
- | 이름 | 타입 | 필수 |
53
- |---|---|---|
54
- | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | |
55
- | `align` | `'start' \| 'center' \| 'end'` | |
56
- | `arrow` | `boolean` | |
57
-
58
- ## 함께 받는 것
59
-
60
- `tv`
61
-
62
- ## npm 의존
63
-
64
- `radix-ui`
package/press.css DELETED
@@ -1,37 +0,0 @@
1
- :root, .light { --pds-pressed-dim: rgba(0,23,51,0.12); }
2
- .dark { --pds-pressed-dim: rgba(209,209,253,0.14); }
3
-
4
- :root { --scale-press: 0.97; }
5
-
6
- @media (prefers-reduced-motion: reduce) {
7
- :root { --scale-press: 1; }
8
- }
9
-
10
- @utility press {
11
- position: relative;
12
-
13
- &::after {
14
- content: "";
15
- position: absolute;
16
- inset: 0;
17
- border-radius: inherit;
18
- background: var(--pds-pressed-dim);
19
- opacity: 0;
20
- pointer-events: none;
21
- transition: opacity var(--dur-state) var(--ease-state);
22
- }
23
-
24
- &:active:not(:disabled):not([aria-disabled="true"])::after,
25
- &[data-pressed]:not(:disabled):not([aria-disabled="true"])::after {
26
- opacity: 1;
27
- transition-duration: 0s;
28
- }
29
- }
30
-
31
- @utility press-shrink {
32
- &:active:not(:disabled):not([aria-disabled="true"]),
33
- &[data-pressed]:not(:disabled):not([aria-disabled="true"]) {
34
- scale: var(--scale-press);
35
- transition-duration: 0s;
36
- }
37
- }
@@ -1,81 +0,0 @@
1
- # RadioGroup
2
-
3
- ```
4
- 받기 npx @pantoia/ui add radio-group
5
- 층 ui
6
- 파일 radio-group/index.tsx, radio-group/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `RadioGroup` | `RadioGroupProps` |
14
- | `RadioGroupItem` | `RadioGroupItemProps` |
15
- | `RadioGroupItemLabel` | - |
16
- | `RadioGroupItemDescription` | - |
17
-
18
- ### `RadioGroupItemLabel`
19
-
20
- | 이름 | 타입 | 필수 |
21
- |---|---|---|
22
- | `className` | `string` | |
23
- | `children` | `ReactNode` | |
24
-
25
- ### `RadioGroupItemDescription`
26
-
27
- | 이름 | 타입 | 필수 |
28
- |---|---|---|
29
- | `className` | `string` | |
30
- | `children` | `ReactNode` | |
31
-
32
- ## props
33
-
34
- ### `RadioColor`
35
-
36
- `'neutral' | 'info' | 'success' | 'warning' | 'danger'`
37
-
38
- ### `RadioItemContext`
39
-
40
- | 이름 | 타입 | 필수 |
41
- |---|---|---|
42
- | `id` | `string` | 예 |
43
- | `labelId` | `string` | 예 |
44
- | `descriptionId` | `string` | 예 |
45
-
46
- ### `RadioGroupProps`
47
-
48
- | 이름 | 타입 | 필수 |
49
- |---|---|---|
50
- | `value` | `string` | |
51
- | `defaultValue` | `string` | |
52
- | `onValueChange` | `(value: string) => void` | |
53
- | `color` | `RadioColor` | |
54
- | `disabled` | `boolean` | |
55
- | `className` | `string` | |
56
- | `children` | `ReactNode` | |
57
-
58
- ### `RadioGroupItemProps`
59
-
60
- | 이름 | 타입 | 필수 |
61
- |---|---|---|
62
- | `value` | `string` | 예 |
63
- | `disabled` | `boolean` | |
64
- | `className` | `string` | |
65
- | `children` | `ReactNode` | |
66
-
67
- ## 변형 - `radioGroupItem`
68
-
69
- 슬롯 `root`, `control`
70
-
71
- | 축 | 값 | 기본 |
72
- |---|---|---|
73
- | `color` | `neutral`, `info`, `success`, `warning`, `danger` | `neutral` |
74
-
75
- ## 함께 받는 것
76
-
77
- `label`, `tv`
78
-
79
- ## npm 의존
80
-
81
- `radix-ui`
package/select/AGENTS.md DELETED
@@ -1,90 +0,0 @@
1
- # Select
2
-
3
- ```
4
- 받기 npx @pantoia/ui add select
5
- 층 ui
6
- 파일 select/index.tsx, select/AGENTS.md
7
- ```
8
-
9
- ## 부위
10
-
11
- | 이름 | props |
12
- |---|---|
13
- | `Select` | `SelectProps` |
14
- | `SelectGroup` | - |
15
- | `SelectItem` | - |
16
- | `SelectItemText` | - |
17
- | `SelectItemDescription` | - |
18
- | `SelectSeparator` | - |
19
-
20
- ### `SelectGroup`
21
-
22
- | 이름 | 타입 | 필수 |
23
- |---|---|---|
24
- | `label` | `string` | |
25
- | `className` | `string` | |
26
- | `children` | `ReactNode` | |
27
-
28
- ### `SelectItem`
29
-
30
- | 이름 | 타입 | 필수 |
31
- |---|---|---|
32
- | `value` | `string` | 예 |
33
- | `disabled` | `boolean` | |
34
- | `className` | `string` | |
35
- | `children` | `ReactNode` | |
36
-
37
- ### `SelectItemText`
38
-
39
- | 이름 | 타입 | 필수 |
40
- |---|---|---|
41
- | `className` | `string` | |
42
- | `children` | `ReactNode` | |
43
-
44
- ### `SelectItemDescription`
45
-
46
- | 이름 | 타입 | 필수 |
47
- |---|---|---|
48
- | `className` | `string` | |
49
- | `children` | `ReactNode` | |
50
-
51
- ### `SelectSeparator`
52
-
53
- | 이름 | 타입 | 필수 |
54
- |---|---|---|
55
- | `className` | `string` | |
56
-
57
- ## props
58
-
59
- ### `SelectProps`
60
-
61
- `Omit<ComponentProps<typeof SelectPrimitive.Trigger>, 'value' | 'defaultValue' | 'dir'>` 를 확장한다.
62
-
63
- | 이름 | 타입 | 필수 |
64
- |---|---|---|
65
- | `value` | `string` | |
66
- | `defaultValue` | `string` | |
67
- | `onValueChange` | `(value: string) => void` | |
68
- | `open` | `boolean` | |
69
- | `defaultOpen` | `boolean` | |
70
- | `onOpenChange` | `(open: boolean) => void` | |
71
- | `placeholder` | `string` | |
72
- | `surface` | `'bare' \| 'well'` | |
73
- | `size` | `'sm' \| 'md' \| 'lg'` | |
74
- | `arrow` | `boolean` | |
75
- | `children` | `ReactNode` | |
76
-
77
- ## 변형 - `selectTrigger`
78
-
79
- | 축 | 값 | 기본 |
80
- |---|---|---|
81
- | `surface` | `bare`, `well` | `bare` |
82
- | `size` | `sm`, `md`, `lg` | `md` |
83
-
84
- ## 함께 받는 것
85
-
86
- `tv`
87
-
88
- ## npm 의존
89
-
90
- `lucide-react`, `radix-ui`