@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
@@ -13,9 +13,9 @@ import { Dialog, DialogContent } from './dialog';
13
13
  type CommandElement = React.ElementRef<typeof CommandPrimitive>;
14
14
  type CommandProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive>;
15
15
 
16
- const Command = React.forwardRef<CommandElement, CommandProps>(({ className, ...props }, ref) => (
16
+ const Command = React.forwardRef<CommandElement, CommandProps>(({ className, ...props }, forwardedRef) => (
17
17
  <CommandPrimitive
18
- ref={ref}
18
+ ref={forwardedRef}
19
19
  className={cn(
20
20
  'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',
21
21
  className,
@@ -51,19 +51,21 @@ function CommandDialog({ children, ...props }: CommandDialogProps): React.JSX.El
51
51
  type CommandInputElement = React.ElementRef<typeof CommandPrimitive.Input>;
52
52
  type CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>;
53
53
 
54
- const CommandInput = React.forwardRef<CommandInputElement, CommandInputProps>(({ className, ...props }, ref) => (
55
- <div className="flex items-center gap-2 border-b px-3" cmdk-input-wrapper="">
56
- <MagnifyingGlassIcon className="size-5 shrink-0 opacity-50" />
57
- <CommandPrimitive.Input
58
- ref={ref}
59
- className={cn(
60
- 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',
61
- className,
62
- )}
63
- {...props}
64
- />
65
- </div>
66
- ));
54
+ const CommandInput = React.forwardRef<CommandInputElement, CommandInputProps>(
55
+ ({ className, ...props }, forwardedRef) => (
56
+ <div className="flex items-center gap-2 border-b px-3" cmdk-input-wrapper="">
57
+ <MagnifyingGlassIcon className="size-5 shrink-0 opacity-50" />
58
+ <CommandPrimitive.Input
59
+ ref={forwardedRef}
60
+ className={cn(
61
+ 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent text-sm outline-none disabled:cursor-default disabled:opacity-50',
62
+ className,
63
+ )}
64
+ {...props}
65
+ />
66
+ </div>
67
+ ),
68
+ );
67
69
 
68
70
  CommandInput.displayName = CommandPrimitive.Input.displayName;
69
71
 
@@ -74,8 +76,12 @@ CommandInput.displayName = CommandPrimitive.Input.displayName;
74
76
  type CommandListElement = React.ElementRef<typeof CommandPrimitive.List>;
75
77
  type CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>;
76
78
 
77
- const CommandList = React.forwardRef<CommandListElement, CommandListProps>(({ className, ...props }, ref) => (
78
- <CommandPrimitive.List ref={ref} className={cn('max-h-72 overflow-y-auto overflow-x-hidden', className)} {...props} />
79
+ const CommandList = React.forwardRef<CommandListElement, CommandListProps>(({ className, ...props }, forwardedRef) => (
80
+ <CommandPrimitive.List
81
+ ref={forwardedRef}
82
+ className={cn('max-h-72 overflow-y-auto overflow-x-hidden', className)}
83
+ {...props}
84
+ />
79
85
  ));
80
86
 
81
87
  CommandList.displayName = CommandPrimitive.List.displayName;
@@ -87,8 +93,8 @@ CommandList.displayName = CommandPrimitive.List.displayName;
87
93
  type CommandEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;
88
94
  type CommandEmptyProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>;
89
95
 
90
- const CommandEmpty = React.forwardRef<CommandEmptyElement, CommandEmptyProps>((props, ref) => (
91
- <CommandPrimitive.Empty ref={ref} className="py-6 text-center text-sm" {...props} />
96
+ const CommandEmpty = React.forwardRef<CommandEmptyElement, CommandEmptyProps>((props, forwardedRef) => (
97
+ <CommandPrimitive.Empty ref={forwardedRef} className="py-6 text-center text-sm" {...props} />
92
98
  ));
93
99
 
94
100
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
@@ -100,16 +106,18 @@ CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
100
106
  type CommandGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;
101
107
  type CommandGroupProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>;
102
108
 
103
- const CommandGroup = React.forwardRef<CommandGroupElement, CommandGroupProps>(({ className, ...props }, ref) => (
104
- <CommandPrimitive.Group
105
- ref={ref}
106
- className={cn(
107
- 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',
108
- className,
109
- )}
110
- {...props}
111
- />
112
- ));
109
+ const CommandGroup = React.forwardRef<CommandGroupElement, CommandGroupProps>(
110
+ ({ className, ...props }, forwardedRef) => (
111
+ <CommandPrimitive.Group
112
+ ref={forwardedRef}
113
+ className={cn(
114
+ 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',
115
+ className,
116
+ )}
117
+ {...props}
118
+ />
119
+ ),
120
+ );
113
121
 
114
122
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
115
123
 
@@ -121,8 +129,8 @@ type CommandSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separato
121
129
  type CommandSeparatorProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>;
122
130
 
123
131
  const CommandSeparator = React.forwardRef<CommandSeparatorElement, CommandSeparatorProps>(
124
- ({ className, ...props }, ref) => (
125
- <CommandPrimitive.Separator ref={ref} className={cn('bg-border -mx-1 h-px', className)} {...props} />
132
+ ({ className, ...props }, forwardedRef) => (
133
+ <CommandPrimitive.Separator ref={forwardedRef} className={cn('bg-border -mx-1 h-px', className)} {...props} />
126
134
  ),
127
135
  );
128
136
 
@@ -135,9 +143,9 @@ CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
135
143
  type CommandItemElement = React.ElementRef<typeof CommandPrimitive.Item>;
136
144
  type CommandItemProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>;
137
145
 
138
- const CommandItem = React.forwardRef<CommandItemElement, CommandItemProps>(({ className, ...props }, ref) => (
146
+ const CommandItem = React.forwardRef<CommandItemElement, CommandItemProps>(({ className, ...props }, forwardedRef) => (
139
147
  <CommandPrimitive.Item
140
- ref={ref}
148
+ ref={forwardedRef}
141
149
  className={cn(
142
150
  'aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-selected:outline-none',
143
151
  className,
@@ -155,9 +163,11 @@ CommandItem.displayName = CommandPrimitive.Item.displayName;
155
163
  type CommandLoadingElement = React.ElementRef<typeof CommandPrimitive.Loading>;
156
164
  type CommandLoadingProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Loading>;
157
165
 
158
- const CommandLoading = React.forwardRef<CommandLoadingElement, CommandLoadingProps>(({ className, ...props }, ref) => (
159
- <CommandPrimitive.Loading ref={ref} className={cn('flex justify-center p-2', className)} {...props} />
160
- ));
166
+ const CommandLoading = React.forwardRef<CommandLoadingElement, CommandLoadingProps>(
167
+ ({ className, ...props }, forwardedRef) => (
168
+ <CommandPrimitive.Loading ref={forwardedRef} className={cn('flex justify-center p-2', className)} {...props} />
169
+ ),
170
+ );
161
171
 
162
172
  CommandLoading.displayName = CommandPrimitive.Loading.displayName;
163
173
 
@@ -12,11 +12,13 @@ interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
12
12
  asChild?: boolean;
13
13
  }
14
14
 
15
- const Container = React.forwardRef<ContainerElement, ContainerProps>(({ className, asChild, ...props }, ref) => {
16
- const Component = asChild ? Slot : 'div';
15
+ const Container = React.forwardRef<ContainerElement, ContainerProps>(
16
+ ({ className, asChild, ...props }, forwardedRef) => {
17
+ const Component = asChild ? Slot : 'div';
17
18
 
18
- return <Component ref={ref} className={cn('container', className)} {...props} />;
19
- });
19
+ return <Component ref={forwardedRef} className={cn('container', className)} {...props} />;
20
+ },
21
+ );
20
22
 
21
23
  Container.displayName = 'Container';
22
24
 
@@ -51,9 +51,9 @@ interface ContextMenuSubTriggerProps extends React.ComponentPropsWithoutRef<type
51
51
  }
52
52
 
53
53
  const ContextMenuSubTrigger = React.forwardRef<ContextMenuSubTriggerElement, ContextMenuSubTriggerProps>(
54
- ({ children, className, inset, ...props }, ref) => (
54
+ ({ children, className, inset, ...props }, forwardedRef) => (
55
55
  <ContextMenuPrimitive.SubTrigger
56
- ref={ref}
56
+ ref={forwardedRef}
57
57
  className={cn(
58
58
  'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none',
59
59
  inset && 'pl-8',
@@ -77,10 +77,10 @@ type ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive
77
77
  type ContextMenuSubContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>;
78
78
 
79
79
  const ContextMenuSubContent = React.forwardRef<ContextMenuSubContentElement, ContextMenuSubContentProps>(
80
- ({ className, ...props }, ref) => (
80
+ ({ className, ...props }, forwardedRef) => (
81
81
  <ContextMenuPrimitive.Portal>
82
82
  <ContextMenuPrimitive.SubContent
83
- ref={ref}
83
+ ref={forwardedRef}
84
84
  className={cn(
85
85
  'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
86
86
  className,
@@ -101,10 +101,10 @@ type ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Co
101
101
  type ContextMenuContentProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>;
102
102
 
103
103
  const ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(
104
- ({ className, ...props }, ref) => (
104
+ ({ className, ...props }, forwardedRef) => (
105
105
  <ContextMenuPrimitive.Portal>
106
106
  <ContextMenuPrimitive.Content
107
- ref={ref}
107
+ ref={forwardedRef}
108
108
  className={cn(
109
109
  'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
110
110
  className,
@@ -128,9 +128,9 @@ interface ContextMenuItemProps extends React.ComponentPropsWithoutRef<typeof Con
128
128
  }
129
129
 
130
130
  const ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(
131
- ({ className, inset, ...props }, ref) => (
131
+ ({ className, inset, ...props }, forwardedRef) => (
132
132
  <ContextMenuPrimitive.Item
133
- ref={ref}
133
+ ref={forwardedRef}
134
134
  className={cn(
135
135
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
136
136
  inset && 'pl-8',
@@ -151,9 +151,9 @@ type ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimiti
151
151
  type ContextMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>;
152
152
 
153
153
  const ContextMenuCheckboxItem = React.forwardRef<ContextMenuCheckboxItemElement, ContextMenuCheckboxItemProps>(
154
- ({ children, className, checked, ...props }, ref) => (
154
+ ({ children, className, checked, ...props }, forwardedRef) => (
155
155
  <ContextMenuPrimitive.CheckboxItem
156
- ref={ref}
156
+ ref={forwardedRef}
157
157
  checked={checked}
158
158
  className={cn(
159
159
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
@@ -181,9 +181,9 @@ type ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.
181
181
  type ContextMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>;
182
182
 
183
183
  const ContextMenuRadioItem = React.forwardRef<ContextMenuRadioItemElement, ContextMenuRadioItemProps>(
184
- ({ children, className, ...props }, ref) => (
184
+ ({ children, className, ...props }, forwardedRef) => (
185
185
  <ContextMenuPrimitive.RadioItem
186
- ref={ref}
186
+ ref={forwardedRef}
187
187
  className={cn(
188
188
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
189
189
  className,
@@ -213,9 +213,9 @@ interface ContextMenuLabelProps extends React.ComponentPropsWithoutRef<typeof Co
213
213
  }
214
214
 
215
215
  const ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(
216
- ({ className, inset, ...props }, ref) => (
216
+ ({ className, inset, ...props }, forwardedRef) => (
217
217
  <ContextMenuPrimitive.Label
218
- ref={ref}
218
+ ref={forwardedRef}
219
219
  className={cn('text-foreground px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
220
220
  {...props}
221
221
  />
@@ -232,8 +232,12 @@ type ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.
232
232
  type ContextMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>;
233
233
 
234
234
  const ContextMenuSeparator = React.forwardRef<ContextMenuSeparatorElement, ContextMenuSeparatorProps>(
235
- ({ className, ...props }, ref) => (
236
- <ContextMenuPrimitive.Separator ref={ref} className={cn('bg-border -mx-1 my-1 h-px', className)} {...props} />
235
+ ({ className, ...props }, forwardedRef) => (
236
+ <ContextMenuPrimitive.Separator
237
+ ref={forwardedRef}
238
+ className={cn('bg-border -mx-1 my-1 h-px', className)}
239
+ {...props}
240
+ />
237
241
  ),
238
242
  );
239
243
 
@@ -257,8 +261,8 @@ type ContextMenuArrowElement = React.ElementRef<typeof ContextMenuPrimitive.Arro
257
261
  type ContextMenuArrowProps = ContextMenuPrimitive.ContextMenuArrowProps;
258
262
 
259
263
  const ContextMenuArrow = React.forwardRef<ContextMenuArrowElement, ContextMenuArrowProps>(
260
- ({ className, ...props }, ref) => (
261
- <ContextMenuPrimitive.Arrow ref={ref} className={cn('fill-popover', className)} {...props} />
264
+ ({ className, ...props }, forwardedRef) => (
265
+ <ContextMenuPrimitive.Arrow ref={forwardedRef} className={cn('fill-popover', className)} {...props} />
262
266
  ),
263
267
  );
264
268
 
@@ -34,11 +34,11 @@ type DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;
34
34
  type DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;
35
35
 
36
36
  const DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(
37
- ({ children, className, ...props }, ref) => (
37
+ ({ children, className, ...props }, forwardedRef) => (
38
38
  <DialogPrimitive.Portal>
39
39
  <DialogPrimitive.Overlay className="data-[state=open]:animate-duration-200 data-[state=closed]:animate-duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50 grid place-items-center overflow-auto bg-black/80 p-4 sm:pb-12 sm:pt-8">
40
40
  <DialogPrimitive.Content
41
- ref={ref}
41
+ ref={forwardedRef}
42
42
  className={cn(
43
43
  'bg-background data-[state=open]:animate-in data-[state=open]:zoom-in-95 data-[state=closed]:zoom-out-95 data-[state=open]:animate-duration-200 data-[state=closed]:animate-duration-200 data-[state=open]:fade-in data-[state=closed]:animate-out data-[state=closed]:fade-out relative z-50 flex w-full max-w-lg flex-col rounded-lg border shadow-lg',
44
44
  className,
@@ -105,9 +105,9 @@ function DialogFooter({ className, ...props }: DialogFooterProps): React.JSX.Ele
105
105
  type DialogTitleElement = React.ElementRef<typeof DialogPrimitive.Title>;
106
106
  type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
107
107
 
108
- const DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(({ className, ...props }, ref) => (
108
+ const DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(({ className, ...props }, forwardedRef) => (
109
109
  <DialogPrimitive.Title
110
- ref={ref}
110
+ ref={forwardedRef}
111
111
  className={cn('text-lg font-semibold leading-none tracking-tight', className)}
112
112
  {...props}
113
113
  />
@@ -123,8 +123,12 @@ type DialogDescriptionElement = React.ElementRef<typeof DialogPrimitive.Descript
123
123
  type DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
124
124
 
125
125
  const DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(
126
- ({ className, ...props }, ref) => (
127
- <DialogPrimitive.Description ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />
126
+ ({ className, ...props }, forwardedRef) => (
127
+ <DialogPrimitive.Description
128
+ ref={forwardedRef}
129
+ className={cn('text-muted-foreground text-sm', className)}
130
+ {...props}
131
+ />
128
132
  ),
129
133
  );
130
134
 
@@ -36,11 +36,11 @@ type DrawerContentElement = React.ElementRef<typeof DrawerPrimitive.Content>;
36
36
  type DrawerContentProps = React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>;
37
37
 
38
38
  const DrawerContent = React.forwardRef<DrawerContentElement, DrawerContentProps>(
39
- ({ children, className, ...props }, ref) => (
39
+ ({ children, className, ...props }, forwardedRef) => (
40
40
  <DrawerPrimitive.Portal>
41
41
  <DrawerPrimitive.Overlay className="fixed inset-0 z-50 bg-black/80" />
42
42
  <DrawerPrimitive.Content
43
- ref={ref}
43
+ ref={forwardedRef}
44
44
  className={cn(
45
45
  'bg-background fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-xl border',
46
46
  className,
@@ -83,9 +83,9 @@ function DrawerFooter({ className, ...props }: DrawerFooterProps): React.JSX.Ele
83
83
  type DrawerTitleElement = React.ElementRef<typeof DrawerPrimitive.Title>;
84
84
  type DrawerTitleProps = React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>;
85
85
 
86
- const DrawerTitle = React.forwardRef<DrawerTitleElement, DrawerTitleProps>(({ className, ...props }, ref) => (
86
+ const DrawerTitle = React.forwardRef<DrawerTitleElement, DrawerTitleProps>(({ className, ...props }, forwardedRef) => (
87
87
  <DrawerPrimitive.Title
88
- ref={ref}
88
+ ref={forwardedRef}
89
89
  className={cn('text-lg font-semibold leading-none tracking-tight', className)}
90
90
  {...props}
91
91
  />
@@ -101,8 +101,12 @@ type DrawerDescriptionElement = React.ElementRef<typeof DrawerPrimitive.Descript
101
101
  type DrawerDescriptionProps = React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>;
102
102
 
103
103
  const DrawerDescription = React.forwardRef<DrawerDescriptionElement, DrawerDescriptionProps>(
104
- ({ className, ...props }, ref) => (
105
- <DrawerPrimitive.Description ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />
104
+ ({ className, ...props }, forwardedRef) => (
105
+ <DrawerPrimitive.Description
106
+ ref={forwardedRef}
107
+ className={cn('text-muted-foreground text-sm', className)}
108
+ {...props}
109
+ />
106
110
  ),
107
111
  );
108
112
 
@@ -51,9 +51,9 @@ interface DropdownMenuSubTriggerProps extends React.ComponentPropsWithoutRef<typ
51
51
  }
52
52
 
53
53
  const DropdownMenuSubTrigger = React.forwardRef<DropdownMenuSubTriggerElement, DropdownMenuSubTriggerProps>(
54
- ({ children, className, inset, ...props }, ref) => (
54
+ ({ children, className, inset, ...props }, forwardedRef) => (
55
55
  <DropdownMenuPrimitive.SubTrigger
56
- ref={ref}
56
+ ref={forwardedRef}
57
57
  className={cn(
58
58
  'focus:bg-accent data-[state=open]:bg-accent flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none',
59
59
  inset && 'pl-8',
@@ -78,10 +78,10 @@ type DropdownMenuSubContentProps = DropdownMenuPrimitive.DropdownMenuSubContentP
78
78
  const DropdownMenuSubContent = React.forwardRef<
79
79
  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
80
80
  DropdownMenuSubContentProps
81
- >(({ className, ...props }, ref) => (
81
+ >(({ className, ...props }, forwardedRef) => (
82
82
  <DropdownMenuPrimitive.Portal>
83
83
  <DropdownMenuPrimitive.SubContent
84
- ref={ref}
84
+ ref={forwardedRef}
85
85
  className={cn(
86
86
  'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
87
87
  className,
@@ -101,10 +101,10 @@ type DropdownMenuContentElement = React.ElementRef<typeof DropdownMenuPrimitive.
101
101
  type DropdownMenuContentProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>;
102
102
 
103
103
  const DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(
104
- ({ className, sideOffset = 6, ...props }, ref) => (
104
+ ({ className, sideOffset = 6, ...props }, forwardedRef) => (
105
105
  <DropdownMenuPrimitive.Portal>
106
106
  <DropdownMenuPrimitive.Content
107
- ref={ref}
107
+ ref={forwardedRef}
108
108
  className={cn(
109
109
  'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 min-w-32 rounded-md border p-1 shadow-md',
110
110
  className,
@@ -129,9 +129,9 @@ interface DropdownMenuItemProps extends React.ComponentPropsWithoutRef<typeof Dr
129
129
  }
130
130
 
131
131
  const DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(
132
- ({ className, inset, ...props }, ref) => (
132
+ ({ className, inset, ...props }, forwardedRef) => (
133
133
  <DropdownMenuPrimitive.Item
134
- ref={ref}
134
+ ref={forwardedRef}
135
135
  className={cn(
136
136
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm transition focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
137
137
  inset && 'pl-8',
@@ -152,9 +152,9 @@ type DropdownMenuCheckboxItemElement = React.ElementRef<typeof DropdownMenuPrimi
152
152
  type DropdownMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>;
153
153
 
154
154
  const DropdownMenuCheckboxItem = React.forwardRef<DropdownMenuCheckboxItemElement, DropdownMenuCheckboxItemProps>(
155
- ({ children, className, checked, ...props }, ref) => (
155
+ ({ children, className, checked, ...props }, forwardedRef) => (
156
156
  <DropdownMenuPrimitive.CheckboxItem
157
- ref={ref}
157
+ ref={forwardedRef}
158
158
  checked={checked}
159
159
  className={cn(
160
160
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
@@ -182,9 +182,9 @@ type DropdownMenuRadioItemElement = React.ElementRef<typeof DropdownMenuPrimitiv
182
182
  type DropdownMenuRadioItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>;
183
183
 
184
184
  const DropdownMenuRadioItem = React.forwardRef<DropdownMenuRadioItemElement, DropdownMenuRadioItemProps>(
185
- ({ children, className, ...props }, ref) => (
185
+ ({ children, className, ...props }, forwardedRef) => (
186
186
  <DropdownMenuPrimitive.RadioItem
187
- ref={ref}
187
+ ref={forwardedRef}
188
188
  className={cn(
189
189
  'focus:bg-accent focus:text-accent-foreground relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50',
190
190
  className,
@@ -214,9 +214,9 @@ interface DropdownMenuLabelProps extends React.ComponentPropsWithoutRef<typeof D
214
214
  }
215
215
 
216
216
  const DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(
217
- ({ className, inset, ...props }, ref) => (
217
+ ({ className, inset, ...props }, forwardedRef) => (
218
218
  <DropdownMenuPrimitive.Label
219
- ref={ref}
219
+ ref={forwardedRef}
220
220
  className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
221
221
  {...props}
222
222
  />
@@ -233,8 +233,12 @@ type DropdownMenuSeparatorElement = React.ElementRef<typeof DropdownMenuPrimitiv
233
233
  type DropdownMenuSeparatorProps = React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>;
234
234
 
235
235
  const DropdownMenuSeparator = React.forwardRef<DropdownMenuSeparatorElement, DropdownMenuSeparatorProps>(
236
- ({ className, ...props }, ref) => (
237
- <DropdownMenuPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />
236
+ ({ className, ...props }, forwardedRef) => (
237
+ <DropdownMenuPrimitive.Separator
238
+ ref={forwardedRef}
239
+ className={cn('bg-muted -mx-1 my-1 h-px', className)}
240
+ {...props}
241
+ />
238
242
  ),
239
243
  );
240
244
 
package/src/react/em.tsx CHANGED
@@ -11,10 +11,10 @@ interface EmProps extends React.HTMLAttributes<HTMLElement> {
11
11
  asChild?: boolean;
12
12
  }
13
13
 
14
- const Em = React.forwardRef<EmElement, EmProps>(({ asChild, ...props }, ref) => {
14
+ const Em = React.forwardRef<EmElement, EmProps>(({ asChild, ...props }, forwardedRef) => {
15
15
  const Component = asChild ? Slot : 'em';
16
16
 
17
- return <Component ref={ref} {...props} />;
17
+ return <Component ref={forwardedRef} {...props} />;
18
18
  });
19
19
 
20
20
  Em.displayName = 'Em';
@@ -104,12 +104,12 @@ function FormField<
104
104
  type FormItemElement = HTMLDivElement;
105
105
  type FormItemProps = React.HTMLAttributes<HTMLDivElement>;
106
106
 
107
- const FormItem = React.forwardRef<FormItemElement, FormItemProps>(({ className, ...props }, ref) => {
107
+ const FormItem = React.forwardRef<FormItemElement, FormItemProps>(({ className, ...props }, forwardedRef) => {
108
108
  const id = React.useId();
109
109
 
110
110
  return (
111
111
  <FormItemContext.Provider value={{ id }}>
112
- <div ref={ref} className={cn('space-y-2', className)} {...props} />
112
+ <div ref={forwardedRef} className={cn('space-y-2', className)} {...props} />
113
113
  </FormItemContext.Provider>
114
114
  );
115
115
  });
@@ -123,10 +123,12 @@ FormItem.displayName = 'FormItem';
123
123
  type FormFieldElement = React.ElementRef<typeof LabelPrimitive.Root>;
124
124
  type FormLabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
125
125
 
126
- const FormLabel = React.forwardRef<FormFieldElement, FormLabelProps>(({ className, ...props }, ref) => {
126
+ const FormLabel = React.forwardRef<FormFieldElement, FormLabelProps>(({ className, ...props }, forwardedRef) => {
127
127
  const { error, formItemId } = useFormField();
128
128
 
129
- return <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;
129
+ return (
130
+ <Label ref={forwardedRef} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />
131
+ );
130
132
  });
131
133
 
132
134
  FormLabel.displayName = 'FormLabel';
@@ -138,12 +140,12 @@ FormLabel.displayName = 'FormLabel';
138
140
  type FormControlElement = React.ElementRef<typeof Slot>;
139
141
  type FormControlProps = React.ComponentPropsWithoutRef<typeof Slot>;
140
142
 
141
- const FormControl = React.forwardRef<FormControlElement, FormControlProps>(({ ...props }, ref) => {
143
+ const FormControl = React.forwardRef<FormControlElement, FormControlProps>(({ ...props }, forwardedRef) => {
142
144
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
143
145
 
144
146
  return (
145
147
  <Slot
146
- ref={ref}
148
+ ref={forwardedRef}
147
149
  aria-describedby={!error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`}
148
150
  aria-invalid={Boolean(error)}
149
151
  id={formItemId}
@@ -162,10 +164,17 @@ type FormDescriptionElement = HTMLParagraphElement;
162
164
  type FormDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
163
165
 
164
166
  const FormDescription = React.forwardRef<FormDescriptionElement, FormDescriptionProps>(
165
- ({ className, ...props }, ref) => {
167
+ ({ className, ...props }, forwardedRef) => {
166
168
  const { formDescriptionId } = useFormField();
167
169
 
168
- return <p ref={ref} className={cn('text-muted-foreground text-xs', className)} id={formDescriptionId} {...props} />;
170
+ return (
171
+ <p
172
+ ref={forwardedRef}
173
+ className={cn('text-muted-foreground text-xs', className)}
174
+ id={formDescriptionId}
175
+ {...props}
176
+ />
177
+ );
169
178
  },
170
179
  );
171
180
 
@@ -178,20 +187,27 @@ FormDescription.displayName = 'FormDescription';
178
187
  type FormMessageElement = HTMLParagraphElement;
179
188
  type FormMessageProps = React.HTMLAttributes<HTMLParagraphElement>;
180
189
 
181
- const FormMessage = React.forwardRef<FormMessageElement, FormMessageProps>(({ children, className, ...props }, ref) => {
182
- const { error, formMessageId } = useFormField();
183
- const body = error?.message ? String(error.message) : children;
184
-
185
- if (!body) {
186
- return null;
187
- }
188
-
189
- return (
190
- <p ref={ref} className={cn('text-destructive text-xs font-medium', className)} id={formMessageId} {...props}>
191
- {body}
192
- </p>
193
- );
194
- });
190
+ const FormMessage = React.forwardRef<FormMessageElement, FormMessageProps>(
191
+ ({ children, className, ...props }, forwardedRef) => {
192
+ const { error, formMessageId } = useFormField();
193
+ const body = error?.message ? String(error.message) : children;
194
+
195
+ if (!body) {
196
+ return null;
197
+ }
198
+
199
+ return (
200
+ <p
201
+ ref={forwardedRef}
202
+ className={cn('text-destructive text-xs font-medium', className)}
203
+ id={formMessageId}
204
+ {...props}
205
+ >
206
+ {body}
207
+ </p>
208
+ );
209
+ },
210
+ );
195
211
 
196
212
  FormMessage.displayName = 'FormMessage';
197
213
 
@@ -12,11 +12,13 @@ interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
12
12
  asChild?: boolean;
13
13
  }
14
14
 
15
- const Heading = React.forwardRef<HeadingElement, HeadingProps>(({ asChild, as: Tag = 'h1', ...props }, ref) => {
16
- const Component = asChild ? Slot : Tag;
15
+ const Heading = React.forwardRef<HeadingElement, HeadingProps>(
16
+ ({ asChild, as: Tag = 'h1', ...props }, forwardedRef) => {
17
+ const Component = asChild ? Slot : Tag;
17
18
 
18
- return <Component ref={ref} {...props} />;
19
- });
19
+ return <Component ref={forwardedRef} {...props} />;
20
+ },
21
+ );
20
22
 
21
23
  Heading.displayName = 'Heading';
22
24
 
@@ -26,10 +26,10 @@ type HoverCardContentElement = React.ElementRef<typeof HoverCardPrimitive.Conten
26
26
  type HoverCardContentProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>;
27
27
 
28
28
  const HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(
29
- ({ className, align = 'center', sideOffset = 6, ...props }, ref) => (
29
+ ({ className, align = 'center', sideOffset = 6, ...props }, forwardedRef) => (
30
30
  <HoverCardPrimitive.Portal>
31
31
  <HoverCardPrimitive.Content
32
- ref={ref}
32
+ ref={forwardedRef}
33
33
  align={align}
34
34
  className={cn(
35
35
  'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-32 rounded-md border p-4 shadow-md',
@@ -51,9 +51,11 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
51
51
  type HoverCardArrowElement = React.ElementRef<typeof HoverCardPrimitive.Arrow>;
52
52
  type HoverCardArrowProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Arrow>;
53
53
 
54
- const HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(({ className, ...props }, ref) => (
55
- <HoverCardPrimitive.Arrow ref={ref} className={cn('fill-popover', className)} {...props} />
56
- ));
54
+ const HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(
55
+ ({ className, ...props }, forwardedRef) => (
56
+ <HoverCardPrimitive.Arrow ref={forwardedRef} className={cn('fill-popover', className)} {...props} />
57
+ ),
58
+ );
57
59
 
58
60
  HoverCardArrow.displayName = HoverCardPrimitive.Arrow.displayName;
59
61