@codefast/ui 0.0.4 → 0.0.5

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 (274) hide show
  1. package/dist/accordion.js +52 -1
  2. package/dist/accordion.js.map +1 -1
  3. package/dist/accordion.mjs +52 -1
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert-dialog.d.mts +1 -3
  6. package/dist/alert-dialog.d.ts +1 -3
  7. package/dist/alert-dialog.js +106 -1
  8. package/dist/alert-dialog.js.map +1 -1
  9. package/dist/alert-dialog.mjs +106 -1
  10. package/dist/alert-dialog.mjs.map +1 -1
  11. package/dist/alert.js +54 -1
  12. package/dist/alert.js.map +1 -1
  13. package/dist/alert.mjs +54 -1
  14. package/dist/alert.mjs.map +1 -1
  15. package/dist/aspect-ratio.js +8 -1
  16. package/dist/aspect-ratio.js.map +1 -1
  17. package/dist/aspect-ratio.mjs +8 -1
  18. package/dist/aspect-ratio.mjs.map +1 -1
  19. package/dist/avatar.js +47 -1
  20. package/dist/avatar.js.map +1 -1
  21. package/dist/avatar.mjs +47 -1
  22. package/dist/avatar.mjs.map +1 -1
  23. package/dist/badge.js +30 -1
  24. package/dist/badge.js.map +1 -1
  25. package/dist/badge.mjs +30 -1
  26. package/dist/badge.mjs.map +1 -1
  27. package/dist/breadcrumb.js +99 -1
  28. package/dist/breadcrumb.js.map +1 -1
  29. package/dist/breadcrumb.mjs +99 -1
  30. package/dist/breadcrumb.mjs.map +1 -1
  31. package/dist/button.d.mts +2 -2
  32. package/dist/button.d.ts +2 -2
  33. package/dist/button.js +9 -1
  34. package/dist/button.mjs +9 -1
  35. package/dist/calendar.js +82 -1
  36. package/dist/calendar.js.map +1 -1
  37. package/dist/calendar.mjs +82 -1
  38. package/dist/calendar.mjs.map +1 -1
  39. package/dist/card.js +66 -1
  40. package/dist/card.js.map +1 -1
  41. package/dist/card.mjs +66 -1
  42. package/dist/card.mjs.map +1 -1
  43. package/dist/carousel.js +193 -1
  44. package/dist/carousel.js.map +1 -1
  45. package/dist/carousel.mjs +193 -1
  46. package/dist/carousel.mjs.map +1 -1
  47. package/dist/checkbox.js +26 -1
  48. package/dist/checkbox.js.map +1 -1
  49. package/dist/checkbox.mjs +26 -1
  50. package/dist/checkbox.mjs.map +1 -1
  51. package/dist/chunk-4K26QLS2.js +52 -0
  52. package/dist/chunk-4K26QLS2.js.map +1 -0
  53. package/dist/chunk-5GHZ6EXI.js +41 -0
  54. package/dist/chunk-5GHZ6EXI.js.map +1 -0
  55. package/dist/chunk-EIHWTXQ4.mjs +112 -0
  56. package/dist/chunk-EIHWTXQ4.mjs.map +1 -0
  57. package/dist/chunk-G3NP7M2N.js +19 -0
  58. package/dist/chunk-G3NP7M2N.js.map +1 -0
  59. package/dist/chunk-LDYBRDAY.js +112 -0
  60. package/dist/chunk-LDYBRDAY.js.map +1 -0
  61. package/dist/chunk-PTD4AMHI.mjs +25 -0
  62. package/dist/{chunk-76AASLTX.mjs.map → chunk-PTD4AMHI.mjs.map} +1 -1
  63. package/dist/chunk-RTKEO347.js +25 -0
  64. package/dist/chunk-RTKEO347.js.map +1 -0
  65. package/dist/chunk-T52N6ZBP.mjs +41 -0
  66. package/dist/chunk-T52N6ZBP.mjs.map +1 -0
  67. package/dist/chunk-UG3URV2Z.mjs +19 -0
  68. package/dist/chunk-UG3URV2Z.mjs.map +1 -0
  69. package/dist/chunk-Z524G4RY.mjs +52 -0
  70. package/dist/chunk-Z524G4RY.mjs.map +1 -0
  71. package/dist/collapsible.js +12 -1
  72. package/dist/collapsible.js.map +1 -1
  73. package/dist/collapsible.mjs +12 -1
  74. package/dist/collapsible.mjs.map +1 -1
  75. package/dist/command.d.mts +8 -8
  76. package/dist/command.d.ts +8 -8
  77. package/dist/command.js +131 -1
  78. package/dist/command.js.map +1 -1
  79. package/dist/command.mjs +131 -1
  80. package/dist/command.mjs.map +1 -1
  81. package/dist/context-menu.d.mts +2 -2
  82. package/dist/context-menu.d.ts +2 -2
  83. package/dist/context-menu.js +169 -1
  84. package/dist/context-menu.js.map +1 -1
  85. package/dist/context-menu.mjs +169 -1
  86. package/dist/context-menu.mjs.map +1 -1
  87. package/dist/dialog.d.mts +1 -3
  88. package/dist/dialog.d.ts +1 -3
  89. package/dist/dialog.js +22 -1
  90. package/dist/dialog.mjs +22 -1
  91. package/dist/drawer.d.mts +1 -3
  92. package/dist/drawer.d.ts +1 -3
  93. package/dist/drawer.js +97 -1
  94. package/dist/drawer.js.map +1 -1
  95. package/dist/drawer.mjs +97 -1
  96. package/dist/drawer.mjs.map +1 -1
  97. package/dist/dropdown-menu.d.mts +1 -2
  98. package/dist/dropdown-menu.d.ts +1 -2
  99. package/dist/dropdown-menu.js +157 -1
  100. package/dist/dropdown-menu.js.map +1 -1
  101. package/dist/dropdown-menu.mjs +157 -1
  102. package/dist/dropdown-menu.mjs.map +1 -1
  103. package/dist/form.js +117 -1
  104. package/dist/form.js.map +1 -1
  105. package/dist/form.mjs +117 -1
  106. package/dist/form.mjs.map +1 -1
  107. package/dist/hover-card.js +30 -1
  108. package/dist/hover-card.js.map +1 -1
  109. package/dist/hover-card.mjs +30 -1
  110. package/dist/hover-card.mjs.map +1 -1
  111. package/dist/input-otp.d.mts +2 -2
  112. package/dist/input-otp.d.ts +2 -2
  113. package/dist/input-otp.js +59 -1
  114. package/dist/input-otp.js.map +1 -1
  115. package/dist/input-otp.mjs +59 -1
  116. package/dist/input-otp.mjs.map +1 -1
  117. package/dist/input.js +25 -1
  118. package/dist/input.js.map +1 -1
  119. package/dist/input.mjs +25 -1
  120. package/dist/input.mjs.map +1 -1
  121. package/dist/label.js +8 -1
  122. package/dist/label.mjs +8 -1
  123. package/dist/menubar.d.mts +1 -2
  124. package/dist/menubar.d.ts +1 -2
  125. package/dist/menubar.js +188 -1
  126. package/dist/menubar.js.map +1 -1
  127. package/dist/menubar.mjs +188 -1
  128. package/dist/menubar.mjs.map +1 -1
  129. package/dist/navigation-menu.js +124 -1
  130. package/dist/navigation-menu.js.map +1 -1
  131. package/dist/navigation-menu.mjs +124 -1
  132. package/dist/navigation-menu.mjs.map +1 -1
  133. package/dist/pagination.js +123 -1
  134. package/dist/pagination.js.map +1 -1
  135. package/dist/pagination.mjs +123 -1
  136. package/dist/pagination.mjs.map +1 -1
  137. package/dist/popover.d.mts +2 -1
  138. package/dist/popover.d.ts +2 -1
  139. package/dist/popover.js +42 -1
  140. package/dist/popover.js.map +1 -1
  141. package/dist/popover.mjs +42 -1
  142. package/dist/popover.mjs.map +1 -1
  143. package/dist/progress.js +33 -1
  144. package/dist/progress.js.map +1 -1
  145. package/dist/progress.mjs +33 -1
  146. package/dist/progress.mjs.map +1 -1
  147. package/dist/radio-group.js +46 -1
  148. package/dist/radio-group.js.map +1 -1
  149. package/dist/radio-group.mjs +46 -1
  150. package/dist/radio-group.mjs.map +1 -1
  151. package/dist/resizable.js +47 -1
  152. package/dist/resizable.js.map +1 -1
  153. package/dist/resizable.mjs +47 -1
  154. package/dist/resizable.mjs.map +1 -1
  155. package/dist/scroll-area.js +44 -1
  156. package/dist/scroll-area.js.map +1 -1
  157. package/dist/scroll-area.mjs +44 -1
  158. package/dist/scroll-area.mjs.map +1 -1
  159. package/dist/select.js +134 -1
  160. package/dist/select.js.map +1 -1
  161. package/dist/select.mjs +134 -1
  162. package/dist/select.mjs.map +1 -1
  163. package/dist/separator.js +29 -1
  164. package/dist/separator.js.map +1 -1
  165. package/dist/separator.mjs +29 -1
  166. package/dist/separator.mjs.map +1 -1
  167. package/dist/sheet.d.mts +1 -3
  168. package/dist/sheet.d.ts +1 -3
  169. package/dist/sheet.js +121 -1
  170. package/dist/sheet.js.map +1 -1
  171. package/dist/sheet.mjs +121 -1
  172. package/dist/sheet.mjs.map +1 -1
  173. package/dist/skeleton.js +21 -1
  174. package/dist/skeleton.js.map +1 -1
  175. package/dist/skeleton.mjs +21 -1
  176. package/dist/skeleton.mjs.map +1 -1
  177. package/dist/slider.js +28 -1
  178. package/dist/slider.js.map +1 -1
  179. package/dist/slider.mjs +28 -1
  180. package/dist/slider.mjs.map +1 -1
  181. package/dist/sonner.js +34 -1
  182. package/dist/sonner.js.map +1 -1
  183. package/dist/sonner.mjs +34 -1
  184. package/dist/sonner.mjs.map +1 -1
  185. package/dist/styles.css +1 -1
  186. package/dist/styles.css.map +1 -1
  187. package/dist/switch.js +25 -1
  188. package/dist/switch.js.map +1 -1
  189. package/dist/switch.mjs +25 -1
  190. package/dist/switch.mjs.map +1 -1
  191. package/dist/table.js +94 -1
  192. package/dist/table.js.map +1 -1
  193. package/dist/table.mjs +94 -1
  194. package/dist/table.mjs.map +1 -1
  195. package/dist/tabs.js +52 -1
  196. package/dist/tabs.js.map +1 -1
  197. package/dist/tabs.mjs +52 -1
  198. package/dist/tabs.mjs.map +1 -1
  199. package/dist/textarea.js +24 -1
  200. package/dist/textarea.js.map +1 -1
  201. package/dist/textarea.mjs +24 -1
  202. package/dist/textarea.mjs.map +1 -1
  203. package/dist/toggle-group.js +49 -1
  204. package/dist/toggle-group.js.map +1 -1
  205. package/dist/toggle-group.mjs +49 -1
  206. package/dist/toggle-group.mjs.map +1 -1
  207. package/dist/toggle.d.mts +1 -1
  208. package/dist/toggle.d.ts +1 -1
  209. package/dist/toggle.js +10 -1
  210. package/dist/toggle.mjs +10 -1
  211. package/dist/tooltip.d.mts +2 -3
  212. package/dist/tooltip.d.ts +2 -3
  213. package/dist/tooltip.js +41 -1
  214. package/dist/tooltip.js.map +1 -1
  215. package/dist/tooltip.mjs +41 -1
  216. package/dist/tooltip.mjs.map +1 -1
  217. package/dist/utils.js +10 -1
  218. package/dist/utils.mjs +10 -1
  219. package/package.json +3 -3
  220. package/src/accordion.tsx +2 -6
  221. package/src/alert-dialog.tsx +4 -35
  222. package/src/alert.tsx +1 -1
  223. package/src/avatar.tsx +1 -1
  224. package/src/badge.tsx +1 -1
  225. package/src/breadcrumb.tsx +1 -1
  226. package/src/button.tsx +5 -5
  227. package/src/calendar.tsx +6 -7
  228. package/src/card.tsx +1 -1
  229. package/src/checkbox.tsx +1 -2
  230. package/src/command.tsx +6 -17
  231. package/src/context-menu.tsx +32 -44
  232. package/src/dialog.tsx +9 -37
  233. package/src/drawer.tsx +3 -27
  234. package/src/dropdown-menu.tsx +15 -44
  235. package/src/form.tsx +0 -1
  236. package/src/hover-card.tsx +12 -20
  237. package/src/input-otp.tsx +2 -2
  238. package/src/input.tsx +1 -1
  239. package/src/menubar.tsx +17 -42
  240. package/src/navigation-menu.tsx +6 -19
  241. package/src/pagination.tsx +2 -4
  242. package/src/popover.tsx +18 -12
  243. package/src/progress.tsx +3 -1
  244. package/src/radio-group.tsx +6 -4
  245. package/src/resizable.tsx +2 -5
  246. package/src/select.tsx +13 -22
  247. package/src/sheet.tsx +15 -59
  248. package/src/slider.tsx +1 -1
  249. package/src/sonner.tsx +4 -2
  250. package/src/switch.tsx +2 -8
  251. package/src/table.tsx +2 -2
  252. package/src/tabs.tsx +3 -4
  253. package/src/textarea.tsx +1 -1
  254. package/src/toggle.tsx +4 -7
  255. package/src/tooltip.tsx +23 -34
  256. package/dist/chunk-4ZL55G6C.js +0 -2
  257. package/dist/chunk-4ZL55G6C.js.map +0 -1
  258. package/dist/chunk-76AASLTX.mjs +0 -2
  259. package/dist/chunk-7UVSBFQU.js +0 -2
  260. package/dist/chunk-7UVSBFQU.js.map +0 -1
  261. package/dist/chunk-BP7PEVLB.js +0 -2
  262. package/dist/chunk-BP7PEVLB.js.map +0 -1
  263. package/dist/chunk-BPCLLQ62.mjs +0 -2
  264. package/dist/chunk-BPCLLQ62.mjs.map +0 -1
  265. package/dist/chunk-CAGY2ZSE.js +0 -2
  266. package/dist/chunk-CAGY2ZSE.js.map +0 -1
  267. package/dist/chunk-JTI7KCLO.mjs +0 -2
  268. package/dist/chunk-JTI7KCLO.mjs.map +0 -1
  269. package/dist/chunk-QZCQ42BP.js +0 -2
  270. package/dist/chunk-QZCQ42BP.js.map +0 -1
  271. package/dist/chunk-WZ4XIF6U.mjs +0 -2
  272. package/dist/chunk-WZ4XIF6U.mjs.map +0 -1
  273. package/dist/chunk-YQJHVJVX.mjs +0 -2
  274. package/dist/chunk-YQJHVJVX.mjs.map +0 -1
@@ -27,12 +27,6 @@ const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
27
27
 
28
28
  const ContextMenuGroup = ContextMenuPrimitive.Group;
29
29
 
30
- /* -----------------------------------------------------------------------------
31
- * Component: ContextMenuPortal
32
- * -------------------------------------------------------------------------- */
33
-
34
- const ContextMenuPortal = ContextMenuPrimitive.Portal;
35
-
36
30
  /* -----------------------------------------------------------------------------
37
31
  * Component: ContextMenuSub
38
32
  * -------------------------------------------------------------------------- */
@@ -58,8 +52,7 @@ const ContextMenuSubTrigger = React.forwardRef<
58
52
  <ContextMenuPrimitive.SubTrigger
59
53
  ref={ref}
60
54
  className={cn(
61
- "focus:bg-accent focus:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
62
- "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
55
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
63
56
  inset && "pl-8",
64
57
  className,
65
58
  )}
@@ -79,24 +72,16 @@ const ContextMenuSubContent = React.forwardRef<
79
72
  React.ElementRef<typeof ContextMenuPrimitive.SubContent>,
80
73
  ContextMenuPrimitive.ContextMenuSubContentProps
81
74
  >(({ className, ...props }, ref) => (
82
- <ContextMenuPrimitive.SubContent
83
- ref={ref}
84
- className={cn(
85
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",
86
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
87
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
88
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
89
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
90
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
91
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
92
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
93
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
94
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
95
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
96
- className,
97
- )}
98
- {...props}
99
- />
75
+ <ContextMenuPrimitive.Portal>
76
+ <ContextMenuPrimitive.SubContent
77
+ ref={ref}
78
+ className={cn(
79
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
80
+ className,
81
+ )}
82
+ {...props}
83
+ />
84
+ </ContextMenuPrimitive.Portal>
100
85
  ));
101
86
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
102
87
 
@@ -112,17 +97,7 @@ const ContextMenuContent = React.forwardRef<
112
97
  <ContextMenuPrimitive.Content
113
98
  ref={ref}
114
99
  className={cn(
115
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",
116
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
117
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
118
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
119
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
120
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
121
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
122
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
123
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
124
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
125
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
100
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
126
101
  className,
127
102
  )}
128
103
  {...props}
@@ -144,8 +119,7 @@ const ContextMenuItem = React.forwardRef<
144
119
  <ContextMenuPrimitive.Item
145
120
  ref={ref}
146
121
  className={cn(
147
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
148
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
122
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
149
123
  inset && "pl-8",
150
124
  className,
151
125
  )}
@@ -165,8 +139,7 @@ const ContextMenuCheckboxItem = React.forwardRef<
165
139
  <ContextMenuPrimitive.CheckboxItem
166
140
  ref={ref}
167
141
  className={cn(
168
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
169
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
142
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
170
143
  className,
171
144
  )}
172
145
  checked={checked}
@@ -194,8 +167,7 @@ const ContextMenuRadioItem = React.forwardRef<
194
167
  <ContextMenuPrimitive.RadioItem
195
168
  ref={ref}
196
169
  className={cn(
197
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
198
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
170
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
199
171
  className,
200
172
  )}
201
173
  {...props}
@@ -267,6 +239,22 @@ function ContextMenuShortcut({
267
239
  );
268
240
  }
269
241
 
242
+ /* -----------------------------------------------------------------------------
243
+ * Component: ContextMenuArrow
244
+ * -------------------------------------------------------------------------- */
245
+
246
+ const ContextMenuArrow = React.forwardRef<
247
+ React.ElementRef<typeof ContextMenuPrimitive.Arrow>,
248
+ ContextMenuPrimitive.ContextMenuArrowProps
249
+ >(({ className, ...props }, ref) => (
250
+ <ContextMenuPrimitive.Arrow
251
+ ref={ref}
252
+ className={cn("fill-border", className)}
253
+ {...props}
254
+ />
255
+ ));
256
+ ContextMenuArrow.displayName = ContextMenuPrimitive.Arrow.displayName;
257
+
270
258
  /* -----------------------------------------------------------------------------
271
259
  * Exports
272
260
  * -------------------------------------------------------------------------- */
@@ -282,9 +270,9 @@ export {
282
270
  ContextMenuSeparator,
283
271
  ContextMenuShortcut,
284
272
  ContextMenuGroup,
285
- ContextMenuPortal,
286
273
  ContextMenuSub,
287
274
  ContextMenuSubContent,
288
275
  ContextMenuSubTrigger,
289
276
  ContextMenuRadioGroup,
277
+ ContextMenuArrow,
290
278
  };
package/src/dialog.tsx CHANGED
@@ -17,39 +17,12 @@ const Dialog = DialogPrimitive.Root;
17
17
 
18
18
  const DialogTrigger = DialogPrimitive.Trigger;
19
19
 
20
- /* -----------------------------------------------------------------------------
21
- * Component: DialogPortal
22
- * -------------------------------------------------------------------------- */
23
-
24
- const DialogPortal = DialogPrimitive.Portal;
25
-
26
20
  /* -----------------------------------------------------------------------------
27
21
  * Component: DialogClose
28
22
  * -------------------------------------------------------------------------- */
29
23
 
30
24
  const DialogClose = DialogPrimitive.Close;
31
25
 
32
- /* -----------------------------------------------------------------------------
33
- * Component: DialogOverlay
34
- * -------------------------------------------------------------------------- */
35
-
36
- const DialogOverlay = React.forwardRef<
37
- React.ElementRef<typeof DialogPrimitive.Overlay>,
38
- DialogPrimitive.DialogOverlayProps
39
- >(({ className, ...props }, ref) => (
40
- <DialogPrimitive.Overlay
41
- ref={ref}
42
- className={cn(
43
- "fixed inset-0 z-50 bg-black/80",
44
- "data-[state=open]:animate-in data-[state=open]:fade-in-0",
45
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
46
- className,
47
- )}
48
- {...props}
49
- />
50
- ));
51
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
52
-
53
26
  /* -----------------------------------------------------------------------------
54
27
  * Component: DialogContent
55
28
  * -------------------------------------------------------------------------- */
@@ -58,14 +31,16 @@ const DialogContent = React.forwardRef<
58
31
  React.ElementRef<typeof DialogPrimitive.Content>,
59
32
  DialogPrimitive.DialogContentProps
60
33
  >(({ className, children, ...props }, ref) => (
61
- <DialogPortal>
62
- <DialogOverlay />
34
+ <DialogPrimitive.Portal>
35
+ <DialogPrimitive.Overlay
36
+ className={cn(
37
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80",
38
+ )}
39
+ />
63
40
  <DialogPrimitive.Content
64
41
  ref={ref}
65
42
  className={cn(
66
- "bg-background fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",
67
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
68
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
43
+ "bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/3 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/3 fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 focus:outline-none sm:rounded-lg",
69
44
  className,
70
45
  )}
71
46
  {...props}
@@ -73,15 +48,14 @@ const DialogContent = React.forwardRef<
73
48
  {children}
74
49
  <DialogPrimitive.Close
75
50
  className={cn(
76
- "ring-offset-background focus:ring-ring absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",
77
- "data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
51
+ "focus:ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",
78
52
  )}
79
53
  >
80
54
  <Cross2Icon className="size-4" />
81
55
  <span className="sr-only">Close</span>
82
56
  </DialogPrimitive.Close>
83
57
  </DialogPrimitive.Content>
84
- </DialogPortal>
58
+ </DialogPrimitive.Portal>
85
59
  ));
86
60
  DialogContent.displayName = DialogPrimitive.Content.displayName;
87
61
 
@@ -164,8 +138,6 @@ DialogDescription.displayName = DialogPrimitive.Description.displayName;
164
138
 
165
139
  export {
166
140
  Dialog,
167
- DialogPortal,
168
- DialogOverlay,
169
141
  DialogTrigger,
170
142
  DialogClose,
171
143
  DialogContent,
package/src/drawer.tsx CHANGED
@@ -26,34 +26,12 @@ function Drawer({
26
26
 
27
27
  const DrawerTrigger = DrawerPrimitive.Trigger;
28
28
 
29
- /* -----------------------------------------------------------------------------
30
- * Component: DrawerPortal
31
- * -------------------------------------------------------------------------- */
32
-
33
- const DrawerPortal = DrawerPrimitive.Portal;
34
-
35
29
  /* -----------------------------------------------------------------------------
36
30
  * Component: DrawerClose
37
31
  * -------------------------------------------------------------------------- */
38
32
 
39
33
  const DrawerClose = DrawerPrimitive.Close;
40
34
 
41
- /* -----------------------------------------------------------------------------
42
- * Component: DrawerOverlay
43
- * -------------------------------------------------------------------------- */
44
-
45
- const DrawerOverlay = React.forwardRef<
46
- React.ElementRef<typeof DrawerPrimitive.Overlay>,
47
- React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>
48
- >(({ className, ...props }, ref) => (
49
- <DrawerPrimitive.Overlay
50
- ref={ref}
51
- className={cn("fixed inset-0 z-50 bg-black/80", className)}
52
- {...props}
53
- />
54
- ));
55
- DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
56
-
57
35
  /* -----------------------------------------------------------------------------
58
36
  * Component: DrawerContent
59
37
  * -------------------------------------------------------------------------- */
@@ -62,8 +40,8 @@ const DrawerContent = React.forwardRef<
62
40
  React.ElementRef<typeof DrawerPrimitive.Content>,
63
41
  React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>
64
42
  >(({ className, children, ...props }, ref) => (
65
- <DrawerPortal>
66
- <DrawerOverlay />
43
+ <DrawerPrimitive.Portal>
44
+ <DrawerPrimitive.Overlay className="fixed inset-0 z-50 bg-black/80" />
67
45
  <DrawerPrimitive.Content
68
46
  ref={ref}
69
47
  className={cn(
@@ -75,7 +53,7 @@ const DrawerContent = React.forwardRef<
75
53
  <div className="bg-muted mx-auto mt-4 h-2 w-[100px] rounded-full" />
76
54
  {children}
77
55
  </DrawerPrimitive.Content>
78
- </DrawerPortal>
56
+ </DrawerPrimitive.Portal>
79
57
  ));
80
58
  DrawerContent.displayName = "DrawerContent";
81
59
 
@@ -152,8 +130,6 @@ DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
152
130
 
153
131
  export {
154
132
  Drawer,
155
- DrawerPortal,
156
- DrawerOverlay,
157
133
  DrawerTrigger,
158
134
  DrawerClose,
159
135
  DrawerContent,
@@ -27,12 +27,6 @@ const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
27
27
 
28
28
  const DropdownMenuGroup = DropdownMenuPrimitive.Group;
29
29
 
30
- /* -----------------------------------------------------------------------------
31
- * Component: DropdownMenuPortal
32
- * -------------------------------------------------------------------------- */
33
-
34
- const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
35
-
36
30
  /* -----------------------------------------------------------------------------
37
31
  * Component: DropdownMenuSub
38
32
  * -------------------------------------------------------------------------- */
@@ -58,8 +52,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
58
52
  <DropdownMenuPrimitive.SubTrigger
59
53
  ref={ref}
60
54
  className={cn(
61
- "focus:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
62
- "data-[state=open]:bg-accent",
55
+ "focus:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
63
56
  inset && "pl-8",
64
57
  className,
65
58
  )}
@@ -80,24 +73,16 @@ const DropdownMenuSubContent = React.forwardRef<
80
73
  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
81
74
  DropdownMenuPrimitive.DropdownMenuSubContentProps
82
75
  >(({ className, ...props }, ref) => (
83
- <DropdownMenuPrimitive.SubContent
84
- ref={ref}
85
- className={cn(
86
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",
87
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
88
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
89
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
90
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
91
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
92
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
93
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
94
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
95
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
96
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
97
- className,
98
- )}
99
- {...props}
100
- />
76
+ <DropdownMenuPrimitive.Portal>
77
+ <DropdownMenuPrimitive.SubContent
78
+ ref={ref}
79
+ className={cn(
80
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
81
+ className,
82
+ )}
83
+ {...props}
84
+ />
85
+ </DropdownMenuPrimitive.Portal>
101
86
  ));
102
87
  DropdownMenuSubContent.displayName =
103
88
  DropdownMenuPrimitive.SubContent.displayName;
@@ -115,17 +100,7 @@ const DropdownMenuContent = React.forwardRef<
115
100
  ref={ref}
116
101
  sideOffset={sideOffset}
117
102
  className={cn(
118
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md",
119
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
120
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
121
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
122
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
123
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
124
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
125
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
126
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
127
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
128
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
103
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
129
104
  className,
130
105
  )}
131
106
  {...props}
@@ -147,8 +122,7 @@ const DropdownMenuItem = React.forwardRef<
147
122
  <DropdownMenuPrimitive.Item
148
123
  ref={ref}
149
124
  className={cn(
150
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors",
151
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
125
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
152
126
  inset && "pl-8",
153
127
  className,
154
128
  )}
@@ -168,8 +142,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
168
142
  <DropdownMenuPrimitive.CheckboxItem
169
143
  ref={ref}
170
144
  className={cn(
171
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors",
172
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
145
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
173
146
  className,
174
147
  )}
175
148
  checked={checked}
@@ -197,8 +170,7 @@ const DropdownMenuRadioItem = React.forwardRef<
197
170
  <DropdownMenuPrimitive.RadioItem
198
171
  ref={ref}
199
172
  className={cn(
200
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors",
201
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
173
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm transition-colors focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50",
202
174
  className,
203
175
  )}
204
176
  {...props}
@@ -282,7 +254,6 @@ export {
282
254
  DropdownMenuSeparator,
283
255
  DropdownMenuShortcut,
284
256
  DropdownMenuGroup,
285
- DropdownMenuPortal,
286
257
  DropdownMenuSub,
287
258
  DropdownMenuSubContent,
288
259
  DropdownMenuSubTrigger,
package/src/form.tsx CHANGED
@@ -9,7 +9,6 @@ import {
9
9
  type FieldValues,
10
10
  FormProvider,
11
11
  useFormContext,
12
- type UseFormGetFieldState,
13
12
  } from "react-hook-form";
14
13
  import { cn } from "./utils";
15
14
  import { Label } from "./label";
@@ -24,26 +24,18 @@ const HoverCardContent = React.forwardRef<
24
24
  React.ElementRef<typeof HoverCardPrimitive.Content>,
25
25
  HoverCardPrimitive.HoverCardContentProps
26
26
  >(({ className, align = "center", sideOffset = 4, ...props }, ref) => (
27
- <HoverCardPrimitive.Content
28
- ref={ref}
29
- align={align}
30
- sideOffset={sideOffset}
31
- className={cn(
32
- "bg-popover text-popover-foreground z-50 w-64 rounded-md border p-4 shadow-md outline-none",
33
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
34
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
35
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
36
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
37
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
38
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
39
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
40
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
41
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
42
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
43
- className,
44
- )}
45
- {...props}
46
- />
27
+ <HoverCardPrimitive.Portal>
28
+ <HoverCardPrimitive.Content
29
+ ref={ref}
30
+ align={align}
31
+ sideOffset={sideOffset}
32
+ className={cn(
33
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-0 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-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
34
+ className,
35
+ )}
36
+ {...props}
37
+ />
38
+ </HoverCardPrimitive.Portal>
47
39
  ));
48
40
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
49
41
 
package/src/input-otp.tsx CHANGED
@@ -56,8 +56,8 @@ const InputOTPSlot = React.forwardRef<
56
56
  <div
57
57
  ref={ref}
58
58
  className={cn(
59
- "border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
60
- slot?.isActive && "ring-ring ring-offset-background z-10 ring-2",
59
+ "border-input relative flex size-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
60
+ slot?.isActive && "ring-ring z-10 ring-2",
61
61
  className,
62
62
  )}
63
63
  {...props}
package/src/input.tsx CHANGED
@@ -13,7 +13,7 @@ const Input = React.forwardRef<
13
13
  <input
14
14
  type={type}
15
15
  className={cn(
16
- "border-input placeholder:text-muted-foreground focus-visible:ring-ring flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50",
16
+ "border-input focus-visible:ring-ring focus-visible:ring-offset-background placeholder:text-muted-foreground flex h-10 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
17
17
  className,
18
18
  )}
19
19
  ref={ref}
package/src/menubar.tsx CHANGED
@@ -21,12 +21,6 @@ const MenubarMenu = MenubarPrimitive.Menu;
21
21
 
22
22
  const MenubarGroup = MenubarPrimitive.Group;
23
23
 
24
- /* -----------------------------------------------------------------------------
25
- * Component: MenubarPortal
26
- * -------------------------------------------------------------------------- */
27
-
28
- const MenubarPortal = MenubarPrimitive.Portal;
29
-
30
24
  /* -----------------------------------------------------------------------------
31
25
  * Component: MenubarSub
32
26
  * -------------------------------------------------------------------------- */
@@ -50,7 +44,7 @@ const Menubar = React.forwardRef<
50
44
  <MenubarPrimitive.Root
51
45
  ref={ref}
52
46
  className={cn(
53
- "bg-background flex h-9 items-center space-x-1 rounded-md border p-1 shadow-sm",
47
+ "bg-background flex h-10 items-center space-x-1 rounded-md border p-1 shadow-sm",
54
48
  className,
55
49
  )}
56
50
  {...props}
@@ -69,8 +63,7 @@ const MenubarTrigger = React.forwardRef<
69
63
  <MenubarPrimitive.Trigger
70
64
  ref={ref}
71
65
  className={cn(
72
- "focus:bg-accent focus:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none",
73
- "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
66
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium focus:outline-none",
74
67
  className,
75
68
  )}
76
69
  {...props}
@@ -91,8 +84,7 @@ const MenubarSubTrigger = React.forwardRef<
91
84
  <MenubarPrimitive.SubTrigger
92
85
  ref={ref}
93
86
  className={cn(
94
- "focus:bg-accent focus:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
95
- "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
87
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm focus:outline-none",
96
88
  inset && "pl-8",
97
89
  className,
98
90
  )}
@@ -112,24 +104,16 @@ const MenubarSubContent = React.forwardRef<
112
104
  React.ElementRef<typeof MenubarPrimitive.SubContent>,
113
105
  MenubarPrimitive.MenubarSubContentProps
114
106
  >(({ className, ...props }, ref) => (
115
- <MenubarPrimitive.SubContent
116
- ref={ref}
117
- className={cn(
118
- "bg-popover text-popover-foreground z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",
119
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
120
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
121
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
122
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
123
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
124
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
125
- "data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",
126
- "data-[state=closed]:data-[side=left]:slide-out-to-right-2",
127
- "data-[state=closed]:data-[side=bottom]:slide-out-to-top-2",
128
- "data-[state=closed]:data-[side=right]:slide-out-to-left-2",
129
- className,
130
- )}
131
- {...props}
132
- />
107
+ <MenubarPrimitive.Portal>
108
+ <MenubarPrimitive.SubContent
109
+ ref={ref}
110
+ className={cn(
111
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
112
+ className,
113
+ )}
114
+ {...props}
115
+ />
116
+ </MenubarPrimitive.Portal>
133
117
  ));
134
118
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
135
119
 
@@ -152,12 +136,7 @@ const MenubarContent = React.forwardRef<
152
136
  alignOffset={alignOffset}
153
137
  sideOffset={sideOffset}
154
138
  className={cn(
155
- "bg-popover text-popover-foreground z-50 min-w-[12rem] overflow-hidden rounded-md border p-1 shadow-md",
156
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
157
- "data-[state=open]:data-[side=top]:slide-in-from-bottom-2",
158
- "data-[state=open]:data-[side=right]:slide-in-from-left-2",
159
- "data-[state=open]:data-[side=bottom]:slide-in-from-top-2",
160
- "data-[state=open]:data-[side=left]:slide-in-from-right-2",
139
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 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-[8rem] rounded-md border p-1 shadow-md focus:outline-none",
161
140
  className,
162
141
  )}
163
142
  {...props}
@@ -180,8 +159,7 @@ const MenubarItem = React.forwardRef<
180
159
  <MenubarPrimitive.Item
181
160
  ref={ref}
182
161
  className={cn(
183
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
184
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
162
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
185
163
  inset && "pl-8",
186
164
  className,
187
165
  )}
@@ -201,8 +179,7 @@ const MenubarCheckboxItem = React.forwardRef<
201
179
  <MenubarPrimitive.CheckboxItem
202
180
  ref={ref}
203
181
  className={cn(
204
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
205
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
182
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
206
183
  className,
207
184
  )}
208
185
  checked={checked}
@@ -229,8 +206,7 @@ const MenubarRadioItem = React.forwardRef<
229
206
  <MenubarPrimitive.RadioItem
230
207
  ref={ref}
231
208
  className={cn(
232
- "focus:bg-accent focus:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
233
- "aria-disabled:pointer-events-none aria-disabled:opacity-50",
209
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default 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",
234
210
  className,
235
211
  )}
236
212
  {...props}
@@ -317,7 +293,6 @@ export {
317
293
  MenubarCheckboxItem,
318
294
  MenubarRadioGroup,
319
295
  MenubarRadioItem,
320
- MenubarPortal,
321
296
  MenubarSubContent,
322
297
  MenubarSubTrigger,
323
298
  MenubarGroup,