@konopskidev/ui 0.1.2 → 0.2.0

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 (339) hide show
  1. package/README.md +102 -13
  2. package/dist/chunks/rolldown-runtime-CmQyd0Gu.cjs +27 -0
  3. package/dist/components/ui/accordion.cjs +62 -0
  4. package/dist/components/ui/accordion.cjs.map +1 -0
  5. package/dist/components/ui/accordion.d.cts +7 -0
  6. package/dist/components/ui/accordion.d.ts.map +1 -1
  7. package/dist/components/ui/accordion.js +9 -8
  8. package/dist/components/ui/accordion.js.map +1 -1
  9. package/dist/components/ui/alert-dialog.cjs +116 -0
  10. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  11. package/dist/components/ui/alert-dialog.d.cts +18 -0
  12. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  13. package/dist/components/ui/alert-dialog.js +13 -12
  14. package/dist/components/ui/alert-dialog.js.map +1 -1
  15. package/dist/components/ui/alert.cjs +49 -0
  16. package/dist/components/ui/alert.cjs.map +1 -0
  17. package/dist/components/ui/alert.d.cts +10 -0
  18. package/dist/components/ui/aspect-ratio.cjs +14 -0
  19. package/dist/components/ui/aspect-ratio.cjs.map +1 -0
  20. package/dist/components/ui/aspect-ratio.d.cts +3 -0
  21. package/dist/components/ui/aspect-ratio.js +4 -5
  22. package/dist/components/ui/aspect-ratio.js.map +1 -1
  23. package/dist/components/ui/attachment.cjs +113 -0
  24. package/dist/components/ui/attachment.cjs.map +1 -0
  25. package/dist/components/ui/attachment.d.cts +24 -0
  26. package/dist/components/ui/avatar.cjs +60 -0
  27. package/dist/components/ui/avatar.cjs.map +1 -0
  28. package/dist/components/ui/avatar.d.cts +11 -0
  29. package/dist/components/ui/avatar.d.ts.map +1 -1
  30. package/dist/components/ui/avatar.js +7 -6
  31. package/dist/components/ui/avatar.js.map +1 -1
  32. package/dist/components/ui/badge.cjs +33 -0
  33. package/dist/components/ui/badge.cjs.map +1 -0
  34. package/dist/components/ui/badge.d.cts +9 -0
  35. package/dist/components/ui/breadcrumb.cjs +81 -0
  36. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  37. package/dist/components/ui/breadcrumb.d.cts +11 -0
  38. package/dist/components/ui/bubble.cjs +79 -0
  39. package/dist/components/ui/bubble.cjs.map +1 -0
  40. package/dist/components/ui/bubble.d.cts +17 -0
  41. package/dist/components/ui/button-group.cjs +43 -0
  42. package/dist/components/ui/button-group.cjs.map +1 -0
  43. package/dist/components/ui/button-group.d.cts +11 -0
  44. package/dist/components/ui/button.cjs +64 -0
  45. package/dist/components/ui/button.cjs.map +1 -0
  46. package/dist/components/ui/button.d.cts +21 -0
  47. package/dist/components/ui/calendar.cjs +114 -0
  48. package/dist/components/ui/calendar.cjs.map +1 -0
  49. package/dist/components/ui/calendar.d.cts +10 -0
  50. package/dist/components/ui/calendar.js +0 -1
  51. package/dist/components/ui/calendar.js.map +1 -1
  52. package/dist/components/ui/card.cjs +80 -0
  53. package/dist/components/ui/card.cjs.map +1 -0
  54. package/dist/components/ui/card.d.cts +33 -0
  55. package/dist/components/ui/card.d.ts +7 -2
  56. package/dist/components/ui/card.d.ts.map +1 -1
  57. package/dist/components/ui/card.js.map +1 -1
  58. package/dist/components/ui/carousel.cjs +142 -0
  59. package/dist/components/ui/carousel.cjs.map +1 -0
  60. package/dist/components/ui/carousel.d.cts +28 -0
  61. package/dist/components/ui/carousel.d.ts +1 -1
  62. package/dist/components/ui/carousel.d.ts.map +1 -1
  63. package/dist/components/ui/carousel.js +1 -0
  64. package/dist/components/ui/carousel.js.map +1 -1
  65. package/dist/components/ui/chart.cjs +159 -0
  66. package/dist/components/ui/chart.cjs.map +1 -0
  67. package/dist/components/ui/chart.d.cts +44 -0
  68. package/dist/components/ui/chart.js +0 -1
  69. package/dist/components/ui/chart.js.map +1 -1
  70. package/dist/components/ui/checkbox.cjs +25 -0
  71. package/dist/components/ui/checkbox.cjs.map +1 -0
  72. package/dist/components/ui/checkbox.d.cts +4 -0
  73. package/dist/components/ui/checkbox.d.ts.map +1 -1
  74. package/dist/components/ui/checkbox.js +6 -5
  75. package/dist/components/ui/checkbox.js.map +1 -1
  76. package/dist/components/ui/code-block.cjs +134 -0
  77. package/dist/components/ui/code-block.cjs.map +1 -0
  78. package/dist/components/ui/code-block.d.cts +26 -0
  79. package/dist/components/ui/code-block.d.ts.map +1 -1
  80. package/dist/components/ui/code-block.js +1 -0
  81. package/dist/components/ui/code-block.js.map +1 -1
  82. package/dist/components/ui/collapsible.cjs +28 -0
  83. package/dist/components/ui/collapsible.cjs.map +1 -0
  84. package/dist/components/ui/collapsible.d.cts +5 -0
  85. package/dist/components/ui/collapsible.js +6 -7
  86. package/dist/components/ui/collapsible.js.map +1 -1
  87. package/dist/components/ui/combobox.cjs +193 -0
  88. package/dist/components/ui/combobox.cjs.map +1 -0
  89. package/dist/components/ui/combobox.d.cts +24 -0
  90. package/dist/components/ui/combobox.d.ts.map +1 -1
  91. package/dist/components/ui/combobox.js +22 -21
  92. package/dist/components/ui/combobox.js.map +1 -1
  93. package/dist/components/ui/command.cjs +99 -0
  94. package/dist/components/ui/command.cjs.map +1 -0
  95. package/dist/components/ui/command.d.cts +18 -0
  96. package/dist/components/ui/command.d.ts.map +1 -1
  97. package/dist/components/ui/command.js +10 -12
  98. package/dist/components/ui/command.js.map +1 -1
  99. package/dist/components/ui/context-menu.cjs +143 -0
  100. package/dist/components/ui/context-menu.cjs.map +1 -0
  101. package/dist/components/ui/context-menu.d.cts +31 -0
  102. package/dist/components/ui/context-menu.d.ts.map +1 -1
  103. package/dist/components/ui/context-menu.js +20 -19
  104. package/dist/components/ui/context-menu.js.map +1 -1
  105. package/dist/components/ui/dialog.cjs +148 -0
  106. package/dist/components/ui/dialog.cjs.map +1 -0
  107. package/dist/components/ui/dialog.d.cts +55 -0
  108. package/dist/components/ui/dialog.d.ts +41 -3
  109. package/dist/components/ui/dialog.d.ts.map +1 -1
  110. package/dist/components/ui/dialog.js +65 -26
  111. package/dist/components/ui/dialog.js.map +1 -1
  112. package/dist/components/ui/direction.cjs +19 -0
  113. package/dist/components/ui/direction.cjs.map +1 -0
  114. package/dist/components/ui/direction.d.cts +11 -0
  115. package/dist/components/ui/direction.d.ts +1 -1
  116. package/dist/components/ui/direction.d.ts.map +1 -1
  117. package/dist/components/ui/direction.js +0 -1
  118. package/dist/components/ui/direction.js.map +1 -1
  119. package/dist/components/ui/drawer.cjs +90 -0
  120. package/dist/components/ui/drawer.cjs.map +1 -0
  121. package/dist/components/ui/drawer.d.cts +13 -0
  122. package/dist/components/ui/drawer.js +11 -11
  123. package/dist/components/ui/drawer.js.map +1 -1
  124. package/dist/components/ui/dropdown-menu.cjs +146 -0
  125. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  126. package/dist/components/ui/dropdown-menu.d.cts +29 -0
  127. package/dist/components/ui/dropdown-menu.js +19 -20
  128. package/dist/components/ui/dropdown-menu.js.map +1 -1
  129. package/dist/components/ui/empty.cjs +66 -0
  130. package/dist/components/ui/empty.cjs.map +1 -0
  131. package/dist/components/ui/empty.d.cts +11 -0
  132. package/dist/components/ui/field.cjs +121 -0
  133. package/dist/components/ui/field.cjs.map +1 -0
  134. package/dist/components/ui/field.d.cts +24 -0
  135. package/dist/components/ui/field.js +0 -1
  136. package/dist/components/ui/field.js.map +1 -1
  137. package/dist/components/ui/hover-card.cjs +38 -0
  138. package/dist/components/ui/hover-card.cjs.map +1 -0
  139. package/dist/components/ui/hover-card.d.cts +6 -0
  140. package/dist/components/ui/hover-card.d.ts.map +1 -1
  141. package/dist/components/ui/hover-card.js +8 -7
  142. package/dist/components/ui/hover-card.js.map +1 -1
  143. package/dist/components/ui/input-group.cjs +87 -0
  144. package/dist/components/ui/input-group.cjs.map +1 -0
  145. package/dist/components/ui/input-group.d.cts +16 -0
  146. package/dist/components/ui/input-otp.cjs +54 -0
  147. package/dist/components/ui/input-otp.cjs.map +1 -0
  148. package/dist/components/ui/input-otp.d.cts +11 -0
  149. package/dist/components/ui/input-otp.js +0 -1
  150. package/dist/components/ui/input-otp.js.map +1 -1
  151. package/dist/components/ui/input.cjs +28 -0
  152. package/dist/components/ui/input.cjs.map +1 -0
  153. package/dist/components/ui/input.d.cts +10 -0
  154. package/dist/components/ui/item.cjs +133 -0
  155. package/dist/components/ui/item.cjs.map +1 -0
  156. package/dist/components/ui/item.d.cts +23 -0
  157. package/dist/components/ui/kbd.cjs +22 -0
  158. package/dist/components/ui/kbd.cjs.map +1 -0
  159. package/dist/components/ui/kbd.d.cts +3 -0
  160. package/dist/components/ui/label.cjs +19 -0
  161. package/dist/components/ui/label.cjs.map +1 -0
  162. package/dist/components/ui/label.d.cts +4 -0
  163. package/dist/components/ui/label.d.ts.map +1 -1
  164. package/dist/components/ui/label.js +5 -4
  165. package/dist/components/ui/label.js.map +1 -1
  166. package/dist/components/ui/marker.cjs +46 -0
  167. package/dist/components/ui/marker.cjs.map +1 -0
  168. package/dist/components/ui/marker.d.cts +11 -0
  169. package/dist/components/ui/menubar.cjs +154 -0
  170. package/dist/components/ui/menubar.cjs.map +1 -0
  171. package/dist/components/ui/menubar.d.cts +30 -0
  172. package/dist/components/ui/menubar.js +20 -21
  173. package/dist/components/ui/menubar.js.map +1 -1
  174. package/dist/components/ui/message-scroller.cjs +87 -0
  175. package/dist/components/ui/message-scroller.cjs.map +1 -0
  176. package/dist/components/ui/message-scroller.d.cts +10 -0
  177. package/dist/components/ui/message-scroller.js +9 -9
  178. package/dist/components/ui/message-scroller.js.map +1 -1
  179. package/dist/components/ui/message.cjs +58 -0
  180. package/dist/components/ui/message.cjs.map +1 -0
  181. package/dist/components/ui/message.d.cts +10 -0
  182. package/dist/components/ui/native-select.cjs +44 -0
  183. package/dist/components/ui/native-select.cjs.map +1 -0
  184. package/dist/components/ui/native-select.d.cts +8 -0
  185. package/dist/components/ui/native-select.d.ts +1 -1
  186. package/dist/components/ui/native-select.d.ts.map +1 -1
  187. package/dist/components/ui/native-select.js.map +1 -1
  188. package/dist/components/ui/navigation-menu.cjs +93 -0
  189. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  190. package/dist/components/ui/navigation-menu.d.cts +14 -0
  191. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  192. package/dist/components/ui/navigation-menu.js +12 -11
  193. package/dist/components/ui/navigation-menu.js.map +1 -1
  194. package/dist/components/ui/pagination.cjs +90 -0
  195. package/dist/components/ui/pagination.cjs.map +1 -0
  196. package/dist/components/ui/pagination.d.cts +17 -0
  197. package/dist/components/ui/pagination.d.ts +1 -1
  198. package/dist/components/ui/pagination.d.ts.map +1 -1
  199. package/dist/components/ui/pagination.js.map +1 -1
  200. package/dist/components/ui/popover.cjs +66 -0
  201. package/dist/components/ui/popover.cjs.map +1 -0
  202. package/dist/components/ui/popover.d.cts +10 -0
  203. package/dist/components/ui/popover.d.ts.map +1 -1
  204. package/dist/components/ui/popover.js +8 -7
  205. package/dist/components/ui/popover.js.map +1 -1
  206. package/dist/components/ui/progress.cjs +25 -0
  207. package/dist/components/ui/progress.cjs.map +1 -0
  208. package/dist/components/ui/progress.d.cts +4 -0
  209. package/dist/components/ui/progress.js +5 -6
  210. package/dist/components/ui/progress.js.map +1 -1
  211. package/dist/components/ui/questionnaire.cjs +187 -0
  212. package/dist/components/ui/questionnaire.cjs.map +1 -0
  213. package/dist/components/ui/questionnaire.d.cts +19 -0
  214. package/dist/components/ui/questionnaire.d.ts.map +1 -1
  215. package/dist/components/ui/questionnaire.js +19 -21
  216. package/dist/components/ui/questionnaire.js.map +1 -1
  217. package/dist/components/ui/radio-group.cjs +32 -0
  218. package/dist/components/ui/radio-group.cjs.map +1 -0
  219. package/dist/components/ui/radio-group.d.cts +5 -0
  220. package/dist/components/ui/radio-group.d.ts.map +1 -1
  221. package/dist/components/ui/radio-group.js +7 -6
  222. package/dist/components/ui/radio-group.js.map +1 -1
  223. package/dist/components/ui/resizable.cjs +33 -0
  224. package/dist/components/ui/resizable.cjs.map +1 -0
  225. package/dist/components/ui/resizable.d.cts +7 -0
  226. package/dist/components/ui/resizable.d.ts.map +1 -1
  227. package/dist/components/ui/resizable.js +0 -2
  228. package/dist/components/ui/resizable.js.map +1 -1
  229. package/dist/components/ui/scroll-area.cjs +43 -0
  230. package/dist/components/ui/scroll-area.cjs.map +1 -0
  231. package/dist/components/ui/scroll-area.d.cts +5 -0
  232. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  233. package/dist/components/ui/scroll-area.js +9 -8
  234. package/dist/components/ui/scroll-area.js.map +1 -1
  235. package/dist/components/ui/select.cjs +113 -0
  236. package/dist/components/ui/select.cjs.map +1 -0
  237. package/dist/components/ui/select.d.cts +15 -0
  238. package/dist/components/ui/select.js +17 -18
  239. package/dist/components/ui/select.js.map +1 -1
  240. package/dist/components/ui/separator.cjs +21 -0
  241. package/dist/components/ui/separator.cjs.map +1 -0
  242. package/dist/components/ui/separator.d.cts +4 -0
  243. package/dist/components/ui/separator.d.ts.map +1 -1
  244. package/dist/components/ui/separator.js +5 -4
  245. package/dist/components/ui/separator.js.map +1 -1
  246. package/dist/components/ui/sheet.cjs +101 -0
  247. package/dist/components/ui/sheet.cjs.map +1 -0
  248. package/dist/components/ui/sheet.d.cts +14 -0
  249. package/dist/components/ui/sheet.d.ts.map +1 -1
  250. package/dist/components/ui/sheet.js +1 -0
  251. package/dist/components/ui/sheet.js.map +1 -1
  252. package/dist/components/ui/sidebar.cjs +405 -0
  253. package/dist/components/ui/sidebar.cjs.map +1 -0
  254. package/dist/components/ui/sidebar.d.cts +69 -0
  255. package/dist/components/ui/sidebar.js +0 -1
  256. package/dist/components/ui/sidebar.js.map +1 -1
  257. package/dist/components/ui/skeleton.cjs +14 -0
  258. package/dist/components/ui/skeleton.cjs.map +1 -0
  259. package/dist/components/ui/skeleton.d.cts +2 -0
  260. package/dist/components/ui/slider.cjs +42 -0
  261. package/dist/components/ui/slider.cjs.map +1 -0
  262. package/dist/components/ui/slider.d.cts +7 -0
  263. package/dist/components/ui/slider.js +7 -8
  264. package/dist/components/ui/slider.js.map +1 -1
  265. package/dist/components/ui/sonner.cjs +36 -0
  266. package/dist/components/ui/sonner.cjs.map +1 -0
  267. package/dist/components/ui/sonner.d.cts +13 -0
  268. package/dist/components/ui/sonner.d.ts.map +1 -1
  269. package/dist/components/ui/sonner.js +4 -6
  270. package/dist/components/ui/sonner.js.map +1 -1
  271. package/dist/components/ui/spinner.cjs +17 -0
  272. package/dist/components/ui/spinner.cjs.map +1 -0
  273. package/dist/components/ui/spinner.d.cts +2 -0
  274. package/dist/components/ui/switch.cjs +24 -0
  275. package/dist/components/ui/switch.cjs.map +1 -0
  276. package/dist/components/ui/switch.d.cts +6 -0
  277. package/dist/components/ui/switch.js +5 -6
  278. package/dist/components/ui/switch.js.map +1 -1
  279. package/dist/components/ui/table.cjs +77 -0
  280. package/dist/components/ui/table.cjs.map +1 -0
  281. package/dist/components/ui/table.d.cts +10 -0
  282. package/dist/components/ui/tabs.cjs +54 -0
  283. package/dist/components/ui/tabs.cjs.map +1 -0
  284. package/dist/components/ui/tabs.d.cts +11 -0
  285. package/dist/components/ui/tabs.js +7 -8
  286. package/dist/components/ui/tabs.js.map +1 -1
  287. package/dist/components/ui/textarea.cjs +39 -0
  288. package/dist/components/ui/textarea.cjs.map +1 -0
  289. package/dist/components/ui/textarea.d.cts +9 -0
  290. package/dist/components/ui/textarea.js +0 -1
  291. package/dist/components/ui/textarea.js.map +1 -1
  292. package/dist/components/ui/toggle-group.cjs +56 -0
  293. package/dist/components/ui/toggle-group.cjs.map +1 -0
  294. package/dist/components/ui/toggle-group.d.cts +10 -0
  295. package/dist/components/ui/toggle-group.js +5 -6
  296. package/dist/components/ui/toggle-group.js.map +1 -1
  297. package/dist/components/ui/toggle.cjs +41 -0
  298. package/dist/components/ui/toggle.cjs.map +1 -0
  299. package/dist/components/ui/toggle.d.cts +9 -0
  300. package/dist/components/ui/toggle.d.ts.map +1 -1
  301. package/dist/components/ui/toggle.js +5 -4
  302. package/dist/components/ui/toggle.js.map +1 -1
  303. package/dist/components/ui/tooltip.cjs +43 -0
  304. package/dist/components/ui/tooltip.cjs.map +1 -0
  305. package/dist/components/ui/tooltip.d.cts +7 -0
  306. package/dist/components/ui/tooltip.js +8 -9
  307. package/dist/components/ui/tooltip.js.map +1 -1
  308. package/dist/components/ui/trace.cjs +86 -0
  309. package/dist/components/ui/trace.cjs.map +1 -0
  310. package/dist/components/ui/trace.d.cts +18 -0
  311. package/dist/hooks/use-highlighted-code.d.ts.map +1 -1
  312. package/dist/hooks/use-highlighted-code.js +56 -0
  313. package/dist/hooks/use-highlighted-code.js.map +1 -0
  314. package/dist/hooks/use-mobile.cjs +26 -0
  315. package/dist/hooks/use-mobile.cjs.map +1 -0
  316. package/dist/hooks/use-mobile.d.cts +1 -0
  317. package/dist/hooks/use-mobile.d.ts.map +1 -1
  318. package/dist/hooks/use-mobile.js +1 -0
  319. package/dist/hooks/use-mobile.js.map +1 -1
  320. package/dist/index.cjs +356 -0
  321. package/dist/index.d.cts +67 -0
  322. package/dist/index.d.ts +5 -11
  323. package/dist/index.d.ts.map +1 -1
  324. package/dist/index.js +3 -14
  325. package/dist/lib/get-placeholder.cjs +13 -0
  326. package/dist/lib/get-placeholder.cjs.map +1 -0
  327. package/dist/lib/get-placeholder.d.cts +5 -0
  328. package/dist/lib/highlighter.js +79 -0
  329. package/dist/lib/highlighter.js.map +1 -0
  330. package/dist/lib/utils.cjs +8 -0
  331. package/dist/lib/utils.d.cts +8 -0
  332. package/{src → dist}/styles/globals.css +11 -0
  333. package/package.json +111 -32
  334. /package/{src → dist}/styles/base.css +0 -0
  335. /package/{src → dist}/styles/prose.css +0 -0
  336. /package/{src → dist}/styles/theme.css +0 -0
  337. /package/{src → dist}/styles/tokens.css +0 -0
  338. /package/{src → dist}/styles/utilities.css +0 -0
  339. /package/{src → dist}/styles/variants.css +0 -0
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_rolldown_runtime = require("../../chunks/rolldown-runtime-CmQyd0Gu.cjs");
4
+ let cn = require("cn");
5
+ let lucide_react = require("lucide-react");
6
+ let radix_ui = require("radix-ui");
7
+ let react = require("react");
8
+ react = require_rolldown_runtime.__toESM(react, 1);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ // src/components/ui/menubar.tsx
11
+ function Menubar({ className, ...props }) {
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Root, {
13
+ "data-slot": "menubar",
14
+ className: (0, cn.cn)("flex h-8 items-center gap-0.5 rounded-sm border p-[3px]", className),
15
+ ...props
16
+ });
17
+ }
18
+ function MenubarMenu({ ...props }) {
19
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Menu, {
20
+ "data-slot": "menubar-menu",
21
+ ...props
22
+ });
23
+ }
24
+ function MenubarGroup({ ...props }) {
25
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Group, {
26
+ "data-slot": "menubar-group",
27
+ ...props
28
+ });
29
+ }
30
+ function MenubarPortal({ ...props }) {
31
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Portal, {
32
+ "data-slot": "menubar-portal",
33
+ ...props
34
+ });
35
+ }
36
+ function MenubarRadioGroup({ ...props }) {
37
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.RadioGroup, {
38
+ "data-slot": "menubar-radio-group",
39
+ ...props
40
+ });
41
+ }
42
+ function MenubarTrigger({ className, ...props }) {
43
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Trigger, {
44
+ "data-slot": "menubar-trigger",
45
+ className: (0, cn.cn)("flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", className),
46
+ ...props
47
+ });
48
+ }
49
+ function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
50
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MenubarPortal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Content, {
51
+ "data-slot": "menubar-content",
52
+ align,
53
+ alignOffset,
54
+ sideOffset,
55
+ className: (0, cn.cn)("z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", className),
56
+ ...props
57
+ }) });
58
+ }
59
+ function MenubarItem({ className, inset, variant = "default", ...props }) {
60
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Item, {
61
+ "data-slot": "menubar-item",
62
+ "data-inset": inset,
63
+ "data-variant": variant,
64
+ className: (0, cn.cn)("group/menubar-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!", className),
65
+ ...props
66
+ });
67
+ }
68
+ function MenubarCheckboxItem({ className, children, checked, inset, ...props }) {
69
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(radix_ui.Menubar.CheckboxItem, {
70
+ "data-slot": "menubar-checkbox-item",
71
+ "data-inset": inset,
72
+ className: (0, cn.cn)("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
73
+ checked,
74
+ ...props,
75
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
76
+ className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
77
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CheckIcon, {}) })
78
+ }), children]
79
+ });
80
+ }
81
+ function MenubarRadioItem({ className, children, inset, ...props }) {
82
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(radix_ui.Menubar.RadioItem, {
83
+ "data-slot": "menubar-radio-item",
84
+ "data-inset": inset,
85
+ className: (0, cn.cn)("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
86
+ ...props,
87
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
88
+ className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
89
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.ItemIndicator, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.CheckIcon, {}) })
90
+ }), children]
91
+ });
92
+ }
93
+ function MenubarLabel({ className, inset, ...props }) {
94
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Label, {
95
+ "data-slot": "menubar-label",
96
+ "data-inset": inset,
97
+ className: (0, cn.cn)("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className),
98
+ ...props
99
+ });
100
+ }
101
+ function MenubarSeparator({ className, ...props }) {
102
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Separator, {
103
+ "data-slot": "menubar-separator",
104
+ className: (0, cn.cn)("-mx-1 my-1 h-px bg-border", className),
105
+ ...props
106
+ });
107
+ }
108
+ function MenubarShortcut({ className, ...props }) {
109
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
110
+ "data-slot": "menubar-shortcut",
111
+ className: (0, cn.cn)("ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
112
+ ...props
113
+ });
114
+ }
115
+ function MenubarSub({ ...props }) {
116
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.Sub, {
117
+ "data-slot": "menubar-sub",
118
+ ...props
119
+ });
120
+ }
121
+ function MenubarSubTrigger({ className, inset, children, ...props }) {
122
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(radix_ui.Menubar.SubTrigger, {
123
+ "data-slot": "menubar-sub-trigger",
124
+ "data-inset": inset,
125
+ className: (0, cn.cn)("flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4", className),
126
+ ...props,
127
+ children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, { className: "ml-auto size-4" })]
128
+ });
129
+ }
130
+ function MenubarSubContent({ className, ...props }) {
131
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Menubar.SubContent, {
132
+ "data-slot": "menubar-sub-content",
133
+ className: (0, cn.cn)("z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
134
+ ...props
135
+ });
136
+ }
137
+ exports.Menubar = Menubar;
138
+ exports.MenubarCheckboxItem = MenubarCheckboxItem;
139
+ exports.MenubarContent = MenubarContent;
140
+ exports.MenubarGroup = MenubarGroup;
141
+ exports.MenubarItem = MenubarItem;
142
+ exports.MenubarLabel = MenubarLabel;
143
+ exports.MenubarMenu = MenubarMenu;
144
+ exports.MenubarPortal = MenubarPortal;
145
+ exports.MenubarRadioGroup = MenubarRadioGroup;
146
+ exports.MenubarRadioItem = MenubarRadioItem;
147
+ exports.MenubarSeparator = MenubarSeparator;
148
+ exports.MenubarShortcut = MenubarShortcut;
149
+ exports.MenubarSub = MenubarSub;
150
+ exports.MenubarSubContent = MenubarSubContent;
151
+ exports.MenubarSubTrigger = MenubarSubTrigger;
152
+ exports.MenubarTrigger = MenubarTrigger;
153
+
154
+ //# sourceMappingURL=menubar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.cjs","names":["MenubarPrimitive","CheckIcon","ChevronRightIcon"],"sources":["../../../src/components/ui/menubar.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from 'cn';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { Menubar as MenubarPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn('flex h-8 items-center gap-0.5 rounded-sm border p-[3px]', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n 'flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/menubar-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-sm font-medium data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n 'z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { Menubar as MenubarPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>): React.JSX.Element;
4
+ declare function MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>): React.JSX.Element;
5
+ declare function MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>): React.JSX.Element;
6
+ declare function MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>): React.JSX.Element;
7
+ declare function MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>): React.JSX.Element;
8
+ declare function MenubarTrigger({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Trigger>): React.JSX.Element;
9
+ declare function MenubarContent({ className, align, alignOffset, sideOffset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Content>): React.JSX.Element;
10
+ declare function MenubarItem({ className, inset, variant, ...props }: React.ComponentProps<typeof MenubarPrimitive.Item> & {
11
+ inset?: boolean;
12
+ variant?: 'default' | 'destructive';
13
+ }): React.JSX.Element;
14
+ declare function MenubarCheckboxItem({ className, children, checked, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {
15
+ inset?: boolean;
16
+ }): React.JSX.Element;
17
+ declare function MenubarRadioItem({ className, children, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {
18
+ inset?: boolean;
19
+ }): React.JSX.Element;
20
+ declare function MenubarLabel({ className, inset, ...props }: React.ComponentProps<typeof MenubarPrimitive.Label> & {
21
+ inset?: boolean;
22
+ }): React.JSX.Element;
23
+ declare function MenubarSeparator({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Separator>): React.JSX.Element;
24
+ declare function MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element;
25
+ declare function MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>): React.JSX.Element;
26
+ declare function MenubarSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
27
+ inset?: boolean;
28
+ }): React.JSX.Element;
29
+ declare function MenubarSubContent({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubContent>): React.JSX.Element;
30
+ export { Menubar, MenubarPortal, MenubarMenu, MenubarTrigger, MenubarContent, MenubarGroup, MenubarSeparator, MenubarLabel, MenubarItem, MenubarShortcut, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarSub, MenubarSubTrigger, MenubarSubContent, };
@@ -1,51 +1,50 @@
1
1
  "use client";
2
- "use client";
3
2
  import { cn } from "cn";
4
3
  import { CheckIcon, ChevronRightIcon } from "lucide-react";
5
- import { Menubar } from "radix-ui";
4
+ import { Menubar as Menubar$1 } from "radix-ui";
6
5
  import "react";
7
6
  import { jsx, jsxs } from "react/jsx-runtime";
8
7
  // src/components/ui/menubar.tsx
9
- function Menubar$1({ className, ...props }) {
10
- return /* @__PURE__ */ jsx(Menubar.Root, {
8
+ function Menubar({ className, ...props }) {
9
+ return /* @__PURE__ */ jsx(Menubar$1.Root, {
11
10
  "data-slot": "menubar",
12
11
  className: cn("flex h-8 items-center gap-0.5 rounded-sm border p-[3px]", className),
13
12
  ...props
14
13
  });
15
14
  }
16
15
  function MenubarMenu({ ...props }) {
17
- return /* @__PURE__ */ jsx(Menubar.Menu, {
16
+ return /* @__PURE__ */ jsx(Menubar$1.Menu, {
18
17
  "data-slot": "menubar-menu",
19
18
  ...props
20
19
  });
21
20
  }
22
21
  function MenubarGroup({ ...props }) {
23
- return /* @__PURE__ */ jsx(Menubar.Group, {
22
+ return /* @__PURE__ */ jsx(Menubar$1.Group, {
24
23
  "data-slot": "menubar-group",
25
24
  ...props
26
25
  });
27
26
  }
28
27
  function MenubarPortal({ ...props }) {
29
- return /* @__PURE__ */ jsx(Menubar.Portal, {
28
+ return /* @__PURE__ */ jsx(Menubar$1.Portal, {
30
29
  "data-slot": "menubar-portal",
31
30
  ...props
32
31
  });
33
32
  }
34
33
  function MenubarRadioGroup({ ...props }) {
35
- return /* @__PURE__ */ jsx(Menubar.RadioGroup, {
34
+ return /* @__PURE__ */ jsx(Menubar$1.RadioGroup, {
36
35
  "data-slot": "menubar-radio-group",
37
36
  ...props
38
37
  });
39
38
  }
40
39
  function MenubarTrigger({ className, ...props }) {
41
- return /* @__PURE__ */ jsx(Menubar.Trigger, {
40
+ return /* @__PURE__ */ jsx(Menubar$1.Trigger, {
42
41
  "data-slot": "menubar-trigger",
43
42
  className: cn("flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", className),
44
43
  ...props
45
44
  });
46
45
  }
47
46
  function MenubarContent({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) {
48
- return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(Menubar.Content, {
47
+ return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(Menubar$1.Content, {
49
48
  "data-slot": "menubar-content",
50
49
  align,
51
50
  alignOffset,
@@ -55,7 +54,7 @@ function MenubarContent({ className, align = "start", alignOffset = -4, sideOffs
55
54
  }) });
56
55
  }
57
56
  function MenubarItem({ className, inset, variant = "default", ...props }) {
58
- return /* @__PURE__ */ jsx(Menubar.Item, {
57
+ return /* @__PURE__ */ jsx(Menubar$1.Item, {
59
58
  "data-slot": "menubar-item",
60
59
  "data-inset": inset,
61
60
  "data-variant": variant,
@@ -64,7 +63,7 @@ function MenubarItem({ className, inset, variant = "default", ...props }) {
64
63
  });
65
64
  }
66
65
  function MenubarCheckboxItem({ className, children, checked, inset, ...props }) {
67
- return /* @__PURE__ */ jsxs(Menubar.CheckboxItem, {
66
+ return /* @__PURE__ */ jsxs(Menubar$1.CheckboxItem, {
68
67
  "data-slot": "menubar-checkbox-item",
69
68
  "data-inset": inset,
70
69
  className: cn("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
@@ -72,24 +71,24 @@ function MenubarCheckboxItem({ className, children, checked, inset, ...props })
72
71
  ...props,
73
72
  children: [/* @__PURE__ */ jsx("span", {
74
73
  className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
75
- children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
74
+ children: /* @__PURE__ */ jsx(Menubar$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
76
75
  }), children]
77
76
  });
78
77
  }
79
78
  function MenubarRadioItem({ className, children, inset, ...props }) {
80
- return /* @__PURE__ */ jsxs(Menubar.RadioItem, {
79
+ return /* @__PURE__ */ jsxs(Menubar$1.RadioItem, {
81
80
  "data-slot": "menubar-radio-item",
82
81
  "data-inset": inset,
83
82
  className: cn("relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
84
83
  ...props,
85
84
  children: [/* @__PURE__ */ jsx("span", {
86
85
  className: "pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
87
- children: /* @__PURE__ */ jsx(Menubar.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
86
+ children: /* @__PURE__ */ jsx(Menubar$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
88
87
  }), children]
89
88
  });
90
89
  }
91
90
  function MenubarLabel({ className, inset, ...props }) {
92
- return /* @__PURE__ */ jsx(Menubar.Label, {
91
+ return /* @__PURE__ */ jsx(Menubar$1.Label, {
93
92
  "data-slot": "menubar-label",
94
93
  "data-inset": inset,
95
94
  className: cn("px-1.5 py-1 text-sm font-medium data-inset:pl-7", className),
@@ -97,7 +96,7 @@ function MenubarLabel({ className, inset, ...props }) {
97
96
  });
98
97
  }
99
98
  function MenubarSeparator({ className, ...props }) {
100
- return /* @__PURE__ */ jsx(Menubar.Separator, {
99
+ return /* @__PURE__ */ jsx(Menubar$1.Separator, {
101
100
  "data-slot": "menubar-separator",
102
101
  className: cn("-mx-1 my-1 h-px bg-border", className),
103
102
  ...props
@@ -111,13 +110,13 @@ function MenubarShortcut({ className, ...props }) {
111
110
  });
112
111
  }
113
112
  function MenubarSub({ ...props }) {
114
- return /* @__PURE__ */ jsx(Menubar.Sub, {
113
+ return /* @__PURE__ */ jsx(Menubar$1.Sub, {
115
114
  "data-slot": "menubar-sub",
116
115
  ...props
117
116
  });
118
117
  }
119
118
  function MenubarSubTrigger({ className, inset, children, ...props }) {
120
- return /* @__PURE__ */ jsxs(Menubar.SubTrigger, {
119
+ return /* @__PURE__ */ jsxs(Menubar$1.SubTrigger, {
121
120
  "data-slot": "menubar-sub-trigger",
122
121
  "data-inset": inset,
123
122
  className: cn("flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4", className),
@@ -126,12 +125,12 @@ function MenubarSubTrigger({ className, inset, children, ...props }) {
126
125
  });
127
126
  }
128
127
  function MenubarSubContent({ className, ...props }) {
129
- return /* @__PURE__ */ jsx(Menubar.SubContent, {
128
+ return /* @__PURE__ */ jsx(Menubar$1.SubContent, {
130
129
  "data-slot": "menubar-sub-content",
131
130
  className: cn("z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
132
131
  ...props
133
132
  });
134
133
  }
135
- export { Menubar$1 as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
134
+ export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
136
135
 
137
136
  //# sourceMappingURL=menubar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menubar.js","names":["Menubar","MenubarPrimitive"],"sources":["../../../src/components/ui/menubar.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from 'cn';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { Menubar as MenubarPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn('flex h-8 items-center gap-0.5 rounded-sm border p-[3px]', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n 'flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/menubar-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-sm font-medium data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n 'z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"menubar.js","names":["MenubarPrimitive"],"sources":["../../../src/components/ui/menubar.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from 'cn';\nimport { CheckIcon, ChevronRightIcon } from 'lucide-react';\nimport { Menubar as MenubarPrimitive } from 'radix-ui';\nimport * as React from 'react';\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn('flex h-8 items-center gap-0.5 rounded-sm border p-[3px]', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n 'flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95',\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/menubar-item relative flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-sm py-1 pr-1.5 pl-7 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-1.5 flex size-4 items-center justify-center [&_svg:not([class*='size-'])]:size-4\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-sm font-medium data-inset:pl-7', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn('-mx-1 my-1 h-px bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n 'ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default items-center gap-1.5 rounded-sm px-1.5 py-1 text-sm outline-none select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n 'z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-sm border border-border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../../chunks/rolldown-runtime-CmQyd0Gu.cjs");
3
+ const require_components_ui_button = require("./button.cjs");
4
+ let cn = require("cn");
5
+ let lucide_react = require("lucide-react");
6
+ let react = require("react");
7
+ react = require_rolldown_runtime.__toESM(react, 1);
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ let _shadcn_react_message_scroller = require("@shadcn/react/message-scroller");
10
+ // src/components/ui/message-scroller.tsx
11
+ function MessageScrollerProvider(props) {
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Provider, { ...props });
13
+ }
14
+ function MessageScroller({ className, ...props }) {
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Root, {
16
+ "data-slot": "message-scroller",
17
+ className: (0, cn.cn)("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className),
18
+ ...props
19
+ });
20
+ }
21
+ function MessageScrollerViewport({ className, ...props }) {
22
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Viewport, {
23
+ "data-slot": "message-scroller-viewport",
24
+ className: (0, cn.cn)("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible", className),
25
+ ...props
26
+ });
27
+ }
28
+ function MessageScrollerContent({ className, ...props }) {
29
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Content, {
30
+ "data-slot": "message-scroller-content",
31
+ className: (0, cn.cn)("flex h-max min-h-full flex-col gap-6", className),
32
+ ...props
33
+ });
34
+ }
35
+ function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
36
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Item, {
37
+ "data-slot": "message-scroller-item",
38
+ scrollAnchor,
39
+ className: (0, cn.cn)("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className),
40
+ ...props
41
+ });
42
+ }
43
+ function MessageScrollerButton({ direction = "end", className, children, render, variant = "secondary", size = "icon-sm", ...props }) {
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_shadcn_react_message_scroller.MessageScroller.Button, {
45
+ "data-slot": "message-scroller-button",
46
+ "data-direction": direction,
47
+ "data-variant": variant,
48
+ "data-size": size,
49
+ direction,
50
+ className: (0, cn.cn)("absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180", className),
51
+ render: render ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_ui_button.Button, {
52
+ variant,
53
+ size
54
+ }),
55
+ ...props,
56
+ children: children ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowDownIcon, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
57
+ className: "sr-only",
58
+ children: direction === "end" ? "Scroll to end" : "Scroll to start"
59
+ })] })
60
+ });
61
+ }
62
+ exports.MessageScroller = MessageScroller;
63
+ exports.MessageScrollerButton = MessageScrollerButton;
64
+ exports.MessageScrollerContent = MessageScrollerContent;
65
+ exports.MessageScrollerItem = MessageScrollerItem;
66
+ exports.MessageScrollerProvider = MessageScrollerProvider;
67
+ exports.MessageScrollerViewport = MessageScrollerViewport;
68
+ Object.defineProperty(exports, "useMessageScroller", {
69
+ enumerable: true,
70
+ get: function() {
71
+ return _shadcn_react_message_scroller.useMessageScroller;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "useMessageScrollerScrollable", {
75
+ enumerable: true,
76
+ get: function() {
77
+ return _shadcn_react_message_scroller.useMessageScrollerScrollable;
78
+ }
79
+ });
80
+ Object.defineProperty(exports, "useMessageScrollerVisibility", {
81
+ enumerable: true,
82
+ get: function() {
83
+ return _shadcn_react_message_scroller.useMessageScrollerVisibility;
84
+ }
85
+ });
86
+
87
+ //# sourceMappingURL=message-scroller.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-scroller.cjs","names":["MessageScrollerPrimitive","Button","_Fragment","ArrowDownIcon"],"sources":["../../../src/components/ui/message-scroller.tsx"],"sourcesContent":["import {\n MessageScroller as MessageScrollerPrimitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n} from '@shadcn/react/message-scroller';\nimport { cn } from 'cn';\nimport { ArrowDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from './button';\n\nfunction MessageScrollerProvider(\n props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>,\n) {\n return <MessageScrollerPrimitive.Provider {...props} />;\n}\n\nfunction MessageScroller({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Root>) {\n return (\n <MessageScrollerPrimitive.Root\n data-slot=\"message-scroller\"\n className={cn(\n 'group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerViewport({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>) {\n return (\n <MessageScrollerPrimitive.Viewport\n data-slot=\"message-scroller-viewport\"\n className={cn(\n 'size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerContent({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Content>) {\n return (\n <MessageScrollerPrimitive.Content\n data-slot=\"message-scroller-content\"\n className={cn('flex h-max min-h-full flex-col gap-6', className)}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerItem({\n className,\n scrollAnchor = false,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Item>) {\n return (\n <MessageScrollerPrimitive.Item\n data-slot=\"message-scroller-item\"\n scrollAnchor={scrollAnchor}\n className={cn(\n 'min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerButton({\n direction = 'end',\n className,\n children,\n render,\n variant = 'secondary',\n size = 'icon-sm',\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Button> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <MessageScrollerPrimitive.Button\n data-slot=\"message-scroller-button\"\n data-direction={direction}\n data-variant={variant}\n data-size={size}\n direction={direction}\n className={cn(\n 'absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180',\n className,\n )}\n render={render ?? <Button variant={variant} size={size} />}\n {...props}\n >\n {children ?? (\n <>\n <ArrowDownIcon />\n <span className=\"sr-only\">\n {direction === 'end' ? 'Scroll to end' : 'Scroll to start'}\n </span>\n </>\n )}\n </MessageScrollerPrimitive.Button>\n );\n}\n\nexport {\n MessageScrollerProvider,\n MessageScroller,\n MessageScrollerViewport,\n MessageScrollerContent,\n MessageScrollerItem,\n MessageScrollerButton,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n};\n"],"mappings":";;;;;;;;;;AAYA,SAAS,wBACP,OACA;CACA,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,UAA1B,EAAmC,GAAI,MAAQ,CAAA;AACxD;AAEA,SAAS,gBAAgB,EACvB,WACA,GAAG,SAC0D;CAC7D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,MAA1B;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,mFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;CACjE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,UAA1B;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,iQACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,SAA1B;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,oBAAoB,EAC3B,WACA,eAAe,OACf,GAAG,SAC0D;CAC7D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,MAA1B;EACE,aAAU;EACI;EACd,YAAA,GAAW,GAAA,GAAA,CACT,kFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,sBAAsB,EAC7B,YAAY,OACZ,WACA,UACA,QACA,UAAU,aACV,OAAO,WACP,GAAG,SAE4D;CAC/D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,+BAAAA,gBAAyB,QAA1B;EACE,aAAU;EACV,kBAAgB;EAChB,gBAAc;EACd,aAAW;EACA;EACX,YAAA,GAAW,GAAA,GAAA,CACT,yuBACA,SACF;EACA,QAAQ,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAACC,6BAAAA,QAAD;GAAiB;GAAe;EAAO,CAAA;EACzD,GAAI;EAEH,UAAA,YACC,iBAAA,GAAA,kBAAA,KAAA,CAAAC,kBAAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,eAAD,CAAgB,CAAA,GAChB,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,WAAU;GACb,UAAA,cAAc,QAAQ,kBAAkB;EACrC,CAAA,CACN,EAAA,CAAA;CAE2B,CAAA;AAErC"}
@@ -0,0 +1,10 @@
1
+ import { MessageScroller as MessageScrollerPrimitive, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';
2
+ import * as React from 'react';
3
+ import { Button } from './button.cjs';
4
+ declare function MessageScrollerProvider(props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>): React.JSX.Element;
5
+ declare function MessageScroller({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Root>): React.JSX.Element;
6
+ declare function MessageScrollerViewport({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>): React.JSX.Element;
7
+ declare function MessageScrollerContent({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Content>): React.JSX.Element;
8
+ declare function MessageScrollerItem({ className, scrollAnchor, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Item>): React.JSX.Element;
9
+ declare function MessageScrollerButton({ direction, className, children, render, variant, size, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Button> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>): React.JSX.Element;
10
+ export { MessageScrollerProvider, MessageScroller, MessageScrollerViewport, MessageScrollerContent, MessageScrollerItem, MessageScrollerButton, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, };
@@ -3,34 +3,34 @@ import { cn } from "cn";
3
3
  import { ArrowDownIcon } from "lucide-react";
4
4
  import "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
- import { MessageScroller, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "@shadcn/react/message-scroller";
6
+ import { MessageScroller as MessageScroller$1, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "@shadcn/react/message-scroller";
7
7
  // src/components/ui/message-scroller.tsx
8
8
  function MessageScrollerProvider(props) {
9
- return /* @__PURE__ */ jsx(MessageScroller.Provider, { ...props });
9
+ return /* @__PURE__ */ jsx(MessageScroller$1.Provider, { ...props });
10
10
  }
11
- function MessageScroller$1({ className, ...props }) {
12
- return /* @__PURE__ */ jsx(MessageScroller.Root, {
11
+ function MessageScroller({ className, ...props }) {
12
+ return /* @__PURE__ */ jsx(MessageScroller$1.Root, {
13
13
  "data-slot": "message-scroller",
14
14
  className: cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className),
15
15
  ...props
16
16
  });
17
17
  }
18
18
  function MessageScrollerViewport({ className, ...props }) {
19
- return /* @__PURE__ */ jsx(MessageScroller.Viewport, {
19
+ return /* @__PURE__ */ jsx(MessageScroller$1.Viewport, {
20
20
  "data-slot": "message-scroller-viewport",
21
21
  className: cn("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible", className),
22
22
  ...props
23
23
  });
24
24
  }
25
25
  function MessageScrollerContent({ className, ...props }) {
26
- return /* @__PURE__ */ jsx(MessageScroller.Content, {
26
+ return /* @__PURE__ */ jsx(MessageScroller$1.Content, {
27
27
  "data-slot": "message-scroller-content",
28
28
  className: cn("flex h-max min-h-full flex-col gap-6", className),
29
29
  ...props
30
30
  });
31
31
  }
32
32
  function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
33
- return /* @__PURE__ */ jsx(MessageScroller.Item, {
33
+ return /* @__PURE__ */ jsx(MessageScroller$1.Item, {
34
34
  "data-slot": "message-scroller-item",
35
35
  scrollAnchor,
36
36
  className: cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className),
@@ -38,7 +38,7 @@ function MessageScrollerItem({ className, scrollAnchor = false, ...props }) {
38
38
  });
39
39
  }
40
40
  function MessageScrollerButton({ direction = "end", className, children, render, variant = "secondary", size = "icon-sm", ...props }) {
41
- return /* @__PURE__ */ jsx(MessageScroller.Button, {
41
+ return /* @__PURE__ */ jsx(MessageScroller$1.Button, {
42
42
  "data-slot": "message-scroller-button",
43
43
  "data-direction": direction,
44
44
  "data-variant": variant,
@@ -56,6 +56,6 @@ function MessageScrollerButton({ direction = "end", className, children, render,
56
56
  })] })
57
57
  });
58
58
  }
59
- export { MessageScroller$1 as MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };
59
+ export { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };
60
60
 
61
61
  //# sourceMappingURL=message-scroller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-scroller.js","names":["MessageScrollerPrimitive","MessageScroller","_Fragment"],"sources":["../../../src/components/ui/message-scroller.tsx"],"sourcesContent":["import {\n MessageScroller as MessageScrollerPrimitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n} from '@shadcn/react/message-scroller';\nimport { cn } from 'cn';\nimport { ArrowDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from './button';\n\nfunction MessageScrollerProvider(\n props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>,\n) {\n return <MessageScrollerPrimitive.Provider {...props} />;\n}\n\nfunction MessageScroller({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Root>) {\n return (\n <MessageScrollerPrimitive.Root\n data-slot=\"message-scroller\"\n className={cn(\n 'group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerViewport({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>) {\n return (\n <MessageScrollerPrimitive.Viewport\n data-slot=\"message-scroller-viewport\"\n className={cn(\n 'size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerContent({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Content>) {\n return (\n <MessageScrollerPrimitive.Content\n data-slot=\"message-scroller-content\"\n className={cn('flex h-max min-h-full flex-col gap-6', className)}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerItem({\n className,\n scrollAnchor = false,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Item>) {\n return (\n <MessageScrollerPrimitive.Item\n data-slot=\"message-scroller-item\"\n scrollAnchor={scrollAnchor}\n className={cn(\n 'min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerButton({\n direction = 'end',\n className,\n children,\n render,\n variant = 'secondary',\n size = 'icon-sm',\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Button> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <MessageScrollerPrimitive.Button\n data-slot=\"message-scroller-button\"\n data-direction={direction}\n data-variant={variant}\n data-size={size}\n direction={direction}\n className={cn(\n 'absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180',\n className,\n )}\n render={render ?? <Button variant={variant} size={size} />}\n {...props}\n >\n {children ?? (\n <>\n <ArrowDownIcon />\n <span className=\"sr-only\">\n {direction === 'end' ? 'Scroll to end' : 'Scroll to start'}\n </span>\n </>\n )}\n </MessageScrollerPrimitive.Button>\n );\n}\n\nexport {\n MessageScrollerProvider,\n MessageScroller,\n MessageScrollerViewport,\n MessageScrollerContent,\n MessageScrollerItem,\n MessageScrollerButton,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n};\n"],"mappings":";;;;;;;AAYA,SAAS,wBACP,OACA;CACA,OAAO,oBAACA,gBAAyB,UAA1B,EAAmC,GAAI,MAAQ,CAAA;AACxD;AAEA,SAASC,kBAAgB,EACvB,WACA,GAAG,SAC0D;CAC7D,OACE,oBAACD,gBAAyB,MAA1B;EACE,aAAU;EACV,WAAW,GACT,mFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;CACjE,OACE,oBAACA,gBAAyB,UAA1B;EACE,aAAU;EACV,WAAW,GACT,iQACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,oBAACA,gBAAyB,SAA1B;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,oBAAoB,EAC3B,WACA,eAAe,OACf,GAAG,SAC0D;CAC7D,OACE,oBAACA,gBAAyB,MAA1B;EACE,aAAU;EACI;EACd,WAAW,GACT,kFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,sBAAsB,EAC7B,YAAY,OACZ,WACA,UACA,QACA,UAAU,aACV,OAAO,WACP,GAAG,SAE4D;CAC/D,OACE,oBAACA,gBAAyB,QAA1B;EACE,aAAU;EACV,kBAAgB;EAChB,gBAAc;EACd,aAAW;EACA;EACX,WAAW,GACT,yuBACA,SACF;EACA,QAAQ,UAAU,oBAAC,QAAD;GAAiB;GAAe;EAAO,CAAA;EACzD,GAAI;EAEH,UAAA,YACC,qBAAAE,UAAA,EAAA,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,cAAc,QAAQ,kBAAkB;EACrC,CAAA,CACN,EAAA,CAAA;CAE2B,CAAA;AAErC"}
1
+ {"version":3,"file":"message-scroller.js","names":["MessageScrollerPrimitive","_Fragment"],"sources":["../../../src/components/ui/message-scroller.tsx"],"sourcesContent":["import {\n MessageScroller as MessageScrollerPrimitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n} from '@shadcn/react/message-scroller';\nimport { cn } from 'cn';\nimport { ArrowDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Button } from './button';\n\nfunction MessageScrollerProvider(\n props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>,\n) {\n return <MessageScrollerPrimitive.Provider {...props} />;\n}\n\nfunction MessageScroller({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Root>) {\n return (\n <MessageScrollerPrimitive.Root\n data-slot=\"message-scroller\"\n className={cn(\n 'group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerViewport({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>) {\n return (\n <MessageScrollerPrimitive.Viewport\n data-slot=\"message-scroller-viewport\"\n className={cn(\n 'size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerContent({\n className,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Content>) {\n return (\n <MessageScrollerPrimitive.Content\n data-slot=\"message-scroller-content\"\n className={cn('flex h-max min-h-full flex-col gap-6', className)}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerItem({\n className,\n scrollAnchor = false,\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Item>) {\n return (\n <MessageScrollerPrimitive.Item\n data-slot=\"message-scroller-item\"\n scrollAnchor={scrollAnchor}\n className={cn(\n 'min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageScrollerButton({\n direction = 'end',\n className,\n children,\n render,\n variant = 'secondary',\n size = 'icon-sm',\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Button> &\n Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) {\n return (\n <MessageScrollerPrimitive.Button\n data-slot=\"message-scroller-button\"\n data-direction={direction}\n data-variant={variant}\n data-size={size}\n direction={direction}\n className={cn(\n 'absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180',\n className,\n )}\n render={render ?? <Button variant={variant} size={size} />}\n {...props}\n >\n {children ?? (\n <>\n <ArrowDownIcon />\n <span className=\"sr-only\">\n {direction === 'end' ? 'Scroll to end' : 'Scroll to start'}\n </span>\n </>\n )}\n </MessageScrollerPrimitive.Button>\n );\n}\n\nexport {\n MessageScrollerProvider,\n MessageScroller,\n MessageScrollerViewport,\n MessageScrollerContent,\n MessageScrollerItem,\n MessageScrollerButton,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n};\n"],"mappings":";;;;;;;AAYA,SAAS,wBACP,OACA;CACA,OAAO,oBAACA,kBAAyB,UAA1B,EAAmC,GAAI,MAAQ,CAAA;AACxD;AAEA,SAAS,gBAAgB,EACvB,WACA,GAAG,SAC0D;CAC7D,OACE,oBAACA,kBAAyB,MAA1B;EACE,aAAU;EACV,WAAW,GACT,mFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;CACjE,OACE,oBAACA,kBAAyB,UAA1B;EACE,aAAU;EACV,WAAW,GACT,iQACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;CAChE,OACE,oBAACA,kBAAyB,SAA1B;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,oBAAoB,EAC3B,WACA,eAAe,OACf,GAAG,SAC0D;CAC7D,OACE,oBAACA,kBAAyB,MAA1B;EACE,aAAU;EACI;EACd,WAAW,GACT,kFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,sBAAsB,EAC7B,YAAY,OACZ,WACA,UACA,QACA,UAAU,aACV,OAAO,WACP,GAAG,SAE4D;CAC/D,OACE,oBAACA,kBAAyB,QAA1B;EACE,aAAU;EACV,kBAAgB;EAChB,gBAAc;EACd,aAAW;EACA;EACX,WAAW,GACT,yuBACA,SACF;EACA,QAAQ,UAAU,oBAAC,QAAD;GAAiB;GAAe;EAAO,CAAA;EACzD,GAAI;EAEH,UAAA,YACC,qBAAAC,UAAA,EAAA,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,oBAAC,QAAD;GAAM,WAAU;GACb,UAAA,cAAc,QAAQ,kBAAkB;EACrC,CAAA,CACN,EAAA,CAAA;CAE2B,CAAA;AAErC"}