@kuzenbo/core 0.0.3 → 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 (342) 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 +4 -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 +4 -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 +12 -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 +88 -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 +57 -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 +3 -53
  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 +49 -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 +31 -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 +8 -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 +2 -0
  102. package/dist/ui/checkbox-group.js.map +1 -1
  103. package/dist/ui/checkbox.d.ts +20 -20
  104. package/dist/ui/checkbox.d.ts.map +1 -1
  105. package/dist/ui/checkbox.js +15 -13
  106. package/dist/ui/checkbox.js.map +1 -1
  107. package/dist/ui/code.d.ts.map +1 -1
  108. package/dist/ui/code.js +5 -5
  109. package/dist/ui/code.js.map +1 -1
  110. package/dist/ui/collapsible.js +1 -1
  111. package/dist/ui/collapsible.js.map +1 -1
  112. package/dist/ui/combobox.d.ts +107 -107
  113. package/dist/ui/combobox.d.ts.map +1 -1
  114. package/dist/ui/combobox.js +88 -87
  115. package/dist/ui/combobox.js.map +1 -1
  116. package/dist/ui/command.d.ts +57 -58
  117. package/dist/ui/command.d.ts.map +1 -1
  118. package/dist/ui/command.js +54 -64
  119. package/dist/ui/command.js.map +1 -1
  120. package/dist/ui/container.d.ts.map +1 -1
  121. package/dist/ui/container.js.map +1 -1
  122. package/dist/ui/context-menu.d.ts +132 -132
  123. package/dist/ui/context-menu.d.ts.map +1 -1
  124. package/dist/ui/context-menu.js +102 -98
  125. package/dist/ui/context-menu.js.map +1 -1
  126. package/dist/ui/copy-button.d.ts +1 -3
  127. package/dist/ui/copy-button.d.ts.map +1 -1
  128. package/dist/ui/copy-button.js +12 -13
  129. package/dist/ui/copy-button.js.map +1 -1
  130. package/dist/ui/dialog.d.ts +2 -66
  131. package/dist/ui/dialog.js +2 -24
  132. package/dist/ui/drawer.d.ts +91 -91
  133. package/dist/ui/drawer.d.ts.map +1 -1
  134. package/dist/ui/drawer.js +68 -66
  135. package/dist/ui/drawer.js.map +1 -1
  136. package/dist/ui/dropdown-menu.d.ts +3 -144
  137. package/dist/ui/dropdown-menu.js +3 -38
  138. package/dist/ui/dropzone.d.ts +55 -55
  139. package/dist/ui/dropzone.d.ts.map +1 -1
  140. package/dist/ui/dropzone.js +77 -72
  141. package/dist/ui/dropzone.js.map +1 -1
  142. package/dist/ui/emoji-picker.d.ts +79 -79
  143. package/dist/ui/emoji-picker.d.ts.map +1 -1
  144. package/dist/ui/emoji-picker.js +92 -87
  145. package/dist/ui/emoji-picker.js.map +1 -1
  146. package/dist/ui/empty.d.ts +61 -59
  147. package/dist/ui/empty.d.ts.map +1 -1
  148. package/dist/ui/empty.js +49 -44
  149. package/dist/ui/empty.js.map +1 -1
  150. package/dist/ui/field.d.ts +11 -11
  151. package/dist/ui/field.d.ts.map +1 -1
  152. package/dist/ui/field.js +9 -7
  153. package/dist/ui/field.js.map +1 -1
  154. package/dist/ui/fieldset.d.ts.map +1 -1
  155. package/dist/ui/fieldset.js.map +1 -1
  156. package/dist/ui/form.d.ts +8 -8
  157. package/dist/ui/form.d.ts.map +1 -1
  158. package/dist/ui/form.js +2 -0
  159. package/dist/ui/form.js.map +1 -1
  160. package/dist/ui/input-group.d.ts +35 -35
  161. package/dist/ui/input-group.d.ts.map +1 -1
  162. package/dist/ui/input-group.js +2 -28
  163. package/dist/ui/input-otp.d.ts +36 -36
  164. package/dist/ui/input-otp.d.ts.map +1 -1
  165. package/dist/ui/input-otp.js +29 -28
  166. package/dist/ui/input-otp.js.map +1 -1
  167. package/dist/ui/input.d.ts +2 -46
  168. package/dist/ui/input.js +2 -34
  169. package/dist/ui/item.d.ts +20 -20
  170. package/dist/ui/item.d.ts.map +1 -1
  171. package/dist/ui/item.js +24 -22
  172. package/dist/ui/item.js.map +1 -1
  173. package/dist/ui/kbd.d.ts.map +1 -1
  174. package/dist/ui/kbd.js +10 -8
  175. package/dist/ui/kbd.js.map +1 -1
  176. package/dist/ui/label.d.ts.map +1 -1
  177. package/dist/ui/label.js.map +1 -1
  178. package/dist/ui/marquee.d.ts.map +1 -1
  179. package/dist/ui/marquee.js +1 -1
  180. package/dist/ui/marquee.js.map +1 -1
  181. package/dist/ui/menubar.d.ts +133 -134
  182. package/dist/ui/menubar.d.ts.map +1 -1
  183. package/dist/ui/menubar.js +84 -81
  184. package/dist/ui/menubar.js.map +1 -1
  185. package/dist/ui/meter.d.ts.map +1 -1
  186. package/dist/ui/meter.js +2 -0
  187. package/dist/ui/meter.js.map +1 -1
  188. package/dist/ui/navigation-list.d.ts +226 -226
  189. package/dist/ui/navigation-list.d.ts.map +1 -1
  190. package/dist/ui/navigation-list.js +242 -235
  191. package/dist/ui/navigation-list.js.map +1 -1
  192. package/dist/ui/navigation-menu.d.ts +82 -82
  193. package/dist/ui/navigation-menu.d.ts.map +1 -1
  194. package/dist/ui/navigation-menu.js +72 -67
  195. package/dist/ui/navigation-menu.js.map +1 -1
  196. package/dist/ui/number-field.d.ts +34 -34
  197. package/dist/ui/number-field.d.ts.map +1 -1
  198. package/dist/ui/number-field.js +26 -23
  199. package/dist/ui/number-field.js.map +1 -1
  200. package/dist/ui/pagination.d.ts +42 -42
  201. package/dist/ui/pagination.d.ts.map +1 -1
  202. package/dist/ui/pagination.js +45 -41
  203. package/dist/ui/pagination.js.map +1 -1
  204. package/dist/ui/pill.d.ts +2 -3
  205. package/dist/ui/pill.d.ts.map +1 -1
  206. package/dist/ui/pill.js +34 -23
  207. package/dist/ui/pill.js.map +1 -1
  208. package/dist/ui/popover.d.ts +13 -11
  209. package/dist/ui/popover.d.ts.map +1 -1
  210. package/dist/ui/popover.js +17 -14
  211. package/dist/ui/popover.js.map +1 -1
  212. package/dist/ui/portal.d.ts.map +1 -1
  213. package/dist/ui/portal.js +52 -11
  214. package/dist/ui/portal.js.map +1 -1
  215. package/dist/ui/preview-card.js +5 -5
  216. package/dist/ui/preview-card.js.map +1 -1
  217. package/dist/ui/progress.js.map +1 -1
  218. package/dist/ui/qr-code.d.ts.map +1 -1
  219. package/dist/ui/qr-code.js +7 -7
  220. package/dist/ui/qr-code.js.map +1 -1
  221. package/dist/ui/radio-group.d.ts +22 -22
  222. package/dist/ui/radio-group.d.ts.map +1 -1
  223. package/dist/ui/radio-group.js +17 -15
  224. package/dist/ui/radio-group.js.map +1 -1
  225. package/dist/ui/range-slider.d.ts +1 -1
  226. package/dist/ui/range-slider.d.ts.map +1 -1
  227. package/dist/ui/range-slider.js +4 -7
  228. package/dist/ui/range-slider.js.map +1 -1
  229. package/dist/ui/rating.d.ts +35 -35
  230. package/dist/ui/rating.d.ts.map +1 -1
  231. package/dist/ui/rating.js +55 -46
  232. package/dist/ui/rating.js.map +1 -1
  233. package/dist/ui/resizable.d.ts.map +1 -1
  234. package/dist/ui/resizable.js +2 -2
  235. package/dist/ui/resizable.js.map +1 -1
  236. package/dist/ui/scroll-area.d.ts.map +1 -1
  237. package/dist/ui/scroll-area.js +2 -0
  238. package/dist/ui/scroll-area.js.map +1 -1
  239. package/dist/ui/select.d.ts +87 -87
  240. package/dist/ui/select.d.ts.map +1 -1
  241. package/dist/ui/select.js +85 -84
  242. package/dist/ui/select.js.map +1 -1
  243. package/dist/ui/separator.d.ts +2 -13
  244. package/dist/ui/separator.js +2 -0
  245. package/dist/ui/separator.js.map +1 -1
  246. package/dist/ui/sheet.d.ts.map +1 -1
  247. package/dist/ui/sheet.js +2 -24
  248. package/dist/ui/sidebar.d.ts +73 -74
  249. package/dist/ui/sidebar.d.ts.map +1 -1
  250. package/dist/ui/sidebar.js +87 -84
  251. package/dist/ui/sidebar.js.map +1 -1
  252. package/dist/ui/skeleton.d.ts.map +1 -1
  253. package/dist/ui/skeleton.js +1 -1
  254. package/dist/ui/skeleton.js.map +1 -1
  255. package/dist/ui/slider.d.ts +1 -1
  256. package/dist/ui/slider.d.ts.map +1 -1
  257. package/dist/ui/slider.js +3 -1
  258. package/dist/ui/slider.js.map +1 -1
  259. package/dist/ui/spacer.d.ts.map +1 -1
  260. package/dist/ui/spacer.js +2 -2
  261. package/dist/ui/spacer.js.map +1 -1
  262. package/dist/ui/spinner.js +4 -2
  263. package/dist/ui/spinner.js.map +1 -1
  264. package/dist/ui/switch.d.ts +11 -11
  265. package/dist/ui/switch.js +7 -7
  266. package/dist/ui/switch.js.map +1 -1
  267. package/dist/ui/table.d.ts +60 -60
  268. package/dist/ui/table.d.ts.map +1 -1
  269. package/dist/ui/table.js +54 -46
  270. package/dist/ui/table.js.map +1 -1
  271. package/dist/ui/tabs.d.ts +25 -25
  272. package/dist/ui/tabs.d.ts.map +1 -1
  273. package/dist/ui/tabs.js +75 -68
  274. package/dist/ui/tabs.js.map +1 -1
  275. package/dist/ui/textarea.d.ts +2 -37
  276. package/dist/ui/textarea.js +3 -34
  277. package/dist/ui/theme-icon.d.ts +30 -30
  278. package/dist/ui/theme-icon.d.ts.map +1 -1
  279. package/dist/ui/theme-icon.js +22 -22
  280. package/dist/ui/theme-icon.js.map +1 -1
  281. package/dist/ui/timeline.d.ts +6 -6
  282. package/dist/ui/timeline.d.ts.map +1 -1
  283. package/dist/ui/timeline.js +165 -163
  284. package/dist/ui/timeline.js.map +1 -1
  285. package/dist/ui/toggle-group.d.ts +32 -32
  286. package/dist/ui/toggle-group.d.ts.map +1 -1
  287. package/dist/ui/toggle-group.js +22 -16
  288. package/dist/ui/toggle-group.js.map +1 -1
  289. package/dist/ui/toggle.d.ts +2 -53
  290. package/dist/ui/toggle.js +17 -15
  291. package/dist/ui/toggle.js.map +1 -1
  292. package/dist/ui/toolbar.d.ts +54 -54
  293. package/dist/ui/toolbar.d.ts.map +1 -1
  294. package/dist/ui/toolbar.js +45 -40
  295. package/dist/ui/toolbar.js.map +1 -1
  296. package/dist/ui/tooltip.d.ts +2 -54
  297. package/dist/ui/tooltip.js +2 -28
  298. package/dist/ui/typography.d.ts +50 -36
  299. package/dist/ui/typography.d.ts.map +1 -1
  300. package/dist/ui/typography.js +28 -17
  301. package/dist/ui/typography.js.map +1 -1
  302. package/package.json +15 -15
  303. package/dist/avatar-image-BQ_NEKH4.js +0 -47
  304. package/dist/avatar-image-BQ_NEKH4.js.map +0 -1
  305. package/dist/avatar-image-Ce26D2fb.d.ts.map +0 -1
  306. package/dist/dialog-trigger-BUF3elAP.js.map +0 -1
  307. package/dist/dialog-viewport-Ce1huyAI.d.ts.map +0 -1
  308. package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts.map +0 -1
  309. package/dist/dropdown-menu-trigger-COnFGfDa.js.map +0 -1
  310. package/dist/input-group-textarea-B-rP98r5.js.map +0 -1
  311. package/dist/sheet-trigger-D7neoTF5.js.map +0 -1
  312. package/dist/size-context-BjRwqlSg.js.map +0 -1
  313. package/dist/size-system-DTXmtQXw.js +0 -47
  314. package/dist/size-system-DTXmtQXw.js.map +0 -1
  315. package/dist/slider-root-presentation-ChJHPMIV.js.map +0 -1
  316. package/dist/slider-value-Db8SCu0c.d.ts.map +0 -1
  317. package/dist/tooltip-trigger-qXw-_nbh.js.map +0 -1
  318. package/dist/tooltip-viewport-csA6luqI.d.ts.map +0 -1
  319. package/dist/ui/avatar.d.ts.map +0 -1
  320. package/dist/ui/avatar.js.map +0 -1
  321. package/dist/ui/badge.js.map +0 -1
  322. package/dist/ui/button.d.ts.map +0 -1
  323. package/dist/ui/dialog.d.ts.map +0 -1
  324. package/dist/ui/dialog.js.map +0 -1
  325. package/dist/ui/dropdown-menu.d.ts.map +0 -1
  326. package/dist/ui/dropdown-menu.js.map +0 -1
  327. package/dist/ui/input-group.js.map +0 -1
  328. package/dist/ui/input.d.ts.map +0 -1
  329. package/dist/ui/input.js.map +0 -1
  330. package/dist/ui/separator.d.ts.map +0 -1
  331. package/dist/ui/sheet.js.map +0 -1
  332. package/dist/ui/textarea.d.ts.map +0 -1
  333. package/dist/ui/textarea.js.map +0 -1
  334. package/dist/ui/toggle.d.ts.map +0 -1
  335. package/dist/ui/tooltip.d.ts.map +0 -1
  336. package/dist/ui/tooltip.js.map +0 -1
  337. package/dist/use-badge-default-props-8d9wPL0k.js +0 -8
  338. package/dist/use-badge-default-props-8d9wPL0k.js.map +0 -1
  339. package/dist/use-input-default-props-B6VgKXGM.js +0 -8
  340. package/dist/use-input-default-props-B6VgKXGM.js.map +0 -1
  341. package/dist/use-textarea-default-props-7MlOxkDO.js +0 -8
  342. package/dist/use-textarea-default-props-7MlOxkDO.js.map +0 -1
@@ -1,5 +1,8 @@
1
+ "use client";
2
+
1
3
  import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
2
- import { t as createSizeContext } from "../size-context-BjRwqlSg.js";
4
+ import { t as createSizeContext } from "../size-context-CvLl3pMC.js";
5
+ import { useMemo } from "react";
3
6
  import { jsx, jsxs } from "react/jsx-runtime";
4
7
  import { cn, tv } from "tailwind-variants";
5
8
  import { ArrowRight01Icon, MoreHorizontalCircle01Icon } from "@hugeicons/core-free-icons";
@@ -13,15 +16,15 @@ const { SizeContext: BreadcrumbSizeContext, useResolvedSize: useResolvedBreadcru
13
16
  //#endregion
14
17
  //#region src/ui/breadcrumb/breadcrumb-ellipsis.tsx
15
18
  const breadcrumbEllipsisVariants = tv({
16
- base: "flex items-center justify-center text-muted-foreground",
19
+ base: "text-muted-foreground flex items-center justify-center",
20
+ defaultVariants: { size: "md" },
17
21
  variants: { size: {
18
- xs: "size-4 [&>svg]:size-3",
19
- sm: "size-5 [&>svg]:size-3.5",
20
- md: "size-5 [&>svg]:size-4",
21
22
  lg: "size-6 [&>svg]:size-4",
22
- xl: "size-7 [&>svg]:size-5"
23
- } },
24
- 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
+ } }
25
28
  });
26
29
  const BreadcrumbEllipsis = ({ className, size, ...props }) => {
27
30
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -46,14 +49,14 @@ const BreadcrumbEllipsis = ({ className, size, ...props }) => {
46
49
  //#region src/ui/breadcrumb/breadcrumb-item.tsx
47
50
  const breadcrumbItemVariants = tv({
48
51
  base: "inline-flex items-center",
52
+ defaultVariants: { size: "md" },
49
53
  variants: { size: {
50
- xs: "gap-0.5",
51
- sm: "gap-0.5",
52
- md: "gap-1",
53
54
  lg: "gap-1.5",
54
- xl: "gap-2"
55
- } },
56
- defaultVariants: { size: "md" }
55
+ md: "gap-1",
56
+ sm: "gap-0.5",
57
+ xl: "gap-2",
58
+ xs: "gap-0.5"
59
+ } }
57
60
  });
58
61
  const BreadcrumbItem = ({ className, size, ...props }) => {
59
62
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -68,15 +71,15 @@ const BreadcrumbItem = ({ className, size, ...props }) => {
68
71
  //#endregion
69
72
  //#region src/ui/breadcrumb/breadcrumb-link.tsx
70
73
  const breadcrumbLinkVariants = tv({
71
- base: "cursor-pointer transition-colors hover:text-foreground",
74
+ base: "cursor-clickable hover:text-foreground transition-colors",
75
+ defaultVariants: { size: "md" },
72
76
  variants: { size: {
73
- xs: "text-xs",
74
- sm: "text-xs",
75
- md: "text-sm",
76
77
  lg: "text-sm",
77
- xl: "text-base"
78
- } },
79
- defaultVariants: { size: "md" }
78
+ md: "text-sm",
79
+ sm: "text-xs",
80
+ xl: "text-base",
81
+ xs: "text-xs"
82
+ } }
80
83
  });
81
84
  const BreadcrumbLink = ({ className, render, size, ...props }) => {
82
85
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -85,8 +88,8 @@ const BreadcrumbLink = ({ className, render, size, ...props }) => {
85
88
  props: mergeProps({ className: cn(breadcrumbLinkVariants({ size: resolvedSize }), className) }, props),
86
89
  render,
87
90
  state: {
88
- slot: "breadcrumb-link",
89
- size: resolvedSize
91
+ size: resolvedSize,
92
+ slot: "breadcrumb-link"
90
93
  }
91
94
  });
92
95
  };
@@ -94,15 +97,15 @@ const BreadcrumbLink = ({ className, render, size, ...props }) => {
94
97
  //#endregion
95
98
  //#region src/ui/breadcrumb/breadcrumb-list.tsx
96
99
  const breadcrumbListVariants = tv({
97
- 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" },
98
102
  variants: { size: {
99
- xs: "gap-1 text-xs sm:gap-1.5",
100
- sm: "gap-1.5 text-xs sm:gap-2",
101
- md: "gap-1.5 text-sm sm:gap-2.5",
102
103
  lg: "gap-2 text-sm sm:gap-3",
103
- xl: "gap-2.5 text-base sm:gap-3.5"
104
- } },
105
- 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
+ } }
106
109
  });
107
110
  const BreadcrumbList = ({ className, size, ...props }) => {
108
111
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -117,15 +120,15 @@ const BreadcrumbList = ({ className, size, ...props }) => {
117
120
  //#endregion
118
121
  //#region src/ui/breadcrumb/breadcrumb-page.tsx
119
122
  const breadcrumbPageVariants = tv({
120
- base: "font-normal text-foreground",
123
+ base: "text-foreground font-normal",
124
+ defaultVariants: { size: "md" },
121
125
  variants: { size: {
122
- xs: "text-xs",
123
- sm: "text-xs",
124
- md: "text-sm",
125
126
  lg: "text-sm",
126
- xl: "text-base"
127
- } },
128
- defaultVariants: { size: "md" }
127
+ md: "text-sm",
128
+ sm: "text-xs",
129
+ xl: "text-base",
130
+ xs: "text-xs"
131
+ } }
129
132
  });
130
133
  const BreadcrumbPage = ({ className, size, ...props }) => {
131
134
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -142,15 +145,15 @@ const BreadcrumbPage = ({ className, size, ...props }) => {
142
145
  //#endregion
143
146
  //#region src/ui/breadcrumb/breadcrumb-separator.tsx
144
147
  const breadcrumbSeparatorVariants = tv({
145
- base: "inline-flex items-center text-muted-foreground",
148
+ base: "text-muted-foreground inline-flex items-center",
149
+ defaultVariants: { size: "md" },
146
150
  variants: { size: {
147
- xs: "[&>svg]:size-3",
148
- sm: "[&>svg]:size-3.5",
149
- md: "[&>svg]:size-3.5",
150
151
  lg: "[&>svg]:size-4",
151
- xl: "[&>svg]:size-5"
152
- } },
153
- 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
+ } }
154
157
  });
155
158
  const BreadcrumbSeparator = ({ children, className, size, ...props }) => {
156
159
  const resolvedSize = useResolvedBreadcrumbSize(size);
@@ -172,8 +175,9 @@ const BreadcrumbSeparator = ({ children, className, size, ...props }) => {
172
175
  //#region src/ui/breadcrumb/breadcrumb.tsx
173
176
  const Breadcrumb = ({ className, size: providedSize, ...props }) => {
174
177
  const size = useComponentSize(providedSize);
178
+ const contextValue = useMemo(() => ({ size }), [size]);
175
179
  return /* @__PURE__ */ jsx(BreadcrumbSizeContext.Provider, {
176
- value: { size },
180
+ value: contextValue,
177
181
  children: /* @__PURE__ */ jsx("nav", {
178
182
  "aria-label": "breadcrumb",
179
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","import 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;;;KC9BX,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"}
@@ -1,7 +1,9 @@
1
+ "use client";
2
+
1
3
  import { a as useComponentSize } from "../size-provider-18EvJgDT.js";
2
4
  import { t as ButtonGroupSizeContext } from "../button-group-size-context-DW7Gn-3k.js";
3
5
  import { Separator } from "./separator.js";
4
- import { useContext } from "react";
6
+ import { useContext, useMemo } from "react";
5
7
  import { jsx } from "react/jsx-runtime";
6
8
  import { cn, tv } from "tailwind-variants";
7
9
  import { mergeProps } from "@base-ui/react/merge-props";
@@ -9,15 +11,15 @@ import { useRender } from "@base-ui/react/use-render";
9
11
 
10
12
  //#region src/ui/button-group/button-group-separator.tsx
11
13
  const buttonGroupSeparatorVariants = tv({
12
- 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" },
13
16
  variants: { size: {
14
- xs: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
15
- sm: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
16
- md: "data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px",
17
17
  lg: "data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5",
18
- xl: "data-[orientation=horizontal]:mx-0.5 data-[orientation=vertical]:my-0.5"
19
- } },
20
- 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
+ } }
21
23
  });
22
24
  const ButtonGroupSeparator = ({ className, orientation = "vertical", size, ...props }) => {
23
25
  const { size: groupSize } = useContext(ButtonGroupSizeContext);
@@ -34,15 +36,15 @@ const ButtonGroupSeparator = ({ className, orientation = "vertical", size, ...pr
34
36
  //#endregion
35
37
  //#region src/ui/button-group/button-group-text.tsx
36
38
  const buttonGroupTextVariants = tv({
37
- 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" },
38
41
  variants: { size: {
39
- xs: "gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs [&_svg:not([class*='size-'])]:size-3",
40
- sm: "gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 text-sm [&_svg:not([class*='size-'])]:size-3.5",
41
- md: "gap-2 rounded-md px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4",
42
42
  lg: "gap-2 rounded-md px-3 text-sm [&_svg:not([class*='size-'])]:size-4",
43
- xl: "gap-2.5 rounded-md px-4 text-base [&_svg:not([class*='size-'])]:size-5"
44
- } },
45
- 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
+ } }
46
48
  });
47
49
  const ButtonGroupText = ({ className, render, size, ...props }) => {
48
50
  const { size: groupSize } = useContext(ButtonGroupSizeContext);
@@ -52,8 +54,8 @@ const ButtonGroupText = ({ className, render, size, ...props }) => {
52
54
  props: mergeProps({ className: cn(buttonGroupTextVariants({ size: resolvedSize }), className) }, props),
53
55
  render,
54
56
  state: {
55
- slot: "button-group-text",
56
- size: resolvedSize
57
+ size: resolvedSize,
58
+ slot: "button-group-text"
57
59
  }
58
60
  });
59
61
  };
@@ -61,30 +63,31 @@ const ButtonGroupText = ({ className, render, size, ...props }) => {
61
63
  //#endregion
62
64
  //#region src/ui/button-group/button-group.tsx
63
65
  const buttonGroupVariants = tv({
64
- 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
+ },
65
71
  variants: {
66
72
  orientation: {
67
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",
68
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"
69
75
  },
70
76
  size: {
71
- xs: "has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),8px)]",
72
- sm: "has-[>[data-slot=button-group]]:gap-1 rounded-[min(var(--radius-md),10px)]",
73
- md: "has-[>[data-slot=button-group]]:gap-2 rounded-md",
74
- lg: "has-[>[data-slot=button-group]]:gap-2 rounded-md",
75
- 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"
76
82
  }
77
- },
78
- defaultVariants: {
79
- orientation: "horizontal",
80
- size: "md"
81
83
  }
82
84
  });
83
85
  const ButtonGroup = ({ className, orientation, size: providedSize, ...props }) => {
84
86
  const resolvedOrientation = orientation ?? "horizontal";
85
87
  const size = useComponentSize(providedSize);
88
+ const contextValue = useMemo(() => ({ size }), [size]);
86
89
  return /* @__PURE__ */ jsx(ButtonGroupSizeContext.Provider, {
87
- value: { size },
90
+ value: contextValue,
88
91
  children: /* @__PURE__ */ jsx("div", {
89
92
  className: cn(buttonGroupVariants({
90
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","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 { 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;;;;;AC7CJ,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 };