@kuzenbo/core 0.0.4 → 0.0.5

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 (335) hide show
  1. package/dist/avatar-CXhwmJgG.js +65 -0
  2. package/dist/avatar-CXhwmJgG.js.map +1 -0
  3. package/dist/{avatar-image-Ce26D2fb.d.ts → avatar-DpiupAAM.d.ts} +35 -2
  4. package/dist/avatar-DpiupAAM.d.ts.map +1 -0
  5. package/dist/badge-BKRm6jL7.js +58 -0
  6. package/dist/badge-BKRm6jL7.js.map +1 -0
  7. package/dist/button-nAbTNrxA.d.ts +78 -0
  8. package/dist/button-nAbTNrxA.d.ts.map +1 -0
  9. package/dist/{dialog-trigger-BUF3elAP.js → dialog-CD5lfQA9.js} +33 -10
  10. package/dist/dialog-CD5lfQA9.js.map +1 -0
  11. package/dist/{dialog-viewport-Ce1huyAI.d.ts → dialog-DEkdr-9K.d.ts} +64 -2
  12. package/dist/dialog-DEkdr-9K.d.ts.map +1 -0
  13. package/dist/{dropdown-menu-trigger-COnFGfDa.js → dropdown-menu-BJi-V71O.js} +137 -101
  14. package/dist/dropdown-menu-BJi-V71O.js.map +1 -0
  15. package/dist/{dropdown-menu-trigger-BpgtLUvf.d.ts → dropdown-menu-Bpj576m0.d.ts} +259 -123
  16. package/dist/dropdown-menu-Bpj576m0.d.ts.map +1 -0
  17. package/dist/input-Ex9ZRqbo.js +38 -0
  18. package/dist/input-Ex9ZRqbo.js.map +1 -0
  19. package/dist/input-WWoBCgxe.d.ts +46 -0
  20. package/dist/input-WWoBCgxe.d.ts.map +1 -0
  21. package/dist/{input-group-textarea-B-rP98r5.js → input-group-CjcHP0L4.js} +50 -31
  22. package/dist/input-group-CjcHP0L4.js.map +1 -0
  23. package/dist/provider.js +2 -2
  24. package/dist/scroll-bar-C4qEUKlT.js.map +1 -1
  25. package/dist/separator-C8Qw2ADs.d.ts +13 -0
  26. package/dist/separator-C8Qw2ADs.d.ts.map +1 -0
  27. package/dist/{sheet-trigger-D7neoTF5.js → sheet-imSHXfFH.js} +29 -10
  28. package/dist/sheet-imSHXfFH.js.map +1 -0
  29. package/dist/{size-context-BjRwqlSg.js → size-context-CvLl3pMC.js} +3 -3
  30. package/dist/size-context-CvLl3pMC.js.map +1 -0
  31. package/dist/size-context-DXfCAlWF.d.ts.map +1 -1
  32. package/dist/size-provider-18EvJgDT.js.map +1 -1
  33. package/dist/size-provider-Bd2C6gKd.d.ts.map +1 -1
  34. package/dist/size-system-BTsMqZRQ.js +99 -0
  35. package/dist/size-system-BTsMqZRQ.js.map +1 -0
  36. package/dist/size-system-wzOLSuax.d.ts.map +1 -1
  37. package/dist/size.js +2 -2
  38. package/dist/{slider-root-presentation-ChJHPMIV.js → slider-root-presentation-B6OO_iCT.js} +19 -19
  39. package/dist/slider-root-presentation-B6OO_iCT.js.map +1 -0
  40. package/dist/{slider-value-Db8SCu0c.d.ts → slider-style-tokens-CZezJilZ.d.ts} +55 -55
  41. package/dist/slider-style-tokens-CZezJilZ.d.ts.map +1 -0
  42. package/dist/textarea-C8dsnn8D.d.ts +37 -0
  43. package/dist/textarea-C8dsnn8D.d.ts.map +1 -0
  44. package/dist/textarea-CkiM1N_I.js +39 -0
  45. package/dist/textarea-CkiM1N_I.js.map +1 -0
  46. package/dist/toggle-CxkIncmZ.d.ts +53 -0
  47. package/dist/toggle-CxkIncmZ.d.ts.map +1 -0
  48. package/dist/{tooltip-trigger-qXw-_nbh.js → tooltip-D0BEpCQx.js} +38 -13
  49. package/dist/tooltip-D0BEpCQx.js.map +1 -0
  50. package/dist/{tooltip-viewport-csA6luqI.d.ts → tooltip-DbJxt69l.d.ts} +61 -13
  51. package/dist/tooltip-DbJxt69l.d.ts.map +1 -0
  52. package/dist/ui/accordion.d.ts +4 -4
  53. package/dist/ui/accordion.d.ts.map +1 -1
  54. package/dist/ui/accordion.js +53 -52
  55. package/dist/ui/accordion.js.map +1 -1
  56. package/dist/ui/affix.d.ts +3 -2
  57. package/dist/ui/affix.d.ts.map +1 -1
  58. package/dist/ui/affix.js +8 -7
  59. package/dist/ui/affix.js.map +1 -1
  60. package/dist/ui/alert-dialog.d.ts +3 -1
  61. package/dist/ui/alert-dialog.d.ts.map +1 -1
  62. package/dist/ui/alert-dialog.js +10 -9
  63. package/dist/ui/alert-dialog.js.map +1 -1
  64. package/dist/ui/alert.d.ts +32 -32
  65. package/dist/ui/alert.d.ts.map +1 -1
  66. package/dist/ui/alert.js +86 -86
  67. package/dist/ui/alert.js.map +1 -1
  68. package/dist/ui/announcement.d.ts.map +1 -1
  69. package/dist/ui/announcement.js +5 -3
  70. package/dist/ui/announcement.js.map +1 -1
  71. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  72. package/dist/ui/aspect-ratio.js.map +1 -1
  73. package/dist/ui/autocomplete.d.ts +74 -74
  74. package/dist/ui/autocomplete.d.ts.map +1 -1
  75. package/dist/ui/autocomplete.js +55 -53
  76. package/dist/ui/autocomplete.js.map +1 -1
  77. package/dist/ui/avatar.d.ts +2 -39
  78. package/dist/ui/avatar.js +2 -24
  79. package/dist/ui/badge.d.ts +28 -28
  80. package/dist/ui/badge.d.ts.map +1 -1
  81. package/dist/ui/badge.js +2 -54
  82. package/dist/ui/breadcrumb.d.ts +64 -64
  83. package/dist/ui/breadcrumb.d.ts.map +1 -1
  84. package/dist/ui/breadcrumb.js +47 -45
  85. package/dist/ui/breadcrumb.js.map +1 -1
  86. package/dist/ui/button-group.d.ts +34 -34
  87. package/dist/ui/button-group.d.ts.map +1 -1
  88. package/dist/ui/button-group.js +29 -28
  89. package/dist/ui/button-group.js.map +1 -1
  90. package/dist/ui/button.d.ts +2 -78
  91. package/dist/ui/button.js +42 -42
  92. package/dist/ui/button.js.map +1 -1
  93. package/dist/ui/card.d.ts.map +1 -1
  94. package/dist/ui/card.js +6 -6
  95. package/dist/ui/card.js.map +1 -1
  96. package/dist/ui/carousel.d.ts +1 -1
  97. package/dist/ui/carousel.d.ts.map +1 -1
  98. package/dist/ui/carousel.js +36 -17
  99. package/dist/ui/carousel.js.map +1 -1
  100. package/dist/ui/checkbox-group.d.ts.map +1 -1
  101. package/dist/ui/checkbox-group.js.map +1 -1
  102. package/dist/ui/checkbox.d.ts +20 -20
  103. package/dist/ui/checkbox.js +13 -13
  104. package/dist/ui/checkbox.js.map +1 -1
  105. package/dist/ui/code.d.ts.map +1 -1
  106. package/dist/ui/code.js +5 -5
  107. package/dist/ui/code.js.map +1 -1
  108. package/dist/ui/collapsible.js +1 -1
  109. package/dist/ui/collapsible.js.map +1 -1
  110. package/dist/ui/combobox.d.ts +107 -107
  111. package/dist/ui/combobox.d.ts.map +1 -1
  112. package/dist/ui/combobox.js +88 -87
  113. package/dist/ui/combobox.js.map +1 -1
  114. package/dist/ui/command.d.ts +57 -58
  115. package/dist/ui/command.d.ts.map +1 -1
  116. package/dist/ui/command.js +54 -64
  117. package/dist/ui/command.js.map +1 -1
  118. package/dist/ui/container.d.ts.map +1 -1
  119. package/dist/ui/container.js.map +1 -1
  120. package/dist/ui/context-menu.d.ts +132 -132
  121. package/dist/ui/context-menu.d.ts.map +1 -1
  122. package/dist/ui/context-menu.js +100 -98
  123. package/dist/ui/context-menu.js.map +1 -1
  124. package/dist/ui/copy-button.d.ts +1 -3
  125. package/dist/ui/copy-button.d.ts.map +1 -1
  126. package/dist/ui/copy-button.js +12 -13
  127. package/dist/ui/copy-button.js.map +1 -1
  128. package/dist/ui/dialog.d.ts +2 -66
  129. package/dist/ui/dialog.js +2 -24
  130. package/dist/ui/drawer.d.ts +91 -91
  131. package/dist/ui/drawer.d.ts.map +1 -1
  132. package/dist/ui/drawer.js +68 -66
  133. package/dist/ui/drawer.js.map +1 -1
  134. package/dist/ui/dropdown-menu.d.ts +3 -144
  135. package/dist/ui/dropdown-menu.js +2 -39
  136. package/dist/ui/dropzone.d.ts +55 -55
  137. package/dist/ui/dropzone.d.ts.map +1 -1
  138. package/dist/ui/dropzone.js +77 -72
  139. package/dist/ui/dropzone.js.map +1 -1
  140. package/dist/ui/emoji-picker.d.ts +79 -79
  141. package/dist/ui/emoji-picker.d.ts.map +1 -1
  142. package/dist/ui/emoji-picker.js +92 -87
  143. package/dist/ui/emoji-picker.js.map +1 -1
  144. package/dist/ui/empty.d.ts +61 -59
  145. package/dist/ui/empty.d.ts.map +1 -1
  146. package/dist/ui/empty.js +47 -44
  147. package/dist/ui/empty.js.map +1 -1
  148. package/dist/ui/field.d.ts +11 -11
  149. package/dist/ui/field.d.ts.map +1 -1
  150. package/dist/ui/field.js +9 -7
  151. package/dist/ui/field.js.map +1 -1
  152. package/dist/ui/fieldset.d.ts.map +1 -1
  153. package/dist/ui/fieldset.js.map +1 -1
  154. package/dist/ui/form.d.ts +8 -8
  155. package/dist/ui/form.d.ts.map +1 -1
  156. package/dist/ui/form.js.map +1 -1
  157. package/dist/ui/input-group.d.ts +35 -35
  158. package/dist/ui/input-group.d.ts.map +1 -1
  159. package/dist/ui/input-group.js +2 -28
  160. package/dist/ui/input-otp.d.ts +36 -36
  161. package/dist/ui/input-otp.d.ts.map +1 -1
  162. package/dist/ui/input-otp.js +29 -28
  163. package/dist/ui/input-otp.js.map +1 -1
  164. package/dist/ui/input.d.ts +2 -46
  165. package/dist/ui/input.js +2 -34
  166. package/dist/ui/item.d.ts +20 -20
  167. package/dist/ui/item.d.ts.map +1 -1
  168. package/dist/ui/item.js +22 -22
  169. package/dist/ui/item.js.map +1 -1
  170. package/dist/ui/kbd.d.ts.map +1 -1
  171. package/dist/ui/kbd.js +8 -8
  172. package/dist/ui/kbd.js.map +1 -1
  173. package/dist/ui/label.d.ts.map +1 -1
  174. package/dist/ui/label.js.map +1 -1
  175. package/dist/ui/marquee.d.ts.map +1 -1
  176. package/dist/ui/marquee.js +1 -1
  177. package/dist/ui/marquee.js.map +1 -1
  178. package/dist/ui/menubar.d.ts +133 -134
  179. package/dist/ui/menubar.d.ts.map +1 -1
  180. package/dist/ui/menubar.js +82 -81
  181. package/dist/ui/menubar.js.map +1 -1
  182. package/dist/ui/meter.d.ts.map +1 -1
  183. package/dist/ui/meter.js.map +1 -1
  184. package/dist/ui/navigation-list.d.ts +226 -226
  185. package/dist/ui/navigation-list.d.ts.map +1 -1
  186. package/dist/ui/navigation-list.js +240 -235
  187. package/dist/ui/navigation-list.js.map +1 -1
  188. package/dist/ui/navigation-menu.d.ts +82 -82
  189. package/dist/ui/navigation-menu.d.ts.map +1 -1
  190. package/dist/ui/navigation-menu.js +70 -67
  191. package/dist/ui/navigation-menu.js.map +1 -1
  192. package/dist/ui/number-field.d.ts +34 -34
  193. package/dist/ui/number-field.d.ts.map +1 -1
  194. package/dist/ui/number-field.js +24 -23
  195. package/dist/ui/number-field.js.map +1 -1
  196. package/dist/ui/pagination.d.ts +42 -42
  197. package/dist/ui/pagination.d.ts.map +1 -1
  198. package/dist/ui/pagination.js +43 -41
  199. package/dist/ui/pagination.js.map +1 -1
  200. package/dist/ui/pill.d.ts +2 -3
  201. package/dist/ui/pill.d.ts.map +1 -1
  202. package/dist/ui/pill.js +34 -23
  203. package/dist/ui/pill.js.map +1 -1
  204. package/dist/ui/popover.d.ts +13 -11
  205. package/dist/ui/popover.d.ts.map +1 -1
  206. package/dist/ui/popover.js +17 -14
  207. package/dist/ui/popover.js.map +1 -1
  208. package/dist/ui/portal.d.ts.map +1 -1
  209. package/dist/ui/portal.js +52 -11
  210. package/dist/ui/portal.js.map +1 -1
  211. package/dist/ui/preview-card.js +5 -5
  212. package/dist/ui/preview-card.js.map +1 -1
  213. package/dist/ui/progress.js.map +1 -1
  214. package/dist/ui/qr-code.d.ts.map +1 -1
  215. package/dist/ui/qr-code.js +7 -7
  216. package/dist/ui/qr-code.js.map +1 -1
  217. package/dist/ui/radio-group.d.ts +22 -22
  218. package/dist/ui/radio-group.js +15 -15
  219. package/dist/ui/radio-group.js.map +1 -1
  220. package/dist/ui/range-slider.d.ts +1 -1
  221. package/dist/ui/range-slider.d.ts.map +1 -1
  222. package/dist/ui/range-slider.js +4 -7
  223. package/dist/ui/range-slider.js.map +1 -1
  224. package/dist/ui/rating.d.ts +35 -35
  225. package/dist/ui/rating.d.ts.map +1 -1
  226. package/dist/ui/rating.js +55 -46
  227. package/dist/ui/rating.js.map +1 -1
  228. package/dist/ui/resizable.d.ts.map +1 -1
  229. package/dist/ui/resizable.js +2 -2
  230. package/dist/ui/resizable.js.map +1 -1
  231. package/dist/ui/scroll-area.js.map +1 -1
  232. package/dist/ui/select.d.ts +87 -87
  233. package/dist/ui/select.d.ts.map +1 -1
  234. package/dist/ui/select.js +85 -84
  235. package/dist/ui/select.js.map +1 -1
  236. package/dist/ui/separator.d.ts +2 -13
  237. package/dist/ui/separator.js.map +1 -1
  238. package/dist/ui/sheet.d.ts.map +1 -1
  239. package/dist/ui/sheet.js +2 -24
  240. package/dist/ui/sidebar.d.ts +73 -74
  241. package/dist/ui/sidebar.d.ts.map +1 -1
  242. package/dist/ui/sidebar.js +85 -84
  243. package/dist/ui/sidebar.js.map +1 -1
  244. package/dist/ui/skeleton.d.ts.map +1 -1
  245. package/dist/ui/skeleton.js +1 -1
  246. package/dist/ui/skeleton.js.map +1 -1
  247. package/dist/ui/slider.d.ts +1 -1
  248. package/dist/ui/slider.d.ts.map +1 -1
  249. package/dist/ui/slider.js +3 -1
  250. package/dist/ui/slider.js.map +1 -1
  251. package/dist/ui/spacer.d.ts.map +1 -1
  252. package/dist/ui/spacer.js +2 -2
  253. package/dist/ui/spacer.js.map +1 -1
  254. package/dist/ui/spinner.d.ts.map +1 -1
  255. package/dist/ui/spinner.js +2 -2
  256. package/dist/ui/spinner.js.map +1 -1
  257. package/dist/ui/switch.d.ts +11 -11
  258. package/dist/ui/switch.js +7 -7
  259. package/dist/ui/switch.js.map +1 -1
  260. package/dist/ui/table.d.ts +60 -60
  261. package/dist/ui/table.d.ts.map +1 -1
  262. package/dist/ui/table.js +52 -46
  263. package/dist/ui/table.js.map +1 -1
  264. package/dist/ui/tabs.d.ts +25 -25
  265. package/dist/ui/tabs.d.ts.map +1 -1
  266. package/dist/ui/tabs.js +75 -68
  267. package/dist/ui/tabs.js.map +1 -1
  268. package/dist/ui/textarea.d.ts +2 -37
  269. package/dist/ui/textarea.js +2 -35
  270. package/dist/ui/theme-icon.d.ts +30 -30
  271. package/dist/ui/theme-icon.d.ts.map +1 -1
  272. package/dist/ui/theme-icon.js +22 -22
  273. package/dist/ui/theme-icon.js.map +1 -1
  274. package/dist/ui/timeline.d.ts +6 -6
  275. package/dist/ui/timeline.d.ts.map +1 -1
  276. package/dist/ui/timeline.js +163 -163
  277. package/dist/ui/timeline.js.map +1 -1
  278. package/dist/ui/toggle-group.d.ts +32 -32
  279. package/dist/ui/toggle-group.d.ts.map +1 -1
  280. package/dist/ui/toggle-group.js +22 -16
  281. package/dist/ui/toggle-group.js.map +1 -1
  282. package/dist/ui/toggle.d.ts +2 -53
  283. package/dist/ui/toggle.js +15 -15
  284. package/dist/ui/toggle.js.map +1 -1
  285. package/dist/ui/toolbar.d.ts +54 -54
  286. package/dist/ui/toolbar.d.ts.map +1 -1
  287. package/dist/ui/toolbar.js +43 -40
  288. package/dist/ui/toolbar.js.map +1 -1
  289. package/dist/ui/tooltip.d.ts +2 -54
  290. package/dist/ui/tooltip.js +2 -28
  291. package/dist/ui/typography.d.ts +50 -36
  292. package/dist/ui/typography.d.ts.map +1 -1
  293. package/dist/ui/typography.js +28 -17
  294. package/dist/ui/typography.js.map +1 -1
  295. package/package.json +15 -15
  296. package/dist/avatar-image-BQ_NEKH4.js +0 -47
  297. package/dist/avatar-image-BQ_NEKH4.js.map +0 -1
  298. package/dist/avatar-image-Ce26D2fb.d.ts.map +0 -1
  299. package/dist/dialog-trigger-BUF3elAP.js.map +0 -1
  300. package/dist/dialog-viewport-Ce1huyAI.d.ts.map +0 -1
  301. package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts.map +0 -1
  302. package/dist/dropdown-menu-trigger-COnFGfDa.js.map +0 -1
  303. package/dist/input-group-textarea-B-rP98r5.js.map +0 -1
  304. package/dist/sheet-trigger-D7neoTF5.js.map +0 -1
  305. package/dist/size-context-BjRwqlSg.js.map +0 -1
  306. package/dist/size-system-DTXmtQXw.js +0 -47
  307. package/dist/size-system-DTXmtQXw.js.map +0 -1
  308. package/dist/slider-root-presentation-ChJHPMIV.js.map +0 -1
  309. package/dist/slider-value-Db8SCu0c.d.ts.map +0 -1
  310. package/dist/tooltip-trigger-qXw-_nbh.js.map +0 -1
  311. package/dist/tooltip-viewport-csA6luqI.d.ts.map +0 -1
  312. package/dist/ui/avatar.d.ts.map +0 -1
  313. package/dist/ui/avatar.js.map +0 -1
  314. package/dist/ui/badge.js.map +0 -1
  315. package/dist/ui/button.d.ts.map +0 -1
  316. package/dist/ui/dialog.d.ts.map +0 -1
  317. package/dist/ui/dialog.js.map +0 -1
  318. package/dist/ui/dropdown-menu.d.ts.map +0 -1
  319. package/dist/ui/dropdown-menu.js.map +0 -1
  320. package/dist/ui/input-group.js.map +0 -1
  321. package/dist/ui/input.d.ts.map +0 -1
  322. package/dist/ui/input.js.map +0 -1
  323. package/dist/ui/separator.d.ts.map +0 -1
  324. package/dist/ui/sheet.js.map +0 -1
  325. package/dist/ui/textarea.d.ts.map +0 -1
  326. package/dist/ui/textarea.js.map +0 -1
  327. package/dist/ui/toggle.d.ts.map +0 -1
  328. package/dist/ui/tooltip.d.ts.map +0 -1
  329. package/dist/ui/tooltip.js.map +0 -1
  330. package/dist/use-badge-default-props-8d9wPL0k.js +0 -8
  331. package/dist/use-badge-default-props-8d9wPL0k.js.map +0 -1
  332. package/dist/use-input-default-props-B6VgKXGM.js +0 -8
  333. package/dist/use-input-default-props-B6VgKXGM.js.map +0 -1
  334. package/dist/use-textarea-default-props-7MlOxkDO.js +0 -8
  335. package/dist/use-textarea-default-props-7MlOxkDO.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
 
3
3
  import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
4
- import { t as createSizeContext } from "../size-context-BjRwqlSg.js";
4
+ import { t as createSizeContext } from "../size-context-CvLl3pMC.js";
5
+ import { useMemo } from "react";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  import { cn, tv } from "tailwind-variants";
7
8
  import { ArrowRight01Icon, MoreHorizontalCircle01Icon } from "@hugeicons/core-free-icons";
@@ -15,15 +16,15 @@ const { SizeContext: BreadcrumbSizeContext, useResolvedSize: useResolvedBreadcru
15
16
  //#endregion
16
17
  //#region src/ui/breadcrumb/breadcrumb-ellipsis.tsx
17
18
  const breadcrumbEllipsisVariants = tv({
18
- base: "flex items-center justify-center text-muted-foreground",
19
+ base: "text-muted-foreground flex items-center justify-center",
20
+ defaultVariants: { size: "md" },
19
21
  variants: { size: {
20
- xs: "size-4 [&>svg]:size-3",
21
- sm: "size-5 [&>svg]:size-3.5",
22
- md: "size-5 [&>svg]:size-4",
23
22
  lg: "size-6 [&>svg]:size-4",
24
- xl: "size-7 [&>svg]:size-5"
25
- } },
26
- defaultVariants: { size: "md" }
23
+ md: "size-5 [&>svg]:size-4",
24
+ sm: "size-5 [&>svg]:size-3.5",
25
+ xl: "size-7 [&>svg]:size-5",
26
+ xs: "size-4 [&>svg]:size-3"
27
+ } }
27
28
  });
28
29
  const BreadcrumbEllipsis = ({ className, size, ...props }) => {
29
30
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -48,14 +49,14 @@ const BreadcrumbEllipsis = ({ className, size, ...props }) => {
48
49
  //#region src/ui/breadcrumb/breadcrumb-item.tsx
49
50
  const breadcrumbItemVariants = tv({
50
51
  base: "inline-flex items-center",
52
+ defaultVariants: { size: "md" },
51
53
  variants: { size: {
52
- xs: "gap-0.5",
53
- sm: "gap-0.5",
54
- md: "gap-1",
55
54
  lg: "gap-1.5",
56
- xl: "gap-2"
57
- } },
58
- defaultVariants: { size: "md" }
55
+ md: "gap-1",
56
+ sm: "gap-0.5",
57
+ xl: "gap-2",
58
+ xs: "gap-0.5"
59
+ } }
59
60
  });
60
61
  const BreadcrumbItem = ({ className, size, ...props }) => {
61
62
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -70,15 +71,15 @@ const BreadcrumbItem = ({ className, size, ...props }) => {
70
71
  //#endregion
71
72
  //#region src/ui/breadcrumb/breadcrumb-link.tsx
72
73
  const breadcrumbLinkVariants = tv({
73
- base: "cursor-pointer transition-colors hover:text-foreground",
74
+ base: "cursor-clickable hover:text-foreground transition-colors",
75
+ defaultVariants: { size: "md" },
74
76
  variants: { size: {
75
- xs: "text-xs",
76
- sm: "text-xs",
77
- md: "text-sm",
78
77
  lg: "text-sm",
79
- xl: "text-base"
80
- } },
81
- defaultVariants: { size: "md" }
78
+ md: "text-sm",
79
+ sm: "text-xs",
80
+ xl: "text-base",
81
+ xs: "text-xs"
82
+ } }
82
83
  });
83
84
  const BreadcrumbLink = ({ className, render, size, ...props }) => {
84
85
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -87,8 +88,8 @@ const BreadcrumbLink = ({ className, render, size, ...props }) => {
87
88
  props: mergeProps({ className: cn(breadcrumbLinkVariants({ size: resolvedSize }), className) }, props),
88
89
  render,
89
90
  state: {
90
- slot: "breadcrumb-link",
91
- size: resolvedSize
91
+ size: resolvedSize,
92
+ slot: "breadcrumb-link"
92
93
  }
93
94
  });
94
95
  };
@@ -96,15 +97,15 @@ const BreadcrumbLink = ({ className, render, size, ...props }) => {
96
97
  //#endregion
97
98
  //#region src/ui/breadcrumb/breadcrumb-list.tsx
98
99
  const breadcrumbListVariants = tv({
99
- base: "flex flex-wrap items-center break-words text-muted-foreground",
100
+ base: "text-muted-foreground flex flex-wrap items-center break-words",
101
+ defaultVariants: { size: "md" },
100
102
  variants: { size: {
101
- xs: "gap-1 text-xs sm:gap-1.5",
102
- sm: "gap-1.5 text-xs sm:gap-2",
103
- md: "gap-1.5 text-sm sm:gap-2.5",
104
103
  lg: "gap-2 text-sm sm:gap-3",
105
- xl: "gap-2.5 text-base sm:gap-3.5"
106
- } },
107
- defaultVariants: { size: "md" }
104
+ md: "gap-1.5 text-sm sm:gap-2.5",
105
+ sm: "gap-1.5 text-xs sm:gap-2",
106
+ xl: "gap-2.5 text-base sm:gap-3.5",
107
+ xs: "gap-1 text-xs sm:gap-1.5"
108
+ } }
108
109
  });
109
110
  const BreadcrumbList = ({ className, size, ...props }) => {
110
111
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -119,15 +120,15 @@ const BreadcrumbList = ({ className, size, ...props }) => {
119
120
  //#endregion
120
121
  //#region src/ui/breadcrumb/breadcrumb-page.tsx
121
122
  const breadcrumbPageVariants = tv({
122
- base: "font-normal text-foreground",
123
+ base: "text-foreground font-normal",
124
+ defaultVariants: { size: "md" },
123
125
  variants: { size: {
124
- xs: "text-xs",
125
- sm: "text-xs",
126
- md: "text-sm",
127
126
  lg: "text-sm",
128
- xl: "text-base"
129
- } },
130
- defaultVariants: { size: "md" }
127
+ md: "text-sm",
128
+ sm: "text-xs",
129
+ xl: "text-base",
130
+ xs: "text-xs"
131
+ } }
131
132
  });
132
133
  const BreadcrumbPage = ({ className, size, ...props }) => {
133
134
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -144,15 +145,15 @@ const BreadcrumbPage = ({ className, size, ...props }) => {
144
145
  //#endregion
145
146
  //#region src/ui/breadcrumb/breadcrumb-separator.tsx
146
147
  const breadcrumbSeparatorVariants = tv({
147
- base: "inline-flex items-center text-muted-foreground",
148
+ base: "text-muted-foreground inline-flex items-center",
149
+ defaultVariants: { size: "md" },
148
150
  variants: { size: {
149
- xs: "[&>svg]:size-3",
150
- sm: "[&>svg]:size-3.5",
151
- md: "[&>svg]:size-3.5",
152
151
  lg: "[&>svg]:size-4",
153
- xl: "[&>svg]:size-5"
154
- } },
155
- defaultVariants: { size: "md" }
152
+ md: "[&>svg]:size-3.5",
153
+ sm: "[&>svg]:size-3.5",
154
+ xl: "[&>svg]:size-5",
155
+ xs: "[&>svg]:size-3"
156
+ } }
156
157
  });
157
158
  const BreadcrumbSeparator = ({ children, className, size, ...props }) => {
158
159
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -174,8 +175,9 @@ const BreadcrumbSeparator = ({ children, className, size, ...props }) => {
174
175
  //#region src/ui/breadcrumb/breadcrumb.tsx
175
176
  const Breadcrumb = ({ className, size: providedSize, ...props }) => {
176
177
  const size = useComponentSize(providedSize);
178
+ const contextValue = useMemo(() => ({ size }), [size]);
177
179
  return /* @__PURE__ */ jsx(BreadcrumbSizeContext.Provider, {
178
- value: { size },
180
+ value: contextValue,
179
181
  children: /* @__PURE__ */ jsx("nav", {
180
182
  "aria-label": "breadcrumb",
181
183
  className: cn(className),
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../src/ui/breadcrumb/breadcrumb-size-context.ts","../../src/ui/breadcrumb/breadcrumb-ellipsis.tsx","../../src/ui/breadcrumb/breadcrumb-item.tsx","../../src/ui/breadcrumb/breadcrumb-link.tsx","../../src/ui/breadcrumb/breadcrumb-list.tsx","../../src/ui/breadcrumb/breadcrumb-page.tsx","../../src/ui/breadcrumb/breadcrumb-separator.tsx","../../src/ui/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { createSizeContext } from \"../shared/size/size-context\";\n\nconst {\n SizeContext: BreadcrumbSizeContext,\n useResolvedSize: useResolvedBreadcrumbSize,\n} = createSizeContext();\n\nexport { BreadcrumbSizeContext, useResolvedBreadcrumbSize };\n","import type { ComponentProps } from \"react\";\n\nimport { MoreHorizontalCircle01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbEllipsisVariants = tv({\n base: \"flex items-center justify-center text-muted-foreground\",\n variants: {\n size: {\n xs: \"size-4 [&>svg]:size-3\",\n sm: \"size-5 [&>svg]:size-3.5\",\n md: \"size-5 [&>svg]:size-4\",\n lg: \"size-6 [&>svg]:size-4\",\n xl: \"size-7 [&>svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbEllipsisVariantProps = Omit<\n VariantProps<typeof breadcrumbEllipsisVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbEllipsisProps = ComponentProps<\"span\"> &\n BreadcrumbEllipsisVariantProps;\n\nconst BreadcrumbEllipsis = ({\n className,\n size,\n ...props\n}: BreadcrumbEllipsisProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n breadcrumbEllipsisVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n {...props}\n >\n <HugeiconsIcon icon={MoreHorizontalCircle01Icon} strokeWidth={2} />\n <span className=\"sr-only\">More</span>\n </span>\n );\n};\n\nexport { BreadcrumbEllipsis };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbItemVariants = tv({\n base: \"inline-flex items-center\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1.5\",\n xl: \"gap-2\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbItemVariantProps = Omit<\n VariantProps<typeof breadcrumbItemVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbItemProps = ComponentProps<\"li\"> &\n BreadcrumbItemVariantProps;\n\nconst BreadcrumbItem = ({ className, size, ...props }: BreadcrumbItemProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <li\n className={cn(breadcrumbItemVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-item\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbItem };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbLinkVariants = tv({\n base: \"cursor-pointer transition-colors hover:text-foreground\",\n variants: {\n size: {\n xs: \"text-xs\",\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbLinkVariantProps = Omit<\n VariantProps<typeof breadcrumbLinkVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbLinkProps = useRender.ComponentProps<\"a\"> &\n BreadcrumbLinkVariantProps;\n\nconst BreadcrumbLink = ({\n className,\n render,\n size,\n ...props\n}: BreadcrumbLinkProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n breadcrumbLinkVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"breadcrumb-link\",\n size: resolvedSize,\n },\n });\n};\n\nexport { BreadcrumbLink };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbListVariants = tv({\n base: \"flex flex-wrap items-center break-words text-muted-foreground\",\n variants: {\n size: {\n xs: \"gap-1 text-xs sm:gap-1.5\",\n sm: \"gap-1.5 text-xs sm:gap-2\",\n md: \"gap-1.5 text-sm sm:gap-2.5\",\n lg: \"gap-2 text-sm sm:gap-3\",\n xl: \"gap-2.5 text-base sm:gap-3.5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbListVariantProps = Omit<\n VariantProps<typeof breadcrumbListVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbListProps = ComponentProps<\"ol\"> &\n BreadcrumbListVariantProps;\n\nconst BreadcrumbList = ({ className, size, ...props }: BreadcrumbListProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <ol\n className={cn(breadcrumbListVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-list\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbList };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbPageVariants = tv({\n base: \"font-normal text-foreground\",\n variants: {\n size: {\n xs: \"text-xs\",\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-sm\",\n xl: \"text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbPageVariantProps = Omit<\n VariantProps<typeof breadcrumbPageVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbPageProps = ComponentProps<\"span\"> &\n BreadcrumbPageVariantProps;\n\nconst BreadcrumbPage = ({ className, size, ...props }: BreadcrumbPageProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <span\n aria-current=\"page\"\n aria-disabled=\"true\"\n className={cn(breadcrumbPageVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-page\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbPage };\n","import type { ComponentProps } from \"react\";\n\nimport { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbSeparatorVariants = tv({\n base: \"inline-flex items-center text-muted-foreground\",\n variants: {\n size: {\n xs: \"[&>svg]:size-3\",\n sm: \"[&>svg]:size-3.5\",\n md: \"[&>svg]:size-3.5\",\n lg: \"[&>svg]:size-4\",\n xl: \"[&>svg]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype BreadcrumbSeparatorVariantProps = Omit<\n VariantProps<typeof breadcrumbSeparatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbSeparatorProps = ComponentProps<\"li\"> &\n BreadcrumbSeparatorVariantProps;\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n size,\n ...props\n}: BreadcrumbSeparatorProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <li\n aria-hidden=\"true\"\n className={cn(\n breadcrumbSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n {...props}\n >\n {children ?? <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />}\n </li>\n );\n};\n\nexport { BreadcrumbSeparator };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { BreadcrumbEllipsis } from \"./breadcrumb-ellipsis\";\nimport { BreadcrumbItem } from \"./breadcrumb-item\";\nimport { BreadcrumbLink } from \"./breadcrumb-link\";\nimport { BreadcrumbList } from \"./breadcrumb-list\";\nimport { BreadcrumbPage } from \"./breadcrumb-page\";\nimport { BreadcrumbSeparator } from \"./breadcrumb-separator\";\nimport { BreadcrumbSizeContext } from \"./breadcrumb-size-context\";\nexport type BreadcrumbProps = ComponentProps<\"nav\"> & {\n size?: UISize;\n};\n\nconst Breadcrumb = ({\n className,\n size: providedSize,\n ...props\n}: BreadcrumbProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <BreadcrumbSizeContext.Provider value={{ size }}>\n <nav\n aria-label=\"breadcrumb\"\n className={cn(className)}\n data-size={size}\n data-slot=\"breadcrumb\"\n {...props}\n />\n </BreadcrumbSizeContext.Provider>\n );\n};\n\nBreadcrumb.Ellipsis = BreadcrumbEllipsis;\nBreadcrumb.Item = BreadcrumbItem;\nBreadcrumb.Link = BreadcrumbLink;\nBreadcrumb.List = BreadcrumbList;\nBreadcrumb.Page = BreadcrumbPage;\nBreadcrumb.Separator = BreadcrumbSeparator;\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n\nexport type { BreadcrumbEllipsisProps } from \"./breadcrumb-ellipsis\";\nexport type { BreadcrumbItemProps } from \"./breadcrumb-item\";\nexport type { BreadcrumbLinkProps } from \"./breadcrumb-link\";\nexport type { BreadcrumbListProps } from \"./breadcrumb-list\";\nexport type { BreadcrumbPageProps } from \"./breadcrumb-page\";\nexport type { BreadcrumbSeparatorProps } from \"./breadcrumb-separator\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumb.js","names":[],"sources":["../../src/ui/breadcrumb/breadcrumb-size-context.ts","../../src/ui/breadcrumb/breadcrumb-ellipsis.tsx","../../src/ui/breadcrumb/breadcrumb-item.tsx","../../src/ui/breadcrumb/breadcrumb-link.tsx","../../src/ui/breadcrumb/breadcrumb-list.tsx","../../src/ui/breadcrumb/breadcrumb-page.tsx","../../src/ui/breadcrumb/breadcrumb-separator.tsx","../../src/ui/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { createSizeContext } from \"../shared/size/size-context\";\n\nconst {\n SizeContext: BreadcrumbSizeContext,\n useResolvedSize: useResolvedBreadcrumbSize,\n} = createSizeContext();\n\nexport { BreadcrumbSizeContext, useResolvedBreadcrumbSize };\n","import { MoreHorizontalCircle01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbEllipsisVariants = tv({\n base: \"text-muted-foreground flex items-center justify-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"size-6 [&>svg]:size-4\",\n md: \"size-5 [&>svg]:size-4\",\n sm: \"size-5 [&>svg]:size-3.5\",\n xl: \"size-7 [&>svg]:size-5\",\n xs: \"size-4 [&>svg]:size-3\",\n },\n },\n});\n\ntype BreadcrumbEllipsisVariantProps = Omit<\n VariantProps<typeof breadcrumbEllipsisVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbEllipsisProps = ComponentProps<\"span\"> &\n BreadcrumbEllipsisVariantProps;\n\nconst BreadcrumbEllipsis = ({\n className,\n size,\n ...props\n}: BreadcrumbEllipsisProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <span\n aria-hidden=\"true\"\n className={cn(\n breadcrumbEllipsisVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n {...props}\n >\n <HugeiconsIcon icon={MoreHorizontalCircle01Icon} strokeWidth={2} />\n <span className=\"sr-only\">More</span>\n </span>\n );\n};\n\nexport { BreadcrumbEllipsis };\n","import type { ComponentProps } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbItemVariants = tv({\n base: \"inline-flex items-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-1.5\",\n md: \"gap-1\",\n sm: \"gap-0.5\",\n xl: \"gap-2\",\n xs: \"gap-0.5\",\n },\n },\n});\n\ntype BreadcrumbItemVariantProps = Omit<\n VariantProps<typeof breadcrumbItemVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbItemProps = ComponentProps<\"li\"> &\n BreadcrumbItemVariantProps;\n\nconst BreadcrumbItem = ({ className, size, ...props }: BreadcrumbItemProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <li\n className={cn(breadcrumbItemVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-item\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbItem };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbLinkVariants = tv({\n base: \"cursor-clickable hover:text-foreground transition-colors\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"text-sm\",\n md: \"text-sm\",\n sm: \"text-xs\",\n xl: \"text-base\",\n xs: \"text-xs\",\n },\n },\n});\n\ntype BreadcrumbLinkVariantProps = Omit<\n VariantProps<typeof breadcrumbLinkVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbLinkProps = useRender.ComponentProps<\"a\"> &\n BreadcrumbLinkVariantProps;\n\nconst BreadcrumbLink = ({\n className,\n render,\n size,\n ...props\n}: BreadcrumbLinkProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n className: cn(\n breadcrumbLinkVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n size: resolvedSize,\n slot: \"breadcrumb-link\",\n },\n });\n};\n\nexport { BreadcrumbLink };\n","import type { ComponentProps } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbListVariants = tv({\n base: \"text-muted-foreground flex flex-wrap items-center break-words\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 text-sm sm:gap-3\",\n md: \"gap-1.5 text-sm sm:gap-2.5\",\n sm: \"gap-1.5 text-xs sm:gap-2\",\n xl: \"gap-2.5 text-base sm:gap-3.5\",\n xs: \"gap-1 text-xs sm:gap-1.5\",\n },\n },\n});\n\ntype BreadcrumbListVariantProps = Omit<\n VariantProps<typeof breadcrumbListVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbListProps = ComponentProps<\"ol\"> &\n BreadcrumbListVariantProps;\n\nconst BreadcrumbList = ({ className, size, ...props }: BreadcrumbListProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <ol\n className={cn(breadcrumbListVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-list\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbList };\n","import type { ComponentProps } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbPageVariants = tv({\n base: \"text-foreground font-normal\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"text-sm\",\n md: \"text-sm\",\n sm: \"text-xs\",\n xl: \"text-base\",\n xs: \"text-xs\",\n },\n },\n});\n\ntype BreadcrumbPageVariantProps = Omit<\n VariantProps<typeof breadcrumbPageVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbPageProps = ComponentProps<\"span\"> &\n BreadcrumbPageVariantProps;\n\nconst BreadcrumbPage = ({ className, size, ...props }: BreadcrumbPageProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <span\n aria-current=\"page\"\n aria-disabled=\"true\"\n className={cn(breadcrumbPageVariants({ size: resolvedSize }), className)}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-page\"\n {...props}\n />\n );\n};\n\nexport { BreadcrumbPage };\n","import { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport type { ComponentProps } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { useResolvedBreadcrumbSize } from \"./breadcrumb-size-context\";\n\nconst breadcrumbSeparatorVariants = tv({\n base: \"text-muted-foreground inline-flex items-center\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"[&>svg]:size-4\",\n md: \"[&>svg]:size-3.5\",\n sm: \"[&>svg]:size-3.5\",\n xl: \"[&>svg]:size-5\",\n xs: \"[&>svg]:size-3\",\n },\n },\n});\n\ntype BreadcrumbSeparatorVariantProps = Omit<\n VariantProps<typeof breadcrumbSeparatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type BreadcrumbSeparatorProps = ComponentProps<\"li\"> &\n BreadcrumbSeparatorVariantProps;\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n size,\n ...props\n}: BreadcrumbSeparatorProps) => {\n const resolvedSize = useResolvedBreadcrumbSize(size);\n\n return (\n <li\n aria-hidden=\"true\"\n className={cn(\n breadcrumbSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n {...props}\n >\n {children ?? <HugeiconsIcon icon={ArrowRight01Icon} strokeWidth={2} />}\n </li>\n );\n};\n\nexport { BreadcrumbSeparator };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { BreadcrumbEllipsis } from \"./breadcrumb-ellipsis\";\nimport { BreadcrumbItem } from \"./breadcrumb-item\";\nimport { BreadcrumbLink } from \"./breadcrumb-link\";\nimport { BreadcrumbList } from \"./breadcrumb-list\";\nimport { BreadcrumbPage } from \"./breadcrumb-page\";\nimport { BreadcrumbSeparator } from \"./breadcrumb-separator\";\nimport { BreadcrumbSizeContext } from \"./breadcrumb-size-context\";\nexport type BreadcrumbProps = ComponentProps<\"nav\"> & {\n size?: UISize;\n};\n\nconst Breadcrumb = ({\n className,\n size: providedSize,\n ...props\n}: BreadcrumbProps) => {\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <BreadcrumbSizeContext.Provider value={contextValue}>\n <nav\n aria-label=\"breadcrumb\"\n className={cn(className)}\n data-size={size}\n data-slot=\"breadcrumb\"\n {...props}\n />\n </BreadcrumbSizeContext.Provider>\n );\n};\n\nBreadcrumb.Ellipsis = BreadcrumbEllipsis;\nBreadcrumb.Item = BreadcrumbItem;\nBreadcrumb.Link = BreadcrumbLink;\nBreadcrumb.List = BreadcrumbList;\nBreadcrumb.Page = BreadcrumbPage;\nBreadcrumb.Separator = BreadcrumbSeparator;\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n\nexport type { BreadcrumbEllipsisProps } from \"./breadcrumb-ellipsis\";\nexport type { BreadcrumbItemProps } from \"./breadcrumb-item\";\nexport type { BreadcrumbLinkProps } from \"./breadcrumb-link\";\nexport type { BreadcrumbListProps } from \"./breadcrumb-list\";\nexport type { BreadcrumbPageProps } from \"./breadcrumb-page\";\nexport type { BreadcrumbSeparatorProps } from \"./breadcrumb-separator\";\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { t as UISize } from "../size-system-wzOLSuax.js";
2
- import { Separator } from "./separator.js";
2
+ import { t as Separator } from "../separator-C8Qw2ADs.js";
3
3
  import * as react from "react";
4
4
  import { ComponentProps } from "react";
5
5
  import * as react_jsx_runtime0 from "react/jsx-runtime";
@@ -10,29 +10,29 @@ import { useRender } from "@base-ui/react/use-render";
10
10
  //#region src/ui/button-group/button-group-separator.d.ts
11
11
  declare const buttonGroupSeparatorVariants: tailwind_variants0.TVReturnType<{
12
12
  size: {
13
- xs: string;
14
- sm: string;
15
- md: string;
16
13
  lg: string;
14
+ md: string;
15
+ sm: string;
17
16
  xl: string;
17
+ xs: string;
18
18
  };
19
- }, undefined, "relative self-stretch bg-input data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto", {
19
+ }, undefined, "bg-input relative self-stretch data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto", {
20
20
  size: {
21
- xs: string;
22
- sm: string;
23
- md: string;
24
21
  lg: string;
22
+ md: string;
23
+ sm: string;
25
24
  xl: string;
25
+ xs: string;
26
26
  };
27
27
  }, undefined, tailwind_variants0.TVReturnType<{
28
28
  size: {
29
- xs: string;
30
- sm: string;
31
- md: string;
32
29
  lg: string;
30
+ md: string;
31
+ sm: string;
33
32
  xl: string;
33
+ xs: string;
34
34
  };
35
- }, undefined, "relative self-stretch bg-input data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto", unknown, unknown, undefined>>;
35
+ }, undefined, "bg-input relative self-stretch data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto", unknown, unknown, undefined>>;
36
36
  type ButtonGroupSeparatorVariantProps = Omit<VariantProps<typeof buttonGroupSeparatorVariants>, "size"> & {
37
37
  size?: UISize;
38
38
  };
@@ -47,29 +47,29 @@ declare const ButtonGroupSeparator: ({
47
47
  //#region src/ui/button-group/button-group-text.d.ts
48
48
  declare const buttonGroupTextVariants: tailwind_variants0.TVReturnType<{
49
49
  size: {
50
- xs: string;
51
- sm: string;
52
- md: string;
53
50
  lg: string;
51
+ md: string;
52
+ sm: string;
54
53
  xl: string;
54
+ xs: string;
55
55
  };
56
- }, undefined, "flex items-center border border-border bg-muted font-medium [&_svg]:pointer-events-none", {
56
+ }, undefined, "border-border bg-muted flex items-center border font-medium [&_svg]:pointer-events-none", {
57
57
  size: {
58
- xs: string;
59
- sm: string;
60
- md: string;
61
58
  lg: string;
59
+ md: string;
60
+ sm: string;
62
61
  xl: string;
62
+ xs: string;
63
63
  };
64
64
  }, undefined, tailwind_variants0.TVReturnType<{
65
65
  size: {
66
- xs: string;
67
- sm: string;
68
- md: string;
69
66
  lg: string;
67
+ md: string;
68
+ sm: string;
70
69
  xl: string;
70
+ xs: string;
71
71
  };
72
- }, undefined, "flex items-center border border-border bg-muted font-medium [&_svg]:pointer-events-none", unknown, unknown, undefined>>;
72
+ }, undefined, "border-border bg-muted flex items-center border font-medium [&_svg]:pointer-events-none", unknown, unknown, undefined>>;
73
73
  type ButtonGroupTextVariantProps = Omit<VariantProps<typeof buttonGroupTextVariants>, "size"> & {
74
74
  size?: UISize;
75
75
  };
@@ -91,23 +91,23 @@ declare const buttonGroupVariants: tailwind_variants0.TVReturnType<{
91
91
  vertical: string;
92
92
  };
93
93
  size: {
94
- xs: string;
95
- sm: string;
96
- md: string;
97
94
  lg: string;
95
+ md: string;
96
+ sm: string;
98
97
  xl: string;
98
+ xs: string;
99
99
  };
100
- }, undefined, "group/button-group flex w-fit items-stretch overflow-hidden *:focus-visible:relative *:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
100
+ }, undefined, "group/button-group *:focus-visible:z-raised flex w-fit items-stretch overflow-hidden *:focus-visible:relative has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
101
101
  orientation: {
102
102
  horizontal: string;
103
103
  vertical: string;
104
104
  };
105
105
  size: {
106
- xs: string;
107
- sm: string;
108
- md: string;
109
106
  lg: string;
107
+ md: string;
108
+ sm: string;
110
109
  xl: string;
110
+ xs: string;
111
111
  };
112
112
  }, undefined, tailwind_variants0.TVReturnType<{
113
113
  orientation: {
@@ -115,13 +115,13 @@ declare const buttonGroupVariants: tailwind_variants0.TVReturnType<{
115
115
  vertical: string;
116
116
  };
117
117
  size: {
118
- xs: string;
119
- sm: string;
120
- md: string;
121
118
  lg: string;
119
+ md: string;
120
+ sm: string;
122
121
  xl: string;
122
+ xs: string;
123
123
  };
124
- }, undefined, "group/button-group flex w-fit items-stretch overflow-hidden *:focus-visible:relative *:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", unknown, unknown, undefined>>;
124
+ }, undefined, "group/button-group *:focus-visible:z-raised flex w-fit items-stretch overflow-hidden *:focus-visible:relative has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", unknown, unknown, undefined>>;
125
125
  declare const ButtonGroup: {
126
126
  ({
127
127
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","names":[],"sources":["../../src/ui/button-group/button-group-separator.tsx","../../src/ui/button-group/button-group-text.tsx","../../src/ui/button-group/button-group.tsx"],"mappings":";;;;;;;;;;cAUM,4BAAA,EAcJ,kBAAA,CAdgC,YAAA;;;;;;;;;;;;;;;;cAchC,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,gCAAA,GAAmC,IAAA,CACtC,YAAA,QAAoB,4BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,yBAAA,GAA4B,cAAA,QAAsB,SAAA,IAC5D,gCAAA;AAAA,cAEI,oBAAA;EAAwB,SAAA;EAAA,WAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAK3B,yBAAA,KAAyB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cChCtB,uBAAA,EAcJ,kBAAA,CAd2B,YAAA;;;;;;;;;;;;;;;;cAc3B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,2BAAA,GAA8B,IAAA,CACjC,YAAA,QAAoB,uBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,oBAAA,GAAuB,SAAA,CAAU,cAAA,UAC3C,2BAAA;AAAA,cAEI,eAAA;EAAmB,SAAA;EAAA,MAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKtB,oBAAA,KAAoB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;KC5BX,gBAAA,GAAmB,cAAA,UAC7B,YAAA,QAAoB,mBAAA;EAClB,IAAA,GAAO,MAAA;AAAA;AAAA,cAGL,mBAAA,EAqBJ,kBAAA,CArBuB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cAqBvB,kBAAA,CAAA,YAAA;;;;;;;;;;;;;cAEI,WAAA;EAAA;;;;;KAKH,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"button-group.d.ts","names":[],"sources":["../../src/ui/button-group/button-group-separator.tsx","../../src/ui/button-group/button-group-text.tsx","../../src/ui/button-group/button-group.tsx"],"mappings":";;;;;;;;;;cASM,4BAAA,EAcJ,kBAAA,CAdgC,YAAA;;;;;;;;;;;;;;;;cAchC,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,gCAAA,GAAmC,IAAA,CACtC,YAAA,QAAoB,4BAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,yBAAA,GAA4B,cAAA,QAAsB,SAAA,IAC5D,gCAAA;AAAA,cAEI,oBAAA;EAAwB,SAAA;EAAA,WAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAK3B,yBAAA,KAAyB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cC/BtB,uBAAA,EAcJ,kBAAA,CAd2B,YAAA;;;;;;;;;;;;;;;;cAc3B,kBAAA,CAAA,YAAA;;;;;;;;;KAEG,2BAAA,GAA8B,IAAA,CACjC,YAAA,QAAoB,uBAAA;EAGpB,IAAA,GAAO,MAAA;AAAA;AAAA,KAGG,oBAAA,GAAuB,SAAA,CAAU,cAAA,UAC3C,2BAAA;AAAA,cAEI,eAAA;EAAmB,SAAA;EAAA,MAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKtB,oBAAA,KAAoB,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA;;;KC5BX,gBAAA,GAAmB,cAAA,UAC7B,YAAA,QAAoB,mBAAA;EAClB,IAAA,GAAO,MAAA;AAAA;AAAA,cAGL,mBAAA,EAqBJ,kBAAA,CArBuB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cAqBvB,kBAAA,CAAA,YAAA;;;;;;;;;;;;;cAEI,WAAA;EAAA;;;;;KAKH,gBAAA,GAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -3,7 +3,7 @@
3
3
  import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
4
4
  import { t as ButtonGroupSizeContext } from "../button-group-size-context-DW7Gn-3k.js";
5
5
  import { Separator } from "./separator.js";
6
- import { useContext } from "react";
6
+ import { useContext, useMemo } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  import { cn, tv } from "tailwind-variants";
9
9
  import { mergeProps } from "@base-ui/react/merge-props";
@@ -11,15 +11,15 @@ import { useRender } from "@base-ui/react/use-render";
11
11
 
12
12
  //#region src/ui/button-group/button-group-separator.tsx
13
13
  const buttonGroupSeparatorVariants = tv({
14
- base: "relative self-stretch bg-input data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto",
14
+ base: "bg-input relative self-stretch data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto",
15
+ defaultVariants: { size: "md" },
15
16
  variants: { size: {
16
- xs: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
17
- sm: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
18
- md: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
19
17
  lg: "data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5",
20
- xl: "data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5"
21
- } },
22
- defaultVariants: { size: "md" }
18
+ md: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
19
+ sm: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
20
+ xl: "data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5",
21
+ xs: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px"
22
+ } }
23
23
  });
24
24
  const ButtonGroupSeparator = ({ className, orientation = "vertical", size, ...props }) => {
25
25
  const { size: groupSize } = useContext(ButtonGroupSizeContext);
@@ -36,15 +36,15 @@ const ButtonGroupSeparator = ({ className, orientation = "vertical", size, ...pr
36
36
  //#endregion
37
37
  //#region src/ui/button-group/button-group-text.tsx
38
38
  const buttonGroupTextVariants = tv({
39
- base: "flex items-center border border-border bg-muted font-medium [&_svg]:pointer-events-none",
39
+ base: "border-border bg-muted flex items-center border font-medium [&_svg]:pointer-events-none",
40
+ defaultVariants: { size: "md" },
40
41
  variants: { size: {
41
- xs: "gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3",
42
- sm: "gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 text-sm [&_svg:not([class*='size-'])]:size-3.5",
43
- md: "gap-2 rounded-md px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4",
44
42
  lg: "gap-2 rounded-md px-3 text-sm [&_svg:not([class*='size-'])]:size-4",
45
- xl: "gap-2.5 rounded-md px-4 text-base [&_svg:not([class*='size-'])]:size-5"
46
- } },
47
- defaultVariants: { size: "md" }
43
+ md: "gap-2 rounded-md px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4",
44
+ sm: "gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 text-sm [&_svg:not([class*='size-'])]:size-3.5",
45
+ xl: "gap-2.5 rounded-md px-4 text-base [&_svg:not([class*='size-'])]:size-5",
46
+ xs: "gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3"
47
+ } }
48
48
  });
49
49
  const ButtonGroupText = ({ className, render, size, ...props }) => {
50
50
  const { size: groupSize } = useContext(ButtonGroupSizeContext);
@@ -54,8 +54,8 @@ const ButtonGroupText = ({ className, render, size, ...props }) => {
54
54
  props: mergeProps({ className: cn(buttonGroupTextVariants({ size: resolvedSize }), className) }, props),
55
55
  render,
56
56
  state: {
57
- slot: "button-group-text",
58
- size: resolvedSize
57
+ size: resolvedSize,
58
+ slot: "button-group-text"
59
59
  }
60
60
  });
61
61
  };
@@ -63,30 +63,31 @@ const ButtonGroupText = ({ className, render, size, ...props }) => {
63
63
  //#endregion
64
64
  //#region src/ui/button-group/button-group.tsx
65
65
  const buttonGroupVariants = tv({
66
- base: "group/button-group flex w-fit items-stretch overflow-hidden *:focus-visible:relative *:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
66
+ base: "group/button-group *:focus-visible:z-raised flex w-fit items-stretch overflow-hidden *:focus-visible:relative has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
67
+ defaultVariants: {
68
+ orientation: "horizontal",
69
+ size: "md"
70
+ },
67
71
  variants: {
68
72
  orientation: {
69
73
  horizontal: "*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-[inherit]! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0",
70
74
  vertical: "flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-[inherit]! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0"
71
75
  },
72
76
  size: {
73
- xs: "has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),8px)]",
74
- sm: "has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),10px)]",
75
- md: "has-[>[data-slot=button-group]]:gap-2 rounded-md",
76
- lg: "has-[>[data-slot=button-group]]:gap-2 rounded-md",
77
- xl: "has-[>[data-slot=button-group]]:gap-2.5 rounded-md"
77
+ lg: "rounded-md has-[>[data-slot=button-group]]:gap-2",
78
+ md: "rounded-md has-[>[data-slot=button-group]]:gap-2",
79
+ sm: "rounded-[min(var(--radius-md),10px)] has-[>[data-slot=button-group]]:gap-1",
80
+ xl: "rounded-md has-[>[data-slot=button-group]]:gap-2.5",
81
+ xs: "rounded-[min(var(--radius-md),8px)] has-[>[data-slot=button-group]]:gap-1"
78
82
  }
79
- },
80
- defaultVariants: {
81
- orientation: "horizontal",
82
- size: "md"
83
83
  }
84
84
  });
85
85
  const ButtonGroup = ({ className, orientation, size: providedSize, ...props }) => {
86
86
  const resolvedOrientation = orientation ?? "horizontal";
87
87
  const size = useComponentSize(providedSize);
88
+ const contextValue = useMemo(() => ({ size }), [size]);
88
89
  return /* @__PURE__ */ jsx(ButtonGroupSizeContext.Provider, {
89
- value: { size },
90
+ value: contextValue,
90
91
  children: /* @__PURE__ */ jsx("div", {
91
92
  className: cn(buttonGroupVariants({
92
93
  orientation: resolvedOrientation,
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","names":[],"sources":["../../src/ui/button-group/button-group-separator.tsx","../../src/ui/button-group/button-group-text.tsx","../../src/ui/button-group/button-group.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { Separator } from \"../separator/separator\";\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\n\nconst buttonGroupSeparatorVariants = tv({\n base: \"relative self-stretch bg-input data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto\",\n variants: {\n size: {\n xs: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n sm: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n md: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n lg: \"data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5\",\n xl: \"data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype ButtonGroupSeparatorVariantProps = Omit<\n VariantProps<typeof buttonGroupSeparatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type ButtonGroupSeparatorProps = ComponentProps<typeof Separator> &\n ButtonGroupSeparatorVariantProps;\n\nconst ButtonGroupSeparator = ({\n className,\n orientation = \"vertical\",\n size,\n ...props\n}: ButtonGroupSeparatorProps) => {\n const { size: groupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = size ?? groupSize ?? \"md\";\n\n return (\n <Separator\n className={cn(\n buttonGroupSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"button-group-separator\"\n orientation={orientation}\n {...props}\n />\n );\n};\n\nexport { ButtonGroupSeparator };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\n\nconst buttonGroupTextVariants = tv({\n base: \"flex items-center border border-border bg-muted font-medium [&_svg]:pointer-events-none\",\n variants: {\n size: {\n xs: \"gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"gap-2 rounded-md px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"gap-2 rounded-md px-3 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"gap-2.5 rounded-md px-4 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype ButtonGroupTextVariantProps = Omit<\n VariantProps<typeof buttonGroupTextVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type ButtonGroupTextProps = useRender.ComponentProps<\"div\"> &\n ButtonGroupTextVariantProps;\n\nconst ButtonGroupText = ({\n className,\n render,\n size,\n ...props\n}: ButtonGroupTextProps) => {\n const { size: groupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = size ?? groupSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n buttonGroupTextVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"button-group-text\",\n size: resolvedSize,\n },\n });\n};\n\nexport { ButtonGroupText };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { ButtonGroupSeparator } from \"./button-group-separator\";\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\nimport { ButtonGroupText } from \"./button-group-text\";\nexport type ButtonGroupProps = ComponentProps<\"div\"> &\n VariantProps<typeof buttonGroupVariants> & {\n size?: UISize;\n };\n\nconst buttonGroupVariants = tv({\n base: \"group/button-group flex w-fit items-stretch overflow-hidden *:focus-visible:relative *:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n variants: {\n orientation: {\n horizontal:\n \"*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-[inherit]! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0\",\n vertical:\n \"flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-[inherit]! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0\",\n },\n size: {\n xs: \"has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),8px)]\",\n sm: \"has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),10px)]\",\n md: \"has-[>[data-slot=button-group]]:gap-2 rounded-md\",\n lg: \"has-[>[data-slot=button-group]]:gap-2 rounded-md\",\n xl: \"has-[>[data-slot=button-group]]:gap-2.5 rounded-md\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n size: \"md\",\n },\n});\n\nconst ButtonGroup = ({\n className,\n orientation,\n size: providedSize,\n ...props\n}: ButtonGroupProps) => {\n const resolvedOrientation = orientation ?? \"horizontal\";\n const size = useComponentSize(providedSize);\n\n return (\n <ButtonGroupSizeContext.Provider value={{ size }}>\n <div\n className={cn(\n buttonGroupVariants({ orientation: resolvedOrientation, size }),\n className\n )}\n data-orientation={resolvedOrientation}\n data-size={size}\n data-slot=\"button-group\"\n {...props}\n />\n </ButtonGroupSizeContext.Provider>\n );\n};\n\nButtonGroup.Separator = ButtonGroupSeparator;\nButtonGroup.Text = ButtonGroupText;\n\nexport {\n ButtonGroup,\n buttonGroupVariants,\n ButtonGroupSeparator,\n ButtonGroupText,\n};\n\nexport type { ButtonGroupSeparatorProps } from \"./button-group-separator\";\nexport type { ButtonGroupTextProps } from \"./button-group-text\";\n"],"mappings":";;;;;;;;;;;;AAUA,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAYF,MAAM,wBAAwB,EAC5B,WACA,cAAc,YACd,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,cAAc,WAAW,uBAAuB;CAC9D,MAAM,eAAe,QAAQ,aAAa;AAE1C,QACE,oBAAC;EACC,WAAW,GACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACG;EACb,GAAI;GACJ;;;;;AC9CN,MAAM,0BAA0B,GAAG;CACjC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAYF,MAAM,mBAAmB,EACvB,WACA,QACA,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,cAAc,WAAW,uBAAuB;CAC9D,MAAM,eAAe,QAAQ,aAAa;AAE1C,QAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GACT,wBAAwB,EAAE,MAAM,cAAc,CAAC,EAC/C,UACD,EACF,EACD,MACD;EACD;EACA,OAAO;GACL,MAAM;GACN,MAAM;GACP;EACF,CAAC;;;;;AC3CJ,MAAM,sBAAsB,GAAG;CAC7B,MAAM;CACN,UAAU;EACR,aAAa;GACX,YACE;GACF,UACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,aAAa;EACb,MAAM;EACP;CACF,CAAC;AAEF,MAAM,eAAe,EACnB,WACA,aACA,MAAM,cACN,GAAG,YACmB;CACtB,MAAM,sBAAsB,eAAe;CAC3C,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC,uBAAuB;EAAS,OAAO,EAAE,MAAM;YAC9C,oBAAC;GACC,WAAW,GACT,oBAAoB;IAAE,aAAa;IAAqB;IAAM,CAAC,EAC/D,UACD;GACD,oBAAkB;GAClB,aAAW;GACX,aAAU;GACV,GAAI;IACJ;GAC8B;;AAItC,YAAY,YAAY;AACxB,YAAY,OAAO"}
1
+ {"version":3,"file":"button-group.js","names":[],"sources":["../../src/ui/button-group/button-group-separator.tsx","../../src/ui/button-group/button-group-text.tsx","../../src/ui/button-group/button-group.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\n\nconst buttonGroupSeparatorVariants = tv({\n base: \"bg-input relative self-stretch data-[orientation=horizontal]:w-auto data-[orientation=vertical]:h-auto\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5\",\n md: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n sm: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n xl: \"data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5\",\n xs: \"data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px\",\n },\n },\n});\n\ntype ButtonGroupSeparatorVariantProps = Omit<\n VariantProps<typeof buttonGroupSeparatorVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type ButtonGroupSeparatorProps = ComponentProps<typeof Separator> &\n ButtonGroupSeparatorVariantProps;\n\nconst ButtonGroupSeparator = ({\n className,\n orientation = \"vertical\",\n size,\n ...props\n}: ButtonGroupSeparatorProps) => {\n const { size: groupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = size ?? groupSize ?? \"md\";\n\n return (\n <Separator\n className={cn(\n buttonGroupSeparatorVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"button-group-separator\"\n orientation={orientation}\n {...props}\n />\n );\n};\n\nexport { ButtonGroupSeparator };\n","import { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { useContext } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\n\nconst buttonGroupTextVariants = tv({\n base: \"border-border bg-muted flex items-center border font-medium [&_svg]:pointer-events-none\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-2 rounded-md px-3 text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"gap-2 rounded-md px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n sm: \"gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 text-sm [&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"gap-2.5 rounded-md px-4 text-base [&_svg:not([class*='size-'])]:size-5\",\n xs: \"gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\ntype ButtonGroupTextVariantProps = Omit<\n VariantProps<typeof buttonGroupTextVariants>,\n \"size\"\n> & {\n size?: UISize;\n};\n\nexport type ButtonGroupTextProps = useRender.ComponentProps<\"div\"> &\n ButtonGroupTextVariantProps;\n\nconst ButtonGroupText = ({\n className,\n render,\n size,\n ...props\n}: ButtonGroupTextProps) => {\n const { size: groupSize } = useContext(ButtonGroupSizeContext);\n const resolvedSize = size ?? groupSize ?? \"md\";\n\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n buttonGroupTextVariants({ size: resolvedSize }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n size: resolvedSize,\n slot: \"button-group-text\",\n },\n });\n};\n\nexport { ButtonGroupText };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport { useMemo } from \"react\";\nimport { cn, tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport type { UISize } from \"../shared/size/size-system\";\nimport { ButtonGroupSeparator } from \"./button-group-separator\";\nimport { ButtonGroupSizeContext } from \"./button-group-size-context\";\nimport { ButtonGroupText } from \"./button-group-text\";\nexport type ButtonGroupProps = ComponentProps<\"div\"> &\n VariantProps<typeof buttonGroupVariants> & {\n size?: UISize;\n };\n\nconst buttonGroupVariants = tv({\n base: \"group/button-group *:focus-visible:z-raised flex w-fit items-stretch overflow-hidden *:focus-visible:relative has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-[inherit] [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n defaultVariants: {\n orientation: \"horizontal\",\n size: \"md\",\n },\n variants: {\n orientation: {\n horizontal:\n \"*:data-slot:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-[inherit]! [&>[data-slot]~[data-slot]]:rounded-l-none [&>[data-slot]~[data-slot]]:border-l-0\",\n vertical:\n \"flex-col *:data-slot:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-[inherit]! [&>[data-slot]~[data-slot]]:rounded-t-none [&>[data-slot]~[data-slot]]:border-t-0\",\n },\n size: {\n lg: \"rounded-md has-[>[data-slot=button-group]]:gap-2\",\n md: \"rounded-md has-[>[data-slot=button-group]]:gap-2\",\n sm: \"rounded-[min(var(--radius-md),10px)] has-[>[data-slot=button-group]]:gap-1\",\n xl: \"rounded-md has-[>[data-slot=button-group]]:gap-2.5\",\n xs: \"rounded-[min(var(--radius-md),8px)] has-[>[data-slot=button-group]]:gap-1\",\n },\n },\n});\n\nconst ButtonGroup = ({\n className,\n orientation,\n size: providedSize,\n ...props\n}: ButtonGroupProps) => {\n const resolvedOrientation = orientation ?? \"horizontal\";\n const size = useComponentSize(providedSize);\n const contextValue = useMemo(() => ({ size }), [size]);\n\n return (\n <ButtonGroupSizeContext.Provider value={contextValue}>\n <div\n className={cn(\n buttonGroupVariants({ orientation: resolvedOrientation, size }),\n className\n )}\n data-orientation={resolvedOrientation}\n data-size={size}\n data-slot=\"button-group\"\n {...props}\n />\n </ButtonGroupSizeContext.Provider>\n );\n};\n\nButtonGroup.Separator = ButtonGroupSeparator;\nButtonGroup.Text = ButtonGroupText;\n\nexport {\n ButtonGroup,\n buttonGroupVariants,\n ButtonGroupSeparator,\n ButtonGroupText,\n};\n\nexport type { ButtonGroupSeparatorProps } from \"./button-group-separator\";\nexport type { ButtonGroupTextProps } from \"./button-group-text\";\n"],"mappings":";;;;;;;;;;;;AASA,MAAM,+BAA+B,GAAG;CACtC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,wBAAwB,EAC5B,WACA,cAAc,YACd,MACA,GAAG,YAC4B;CAC/B,MAAM,EAAE,MAAM,cAAc,WAAW,uBAAuB;CAC9D,MAAM,eAAe,QAAQ,aAAa;AAE1C,QACE,oBAAC,WAAD;EACE,WAAW,GACT,6BAA6B,EAAE,MAAM,cAAc,CAAC,EACpD,UACD;EACD,aAAW;EACX,aAAU;EACG;EACb,GAAI;EACJ;;;;;AC7CN,MAAM,0BAA0B,GAAG;CACjC,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAYF,MAAM,mBAAmB,EACvB,WACA,QACA,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,cAAc,WAAW,uBAAuB;CAC9D,MAAM,eAAe,QAAQ,aAAa;AAE1C,QAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GACT,wBAAwB,EAAE,MAAM,cAAc,CAAC,EAC/C,UACD,EACF,EACD,MACD;EACD;EACA,OAAO;GACL,MAAM;GACN,MAAM;GACP;EACF,CAAC;;;;;AC3CJ,MAAM,sBAAsB,GAAG;CAC7B,MAAM;CACN,iBAAiB;EACf,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,aAAa;GACX,YACE;GACF,UACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACF,CAAC;AAEF,MAAM,eAAe,EACnB,WACA,aACA,MAAM,cACN,GAAG,YACmB;CACtB,MAAM,sBAAsB,eAAe;CAC3C,MAAM,OAAO,iBAAiB,aAAa;CAC3C,MAAM,eAAe,eAAe,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC;AAEtD,QACE,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;YACtC,oBAAC,OAAD;GACE,WAAW,GACT,oBAAoB;IAAE,aAAa;IAAqB;IAAM,CAAC,EAC/D,UACD;GACD,oBAAkB;GAClB,aAAW;GACX,aAAU;GACV,GAAI;GACJ;EAC8B;;AAItC,YAAY,YAAY;AACxB,YAAY,OAAO"}
@@ -1,78 +1,2 @@
1
- import { ComponentProps } from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
3
- import * as tailwind_variants0 from "tailwind-variants";
4
- import { VariantProps } from "tailwind-variants";
5
- import { Button as Button$1 } from "@base-ui/react/button";
6
-
7
- //#region src/ui/button/button.d.ts
8
- declare const buttonVariants: tailwind_variants0.TVReturnType<{
9
- variant: {
10
- default: string;
11
- outline: string;
12
- secondary: string;
13
- ghost: string;
14
- danger: string;
15
- link: string;
16
- };
17
- size: {
18
- md: string;
19
- xs: string[];
20
- sm: string[];
21
- lg: string;
22
- xl: string[];
23
- icon: string;
24
- "icon-xs": string;
25
- "icon-sm": string;
26
- "icon-lg": string;
27
- "icon-xl": string;
28
- };
29
- }, undefined, "group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[transform,color,background-color,border-color,box-shadow] duration-100 ease-out outline-none select-none active:scale-[0.98] motion-reduce:active:scale-100 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-danger aria-invalid:ring-[3px] aria-invalid:ring-danger/20 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
30
- variant: {
31
- default: string;
32
- outline: string;
33
- secondary: string;
34
- ghost: string;
35
- danger: string;
36
- link: string;
37
- };
38
- size: {
39
- md: string;
40
- xs: string[];
41
- sm: string[];
42
- lg: string;
43
- xl: string[];
44
- icon: string;
45
- "icon-xs": string;
46
- "icon-sm": string;
47
- "icon-lg": string;
48
- "icon-xl": string;
49
- };
50
- }, undefined, tailwind_variants0.TVReturnType<{
51
- variant: {
52
- default: string;
53
- outline: string;
54
- secondary: string;
55
- ghost: string;
56
- danger: string;
57
- link: string;
58
- };
59
- size: {
60
- md: string;
61
- xs: string[];
62
- sm: string[];
63
- lg: string;
64
- xl: string[];
65
- icon: string;
66
- "icon-xs": string;
67
- "icon-sm": string;
68
- "icon-lg": string;
69
- "icon-xl": string;
70
- };
71
- }, undefined, "group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-[transform,color,background-color,border-color,box-shadow] duration-100 ease-out outline-none select-none active:scale-[0.98] motion-reduce:active:scale-100 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-danger aria-invalid:ring-[3px] aria-invalid:ring-danger/20 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", unknown, unknown, undefined>>;
72
- type ButtonProps = ComponentProps<typeof Button$1> & VariantProps<typeof buttonVariants> & {
73
- isLoading?: boolean;
74
- };
75
- declare const Button: (incomingProps: ButtonProps) => react_jsx_runtime0.JSX.Element;
76
- //#endregion
77
- export { Button, ButtonProps, buttonVariants };
78
- //# sourceMappingURL=button.d.ts.map
1
+ import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-nAbTNrxA.js";
2
+ export { Button, ButtonProps, buttonVariants };