@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,14 +1,13 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { buttonVariants } from "./button.mjs";
2
+ import { Button } from "./button.mjs";
3
+ import { AlertDialog as AlertDialog$1 } from "radix-ui";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
6
5
  //#region src/components/alert-dialog.tsx
7
6
  /**
8
7
  * @since 0.3.16-canary.0
9
8
  */
10
9
  function AlertDialog({ ...props }) {
11
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Root, {
10
+ return /* @__PURE__ */ jsx(AlertDialog$1.Root, {
12
11
  "data-slot": "alert-dialog",
13
12
  ...props
14
13
  });
@@ -17,7 +16,7 @@ function AlertDialog({ ...props }) {
17
16
  * @since 0.3.16-canary.0
18
17
  */
19
18
  function AlertDialogTrigger({ ...props }) {
20
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Trigger, {
19
+ return /* @__PURE__ */ jsx(AlertDialog$1.Trigger, {
21
20
  "data-slot": "alert-dialog-trigger",
22
21
  ...props
23
22
  });
@@ -25,27 +24,26 @@ function AlertDialogTrigger({ ...props }) {
25
24
  /**
26
25
  * @since 0.3.16-canary.0
27
26
  */
28
- function AlertDialogContent({ children, className, classNames, ...props }) {
29
- return /* @__PURE__ */ jsxs(AlertDialogPrimitive.Portal, { children: [/* @__PURE__ */ jsx(AlertDialogPrimitive.Overlay, {
30
- className: cn("fixed inset-0 z-50", "bg-black/50", "ease-ui data-open:animate-in data-open:fade-in-0", "data-closed:animate-out data-closed:fade-out-0", classNames?.overlay),
31
- "data-slot": "alert-dialog-overlay"
32
- }), /* @__PURE__ */ jsx(AlertDialogPrimitive.Content, {
33
- className: cn("fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center overflow-auto p-8", "sm:grid-rows-[1fr_auto_3fr] sm:p-4", "ease-ui 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", classNames?.wrapper),
34
- "data-slot": "alert-dialog-content-wrapper",
35
- ...props,
36
- children: /* @__PURE__ */ jsx("div", {
37
- className: cn("relative row-start-2 flex w-full max-w-lg flex-col", "rounded-2xl border", "bg-popover text-popover-foreground shadow-lg", classNames?.content, className),
27
+ function AlertDialogContent({ className, size = "default", ...props }) {
28
+ return /* @__PURE__ */ jsxs(AlertDialog$1.Portal, {
29
+ "data-slot": "alert-dialog-portal",
30
+ children: [/* @__PURE__ */ jsx(AlertDialog$1.Overlay, {
31
+ className: "fixed inset-0 z-50 bg-black/10 ease-gentle supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:animation-duration-overlay-in data-open:fade-in-0 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-overlay-out data-closed:fade-out-0",
32
+ "data-slot": "alert-dialog-overlay"
33
+ }), /* @__PURE__ */ jsx(AlertDialog$1.Content, {
34
+ className: cn("group/alert-dialog-content fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-full -translate-x-1/2 -translate-y-1/2 flex-col gap-6 overflow-y-auto rounded-xl bg-popover p-6 text-popover-foreground ring-1 ring-foreground/10 ease-ui outline-none data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg data-open:animate-in data-open:animation-duration-overlay-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:ease-exit data-closed:animation-duration-overlay-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
35
+ "data-size": size,
38
36
  "data-slot": "alert-dialog-content",
39
- children
40
- })
41
- })] });
37
+ ...props
38
+ })]
39
+ });
42
40
  }
43
41
  /**
44
42
  * @since 0.3.16-canary.0
45
43
  */
46
44
  function AlertDialogHeader({ className, ...props }) {
47
45
  return /* @__PURE__ */ jsx("div", {
48
- className: cn("flex shrink-0 flex-col gap-1.5 px-6 pt-6 pb-4 text-center", "sm:text-left", className),
46
+ className: cn("grid shrink-0 grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]", className),
49
47
  "data-slot": "alert-dialog-header",
50
48
  ...props
51
49
  });
@@ -53,9 +51,19 @@ function AlertDialogHeader({ className, ...props }) {
53
51
  /**
54
52
  * @since 0.3.16-canary.0
55
53
  */
54
+ function AlertDialogMedia({ className, ...props }) {
55
+ return /* @__PURE__ */ jsx("div", {
56
+ className: cn("mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8", className),
57
+ "data-slot": "alert-dialog-media",
58
+ ...props
59
+ });
60
+ }
61
+ /**
62
+ * @since 0.3.16-canary.0
63
+ */
56
64
  function AlertDialogBody({ className, ...props }) {
57
- return /* @__PURE__ */ jsx("main", {
58
- className: cn("overflow-auto", "px-6 py-2", className),
65
+ return /* @__PURE__ */ jsx("div", {
66
+ className: cn("-mx-6 min-h-0 flex-1 overflow-y-auto px-6", className),
59
67
  "data-slot": "alert-dialog-body",
60
68
  ...props
61
69
  });
@@ -65,7 +73,7 @@ function AlertDialogBody({ className, ...props }) {
65
73
  */
66
74
  function AlertDialogFooter({ className, ...props }) {
67
75
  return /* @__PURE__ */ jsx("div", {
68
- className: cn("flex shrink-0 flex-col-reverse gap-2 px-6 pt-4 pb-6", "sm:flex-row sm:justify-end", className),
76
+ className: cn("flex shrink-0 flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end", className),
69
77
  "data-slot": "alert-dialog-footer",
70
78
  ...props
71
79
  });
@@ -74,8 +82,8 @@ function AlertDialogFooter({ className, ...props }) {
74
82
  * @since 0.3.16-canary.0
75
83
  */
76
84
  function AlertDialogTitle({ className, ...props }) {
77
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Title, {
78
- className: cn("text-lg leading-none font-semibold tracking-tight", className),
85
+ return /* @__PURE__ */ jsx(AlertDialog$1.Title, {
86
+ className: cn("font-heading text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
79
87
  "data-slot": "alert-dialog-title",
80
88
  ...props
81
89
  });
@@ -84,8 +92,8 @@ function AlertDialogTitle({ className, ...props }) {
84
92
  * @since 0.3.16-canary.0
85
93
  */
86
94
  function AlertDialogDescription({ className, ...props }) {
87
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Description, {
88
- className: cn("text-sm text-muted-foreground", className),
95
+ return /* @__PURE__ */ jsx(AlertDialog$1.Description, {
96
+ className: cn("text-sm text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
89
97
  "data-slot": "alert-dialog-description",
90
98
  ...props
91
99
  });
@@ -93,30 +101,30 @@ function AlertDialogDescription({ className, ...props }) {
93
101
  /**
94
102
  * @since 0.3.16-canary.0
95
103
  */
96
- function AlertDialogAction({ className, size, variant, ...props }) {
97
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Action, {
98
- className: buttonVariants({
99
- className,
100
- size,
101
- variant
102
- }),
103
- "data-slot": "alert-dialog-action",
104
- ...props
104
+ function AlertDialogAction({ size = "default", variant = "default", ...props }) {
105
+ return /* @__PURE__ */ jsx(Button, {
106
+ asChild: true,
107
+ size,
108
+ variant,
109
+ children: /* @__PURE__ */ jsx(AlertDialog$1.Action, {
110
+ "data-slot": "alert-dialog-action",
111
+ ...props
112
+ })
105
113
  });
106
114
  }
107
115
  /**
108
116
  * @since 0.3.16-canary.0
109
117
  */
110
- function AlertDialogCancel({ className, size, variant = "outline", ...props }) {
111
- return /* @__PURE__ */ jsx(AlertDialogPrimitive.Cancel, {
112
- className: buttonVariants({
113
- className,
114
- size,
115
- variant
116
- }),
117
- "data-slot": "alert-dialog-cancel",
118
- ...props
118
+ function AlertDialogCancel({ size = "default", variant = "outline", ...props }) {
119
+ return /* @__PURE__ */ jsx(Button, {
120
+ asChild: true,
121
+ size,
122
+ variant,
123
+ children: /* @__PURE__ */ jsx(AlertDialog$1.Cancel, {
124
+ "data-slot": "alert-dialog-cancel",
125
+ ...props
126
+ })
119
127
  });
120
128
  }
121
129
  //#endregion
122
- export { AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger };
130
+ export { AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, AlertDialogTrigger };
@@ -1,21 +1,11 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
1
+ import { AlertVariants } from "../variants/alert.mjs";
3
2
  import { ComponentProps, JSX } from "react";
4
3
 
5
4
  //#region src/components/alert.d.ts
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- declare const alertVariants: _$_codefast_tailwind_variants0.VariantResolver<{
10
- variant: {
11
- default: string;
12
- destructive: string[];
13
- };
14
- }, Record<string, never>>;
15
- /**
16
- * @since 0.3.16-canary.0
17
- */
18
- interface AlertProps extends ComponentProps<"div">, VariantProps<typeof alertVariants> {}
8
+ interface AlertProps extends ComponentProps<"div">, AlertVariants {}
19
9
  /**
20
10
  * @since 0.3.16-canary.0
21
11
  */
@@ -32,7 +22,6 @@ type AlertTitleProps = ComponentProps<"div">;
32
22
  * @since 0.3.16-canary.0
33
23
  */
34
24
  declare function AlertTitle({
35
- children,
36
25
  className,
37
26
  ...props
38
27
  }: AlertTitleProps): JSX.Element;
@@ -47,5 +36,16 @@ declare function AlertDescription({
47
36
  className,
48
37
  ...props
49
38
  }: AlertDescriptionProps): JSX.Element;
39
+ /**
40
+ * @since 0.3.16-canary.0
41
+ */
42
+ type AlertActionProps = ComponentProps<"div">;
43
+ /**
44
+ * @since 0.3.16-canary.0
45
+ */
46
+ declare function AlertAction({
47
+ className,
48
+ ...props
49
+ }: AlertActionProps): JSX.Element;
50
50
  //#endregion
51
- export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps, alertVariants };
51
+ export { Alert, AlertAction, type AlertActionProps, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps };
@@ -1,30 +1,10 @@
1
- import { cn, tv } from "../lib/utils.mjs";
1
+ import { cn } from "../lib/utils.mjs";
2
+ import { alertVariants } from "../variants/alert.mjs";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/components/alert.tsx
4
5
  /**
5
6
  * @since 0.3.16-canary.0
6
7
  */
7
- const alertVariants = tv({
8
- base: [
9
- "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 px-4 py-3",
10
- "rounded-xl border",
11
- "bg-card text-sm",
12
- "has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3",
13
- "[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current"
14
- ],
15
- defaultVariants: { variant: "default" },
16
- variants: { variant: {
17
- default: "text-card-foreground",
18
- destructive: [
19
- "text-destructive",
20
- "*:data-[slot=alert-description]:text-destructive/90",
21
- "[&>svg]:text-current"
22
- ]
23
- } }
24
- });
25
- /**
26
- * @since 0.3.16-canary.0
27
- */
28
8
  function Alert({ className, variant, ...props }) {
29
9
  return /* @__PURE__ */ jsx("div", {
30
10
  className: alertVariants({
@@ -39,12 +19,11 @@ function Alert({ className, variant, ...props }) {
39
19
  /**
40
20
  * @since 0.3.16-canary.0
41
21
  */
42
- function AlertTitle({ children, className, ...props }) {
22
+ function AlertTitle({ className, ...props }) {
43
23
  return /* @__PURE__ */ jsx("div", {
44
- className: cn("col-start-2 min-h-4", "line-clamp-1 font-medium tracking-tight", className),
24
+ className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
45
25
  "data-slot": "alert-title",
46
- ...props,
47
- children
26
+ ...props
48
27
  });
49
28
  }
50
29
  /**
@@ -52,10 +31,20 @@ function AlertTitle({ children, className, ...props }) {
52
31
  */
53
32
  function AlertDescription({ className, ...props }) {
54
33
  return /* @__PURE__ */ jsx("div", {
55
- className: cn("col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground", "[&_p]:leading-relaxed", className),
34
+ className: cn("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
56
35
  "data-slot": "alert-description",
57
36
  ...props
58
37
  });
59
38
  }
39
+ /**
40
+ * @since 0.3.16-canary.0
41
+ */
42
+ function AlertAction({ className, ...props }) {
43
+ return /* @__PURE__ */ jsx("div", {
44
+ className: cn("absolute top-2.5 right-3", className),
45
+ "data-slot": "alert-action",
46
+ ...props
47
+ });
48
+ }
60
49
  //#endregion
61
- export { Alert, AlertDescription, AlertTitle, alertVariants };
50
+ export { Alert, AlertAction, AlertDescription, AlertTitle };
@@ -1,11 +1,11 @@
1
- import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
1
+ import { AspectRatio as AspectRatio$1 } from "radix-ui";
2
2
  import { ComponentProps, JSX } from "react";
3
3
 
4
4
  //#region src/components/aspect-ratio.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type AspectRatioProps = ComponentProps<typeof AspectRatioPrimitive.Root>;
8
+ type AspectRatioProps = ComponentProps<typeof AspectRatio$1.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -1,12 +1,11 @@
1
- "use client";
1
+ import { AspectRatio as AspectRatio$1 } from "radix-ui";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
4
3
  //#region src/components/aspect-ratio.tsx
5
4
  /**
6
5
  * @since 0.3.16-canary.0
7
6
  */
8
7
  function AspectRatio({ ...props }) {
9
- return /* @__PURE__ */ jsx(AspectRatioPrimitive.Root, {
8
+ return /* @__PURE__ */ jsx(AspectRatio$1.Root, {
10
9
  "data-slot": "aspect-ratio",
11
10
  ...props
12
11
  });
@@ -1,22 +1,25 @@
1
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
1
+ import { Avatar as Avatar$1 } from "radix-ui";
2
2
  import { ComponentProps, JSX } from "react";
3
3
 
4
4
  //#region src/components/avatar.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type AvatarProps = ComponentProps<typeof AvatarPrimitive.Root>;
8
+ type AvatarProps = ComponentProps<typeof Avatar$1.Root> & {
9
+ size?: "default" | "sm" | "lg";
10
+ };
9
11
  /**
10
12
  * @since 0.3.16-canary.0
11
13
  */
12
14
  declare function Avatar({
13
15
  className,
16
+ size,
14
17
  ...props
15
18
  }: AvatarProps): JSX.Element;
16
19
  /**
17
20
  * @since 0.3.16-canary.0
18
21
  */
19
- type AvatarImageProps = ComponentProps<typeof AvatarPrimitive.Image>;
22
+ type AvatarImageProps = ComponentProps<typeof Avatar$1.Image>;
20
23
  /**
21
24
  * @since 0.3.16-canary.0
22
25
  */
@@ -27,7 +30,7 @@ declare function AvatarImage({
27
30
  /**
28
31
  * @since 0.3.16-canary.0
29
32
  */
30
- type AvatarFallbackProps = ComponentProps<typeof AvatarPrimitive.Fallback>;
33
+ type AvatarFallbackProps = ComponentProps<typeof Avatar$1.Fallback>;
31
34
  /**
32
35
  * @since 0.3.16-canary.0
33
36
  */
@@ -35,5 +38,38 @@ declare function AvatarFallback({
35
38
  className,
36
39
  ...props
37
40
  }: AvatarFallbackProps): JSX.Element;
41
+ /**
42
+ * @since 0.3.16-canary.0
43
+ */
44
+ type AvatarBadgeProps = ComponentProps<"span">;
45
+ /**
46
+ * @since 0.3.16-canary.0
47
+ */
48
+ declare function AvatarBadge({
49
+ className,
50
+ ...props
51
+ }: AvatarBadgeProps): JSX.Element;
52
+ /**
53
+ * @since 0.3.16-canary.0
54
+ */
55
+ type AvatarGroupProps = ComponentProps<"div">;
56
+ /**
57
+ * @since 0.3.16-canary.0
58
+ */
59
+ declare function AvatarGroup({
60
+ className,
61
+ ...props
62
+ }: AvatarGroupProps): JSX.Element;
63
+ /**
64
+ * @since 0.3.16-canary.0
65
+ */
66
+ type AvatarGroupCountProps = ComponentProps<"div">;
67
+ /**
68
+ * @since 0.3.16-canary.0
69
+ */
70
+ declare function AvatarGroupCount({
71
+ className,
72
+ ...props
73
+ }: AvatarGroupCountProps): JSX.Element;
38
74
  //#endregion
39
- export { Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps };
75
+ export { Avatar, AvatarBadge, type AvatarBadgeProps, AvatarFallback, type AvatarFallbackProps, AvatarGroup, AvatarGroupCount, type AvatarGroupCountProps, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps };
@@ -1,14 +1,14 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
2
+ import { Avatar as Avatar$1 } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
5
4
  //#region src/components/avatar.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- function Avatar({ className, ...props }) {
10
- return /* @__PURE__ */ jsx(AvatarPrimitive.Root, {
11
- className: cn("relative flex size-8 shrink-0 overflow-hidden", "rounded-full", className),
8
+ function Avatar({ className, size = "default", ...props }) {
9
+ return /* @__PURE__ */ jsx(Avatar$1.Root, {
10
+ className: cn("group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", className),
11
+ "data-size": size,
12
12
  "data-slot": "avatar",
13
13
  ...props
14
14
  });
@@ -17,8 +17,8 @@ function Avatar({ className, ...props }) {
17
17
  * @since 0.3.16-canary.0
18
18
  */
19
19
  function AvatarImage({ className, ...props }) {
20
- return /* @__PURE__ */ jsx(AvatarPrimitive.Image, {
21
- className: cn("aspect-square size-full", className),
20
+ return /* @__PURE__ */ jsx(Avatar$1.Image, {
21
+ className: cn("aspect-square size-full rounded-full object-cover", className),
22
22
  "data-slot": "avatar-image",
23
23
  ...props
24
24
  });
@@ -27,11 +27,41 @@ function AvatarImage({ className, ...props }) {
27
27
  * @since 0.3.16-canary.0
28
28
  */
29
29
  function AvatarFallback({ className, ...props }) {
30
- return /* @__PURE__ */ jsx(AvatarPrimitive.Fallback, {
31
- className: cn("flex size-full items-center justify-center", "rounded-full", "bg-muted", className),
30
+ return /* @__PURE__ */ jsx(Avatar$1.Fallback, {
31
+ className: cn("flex size-full items-center justify-center rounded-full bg-muted text-sm text-muted-foreground group-data-[size=sm]/avatar:text-xs", className),
32
32
  "data-slot": "avatar-fallback",
33
33
  ...props
34
34
  });
35
35
  }
36
+ /**
37
+ * @since 0.3.16-canary.0
38
+ */
39
+ function AvatarBadge({ className, ...props }) {
40
+ return /* @__PURE__ */ jsx("span", {
41
+ className: cn("absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground bg-blend-color ring-2 ring-background select-none", "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", className),
42
+ "data-slot": "avatar-badge",
43
+ ...props
44
+ });
45
+ }
46
+ /**
47
+ * @since 0.3.16-canary.0
48
+ */
49
+ function AvatarGroup({ className, ...props }) {
50
+ return /* @__PURE__ */ jsx("div", {
51
+ className: cn("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background", className),
52
+ "data-slot": "avatar-group",
53
+ ...props
54
+ });
55
+ }
56
+ /**
57
+ * @since 0.3.16-canary.0
58
+ */
59
+ function AvatarGroupCount({ className, ...props }) {
60
+ return /* @__PURE__ */ jsx("div", {
61
+ className: cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-sm text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", className),
62
+ "data-slot": "avatar-group-count",
63
+ ...props
64
+ });
65
+ }
36
66
  //#endregion
37
- export { Avatar, AvatarFallback, AvatarImage };
67
+ export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
@@ -1,23 +1,11 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
1
+ import { BadgeVariants } from "../variants/badge.mjs";
3
2
  import { ComponentProps, JSX } from "react";
4
3
 
5
4
  //#region src/components/badge.d.ts
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- declare const badgeVariants: _$_codefast_tailwind_variants0.VariantResolver<{
10
- variant: {
11
- default: string[];
12
- destructive: string[];
13
- outline: string[];
14
- secondary: string[];
15
- };
16
- }, Record<string, never>>;
17
- /**
18
- * @since 0.3.16-canary.0
19
- */
20
- interface BadgeProps extends ComponentProps<"span">, VariantProps<typeof badgeVariants> {
8
+ interface BadgeProps extends ComponentProps<"span">, BadgeVariants {
21
9
  asChild?: boolean;
22
10
  }
23
11
  /**
@@ -30,4 +18,4 @@ declare function Badge({
30
18
  ...props
31
19
  }: BadgeProps): JSX.Element;
32
20
  //#endregion
33
- export { Badge, type BadgeProps, badgeVariants };
21
+ export { Badge, type BadgeProps };
@@ -1,62 +1,20 @@
1
- "use client";
2
- import { tv } from "../lib/utils.mjs";
3
- import { Slot } from "@radix-ui/react-slot";
1
+ import { badgeVariants } from "../variants/badge.mjs";
2
+ import { Slot } from "radix-ui";
4
3
  import { jsx } from "react/jsx-runtime";
5
4
  //#region src/components/badge.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- const badgeVariants = tv({
10
- base: [
11
- "inline-flex w-fit shrink-0 items-center justify-center gap-2 px-1.5 py-0.5",
12
- "rounded-md border outline-hidden",
13
- "text-xs font-medium whitespace-nowrap",
14
- "transition",
15
- "focus-visible:ring-3 focus-visible:ring-ring/50",
16
- "[&>svg]:size-3 [&>svg]:shrink-0"
17
- ],
18
- defaultVariants: { variant: "default" },
19
- variants: { variant: {
20
- default: [
21
- "border-transparent",
22
- "bg-primary text-primary-foreground",
23
- "focus-visible:ring-primary/20",
24
- "dark:focus-visible:ring-primary/40",
25
- "[a&]:hover:bg-primary/80"
26
- ],
27
- destructive: [
28
- "border-transparent",
29
- "bg-destructive text-white",
30
- "focus-visible:ring-destructive/20",
31
- "dark:bg-destructive/60",
32
- "dark:focus-visible:ring-destructive/40",
33
- "[a&]:hover:bg-destructive/90"
34
- ],
35
- outline: [
36
- "border-input",
37
- "bg-background",
38
- "focus-visible:border-ring",
39
- "[a&]:hover:border-ring/60 [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
40
- ],
41
- secondary: [
42
- "border-transparent",
43
- "bg-secondary text-secondary-foreground",
44
- "[a&]:hover:bg-secondary/80"
45
- ]
46
- } }
47
- });
48
- /**
49
- * @since 0.3.16-canary.0
50
- */
51
- function Badge({ asChild, className, variant, ...props }) {
52
- return /* @__PURE__ */ jsx(asChild ? Slot : "span", {
8
+ function Badge({ asChild = false, className, variant = "default", ...props }) {
9
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "span", {
53
10
  className: badgeVariants({
54
11
  className,
55
12
  variant
56
13
  }),
57
14
  "data-slot": "badge",
15
+ "data-variant": variant,
58
16
  ...props
59
17
  });
60
18
  }
61
19
  //#endregion
62
- export { Badge, badgeVariants };
20
+ export { Badge };
@@ -69,6 +69,7 @@ type BreadcrumbSeparatorProps = ComponentProps<"li">;
69
69
  */
70
70
  declare function BreadcrumbSeparator({
71
71
  children,
72
+ className,
72
73
  ...props
73
74
  }: BreadcrumbSeparatorProps): JSX.Element;
74
75
  /**
@@ -1,7 +1,6 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { Slot } from "@radix-ui/react-slot";
4
- import { ChevronRightIcon, EllipsisIcon } from "lucide-react";
2
+ import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
3
+ import { Slot } from "radix-ui";
5
4
  import { jsx, jsxs } from "react/jsx-runtime";
6
5
  //#region src/components/breadcrumb.tsx
7
6
  /**
@@ -19,7 +18,7 @@ function Breadcrumb({ ...props }) {
19
18
  */
20
19
  function BreadcrumbList({ className, ...props }) {
21
20
  return /* @__PURE__ */ jsx("ol", {
22
- className: cn("flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground", "sm:gap-2", className),
21
+ className: cn("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5", className),
23
22
  "data-slot": "breadcrumb-list",
24
23
  ...props
25
24
  });
@@ -38,8 +37,8 @@ function BreadcrumbItem({ className, ...props }) {
38
37
  * @since 0.3.16-canary.0
39
38
  */
40
39
  function BreadcrumbLink({ asChild, className, ...props }) {
41
- return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
42
- className: cn("transition-colors", "hover:text-foreground", className),
40
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "a", {
41
+ className: cn("transition-colors hover:text-foreground", className),
43
42
  "data-slot": "breadcrumb-link",
44
43
  ...props
45
44
  });
@@ -53,19 +52,21 @@ function BreadcrumbPage({ className, ...props }) {
53
52
  "aria-disabled": "true",
54
53
  className: cn("font-normal text-foreground", className),
55
54
  "data-slot": "breadcrumb-page",
55
+ role: "link",
56
56
  ...props
57
57
  });
58
58
  }
59
59
  /**
60
60
  * @since 0.3.16-canary.0
61
61
  */
62
- function BreadcrumbSeparator({ children, ...props }) {
62
+ function BreadcrumbSeparator({ children, className, ...props }) {
63
63
  return /* @__PURE__ */ jsx("li", {
64
64
  "aria-hidden": "true",
65
+ className: cn("[&>svg]:size-3.5", className),
65
66
  "data-slot": "breadcrumb-separator",
66
67
  role: "presentation",
67
68
  ...props,
68
- children: children ?? /* @__PURE__ */ jsx(ChevronRightIcon, { className: "size-3.5" })
69
+ children: children ?? /* @__PURE__ */ jsx(ChevronRightIcon, { className: "rtl:rotate-180" })
69
70
  });
70
71
  }
71
72
  /**
@@ -74,11 +75,11 @@ function BreadcrumbSeparator({ children, ...props }) {
74
75
  function BreadcrumbEllipsis({ className, ...props }) {
75
76
  return /* @__PURE__ */ jsxs("span", {
76
77
  "aria-hidden": "true",
77
- className: cn("flex size-4 items-center justify-center", className),
78
+ className: cn("flex size-5 items-center justify-center [&>svg]:size-4", className),
78
79
  "data-slot": "breadcrumb-ellipsis",
79
80
  role: "presentation",
80
81
  ...props,
81
- children: [/* @__PURE__ */ jsx(EllipsisIcon, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
82
+ children: [/* @__PURE__ */ jsx(MoreHorizontalIcon, {}), /* @__PURE__ */ jsx("span", {
82
83
  className: "sr-only",
83
84
  children: "More"
84
85
  })]