@codefast/ui 0.0.65 → 0.0.66

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 (266) hide show
  1. package/dist/{chunk-ZMF2SRE5.js → chunk-26W5NJTU.js} +1 -1
  2. package/dist/chunk-26W5NJTU.js.map +1 -0
  3. package/dist/chunk-3COHZ24E.cjs +2 -0
  4. package/dist/chunk-3COHZ24E.cjs.map +1 -0
  5. package/dist/{chunk-QEWITXOV.cjs → chunk-4MTN7WZ2.cjs} +1 -1
  6. package/dist/chunk-4MTN7WZ2.cjs.map +1 -0
  7. package/dist/chunk-5QETIFO4.js +2 -0
  8. package/dist/chunk-5QETIFO4.js.map +1 -0
  9. package/dist/{chunk-WECV77JD.cjs → chunk-5RJANBDJ.cjs} +1 -1
  10. package/dist/chunk-5RJANBDJ.cjs.map +1 -0
  11. package/dist/chunk-6UQKMUZG.cjs +2 -0
  12. package/dist/chunk-6UQKMUZG.cjs.map +1 -0
  13. package/dist/chunk-AVEDWLNQ.js +2 -0
  14. package/dist/chunk-AVEDWLNQ.js.map +1 -0
  15. package/dist/{chunk-YLE5XFEO.cjs → chunk-EW7DAPDC.cjs} +1 -1
  16. package/dist/chunk-EW7DAPDC.cjs.map +1 -0
  17. package/dist/{chunk-RSNKUKY7.js → chunk-HDHZESSG.js} +1 -1
  18. package/dist/chunk-HDHZESSG.js.map +1 -0
  19. package/dist/{chunk-GCHNSK5O.cjs → chunk-JMM2MTPI.cjs} +1 -1
  20. package/dist/chunk-JMM2MTPI.cjs.map +1 -0
  21. package/dist/{chunk-WRO3QIWH.js → chunk-JNOLIDCD.js} +1 -1
  22. package/dist/chunk-JNOLIDCD.js.map +1 -0
  23. package/dist/{chunk-F5TIIJJJ.cjs → chunk-LOJBMYTH.cjs} +1 -1
  24. package/dist/chunk-LOJBMYTH.cjs.map +1 -0
  25. package/dist/{chunk-A5ILA637.js → chunk-RBP4PBCK.js} +1 -1
  26. package/dist/chunk-RBP4PBCK.js.map +1 -0
  27. package/dist/{chunk-L7IASKCH.js → chunk-RVGKUNXC.js} +1 -1
  28. package/dist/{chunk-L7IASKCH.js.map → chunk-RVGKUNXC.js.map} +1 -1
  29. package/dist/{chunk-72NPDP3X.cjs → chunk-T3G5USVY.cjs} +1 -1
  30. package/dist/chunk-T3G5USVY.cjs.map +1 -0
  31. package/dist/chunk-VDVLCSO4.js +2 -0
  32. package/dist/chunk-VDVLCSO4.js.map +1 -0
  33. package/dist/{chunk-2OBTJ7SD.cjs → chunk-WKKCZQNO.cjs} +2 -2
  34. package/dist/chunk-WKKCZQNO.cjs.map +1 -0
  35. package/dist/{chunk-FNQFZJUG.js → chunk-WQFHFTYS.js} +1 -1
  36. package/dist/chunk-WQFHFTYS.js.map +1 -0
  37. package/dist/react/accordion.cjs.map +1 -1
  38. package/dist/react/accordion.js.map +1 -1
  39. package/dist/react/alert-dialog.cjs +1 -1
  40. package/dist/react/alert-dialog.cjs.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.cjs.map +1 -1
  44. package/dist/react/alert.js.map +1 -1
  45. package/dist/react/avatar.cjs.map +1 -1
  46. package/dist/react/avatar.js.map +1 -1
  47. package/dist/react/blockquote.cjs.map +1 -1
  48. package/dist/react/blockquote.js.map +1 -1
  49. package/dist/react/box.cjs.map +1 -1
  50. package/dist/react/box.js.map +1 -1
  51. package/dist/react/breadcrumb.cjs.map +1 -1
  52. package/dist/react/breadcrumb.js.map +1 -1
  53. package/dist/react/button.cjs +1 -1
  54. package/dist/react/button.js +1 -1
  55. package/dist/react/calendar.cjs +1 -1
  56. package/dist/react/calendar.js +1 -1
  57. package/dist/react/card.cjs.map +1 -1
  58. package/dist/react/card.js.map +1 -1
  59. package/dist/react/carousel.cjs +1 -1
  60. package/dist/react/carousel.cjs.map +1 -1
  61. package/dist/react/carousel.js +1 -1
  62. package/dist/react/carousel.js.map +1 -1
  63. package/dist/react/checkbox-cards.cjs +1 -1
  64. package/dist/react/checkbox-cards.cjs.map +1 -1
  65. package/dist/react/checkbox-cards.js +1 -1
  66. package/dist/react/checkbox-cards.js.map +1 -1
  67. package/dist/react/checkbox-group.cjs +1 -1
  68. package/dist/react/checkbox-group.cjs.map +1 -1
  69. package/dist/react/checkbox-group.js +1 -1
  70. package/dist/react/checkbox-group.js.map +1 -1
  71. package/dist/react/checkbox-group.primitive.cjs +1 -1
  72. package/dist/react/checkbox-group.primitive.js +1 -1
  73. package/dist/react/checkbox.cjs +1 -1
  74. package/dist/react/checkbox.cjs.map +1 -1
  75. package/dist/react/checkbox.js +1 -1
  76. package/dist/react/checkbox.js.map +1 -1
  77. package/dist/react/code.cjs.map +1 -1
  78. package/dist/react/code.js.map +1 -1
  79. package/dist/react/collapsible.cjs.map +1 -1
  80. package/dist/react/collapsible.js.map +1 -1
  81. package/dist/react/command.cjs +1 -1
  82. package/dist/react/command.cjs.map +1 -1
  83. package/dist/react/command.js +1 -1
  84. package/dist/react/command.js.map +1 -1
  85. package/dist/react/container.cjs.map +1 -1
  86. package/dist/react/container.js.map +1 -1
  87. package/dist/react/context-menu.cjs.map +1 -1
  88. package/dist/react/context-menu.js.map +1 -1
  89. package/dist/react/data-table.cjs +1 -1
  90. package/dist/react/data-table.js +1 -1
  91. package/dist/react/dialog.cjs +1 -1
  92. package/dist/react/dialog.js +1 -1
  93. package/dist/react/drawer.cjs.map +1 -1
  94. package/dist/react/drawer.js.map +1 -1
  95. package/dist/react/dropdown-menu.cjs +1 -1
  96. package/dist/react/dropdown-menu.js +1 -1
  97. package/dist/react/em.cjs.map +1 -1
  98. package/dist/react/em.js.map +1 -1
  99. package/dist/react/form.cjs +1 -1
  100. package/dist/react/form.cjs.map +1 -1
  101. package/dist/react/form.js +1 -1
  102. package/dist/react/form.js.map +1 -1
  103. package/dist/react/heading.cjs.map +1 -1
  104. package/dist/react/heading.js.map +1 -1
  105. package/dist/react/hover-card.cjs.map +1 -1
  106. package/dist/react/hover-card.js.map +1 -1
  107. package/dist/react/input-otp.cjs +1 -1
  108. package/dist/react/input-otp.cjs.map +1 -1
  109. package/dist/react/input-otp.js +1 -1
  110. package/dist/react/input-otp.js.map +1 -1
  111. package/dist/react/input.cjs +1 -1
  112. package/dist/react/input.cjs.map +1 -1
  113. package/dist/react/input.d.cts +113 -34
  114. package/dist/react/input.d.ts +113 -34
  115. package/dist/react/input.js +1 -1
  116. package/dist/react/input.js.map +1 -1
  117. package/dist/react/kbd.cjs.map +1 -1
  118. package/dist/react/kbd.js.map +1 -1
  119. package/dist/react/label.cjs +1 -1
  120. package/dist/react/label.js +1 -1
  121. package/dist/react/menubar.cjs.map +1 -1
  122. package/dist/react/menubar.js.map +1 -1
  123. package/dist/react/navigation-menu.cjs.map +1 -1
  124. package/dist/react/navigation-menu.js.map +1 -1
  125. package/dist/react/pagination.cjs +1 -1
  126. package/dist/react/pagination.cjs.map +1 -1
  127. package/dist/react/pagination.js +1 -1
  128. package/dist/react/pagination.js.map +1 -1
  129. package/dist/react/popover.cjs.map +1 -1
  130. package/dist/react/popover.js.map +1 -1
  131. package/dist/react/pre.cjs.map +1 -1
  132. package/dist/react/pre.js.map +1 -1
  133. package/dist/react/progress.cjs.map +1 -1
  134. package/dist/react/progress.js.map +1 -1
  135. package/dist/react/quote.cjs.map +1 -1
  136. package/dist/react/quote.js.map +1 -1
  137. package/dist/react/radio-cards.cjs +1 -1
  138. package/dist/react/radio-cards.cjs.map +1 -1
  139. package/dist/react/radio-cards.js +1 -1
  140. package/dist/react/radio-cards.js.map +1 -1
  141. package/dist/react/radio-group.cjs.map +1 -1
  142. package/dist/react/radio-group.js.map +1 -1
  143. package/dist/react/radio.cjs.map +1 -1
  144. package/dist/react/radio.js.map +1 -1
  145. package/dist/react/scroll-area.cjs.map +1 -1
  146. package/dist/react/scroll-area.js.map +1 -1
  147. package/dist/react/section.cjs.map +1 -1
  148. package/dist/react/section.js.map +1 -1
  149. package/dist/react/select.cjs +1 -1
  150. package/dist/react/select.js +1 -1
  151. package/dist/react/separator.cjs.map +1 -1
  152. package/dist/react/separator.js.map +1 -1
  153. package/dist/react/sheet.cjs.map +1 -1
  154. package/dist/react/sheet.js.map +1 -1
  155. package/dist/react/slider.cjs.map +1 -1
  156. package/dist/react/slider.js.map +1 -1
  157. package/dist/react/spinner.cjs +1 -1
  158. package/dist/react/spinner.js +1 -1
  159. package/dist/react/strong.cjs.map +1 -1
  160. package/dist/react/strong.js.map +1 -1
  161. package/dist/react/switch.cjs +1 -1
  162. package/dist/react/switch.cjs.map +1 -1
  163. package/dist/react/switch.js +1 -1
  164. package/dist/react/switch.js.map +1 -1
  165. package/dist/react/table.cjs.map +1 -1
  166. package/dist/react/table.js.map +1 -1
  167. package/dist/react/tabs.cjs.map +1 -1
  168. package/dist/react/tabs.js.map +1 -1
  169. package/dist/react/text-input.cjs +2 -0
  170. package/dist/react/text-input.cjs.map +1 -0
  171. package/dist/react/text-input.d.cts +11 -0
  172. package/dist/react/text-input.d.ts +11 -0
  173. package/dist/react/text-input.js +2 -0
  174. package/dist/react/text-input.js.map +1 -0
  175. package/dist/react/text.cjs.map +1 -1
  176. package/dist/react/text.js.map +1 -1
  177. package/dist/react/textarea.cjs +1 -1
  178. package/dist/react/textarea.cjs.map +1 -1
  179. package/dist/react/textarea.js +1 -1
  180. package/dist/react/textarea.js.map +1 -1
  181. package/dist/react/toggle-group.cjs +1 -1
  182. package/dist/react/toggle-group.cjs.map +1 -1
  183. package/dist/react/toggle-group.js +1 -1
  184. package/dist/react/toggle-group.js.map +1 -1
  185. package/dist/react/toggle.cjs +1 -1
  186. package/dist/react/toggle.js +1 -1
  187. package/dist/react/tooltip.cjs.map +1 -1
  188. package/dist/react/tooltip.js.map +1 -1
  189. package/dist/styles.css +1 -1
  190. package/dist/styles.css.map +1 -1
  191. package/package.json +10 -4
  192. package/src/react/accordion.tsx +9 -7
  193. package/src/react/alert-dialog.tsx +18 -10
  194. package/src/react/alert.tsx +11 -9
  195. package/src/react/avatar.tsx +13 -11
  196. package/src/react/blockquote.tsx +2 -2
  197. package/src/react/box.tsx +2 -2
  198. package/src/react/breadcrumb.tsx +33 -27
  199. package/src/react/button.tsx +3 -4
  200. package/src/react/card.tsx +21 -15
  201. package/src/react/carousel.tsx +10 -10
  202. package/src/react/checkbox-cards.tsx +8 -6
  203. package/src/react/checkbox-group.primitive.tsx +12 -6
  204. package/src/react/checkbox-group.tsx +7 -5
  205. package/src/react/checkbox.tsx +3 -3
  206. package/src/react/code.tsx +2 -2
  207. package/src/react/collapsible.tsx +2 -2
  208. package/src/react/command.tsx +46 -36
  209. package/src/react/container.tsx +6 -4
  210. package/src/react/context-menu.tsx +22 -18
  211. package/src/react/dialog.tsx +10 -6
  212. package/src/react/drawer.tsx +10 -6
  213. package/src/react/dropdown-menu.tsx +20 -16
  214. package/src/react/em.tsx +2 -2
  215. package/src/react/form.tsx +38 -22
  216. package/src/react/heading.tsx +6 -4
  217. package/src/react/hover-card.tsx +7 -5
  218. package/src/react/input-otp.tsx +40 -34
  219. package/src/react/input.tsx +115 -12
  220. package/src/react/kbd.tsx +2 -2
  221. package/src/react/label.tsx +2 -2
  222. package/src/react/menubar.tsx +48 -42
  223. package/src/react/navigation-menu.tsx +12 -12
  224. package/src/react/pagination.tsx +5 -5
  225. package/src/react/popover.tsx +7 -5
  226. package/src/react/pre.tsx +2 -2
  227. package/src/react/progress.tsx +2 -2
  228. package/src/react/quote.tsx +2 -2
  229. package/src/react/radio-cards.tsx +16 -14
  230. package/src/react/radio-group.tsx +18 -16
  231. package/src/react/radio.tsx +16 -14
  232. package/src/react/scroll-area.tsx +4 -4
  233. package/src/react/section.tsx +2 -2
  234. package/src/react/select.tsx +32 -30
  235. package/src/react/separator.tsx +2 -2
  236. package/src/react/sheet.tsx +14 -6
  237. package/src/react/slider.tsx +2 -2
  238. package/src/react/spinner.tsx +2 -2
  239. package/src/react/strong.tsx +2 -2
  240. package/src/react/switch.tsx +3 -3
  241. package/src/react/table.tsx +23 -17
  242. package/src/react/tabs.tsx +6 -6
  243. package/src/react/text-input.tsx +36 -0
  244. package/src/react/text.tsx +2 -2
  245. package/src/react/textarea.tsx +3 -3
  246. package/src/react/toggle-group.tsx +7 -4
  247. package/src/react/toggle.tsx +2 -2
  248. package/src/react/tooltip.tsx +7 -5
  249. package/dist/chunk-2OBTJ7SD.cjs.map +0 -1
  250. package/dist/chunk-3OEPCFBF.cjs +0 -2
  251. package/dist/chunk-3OEPCFBF.cjs.map +0 -1
  252. package/dist/chunk-6AFJCDFU.js +0 -2
  253. package/dist/chunk-6AFJCDFU.js.map +0 -1
  254. package/dist/chunk-72NPDP3X.cjs.map +0 -1
  255. package/dist/chunk-7CHCTEST.js +0 -2
  256. package/dist/chunk-7CHCTEST.js.map +0 -1
  257. package/dist/chunk-A5ILA637.js.map +0 -1
  258. package/dist/chunk-F5TIIJJJ.cjs.map +0 -1
  259. package/dist/chunk-FNQFZJUG.js.map +0 -1
  260. package/dist/chunk-GCHNSK5O.cjs.map +0 -1
  261. package/dist/chunk-QEWITXOV.cjs.map +0 -1
  262. package/dist/chunk-RSNKUKY7.js.map +0 -1
  263. package/dist/chunk-WECV77JD.cjs.map +0 -1
  264. package/dist/chunk-WRO3QIWH.js.map +0 -1
  265. package/dist/chunk-YLE5XFEO.cjs.map +0 -1
  266. package/dist/chunk-ZMF2SRE5.js.map +0 -1
@@ -11,9 +11,9 @@ import { cn } from '../lib/utils';
11
11
  type AvatarElement = React.ElementRef<typeof AvatarPrimitive.Root>;
12
12
  type AvatarProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>;
13
13
 
14
- const Avatar = React.forwardRef<AvatarElement, AvatarProps>(({ className, ...props }, ref) => (
14
+ const Avatar = React.forwardRef<AvatarElement, AvatarProps>(({ className, ...props }, forwardedRef) => (
15
15
  <AvatarPrimitive.Root
16
- ref={ref}
16
+ ref={forwardedRef}
17
17
  className={cn('relative flex size-10 shrink-0 overflow-hidden rounded-full', className)}
18
18
  {...props}
19
19
  />
@@ -28,8 +28,8 @@ Avatar.displayName = AvatarPrimitive.Root.displayName;
28
28
  type AvatarImageElement = React.ElementRef<typeof AvatarPrimitive.Image>;
29
29
  type AvatarImageProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>;
30
30
 
31
- const AvatarImage = React.forwardRef<AvatarImageElement, AvatarImageProps>(({ className, ...props }, ref) => (
32
- <AvatarPrimitive.Image ref={ref} className={cn('aspect-square size-full', className)} {...props} />
31
+ const AvatarImage = React.forwardRef<AvatarImageElement, AvatarImageProps>(({ className, ...props }, forwardedRef) => (
32
+ <AvatarPrimitive.Image ref={forwardedRef} className={cn('aspect-square size-full', className)} {...props} />
33
33
  ));
34
34
 
35
35
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
@@ -41,13 +41,15 @@ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
41
41
  type AvatarFallbackElement = React.ElementRef<typeof AvatarPrimitive.Fallback>;
42
42
  type AvatarFallbackProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>;
43
43
 
44
- const AvatarFallback = React.forwardRef<AvatarFallbackElement, AvatarFallbackProps>(({ className, ...props }, ref) => (
45
- <AvatarPrimitive.Fallback
46
- ref={ref}
47
- className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}
48
- {...props}
49
- />
50
- ));
44
+ const AvatarFallback = React.forwardRef<AvatarFallbackElement, AvatarFallbackProps>(
45
+ ({ className, ...props }, forwardedRef) => (
46
+ <AvatarPrimitive.Fallback
47
+ ref={forwardedRef}
48
+ className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}
49
+ {...props}
50
+ />
51
+ ),
52
+ );
51
53
 
52
54
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
53
55
 
@@ -11,10 +11,10 @@ interface BlockquoteProps extends React.BlockquoteHTMLAttributes<HTMLQuoteElemen
11
11
  asChild?: boolean;
12
12
  }
13
13
 
14
- const Blockquote = React.forwardRef<BlockquoteElement, BlockquoteProps>(({ asChild, ...props }, ref) => {
14
+ const Blockquote = React.forwardRef<BlockquoteElement, BlockquoteProps>(({ asChild, ...props }, forwardedRef) => {
15
15
  const Component = asChild ? Slot : 'blockquote';
16
16
 
17
- return <Component ref={ref} {...props} />;
17
+ return <Component ref={forwardedRef} {...props} />;
18
18
  });
19
19
 
20
20
  Blockquote.displayName = 'Blockquote';
package/src/react/box.tsx CHANGED
@@ -19,10 +19,10 @@ type BoxProps = (BoxDivProps | BoxSpanProps) & {
19
19
  asChild?: boolean;
20
20
  };
21
21
 
22
- const Box = React.forwardRef<BoxElement, BoxProps>(({ as: Tag = 'div', asChild, ...props }, ref) => {
22
+ const Box = React.forwardRef<BoxElement, BoxProps>(({ as: Tag = 'div', asChild, ...props }, forwardedRef) => {
23
23
  const Component = asChild ? Slot : Tag;
24
24
 
25
- return <Component ref={ref} {...props} />;
25
+ return <Component ref={forwardedRef} {...props} />;
26
26
  });
27
27
 
28
28
  Box.displayName = 'Box';
@@ -13,8 +13,8 @@ interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
13
13
  separator?: React.ReactNode;
14
14
  }
15
15
 
16
- const Breadcrumb = React.forwardRef<BreadcrumbElement, BreadcrumbProps>(({ ...props }, ref) => (
17
- <nav ref={ref} aria-label="breadcrumb" {...props} />
16
+ const Breadcrumb = React.forwardRef<BreadcrumbElement, BreadcrumbProps>(({ ...props }, forwardedRef) => (
17
+ <nav ref={forwardedRef} aria-label="breadcrumb" {...props} />
18
18
  ));
19
19
 
20
20
  Breadcrumb.displayName = 'Breadcrumb';
@@ -26,16 +26,18 @@ Breadcrumb.displayName = 'Breadcrumb';
26
26
  type BreadcrumbListElement = HTMLOListElement;
27
27
  type BreadcrumbListProps = React.OlHTMLAttributes<HTMLOListElement>;
28
28
 
29
- const BreadcrumbList = React.forwardRef<BreadcrumbListElement, BreadcrumbListProps>(({ className, ...props }, ref) => (
30
- <ol
31
- ref={ref}
32
- className={cn(
33
- 'text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5',
34
- className,
35
- )}
36
- {...props}
37
- />
38
- ));
29
+ const BreadcrumbList = React.forwardRef<BreadcrumbListElement, BreadcrumbListProps>(
30
+ ({ className, ...props }, forwardedRef) => (
31
+ <ol
32
+ ref={forwardedRef}
33
+ className={cn(
34
+ 'text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5',
35
+ className,
36
+ )}
37
+ {...props}
38
+ />
39
+ ),
40
+ );
39
41
 
40
42
  BreadcrumbList.displayName = 'BreadcrumbList';
41
43
 
@@ -46,9 +48,11 @@ BreadcrumbList.displayName = 'BreadcrumbList';
46
48
  type BreadcrumbItemElement = HTMLLIElement;
47
49
  type BreadcrumbItemProps = React.LiHTMLAttributes<HTMLLIElement>;
48
50
 
49
- const BreadcrumbItem = React.forwardRef<BreadcrumbItemElement, BreadcrumbItemProps>(({ className, ...props }, ref) => (
50
- <li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />
51
- ));
51
+ const BreadcrumbItem = React.forwardRef<BreadcrumbItemElement, BreadcrumbItemProps>(
52
+ ({ className, ...props }, forwardedRef) => (
53
+ <li ref={forwardedRef} className={cn('inline-flex items-center gap-1.5', className)} {...props} />
54
+ ),
55
+ );
52
56
 
53
57
  BreadcrumbItem.displayName = 'BreadcrumbItem';
54
58
 
@@ -63,10 +67,10 @@ interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorEleme
63
67
  }
64
68
 
65
69
  const BreadcrumbLink = React.forwardRef<BreadcrumbLinkElement, BreadcrumbLinkProps>(
66
- ({ asChild, className, ...props }, ref) => {
70
+ ({ asChild, className, ...props }, forwardedRef) => {
67
71
  const Component = asChild ? Slot : 'a';
68
72
 
69
- return <Component ref={ref} className={cn('hover:text-foreground transition', className)} {...props} />;
73
+ return <Component ref={forwardedRef} className={cn('hover:text-foreground transition', className)} {...props} />;
70
74
  },
71
75
  );
72
76
 
@@ -79,16 +83,18 @@ BreadcrumbLink.displayName = 'BreadcrumbLink';
79
83
  type BreadcrumbPageElement = HTMLSpanElement;
80
84
  type BreadcrumbPageProps = React.HTMLAttributes<HTMLSpanElement>;
81
85
 
82
- const BreadcrumbPage = React.forwardRef<BreadcrumbPageElement, BreadcrumbPageProps>(({ className, ...props }, ref) => (
83
- <span
84
- ref={ref}
85
- aria-current="page"
86
- aria-disabled="true"
87
- className={cn('text-foreground font-normal', className)}
88
- role="link"
89
- {...props}
90
- />
91
- ));
86
+ const BreadcrumbPage = React.forwardRef<BreadcrumbPageElement, BreadcrumbPageProps>(
87
+ ({ className, ...props }, forwardedRef) => (
88
+ <span
89
+ ref={forwardedRef}
90
+ aria-current="page"
91
+ aria-disabled="true"
92
+ className={cn('text-foreground font-normal', className)}
93
+ role="link"
94
+ {...props}
95
+ />
96
+ ),
97
+ );
92
98
 
93
99
  BreadcrumbPage.displayName = 'BreadcrumbPage';
94
100
 
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { Fragment } from 'react';
3
2
  import { Slot } from '@radix-ui/react-slot';
4
3
  import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
5
4
  import { tv, type VariantProps } from 'tailwind-variants';
@@ -55,14 +54,14 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, But
55
54
  }
56
55
 
57
56
  const Button = React.forwardRef<ButtonElement, ButtonProps>(
58
- ({ children, className, variant, size, loading = false, asChild = false, ...props }, ref) => {
57
+ ({ children, className, variant, size, loading = false, asChild = false, ...props }, forwardedRef) => {
59
58
  const Component = asChild ? Slot : 'button';
60
- const ComponentLoading = asChild ? 'span' : Fragment;
59
+ const ComponentLoading = asChild ? 'span' : React.Fragment;
61
60
  const disabled = loading || props.disabled;
62
61
 
63
62
  return (
64
63
  <Component
65
- ref={ref}
64
+ ref={forwardedRef}
66
65
  className={buttonVariants({ variant, size, loading, className })}
67
66
  type={asChild ? undefined : 'button'}
68
67
  {...props}
@@ -8,8 +8,12 @@ import { cn } from '../lib/utils';
8
8
  type CardElement = HTMLDivElement;
9
9
  type CardProps = React.HTMLAttributes<HTMLDivElement>;
10
10
 
11
- const Card = React.forwardRef<CardElement, CardProps>(({ className, ...props }, ref) => (
12
- <div ref={ref} className={cn('bg-card text-card-foreground rounded-lg border shadow-sm', className)} {...props} />
11
+ const Card = React.forwardRef<CardElement, CardProps>(({ className, ...props }, forwardedRef) => (
12
+ <div
13
+ ref={forwardedRef}
14
+ className={cn('bg-card text-card-foreground rounded-lg border shadow-sm', className)}
15
+ {...props}
16
+ />
13
17
  ));
14
18
 
15
19
  Card.displayName = 'Card';
@@ -21,8 +25,8 @@ Card.displayName = 'Card';
21
25
  type CardHeaderElement = HTMLDivElement;
22
26
  type CardHeaderProps = React.HTMLAttributes<HTMLDivElement>;
23
27
 
24
- const CardHeader = React.forwardRef<CardHeaderElement, CardHeaderProps>(({ className, ...props }, ref) => (
25
- <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />
28
+ const CardHeader = React.forwardRef<CardHeaderElement, CardHeaderProps>(({ className, ...props }, forwardedRef) => (
29
+ <div ref={forwardedRef} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />
26
30
  ));
27
31
 
28
32
  CardHeader.displayName = 'CardHeader';
@@ -34,11 +38,13 @@ CardHeader.displayName = 'CardHeader';
34
38
  type CardTitleElement = HTMLParagraphElement;
35
39
  type CardTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
36
40
 
37
- const CardTitle = React.forwardRef<CardTitleElement, CardTitleProps>(({ children, className, ...props }, ref) => (
38
- <h3 ref={ref} className={cn('font-semibold leading-none tracking-tight', className)} {...props}>
39
- {children}
40
- </h3>
41
- ));
41
+ const CardTitle = React.forwardRef<CardTitleElement, CardTitleProps>(
42
+ ({ children, className, ...props }, forwardedRef) => (
43
+ <h3 ref={forwardedRef} className={cn('font-semibold leading-none tracking-tight', className)} {...props}>
44
+ {children}
45
+ </h3>
46
+ ),
47
+ );
42
48
 
43
49
  CardTitle.displayName = 'CardTitle';
44
50
 
@@ -50,8 +56,8 @@ type CardDescriptionElement = HTMLParagraphElement;
50
56
  type CardDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
51
57
 
52
58
  const CardDescription = React.forwardRef<CardDescriptionElement, CardDescriptionProps>(
53
- ({ className, ...props }, ref) => (
54
- <p ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />
59
+ ({ className, ...props }, forwardedRef) => (
60
+ <p ref={forwardedRef} className={cn('text-muted-foreground text-sm', className)} {...props} />
55
61
  ),
56
62
  );
57
63
 
@@ -64,8 +70,8 @@ CardDescription.displayName = 'CardDescription';
64
70
  type CardContentElement = HTMLDivElement;
65
71
  type CardContentProps = React.HTMLAttributes<HTMLDivElement>;
66
72
 
67
- const CardContent = React.forwardRef<CardContentElement, CardContentProps>(({ className, ...props }, ref) => (
68
- <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />
73
+ const CardContent = React.forwardRef<CardContentElement, CardContentProps>(({ className, ...props }, forwardedRef) => (
74
+ <div ref={forwardedRef} className={cn('p-6 pt-0', className)} {...props} />
69
75
  ));
70
76
 
71
77
  CardContent.displayName = 'CardContent';
@@ -77,8 +83,8 @@ CardContent.displayName = 'CardContent';
77
83
  type CardFooterElement = HTMLDivElement;
78
84
  type CardFooterProps = React.HTMLAttributes<HTMLDivElement>;
79
85
 
80
- const CardFooter = React.forwardRef<CardFooterElement, CardFooterProps>(({ className, ...props }, ref) => (
81
- <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />
86
+ const CardFooter = React.forwardRef<CardFooterElement, CardFooterProps>(({ className, ...props }, forwardedRef) => (
87
+ <div ref={forwardedRef} className={cn('flex items-center p-6 pt-0', className)} {...props} />
82
88
  ));
83
89
 
84
90
  CardFooter.displayName = 'CardFooter';
@@ -50,7 +50,7 @@ type CarouselProps = React.HTMLAttributes<HTMLDivElement> & BaseCarouselProps;
50
50
  const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
51
51
  (
52
52
  { __scopeCarousel, children, orientation, opts, setApi, plugins, className, ...props }: ScopedProps<CarouselProps>,
53
- ref,
53
+ forwardedRef,
54
54
  ) => {
55
55
  const [carouselRef, api] = useEmblaCarousel(
56
56
  {
@@ -128,7 +128,7 @@ const Carousel = React.forwardRef<CarouselElement, CarouselProps>(
128
128
  scrollPrev={scrollPrev}
129
129
  >
130
130
  <div
131
- ref={ref}
131
+ ref={forwardedRef}
132
132
  aria-roledescription="carousel"
133
133
  className={cn('relative', className)}
134
134
  role="region"
@@ -154,13 +154,13 @@ type CarouselContentElement = HTMLDivElement;
154
154
  type CarouselContentProps = React.HTMLAttributes<HTMLDivElement>;
155
155
 
156
156
  const CarouselContent = React.forwardRef<CarouselContentElement, CarouselContentProps>(
157
- ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, ref) => {
157
+ ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselContentProps>, forwardedRef) => {
158
158
  const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);
159
159
 
160
160
  return (
161
161
  <div ref={carouselRef} className="overflow-hidden">
162
162
  <div
163
- ref={ref}
163
+ ref={forwardedRef}
164
164
  className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}
165
165
  {...props}
166
166
  />
@@ -181,12 +181,12 @@ type CarouselItemElement = HTMLDivElement;
181
181
  type CarouselItemProps = React.HTMLAttributes<HTMLDivElement>;
182
182
 
183
183
  const CarouselItem = React.forwardRef<CarouselItemElement, CarouselItemProps>(
184
- ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, ref) => {
184
+ ({ __scopeCarousel, className, ...props }: ScopedProps<CarouselItemProps>, forwardedRef) => {
185
185
  const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);
186
186
 
187
187
  return (
188
188
  <div
189
- ref={ref}
189
+ ref={forwardedRef}
190
190
  aria-roledescription="slide"
191
191
  className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}
192
192
  role="group"
@@ -210,13 +210,13 @@ type CarouselPreviousProps = ButtonProps;
210
210
  const CarouselPrevious = React.forwardRef<CarouselPreviousElement, CarouselPreviousProps>(
211
211
  (
212
212
  { __scopeCarousel, className, variant = 'outline', size = 'icon', ...props }: ScopedProps<CarouselPreviousProps>,
213
- ref,
213
+ forwardedRef,
214
214
  ) => {
215
215
  const { orientation, scrollPrev, canScrollPrev } = useCarouselContext(CAROUSEL_PREVIOUS_NAME, __scopeCarousel);
216
216
 
217
217
  return (
218
218
  <Button
219
- ref={ref}
219
+ ref={forwardedRef}
220
220
  className={cn(
221
221
  'absolute size-8 rounded-full',
222
222
  orientation === 'horizontal'
@@ -251,13 +251,13 @@ type CarouselNextProps = ButtonProps;
251
251
  const CarouselNext = React.forwardRef<CarouselNextElement, CarouselNextProps>(
252
252
  (
253
253
  { __scopeCarousel, className, variant = 'outline', size = 'icon', ...props }: ScopedProps<CarouselNextProps>,
254
- ref,
254
+ forwardedRef,
255
255
  ) => {
256
256
  const { orientation, scrollNext, canScrollNext } = useCarouselContext(CAROUSEL_NEXT_NAME, __scopeCarousel);
257
257
 
258
258
  return (
259
259
  <Button
260
- ref={ref}
260
+ ref={forwardedRef}
261
261
  className={cn(
262
262
  'absolute size-8 rounded-full',
263
263
  orientation === 'horizontal'
@@ -12,9 +12,11 @@ import * as CheckboxGroupPrimitive from './checkbox-group.primitive';
12
12
  type CheckboxCardsElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;
13
13
  type CheckboxCardsProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;
14
14
 
15
- const CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(({ className, ...props }, ref) => {
16
- return <CheckboxGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />;
17
- });
15
+ const CheckboxCards = React.forwardRef<CheckboxCardsElement, CheckboxCardsProps>(
16
+ ({ className, ...props }, forwardedRef) => {
17
+ return <CheckboxGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={forwardedRef} />;
18
+ },
19
+ );
18
20
 
19
21
  CheckboxCards.displayName = CheckboxGroupPrimitive.Root.displayName;
20
22
 
@@ -29,14 +31,14 @@ interface CheckboxCardsItemProps extends React.ComponentPropsWithoutRef<typeof C
29
31
  }
30
32
 
31
33
  const CheckboxCardsItem = React.forwardRef<CheckboxCardsItemElement, CheckboxCardsItemProps>(
32
- ({ children, className, checkboxClassName, ...props }, ref) => {
34
+ ({ children, className, checkboxClassName, ...props }, forwardedRef) => {
33
35
  return (
34
36
  <label className={cn('flex items-center justify-center gap-4 rounded-md border p-4', className)}>
35
37
  {children}
36
38
  <CheckboxGroupPrimitive.Item
37
- ref={ref}
39
+ ref={forwardedRef}
38
40
  className={cn(
39
- 'border-input aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer flex size-4 shrink-0 cursor-pointer rounded-sm border shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
41
+ 'border-input aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer flex size-4 shrink-0 cursor-pointer rounded-sm border shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-default disabled:opacity-50',
40
42
  checkboxClassName,
41
43
  )}
42
44
  {...props}
@@ -65,7 +65,7 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
65
65
  onValueChange,
66
66
  ...props
67
67
  }: ScopedProps<CheckboxGroupProps>,
68
- ref,
68
+ forwardedRef,
69
69
  ) => {
70
70
  const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);
71
71
  const direction = useDirection(dir);
@@ -101,7 +101,13 @@ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>
101
101
  >
102
102
  <RovingFocusGroup.Root asChild {...rovingFocusGroupScope} dir={direction} loop={loop} orientation={orientation}>
103
103
  {/* eslint-disable-next-line react/jsx-pascal-case -- radix-ui */}
104
- <Primitive.div ref={ref} data-disabled={disabled ? '' : undefined} dir={direction} role="group" {...props} />
104
+ <Primitive.div
105
+ ref={forwardedRef}
106
+ data-disabled={disabled ? '' : undefined}
107
+ dir={direction}
108
+ role="group"
109
+ {...props}
110
+ />
105
111
  </RovingFocusGroup.Root>
106
112
  </CheckboxGroupProvider>
107
113
  );
@@ -127,7 +133,7 @@ interface CheckboxGroupItemProps
127
133
  }
128
134
 
129
135
  const CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(
130
- ({ __scopeCheckboxGroup, disabled, ...props }: ScopedProps<CheckboxGroupItemProps>, ref) => {
136
+ ({ __scopeCheckboxGroup, disabled, ...props }: ScopedProps<CheckboxGroupItemProps>, forwardedRef) => {
131
137
  const context = useCheckboxGroupContext(ITEM_NAME, __scopeCheckboxGroup);
132
138
  const isDisabled = context.disabled || disabled;
133
139
  const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);
@@ -137,7 +143,7 @@ const CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGro
137
143
  return (
138
144
  <RovingFocusGroup.Item asChild {...rovingFocusGroupScope} active={checked} focusable={!isDisabled}>
139
145
  <CheckboxPrimitive.Root
140
- ref={ref}
146
+ ref={forwardedRef}
141
147
  checked={checked}
142
148
  disabled={isDisabled}
143
149
  name={context.name}
@@ -169,10 +175,10 @@ type CheckboxGroupIndicatorElement = React.ElementRef<typeof CheckboxPrimitive.I
169
175
  type CheckboxGroupIndicatorProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Indicator>;
170
176
 
171
177
  const CheckboxGroupIndicator = React.forwardRef<CheckboxGroupIndicatorElement, CheckboxGroupIndicatorProps>(
172
- ({ __scopeCheckboxGroup, ...props }: ScopedProps<CheckboxGroupIndicatorProps>, ref) => {
178
+ ({ __scopeCheckboxGroup, ...props }: ScopedProps<CheckboxGroupIndicatorProps>, forwardedRef) => {
173
179
  const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);
174
180
 
175
- return <CheckboxPrimitive.Indicator ref={ref} {...checkboxScope} {...props} />;
181
+ return <CheckboxPrimitive.Indicator ref={forwardedRef} {...checkboxScope} {...props} />;
176
182
  },
177
183
  );
178
184
 
@@ -12,9 +12,11 @@ import * as CheckboxGroupPrimitive from './checkbox-group.primitive';
12
12
  type CheckboxGroupElement = React.ElementRef<typeof CheckboxGroupPrimitive.Root>;
13
13
  type CheckboxGroupProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Root>;
14
14
 
15
- const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(({ className, ...props }, ref) => {
16
- return <CheckboxGroupPrimitive.Root ref={ref} className={cn('grid gap-2', className)} {...props} />;
17
- });
15
+ const CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(
16
+ ({ className, ...props }, forwardedRef) => {
17
+ return <CheckboxGroupPrimitive.Root ref={forwardedRef} className={cn('grid gap-2', className)} {...props} />;
18
+ },
19
+ );
18
20
 
19
21
  CheckboxGroup.displayName = 'CheckboxGroup';
20
22
 
@@ -26,10 +28,10 @@ type CheckboxGroupItemElement = React.ElementRef<typeof CheckboxGroupPrimitive.I
26
28
  type CheckboxGroupItemProps = React.ComponentPropsWithoutRef<typeof CheckboxGroupPrimitive.Item>;
27
29
 
28
30
  const CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(
29
- ({ className, ...props }, ref) => {
31
+ ({ className, ...props }, forwardedRef) => {
30
32
  return (
31
33
  <CheckboxGroupPrimitive.Item
32
- ref={ref}
34
+ ref={forwardedRef}
33
35
  className={cn(
34
36
  'border-input hover:border-primary aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer flex size-4 shrink-0 rounded-sm border shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
35
37
  className,
@@ -12,11 +12,11 @@ import { cn } from '../lib/utils';
12
12
  type CheckboxElement = React.ElementRef<typeof CheckboxPrimitive.Root>;
13
13
  type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>;
14
14
 
15
- const Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>(({ className, ...props }, ref) => (
15
+ const Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>(({ className, ...props }, forwardedRef) => (
16
16
  <CheckboxPrimitive.Root
17
- ref={ref}
17
+ ref={forwardedRef}
18
18
  className={cn(
19
- 'border-input hover:border-primary aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer flex size-4 shrink-0 rounded-sm border shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
19
+ 'border-input hover:border-primary aria-checked:border-primary aria-checked:bg-primary aria-checked:text-primary-foreground peer flex size-4 shrink-0 rounded-sm border shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-default disabled:opacity-50',
20
20
  className,
21
21
  )}
22
22
  {...props}
@@ -11,10 +11,10 @@ interface CodeProps extends React.HTMLAttributes<HTMLElement> {
11
11
  asChild?: boolean;
12
12
  }
13
13
 
14
- const Code = React.forwardRef<CodeElement, CodeProps>(({ asChild, ...props }, ref) => {
14
+ const Code = React.forwardRef<CodeElement, CodeProps>(({ asChild, ...props }, forwardedRef) => {
15
15
  const Component = asChild ? Slot : 'code';
16
16
 
17
- return <Component ref={ref} {...props} />;
17
+ return <Component ref={forwardedRef} {...props} />;
18
18
  });
19
19
 
20
20
  Code.displayName = 'Code';
@@ -26,9 +26,9 @@ type CollapsibleContentElement = React.ElementRef<typeof CollapsiblePrimitive.Co
26
26
  type CollapsibleContentProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.CollapsibleContent>;
27
27
 
28
28
  const CollapsibleContent = React.forwardRef<CollapsibleContentElement, CollapsibleContentProps>(
29
- ({ className, ...props }, ref) => (
29
+ ({ className, ...props }, forwardedRef) => (
30
30
  <CollapsiblePrimitive.CollapsibleContent
31
- ref={ref}
31
+ ref={forwardedRef}
32
32
  className={cn(
33
33
  'data-[state=open]:animate-collapsible-open data-[state=closed]:animate-collapsible-closed overflow-hidden',
34
34
  className,