@codefast/ui 0.3.13-canary.2 → 0.3.13-canary.4

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 (367) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/components/accordion.d.mts +37 -0
  3. package/dist/components/accordion.mjs +53 -0
  4. package/dist/components/alert-dialog.d.mts +74 -0
  5. package/dist/components/alert-dialog.mjs +92 -0
  6. package/dist/components/alert.d.mts +30 -0
  7. package/dist/components/alert.mjs +49 -0
  8. package/dist/components/aspect-ratio.d.mts +10 -0
  9. package/dist/components/aspect-ratio.mjs +12 -0
  10. package/dist/components/avatar.d.mts +21 -0
  11. package/dist/components/avatar.mjs +28 -0
  12. package/dist/components/badge.d.mts +24 -0
  13. package/dist/components/badge.mjs +56 -0
  14. package/dist/components/breadcrumb.d.mts +44 -0
  15. package/dist/components/breadcrumb.mjs +67 -0
  16. package/dist/components/button-group.d.mts +34 -0
  17. package/dist/components/button-group.mjs +53 -0
  18. package/dist/components/button.d.mts +38 -0
  19. package/dist/components/button.mjs +99 -0
  20. package/dist/components/calendar.d.mts +27 -0
  21. package/dist/components/calendar.mjs +114 -0
  22. package/dist/components/card.d.mts +41 -0
  23. package/dist/components/card.mjs +55 -0
  24. package/dist/components/carousel.d.mts +68 -0
  25. package/dist/components/carousel.mjs +135 -0
  26. package/dist/components/chart.d.mts +93 -0
  27. package/dist/components/chart.mjs +189 -0
  28. package/dist/components/checkbox-cards.d.mts +17 -0
  29. package/dist/components/checkbox-cards.mjs +30 -0
  30. package/dist/components/checkbox-group.d.mts +16 -0
  31. package/dist/components/checkbox-group.mjs +27 -0
  32. package/dist/components/checkbox.d.mts +11 -0
  33. package/dist/components/checkbox.mjs +20 -0
  34. package/dist/components/collapsible.d.mts +18 -0
  35. package/dist/components/collapsible.mjs +24 -0
  36. package/dist/components/command.d.mts +57 -0
  37. package/dist/components/command.mjs +92 -0
  38. package/dist/components/context-menu.d.mts +91 -0
  39. package/dist/components/context-menu.mjs +122 -0
  40. package/dist/components/dialog.d.mts +65 -0
  41. package/dist/components/dialog.mjs +93 -0
  42. package/dist/components/drawer.d.mts +65 -0
  43. package/dist/components/drawer.mjs +78 -0
  44. package/dist/components/dropdown-menu.d.mts +92 -0
  45. package/dist/components/dropdown-menu.mjs +129 -0
  46. package/dist/components/empty.d.mts +44 -0
  47. package/dist/components/empty.mjs +64 -0
  48. package/dist/components/field.d.mts +79 -0
  49. package/dist/components/field.mjs +132 -0
  50. package/dist/components/form.d.mts +48 -0
  51. package/dist/components/form.mjs +92 -0
  52. package/dist/components/hover-card.d.mts +26 -0
  53. package/dist/components/hover-card.mjs +35 -0
  54. package/dist/components/input-group.d.mts +61 -0
  55. package/dist/components/input-group.mjs +142 -0
  56. package/dist/components/input-number.d.mts +28 -0
  57. package/dist/components/input-number.mjs +61 -0
  58. package/dist/components/input-otp.d.mts +29 -0
  59. package/dist/components/input-otp.mjs +48 -0
  60. package/dist/components/input-password.d.mts +13 -0
  61. package/dist/components/input-password.mjs +38 -0
  62. package/dist/components/input-search.d.mts +20 -0
  63. package/dist/components/input-search.mjs +50 -0
  64. package/dist/components/input.d.mts +11 -0
  65. package/dist/components/input.mjs +14 -0
  66. package/dist/components/item.d.mts +82 -0
  67. package/dist/components/item.mjs +137 -0
  68. package/dist/components/kbd.d.mts +15 -0
  69. package/dist/components/kbd.mjs +19 -0
  70. package/dist/components/label.d.mts +11 -0
  71. package/dist/components/label.mjs +14 -0
  72. package/dist/components/menubar.d.mts +100 -0
  73. package/dist/components/menubar.mjs +133 -0
  74. package/dist/components/native-select.d.mts +19 -0
  75. package/dist/components/native-select.mjs +34 -0
  76. package/dist/components/navigation-menu.d.mts +44 -0
  77. package/dist/components/navigation-menu.mjs +79 -0
  78. package/dist/components/pagination.d.mts +46 -0
  79. package/dist/components/pagination.mjs +71 -0
  80. package/dist/components/popover.d.mts +30 -0
  81. package/dist/components/popover.mjs +41 -0
  82. package/dist/components/progress-circle.d.mts +124 -0
  83. package/dist/components/progress-circle.mjs +120 -0
  84. package/dist/components/progress.d.mts +12 -0
  85. package/dist/components/progress.mjs +19 -0
  86. package/dist/components/{radio-cards.d.ts → radio-cards.d.mts} +10 -5
  87. package/dist/components/radio-cards.mjs +29 -0
  88. package/dist/components/radio-group.d.mts +16 -0
  89. package/dist/components/radio-group.mjs +25 -0
  90. package/dist/components/radio.d.mts +14 -0
  91. package/dist/components/radio.mjs +16 -0
  92. package/dist/components/resizable.d.mts +23 -0
  93. package/dist/components/resizable.mjs +32 -0
  94. package/dist/components/scroll-area.d.mts +40 -0
  95. package/dist/components/scroll-area.mjs +101 -0
  96. package/dist/components/select.d.mts +62 -0
  97. package/dist/components/select.mjs +101 -0
  98. package/dist/components/separator.d.mts +32 -0
  99. package/dist/components/separator.mjs +45 -0
  100. package/dist/components/sheet.d.mts +75 -0
  101. package/dist/components/sheet.mjs +134 -0
  102. package/dist/components/sidebar.d.mts +195 -0
  103. package/dist/components/sidebar.mjs +375 -0
  104. package/dist/components/skeleton.d.mts +10 -0
  105. package/dist/components/skeleton.mjs +12 -0
  106. package/dist/components/slider.d.mts +15 -0
  107. package/dist/components/slider.mjs +40 -0
  108. package/dist/components/sonner.d.mts +10 -0
  109. package/dist/components/sonner.mjs +21 -0
  110. package/dist/components/spinner.d.mts +14 -0
  111. package/dist/components/spinner.mjs +40 -0
  112. package/dist/components/switch.d.mts +11 -0
  113. package/dist/components/switch.mjs +18 -0
  114. package/dist/components/table.d.mts +45 -0
  115. package/dist/components/table.mjs +65 -0
  116. package/dist/components/tabs.d.mts +26 -0
  117. package/dist/components/tabs.mjs +35 -0
  118. package/dist/components/textarea.d.mts +10 -0
  119. package/dist/components/textarea.mjs +12 -0
  120. package/dist/components/toggle-group.d.mts +30 -0
  121. package/dist/components/toggle-group.mjs +53 -0
  122. package/dist/components/toggle.d.mts +28 -0
  123. package/dist/components/toggle.mjs +53 -0
  124. package/dist/components/tooltip.d.mts +30 -0
  125. package/dist/components/tooltip.mjs +42 -0
  126. package/dist/hooks/{use-animated-value.d.ts → use-animated-value.d.mts} +4 -2
  127. package/dist/hooks/use-animated-value.mjs +62 -0
  128. package/dist/hooks/{use-copy-to-clipboard.d.ts → use-copy-to-clipboard.d.mts} +11 -6
  129. package/dist/hooks/use-copy-to-clipboard.mjs +43 -0
  130. package/dist/hooks/{use-is-mobile.d.ts → use-is-mobile.d.mts} +4 -2
  131. package/dist/hooks/use-is-mobile.mjs +26 -0
  132. package/dist/hooks/{use-media-query.d.ts → use-media-query.d.mts} +4 -2
  133. package/dist/hooks/use-media-query.mjs +50 -0
  134. package/dist/hooks/{use-mutation-observer.d.ts → use-mutation-observer.d.mts} +6 -3
  135. package/dist/hooks/use-mutation-observer.mjs +41 -0
  136. package/dist/hooks/use-pagination.d.mts +44 -0
  137. package/dist/hooks/use-pagination.mjs +107 -0
  138. package/dist/index.d.mts +69 -0
  139. package/dist/index.mjs +69 -0
  140. package/dist/lib/utils.d.mts +13 -0
  141. package/dist/lib/utils.mjs +10 -0
  142. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +6 -0
  143. package/dist/primitives/checkbox-group.d.mts +144 -0
  144. package/dist/primitives/checkbox-group.mjs +126 -0
  145. package/dist/primitives/input-number.d.mts +73 -0
  146. package/dist/primitives/input-number.mjs +514 -0
  147. package/dist/primitives/input.d.mts +72 -0
  148. package/dist/primitives/input.mjs +75 -0
  149. package/dist/primitives/progress-circle.d.mts +146 -0
  150. package/dist/primitives/progress-circle.mjs +178 -0
  151. package/package.json +164 -170
  152. package/dist/components/accordion.d.ts +0 -19
  153. package/dist/components/accordion.d.ts.map +0 -1
  154. package/dist/components/accordion.js +0 -26
  155. package/dist/components/alert-dialog.d.ts +0 -39
  156. package/dist/components/alert-dialog.d.ts.map +0 -1
  157. package/dist/components/alert-dialog.js +0 -39
  158. package/dist/components/alert.d.ts +0 -19
  159. package/dist/components/alert.d.ts.map +0 -1
  160. package/dist/components/alert.js +0 -41
  161. package/dist/components/aspect-ratio.d.ts +0 -7
  162. package/dist/components/aspect-ratio.d.ts.map +0 -1
  163. package/dist/components/aspect-ratio.js +0 -10
  164. package/dist/components/avatar.d.ts +0 -11
  165. package/dist/components/avatar.d.ts.map +0 -1
  166. package/dist/components/avatar.js +0 -17
  167. package/dist/components/badge.d.ts +0 -18
  168. package/dist/components/badge.d.ts.map +0 -1
  169. package/dist/components/badge.js +0 -59
  170. package/dist/components/breadcrumb.d.ts +0 -22
  171. package/dist/components/breadcrumb.d.ts.map +0 -1
  172. package/dist/components/breadcrumb.js +0 -31
  173. package/dist/components/button-group.d.ts +0 -20
  174. package/dist/components/button-group.d.ts.map +0 -1
  175. package/dist/components/button-group.js +0 -48
  176. package/dist/components/button.d.ts +0 -29
  177. package/dist/components/button.d.ts.map +0 -1
  178. package/dist/components/button.js +0 -92
  179. package/dist/components/calendar.d.ts +0 -13
  180. package/dist/components/calendar.d.ts.map +0 -1
  181. package/dist/components/calendar.js +0 -104
  182. package/dist/components/card.d.ts +0 -18
  183. package/dist/components/card.d.ts.map +0 -1
  184. package/dist/components/card.js +0 -27
  185. package/dist/components/carousel.d.ts +0 -38
  186. package/dist/components/carousel.d.ts.map +0 -1
  187. package/dist/components/carousel.js +0 -103
  188. package/dist/components/chart.d.ts +0 -58
  189. package/dist/components/chart.d.ts.map +0 -1
  190. package/dist/components/chart.js +0 -198
  191. package/dist/components/checkbox-cards.d.ts +0 -11
  192. package/dist/components/checkbox-cards.d.ts.map +0 -1
  193. package/dist/components/checkbox-cards.js +0 -16
  194. package/dist/components/checkbox-group.d.ts +0 -9
  195. package/dist/components/checkbox-group.d.ts.map +0 -1
  196. package/dist/components/checkbox-group.js +0 -15
  197. package/dist/components/checkbox.d.ts +0 -7
  198. package/dist/components/checkbox.d.ts.map +0 -1
  199. package/dist/components/checkbox.js +0 -12
  200. package/dist/components/collapsible.d.ts +0 -11
  201. package/dist/components/collapsible.d.ts.map +0 -1
  202. package/dist/components/collapsible.js +0 -16
  203. package/dist/components/command.d.ts +0 -26
  204. package/dist/components/command.d.ts.map +0 -1
  205. package/dist/components/command.js +0 -41
  206. package/dist/components/context-menu.d.ts +0 -42
  207. package/dist/components/context-menu.d.ts.map +0 -1
  208. package/dist/components/context-menu.js +0 -54
  209. package/dist/components/dialog.d.ts +0 -35
  210. package/dist/components/dialog.d.ts.map +0 -1
  211. package/dist/components/dialog.js +0 -41
  212. package/dist/components/drawer.d.ts +0 -34
  213. package/dist/components/drawer.d.ts.map +0 -1
  214. package/dist/components/drawer.js +0 -36
  215. package/dist/components/dropdown-menu.d.ts +0 -42
  216. package/dist/components/dropdown-menu.d.ts.map +0 -1
  217. package/dist/components/dropdown-menu.js +0 -54
  218. package/dist/components/empty.d.ts +0 -23
  219. package/dist/components/empty.d.ts.map +0 -1
  220. package/dist/components/empty.js +0 -47
  221. package/dist/components/field.d.ts +0 -42
  222. package/dist/components/field.d.ts.map +0 -1
  223. package/dist/components/field.js +0 -85
  224. package/dist/components/form.d.ts +0 -27
  225. package/dist/components/form.d.ts.map +0 -1
  226. package/dist/components/form.js +0 -76
  227. package/dist/components/hover-card.d.ts +0 -13
  228. package/dist/components/hover-card.d.ts.map +0 -1
  229. package/dist/components/hover-card.js +0 -20
  230. package/dist/components/input-group.d.ts +0 -37
  231. package/dist/components/input-group.d.ts.map +0 -1
  232. package/dist/components/input-group.js +0 -127
  233. package/dist/components/input-number.d.ts +0 -8
  234. package/dist/components/input-number.d.ts.map +0 -1
  235. package/dist/components/input-number.js +0 -20
  236. package/dist/components/input-otp.d.ts +0 -16
  237. package/dist/components/input-otp.d.ts.map +0 -1
  238. package/dist/components/input-otp.js +0 -25
  239. package/dist/components/input-password.d.ts +0 -7
  240. package/dist/components/input-password.d.ts.map +0 -1
  241. package/dist/components/input-password.js +0 -17
  242. package/dist/components/input-search.d.ts +0 -11
  243. package/dist/components/input-search.d.ts.map +0 -1
  244. package/dist/components/input-search.js +0 -22
  245. package/dist/components/input.d.ts +0 -6
  246. package/dist/components/input.d.ts.map +0 -1
  247. package/dist/components/input.js +0 -10
  248. package/dist/components/item.d.ts +0 -46
  249. package/dist/components/item.d.ts.map +0 -1
  250. package/dist/components/item.js +0 -94
  251. package/dist/components/kbd.d.ts +0 -8
  252. package/dist/components/kbd.d.ts.map +0 -1
  253. package/dist/components/kbd.js +0 -12
  254. package/dist/components/label.d.ts +0 -7
  255. package/dist/components/label.d.ts.map +0 -1
  256. package/dist/components/label.js +0 -11
  257. package/dist/components/menubar.d.ts +0 -44
  258. package/dist/components/menubar.d.ts.map +0 -1
  259. package/dist/components/menubar.js +0 -57
  260. package/dist/components/native-select.d.ts +0 -10
  261. package/dist/components/native-select.d.ts.map +0 -1
  262. package/dist/components/native-select.js +0 -16
  263. package/dist/components/navigation-menu.d.ts +0 -21
  264. package/dist/components/navigation-menu.d.ts.map +0 -1
  265. package/dist/components/navigation-menu.js +0 -43
  266. package/dist/components/pagination.d.ts +0 -26
  267. package/dist/components/pagination.d.ts.map +0 -1
  268. package/dist/components/pagination.js +0 -29
  269. package/dist/components/popover.d.ts +0 -15
  270. package/dist/components/popover.d.ts.map +0 -1
  271. package/dist/components/popover.js +0 -23
  272. package/dist/components/progress-circle.d.ts +0 -107
  273. package/dist/components/progress-circle.d.ts.map +0 -1
  274. package/dist/components/progress-circle.js +0 -83
  275. package/dist/components/progress.d.ts +0 -7
  276. package/dist/components/progress.d.ts.map +0 -1
  277. package/dist/components/progress.js +0 -13
  278. package/dist/components/radio-cards.d.ts.map +0 -1
  279. package/dist/components/radio-cards.js +0 -15
  280. package/dist/components/radio-group.d.ts +0 -9
  281. package/dist/components/radio-group.d.ts.map +0 -1
  282. package/dist/components/radio-group.js +0 -14
  283. package/dist/components/radio.d.ts +0 -8
  284. package/dist/components/radio.d.ts.map +0 -1
  285. package/dist/components/radio.js +0 -11
  286. package/dist/components/resizable.d.ts +0 -13
  287. package/dist/components/resizable.d.ts.map +0 -1
  288. package/dist/components/resizable.js +0 -18
  289. package/dist/components/scroll-area.d.ts +0 -28
  290. package/dist/components/scroll-area.d.ts.map +0 -1
  291. package/dist/components/scroll-area.js +0 -77
  292. package/dist/components/select.d.ts +0 -29
  293. package/dist/components/select.d.ts.map +0 -1
  294. package/dist/components/select.js +0 -49
  295. package/dist/components/separator.d.ts +0 -23
  296. package/dist/components/separator.d.ts.map +0 -1
  297. package/dist/components/separator.js +0 -36
  298. package/dist/components/sheet.d.ts +0 -43
  299. package/dist/components/sheet.d.ts.map +0 -1
  300. package/dist/components/sheet.js +0 -90
  301. package/dist/components/sidebar.d.ts +0 -102
  302. package/dist/components/sidebar.d.ts.map +0 -1
  303. package/dist/components/sidebar.js +0 -241
  304. package/dist/components/skeleton.d.ts +0 -6
  305. package/dist/components/skeleton.d.ts.map +0 -1
  306. package/dist/components/skeleton.js +0 -9
  307. package/dist/components/slider.d.ts +0 -7
  308. package/dist/components/slider.d.ts.map +0 -1
  309. package/dist/components/slider.js +0 -18
  310. package/dist/components/sonner.d.ts +0 -8
  311. package/dist/components/sonner.d.ts.map +0 -1
  312. package/dist/components/sonner.js +0 -18
  313. package/dist/components/spinner.d.ts +0 -8
  314. package/dist/components/spinner.d.ts.map +0 -1
  315. package/dist/components/spinner.js +0 -27
  316. package/dist/components/switch.d.ts +0 -7
  317. package/dist/components/switch.d.ts.map +0 -1
  318. package/dist/components/switch.js +0 -11
  319. package/dist/components/table.d.ts +0 -20
  320. package/dist/components/table.d.ts.map +0 -1
  321. package/dist/components/table.js +0 -30
  322. package/dist/components/tabs.d.ts +0 -13
  323. package/dist/components/tabs.d.ts.map +0 -1
  324. package/dist/components/tabs.js +0 -20
  325. package/dist/components/textarea.d.ts +0 -6
  326. package/dist/components/textarea.d.ts.map +0 -1
  327. package/dist/components/textarea.js +0 -9
  328. package/dist/components/toggle-group.d.ts +0 -16
  329. package/dist/components/toggle-group.d.ts.map +0 -1
  330. package/dist/components/toggle-group.js +0 -35
  331. package/dist/components/toggle.d.ts +0 -21
  332. package/dist/components/toggle.d.ts.map +0 -1
  333. package/dist/components/toggle.js +0 -49
  334. package/dist/components/tooltip.d.ts +0 -15
  335. package/dist/components/tooltip.d.ts.map +0 -1
  336. package/dist/components/tooltip.js +0 -23
  337. package/dist/hooks/use-animated-value.d.ts.map +0 -1
  338. package/dist/hooks/use-animated-value.js +0 -71
  339. package/dist/hooks/use-copy-to-clipboard.d.ts.map +0 -1
  340. package/dist/hooks/use-copy-to-clipboard.js +0 -46
  341. package/dist/hooks/use-is-mobile.d.ts.map +0 -1
  342. package/dist/hooks/use-is-mobile.js +0 -23
  343. package/dist/hooks/use-media-query.d.ts.map +0 -1
  344. package/dist/hooks/use-media-query.js +0 -53
  345. package/dist/hooks/use-mutation-observer.d.ts.map +0 -1
  346. package/dist/hooks/use-mutation-observer.js +0 -40
  347. package/dist/hooks/use-pagination.d.ts +0 -37
  348. package/dist/hooks/use-pagination.d.ts.map +0 -1
  349. package/dist/hooks/use-pagination.js +0 -107
  350. package/dist/index.d.ts +0 -131
  351. package/dist/index.d.ts.map +0 -1
  352. package/dist/index.js +0 -68
  353. package/dist/lib/utils.d.ts +0 -10
  354. package/dist/lib/utils.d.ts.map +0 -1
  355. package/dist/lib/utils.js +0 -10
  356. package/dist/primitives/checkbox-group.d.ts +0 -123
  357. package/dist/primitives/checkbox-group.d.ts.map +0 -1
  358. package/dist/primitives/checkbox-group.js +0 -112
  359. package/dist/primitives/input-number.d.ts +0 -63
  360. package/dist/primitives/input-number.d.ts.map +0 -1
  361. package/dist/primitives/input-number.js +0 -458
  362. package/dist/primitives/input.d.ts +0 -67
  363. package/dist/primitives/input.d.ts.map +0 -1
  364. package/dist/primitives/input.js +0 -76
  365. package/dist/primitives/progress-circle.d.ts +0 -116
  366. package/dist/primitives/progress-circle.d.ts.map +0 -1
  367. package/dist/primitives/progress-circle.js +0 -163
@@ -0,0 +1,101 @@
1
+ "use client";
2
+ import { cn, tv } from "../lib/utils.mjs";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { createContextScope } from "@radix-ui/react-context";
5
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
6
+ //#region src/components/scroll-area.tsx
7
+ const scrollAreaScrollbarVariants = tv({
8
+ base: [
9
+ "flex",
10
+ "p-px",
11
+ "touch-none transition-colors select-none"
12
+ ],
13
+ compoundVariants: [
14
+ {
15
+ className: "w-1.5",
16
+ orientation: "vertical",
17
+ size: "sm"
18
+ },
19
+ {
20
+ className: "w-2",
21
+ orientation: "vertical",
22
+ size: "md"
23
+ },
24
+ {
25
+ className: "w-2.5",
26
+ orientation: "vertical",
27
+ size: "lg"
28
+ },
29
+ {
30
+ className: "h-1.5",
31
+ orientation: "horizontal",
32
+ size: "sm"
33
+ },
34
+ {
35
+ className: "h-2",
36
+ orientation: "horizontal",
37
+ size: "md"
38
+ },
39
+ {
40
+ className: "h-2.5",
41
+ orientation: "horizontal",
42
+ size: "lg"
43
+ }
44
+ ],
45
+ defaultVariants: {
46
+ orientation: "vertical",
47
+ size: "md"
48
+ },
49
+ variants: {
50
+ orientation: {
51
+ horizontal: ["w-full flex-col", "border-t border-t-transparent"],
52
+ vertical: ["h-full flex-row", "border-l border-l-transparent"]
53
+ },
54
+ size: {
55
+ none: "",
56
+ sm: "",
57
+ md: "",
58
+ lg: ""
59
+ }
60
+ }
61
+ });
62
+ const SCROLL_AREA_NAME = "ScrollArea";
63
+ const [createScrollAreaContext] = createContextScope(SCROLL_AREA_NAME);
64
+ const [ScrollAreaContextProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);
65
+ function ScrollArea({ __scopeScrollArea, children, className, size, ...props }) {
66
+ return /* @__PURE__ */ jsx(ScrollAreaContextProvider, {
67
+ scope: __scopeScrollArea,
68
+ size,
69
+ children: /* @__PURE__ */ jsxs(ScrollAreaPrimitive.Root, {
70
+ className: cn("relative", className),
71
+ "data-slot": "scroll-area",
72
+ ...props,
73
+ children: [
74
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Viewport, {
75
+ className: cn("size-full", "rounded-[inherit] ring-ring/50 outline-ring", "transition", "focus-visible:ring-4 focus-visible:outline-1"),
76
+ "data-slot": "scroll-area-viewport",
77
+ children
78
+ }),
79
+ /* @__PURE__ */ jsx(ScrollAreaScrollbar, { orientation: "vertical" }),
80
+ /* @__PURE__ */ jsx(ScrollAreaScrollbar, { orientation: "horizontal" }),
81
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
82
+ ]
83
+ })
84
+ });
85
+ }
86
+ function ScrollAreaScrollbar({ __scopeScrollArea, className, orientation, ...props }) {
87
+ const { size } = useScrollAreaContext(SCROLL_AREA_NAME, __scopeScrollArea);
88
+ return /* @__PURE__ */ jsx(ScrollAreaPrimitive.Scrollbar, {
89
+ className: scrollAreaScrollbarVariants({
90
+ className,
91
+ orientation,
92
+ size
93
+ }),
94
+ "data-slot": "scroll-area-scrollbar",
95
+ orientation,
96
+ ...props,
97
+ children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: cn("relative flex-1", "rounded-full", "bg-border") })
98
+ });
99
+ }
100
+ //#endregion
101
+ export { ScrollArea, ScrollAreaScrollbar, scrollAreaScrollbarVariants };
@@ -0,0 +1,62 @@
1
+ import { VariantProps } from "../lib/utils.mjs";
2
+ import { buttonVariants } from "./button.mjs";
3
+ import { ComponentProps, JSX } from "react";
4
+ import * as SelectPrimitive from "@radix-ui/react-select";
5
+
6
+ //#region src/components/select.d.ts
7
+ type SelectProps = ComponentProps<typeof SelectPrimitive.Root>;
8
+ declare function Select({
9
+ ...props
10
+ }: SelectProps): JSX.Element;
11
+ type SelectGroupProps = ComponentProps<typeof SelectPrimitive.Group>;
12
+ declare function SelectGroup({
13
+ ...props
14
+ }: SelectGroupProps): JSX.Element;
15
+ type SelectValueProps = ComponentProps<typeof SelectPrimitive.Value>;
16
+ declare function SelectValue({
17
+ ...props
18
+ }: SelectValueProps): JSX.Element;
19
+ interface SelectTriggerProps extends ComponentProps<typeof SelectPrimitive.Trigger> {
20
+ size?: VariantProps<typeof buttonVariants>["size"];
21
+ }
22
+ declare function SelectTrigger({
23
+ children,
24
+ className,
25
+ size,
26
+ ...props
27
+ }: SelectTriggerProps): JSX.Element;
28
+ type SelectScrollUpButtonProps = ComponentProps<typeof SelectPrimitive.ScrollUpButton>;
29
+ declare function SelectScrollUpButton({
30
+ className,
31
+ ...props
32
+ }: SelectScrollUpButtonProps): JSX.Element;
33
+ type SelectScrollDownButtonProps = ComponentProps<typeof SelectPrimitive.ScrollDownButton>;
34
+ declare function SelectScrollDownButton({
35
+ className,
36
+ ...props
37
+ }: SelectScrollDownButtonProps): JSX.Element;
38
+ type SelectContentProps = ComponentProps<typeof SelectPrimitive.Content>;
39
+ declare function SelectContent({
40
+ children,
41
+ className,
42
+ position,
43
+ ...props
44
+ }: SelectContentProps): JSX.Element;
45
+ type SelectLabelProps = ComponentProps<typeof SelectPrimitive.Label>;
46
+ declare function SelectLabel({
47
+ className,
48
+ ...props
49
+ }: SelectLabelProps): JSX.Element;
50
+ type SelectItemProps = ComponentProps<typeof SelectPrimitive.Item>;
51
+ declare function SelectItem({
52
+ children,
53
+ className,
54
+ ...props
55
+ }: SelectItemProps): JSX.Element;
56
+ type SelectSeparatorProps = ComponentProps<typeof SelectPrimitive.Separator>;
57
+ declare function SelectSeparator({
58
+ className,
59
+ ...props
60
+ }: SelectSeparatorProps): JSX.Element;
61
+ //#endregion
62
+ export { Select, SelectContent, type SelectContentProps, SelectGroup, type SelectGroupProps, SelectItem, type SelectItemProps, SelectLabel, type SelectLabelProps, type SelectProps, SelectScrollDownButton, type SelectScrollDownButtonProps, SelectScrollUpButton, type SelectScrollUpButtonProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps };
@@ -0,0 +1,101 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { buttonVariants } from "./button.mjs";
4
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as SelectPrimitive from "@radix-ui/react-select";
7
+ //#region src/components/select.tsx
8
+ function Select({ ...props }) {
9
+ return /* @__PURE__ */ jsx(SelectPrimitive.Root, {
10
+ "data-slot": "select",
11
+ ...props
12
+ });
13
+ }
14
+ function SelectGroup({ ...props }) {
15
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, {
16
+ "data-slot": "select-group",
17
+ ...props
18
+ });
19
+ }
20
+ function SelectValue({ ...props }) {
21
+ return /* @__PURE__ */ jsx(SelectPrimitive.Value, {
22
+ "data-slot": "select-value",
23
+ ...props
24
+ });
25
+ }
26
+ function SelectTrigger({ children, className, size, ...props }) {
27
+ return /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {
28
+ className: buttonVariants({
29
+ className: ["[&_svg:not([class*='text-'])]:text-muted-foreground focus:ring-ring/50 focus:border-ring w-fit justify-between px-3 font-normal focus:ring-3 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 *:data-[slot=select-value]:truncate", className],
30
+ size,
31
+ variant: "outline"
32
+ }),
33
+ "data-size": size,
34
+ "data-slot": "select-trigger",
35
+ ...props,
36
+ children: [children, /* @__PURE__ */ jsx(SelectPrimitive.Icon, {
37
+ asChild: true,
38
+ className: cn("size-4 shrink-0", "opacity-50"),
39
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
40
+ })]
41
+ });
42
+ }
43
+ function SelectScrollUpButton({ className, ...props }) {
44
+ return /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpButton, {
45
+ className: cn("flex items-center justify-center", "py-1", "text-muted-foreground", className),
46
+ "data-slot": "select-scroll-up-button",
47
+ ...props,
48
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, { size: 16 })
49
+ });
50
+ }
51
+ function SelectScrollDownButton({ className, ...props }) {
52
+ return /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownButton, {
53
+ className: cn("flex items-center justify-center", "py-1", "text-muted-foreground", className),
54
+ "data-slot": "select-scroll-down-button",
55
+ ...props,
56
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, { size: 16 })
57
+ });
58
+ }
59
+ function SelectContent({ children, className, position = "popper", ...props }) {
60
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(SelectPrimitive.Content, {
61
+ className: cn("relative z-50", "max-h-(--radix-select-content-available-height) min-w-32 overflow-hidden", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "data-closed:data-side-top:slide-out-to-bottom-2", "data-closed:data-side-right:slide-out-to-left-2", "data-closed:data-side-bottom:slide-out-to-top-2", "data-closed:data-side-left:slide-out-to-right-2", "origin-(--radix-select-content-transform-origin)", position === "popper" && "data-side-top:-translate-y-1 data-side-right:translate-x-1 data-side-bottom:translate-y-1 data-side-left:-translate-x-1", className),
62
+ "data-slot": "select-content",
63
+ position,
64
+ ...props,
65
+ children: [
66
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
67
+ /* @__PURE__ */ jsx(SelectPrimitive.Viewport, {
68
+ className: cn("p-1", position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1"),
69
+ children
70
+ }),
71
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
72
+ ]
73
+ }) });
74
+ }
75
+ function SelectLabel({ className, ...props }) {
76
+ return /* @__PURE__ */ jsx(SelectPrimitive.Label, {
77
+ className: cn("flex items-center gap-x-2", "px-2 py-1.5", "text-sm font-semibold", className),
78
+ "data-slot": "select-label",
79
+ ...props
80
+ });
81
+ }
82
+ function SelectItem({ children, className, ...props }) {
83
+ return /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
84
+ className: cn("relative flex w-full items-center py-1.5 pr-8 pl-2", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80", "*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "[&_svg:not([class*='text-'])]:text-muted-foreground", className),
85
+ "data-slot": "select-item",
86
+ ...props,
87
+ children: [/* @__PURE__ */ jsx("span", {
88
+ className: cn("absolute flex items-center justify-center", "right-2"),
89
+ children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
90
+ }), /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })]
91
+ });
92
+ }
93
+ function SelectSeparator({ className, ...props }) {
94
+ return /* @__PURE__ */ jsx(SelectPrimitive.Separator, {
95
+ className: cn("mx-2 my-1 h-px", "bg-border", className),
96
+ "data-slot": "select-separator",
97
+ ...props
98
+ });
99
+ }
100
+ //#endregion
101
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
@@ -0,0 +1,32 @@
1
+ import { VariantProps } from "../lib/utils.mjs";
2
+ import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
3
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
4
+ import { ComponentProps, JSX } from "react";
5
+
6
+ //#region src/components/separator.d.ts
7
+ declare const separatorVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
8
+ align: {
9
+ center: string;
10
+ end: string;
11
+ start: string;
12
+ };
13
+ orientation: {
14
+ horizontal: string;
15
+ vertical: string;
16
+ };
17
+ }, Record<string, never>>;
18
+ interface SeparatorProps extends ComponentProps<typeof SeparatorPrimitive.Root>, Omit<VariantProps<typeof separatorVariants>, "orientation"> {}
19
+ declare function Separator({
20
+ align,
21
+ className,
22
+ decorative,
23
+ orientation,
24
+ ...props
25
+ }: SeparatorProps): JSX.Element;
26
+ type SeparatorItemProps = ComponentProps<"div">;
27
+ declare function SeparatorItem({
28
+ className,
29
+ ...props
30
+ }: SeparatorItemProps): JSX.Element;
31
+ //#endregion
32
+ export { Separator, SeparatorItem, type SeparatorItemProps, type SeparatorProps, separatorVariants };
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { cn, tv } from "../lib/utils.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
5
+ //#region src/components/separator.tsx
6
+ const separatorVariants = tv({
7
+ base: ["relative flex shrink-0 items-center", "bg-border"],
8
+ defaultVariants: {
9
+ align: "center",
10
+ orientation: "horizontal"
11
+ },
12
+ variants: {
13
+ align: {
14
+ center: "justify-center",
15
+ end: "justify-end",
16
+ start: "justify-start"
17
+ },
18
+ orientation: {
19
+ horizontal: "h-px w-full",
20
+ vertical: "h-full w-px flex-col"
21
+ }
22
+ }
23
+ });
24
+ function Separator({ align, className, decorative = true, orientation, ...props }) {
25
+ return /* @__PURE__ */ jsx(SeparatorPrimitive.Root, {
26
+ className: separatorVariants({
27
+ align,
28
+ className,
29
+ orientation
30
+ }),
31
+ "data-slot": "separator",
32
+ decorative,
33
+ orientation,
34
+ ...props
35
+ });
36
+ }
37
+ function SeparatorItem({ className, ...props }) {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ className: cn("absolute", "mx-2 px-2", "bg-background text-sm text-muted-foreground", className),
40
+ "data-slot": "separator-item",
41
+ ...props
42
+ });
43
+ }
44
+ //#endregion
45
+ export { Separator, SeparatorItem, separatorVariants };
@@ -0,0 +1,75 @@
1
+ import { VariantProps } from "../lib/utils.mjs";
2
+ import { buttonVariants } from "./button.mjs";
3
+ import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
4
+ import { ComponentProps, JSX } from "react";
5
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
6
+
7
+ //#region src/components/sheet.d.ts
8
+ declare const sheetContentVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
9
+ side: {
10
+ bottom: string[];
11
+ left: string[];
12
+ right: string[];
13
+ top: string[];
14
+ };
15
+ }, Record<string, never>>;
16
+ type SheetProps = ComponentProps<typeof SheetPrimitive.Root>;
17
+ declare function Sheet({
18
+ children,
19
+ ...props
20
+ }: SheetProps): JSX.Element;
21
+ type SheetTriggerProps = ComponentProps<typeof SheetPrimitive.Trigger>;
22
+ declare function SheetTrigger({
23
+ ...props
24
+ }: SheetTriggerProps): JSX.Element;
25
+ interface SheetContentProps extends ComponentProps<typeof SheetPrimitive.Content>, VariantProps<typeof sheetContentVariants> {
26
+ classNames?: {
27
+ close?: string;
28
+ content?: string;
29
+ overlay?: string;
30
+ };
31
+ }
32
+ declare function SheetContent({
33
+ children,
34
+ className,
35
+ classNames,
36
+ side,
37
+ ...props
38
+ }: SheetContentProps): JSX.Element;
39
+ type SheetHeaderProps = ComponentProps<"div">;
40
+ declare function SheetHeader({
41
+ className,
42
+ ...props
43
+ }: SheetHeaderProps): JSX.Element;
44
+ type SheetBodyProps = ComponentProps<"div">;
45
+ declare function SheetBody({
46
+ className,
47
+ ...props
48
+ }: SheetBodyProps): JSX.Element;
49
+ type SheetFooterProps = ComponentProps<"div">;
50
+ declare function SheetFooter({
51
+ className,
52
+ ...props
53
+ }: SheetFooterProps): JSX.Element;
54
+ type SheetTitleProps = ComponentProps<typeof SheetPrimitive.Title>;
55
+ declare function SheetTitle({
56
+ className,
57
+ ...props
58
+ }: SheetTitleProps): JSX.Element;
59
+ type SheetDescriptionProps = ComponentProps<typeof SheetPrimitive.Description>;
60
+ declare function SheetDescription({
61
+ className,
62
+ ...props
63
+ }: SheetDescriptionProps): JSX.Element;
64
+ interface SheetCloseProps extends ComponentProps<typeof SheetPrimitive.Close> {
65
+ size?: VariantProps<typeof buttonVariants>["size"];
66
+ variant?: VariantProps<typeof buttonVariants>["variant"];
67
+ }
68
+ declare function SheetClose({
69
+ className,
70
+ size,
71
+ variant,
72
+ ...props
73
+ }: SheetCloseProps): JSX.Element;
74
+ //#endregion
75
+ export { Sheet, SheetBody, type SheetBodyProps, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, type SheetDescriptionProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, type SheetProps, SheetTitle, type SheetTitleProps, SheetTrigger, type SheetTriggerProps, sheetContentVariants };
@@ -0,0 +1,134 @@
1
+ "use client";
2
+ import { cn, tv } from "../lib/utils.mjs";
3
+ import { buttonVariants } from "./button.mjs";
4
+ import { XIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
7
+ //#region src/components/sheet.tsx
8
+ const sheetContentVariants = tv({
9
+ base: [
10
+ "fixed z-50 flex flex-col overflow-auto",
11
+ "bg-background shadow-lg",
12
+ "ease-ui data-open:animate-in data-open:animation-duration-500",
13
+ "data-closed:animate-out data-closed:animation-duration-500"
14
+ ],
15
+ defaultVariants: { side: "right" },
16
+ variants: { side: {
17
+ bottom: [
18
+ "max-h-[80vh]",
19
+ "inset-x-0 bottom-0",
20
+ "border-t",
21
+ "data-open:slide-in-from-bottom",
22
+ "data-closed:slide-out-to-bottom"
23
+ ],
24
+ left: [
25
+ "h-full w-3/4",
26
+ "inset-y-0 left-0",
27
+ "border-r",
28
+ "sm:max-w-sm",
29
+ "data-open:slide-in-from-left",
30
+ "data-closed:slide-out-to-left"
31
+ ],
32
+ right: [
33
+ "h-full w-3/4",
34
+ "inset-y-0 right-0",
35
+ "border-l",
36
+ "sm:max-w-sm",
37
+ "data-open:slide-in-from-right",
38
+ "data-closed:slide-out-to-right"
39
+ ],
40
+ top: [
41
+ "max-h-[80vh]",
42
+ "inset-x-0 top-0",
43
+ "border-b",
44
+ "data-open:slide-in-from-top",
45
+ "data-closed:slide-out-to-top"
46
+ ]
47
+ } }
48
+ });
49
+ function Sheet({ children, ...props }) {
50
+ return /* @__PURE__ */ jsx(SheetPrimitive.Root, {
51
+ "data-slot": "sheet",
52
+ ...props,
53
+ children
54
+ });
55
+ }
56
+ function SheetTrigger({ ...props }) {
57
+ return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, {
58
+ "data-slot": "sheet-trigger",
59
+ ...props
60
+ });
61
+ }
62
+ function SheetContent({ children, className, classNames, side = "right", ...props }) {
63
+ return /* @__PURE__ */ jsxs(SheetPrimitive.Portal, { children: [/* @__PURE__ */ jsx(SheetPrimitive.Overlay, {
64
+ className: cn("fixed inset-0 z-50", "bg-black/50", "ease-ui data-open:animate-in data-open:animation-duration-500 data-open:fade-in-0", "data-closed:animate-out data-closed:animation-duration-500 data-closed:fade-out-0", classNames?.overlay),
65
+ "data-slot": "sheet-overlay"
66
+ }), /* @__PURE__ */ jsxs(SheetPrimitive.Content, {
67
+ className: sheetContentVariants({
68
+ className: [classNames?.content, className],
69
+ side
70
+ }),
71
+ "data-slot": "sheet-content",
72
+ ...props,
73
+ children: [children, /* @__PURE__ */ jsxs(SheetPrimitive.Close, {
74
+ className: buttonVariants({
75
+ className: ["absolute top-4 right-4 size-7", classNames?.close],
76
+ size: "icon",
77
+ variant: "ghost"
78
+ }),
79
+ "data-slot": "sheet-close",
80
+ children: [/* @__PURE__ */ jsx(XIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
81
+ className: "sr-only",
82
+ children: "Close"
83
+ })]
84
+ })]
85
+ })] });
86
+ }
87
+ function SheetHeader({ className, ...props }) {
88
+ return /* @__PURE__ */ jsx("header", {
89
+ className: cn("flex shrink-0 flex-col gap-1.5 px-6 pt-6 pb-4 text-center", "sm:text-left", className),
90
+ "data-slot": "sheet-header",
91
+ ...props
92
+ });
93
+ }
94
+ function SheetBody({ className, ...props }) {
95
+ return /* @__PURE__ */ jsx("main", {
96
+ className: cn("overflow-auto", "px-6 py-2", className),
97
+ "data-slot": "sheet-body",
98
+ ...props
99
+ });
100
+ }
101
+ function SheetFooter({ className, ...props }) {
102
+ return /* @__PURE__ */ jsx("footer", {
103
+ className: cn("flex shrink-0 flex-col-reverse gap-2 px-6 pt-4 pb-6", "sm:flex-row sm:justify-end", className),
104
+ "data-slot": "sheet-footer",
105
+ ...props
106
+ });
107
+ }
108
+ function SheetTitle({ className, ...props }) {
109
+ return /* @__PURE__ */ jsx(SheetPrimitive.Title, {
110
+ className: cn("text-lg font-semibold text-foreground", className),
111
+ "data-slot": "sheet-title",
112
+ ...props
113
+ });
114
+ }
115
+ function SheetDescription({ className, ...props }) {
116
+ return /* @__PURE__ */ jsx(SheetPrimitive.Description, {
117
+ className: cn("text-sm text-muted-foreground", className),
118
+ "data-slot": "sheet-description",
119
+ ...props
120
+ });
121
+ }
122
+ function SheetClose({ className, size, variant = "outline", ...props }) {
123
+ return /* @__PURE__ */ jsx(SheetPrimitive.Close, {
124
+ className: buttonVariants({
125
+ className,
126
+ size,
127
+ variant
128
+ }),
129
+ "data-slot": "sheet-close",
130
+ ...props
131
+ });
132
+ }
133
+ //#endregion
134
+ export { Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, sheetContentVariants };