@codefast/ui 0.3.16-canary.2 → 0.4.0-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 (289) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +28 -17
  3. package/dist/components/accordion.d.mts +7 -22
  4. package/dist/components/accordion.mjs +26 -29
  5. package/dist/components/alert-dialog.d.mts +27 -26
  6. package/dist/components/alert-dialog.mjs +53 -45
  7. package/dist/components/alert.d.mts +14 -14
  8. package/dist/components/alert.mjs +17 -28
  9. package/dist/components/aspect-ratio.d.mts +2 -2
  10. package/dist/components/aspect-ratio.mjs +2 -3
  11. package/dist/components/avatar.d.mts +41 -5
  12. package/dist/components/avatar.mjs +40 -10
  13. package/dist/components/badge.d.mts +3 -15
  14. package/dist/components/badge.mjs +6 -48
  15. package/dist/components/breadcrumb.d.mts +1 -0
  16. package/dist/components/breadcrumb.mjs +11 -10
  17. package/dist/components/button-group.d.mts +3 -13
  18. package/dist/components/button-group.mjs +9 -31
  19. package/dist/components/button.d.mts +3 -26
  20. package/dist/components/button.mjs +9 -79
  21. package/dist/components/calendar.d.mts +6 -2
  22. package/dist/components/calendar.mjs +41 -44
  23. package/dist/components/card.d.mts +4 -2
  24. package/dist/components/card.mjs +9 -9
  25. package/dist/components/carousel.d.mts +16 -5
  26. package/dist/components/carousel.mjs +24 -11
  27. package/dist/components/chart.d.mts +9 -6
  28. package/dist/components/chart.mjs +21 -15
  29. package/dist/components/checkbox-cards.mjs +4 -4
  30. package/dist/components/checkbox-group.mjs +3 -4
  31. package/dist/components/checkbox.d.mts +2 -2
  32. package/dist/components/checkbox.mjs +6 -7
  33. package/dist/components/collapsible.d.mts +4 -4
  34. package/dist/components/collapsible.mjs +4 -5
  35. package/dist/components/command.d.mts +11 -1
  36. package/dist/components/command.mjs +35 -32
  37. package/dist/components/context-menu.d.mts +22 -15
  38. package/dist/components/context-menu.mjs +44 -39
  39. package/dist/components/dialog.d.mts +19 -23
  40. package/dist/components/dialog.mjs +48 -47
  41. package/dist/components/direction.d.mts +24 -0
  42. package/dist/components/direction.mjs +18 -0
  43. package/dist/components/drawer.d.mts +3 -21
  44. package/dist/components/drawer.mjs +19 -27
  45. package/dist/components/dropdown-menu.d.mts +22 -15
  46. package/dist/components/dropdown-menu.mjs +41 -37
  47. package/dist/components/empty.d.mts +3 -13
  48. package/dist/components/empty.mjs +8 -23
  49. package/dist/components/field.d.mts +3 -14
  50. package/dist/components/field.mjs +14 -44
  51. package/dist/components/form.d.mts +7 -10
  52. package/dist/components/form.mjs +6 -7
  53. package/dist/components/hover-card.d.mts +5 -5
  54. package/dist/components/hover-card.mjs +14 -12
  55. package/dist/components/input-group.d.mts +4 -31
  56. package/dist/components/input-group.mjs +14 -96
  57. package/dist/components/input-number.d.mts +3 -1
  58. package/dist/components/input-number.mjs +50 -28
  59. package/dist/components/input-otp.mjs +9 -7
  60. package/dist/components/input-password.mjs +1 -4
  61. package/dist/components/input-search.mjs +3 -5
  62. package/dist/components/input.mjs +1 -2
  63. package/dist/components/item.d.mts +4 -29
  64. package/dist/components/item.mjs +12 -65
  65. package/dist/components/kbd.mjs +1 -1
  66. package/dist/components/label.d.mts +2 -2
  67. package/dist/components/label.mjs +3 -4
  68. package/dist/components/menubar.d.mts +22 -16
  69. package/dist/components/menubar.mjs +54 -47
  70. package/dist/components/native-select.d.mts +5 -1
  71. package/dist/components/native-select.mjs +9 -6
  72. package/dist/components/navigation-menu.d.mts +30 -13
  73. package/dist/components/navigation-menu.mjs +35 -32
  74. package/dist/components/pagination.d.mts +7 -1
  75. package/dist/components/pagination.mjs +27 -12
  76. package/dist/components/popover.d.mts +40 -7
  77. package/dist/components/popover.mjs +46 -14
  78. package/dist/components/progress-circle.d.mts +3 -47
  79. package/dist/components/progress-circle.mjs +2 -48
  80. package/dist/components/progress.d.mts +2 -2
  81. package/dist/components/progress.mjs +5 -6
  82. package/dist/components/radio-cards.d.mts +3 -3
  83. package/dist/components/radio-cards.mjs +11 -11
  84. package/dist/components/radio-group.d.mts +3 -3
  85. package/dist/components/radio-group.mjs +9 -9
  86. package/dist/components/radio.mjs +2 -3
  87. package/dist/components/resizable.mjs +3 -8
  88. package/dist/components/scroll-area.d.mts +8 -24
  89. package/dist/components/scroll-area.mjs +16 -70
  90. package/dist/components/select.d.mts +14 -14
  91. package/dist/components/select.mjs +47 -47
  92. package/dist/components/separator.d.mts +4 -19
  93. package/dist/components/separator.mjs +6 -27
  94. package/dist/components/sheet.d.mts +18 -31
  95. package/dist/components/sheet.mjs +46 -87
  96. package/dist/components/sidebar.d.mts +3 -19
  97. package/dist/components/sidebar.mjs +48 -84
  98. package/dist/components/skeleton.mjs +1 -1
  99. package/dist/components/slider.d.mts +2 -2
  100. package/dist/components/slider.mjs +9 -11
  101. package/dist/components/sonner.mjs +11 -3
  102. package/dist/components/spinner.mjs +6 -7
  103. package/dist/components/switch.d.mts +5 -2
  104. package/dist/components/switch.mjs +7 -7
  105. package/dist/components/table.mjs +10 -10
  106. package/dist/components/tabs.d.mts +8 -5
  107. package/dist/components/tabs.mjs +18 -12
  108. package/dist/components/textarea.mjs +1 -1
  109. package/dist/components/toggle-group.d.mts +11 -7
  110. package/dist/components/toggle-group.mjs +20 -21
  111. package/dist/components/toggle.d.mts +4 -24
  112. package/dist/components/toggle.mjs +6 -45
  113. package/dist/components/tooltip.d.mts +7 -6
  114. package/dist/components/tooltip.mjs +19 -17
  115. package/dist/hooks/use-animated-value.mjs +0 -1
  116. package/dist/hooks/use-copy-to-clipboard.mjs +0 -1
  117. package/dist/hooks/use-is-mobile.mjs +0 -1
  118. package/dist/hooks/use-media-query.mjs +0 -1
  119. package/dist/hooks/use-mutation-observer.mjs +0 -1
  120. package/dist/hooks/use-pagination.mjs +0 -1
  121. package/dist/index.d.mts +38 -21
  122. package/dist/index.mjs +40 -23
  123. package/dist/lib/utils.d.mts +1 -12
  124. package/dist/lib/utils.mjs +1 -9
  125. package/dist/primitives/checkbox-group.d.mts +9 -11
  126. package/dist/primitives/checkbox-group.mjs +14 -19
  127. package/dist/primitives/input-number.d.mts +3 -4
  128. package/dist/primitives/input-number.mjs +3 -5
  129. package/dist/primitives/input.d.mts +4 -5
  130. package/dist/primitives/input.mjs +2 -3
  131. package/dist/primitives/progress-circle.d.mts +3 -4
  132. package/dist/primitives/progress-circle.mjs +2 -3
  133. package/dist/variants/alert.d.mts +18 -0
  134. package/dist/variants/alert.mjs +15 -0
  135. package/dist/variants/badge.d.mts +22 -0
  136. package/dist/variants/badge.mjs +19 -0
  137. package/dist/variants/button-group.d.mts +18 -0
  138. package/dist/variants/button-group.mjs +15 -0
  139. package/dist/variants/button.d.mts +32 -0
  140. package/dist/variants/button.mjs +34 -0
  141. package/dist/variants/empty.d.mts +18 -0
  142. package/dist/variants/empty.mjs +15 -0
  143. package/dist/variants/field.d.mts +19 -0
  144. package/dist/variants/field.mjs +16 -0
  145. package/dist/variants/input-group.d.mts +43 -0
  146. package/dist/variants/input-group.mjs +34 -0
  147. package/dist/variants/input-number.d.mts +45 -0
  148. package/dist/variants/input-number.mjs +40 -0
  149. package/dist/variants/item.d.mts +38 -0
  150. package/dist/variants/item.mjs +38 -0
  151. package/dist/variants/navigation-menu.d.mts +13 -0
  152. package/dist/variants/navigation-menu.mjs +8 -0
  153. package/dist/variants/progress-circle.d.mts +52 -0
  154. package/dist/variants/progress-circle.mjs +45 -0
  155. package/dist/variants/scroll-area.d.mts +24 -0
  156. package/dist/variants/scroll-area.mjs +58 -0
  157. package/dist/variants/separator.d.mts +23 -0
  158. package/dist/variants/separator.mjs +25 -0
  159. package/dist/variants/sheet.d.mts +20 -0
  160. package/dist/variants/sheet.mjs +17 -0
  161. package/dist/variants/sidebar.d.mts +23 -0
  162. package/dist/variants/sidebar.mjs +25 -0
  163. package/dist/variants/tabs.d.mts +18 -0
  164. package/dist/variants/tabs.mjs +15 -0
  165. package/dist/variants/toggle.d.mts +23 -0
  166. package/dist/variants/toggle.mjs +25 -0
  167. package/package.json +186 -55
  168. package/src/components/accordion.tsx +114 -0
  169. package/src/components/alert-dialog.tsx +298 -0
  170. package/src/components/alert.tsx +94 -0
  171. package/src/components/aspect-ratio.tsx +25 -0
  172. package/src/components/avatar.tsx +171 -0
  173. package/src/components/badge.tsx +35 -0
  174. package/src/components/breadcrumb.tsx +191 -0
  175. package/src/components/button-group.tsx +97 -0
  176. package/src/components/button.tsx +55 -0
  177. package/src/components/calendar.tsx +222 -0
  178. package/src/components/card.tsx +169 -0
  179. package/src/components/carousel.tsx +349 -0
  180. package/src/components/chart.tsx +536 -0
  181. package/src/components/checkbox-cards.tsx +72 -0
  182. package/src/components/checkbox-group.tsx +60 -0
  183. package/src/components/checkbox.tsx +44 -0
  184. package/src/components/collapsible.tsx +57 -0
  185. package/src/components/command.tsx +298 -0
  186. package/src/components/context-menu.tsx +410 -0
  187. package/src/components/dialog.tsx +243 -0
  188. package/src/components/direction.tsx +32 -0
  189. package/src/components/drawer.tsx +209 -0
  190. package/src/components/dropdown-menu.tsx +419 -0
  191. package/src/components/empty.tsx +155 -0
  192. package/src/components/field.tsx +329 -0
  193. package/src/components/form.tsx +258 -0
  194. package/src/components/hover-card.tsx +93 -0
  195. package/src/components/input-group.tsx +185 -0
  196. package/src/components/input-number.tsx +141 -0
  197. package/src/components/input-otp.tsx +132 -0
  198. package/src/components/input-password.tsx +50 -0
  199. package/src/components/input-search.tsx +81 -0
  200. package/src/components/input.tsx +36 -0
  201. package/src/components/item.tsx +266 -0
  202. package/src/components/kbd.tsx +47 -0
  203. package/src/components/label.tsx +36 -0
  204. package/src/components/menubar.tsx +440 -0
  205. package/src/components/native-select.tsx +87 -0
  206. package/src/components/navigation-menu.tsx +235 -0
  207. package/src/components/pagination.tsx +198 -0
  208. package/src/components/popover.tsx +170 -0
  209. package/src/components/progress-circle.tsx +185 -0
  210. package/src/components/progress.tsx +41 -0
  211. package/src/components/radio-cards.tsx +66 -0
  212. package/src/components/radio-group.tsx +59 -0
  213. package/src/components/radio.tsx +40 -0
  214. package/src/components/resizable.tsx +78 -0
  215. package/src/components/scroll-area.tsx +95 -0
  216. package/src/components/select.tsx +296 -0
  217. package/src/components/separator.tsx +60 -0
  218. package/src/components/sheet.tsx +241 -0
  219. package/src/components/sidebar.tsx +926 -0
  220. package/src/components/skeleton.tsx +35 -0
  221. package/src/components/slider.tsx +66 -0
  222. package/src/components/sonner.tsx +57 -0
  223. package/src/components/spinner.tsx +66 -0
  224. package/src/components/switch.tsx +44 -0
  225. package/src/components/table.tsx +183 -0
  226. package/src/components/tabs.tsx +110 -0
  227. package/src/components/textarea.tsx +35 -0
  228. package/src/components/toggle-group.tsx +137 -0
  229. package/src/components/toggle.tsx +30 -0
  230. package/src/components/tooltip.tsx +115 -0
  231. package/src/css/foundation/base.css +50 -0
  232. package/src/css/foundation/motion.css +36 -0
  233. package/src/css/foundation/source.css +3 -0
  234. package/src/css/foundation/tokens.css +71 -0
  235. package/src/css/foundation/variants.css +113 -0
  236. package/src/css/preset.css +5 -195
  237. package/src/css/style.css +1 -1
  238. package/src/css/{amber.css → themes/amber.css} +59 -22
  239. package/src/css/{blue.css → themes/blue.css} +59 -22
  240. package/src/css/{cyan.css → themes/cyan.css} +59 -22
  241. package/src/css/{emerald.css → themes/emerald.css} +59 -22
  242. package/src/css/{fuchsia.css → themes/fuchsia.css} +59 -22
  243. package/src/css/{gray.css → themes/gray.css} +59 -22
  244. package/src/css/{green.css → themes/green.css} +59 -22
  245. package/src/css/{indigo.css → themes/indigo.css} +59 -22
  246. package/src/css/{lime.css → themes/lime.css} +59 -22
  247. package/src/css/{neutral.css → themes/neutral.css} +59 -22
  248. package/src/css/{orange.css → themes/orange.css} +59 -22
  249. package/src/css/{pink.css → themes/pink.css} +59 -22
  250. package/src/css/{purple.css → themes/purple.css} +59 -22
  251. package/src/css/{red.css → themes/red.css} +59 -22
  252. package/src/css/{rose.css → themes/rose.css} +59 -22
  253. package/src/css/{sky.css → themes/sky.css} +59 -22
  254. package/src/css/{slate.css → themes/slate.css} +59 -22
  255. package/src/css/{stone.css → themes/stone.css} +59 -22
  256. package/src/css/{teal.css → themes/teal.css} +59 -22
  257. package/src/css/{violet.css → themes/violet.css} +59 -22
  258. package/src/css/{yellow.css → themes/yellow.css} +59 -22
  259. package/src/css/{zinc.css → themes/zinc.css} +59 -22
  260. package/src/hooks/use-animated-value.ts +91 -0
  261. package/src/hooks/use-copy-to-clipboard.ts +58 -0
  262. package/src/hooks/use-is-mobile.ts +25 -0
  263. package/src/hooks/use-media-query.ts +69 -0
  264. package/src/hooks/use-mutation-observer.ts +51 -0
  265. package/src/hooks/use-pagination.ts +164 -0
  266. package/src/index.ts +679 -0
  267. package/src/lib/utils.ts +5 -0
  268. package/src/primitives/checkbox-group.tsx +346 -0
  269. package/src/primitives/input-number.tsx +967 -0
  270. package/src/primitives/input.tsx +227 -0
  271. package/src/primitives/progress-circle.tsx +507 -0
  272. package/src/variants/alert.ts +34 -0
  273. package/src/variants/badge.ts +39 -0
  274. package/src/variants/button-group.ts +36 -0
  275. package/src/variants/button.ts +56 -0
  276. package/src/variants/empty.ts +34 -0
  277. package/src/variants/field.ts +37 -0
  278. package/src/variants/input-group.ts +80 -0
  279. package/src/variants/input-number.ts +65 -0
  280. package/src/variants/item.ts +68 -0
  281. package/src/variants/navigation-menu.ts +25 -0
  282. package/src/variants/progress-circle.ts +46 -0
  283. package/src/variants/scroll-area.ts +73 -0
  284. package/src/variants/separator.ts +40 -0
  285. package/src/variants/sheet.ts +37 -0
  286. package/src/variants/sidebar.ts +41 -0
  287. package/src/variants/tabs.ts +34 -0
  288. package/src/variants/toggle.ts +40 -0
  289. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +0 -6
@@ -1,6 +1,6 @@
1
1
  import { cn } from "../lib/utils.mjs";
2
- import { buttonVariants } from "./button.mjs";
3
- import { ChevronLeftIcon, ChevronRightIcon, EllipsisIcon } from "lucide-react";
2
+ import { buttonVariants } from "../variants/button.mjs";
3
+ import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/pagination.tsx
6
6
  /**
@@ -9,7 +9,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
9
9
  function Pagination({ className, ...props }) {
10
10
  return /* @__PURE__ */ jsx("nav", {
11
11
  "aria-label": "pagination",
12
- className: cn("flex w-full justify-center", "mx-auto", className),
12
+ className: cn("mx-auto flex w-full justify-center", className),
13
13
  "data-slot": "pagination",
14
14
  ...props
15
15
  });
@@ -19,7 +19,7 @@ function Pagination({ className, ...props }) {
19
19
  */
20
20
  function PaginationContent({ className, ...props }) {
21
21
  return /* @__PURE__ */ jsx("ul", {
22
- className: cn("flex flex-row items-center gap-1", className),
22
+ className: cn("flex items-center gap-1", className),
23
23
  "data-slot": "pagination-content",
24
24
  ...props
25
25
  });
@@ -44,6 +44,7 @@ function PaginationLink({ children, className, isActive, size = "icon", ...props
44
44
  size,
45
45
  variant: isActive ? "outline" : "ghost"
46
46
  }),
47
+ "data-active": isActive,
47
48
  "data-slot": "pagination-link",
48
49
  ...props,
49
50
  children
@@ -52,25 +53,39 @@ function PaginationLink({ children, className, isActive, size = "icon", ...props
52
53
  /**
53
54
  * @since 0.3.16-canary.0
54
55
  */
55
- function PaginationPrevious({ ...props }) {
56
+ function PaginationPrevious({ className, text = "Previous", ...props }) {
56
57
  return /* @__PURE__ */ jsxs(PaginationLink, {
57
58
  "aria-label": "Go to previous page",
59
+ className: cn("pl-2!", className),
58
60
  "data-slot": "pagination-previous",
59
- size: "md",
61
+ size: "default",
60
62
  ...props,
61
- children: [/* @__PURE__ */ jsx(ChevronLeftIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", { children: "Previous" })]
63
+ children: [/* @__PURE__ */ jsx(ChevronLeftIcon, {
64
+ className: "rtl:rotate-180",
65
+ "data-icon": "inline-start"
66
+ }), /* @__PURE__ */ jsx("span", {
67
+ className: "hidden sm:block",
68
+ children: text
69
+ })]
62
70
  });
63
71
  }
64
72
  /**
65
73
  * @since 0.3.16-canary.0
66
74
  */
67
- function PaginationNext({ ...props }) {
75
+ function PaginationNext({ className, text = "Next", ...props }) {
68
76
  return /* @__PURE__ */ jsxs(PaginationLink, {
69
77
  "aria-label": "Go to next page",
78
+ className: cn("pr-2!", className),
70
79
  "data-slot": "pagination-next",
71
- size: "md",
80
+ size: "default",
72
81
  ...props,
73
- children: [/* @__PURE__ */ jsx("span", { children: "Next" }), /* @__PURE__ */ jsx(ChevronRightIcon, {})]
82
+ children: [/* @__PURE__ */ jsx("span", {
83
+ className: "hidden sm:block",
84
+ children: text
85
+ }), /* @__PURE__ */ jsx(ChevronRightIcon, {
86
+ className: "rtl:rotate-180",
87
+ "data-icon": "inline-end"
88
+ })]
74
89
  });
75
90
  }
76
91
  /**
@@ -79,10 +94,10 @@ function PaginationNext({ ...props }) {
79
94
  function PaginationEllipsis({ className, ...props }) {
80
95
  return /* @__PURE__ */ jsxs("span", {
81
96
  "aria-hidden": true,
82
- className: cn("flex size-10 items-center justify-center", className),
97
+ className: cn("flex size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-4", className),
83
98
  "data-slot": "pagination-ellipsis",
84
99
  ...props,
85
- children: [/* @__PURE__ */ jsx(EllipsisIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
100
+ children: [/* @__PURE__ */ jsx(MoreHorizontalIcon, {}), /* @__PURE__ */ jsx("span", {
86
101
  className: "sr-only",
87
102
  children: "More pages"
88
103
  })]
@@ -1,11 +1,11 @@
1
+ import { Popover as Popover$1 } from "radix-ui";
1
2
  import { ComponentProps, JSX } from "react";
2
- import * as PopoverPrimitive from "@radix-ui/react-popover";
3
3
 
4
4
  //#region src/components/popover.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type PopoverProps = ComponentProps<typeof PopoverPrimitive.Root>;
8
+ type PopoverProps = ComponentProps<typeof Popover$1.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -15,7 +15,7 @@ declare function Popover({
15
15
  /**
16
16
  * @since 0.3.16-canary.0
17
17
  */
18
- type PopoverTriggerProps = ComponentProps<typeof PopoverPrimitive.Trigger>;
18
+ type PopoverTriggerProps = ComponentProps<typeof Popover$1.Trigger>;
19
19
  /**
20
20
  * @since 0.3.16-canary.0
21
21
  */
@@ -25,7 +25,7 @@ declare function PopoverTrigger({
25
25
  /**
26
26
  * @since 0.3.16-canary.0
27
27
  */
28
- type PopoverAnchorProps = ComponentProps<typeof PopoverPrimitive.Anchor>;
28
+ type PopoverAnchorProps = ComponentProps<typeof Popover$1.Anchor>;
29
29
  /**
30
30
  * @since 0.3.16-canary.0
31
31
  */
@@ -35,7 +35,7 @@ declare function PopoverAnchor({
35
35
  /**
36
36
  * @since 0.3.16-canary.0
37
37
  */
38
- type PopoverContentProps = ComponentProps<typeof PopoverPrimitive.Content>;
38
+ type PopoverContentProps = ComponentProps<typeof Popover$1.Content>;
39
39
  /**
40
40
  * @since 0.3.16-canary.0
41
41
  */
@@ -48,7 +48,7 @@ declare function PopoverContent({
48
48
  /**
49
49
  * @since 0.3.16-canary.0
50
50
  */
51
- type PopoverArrowProps = ComponentProps<typeof PopoverPrimitive.Arrow>;
51
+ type PopoverArrowProps = ComponentProps<typeof Popover$1.Arrow>;
52
52
  /**
53
53
  * @since 0.3.16-canary.0
54
54
  */
@@ -56,5 +56,38 @@ declare function PopoverArrow({
56
56
  className,
57
57
  ...props
58
58
  }: PopoverArrowProps): JSX.Element;
59
+ /**
60
+ * @since 0.3.16-canary.0
61
+ */
62
+ type PopoverHeaderProps = ComponentProps<"div">;
63
+ /**
64
+ * @since 0.3.16-canary.0
65
+ */
66
+ declare function PopoverHeader({
67
+ className,
68
+ ...props
69
+ }: PopoverHeaderProps): JSX.Element;
70
+ /**
71
+ * @since 0.3.16-canary.0
72
+ */
73
+ type PopoverTitleProps = ComponentProps<"div">;
74
+ /**
75
+ * @since 0.3.16-canary.0
76
+ */
77
+ declare function PopoverTitle({
78
+ className,
79
+ ...props
80
+ }: PopoverTitleProps): JSX.Element;
81
+ /**
82
+ * @since 0.3.16-canary.0
83
+ */
84
+ type PopoverDescriptionProps = ComponentProps<"p">;
85
+ /**
86
+ * @since 0.3.16-canary.0
87
+ */
88
+ declare function PopoverDescription({
89
+ className,
90
+ ...props
91
+ }: PopoverDescriptionProps): JSX.Element;
59
92
  //#endregion
60
- export { Popover, PopoverAnchor, type PopoverAnchorProps, PopoverArrow, type PopoverArrowProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps };
93
+ export { Popover, PopoverAnchor, type PopoverAnchorProps, PopoverArrow, type PopoverArrowProps, PopoverContent, type PopoverContentProps, PopoverDescription, type PopoverDescriptionProps, PopoverHeader, type PopoverHeaderProps, type PopoverProps, PopoverTitle, type PopoverTitleProps, PopoverTrigger, type PopoverTriggerProps };
@@ -1,13 +1,12 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
2
+ import { Popover as Popover$1 } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import * as PopoverPrimitive from "@radix-ui/react-popover";
5
4
  //#region src/components/popover.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
8
  function Popover({ ...props }) {
10
- return /* @__PURE__ */ jsx(PopoverPrimitive.Root, {
9
+ return /* @__PURE__ */ jsx(Popover$1.Root, {
11
10
  "data-slot": "popover",
12
11
  ...props
13
12
  });
@@ -16,7 +15,7 @@ function Popover({ ...props }) {
16
15
  * @since 0.3.16-canary.0
17
16
  */
18
17
  function PopoverTrigger({ ...props }) {
19
- return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, {
18
+ return /* @__PURE__ */ jsx(Popover$1.Trigger, {
20
19
  "data-slot": "popover-trigger",
21
20
  ...props
22
21
  });
@@ -25,7 +24,7 @@ function PopoverTrigger({ ...props }) {
25
24
  * @since 0.3.16-canary.0
26
25
  */
27
26
  function PopoverAnchor({ ...props }) {
28
- return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, {
27
+ return /* @__PURE__ */ jsx(Popover$1.Anchor, {
29
28
  "data-slot": "popover-anchor",
30
29
  ...props
31
30
  });
@@ -34,23 +33,56 @@ function PopoverAnchor({ ...props }) {
34
33
  * @since 0.3.16-canary.0
35
34
  */
36
35
  function PopoverContent({ align = "center", className, sideOffset = 4, ...props }) {
37
- return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(PopoverPrimitive.Content, {
38
- align,
39
- className: cn("z-50", "min-w-32 p-4", "rounded-lg border", "bg-popover shadow-lg outline-hidden", "text-popover-foreground", "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-popover-content-transform-origin)", className),
40
- "data-slot": "popover-content",
41
- sideOffset,
42
- ...props
43
- }) });
36
+ return /* @__PURE__ */ jsx(Popover$1.Portal, {
37
+ "data-slot": "popover-portal",
38
+ children: /* @__PURE__ */ jsx(Popover$1.Content, {
39
+ align,
40
+ className: cn("z-50 flex w-72 origin-(--radix-popover-content-transform-origin) flex-col gap-4 rounded-md bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden ease-snappy data-open:animate-in data-open:animation-duration-popup-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:ease-exit data-closed:animation-duration-popup-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", className),
41
+ "data-slot": "popover-content",
42
+ sideOffset,
43
+ ...props
44
+ })
45
+ });
44
46
  }
45
47
  /**
46
48
  * @since 0.3.16-canary.0
47
49
  */
48
50
  function PopoverArrow({ className, ...props }) {
49
- return /* @__PURE__ */ jsx(PopoverPrimitive.Arrow, {
51
+ return /* @__PURE__ */ jsx(Popover$1.Arrow, {
50
52
  className: cn("fill-popover", className),
51
53
  "data-slot": "popover-arrow",
52
54
  ...props
53
55
  });
54
56
  }
57
+ /**
58
+ * @since 0.3.16-canary.0
59
+ */
60
+ function PopoverHeader({ className, ...props }) {
61
+ return /* @__PURE__ */ jsx("div", {
62
+ className: cn("flex flex-col gap-1 text-sm", className),
63
+ "data-slot": "popover-header",
64
+ ...props
65
+ });
66
+ }
67
+ /**
68
+ * @since 0.3.16-canary.0
69
+ */
70
+ function PopoverTitle({ className, ...props }) {
71
+ return /* @__PURE__ */ jsx("div", {
72
+ className: cn("font-medium", className),
73
+ "data-slot": "popover-title",
74
+ ...props
75
+ });
76
+ }
77
+ /**
78
+ * @since 0.3.16-canary.0
79
+ */
80
+ function PopoverDescription({ className, ...props }) {
81
+ return /* @__PURE__ */ jsx("p", {
82
+ className: cn("text-muted-foreground", className),
83
+ "data-slot": "popover-description",
84
+ ...props
85
+ });
86
+ }
55
87
  //#endregion
56
- export { Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger };
88
+ export { Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger };
@@ -1,56 +1,12 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
1
  import { ProgressCircleProvider } from "../primitives/progress-circle.mjs";
3
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
2
+ import { ProgressCircleVariants } from "../variants/progress-circle.mjs";
4
3
  import { ComponentProps, JSX } from "react";
5
4
 
6
5
  //#region src/components/progress-circle.d.ts
7
6
  /**
8
7
  * @since 0.3.16-canary.0
9
8
  */
10
- declare const progressCircleVariants: _$_codefast_tailwind_variants0.VariantResolver<{
11
- size: {
12
- sm: {
13
- label: string;
14
- };
15
- md: {
16
- label: string;
17
- };
18
- lg: {
19
- label: string;
20
- };
21
- xl: {
22
- label: string;
23
- };
24
- "2xl": {
25
- label: string;
26
- };
27
- };
28
- thickness: {
29
- regular: {};
30
- thick: {};
31
- thin: {};
32
- };
33
- variant: {
34
- default: {
35
- indicator: string;
36
- track: string;
37
- };
38
- destructive: {
39
- indicator: string;
40
- track: string;
41
- };
42
- };
43
- }, {
44
- indicator: string;
45
- label: string[];
46
- root: string;
47
- svg: string;
48
- track: string;
49
- }>;
50
- /**
51
- * @since 0.3.16-canary.0
52
- */
53
- interface ProgressCircleProps extends Omit<ComponentProps<typeof ProgressCircleProvider>, "children" | "size">, VariantProps<typeof progressCircleVariants> {
9
+ interface ProgressCircleProps extends Omit<ComponentProps<typeof ProgressCircleProvider>, "children" | "size">, ProgressCircleVariants {
54
10
  /**
55
11
  * Enables animation effect when value changes
56
12
  */
@@ -130,4 +86,4 @@ declare namespace ProgressCircle {
130
86
  var displayName: string;
131
87
  }
132
88
  //#endregion
133
- export { ProgressCircle, type ProgressCircleProps, progressCircleVariants };
89
+ export { ProgressCircle, type ProgressCircleProps };
@@ -1,58 +1,12 @@
1
- "use client";
2
- import { tv } from "../lib/utils.mjs";
3
1
  import { useAnimatedValue } from "../hooks/use-animated-value.mjs";
4
2
  import { Indicator as ProgressCircleIndicator, ProgressCircle as ProgressCircle$1, ProgressCircleProvider, ProgressCircleSVG, ProgressCircleTrack, ProgressCircleValue } from "../primitives/progress-circle.mjs";
3
+ import { progressCircleVariants } from "../variants/progress-circle.mjs";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
  import { useCallback, useMemo } from "react";
7
6
  //#region src/components/progress-circle.tsx
8
7
  /**
9
8
  * @since 0.3.16-canary.0
10
9
  */
11
- const progressCircleVariants = tv({
12
- defaultVariants: {
13
- size: "md",
14
- thickness: "regular",
15
- variant: "default"
16
- },
17
- slots: {
18
- indicator: "origin-center",
19
- label: [
20
- "absolute flex items-center justify-center",
21
- "inset-0",
22
- "text-xs font-medium"
23
- ],
24
- root: "relative inline-flex items-center justify-center",
25
- svg: "size-full",
26
- track: "origin-center"
27
- },
28
- variants: {
29
- size: {
30
- sm: { label: "text-[0.625rem]" },
31
- md: { label: "text-xs" },
32
- lg: { label: "text-sm" },
33
- xl: { label: "text-base" },
34
- "2xl": { label: "text-lg" }
35
- },
36
- thickness: {
37
- regular: {},
38
- thick: {},
39
- thin: {}
40
- },
41
- variant: {
42
- default: {
43
- indicator: "text-primary",
44
- track: "text-primary/20"
45
- },
46
- destructive: {
47
- indicator: "text-destructive",
48
- track: "text-destructive/20"
49
- }
50
- }
51
- }
52
- });
53
- /**
54
- * @since 0.3.16-canary.0
55
- */
56
10
  function ProgressCircle({ animate = true, animationDuration = 1e3, className, classNames, customLabel, showValue = false, size, sizeInPixels, strokeWidth, thickness = "regular", value = 0, variant = "default", ...props }) {
57
11
  const displayValue = useAnimatedValue(value, animationDuration, animate);
58
12
  const actualSize = useMemo(() => sizeInPixels ?? getActualSize(size), [sizeInPixels, size]);
@@ -123,4 +77,4 @@ const getStrokeWidth = (thickness, size) => {
123
77
  return thickness ? thicknessMap[thickness] : Math.max(3, size * .05);
124
78
  };
125
79
  //#endregion
126
- export { ProgressCircle, progressCircleVariants };
80
+ export { ProgressCircle };
@@ -1,11 +1,11 @@
1
+ import { Progress as Progress$1 } from "radix-ui";
1
2
  import { ComponentProps, JSX } from "react";
2
- import * as ProgressPrimitive from "@radix-ui/react-progress";
3
3
 
4
4
  //#region src/components/progress.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type ProgressProps = ComponentProps<typeof ProgressPrimitive.Root>;
8
+ type ProgressProps = ComponentProps<typeof Progress$1.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -1,18 +1,17 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
2
+ import { Progress as Progress$1 } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import * as ProgressPrimitive from "@radix-ui/react-progress";
5
4
  //#region src/components/progress.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
8
  function Progress({ className, value, ...props }) {
10
- return /* @__PURE__ */ jsx(ProgressPrimitive.Root, {
11
- className: cn("relative", "h-2 w-full overflow-hidden", "rounded-full", "bg-primary/20", className),
9
+ return /* @__PURE__ */ jsx(Progress$1.Root, {
10
+ className: cn("relative flex h-1.5 w-full items-center overflow-x-hidden rounded-full bg-muted", className),
12
11
  "data-slot": "progress",
13
12
  ...props,
14
- children: /* @__PURE__ */ jsx(ProgressPrimitive.Indicator, {
15
- className: cn("size-full flex-1", "bg-primary", "transition-all"),
13
+ children: /* @__PURE__ */ jsx(Progress$1.Indicator, {
14
+ className: "size-full flex-1 bg-primary transition-all",
16
15
  "data-slot": "progress-indicator",
17
16
  style: { transform: `translateX(-${(100 - (value ?? 0)).toString()}%)` }
18
17
  })
@@ -1,11 +1,11 @@
1
+ import { RadioGroup } from "radix-ui";
1
2
  import { ComponentProps, JSX } from "react";
2
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3
3
 
4
4
  //#region src/components/radio-cards.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type RadioCardsProps = ComponentProps<typeof RadioGroupPrimitive.Root>;
8
+ type RadioCardsProps = ComponentProps<typeof RadioGroup.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -13,7 +13,7 @@ declare function RadioCards(props: RadioCardsProps): JSX.Element;
13
13
  /**
14
14
  * @since 0.3.16-canary.0
15
15
  */
16
- type RadioCardsItemProps = ComponentProps<typeof RadioGroupPrimitive.Item>;
16
+ type RadioCardsItemProps = ComponentProps<typeof RadioGroup.Item>;
17
17
  /**
18
18
  * @since 0.3.16-canary.0
19
19
  */
@@ -1,14 +1,13 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { Label } from "./label.mjs";
2
+ import { Label as Label$1 } from "./label.mjs";
3
+ import { RadioGroup } from "radix-ui";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
6
5
  //#region src/components/radio-cards.tsx
7
6
  /**
8
7
  * @since 0.3.16-canary.0
9
8
  */
10
9
  function RadioCards(props) {
11
- return /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, {
10
+ return /* @__PURE__ */ jsx(RadioGroup.Root, {
12
11
  "data-slot": "radio-cards",
13
12
  ...props
14
13
  });
@@ -17,16 +16,17 @@ function RadioCards(props) {
17
16
  * @since 0.3.16-canary.0
18
17
  */
19
18
  function RadioCardsItem({ children, className, ...props }) {
20
- return /* @__PURE__ */ jsxs(Label, {
21
- className: cn("flex items-start gap-3", "p-3", "rounded-lg border border-input", "transition", "hover:not-has-disabled:not-has-aria-checked:bg-secondary", "has-focus-visible:border-ring", "has-disabled:opacity-50", "has-aria-checked:border-primary has-aria-checked:bg-primary/10"),
19
+ return /* @__PURE__ */ jsxs(Label$1, {
20
+ className: "flex items-start gap-3 rounded-md border border-input p-3 transition has-focus-visible:border-ring has-disabled:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5",
22
21
  "data-slot": "radio-card",
23
- children: [/* @__PURE__ */ jsx(RadioGroupPrimitive.Item, {
24
- className: cn("peer flex size-4 shrink-0 items-center justify-center", "rounded-full border border-input shadow-xs outline-hidden", "text-primary-foreground", "transition", "focus-visible:ring-3 focus-visible:ring-ring/50", "focus-visible:not-aria-checked:border-ring", "aria-checked:border-primary aria-checked:bg-primary", "focus-visible:aria-checked:ring-primary/20", "dark:bg-input/30", "dark:focus-visible:aria-checked:ring-primary/40", className),
22
+ children: [/* @__PURE__ */ jsx(RadioGroup.Item, {
23
+ className: cn("peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", className),
25
24
  "data-slot": "radio-card-item",
26
25
  ...props,
27
- children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, {
28
- className: cn("size-1", "rounded-full", "bg-background"),
29
- "data-slot": "radio-card-indicator"
26
+ children: /* @__PURE__ */ jsx(RadioGroup.Indicator, {
27
+ className: "flex size-4 items-center justify-center",
28
+ "data-slot": "radio-card-indicator",
29
+ children: /* @__PURE__ */ jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
30
30
  })
31
31
  }), children]
32
32
  });
@@ -1,11 +1,11 @@
1
+ import { RadioGroup as RadioGroup$1 } from "radix-ui";
1
2
  import { ComponentProps, JSX } from "react";
2
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
3
3
 
4
4
  //#region src/components/radio-group.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type RadioGroupProps = ComponentProps<typeof RadioGroupPrimitive.Root>;
8
+ type RadioGroupProps = ComponentProps<typeof RadioGroup$1.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -16,7 +16,7 @@ declare function RadioGroup({
16
16
  /**
17
17
  * @since 0.3.16-canary.0
18
18
  */
19
- type RadioGroupItemProps = ComponentProps<typeof RadioGroupPrimitive.Item>;
19
+ type RadioGroupItemProps = ComponentProps<typeof RadioGroup$1.Item>;
20
20
  /**
21
21
  * @since 0.3.16-canary.0
22
22
  */
@@ -1,14 +1,13 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
2
+ import { RadioGroup as RadioGroup$1 } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
5
4
  //#region src/components/radio-group.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
8
  function RadioGroup({ className, ...props }) {
10
- return /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, {
11
- className: cn("grid gap-2", className),
9
+ return /* @__PURE__ */ jsx(RadioGroup$1.Root, {
10
+ className: cn("grid w-full gap-3", className),
12
11
  "data-slot": "radio-group",
13
12
  ...props
14
13
  });
@@ -17,13 +16,14 @@ function RadioGroup({ className, ...props }) {
17
16
  * @since 0.3.16-canary.0
18
17
  */
19
18
  function RadioGroupItem({ className, ...props }) {
20
- return /* @__PURE__ */ jsx(RadioGroupPrimitive.Item, {
21
- className: cn("peer inline-flex size-4 shrink-0 items-center justify-center", "rounded-full border border-input shadow-xs outline-hidden", "transition", "hover:not-disabled:not-aria-checked:border-ring/60", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:opacity-50", "aria-checked:border-primary aria-checked:bg-primary", "focus-visible:aria-checked:ring-primary/20", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60", "aria-checked:aria-invalid:bg-destructive", "dark:bg-input/30", "dark:focus-visible:aria-checked:ring-primary/40", "dark:aria-invalid:ring-destructive/40", className),
19
+ return /* @__PURE__ */ jsx(RadioGroup$1.Item, {
20
+ className: cn("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", className),
22
21
  "data-slot": "radio-group-item",
23
22
  ...props,
24
- children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, {
25
- className: cn("size-1", "rounded-full", "bg-background"),
26
- "data-slot": "radio-group-indicator"
23
+ children: /* @__PURE__ */ jsx(RadioGroup$1.Indicator, {
24
+ className: "flex size-4 items-center justify-center",
25
+ "data-slot": "radio-group-indicator",
26
+ children: /* @__PURE__ */ jsx("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
27
27
  })
28
28
  });
29
29
  }
@@ -1,14 +1,13 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
2
  import { jsx } from "react/jsx-runtime";
4
- import { composeEventHandlers } from "@radix-ui/primitive";
3
+ import { composeEventHandlers } from "radix-ui/internal";
5
4
  //#region src/components/radio.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
8
  function Radio({ className, onChange, onValueChange, ...props }) {
10
9
  return /* @__PURE__ */ jsx("input", {
11
- className: cn("peer inline-flex size-4 shrink-0 items-center justify-center", "rounded-full border border-input shadow-xs outline-hidden", "appearance-none", "after:size-full after:rounded-full after:bg-background after:transition-[width,height]", "checked:border-primary checked:bg-primary", "checked:after:size-1", "hover:not-disabled:not-checked:border-ring/60", "focus-visible:ring-3 focus-visible:ring-ring/50", "focus-visible:not-checked:border-ring", "focus-visible:checked:ring-primary/20", "disabled:opacity-50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "checked:aria-invalid:bg-destructive", "hover:not-disabled:not-checked:aria-invalid:border-destructive/60", "dark:not-checked:after:bg-input/30", "dark:focus-visible:checked:ring-primary/40", "dark:aria-invalid:ring-destructive/40", className),
10
+ className: cn("peer relative flex size-4 shrink-0 appearance-none items-center justify-center rounded-full border border-input shadow-xs outline-none before:size-full before:rounded-full before:bg-background after:absolute after:-inset-x-3 after:-inset-y-2 checked:border-primary checked:bg-primary checked:before:size-2 checked:before:bg-primary-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:not-checked:border-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 checked:aria-invalid:bg-destructive dark:not-checked:before:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className),
12
11
  "data-slot": "radio",
13
12
  type: "radio",
14
13
  onChange: composeEventHandlers(onChange, (event) => onValueChange?.(event.currentTarget.value)),
@@ -1,6 +1,4 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { GripVerticalIcon } from "lucide-react";
4
2
  import { jsx } from "react/jsx-runtime";
5
3
  import * as ResizablePrimitive from "react-resizable-panels";
6
4
  //#region src/components/resizable.tsx
@@ -9,7 +7,7 @@ import * as ResizablePrimitive from "react-resizable-panels";
9
7
  */
10
8
  function ResizableGroup({ className, ...props }) {
11
9
  return /* @__PURE__ */ jsx(ResizablePrimitive.Group, {
12
- className: cn("flex size-full", className),
10
+ className: cn("flex h-full w-full aria-[orientation=vertical]:flex-col", className),
13
11
  "data-slot": "resizable-group",
14
12
  ...props
15
13
  });
@@ -28,13 +26,10 @@ function ResizablePanel({ ...props }) {
28
26
  */
29
27
  function ResizableSeparator({ className, withHandle, ...props }) {
30
28
  return /* @__PURE__ */ jsx(ResizablePrimitive.Separator, {
31
- className: cn("flex items-center justify-center", "bg-border outline-hidden", "focus-visible:bg-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-[orientation=horizontal]:h-px", "aria-[orientation=vertical]:w-px", className),
29
+ className: cn("relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90", className),
32
30
  "data-slot": "resizable-separator",
33
31
  ...props,
34
- children: withHandle ? /* @__PURE__ */ jsx("div", {
35
- className: cn("z-10 flex h-4 w-3 items-center justify-center", "rounded-sm border", "bg-border"),
36
- children: /* @__PURE__ */ jsx(GripVerticalIcon, { className: "size-2.5" })
37
- }) : null
32
+ children: withHandle ? /* @__PURE__ */ jsx("div", { className: "z-10 flex h-6 w-1 shrink-0 rounded-lg bg-border" }) : null
38
33
  });
39
34
  }
40
35
  //#endregion