@konopskidev/ui 0.1.1 → 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 (346) 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/badge.d.ts +1 -1
  36. package/dist/components/ui/badge.d.ts.map +1 -1
  37. package/dist/components/ui/badge.js +1 -0
  38. package/dist/components/ui/badge.js.map +1 -1
  39. package/dist/components/ui/breadcrumb.cjs +81 -0
  40. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  41. package/dist/components/ui/breadcrumb.d.cts +11 -0
  42. package/dist/components/ui/bubble.cjs +79 -0
  43. package/dist/components/ui/bubble.cjs.map +1 -0
  44. package/dist/components/ui/bubble.d.cts +17 -0
  45. package/dist/components/ui/button-group.cjs +43 -0
  46. package/dist/components/ui/button-group.cjs.map +1 -0
  47. package/dist/components/ui/button-group.d.cts +11 -0
  48. package/dist/components/ui/button.cjs +64 -0
  49. package/dist/components/ui/button.cjs.map +1 -0
  50. package/dist/components/ui/button.d.cts +21 -0
  51. package/dist/components/ui/calendar.cjs +114 -0
  52. package/dist/components/ui/calendar.cjs.map +1 -0
  53. package/dist/components/ui/calendar.d.cts +10 -0
  54. package/dist/components/ui/calendar.js +0 -1
  55. package/dist/components/ui/calendar.js.map +1 -1
  56. package/dist/components/ui/card.cjs +80 -0
  57. package/dist/components/ui/card.cjs.map +1 -0
  58. package/dist/components/ui/card.d.cts +33 -0
  59. package/dist/components/ui/card.d.ts +15 -7
  60. package/dist/components/ui/card.d.ts.map +1 -1
  61. package/dist/components/ui/card.js +6 -12
  62. package/dist/components/ui/card.js.map +1 -1
  63. package/dist/components/ui/carousel.cjs +142 -0
  64. package/dist/components/ui/carousel.cjs.map +1 -0
  65. package/dist/components/ui/carousel.d.cts +28 -0
  66. package/dist/components/ui/carousel.d.ts +1 -1
  67. package/dist/components/ui/carousel.d.ts.map +1 -1
  68. package/dist/components/ui/carousel.js +1 -0
  69. package/dist/components/ui/carousel.js.map +1 -1
  70. package/dist/components/ui/chart.cjs +159 -0
  71. package/dist/components/ui/chart.cjs.map +1 -0
  72. package/dist/components/ui/chart.d.cts +44 -0
  73. package/dist/components/ui/chart.js +0 -1
  74. package/dist/components/ui/chart.js.map +1 -1
  75. package/dist/components/ui/checkbox.cjs +25 -0
  76. package/dist/components/ui/checkbox.cjs.map +1 -0
  77. package/dist/components/ui/checkbox.d.cts +4 -0
  78. package/dist/components/ui/checkbox.d.ts.map +1 -1
  79. package/dist/components/ui/checkbox.js +6 -5
  80. package/dist/components/ui/checkbox.js.map +1 -1
  81. package/dist/components/ui/code-block.cjs +134 -0
  82. package/dist/components/ui/code-block.cjs.map +1 -0
  83. package/dist/components/ui/code-block.d.cts +26 -0
  84. package/dist/components/ui/code-block.d.ts.map +1 -1
  85. package/dist/components/ui/code-block.js +1 -0
  86. package/dist/components/ui/code-block.js.map +1 -1
  87. package/dist/components/ui/collapsible.cjs +28 -0
  88. package/dist/components/ui/collapsible.cjs.map +1 -0
  89. package/dist/components/ui/collapsible.d.cts +5 -0
  90. package/dist/components/ui/collapsible.js +6 -7
  91. package/dist/components/ui/collapsible.js.map +1 -1
  92. package/dist/components/ui/combobox.cjs +193 -0
  93. package/dist/components/ui/combobox.cjs.map +1 -0
  94. package/dist/components/ui/combobox.d.cts +24 -0
  95. package/dist/components/ui/combobox.d.ts.map +1 -1
  96. package/dist/components/ui/combobox.js +22 -21
  97. package/dist/components/ui/combobox.js.map +1 -1
  98. package/dist/components/ui/command.cjs +99 -0
  99. package/dist/components/ui/command.cjs.map +1 -0
  100. package/dist/components/ui/command.d.cts +18 -0
  101. package/dist/components/ui/command.d.ts.map +1 -1
  102. package/dist/components/ui/command.js +10 -12
  103. package/dist/components/ui/command.js.map +1 -1
  104. package/dist/components/ui/context-menu.cjs +143 -0
  105. package/dist/components/ui/context-menu.cjs.map +1 -0
  106. package/dist/components/ui/context-menu.d.cts +31 -0
  107. package/dist/components/ui/context-menu.d.ts.map +1 -1
  108. package/dist/components/ui/context-menu.js +20 -19
  109. package/dist/components/ui/context-menu.js.map +1 -1
  110. package/dist/components/ui/dialog.cjs +148 -0
  111. package/dist/components/ui/dialog.cjs.map +1 -0
  112. package/dist/components/ui/dialog.d.cts +55 -0
  113. package/dist/components/ui/dialog.d.ts +41 -3
  114. package/dist/components/ui/dialog.d.ts.map +1 -1
  115. package/dist/components/ui/dialog.js +64 -27
  116. package/dist/components/ui/dialog.js.map +1 -1
  117. package/dist/components/ui/direction.cjs +19 -0
  118. package/dist/components/ui/direction.cjs.map +1 -0
  119. package/dist/components/ui/direction.d.cts +11 -0
  120. package/dist/components/ui/direction.d.ts +1 -1
  121. package/dist/components/ui/direction.d.ts.map +1 -1
  122. package/dist/components/ui/direction.js +0 -1
  123. package/dist/components/ui/direction.js.map +1 -1
  124. package/dist/components/ui/drawer.cjs +90 -0
  125. package/dist/components/ui/drawer.cjs.map +1 -0
  126. package/dist/components/ui/drawer.d.cts +13 -0
  127. package/dist/components/ui/drawer.js +11 -11
  128. package/dist/components/ui/drawer.js.map +1 -1
  129. package/dist/components/ui/dropdown-menu.cjs +146 -0
  130. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  131. package/dist/components/ui/dropdown-menu.d.cts +29 -0
  132. package/dist/components/ui/dropdown-menu.js +19 -20
  133. package/dist/components/ui/dropdown-menu.js.map +1 -1
  134. package/dist/components/ui/empty.cjs +66 -0
  135. package/dist/components/ui/empty.cjs.map +1 -0
  136. package/dist/components/ui/empty.d.cts +11 -0
  137. package/dist/components/ui/field.cjs +121 -0
  138. package/dist/components/ui/field.cjs.map +1 -0
  139. package/dist/components/ui/field.d.cts +24 -0
  140. package/dist/components/ui/field.js +0 -1
  141. package/dist/components/ui/field.js.map +1 -1
  142. package/dist/components/ui/hover-card.cjs +38 -0
  143. package/dist/components/ui/hover-card.cjs.map +1 -0
  144. package/dist/components/ui/hover-card.d.cts +6 -0
  145. package/dist/components/ui/hover-card.d.ts.map +1 -1
  146. package/dist/components/ui/hover-card.js +8 -7
  147. package/dist/components/ui/hover-card.js.map +1 -1
  148. package/dist/components/ui/input-group.cjs +87 -0
  149. package/dist/components/ui/input-group.cjs.map +1 -0
  150. package/dist/components/ui/input-group.d.cts +16 -0
  151. package/dist/components/ui/input-otp.cjs +54 -0
  152. package/dist/components/ui/input-otp.cjs.map +1 -0
  153. package/dist/components/ui/input-otp.d.cts +11 -0
  154. package/dist/components/ui/input-otp.js +0 -1
  155. package/dist/components/ui/input-otp.js.map +1 -1
  156. package/dist/components/ui/input.cjs +28 -0
  157. package/dist/components/ui/input.cjs.map +1 -0
  158. package/dist/components/ui/input.d.cts +10 -0
  159. package/dist/components/ui/item.cjs +133 -0
  160. package/dist/components/ui/item.cjs.map +1 -0
  161. package/dist/components/ui/item.d.cts +23 -0
  162. package/dist/components/ui/kbd.cjs +22 -0
  163. package/dist/components/ui/kbd.cjs.map +1 -0
  164. package/dist/components/ui/kbd.d.cts +3 -0
  165. package/dist/components/ui/label.cjs +19 -0
  166. package/dist/components/ui/label.cjs.map +1 -0
  167. package/dist/components/ui/label.d.cts +4 -0
  168. package/dist/components/ui/label.d.ts.map +1 -1
  169. package/dist/components/ui/label.js +5 -4
  170. package/dist/components/ui/label.js.map +1 -1
  171. package/dist/components/ui/marker.cjs +46 -0
  172. package/dist/components/ui/marker.cjs.map +1 -0
  173. package/dist/components/ui/marker.d.cts +11 -0
  174. package/dist/components/ui/menubar.cjs +154 -0
  175. package/dist/components/ui/menubar.cjs.map +1 -0
  176. package/dist/components/ui/menubar.d.cts +30 -0
  177. package/dist/components/ui/menubar.js +20 -21
  178. package/dist/components/ui/menubar.js.map +1 -1
  179. package/dist/components/ui/message-scroller.cjs +87 -0
  180. package/dist/components/ui/message-scroller.cjs.map +1 -0
  181. package/dist/components/ui/message-scroller.d.cts +10 -0
  182. package/dist/components/ui/message-scroller.js +9 -9
  183. package/dist/components/ui/message-scroller.js.map +1 -1
  184. package/dist/components/ui/message.cjs +58 -0
  185. package/dist/components/ui/message.cjs.map +1 -0
  186. package/dist/components/ui/message.d.cts +10 -0
  187. package/dist/components/ui/native-select.cjs +44 -0
  188. package/dist/components/ui/native-select.cjs.map +1 -0
  189. package/dist/components/ui/native-select.d.cts +8 -0
  190. package/dist/components/ui/native-select.d.ts +1 -1
  191. package/dist/components/ui/native-select.d.ts.map +1 -1
  192. package/dist/components/ui/native-select.js.map +1 -1
  193. package/dist/components/ui/navigation-menu.cjs +93 -0
  194. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  195. package/dist/components/ui/navigation-menu.d.cts +14 -0
  196. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  197. package/dist/components/ui/navigation-menu.js +12 -11
  198. package/dist/components/ui/navigation-menu.js.map +1 -1
  199. package/dist/components/ui/pagination.cjs +90 -0
  200. package/dist/components/ui/pagination.cjs.map +1 -0
  201. package/dist/components/ui/pagination.d.cts +17 -0
  202. package/dist/components/ui/pagination.d.ts +1 -1
  203. package/dist/components/ui/pagination.d.ts.map +1 -1
  204. package/dist/components/ui/pagination.js.map +1 -1
  205. package/dist/components/ui/popover.cjs +66 -0
  206. package/dist/components/ui/popover.cjs.map +1 -0
  207. package/dist/components/ui/popover.d.cts +10 -0
  208. package/dist/components/ui/popover.d.ts.map +1 -1
  209. package/dist/components/ui/popover.js +8 -7
  210. package/dist/components/ui/popover.js.map +1 -1
  211. package/dist/components/ui/progress.cjs +25 -0
  212. package/dist/components/ui/progress.cjs.map +1 -0
  213. package/dist/components/ui/progress.d.cts +4 -0
  214. package/dist/components/ui/progress.js +5 -6
  215. package/dist/components/ui/progress.js.map +1 -1
  216. package/dist/components/ui/questionnaire.cjs +187 -0
  217. package/dist/components/ui/questionnaire.cjs.map +1 -0
  218. package/dist/components/ui/questionnaire.d.cts +19 -0
  219. package/dist/components/ui/questionnaire.d.ts.map +1 -1
  220. package/dist/components/ui/questionnaire.js +19 -21
  221. package/dist/components/ui/questionnaire.js.map +1 -1
  222. package/dist/components/ui/radio-group.cjs +32 -0
  223. package/dist/components/ui/radio-group.cjs.map +1 -0
  224. package/dist/components/ui/radio-group.d.cts +5 -0
  225. package/dist/components/ui/radio-group.d.ts.map +1 -1
  226. package/dist/components/ui/radio-group.js +7 -6
  227. package/dist/components/ui/radio-group.js.map +1 -1
  228. package/dist/components/ui/resizable.cjs +33 -0
  229. package/dist/components/ui/resizable.cjs.map +1 -0
  230. package/dist/components/ui/resizable.d.cts +7 -0
  231. package/dist/components/ui/resizable.d.ts.map +1 -1
  232. package/dist/components/ui/resizable.js +0 -2
  233. package/dist/components/ui/resizable.js.map +1 -1
  234. package/dist/components/ui/scroll-area.cjs +43 -0
  235. package/dist/components/ui/scroll-area.cjs.map +1 -0
  236. package/dist/components/ui/scroll-area.d.cts +5 -0
  237. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  238. package/dist/components/ui/scroll-area.js +9 -8
  239. package/dist/components/ui/scroll-area.js.map +1 -1
  240. package/dist/components/ui/select.cjs +113 -0
  241. package/dist/components/ui/select.cjs.map +1 -0
  242. package/dist/components/ui/select.d.cts +15 -0
  243. package/dist/components/ui/select.js +17 -18
  244. package/dist/components/ui/select.js.map +1 -1
  245. package/dist/components/ui/separator.cjs +21 -0
  246. package/dist/components/ui/separator.cjs.map +1 -0
  247. package/dist/components/ui/separator.d.cts +4 -0
  248. package/dist/components/ui/separator.d.ts.map +1 -1
  249. package/dist/components/ui/separator.js +5 -4
  250. package/dist/components/ui/separator.js.map +1 -1
  251. package/dist/components/ui/sheet.cjs +101 -0
  252. package/dist/components/ui/sheet.cjs.map +1 -0
  253. package/dist/components/ui/sheet.d.cts +14 -0
  254. package/dist/components/ui/sheet.d.ts.map +1 -1
  255. package/dist/components/ui/sheet.js +1 -0
  256. package/dist/components/ui/sheet.js.map +1 -1
  257. package/dist/components/ui/sidebar.cjs +405 -0
  258. package/dist/components/ui/sidebar.cjs.map +1 -0
  259. package/dist/components/ui/sidebar.d.cts +69 -0
  260. package/dist/components/ui/sidebar.js +0 -1
  261. package/dist/components/ui/sidebar.js.map +1 -1
  262. package/dist/components/ui/skeleton.cjs +14 -0
  263. package/dist/components/ui/skeleton.cjs.map +1 -0
  264. package/dist/components/ui/skeleton.d.cts +2 -0
  265. package/dist/components/ui/slider.cjs +42 -0
  266. package/dist/components/ui/slider.cjs.map +1 -0
  267. package/dist/components/ui/slider.d.cts +7 -0
  268. package/dist/components/ui/slider.js +7 -8
  269. package/dist/components/ui/slider.js.map +1 -1
  270. package/dist/components/ui/sonner.cjs +36 -0
  271. package/dist/components/ui/sonner.cjs.map +1 -0
  272. package/dist/components/ui/sonner.d.cts +13 -0
  273. package/dist/components/ui/sonner.d.ts.map +1 -1
  274. package/dist/components/ui/sonner.js +4 -6
  275. package/dist/components/ui/sonner.js.map +1 -1
  276. package/dist/components/ui/spinner.cjs +17 -0
  277. package/dist/components/ui/spinner.cjs.map +1 -0
  278. package/dist/components/ui/spinner.d.cts +2 -0
  279. package/dist/components/ui/switch.cjs +24 -0
  280. package/dist/components/ui/switch.cjs.map +1 -0
  281. package/dist/components/ui/switch.d.cts +6 -0
  282. package/dist/components/ui/switch.js +5 -6
  283. package/dist/components/ui/switch.js.map +1 -1
  284. package/dist/components/ui/table.cjs +77 -0
  285. package/dist/components/ui/table.cjs.map +1 -0
  286. package/dist/components/ui/table.d.cts +10 -0
  287. package/dist/components/ui/table.js +2 -2
  288. package/dist/components/ui/table.js.map +1 -1
  289. package/dist/components/ui/tabs.cjs +54 -0
  290. package/dist/components/ui/tabs.cjs.map +1 -0
  291. package/dist/components/ui/tabs.d.cts +11 -0
  292. package/dist/components/ui/tabs.js +7 -8
  293. package/dist/components/ui/tabs.js.map +1 -1
  294. package/dist/components/ui/textarea.cjs +39 -0
  295. package/dist/components/ui/textarea.cjs.map +1 -0
  296. package/dist/components/ui/textarea.d.cts +9 -0
  297. package/dist/components/ui/textarea.js +0 -1
  298. package/dist/components/ui/textarea.js.map +1 -1
  299. package/dist/components/ui/toggle-group.cjs +56 -0
  300. package/dist/components/ui/toggle-group.cjs.map +1 -0
  301. package/dist/components/ui/toggle-group.d.cts +10 -0
  302. package/dist/components/ui/toggle-group.js +5 -6
  303. package/dist/components/ui/toggle-group.js.map +1 -1
  304. package/dist/components/ui/toggle.cjs +41 -0
  305. package/dist/components/ui/toggle.cjs.map +1 -0
  306. package/dist/components/ui/toggle.d.cts +9 -0
  307. package/dist/components/ui/toggle.d.ts.map +1 -1
  308. package/dist/components/ui/toggle.js +5 -4
  309. package/dist/components/ui/toggle.js.map +1 -1
  310. package/dist/components/ui/tooltip.cjs +43 -0
  311. package/dist/components/ui/tooltip.cjs.map +1 -0
  312. package/dist/components/ui/tooltip.d.cts +7 -0
  313. package/dist/components/ui/tooltip.js +8 -9
  314. package/dist/components/ui/tooltip.js.map +1 -1
  315. package/dist/components/ui/trace.cjs +86 -0
  316. package/dist/components/ui/trace.cjs.map +1 -0
  317. package/dist/components/ui/trace.d.cts +18 -0
  318. package/dist/hooks/use-highlighted-code.d.ts.map +1 -1
  319. package/dist/hooks/use-highlighted-code.js +56 -0
  320. package/dist/hooks/use-highlighted-code.js.map +1 -0
  321. package/dist/hooks/use-mobile.cjs +26 -0
  322. package/dist/hooks/use-mobile.cjs.map +1 -0
  323. package/dist/hooks/use-mobile.d.cts +1 -0
  324. package/dist/hooks/use-mobile.d.ts.map +1 -1
  325. package/dist/hooks/use-mobile.js +1 -0
  326. package/dist/hooks/use-mobile.js.map +1 -1
  327. package/dist/index.cjs +356 -0
  328. package/dist/index.d.cts +67 -0
  329. package/dist/index.d.ts +5 -11
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +3 -14
  332. package/dist/lib/get-placeholder.cjs +13 -0
  333. package/dist/lib/get-placeholder.cjs.map +1 -0
  334. package/dist/lib/get-placeholder.d.cts +5 -0
  335. package/dist/lib/highlighter.js +79 -0
  336. package/dist/lib/highlighter.js.map +1 -0
  337. package/dist/lib/utils.cjs +8 -0
  338. package/dist/lib/utils.d.cts +8 -0
  339. package/{src → dist}/styles/globals.css +11 -0
  340. package/{src → dist}/styles/theme.css +2 -0
  341. package/{src → dist}/styles/tokens.css +8 -0
  342. package/package.json +114 -30
  343. /package/{src → dist}/styles/base.css +0 -0
  344. /package/{src → dist}/styles/prose.css +0 -0
  345. /package/{src → dist}/styles/utilities.css +0 -0
  346. /package/{src → dist}/styles/variants.css +0 -0
@@ -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"}
@@ -0,0 +1,58 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../../chunks/rolldown-runtime-CmQyd0Gu.cjs");
3
+ let cn = require("cn");
4
+ let react = require("react");
5
+ react = require_rolldown_runtime.__toESM(react, 1);
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ // src/components/ui/message.tsx
8
+ function MessageGroup({ className, ...props }) {
9
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
10
+ "data-slot": "message-group",
11
+ className: (0, cn.cn)("flex min-w-0 flex-col gap-2", className),
12
+ ...props
13
+ });
14
+ }
15
+ function Message({ className, align = "start", ...props }) {
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17
+ "data-slot": "message",
18
+ "data-align": align,
19
+ className: (0, cn.cn)("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className),
20
+ ...props
21
+ });
22
+ }
23
+ function MessageAvatar({ className, ...props }) {
24
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
25
+ "data-slot": "message-avatar",
26
+ className: (0, cn.cn)("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className),
27
+ ...props
28
+ });
29
+ }
30
+ function MessageContent({ className, ...props }) {
31
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
32
+ "data-slot": "message-content",
33
+ className: (0, cn.cn)("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className),
34
+ ...props
35
+ });
36
+ }
37
+ function MessageHeader({ className, ...props }) {
38
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
39
+ "data-slot": "message-header",
40
+ className: (0, cn.cn)("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
41
+ ...props
42
+ });
43
+ }
44
+ function MessageFooter({ className, ...props }) {
45
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
46
+ "data-slot": "message-footer",
47
+ className: (0, cn.cn)("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className),
48
+ ...props
49
+ });
50
+ }
51
+ exports.Message = Message;
52
+ exports.MessageAvatar = MessageAvatar;
53
+ exports.MessageContent = MessageContent;
54
+ exports.MessageFooter = MessageFooter;
55
+ exports.MessageGroup = MessageGroup;
56
+ exports.MessageHeader = MessageHeader;
57
+
58
+ //# sourceMappingURL=message.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.cjs","names":[],"sources":["../../../src/components/ui/message.tsx"],"sourcesContent":["import { cn } from 'cn';\nimport * as React from 'react';\n\nfunction MessageGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"message-group\"\n className={cn('flex min-w-0 flex-col gap-2', className)}\n {...props}\n />\n );\n}\n\nfunction Message({\n className,\n align = 'start',\n ...props\n}: React.ComponentProps<'div'> & { align?: 'start' | 'end' }) {\n return (\n <div\n data-slot=\"message\"\n data-align={align}\n className={cn(\n 'group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageAvatar({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"message-avatar\"\n className={cn(\n 'flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"message-content\"\n className={cn(\n 'flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"message-header\"\n className={cn(\n 'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction MessageFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"message-footer\"\n className={cn(\n 'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };\n"],"mappings":";;;;;;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CAAG,+BAA+B,SAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,QAAQ,EACf,WACA,QAAQ,SACR,GAAG,SACyD;CAC5D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,cAAY;EACZ,YAAA,GAAW,GAAA,GAAA,CACT,8FACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;CAC3E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,sKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,eAAe,EAAE,WAAW,GAAG,SAAsC;CAC5E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,4GACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;CAC3E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,mIACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;CAC3E,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,8KACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ declare function MessageGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
3
+ declare function Message({ className, align, ...props }: React.ComponentProps<'div'> & {
4
+ align?: 'start' | 'end';
5
+ }): React.JSX.Element;
6
+ declare function MessageAvatar({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
7
+ declare function MessageContent({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
8
+ declare function MessageHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
9
+ declare function MessageFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
10
+ export { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader };
@@ -0,0 +1,44 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../../chunks/rolldown-runtime-CmQyd0Gu.cjs");
3
+ let cn = require("cn");
4
+ let lucide_react = require("lucide-react");
5
+ let react = require("react");
6
+ react = require_rolldown_runtime.__toESM(react, 1);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ // src/components/ui/native-select.tsx
9
+ function NativeSelect({ className, size = "default", ...props }) {
10
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
11
+ className: (0, cn.cn)("group/native-select relative w-fit has-[select:disabled]:opacity-50", className),
12
+ "data-slot": "native-select-wrapper",
13
+ "data-size": size,
14
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
15
+ "data-slot": "native-select",
16
+ "data-size": size,
17
+ className: "h-8 w-full min-w-0 appearance-none rounded-sm border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm focus-ring transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-sm data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
18
+ ...props
19
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, {
20
+ className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none",
21
+ "aria-hidden": "true",
22
+ "data-slot": "native-select-icon"
23
+ })]
24
+ });
25
+ }
26
+ function NativeSelectOption({ className, ...props }) {
27
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
28
+ "data-slot": "native-select-option",
29
+ className: (0, cn.cn)("bg-[Canvas] text-[CanvasText]", className),
30
+ ...props
31
+ });
32
+ }
33
+ function NativeSelectOptGroup({ className, ...props }) {
34
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("optgroup", {
35
+ "data-slot": "native-select-optgroup",
36
+ className: (0, cn.cn)("bg-[Canvas] text-[CanvasText]", className),
37
+ ...props
38
+ });
39
+ }
40
+ exports.NativeSelect = NativeSelect;
41
+ exports.NativeSelectOptGroup = NativeSelectOptGroup;
42
+ exports.NativeSelectOption = NativeSelectOption;
43
+
44
+ //# sourceMappingURL=native-select.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-select.cjs","names":["ChevronDownIcon"],"sources":["../../../src/components/ui/native-select.tsx"],"sourcesContent":["import { cn } from 'cn';\nimport { ChevronDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\ntype NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default';\n};\n\nfunction NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {\n return (\n <div\n className={cn(\n 'group/native-select relative w-fit has-[select:disabled]:opacity-50',\n className,\n )}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className=\"h-8 w-full min-w-0 appearance-none rounded-sm border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm focus-ring transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-sm data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\"\n {...props}\n />\n <ChevronDownIcon\n className=\"pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n}\n\nfunction NativeSelectOption({ className, ...props }: React.ComponentProps<'option'>) {\n return (\n <option\n data-slot=\"native-select-option\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: React.ComponentProps<'optgroup'>) {\n return (\n <optgroup\n data-slot=\"native-select-optgroup\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NativeSelectProps };\n"],"mappings":";;;;;;;;AAQA,SAAS,aAAa,EAAE,WAAW,OAAO,WAAW,GAAG,SAA4B;CAClF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,YAAA,GAAW,GAAA,GAAA,CACT,uEACA,SACF;EACA,aAAU;EACV,aAAW;EANb,UAAA,CAQE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;GACE,aAAU;GACV,aAAW;GACX,WAAU;GACV,GAAI;EACL,CAAA,GACD,iBAAA,GAAA,kBAAA,IAAA,CAACA,aAAAA,iBAAD;GACE,WAAU;GACV,eAAY;GACZ,aAAU;EACX,CAAA,CACE;;AAET;AAEA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAyC;CACnF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAA2C;CACvF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {
3
+ size?: 'sm' | 'default';
4
+ };
5
+ declare function NativeSelect({ className, size, ...props }: NativeSelectProps): React.JSX.Element;
6
+ declare function NativeSelectOption({ className, ...props }: React.ComponentProps<'option'>): React.JSX.Element;
7
+ declare function NativeSelectOptGroup({ className, ...props }: React.ComponentProps<'optgroup'>): React.JSX.Element;
8
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NativeSelectProps };
@@ -5,5 +5,5 @@ type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {
5
5
  declare function NativeSelect({ className, size, ...props }: NativeSelectProps): React.JSX.Element;
6
6
  declare function NativeSelectOption({ className, ...props }: React.ComponentProps<'option'>): React.JSX.Element;
7
7
  declare function NativeSelectOptGroup({ className, ...props }: React.ComponentProps<'optgroup'>): React.JSX.Element;
8
- export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
8
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NativeSelectProps };
9
9
  //# sourceMappingURL=native-select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/native-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG;IACtE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,IAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBAuBjF;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAQlF;AAED,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,qBAQtF;AAED,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"native-select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/native-select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG;IACtE,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,IAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBAuBjF;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAQlF;AAED,iBAAS,oBAAoB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,qBAQtF;AAED,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"native-select.js","names":[],"sources":["../../../src/components/ui/native-select.tsx"],"sourcesContent":["import { cn } from 'cn';\nimport { ChevronDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\ntype NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default';\n};\n\nfunction NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {\n return (\n <div\n className={cn(\n 'group/native-select relative w-fit has-[select:disabled]:opacity-50',\n className,\n )}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className=\"h-8 w-full min-w-0 appearance-none rounded-sm border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm focus-ring transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-sm data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\"\n {...props}\n />\n <ChevronDownIcon\n className=\"pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n}\n\nfunction NativeSelectOption({ className, ...props }: React.ComponentProps<'option'>) {\n return (\n <option\n data-slot=\"native-select-option\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: React.ComponentProps<'optgroup'>) {\n return (\n <optgroup\n data-slot=\"native-select-optgroup\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption };\n"],"mappings":";;;;;AAQA,SAAS,aAAa,EAAE,WAAW,OAAO,WAAW,GAAG,SAA4B;CAClF,OACE,qBAAC,OAAD;EACE,WAAW,GACT,uEACA,SACF;EACA,aAAU;EACV,aAAW;EANb,UAAA,CAQE,oBAAC,UAAD;GACE,aAAU;GACV,aAAW;GACX,WAAU;GACV,GAAI;EACL,CAAA,GACD,oBAAC,iBAAD;GACE,WAAU;GACV,eAAY;GACZ,aAAU;EACX,CAAA,CACE;;AAET;AAEA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAyC;CACnF,OACE,oBAAC,UAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAA2C;CACvF,OACE,oBAAC,YAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"native-select.js","names":[],"sources":["../../../src/components/ui/native-select.tsx"],"sourcesContent":["import { cn } from 'cn';\nimport { ChevronDownIcon } from 'lucide-react';\nimport * as React from 'react';\n\ntype NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default';\n};\n\nfunction NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {\n return (\n <div\n className={cn(\n 'group/native-select relative w-fit has-[select:disabled]:opacity-50',\n className,\n )}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className=\"h-8 w-full min-w-0 appearance-none rounded-sm border border-input bg-transparent py-1 pr-8 pl-2.5 text-sm focus-ring transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-sm data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\"\n {...props}\n />\n <ChevronDownIcon\n className=\"pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n}\n\nfunction NativeSelectOption({ className, ...props }: React.ComponentProps<'option'>) {\n return (\n <option\n data-slot=\"native-select-option\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nfunction NativeSelectOptGroup({ className, ...props }: React.ComponentProps<'optgroup'>) {\n return (\n <optgroup\n data-slot=\"native-select-optgroup\"\n className={cn('bg-[Canvas] text-[CanvasText]', className)}\n {...props}\n />\n );\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption, type NativeSelectProps };\n"],"mappings":";;;;;AAQA,SAAS,aAAa,EAAE,WAAW,OAAO,WAAW,GAAG,SAA4B;CAClF,OACE,qBAAC,OAAD;EACE,WAAW,GACT,uEACA,SACF;EACA,aAAU;EACV,aAAW;EANb,UAAA,CAQE,oBAAC,UAAD;GACE,aAAU;GACV,aAAW;GACX,WAAU;GACV,GAAI;EACL,CAAA,GACD,oBAAC,iBAAD;GACE,WAAU;GACV,eAAY;GACZ,aAAU;EACX,CAAA,CACE;;AAET;AAEA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAyC;CACnF,OACE,oBAAC,UAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAA2C;CACvF,OACE,oBAAC,YAAD;EACE,aAAU;EACV,WAAW,GAAG,iCAAiC,SAAS;EACxD,GAAI;CACL,CAAA;AAEL"}