@arolariu/components 0.0.35 → 0.0.36

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 (220) hide show
  1. package/changelog.md +5 -0
  2. package/dist/cjs/components/ui/accordion.cjs +1 -1
  3. package/dist/cjs/components/ui/accordion.cjs.map +1 -1
  4. package/dist/cjs/components/ui/alert-dialog.cjs +1 -1
  5. package/dist/cjs/components/ui/alert-dialog.cjs.map +1 -1
  6. package/dist/cjs/components/ui/alert.cjs +1 -1
  7. package/dist/cjs/components/ui/alert.cjs.map +1 -1
  8. package/dist/cjs/components/ui/aspect-ratio.cjs.map +1 -1
  9. package/dist/cjs/components/ui/avatar.cjs.map +1 -1
  10. package/dist/cjs/components/ui/badge.cjs +1 -1
  11. package/dist/cjs/components/ui/badge.cjs.map +1 -1
  12. package/dist/cjs/components/ui/breadcrumb.cjs.map +1 -1
  13. package/dist/cjs/components/ui/button.cjs +6 -6
  14. package/dist/cjs/components/ui/button.cjs.map +1 -1
  15. package/dist/cjs/components/ui/card.cjs +13 -3
  16. package/dist/cjs/components/ui/card.cjs.map +1 -1
  17. package/dist/cjs/components/ui/carousel.cjs.map +1 -1
  18. package/dist/cjs/components/ui/chart.cjs.map +1 -1
  19. package/dist/cjs/components/ui/checkbox.cjs +1 -1
  20. package/dist/cjs/components/ui/checkbox.cjs.map +1 -1
  21. package/dist/cjs/components/ui/collapsible.cjs +1 -1
  22. package/dist/cjs/components/ui/collapsible.cjs.map +1 -1
  23. package/dist/cjs/components/ui/command.cjs +2 -2
  24. package/dist/cjs/components/ui/command.cjs.map +1 -1
  25. package/dist/cjs/components/ui/context-menu.cjs +7 -7
  26. package/dist/cjs/components/ui/context-menu.cjs.map +1 -1
  27. package/dist/cjs/components/ui/dialog.cjs +1 -1
  28. package/dist/cjs/components/ui/dialog.cjs.map +1 -1
  29. package/dist/cjs/components/ui/drawer.cjs +3 -3
  30. package/dist/cjs/components/ui/drawer.cjs.map +1 -1
  31. package/dist/cjs/components/ui/dropdown-menu.cjs +7 -7
  32. package/dist/cjs/components/ui/dropdown-menu.cjs.map +1 -1
  33. package/dist/cjs/components/ui/form.cjs +2 -2
  34. package/dist/cjs/components/ui/form.cjs.map +1 -1
  35. package/dist/cjs/components/ui/hover-card.cjs +9 -6
  36. package/dist/cjs/components/ui/hover-card.cjs.map +1 -1
  37. package/dist/cjs/components/ui/input-otp.cjs +2 -3
  38. package/dist/cjs/components/ui/input-otp.cjs.map +1 -1
  39. package/dist/cjs/components/ui/input.cjs +1 -1
  40. package/dist/cjs/components/ui/input.cjs.map +1 -1
  41. package/dist/cjs/components/ui/label.cjs.map +1 -1
  42. package/dist/cjs/components/ui/menubar.cjs +9 -9
  43. package/dist/cjs/components/ui/menubar.cjs.map +1 -1
  44. package/dist/cjs/components/ui/navigation-menu.cjs +5 -5
  45. package/dist/cjs/components/ui/navigation-menu.cjs.map +1 -1
  46. package/dist/cjs/components/ui/pagination.cjs.map +1 -1
  47. package/dist/cjs/components/ui/popover.cjs +1 -1
  48. package/dist/cjs/components/ui/popover.cjs.map +1 -1
  49. package/dist/cjs/components/ui/progress.cjs.map +1 -1
  50. package/dist/cjs/components/ui/radio-group.cjs +1 -1
  51. package/dist/cjs/components/ui/radio-group.cjs.map +1 -1
  52. package/dist/cjs/components/ui/resizable.cjs.map +1 -1
  53. package/dist/cjs/components/ui/scroll-area.cjs +1 -1
  54. package/dist/cjs/components/ui/scroll-area.cjs.map +1 -1
  55. package/dist/cjs/components/ui/select.cjs +6 -5
  56. package/dist/cjs/components/ui/select.cjs.map +1 -1
  57. package/dist/cjs/components/ui/separator.cjs.map +1 -1
  58. package/dist/cjs/components/ui/sheet.cjs +1 -1
  59. package/dist/cjs/components/ui/sheet.cjs.map +1 -1
  60. package/dist/cjs/components/ui/sidebar.cjs +14 -11
  61. package/dist/cjs/components/ui/sidebar.cjs.map +1 -1
  62. package/dist/cjs/components/ui/skeleton.cjs +2 -1
  63. package/dist/cjs/components/ui/skeleton.cjs.map +1 -1
  64. package/dist/cjs/components/ui/slider.cjs +2 -2
  65. package/dist/cjs/components/ui/slider.cjs.map +1 -1
  66. package/dist/cjs/components/ui/sonner.cjs +5 -7
  67. package/dist/cjs/components/ui/sonner.cjs.map +1 -1
  68. package/dist/cjs/components/ui/switch.cjs +2 -2
  69. package/dist/cjs/components/ui/switch.cjs.map +1 -1
  70. package/dist/cjs/components/ui/table.cjs +2 -2
  71. package/dist/cjs/components/ui/table.cjs.map +1 -1
  72. package/dist/cjs/components/ui/tabs.cjs +3 -3
  73. package/dist/cjs/components/ui/tabs.cjs.map +1 -1
  74. package/dist/cjs/components/ui/textarea.cjs +1 -1
  75. package/dist/cjs/components/ui/textarea.cjs.map +1 -1
  76. package/dist/cjs/components/ui/toggle-group.cjs +2 -2
  77. package/dist/cjs/components/ui/toggle-group.cjs.map +1 -1
  78. package/dist/cjs/components/ui/toggle.cjs +2 -2
  79. package/dist/cjs/components/ui/toggle.cjs.map +1 -1
  80. package/dist/cjs/components/ui/tooltip.cjs +1 -1
  81. package/dist/cjs/components/ui/tooltip.cjs.map +1 -1
  82. package/dist/cjs/index.cjs +3 -0
  83. package/dist/cjs/index.css +433 -262
  84. package/dist/esm/components/ui/accordion.js +1 -1
  85. package/dist/esm/components/ui/accordion.js.map +1 -1
  86. package/dist/esm/components/ui/alert-dialog.js +1 -1
  87. package/dist/esm/components/ui/alert-dialog.js.map +1 -1
  88. package/dist/esm/components/ui/alert.js +1 -1
  89. package/dist/esm/components/ui/alert.js.map +1 -1
  90. package/dist/esm/components/ui/aspect-ratio.js.map +1 -1
  91. package/dist/esm/components/ui/avatar.js.map +1 -1
  92. package/dist/esm/components/ui/badge.js +1 -1
  93. package/dist/esm/components/ui/badge.js.map +1 -1
  94. package/dist/esm/components/ui/breadcrumb.js.map +1 -1
  95. package/dist/esm/components/ui/button.js +6 -6
  96. package/dist/esm/components/ui/button.js.map +1 -1
  97. package/dist/esm/components/ui/card.js +11 -4
  98. package/dist/esm/components/ui/card.js.map +1 -1
  99. package/dist/esm/components/ui/carousel.js.map +1 -1
  100. package/dist/esm/components/ui/chart.js.map +1 -1
  101. package/dist/esm/components/ui/checkbox.js +1 -1
  102. package/dist/esm/components/ui/checkbox.js.map +1 -1
  103. package/dist/esm/components/ui/collapsible.js +1 -1
  104. package/dist/esm/components/ui/collapsible.js.map +1 -1
  105. package/dist/esm/components/ui/command.js +2 -2
  106. package/dist/esm/components/ui/command.js.map +1 -1
  107. package/dist/esm/components/ui/context-menu.js +7 -7
  108. package/dist/esm/components/ui/context-menu.js.map +1 -1
  109. package/dist/esm/components/ui/dialog.js +1 -1
  110. package/dist/esm/components/ui/dialog.js.map +1 -1
  111. package/dist/esm/components/ui/drawer.js +3 -3
  112. package/dist/esm/components/ui/drawer.js.map +1 -1
  113. package/dist/esm/components/ui/dropdown-menu.js +7 -7
  114. package/dist/esm/components/ui/dropdown-menu.js.map +1 -1
  115. package/dist/esm/components/ui/form.js +2 -2
  116. package/dist/esm/components/ui/form.js.map +1 -1
  117. package/dist/esm/components/ui/hover-card.js +9 -6
  118. package/dist/esm/components/ui/hover-card.js.map +1 -1
  119. package/dist/esm/components/ui/input-otp.js +2 -3
  120. package/dist/esm/components/ui/input-otp.js.map +1 -1
  121. package/dist/esm/components/ui/input.js +1 -1
  122. package/dist/esm/components/ui/input.js.map +1 -1
  123. package/dist/esm/components/ui/label.js.map +1 -1
  124. package/dist/esm/components/ui/menubar.js +9 -9
  125. package/dist/esm/components/ui/menubar.js.map +1 -1
  126. package/dist/esm/components/ui/navigation-menu.js +5 -5
  127. package/dist/esm/components/ui/navigation-menu.js.map +1 -1
  128. package/dist/esm/components/ui/pagination.js.map +1 -1
  129. package/dist/esm/components/ui/popover.js +1 -1
  130. package/dist/esm/components/ui/popover.js.map +1 -1
  131. package/dist/esm/components/ui/progress.js.map +1 -1
  132. package/dist/esm/components/ui/radio-group.js +1 -1
  133. package/dist/esm/components/ui/radio-group.js.map +1 -1
  134. package/dist/esm/components/ui/resizable.js.map +1 -1
  135. package/dist/esm/components/ui/scroll-area.js +1 -1
  136. package/dist/esm/components/ui/scroll-area.js.map +1 -1
  137. package/dist/esm/components/ui/select.js +6 -5
  138. package/dist/esm/components/ui/select.js.map +1 -1
  139. package/dist/esm/components/ui/separator.js.map +1 -1
  140. package/dist/esm/components/ui/sheet.js +1 -1
  141. package/dist/esm/components/ui/sheet.js.map +1 -1
  142. package/dist/esm/components/ui/sidebar.js +14 -11
  143. package/dist/esm/components/ui/sidebar.js.map +1 -1
  144. package/dist/esm/components/ui/skeleton.js +2 -1
  145. package/dist/esm/components/ui/skeleton.js.map +1 -1
  146. package/dist/esm/components/ui/slider.js +2 -2
  147. package/dist/esm/components/ui/slider.js.map +1 -1
  148. package/dist/esm/components/ui/sonner.js +5 -7
  149. package/dist/esm/components/ui/sonner.js.map +1 -1
  150. package/dist/esm/components/ui/switch.js +2 -2
  151. package/dist/esm/components/ui/switch.js.map +1 -1
  152. package/dist/esm/components/ui/table.js +2 -2
  153. package/dist/esm/components/ui/table.js.map +1 -1
  154. package/dist/esm/components/ui/tabs.js +3 -3
  155. package/dist/esm/components/ui/tabs.js.map +1 -1
  156. package/dist/esm/components/ui/textarea.js +1 -1
  157. package/dist/esm/components/ui/textarea.js.map +1 -1
  158. package/dist/esm/components/ui/toggle-group.js +2 -2
  159. package/dist/esm/components/ui/toggle-group.js.map +1 -1
  160. package/dist/esm/components/ui/toggle.js +2 -2
  161. package/dist/esm/components/ui/toggle.js.map +1 -1
  162. package/dist/esm/components/ui/tooltip.js +1 -1
  163. package/dist/esm/components/ui/tooltip.js.map +1 -1
  164. package/dist/esm/index.css +433 -262
  165. package/dist/esm/index.js +2 -1
  166. package/dist/index.css +433 -262
  167. package/dist/index.js +2 -1
  168. package/dist/types/components/ui/card.d.ts +2 -1
  169. package/dist/types/components/ui/form.d.ts +1 -1
  170. package/dist/types/components/ui/select.d.ts +3 -1
  171. package/dist/types/components/ui/sidebar.d.ts +5 -6
  172. package/dist/types/index.d.ts +1 -1
  173. package/package.json +461 -462
  174. package/src/components/ui/accordion.tsx +3 -2
  175. package/src/components/ui/alert-dialog.tsx +160 -160
  176. package/src/components/ui/alert.tsx +3 -2
  177. package/src/components/ui/aspect-ratio.tsx +12 -12
  178. package/src/components/ui/avatar.tsx +53 -52
  179. package/src/components/ui/badge.tsx +48 -47
  180. package/src/components/ui/breadcrumb.tsx +117 -116
  181. package/src/components/ui/button.tsx +61 -60
  182. package/src/components/ui/card.tsx +97 -79
  183. package/src/components/ui/carousel.tsx +241 -240
  184. package/src/components/ui/chart.tsx +353 -352
  185. package/src/components/ui/checkbox.tsx +32 -31
  186. package/src/components/ui/collapsible.tsx +34 -34
  187. package/src/components/ui/command.tsx +177 -176
  188. package/src/components/ui/context-menu.tsx +255 -254
  189. package/src/components/ui/dialog.tsx +3 -2
  190. package/src/components/ui/drawer.tsx +138 -137
  191. package/src/components/ui/dropdown-menu.tsx +260 -259
  192. package/src/components/ui/form.tsx +174 -173
  193. package/src/components/ui/hover-card.tsx +44 -41
  194. package/src/components/ui/input-otp.tsx +77 -77
  195. package/src/components/ui/input.tsx +23 -22
  196. package/src/components/ui/label.tsx +24 -23
  197. package/src/components/ui/menubar.tsx +279 -278
  198. package/src/components/ui/navigation-menu.tsx +171 -170
  199. package/src/components/ui/pagination.tsx +129 -128
  200. package/src/components/ui/popover.tsx +48 -47
  201. package/src/components/ui/progress.tsx +31 -30
  202. package/src/components/ui/radio-group.tsx +45 -44
  203. package/src/components/ui/resizable.tsx +56 -55
  204. package/src/components/ui/scroll-area.tsx +58 -57
  205. package/src/components/ui/select.tsx +191 -183
  206. package/src/components/ui/separator.tsx +28 -27
  207. package/src/components/ui/sheet.tsx +145 -144
  208. package/src/components/ui/sidebar.tsx +729 -725
  209. package/src/components/ui/skeleton.tsx +19 -17
  210. package/src/components/ui/slider.tsx +63 -62
  211. package/src/components/ui/sonner.tsx +8 -12
  212. package/src/components/ui/switch.tsx +31 -30
  213. package/src/components/ui/table.tsx +119 -118
  214. package/src/components/ui/tabs.tsx +66 -65
  215. package/src/components/ui/textarea.tsx +20 -19
  216. package/src/components/ui/toggle-group.tsx +73 -72
  217. package/src/components/ui/toggle.tsx +47 -46
  218. package/src/components/ui/tooltip.tsx +61 -60
  219. package/src/index.css +75 -42
  220. package/src/index.ts +331 -330
@@ -1,183 +1,191 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as SelectPrimitive from "@radix-ui/react-select";
5
- import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
6
- import { cn } from "./../../lib/utils";
7
-
8
- function Select({
9
- ...props
10
- }: React.ComponentProps<typeof SelectPrimitive.Root>) {
11
- return <SelectPrimitive.Root data-slot="select" {...props} />;
12
- }
13
-
14
- function SelectGroup({
15
- ...props
16
- }: React.ComponentProps<typeof SelectPrimitive.Group>) {
17
- return <SelectPrimitive.Group data-slot="select-group" {...props} />;
18
- }
19
-
20
- function SelectValue({
21
- ...props
22
- }: React.ComponentProps<typeof SelectPrimitive.Value>) {
23
- return <SelectPrimitive.Value data-slot="select-value" {...props} />;
24
- }
25
-
26
- function SelectTrigger({
27
- className,
28
- children,
29
- ...props
30
- }: React.ComponentProps<typeof SelectPrimitive.Trigger>) {
31
- return (
32
- <SelectPrimitive.Trigger
33
- data-slot="select-trigger"
34
- className={cn(
35
- "border-neutral-200 data-placeholder:text-neutral-500 [&_svg:not([class*='text-'])]:text-neutral-500 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 flex h-9 w-full items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-2xs transition-[color,box-shadow] outline-hidden focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[slot=select-value]:*:line-clamp-1 data-[slot=select-value]:*:flex data-[slot=select-value]:*:items-center data-[slot=select-value]:*:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:border-neutral-800 dark:data-placeholder:text-neutral-400 dark:[&_svg:not([class*='text-'])]:text-neutral-400 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900",
36
- className
37
- )}
38
- {...props}
39
- >
40
- {children}
41
- <SelectPrimitive.Icon asChild>
42
- <ChevronDownIcon className="size-4 opacity-50" />
43
- </SelectPrimitive.Icon>
44
- </SelectPrimitive.Trigger>
45
- );
46
- }
47
-
48
- function SelectContent({
49
- className,
50
- children,
51
- position = "popper",
52
- ...props
53
- }: React.ComponentProps<typeof SelectPrimitive.Content>) {
54
- return (
55
- <SelectPrimitive.Portal>
56
- <SelectPrimitive.Content
57
- data-slot="select-content"
58
- className={cn(
59
- "bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-neutral-200 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
60
- position === "popper" &&
61
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
62
- className
63
- )}
64
- position={position}
65
- {...props}
66
- >
67
- <SelectScrollUpButton />
68
- <SelectPrimitive.Viewport
69
- className={cn(
70
- "p-1",
71
- position === "popper" &&
72
- "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
73
- )}
74
- >
75
- {children}
76
- </SelectPrimitive.Viewport>
77
- <SelectScrollDownButton />
78
- </SelectPrimitive.Content>
79
- </SelectPrimitive.Portal>
80
- );
81
- }
82
-
83
- function SelectLabel({
84
- className,
85
- ...props
86
- }: React.ComponentProps<typeof SelectPrimitive.Label>) {
87
- return (
88
- <SelectPrimitive.Label
89
- data-slot="select-label"
90
- className={cn("px-2 py-1.5 text-sm font-medium", className)}
91
- {...props}
92
- />
93
- );
94
- }
95
-
96
- function SelectItem({
97
- className,
98
- children,
99
- ...props
100
- }: React.ComponentProps<typeof SelectPrimitive.Item>) {
101
- return (
102
- <SelectPrimitive.Item
103
- data-slot="select-item"
104
- className={cn(
105
- "focus:bg-neutral-100 focus:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex w-full cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 last:[span]:*:flex last:[span]:*:items-center last:[span]:*:gap-2 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
106
- className
107
- )}
108
- {...props}
109
- >
110
- <span className="absolute right-2 flex size-3.5 items-center justify-center">
111
- <SelectPrimitive.ItemIndicator>
112
- <CheckIcon className="size-4" />
113
- </SelectPrimitive.ItemIndicator>
114
- </span>
115
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
116
- </SelectPrimitive.Item>
117
- );
118
- }
119
-
120
- function SelectSeparator({
121
- className,
122
- ...props
123
- }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
124
- return (
125
- <SelectPrimitive.Separator
126
- data-slot="select-separator"
127
- className={cn(
128
- "bg-neutral-200 pointer-events-none -mx-1 my-1 h-px dark:bg-neutral-800",
129
- className
130
- )}
131
- {...props}
132
- />
133
- );
134
- }
135
-
136
- function SelectScrollUpButton({
137
- className,
138
- ...props
139
- }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
140
- return (
141
- <SelectPrimitive.ScrollUpButton
142
- data-slot="select-scroll-up-button"
143
- className={cn(
144
- "flex cursor-default items-center justify-center py-1",
145
- className
146
- )}
147
- {...props}
148
- >
149
- <ChevronUpIcon className="size-4" />
150
- </SelectPrimitive.ScrollUpButton>
151
- );
152
- }
153
-
154
- function SelectScrollDownButton({
155
- className,
156
- ...props
157
- }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
158
- return (
159
- <SelectPrimitive.ScrollDownButton
160
- data-slot="select-scroll-down-button"
161
- className={cn(
162
- "flex cursor-default items-center justify-center py-1",
163
- className
164
- )}
165
- {...props}
166
- >
167
- <ChevronDownIcon className="size-4" />
168
- </SelectPrimitive.ScrollDownButton>
169
- );
170
- }
171
-
172
- export {
173
- Select,
174
- SelectContent,
175
- SelectGroup,
176
- SelectItem,
177
- SelectLabel,
178
- SelectScrollDownButton,
179
- SelectScrollUpButton,
180
- SelectSeparator,
181
- SelectTrigger,
182
- SelectValue,
183
- };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import * as SelectPrimitive from "@radix-ui/react-select";
5
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
6
+
7
+ import { cn } from "@/lib/utils";
8
+
9
+ function Select({
10
+ ...props
11
+ }: React.ComponentProps<typeof SelectPrimitive.Root>) {
12
+ return <SelectPrimitive.Root data-slot="select" {...props} />;
13
+ }
14
+
15
+ function SelectGroup({
16
+ ...props
17
+ }: React.ComponentProps<typeof SelectPrimitive.Group>) {
18
+ return <SelectPrimitive.Group data-slot="select-group" {...props} />;
19
+ }
20
+
21
+ function SelectValue({
22
+ ...props
23
+ }: React.ComponentProps<typeof SelectPrimitive.Value>) {
24
+ return <SelectPrimitive.Value data-slot="select-value" {...props} />;
25
+ }
26
+
27
+ function SelectTrigger({
28
+ className,
29
+ size = "default",
30
+ children,
31
+ ...props
32
+ }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
33
+ size?: "sm" | "default";
34
+ }) {
35
+ return (
36
+ <SelectPrimitive.Trigger
37
+ data-slot="select-trigger"
38
+ data-size={size}
39
+ className={cn(
40
+ "border-neutral-200 data-[placeholder]:text-neutral-500 [&_svg:not([class*='text-'])]:text-neutral-500 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:bg-neutral-200/30 dark:hover:bg-neutral-200/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:border-neutral-800 dark:data-[placeholder]:text-neutral-400 dark:[&_svg:not([class*='text-'])]:text-neutral-400 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:dark:bg-neutral-800/30 dark:dark:hover:bg-neutral-800/50",
41
+ className
42
+ )}
43
+ {...props}
44
+ >
45
+ {children}
46
+ <SelectPrimitive.Icon asChild>
47
+ <ChevronDownIcon className="size-4 opacity-50" />
48
+ </SelectPrimitive.Icon>
49
+ </SelectPrimitive.Trigger>
50
+ );
51
+ }
52
+
53
+ function SelectContent({
54
+ className,
55
+ children,
56
+ position = "popper",
57
+ ...props
58
+ }: React.ComponentProps<typeof SelectPrimitive.Content>) {
59
+ return (
60
+ <SelectPrimitive.Portal>
61
+ <SelectPrimitive.Content
62
+ data-slot="select-content"
63
+ className={cn(
64
+ "bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800",
65
+ position === "popper" &&
66
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
67
+ className
68
+ )}
69
+ position={position}
70
+ {...props}
71
+ >
72
+ <SelectScrollUpButton />
73
+ <SelectPrimitive.Viewport
74
+ className={cn(
75
+ "p-1",
76
+ position === "popper" &&
77
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
78
+ )}
79
+ >
80
+ {children}
81
+ </SelectPrimitive.Viewport>
82
+ <SelectScrollDownButton />
83
+ </SelectPrimitive.Content>
84
+ </SelectPrimitive.Portal>
85
+ );
86
+ }
87
+
88
+ function SelectLabel({
89
+ className,
90
+ ...props
91
+ }: React.ComponentProps<typeof SelectPrimitive.Label>) {
92
+ return (
93
+ <SelectPrimitive.Label
94
+ data-slot="select-label"
95
+ className={cn(
96
+ "text-neutral-500 px-2 py-1.5 text-xs dark:text-neutral-400",
97
+ className
98
+ )}
99
+ {...props}
100
+ />
101
+ );
102
+ }
103
+
104
+ function SelectItem({
105
+ className,
106
+ children,
107
+ ...props
108
+ }: React.ComponentProps<typeof SelectPrimitive.Item>) {
109
+ return (
110
+ <SelectPrimitive.Item
111
+ data-slot="select-item"
112
+ className={cn(
113
+ "focus:bg-neutral-100 focus:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400",
114
+ className
115
+ )}
116
+ {...props}
117
+ >
118
+ <span className="absolute right-2 flex size-3.5 items-center justify-center">
119
+ <SelectPrimitive.ItemIndicator>
120
+ <CheckIcon className="size-4" />
121
+ </SelectPrimitive.ItemIndicator>
122
+ </span>
123
+ <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
124
+ </SelectPrimitive.Item>
125
+ );
126
+ }
127
+
128
+ function SelectSeparator({
129
+ className,
130
+ ...props
131
+ }: React.ComponentProps<typeof SelectPrimitive.Separator>) {
132
+ return (
133
+ <SelectPrimitive.Separator
134
+ data-slot="select-separator"
135
+ className={cn(
136
+ "bg-neutral-200 pointer-events-none -mx-1 my-1 h-px dark:bg-neutral-800",
137
+ className
138
+ )}
139
+ {...props}
140
+ />
141
+ );
142
+ }
143
+
144
+ function SelectScrollUpButton({
145
+ className,
146
+ ...props
147
+ }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {
148
+ return (
149
+ <SelectPrimitive.ScrollUpButton
150
+ data-slot="select-scroll-up-button"
151
+ className={cn(
152
+ "flex cursor-default items-center justify-center py-1",
153
+ className
154
+ )}
155
+ {...props}
156
+ >
157
+ <ChevronUpIcon className="size-4" />
158
+ </SelectPrimitive.ScrollUpButton>
159
+ );
160
+ }
161
+
162
+ function SelectScrollDownButton({
163
+ className,
164
+ ...props
165
+ }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {
166
+ return (
167
+ <SelectPrimitive.ScrollDownButton
168
+ data-slot="select-scroll-down-button"
169
+ className={cn(
170
+ "flex cursor-default items-center justify-center py-1",
171
+ className
172
+ )}
173
+ {...props}
174
+ >
175
+ <ChevronDownIcon className="size-4" />
176
+ </SelectPrimitive.ScrollDownButton>
177
+ );
178
+ }
179
+
180
+ export {
181
+ Select,
182
+ SelectContent,
183
+ SelectGroup,
184
+ SelectItem,
185
+ SelectLabel,
186
+ SelectScrollDownButton,
187
+ SelectScrollUpButton,
188
+ SelectSeparator,
189
+ SelectTrigger,
190
+ SelectValue,
191
+ };
@@ -1,27 +1,28 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as SeparatorPrimitive from "@radix-ui/react-separator";
5
- import { cn } from "./../../lib/utils";
6
-
7
- function Separator({
8
- className,
9
- orientation = "horizontal",
10
- decorative = true,
11
- ...props
12
- }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
13
- return (
14
- <SeparatorPrimitive.Root
15
- data-slot="separator-root"
16
- decorative={decorative}
17
- orientation={orientation}
18
- className={cn(
19
- "bg-neutral-200 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px dark:bg-neutral-800",
20
- className
21
- )}
22
- {...props}
23
- />
24
- );
25
- }
26
-
27
- export { Separator };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
5
+
6
+ import { cn } from "@/lib/utils";
7
+
8
+ function Separator({
9
+ className,
10
+ orientation = "horizontal",
11
+ decorative = true,
12
+ ...props
13
+ }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
14
+ return (
15
+ <SeparatorPrimitive.Root
16
+ data-slot="separator-root"
17
+ decorative={decorative}
18
+ orientation={orientation}
19
+ className={cn(
20
+ "bg-neutral-200 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px dark:bg-neutral-800",
21
+ className
22
+ )}
23
+ {...props}
24
+ />
25
+ );
26
+ }
27
+
28
+ export { Separator };