@codefast/ui 0.0.50 → 0.0.52

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 (281) hide show
  1. package/dist/{chunk-ZTEJNUH6.js → chunk-46W6RAYD.js} +1 -1
  2. package/dist/chunk-46W6RAYD.js.map +1 -0
  3. package/dist/{chunk-CERSQE5J.js → chunk-4JHGPRLG.js} +1 -1
  4. package/dist/chunk-4JHGPRLG.js.map +1 -0
  5. package/dist/{chunk-I6QCJDIF.mjs → chunk-5RENVAXH.mjs} +1 -1
  6. package/dist/chunk-5RENVAXH.mjs.map +1 -0
  7. package/dist/{chunk-47CSACCM.mjs → chunk-7ABWX5CF.mjs} +2 -2
  8. package/dist/chunk-7ABWX5CF.mjs.map +1 -0
  9. package/dist/{chunk-XHNT6PVI.mjs → chunk-BM5KYF6Y.mjs} +1 -1
  10. package/dist/chunk-BM5KYF6Y.mjs.map +1 -0
  11. package/dist/{chunk-P5AV3QU7.mjs → chunk-BNKSZEF2.mjs} +1 -1
  12. package/dist/chunk-BNKSZEF2.mjs.map +1 -0
  13. package/dist/{chunk-SDGUDONZ.js → chunk-DCDB56BO.js} +1 -1
  14. package/dist/chunk-DCDB56BO.js.map +1 -0
  15. package/dist/{chunk-6FL3EBDQ.mjs → chunk-HMD2ZU33.mjs} +1 -1
  16. package/dist/chunk-HMD2ZU33.mjs.map +1 -0
  17. package/dist/{chunk-JOBEKA4M.mjs → chunk-K63K4LTH.mjs} +2 -2
  18. package/dist/chunk-K63K4LTH.mjs.map +1 -0
  19. package/dist/{chunk-VXPAGNPJ.js → chunk-LJSD47ZL.js} +1 -1
  20. package/dist/chunk-LJSD47ZL.js.map +1 -0
  21. package/dist/{chunk-GDMHMSJ2.mjs → chunk-MFYACCZV.mjs} +1 -1
  22. package/dist/chunk-MFYACCZV.mjs.map +1 -0
  23. package/dist/{chunk-LG7ACTRE.js → chunk-PRCS3RWN.js} +1 -1
  24. package/dist/chunk-PRCS3RWN.js.map +1 -0
  25. package/dist/{chunk-OP6Q7VT5.js → chunk-RHFF4JNH.js} +1 -1
  26. package/dist/chunk-RHFF4JNH.js.map +1 -0
  27. package/dist/{chunk-SCPFGC2X.js → chunk-SCXRD727.js} +1 -1
  28. package/dist/chunk-SCXRD727.js.map +1 -0
  29. package/dist/{chunk-X3LRJQM3.js → chunk-VZVI3OHH.js} +2 -2
  30. package/dist/chunk-VZVI3OHH.js.map +1 -0
  31. package/dist/{chunk-UYRRHPPH.js → chunk-X4BEEJEW.js} +2 -2
  32. package/dist/chunk-X4BEEJEW.js.map +1 -0
  33. package/dist/{chunk-PWF46YXQ.mjs → chunk-Y2GMHG3Z.mjs} +1 -1
  34. package/dist/chunk-Y2GMHG3Z.mjs.map +1 -0
  35. package/dist/{chunk-MU2MZ434.mjs → chunk-ZIB4ZTST.mjs} +1 -1
  36. package/dist/chunk-ZIB4ZTST.mjs.map +1 -0
  37. package/dist/plugin/animate.plugin.js +1 -1
  38. package/dist/plugin/animate.plugin.mjs +1 -1
  39. package/dist/react/accordion.js.map +1 -1
  40. package/dist/react/accordion.mjs.map +1 -1
  41. package/dist/react/alert-dialog.js +1 -1
  42. package/dist/react/alert-dialog.js.map +1 -1
  43. package/dist/react/alert-dialog.mjs +1 -1
  44. package/dist/react/alert-dialog.mjs.map +1 -1
  45. package/dist/react/alert.js.map +1 -1
  46. package/dist/react/alert.mjs.map +1 -1
  47. package/dist/react/aspect-ratio.d.mts +1 -1
  48. package/dist/react/aspect-ratio.d.ts +1 -1
  49. package/dist/react/aspect-ratio.js.map +1 -1
  50. package/dist/react/aspect-ratio.mjs.map +1 -1
  51. package/dist/react/avatar.js.map +1 -1
  52. package/dist/react/avatar.mjs.map +1 -1
  53. package/dist/react/badge.js.map +1 -1
  54. package/dist/react/badge.mjs.map +1 -1
  55. package/dist/react/blockquote.js.map +1 -1
  56. package/dist/react/blockquote.mjs.map +1 -1
  57. package/dist/react/box.js.map +1 -1
  58. package/dist/react/box.mjs.map +1 -1
  59. package/dist/react/breadcrumb.js.map +1 -1
  60. package/dist/react/breadcrumb.mjs.map +1 -1
  61. package/dist/react/button.js +1 -1
  62. package/dist/react/button.mjs +1 -1
  63. package/dist/react/calendar.js +1 -1
  64. package/dist/react/calendar.js.map +1 -1
  65. package/dist/react/calendar.mjs +1 -1
  66. package/dist/react/calendar.mjs.map +1 -1
  67. package/dist/react/card.js.map +1 -1
  68. package/dist/react/card.mjs.map +1 -1
  69. package/dist/react/carousel.js +1 -1
  70. package/dist/react/carousel.js.map +1 -1
  71. package/dist/react/carousel.mjs +1 -1
  72. package/dist/react/carousel.mjs.map +1 -1
  73. package/dist/react/checkbox-cards.js +1 -1
  74. package/dist/react/checkbox-cards.js.map +1 -1
  75. package/dist/react/checkbox-cards.mjs +1 -1
  76. package/dist/react/checkbox-cards.mjs.map +1 -1
  77. package/dist/react/checkbox-group.js +1 -1
  78. package/dist/react/checkbox-group.js.map +1 -1
  79. package/dist/react/checkbox-group.mjs +1 -1
  80. package/dist/react/checkbox-group.mjs.map +1 -1
  81. package/dist/react/checkbox-group.primitive.js +1 -1
  82. package/dist/react/checkbox-group.primitive.mjs +1 -1
  83. package/dist/react/checkbox.js.map +1 -1
  84. package/dist/react/checkbox.mjs.map +1 -1
  85. package/dist/react/code.js.map +1 -1
  86. package/dist/react/code.mjs.map +1 -1
  87. package/dist/react/collapsible.js.map +1 -1
  88. package/dist/react/collapsible.mjs.map +1 -1
  89. package/dist/react/command.d.mts +8 -8
  90. package/dist/react/command.d.ts +8 -8
  91. package/dist/react/command.js +1 -1
  92. package/dist/react/command.js.map +1 -1
  93. package/dist/react/command.mjs +1 -1
  94. package/dist/react/command.mjs.map +1 -1
  95. package/dist/react/container.js.map +1 -1
  96. package/dist/react/container.mjs.map +1 -1
  97. package/dist/react/context-menu.js.map +1 -1
  98. package/dist/react/context-menu.mjs.map +1 -1
  99. package/dist/react/data-table.d.mts +1 -1
  100. package/dist/react/data-table.d.ts +1 -1
  101. package/dist/react/data-table.js +1 -1
  102. package/dist/react/data-table.js.map +1 -1
  103. package/dist/react/data-table.mjs +1 -1
  104. package/dist/react/data-table.mjs.map +1 -1
  105. package/dist/react/dialog.js +1 -1
  106. package/dist/react/dialog.mjs +1 -1
  107. package/dist/react/drawer.js.map +1 -1
  108. package/dist/react/drawer.mjs.map +1 -1
  109. package/dist/react/dropdown-menu.js +1 -1
  110. package/dist/react/dropdown-menu.mjs +1 -1
  111. package/dist/react/em.js.map +1 -1
  112. package/dist/react/em.mjs.map +1 -1
  113. package/dist/react/form.js +1 -1
  114. package/dist/react/form.js.map +1 -1
  115. package/dist/react/form.mjs +1 -1
  116. package/dist/react/form.mjs.map +1 -1
  117. package/dist/react/heading.js.map +1 -1
  118. package/dist/react/heading.mjs.map +1 -1
  119. package/dist/react/hover-card.js.map +1 -1
  120. package/dist/react/hover-card.mjs.map +1 -1
  121. package/dist/react/input-otp.js.map +1 -1
  122. package/dist/react/input-otp.mjs.map +1 -1
  123. package/dist/react/input.js.map +1 -1
  124. package/dist/react/input.mjs.map +1 -1
  125. package/dist/react/kbd.js.map +1 -1
  126. package/dist/react/kbd.mjs.map +1 -1
  127. package/dist/react/label.js +1 -1
  128. package/dist/react/label.mjs +1 -1
  129. package/dist/react/menubar.js.map +1 -1
  130. package/dist/react/menubar.mjs.map +1 -1
  131. package/dist/react/navigation-menu.js.map +1 -1
  132. package/dist/react/navigation-menu.mjs.map +1 -1
  133. package/dist/react/pagination.js +1 -1
  134. package/dist/react/pagination.js.map +1 -1
  135. package/dist/react/pagination.mjs +1 -1
  136. package/dist/react/pagination.mjs.map +1 -1
  137. package/dist/react/popover.js.map +1 -1
  138. package/dist/react/popover.mjs.map +1 -1
  139. package/dist/react/pre.js.map +1 -1
  140. package/dist/react/pre.mjs.map +1 -1
  141. package/dist/react/progress.js.map +1 -1
  142. package/dist/react/progress.mjs.map +1 -1
  143. package/dist/react/quote.js.map +1 -1
  144. package/dist/react/quote.mjs.map +1 -1
  145. package/dist/react/radio-cards.js.map +1 -1
  146. package/dist/react/radio-cards.mjs.map +1 -1
  147. package/dist/react/radio-group.js.map +1 -1
  148. package/dist/react/radio-group.mjs.map +1 -1
  149. package/dist/react/radio.js.map +1 -1
  150. package/dist/react/radio.mjs.map +1 -1
  151. package/dist/react/resizable.js.map +1 -1
  152. package/dist/react/resizable.mjs.map +1 -1
  153. package/dist/react/scroll-area.js.map +1 -1
  154. package/dist/react/scroll-area.mjs.map +1 -1
  155. package/dist/react/section.js.map +1 -1
  156. package/dist/react/section.mjs.map +1 -1
  157. package/dist/react/select.js +1 -1
  158. package/dist/react/select.mjs +1 -1
  159. package/dist/react/separator.js.map +1 -1
  160. package/dist/react/separator.mjs.map +1 -1
  161. package/dist/react/sheet.js +1 -1
  162. package/dist/react/sheet.js.map +1 -1
  163. package/dist/react/sheet.mjs +1 -1
  164. package/dist/react/sheet.mjs.map +1 -1
  165. package/dist/react/skeleton.js.map +1 -1
  166. package/dist/react/skeleton.mjs.map +1 -1
  167. package/dist/react/slider.js.map +1 -1
  168. package/dist/react/slider.mjs.map +1 -1
  169. package/dist/react/sonner.js.map +1 -1
  170. package/dist/react/sonner.mjs.map +1 -1
  171. package/dist/react/spinner.js +1 -1
  172. package/dist/react/spinner.mjs +1 -1
  173. package/dist/react/strong.js.map +1 -1
  174. package/dist/react/strong.mjs.map +1 -1
  175. package/dist/react/switch.js.map +1 -1
  176. package/dist/react/switch.mjs.map +1 -1
  177. package/dist/react/table.js.map +1 -1
  178. package/dist/react/table.mjs.map +1 -1
  179. package/dist/react/tabs.js.map +1 -1
  180. package/dist/react/tabs.mjs.map +1 -1
  181. package/dist/react/text.js.map +1 -1
  182. package/dist/react/text.mjs.map +1 -1
  183. package/dist/react/textarea.js.map +1 -1
  184. package/dist/react/textarea.mjs.map +1 -1
  185. package/dist/react/toggle-group.js +1 -1
  186. package/dist/react/toggle-group.js.map +1 -1
  187. package/dist/react/toggle-group.mjs +1 -1
  188. package/dist/react/toggle-group.mjs.map +1 -1
  189. package/dist/react/toggle.js +1 -1
  190. package/dist/react/toggle.mjs +1 -1
  191. package/dist/react/tooltip.js.map +1 -1
  192. package/dist/react/tooltip.mjs.map +1 -1
  193. package/dist/styles.css.map +1 -1
  194. package/dist/tailwind.config.js +1 -1
  195. package/dist/tailwind.config.js.map +1 -1
  196. package/dist/tailwind.config.mjs +1 -1
  197. package/dist/tailwind.config.mjs.map +1 -1
  198. package/package.json +6 -6
  199. package/plugin/animate.plugin.ts +2 -5
  200. package/src/react/accordion.tsx +36 -60
  201. package/src/react/alert-dialog.tsx +57 -125
  202. package/src/react/alert.tsx +16 -42
  203. package/src/react/aspect-ratio.tsx +2 -4
  204. package/src/react/avatar.tsx +15 -43
  205. package/src/react/badge.tsx +3 -8
  206. package/src/react/blockquote.tsx +5 -8
  207. package/src/react/box.tsx +4 -6
  208. package/src/react/breadcrumb.tsx +17 -50
  209. package/src/react/button.tsx +5 -20
  210. package/src/react/calendar.tsx +5 -22
  211. package/src/react/card.tsx +22 -56
  212. package/src/react/carousel.tsx +20 -76
  213. package/src/react/checkbox-cards.tsx +28 -55
  214. package/src/react/checkbox-group.primitive.tsx +24 -78
  215. package/src/react/checkbox-group.tsx +26 -49
  216. package/src/react/checkbox.tsx +15 -19
  217. package/src/react/code.tsx +4 -6
  218. package/src/react/collapsible.tsx +19 -29
  219. package/src/react/command.tsx +69 -134
  220. package/src/react/container.tsx +5 -9
  221. package/src/react/context-menu.tsx +146 -224
  222. package/src/react/data-table.tsx +16 -44
  223. package/src/react/dialog.tsx +45 -90
  224. package/src/react/drawer.tsx +44 -91
  225. package/src/react/dropdown-menu.tsx +126 -194
  226. package/src/react/em.tsx +4 -6
  227. package/src/react/form.tsx +49 -84
  228. package/src/react/heading.tsx +4 -6
  229. package/src/react/hover-card.tsx +22 -38
  230. package/src/react/input-otp.tsx +26 -37
  231. package/src/react/input.tsx +6 -16
  232. package/src/react/kbd.tsx +14 -16
  233. package/src/react/label.tsx +11 -12
  234. package/src/react/menubar.tsx +129 -208
  235. package/src/react/navigation-menu.tsx +105 -147
  236. package/src/react/pagination.tsx +18 -50
  237. package/src/react/popover.tsx +25 -40
  238. package/src/react/pre.tsx +4 -6
  239. package/src/react/progress.tsx +15 -22
  240. package/src/react/quote.tsx +4 -6
  241. package/src/react/radio-cards.tsx +7 -27
  242. package/src/react/radio-group.tsx +7 -27
  243. package/src/react/radio.tsx +14 -18
  244. package/src/react/resizable.tsx +2 -7
  245. package/src/react/scroll-area.tsx +30 -52
  246. package/src/react/section.tsx +4 -6
  247. package/src/react/select.tsx +108 -161
  248. package/src/react/separator.tsx +3 -12
  249. package/src/react/sheet.tsx +21 -71
  250. package/src/react/skeleton.tsx +1 -6
  251. package/src/react/slider.tsx +20 -27
  252. package/src/react/sonner.tsx +2 -4
  253. package/src/react/spinner.tsx +2 -7
  254. package/src/react/strong.tsx +4 -6
  255. package/src/react/switch.tsx +12 -14
  256. package/src/react/table.tsx +37 -82
  257. package/src/react/tabs.tsx +34 -44
  258. package/src/react/text.tsx +5 -8
  259. package/src/react/textarea.tsx +12 -14
  260. package/src/react/toggle-group.tsx +16 -57
  261. package/src/react/toggle.tsx +8 -15
  262. package/src/react/tooltip.tsx +24 -39
  263. package/tailwind.config.ts +2 -2
  264. package/dist/chunk-47CSACCM.mjs.map +0 -1
  265. package/dist/chunk-6FL3EBDQ.mjs.map +0 -1
  266. package/dist/chunk-CERSQE5J.js.map +0 -1
  267. package/dist/chunk-GDMHMSJ2.mjs.map +0 -1
  268. package/dist/chunk-I6QCJDIF.mjs.map +0 -1
  269. package/dist/chunk-JOBEKA4M.mjs.map +0 -1
  270. package/dist/chunk-LG7ACTRE.js.map +0 -1
  271. package/dist/chunk-MU2MZ434.mjs.map +0 -1
  272. package/dist/chunk-OP6Q7VT5.js.map +0 -1
  273. package/dist/chunk-P5AV3QU7.mjs.map +0 -1
  274. package/dist/chunk-PWF46YXQ.mjs.map +0 -1
  275. package/dist/chunk-SCPFGC2X.js.map +0 -1
  276. package/dist/chunk-SDGUDONZ.js.map +0 -1
  277. package/dist/chunk-UYRRHPPH.js.map +0 -1
  278. package/dist/chunk-VXPAGNPJ.js.map +0 -1
  279. package/dist/chunk-X3LRJQM3.js.map +0 -1
  280. package/dist/chunk-XHNT6PVI.mjs.map +0 -1
  281. package/dist/chunk-ZTEJNUH6.js.map +0 -1
@@ -9,21 +9,11 @@ import { cn } from '../lib/utils';
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
11
  type RadioGroupElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;
12
- type RadioGroupProps = React.ComponentPropsWithoutRef<
13
- typeof RadioGroupPrimitive.Root
14
- >;
12
+ type RadioGroupProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
15
13
 
16
- const RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(
17
- ({ className, ...props }, ref) => {
18
- return (
19
- <RadioGroupPrimitive.Root
20
- className={cn('grid gap-2', className)}
21
- {...props}
22
- ref={ref}
23
- />
24
- );
25
- },
26
- );
14
+ const RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(({ className, ...props }, ref) => {
15
+ return <RadioGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />;
16
+ });
27
17
 
28
18
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
29
19
 
@@ -32,14 +22,9 @@ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
32
22
  * -------------------------------------------------------------------------- */
33
23
 
34
24
  type RadioGroupItemElement = React.ElementRef<typeof RadioGroupPrimitive.Item>;
35
- type RadioGroupItemProps = React.ComponentPropsWithoutRef<
36
- typeof RadioGroupPrimitive.Item
37
- >;
25
+ type RadioGroupItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
38
26
 
39
- const RadioGroupItem = React.forwardRef<
40
- RadioGroupItemElement,
41
- RadioGroupItemProps
42
- >(({ className, ...props }, ref) => {
27
+ const RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(({ className, ...props }, ref) => {
43
28
  return (
44
29
  <RadioGroupPrimitive.Item
45
30
  ref={ref}
@@ -60,9 +45,4 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
60
45
  * Exports
61
46
  * -------------------------------------------------------------------------- */
62
47
 
63
- export {
64
- RadioGroup,
65
- RadioGroupItem,
66
- type RadioGroupProps,
67
- type RadioGroupItemProps,
68
- };
48
+ export { RadioGroup, RadioGroupItem, type RadioGroupProps, type RadioGroupItemProps };
@@ -14,24 +14,20 @@ interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
14
14
  onValueChange?: (value: string) => void;
15
15
  }
16
16
 
17
- const Radio = React.forwardRef<RadioElement, RadioProps>(
18
- ({ className, onValueChange, onChange, ...props }, ref) => {
19
- return (
20
- <input
21
- ref={ref}
22
- type="radio"
23
- onChange={composeEventHandlers(onChange, (event) =>
24
- onValueChange?.(event.currentTarget.value),
25
- )}
26
- className={cn(
27
- 'before:border-input hover:before:border-primary checked:before:border-primary checked:after:bg-primary peer relative flex appearance-none items-center justify-center rounded-full before:size-4 before:rounded-full before:border checked:after:absolute checked:after:size-2.5 checked:after:rounded-full focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
28
- className,
29
- )}
30
- {...props}
31
- />
32
- );
33
- },
34
- );
17
+ const Radio = React.forwardRef<RadioElement, RadioProps>(({ className, onValueChange, onChange, ...props }, ref) => {
18
+ return (
19
+ <input
20
+ ref={ref}
21
+ type="radio"
22
+ onChange={composeEventHandlers(onChange, (event) => onValueChange?.(event.currentTarget.value))}
23
+ className={cn(
24
+ 'before:border-input hover:before:border-primary checked:before:border-primary checked:after:bg-primary peer relative flex appearance-none items-center justify-center rounded-full before:size-4 before:rounded-full before:border checked:after:absolute checked:after:size-2.5 checked:after:rounded-full focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
25
+ className,
26
+ )}
27
+ {...props}
28
+ />
29
+ );
30
+ });
35
31
 
36
32
  Radio.displayName = 'Radio';
37
33
 
@@ -12,15 +12,10 @@ import { cn } from '../lib/utils';
12
12
  function ResizablePanelGroup({
13
13
  className,
14
14
  ...props
15
- }: React.ComponentProps<
16
- typeof ResizablePrimitive.PanelGroup
17
- >): React.JSX.Element {
15
+ }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>): React.JSX.Element {
18
16
  return (
19
17
  <ResizablePrimitive.PanelGroup
20
- className={cn(
21
- 'flex size-full data-[panel-group-direction=vertical]:flex-col',
22
- className,
23
- )}
18
+ className={cn('flex size-full data-[panel-group-direction=vertical]:flex-col', className)}
24
19
  {...props}
25
20
  />
26
21
  );
@@ -9,26 +9,16 @@ import { cn } from '../lib/utils';
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
11
  type ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Root>;
12
- type ScrollAreaProps = React.ComponentPropsWithoutRef<
13
- typeof ScrollAreaPrimitive.Root
14
- >;
15
-
16
- const ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>(
17
- ({ children, className, ...props }, ref) => (
18
- <ScrollAreaPrimitive.Root
19
- ref={ref}
20
- className={cn('relative overflow-hidden', className)}
21
- {...props}
22
- >
23
- <ScrollAreaPrimitive.Viewport className="size-full rounded-[inherit]">
24
- {children}
25
- </ScrollAreaPrimitive.Viewport>
26
- <ScrollAreaScrollbar orientation="vertical" />
27
- <ScrollAreaScrollbar orientation="horizontal" />
28
- <ScrollAreaPrimitive.Corner />
29
- </ScrollAreaPrimitive.Root>
30
- ),
31
- );
12
+ type ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>;
13
+
14
+ const ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>(({ children, className, ...props }, ref) => (
15
+ <ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>
16
+ <ScrollAreaPrimitive.Viewport className="size-full rounded-[inherit]">{children}</ScrollAreaPrimitive.Viewport>
17
+ <ScrollAreaScrollbar orientation="vertical" />
18
+ <ScrollAreaScrollbar orientation="horizontal" />
19
+ <ScrollAreaPrimitive.Corner />
20
+ </ScrollAreaPrimitive.Root>
21
+ ));
32
22
 
33
23
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
34
24
 
@@ -36,33 +26,26 @@ ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
36
26
  * Component: ScrollAreaScrollbar
37
27
  * -------------------------------------------------------------------------- */
38
28
 
39
- type ScrollAreaScrollbarElement = React.ElementRef<
40
- typeof ScrollAreaPrimitive.Scrollbar
41
- >;
42
- type ScrollAreaScrollbarProps = React.ComponentPropsWithoutRef<
43
- typeof ScrollAreaPrimitive.Scrollbar
44
- >;
29
+ type ScrollAreaScrollbarElement = React.ElementRef<typeof ScrollAreaPrimitive.Scrollbar>;
30
+ type ScrollAreaScrollbarProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>;
45
31
 
46
- const ScrollAreaScrollbar = React.forwardRef<
47
- ScrollAreaScrollbarElement,
48
- ScrollAreaScrollbarProps
49
- >(({ className, orientation = 'vertical', ...props }, ref) => (
50
- <ScrollAreaPrimitive.Scrollbar
51
- ref={ref}
52
- orientation={orientation}
53
- className={cn(
54
- 'flex touch-none select-none transition',
55
- orientation === 'vertical' &&
56
- 'h-full w-2.5 border-l border-l-transparent p-px',
57
- orientation === 'horizontal' &&
58
- 'h-2.5 flex-col border-t border-t-transparent p-px',
59
- className,
60
- )}
61
- {...props}
62
- >
63
- <ScrollAreaPrimitive.ScrollAreaThumb className="bg-border relative flex-1 rounded-full" />
64
- </ScrollAreaPrimitive.Scrollbar>
65
- ));
32
+ const ScrollAreaScrollbar = React.forwardRef<ScrollAreaScrollbarElement, ScrollAreaScrollbarProps>(
33
+ ({ className, orientation = 'vertical', ...props }, ref) => (
34
+ <ScrollAreaPrimitive.Scrollbar
35
+ ref={ref}
36
+ orientation={orientation}
37
+ className={cn(
38
+ 'flex touch-none select-none transition',
39
+ orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-px',
40
+ orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-px',
41
+ className,
42
+ )}
43
+ {...props}
44
+ >
45
+ <ScrollAreaPrimitive.ScrollAreaThumb className="bg-border relative flex-1 rounded-full" />
46
+ </ScrollAreaPrimitive.Scrollbar>
47
+ ),
48
+ );
66
49
 
67
50
  ScrollAreaScrollbar.displayName = ScrollAreaPrimitive.Scrollbar.displayName;
68
51
 
@@ -70,9 +53,4 @@ ScrollAreaScrollbar.displayName = ScrollAreaPrimitive.Scrollbar.displayName;
70
53
  * Exports
71
54
  * -------------------------------------------------------------------------- */
72
55
 
73
- export {
74
- ScrollArea,
75
- ScrollAreaScrollbar,
76
- type ScrollAreaProps,
77
- type ScrollAreaScrollbarProps,
78
- };
56
+ export { ScrollArea, ScrollAreaScrollbar, type ScrollAreaProps, type ScrollAreaScrollbarProps };
@@ -11,13 +11,11 @@ interface SectionProps extends React.HTMLAttributes<HTMLElement> {
11
11
  asChild?: boolean;
12
12
  }
13
13
 
14
- const Section = React.forwardRef<SectionElement, SectionProps>(
15
- ({ asChild, ...props }, ref) => {
16
- const Component = asChild ? Slot : 'section';
14
+ const Section = React.forwardRef<SectionElement, SectionProps>(({ asChild, ...props }, ref) => {
15
+ const Component = asChild ? Slot : 'section';
17
16
 
18
- return <Component ref={ref} {...props} />;
19
- },
20
- );
17
+ return <Component ref={ref} {...props} />;
18
+ });
21
19
 
22
20
  Section.displayName = 'Section';
23
21
 
@@ -1,12 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import * as React from 'react';
4
- import {
5
- CaretSortIcon,
6
- CheckIcon,
7
- ChevronDownIcon,
8
- ChevronUpIcon,
9
- } from '@radix-ui/react-icons';
4
+ import { CaretSortIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon } from '@radix-ui/react-icons';
10
5
  import * as SelectPrimitive from '@radix-ui/react-select';
11
6
  import { cn } from '../lib/utils';
12
7
 
@@ -21,18 +16,14 @@ const Select = SelectPrimitive.Root;
21
16
  * Component: SelectGroup
22
17
  * -------------------------------------------------------------------------- */
23
18
 
24
- type SelectGroupProps = React.ComponentPropsWithoutRef<
25
- typeof SelectPrimitive.Group
26
- >;
19
+ type SelectGroupProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;
27
20
  const SelectGroup = SelectPrimitive.Group;
28
21
 
29
22
  /* -----------------------------------------------------------------------------
30
23
  * Component: SelectValue
31
24
  * -------------------------------------------------------------------------- */
32
25
 
33
- type SelectValueProps = React.ComponentPropsWithoutRef<
34
- typeof SelectPrimitive.Value
35
- >;
26
+ type SelectValueProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;
36
27
  const SelectValue = SelectPrimitive.Value;
37
28
 
38
29
  /* -----------------------------------------------------------------------------
@@ -40,28 +31,25 @@ const SelectValue = SelectPrimitive.Value;
40
31
  * -------------------------------------------------------------------------- */
41
32
 
42
33
  type SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;
43
- type SelectTriggerProps = React.ComponentPropsWithoutRef<
44
- typeof SelectPrimitive.Trigger
45
- >;
46
-
47
- const SelectTrigger = React.forwardRef<
48
- SelectTriggerElement,
49
- SelectTriggerProps
50
- >(({ children, className, ...props }, ref) => (
51
- <SelectPrimitive.Trigger
52
- ref={ref}
53
- className={cn(
54
- 'border-input placeholder:text-muted-foreground flex h-10 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:truncate',
55
- className,
56
- )}
57
- {...props}
58
- >
59
- {children}
60
- <SelectPrimitive.Icon asChild>
61
- <CaretSortIcon className="size-4 opacity-50" />
62
- </SelectPrimitive.Icon>
63
- </SelectPrimitive.Trigger>
64
- ));
34
+ type SelectTriggerProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>;
35
+
36
+ const SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(
37
+ ({ children, className, ...props }, ref) => (
38
+ <SelectPrimitive.Trigger
39
+ ref={ref}
40
+ className={cn(
41
+ 'border-input placeholder:text-muted-foreground flex h-10 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:truncate',
42
+ className,
43
+ )}
44
+ {...props}
45
+ >
46
+ {children}
47
+ <SelectPrimitive.Icon asChild>
48
+ <CaretSortIcon className="size-4 opacity-50" />
49
+ </SelectPrimitive.Icon>
50
+ </SelectPrimitive.Trigger>
51
+ ),
52
+ );
65
53
 
66
54
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
67
55
 
@@ -69,28 +57,20 @@ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
69
57
  * Component: SelectScrollUpButton
70
58
  * -------------------------------------------------------------------------- */
71
59
 
72
- type SelectScrollUpButtonElement = React.ElementRef<
73
- typeof SelectPrimitive.ScrollUpButton
74
- >;
75
- type SelectScrollUpButtonProps = React.ComponentPropsWithoutRef<
76
- typeof SelectPrimitive.ScrollUpButton
77
- >;
78
-
79
- const SelectScrollUpButton = React.forwardRef<
80
- SelectScrollUpButtonElement,
81
- SelectScrollUpButtonProps
82
- >(({ className, ...props }, ref) => (
83
- <SelectPrimitive.ScrollUpButton
84
- ref={ref}
85
- className={cn(
86
- 'flex cursor-pointer items-center justify-center py-1',
87
- className,
88
- )}
89
- {...props}
90
- >
91
- <ChevronUpIcon />
92
- </SelectPrimitive.ScrollUpButton>
93
- ));
60
+ type SelectScrollUpButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollUpButton>;
61
+ type SelectScrollUpButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>;
62
+
63
+ const SelectScrollUpButton = React.forwardRef<SelectScrollUpButtonElement, SelectScrollUpButtonProps>(
64
+ ({ className, ...props }, ref) => (
65
+ <SelectPrimitive.ScrollUpButton
66
+ ref={ref}
67
+ className={cn('flex cursor-pointer items-center justify-center py-1', className)}
68
+ {...props}
69
+ >
70
+ <ChevronUpIcon />
71
+ </SelectPrimitive.ScrollUpButton>
72
+ ),
73
+ );
94
74
 
95
75
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
96
76
 
@@ -98,71 +78,59 @@ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
98
78
  * Component: SelectScrollDownButton
99
79
  * -------------------------------------------------------------------------- */
100
80
 
101
- type SelectScrollDownButtonElement = React.ElementRef<
102
- typeof SelectPrimitive.ScrollDownButton
103
- >;
104
- type SelectScrollDownButtonProps = React.ComponentPropsWithoutRef<
105
- typeof SelectPrimitive.ScrollDownButton
106
- >;
107
-
108
- const SelectScrollDownButton = React.forwardRef<
109
- SelectScrollDownButtonElement,
110
- SelectScrollDownButtonProps
111
- >(({ className, ...props }, ref) => (
112
- <SelectPrimitive.ScrollDownButton
113
- ref={ref}
114
- className={cn(
115
- 'flex cursor-pointer items-center justify-center py-1',
116
- className,
117
- )}
118
- {...props}
119
- >
120
- <ChevronDownIcon />
121
- </SelectPrimitive.ScrollDownButton>
122
- ));
81
+ type SelectScrollDownButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollDownButton>;
82
+ type SelectScrollDownButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>;
83
+
84
+ const SelectScrollDownButton = React.forwardRef<SelectScrollDownButtonElement, SelectScrollDownButtonProps>(
85
+ ({ className, ...props }, ref) => (
86
+ <SelectPrimitive.ScrollDownButton
87
+ ref={ref}
88
+ className={cn('flex cursor-pointer items-center justify-center py-1', className)}
89
+ {...props}
90
+ >
91
+ <ChevronDownIcon />
92
+ </SelectPrimitive.ScrollDownButton>
93
+ ),
94
+ );
123
95
 
124
- SelectScrollDownButton.displayName =
125
- SelectPrimitive.ScrollDownButton.displayName;
96
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
126
97
 
127
98
  /* -----------------------------------------------------------------------------
128
99
  * Component: SelectContent
129
100
  * -------------------------------------------------------------------------- */
130
101
 
131
102
  type SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;
132
- type SelectContentProps = React.ComponentPropsWithoutRef<
133
- typeof SelectPrimitive.Content
134
- >;
135
-
136
- const SelectContent = React.forwardRef<
137
- SelectContentElement,
138
- SelectContentProps
139
- >(({ children, className, position = 'popper', ...props }, ref) => (
140
- <SelectPrimitive.Portal>
141
- <SelectPrimitive.Content
142
- ref={ref}
143
- className={cn(
144
- 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border shadow-md',
145
- position === 'popper' &&
146
- 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
147
- className,
148
- )}
149
- position={position}
150
- {...props}
151
- >
152
- <SelectScrollUpButton />
153
- <SelectPrimitive.Viewport
103
+ type SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;
104
+
105
+ const SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(
106
+ ({ children, className, position = 'popper', ...props }, ref) => (
107
+ <SelectPrimitive.Portal>
108
+ <SelectPrimitive.Content
109
+ ref={ref}
154
110
  className={cn(
155
- 'p-1',
111
+ 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border shadow-md',
156
112
  position === 'popper' &&
157
- 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',
113
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',
114
+ className,
158
115
  )}
116
+ position={position}
117
+ {...props}
159
118
  >
160
- {children}
161
- </SelectPrimitive.Viewport>
162
- <SelectScrollDownButton />
163
- </SelectPrimitive.Content>
164
- </SelectPrimitive.Portal>
165
- ));
119
+ <SelectScrollUpButton />
120
+ <SelectPrimitive.Viewport
121
+ className={cn(
122
+ 'p-1',
123
+ position === 'popper' &&
124
+ 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',
125
+ )}
126
+ >
127
+ {children}
128
+ </SelectPrimitive.Viewport>
129
+ <SelectScrollDownButton />
130
+ </SelectPrimitive.Content>
131
+ </SelectPrimitive.Portal>
132
+ ),
133
+ );
166
134
 
167
135
  SelectContent.displayName = SelectPrimitive.Content.displayName;
168
136
 
@@ -171,19 +139,11 @@ SelectContent.displayName = SelectPrimitive.Content.displayName;
171
139
  * -------------------------------------------------------------------------- */
172
140
 
173
141
  type SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;
174
- type SelectLabelProps = React.ComponentPropsWithoutRef<
175
- typeof SelectPrimitive.Label
176
- >;
142
+ type SelectLabelProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>;
177
143
 
178
- const SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(
179
- ({ className, ...props }, ref) => (
180
- <SelectPrimitive.Label
181
- ref={ref}
182
- className={cn('px-2 py-1.5 text-sm font-semibold', className)}
183
- {...props}
184
- />
185
- ),
186
- );
144
+ const SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(({ className, ...props }, ref) => (
145
+ <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />
146
+ ));
187
147
 
188
148
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
189
149
 
@@ -192,29 +152,25 @@ SelectLabel.displayName = SelectPrimitive.Label.displayName;
192
152
  * -------------------------------------------------------------------------- */
193
153
 
194
154
  type SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;
195
- type SelectItemProps = React.ComponentPropsWithoutRef<
196
- typeof SelectPrimitive.Item
197
- >;
155
+ type SelectItemProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>;
198
156
 
199
- const SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>(
200
- ({ children, className, ...props }, ref) => (
201
- <SelectPrimitive.Item
202
- ref={ref}
203
- className={cn(
204
- 'focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
205
- className,
206
- )}
207
- {...props}
208
- >
209
- <span className="absolute right-2 flex size-3.5 items-center justify-center">
210
- <SelectPrimitive.ItemIndicator>
211
- <CheckIcon className="size-4" />
212
- </SelectPrimitive.ItemIndicator>
213
- </span>
214
- <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
215
- </SelectPrimitive.Item>
216
- ),
217
- );
157
+ const SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>(({ children, className, ...props }, ref) => (
158
+ <SelectPrimitive.Item
159
+ ref={ref}
160
+ className={cn(
161
+ 'focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
162
+ className,
163
+ )}
164
+ {...props}
165
+ >
166
+ <span className="absolute right-2 flex size-3.5 items-center justify-center">
167
+ <SelectPrimitive.ItemIndicator>
168
+ <CheckIcon className="size-4" />
169
+ </SelectPrimitive.ItemIndicator>
170
+ </span>
171
+ <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
172
+ </SelectPrimitive.Item>
173
+ ));
218
174
 
219
175
  SelectItem.displayName = SelectPrimitive.Item.displayName;
220
176
 
@@ -222,23 +178,14 @@ SelectItem.displayName = SelectPrimitive.Item.displayName;
222
178
  * Component: SelectSeparator
223
179
  * -------------------------------------------------------------------------- */
224
180
 
225
- type SelectSeparatorElement = React.ElementRef<
226
- typeof SelectPrimitive.Separator
227
- >;
228
- type SelectSeparatorProps = React.ComponentPropsWithoutRef<
229
- typeof SelectPrimitive.Separator
230
- >;
231
-
232
- const SelectSeparator = React.forwardRef<
233
- SelectSeparatorElement,
234
- SelectSeparatorProps
235
- >(({ className, ...props }, ref) => (
236
- <SelectPrimitive.Separator
237
- ref={ref}
238
- className={cn('bg-muted -mx-1 my-1 h-px', className)}
239
- {...props}
240
- />
241
- ));
181
+ type SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;
182
+ type SelectSeparatorProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>;
183
+
184
+ const SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(
185
+ ({ className, ...props }, ref) => (
186
+ <SelectPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />
187
+ ),
188
+ );
242
189
 
243
190
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
244
191
 
@@ -9,24 +9,15 @@ import { cn } from '../lib/utils';
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
11
  type SeparatorElement = React.ElementRef<typeof SeparatorPrimitive.Root>;
12
- type SeparatorProps = React.ComponentPropsWithoutRef<
13
- typeof SeparatorPrimitive.Root
14
- >;
12
+ type SeparatorProps = React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>;
15
13
 
16
14
  const Separator = React.forwardRef<SeparatorElement, SeparatorProps>(
17
- (
18
- { className, orientation = 'horizontal', decorative = true, ...props },
19
- ref,
20
- ) => (
15
+ ({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (
21
16
  <SeparatorPrimitive.Root
22
17
  ref={ref}
23
18
  decorative={decorative}
24
19
  orientation={orientation}
25
- className={cn(
26
- 'bg-border shrink-0',
27
- orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px',
28
- className,
29
- )}
20
+ className={cn('bg-border shrink-0', orientation === 'horizontal' ? 'h-px w-full' : 'h-full w-px', className)}
30
21
  {...props}
31
22
  />
32
23
  ),