@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
@@ -0,0 +1,99 @@
1
+ import { tv } from "tailwind-variants";
2
+
3
+ //#region src/ui/shared/size/size-system.ts
4
+ const UI_SIZE_ORDER = [
5
+ "xs",
6
+ "sm",
7
+ "md",
8
+ "lg",
9
+ "xl"
10
+ ];
11
+ const fieldHeightVariants = tv({
12
+ defaultVariants: { size: "md" },
13
+ variants: { size: {
14
+ lg: "h-10",
15
+ md: "h-9",
16
+ sm: "h-8",
17
+ xl: "h-11",
18
+ xs: "h-6"
19
+ } }
20
+ });
21
+ const rowHeightVariants = tv({
22
+ defaultVariants: { size: "md" },
23
+ variants: { size: {
24
+ lg: "h-9",
25
+ md: "h-8",
26
+ sm: "h-7",
27
+ xl: "h-10",
28
+ xs: "h-6"
29
+ } }
30
+ });
31
+ const compactVisualVariants = tv({
32
+ defaultVariants: { size: "md" },
33
+ variants: { size: {
34
+ lg: "size-[18px]",
35
+ md: "size-4",
36
+ sm: "size-3.5",
37
+ xl: "size-5",
38
+ xs: "size-3"
39
+ } }
40
+ });
41
+ const surfaceSpacingVariants = tv({
42
+ defaultVariants: { size: "md" },
43
+ variants: { size: {
44
+ lg: "gap-3.5 p-5",
45
+ md: "gap-3 p-4",
46
+ sm: "gap-2 p-3",
47
+ xl: "gap-4 p-6",
48
+ xs: "gap-1.5 p-2"
49
+ } }
50
+ });
51
+ const fieldTextVariants = tv({
52
+ defaultVariants: { size: "md" },
53
+ variants: { size: {
54
+ lg: "text-sm",
55
+ md: "text-sm",
56
+ sm: "text-sm",
57
+ xl: "text-base",
58
+ xs: "text-xs"
59
+ } }
60
+ });
61
+ const rowTextVariants = tv({
62
+ defaultVariants: { size: "md" },
63
+ variants: { size: {
64
+ lg: "text-sm",
65
+ md: "text-sm",
66
+ sm: "text-xs",
67
+ xl: "text-base",
68
+ xs: "text-xs"
69
+ } }
70
+ });
71
+ const defaultIconVariants = tv({
72
+ defaultVariants: { size: "md" },
73
+ variants: { size: {
74
+ lg: "size-4",
75
+ md: "size-4",
76
+ sm: "size-3.5",
77
+ xl: "size-5",
78
+ xs: "size-3"
79
+ } }
80
+ });
81
+ const defaultNestedIconVariants = tv({
82
+ defaultVariants: { size: "md" },
83
+ variants: { size: {
84
+ lg: "[&_svg:not([class*='size-'])]:size-4",
85
+ md: "[&_svg:not([class*='size-'])]:size-4",
86
+ sm: "[&_svg:not([class*='size-'])]:size-3.5",
87
+ xl: "[&_svg:not([class*='size-'])]:size-5",
88
+ xs: "[&_svg:not([class*='size-'])]:size-3"
89
+ } }
90
+ });
91
+ const resolveFieldHeightClassBySize = (size) => fieldHeightVariants({ size });
92
+ const resolveCompactVisualClassBySize = (size) => compactVisualVariants({ size });
93
+ const resolveFieldTextClassBySize = (size) => fieldTextVariants({ size });
94
+ const resolveDefaultIconClassBySize = (size) => defaultIconVariants({ size });
95
+ const resolveDefaultNestedIconClassBySize = (size) => defaultNestedIconVariants({ size });
96
+
97
+ //#endregion
98
+ export { resolveFieldHeightClassBySize as a, resolveDefaultNestedIconClassBySize as i, resolveCompactVisualClassBySize as n, resolveFieldTextClassBySize as o, resolveDefaultIconClassBySize as r, UI_SIZE_ORDER as t };
99
+ //# sourceMappingURL=size-system-BTsMqZRQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-system-BTsMqZRQ.js","names":[],"sources":["../src/ui/shared/size/size-system.ts"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport type UISize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport const UI_SIZE_ORDER: readonly UISize[] = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\n\nconst fieldHeightVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-10\",\n md: \"h-9\",\n sm: \"h-8\",\n xl: \"h-11\",\n xs: \"h-6\",\n },\n },\n});\n\nconst rowHeightVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"h-9\",\n md: \"h-8\",\n sm: \"h-7\",\n xl: \"h-10\",\n xs: \"h-6\",\n },\n },\n});\n\nconst compactVisualVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"size-[18px]\",\n md: \"size-4\",\n sm: \"size-3.5\",\n xl: \"size-5\",\n xs: \"size-3\",\n },\n },\n});\n\nexport const COMPACT_TARGET_SIZE_BY_SIZE: Record<UISize, number> = {\n lg: 36,\n md: 32,\n sm: 28,\n xl: 40,\n xs: 24,\n};\n\nconst surfaceSpacingVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"gap-3.5 p-5\",\n md: \"gap-3 p-4\",\n sm: \"gap-2 p-3\",\n xl: \"gap-4 p-6\",\n xs: \"gap-1.5 p-2\",\n },\n },\n});\n\nconst fieldTextVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"text-sm\",\n md: \"text-sm\",\n sm: \"text-sm\",\n xl: \"text-base\",\n xs: \"text-xs\",\n },\n },\n});\n\nconst rowTextVariants = tv({\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\nconst defaultIconVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"size-4\",\n md: \"size-4\",\n sm: \"size-3.5\",\n xl: \"size-5\",\n xs: \"size-3\",\n },\n },\n});\n\nconst defaultNestedIconVariants = tv({\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"[&_svg:not([class*='size-'])]:size-4\",\n md: \"[&_svg:not([class*='size-'])]:size-4\",\n sm: \"[&_svg:not([class*='size-'])]:size-3.5\",\n xl: \"[&_svg:not([class*='size-'])]:size-5\",\n xs: \"[&_svg:not([class*='size-'])]:size-3\",\n },\n },\n});\n\nexport const resolveFieldHeightClassBySize = (size: UISize): string =>\n fieldHeightVariants({ size });\n\nexport const resolveRowHeightClassBySize = (size: UISize): string =>\n rowHeightVariants({ size });\n\nexport const resolveCompactVisualClassBySize = (size: UISize): string =>\n compactVisualVariants({ size });\n\nexport const resolveSurfaceSpacingClassBySize = (size: UISize): string =>\n surfaceSpacingVariants({ size });\n\nexport const resolveFieldTextClassBySize = (size: UISize): string =>\n fieldTextVariants({ size });\n\nexport const resolveRowTextClassBySize = (size: UISize): string =>\n rowTextVariants({ size });\n\nexport const resolveDefaultIconClassBySize = (size: UISize): string =>\n defaultIconVariants({ size });\n\nexport const resolveDefaultNestedIconClassBySize = (size: UISize): string =>\n defaultNestedIconVariants({ size });\n"],"mappings":";;;AAIA,MAAa,gBAAmC;CAAC;CAAM;CAAM;CAAM;CAAM;CAAK;AAE9E,MAAM,sBAAsB,GAAG;CAC7B,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;CAC3B,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,wBAAwB,GAAG;CAC/B,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAUF,MAAM,yBAAyB,GAAG;CAChC,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAG;CAC3B,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG;CACzB,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG;CAC7B,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAM,4BAA4B,GAAG;CACnC,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAEF,MAAa,iCAAiC,SAC5C,oBAAoB,EAAE,MAAM,CAAC;AAK/B,MAAa,mCAAmC,SAC9C,sBAAsB,EAAE,MAAM,CAAC;AAKjC,MAAa,+BAA+B,SAC1C,kBAAkB,EAAE,MAAM,CAAC;AAK7B,MAAa,iCAAiC,SAC5C,oBAAoB,EAAE,MAAM,CAAC;AAE/B,MAAa,uCAAuC,SAClD,0BAA0B,EAAE,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"size-system-wzOLSuax.d.ts","names":[],"sources":["../src/ui/shared/size/size-system.ts"],"mappings":";KAAY,MAAA;AAAA,cAEC,aAAA,WAAwB,MAAA"}
1
+ {"version":3,"file":"size-system-wzOLSuax.d.ts","names":[],"sources":["../src/ui/shared/size/size-system.ts"],"mappings":";KAEY,MAAA;AAAA,cAEC,aAAA,WAAwB,MAAA"}
package/dist/size.js CHANGED
@@ -1,5 +1,7 @@
1
+ "use client";
2
+
1
3
  import { a as useComponentSize, c as useKuzenboContext, d as useOptionalKuzenboContext, f as DEFAULT_UI_SIZE, i as useComponentDefaultProps, l as useKuzenboEnv, n as KuzenboProvider, o as useGlobalUISize, p as resolveSize, r as filterUndefinedProps, s as useKuzenboComponentDefaults, t as KUZENBO_PROVIDER_MISSING_ERROR, u as useKuzenboReducedMotion } from "./size-provider-18EvJgDT.js";
2
- import { t as createSizeContext } from "./size-context-BjRwqlSg.js";
3
- import { o as UI_SIZE_ORDER } from "./size-system-DTXmtQXw.js";
4
+ import { t as createSizeContext } from "./size-context-CvLl3pMC.js";
5
+ import { t as UI_SIZE_ORDER } from "./size-system-BTsMqZRQ.js";
4
6
 
5
7
  export { DEFAULT_UI_SIZE, KUZENBO_PROVIDER_MISSING_ERROR, KuzenboProvider, UI_SIZE_ORDER, createSizeContext, filterUndefinedProps, resolveSize, useComponentDefaultProps, useComponentSize, useGlobalUISize, useKuzenboComponentDefaults, useKuzenboContext, useKuzenboEnv, useKuzenboReducedMotion, useOptionalKuzenboContext };
@@ -92,7 +92,7 @@ const SliderMark = ({ disabled, filled, label, orientation = "horizontal", posit
92
92
  const isHorizontal = orientation === "horizontal";
93
93
  const wrapperStyle = isHorizontal ? { insetInlineStart: `${position}%` } : { bottom: `${position}%` };
94
94
  return /* @__PURE__ */ jsxs("div", {
95
- className: cn("pointer-events-none absolute z-20", isHorizontal ? "top-1/2 -translate-x-1/2 -translate-y-1/2" : "left-1/2 -translate-x-1/2 translate-y-1/2"),
95
+ className: cn("z-elevated pointer-events-none absolute", isHorizontal ? "top-1/2 -translate-x-1/2 -translate-y-1/2" : "left-1/2 -translate-x-1/2 translate-y-1/2"),
96
96
  "data-filled": filled ? "true" : "false",
97
97
  "data-slot": "slider-mark",
98
98
  style: wrapperStyle,
@@ -101,7 +101,7 @@ const SliderMark = ({ disabled, filled, label, orientation = "horizontal", posit
101
101
  className: cn("block h-[var(--slider-mark-size,0.5rem)] w-[var(--slider-mark-size,0.5rem)] rounded-full border transition-[border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none", filled ? "border-[var(--slider-color,var(--color-primary))] bg-[var(--slider-color,var(--color-primary))]" : "border-border bg-background", disabled && "border-muted bg-muted"),
102
102
  "data-slot": "slider-mark-dot"
103
103
  }), label ? /* @__PURE__ */ jsx("span", {
104
- className: cn("pointer-events-none absolute whitespace-nowrap text-xs text-muted-foreground", isHorizontal ? "left-1/2 top-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] -translate-x-1/2" : "left-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] top-1/2 -translate-y-1/2"),
104
+ className: cn("text-muted-foreground pointer-events-none absolute text-xs whitespace-nowrap", isHorizontal ? "top-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] left-1/2 -translate-x-1/2" : "top-1/2 left-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] -translate-y-1/2"),
105
105
  "data-slot": "slider-mark-label",
106
106
  children: label
107
107
  }) : null]
@@ -139,7 +139,7 @@ const SliderMarks = ({ disabled, inverted, marks, max, min, orientation = "horiz
139
139
  //#endregion
140
140
  //#region src/ui/slider/primitives/slider-thumb.tsx
141
141
  const SliderThumb = ({ className, ...props }) => /* @__PURE__ */ jsx(Slider.Thumb, {
142
- className: mergeBaseUIClassName("group/thumb relative block h-[var(--slider-thumb-size,1.25rem)] w-[var(--slider-thumb-size,1.25rem)] shrink-0 cursor-pointer rounded-[var(--slider-radius,var(--radius-sm))] border border-border bg-background shadow-sm ring-ring/50 select-none hover:ring-[3px] has-[:focus-visible]:ring-[3px] has-[:focus-visible]:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[invalid]/slider:border-danger group-data-[invalid]/slider:ring-danger/20 dark:group-data-[invalid]/slider:ring-danger/40 transition-[color,box-shadow,border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none", className),
142
+ className: mergeBaseUIClassName("group/thumb relative block h-[var(--slider-thumb-size,1.25rem)] w-[var(--slider-thumb-size,1.25rem)] shrink-0 cursor-clickable rounded-[var(--slider-radius,var(--radius-sm))] border border-border bg-background shadow-sm ring-ring/50 select-none hover:ring-[3px] has-[:focus-visible]:ring-[3px] has-[:focus-visible]:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[invalid]/slider:border-danger group-data-[invalid]/slider:ring-danger/20 dark:group-data-[invalid]/slider:ring-danger/40 transition-[color,box-shadow,border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none", className),
143
143
  ...props,
144
144
  "data-slot": "slider-thumb"
145
145
  });
@@ -163,7 +163,7 @@ const SliderThumbLabel = ({ className, label, labelAlwaysOn, orientation = "hori
163
163
  return /* @__PURE__ */ jsx("span", {
164
164
  ...props,
165
165
  "aria-hidden": "true",
166
- className: cn("pointer-events-none absolute z-30 whitespace-nowrap rounded-sm bg-foreground px-1.5 py-0.5 text-xs text-background shadow-sm transition-opacity group-data-[dragging]/slider:duration-0 motion-reduce:transition-none", orientation === "horizontal" ? "-top-[var(--slider-thumb-label-offset,2rem)] left-1/2 -translate-x-1/2" : "left-[var(--slider-thumb-label-offset-vertical,2rem)] top-1/2 -translate-y-1/2", labelAlwaysOn ? "opacity-100" : "opacity-0 group-data-[dragging]/slider:opacity-100 group-has-[:focus]/thumb:opacity-100", showLabelOnHover ? "group-hover/slider:opacity-100" : void 0, className),
166
+ className: cn("z-floating bg-foreground text-background pointer-events-none absolute rounded-sm px-1.5 py-0.5 text-xs whitespace-nowrap shadow-sm transition-opacity group-data-[dragging]/slider:duration-0 motion-reduce:transition-none", orientation === "horizontal" ? "-top-[var(--slider-thumb-label-offset,2rem)] left-1/2 -translate-x-1/2" : "top-1/2 left-[var(--slider-thumb-label-offset-vertical,2rem)] -translate-y-1/2", labelAlwaysOn ? "opacity-100" : "opacity-0 group-has-[:focus]/thumb:opacity-100 group-data-[dragging]/slider:opacity-100", showLabelOnHover ? "group-hover/slider:opacity-100" : void 0, className),
167
167
  "data-slot": "slider-thumb-label",
168
168
  style: {
169
169
  ...style,
@@ -228,33 +228,33 @@ const sliderStyleTokens = {
228
228
  trackSize: "--slider-track-size"
229
229
  };
230
230
  const sliderSemanticSizes = {
231
- xs: {
232
- thumbSize: "0.875rem",
233
- trackSize: "0.25rem"
234
- },
235
- sm: {
236
- thumbSize: "1rem",
237
- trackSize: "0.375rem"
231
+ lg: {
232
+ thumbSize: "1.5rem",
233
+ trackSize: "0.625rem"
238
234
  },
239
235
  md: {
240
236
  thumbSize: "1.25rem",
241
237
  trackSize: "0.5rem"
242
238
  },
243
- lg: {
244
- thumbSize: "1.5rem",
245
- trackSize: "0.625rem"
239
+ sm: {
240
+ thumbSize: "1rem",
241
+ trackSize: "0.375rem"
246
242
  },
247
243
  xl: {
248
244
  thumbSize: "1.75rem",
249
245
  trackSize: "0.75rem"
246
+ },
247
+ xs: {
248
+ thumbSize: "0.875rem",
249
+ trackSize: "0.25rem"
250
250
  }
251
251
  };
252
252
  const sliderSemanticRadii = {
253
- xs: "calc(var(--radius-sm) - 2px)",
254
- sm: "var(--radius-sm)",
255
- md: "var(--radius-md)",
256
253
  lg: "var(--radius-lg)",
257
- xl: "var(--radius-xl)"
254
+ md: "var(--radius-md)",
255
+ sm: "var(--radius-sm)",
256
+ xl: "var(--radius-xl)",
257
+ xs: "calc(var(--radius-sm) - 2px)"
258
258
  };
259
259
  const semanticSliderColorNames = new Set([
260
260
  "background",
@@ -333,4 +333,4 @@ const mergeSliderRootStyle = (styleTokens, style) => {
333
333
 
334
334
  //#endregion
335
335
  export { getNextMarkValue as _, SliderValue as a, isKeyboardLikeReason as b, SliderThumb as c, SliderIndicator as d, SliderControl as f, getNearestMarkValue as g, getLastMarkValue as h, resolveSliderBounds as i, SliderMarks as l, getFirstMarkValue as m, resolveSliderRootClassName as n, SliderTrack as o, clampNumber as p, resolveSliderLabel as r, SliderThumbLabel as s, mergeSliderRootStyle as t, SliderMark as u, getPreviousMarkValue as v, toFloatingValue as x, getSortedSelectableMarks as y };
336
- //# sourceMappingURL=slider-root-presentation-ChJHPMIV.js.map
336
+ //# sourceMappingURL=slider-root-presentation-B6OO_iCT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider-root-presentation-B6OO_iCT.js","names":["SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive","SliderPrimitive"],"sources":["../src/ui/slider/math/slider-math-utils.ts","../src/ui/slider/primitives/slider-control.tsx","../src/ui/slider/primitives/slider-indicator.tsx","../src/ui/slider/primitives/slider-mark.tsx","../src/ui/slider/primitives/slider-marks.tsx","../src/ui/slider/primitives/slider-thumb.tsx","../src/ui/slider/shared/slider-transition.ts","../src/ui/slider/primitives/slider-thumb-label.tsx","../src/ui/slider/primitives/slider-track.tsx","../src/ui/slider/primitives/slider-value.tsx","../src/ui/slider/shared/slider-bounds.ts","../src/ui/slider/shared/slider-label.ts","../src/ui/slider/shared/slider-style-tokens.ts","../src/ui/slider/shared/slider-root-presentation.ts"],"sourcesContent":["import type { SliderMark } from \"../shared/slider-types\";\n\nconst EPSILON = 1e-9;\n\nexport const clampNumber = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nexport const getPrecisionFromStep = (step: number) => {\n if (!Number.isFinite(step) || step <= 0) {\n return 0;\n }\n\n const [, decimals] = step.toString().split(\".\");\n return decimals?.length ?? 0;\n};\n\nexport const toFloatingValue = (value: number, precision: number) =>\n Number.parseFloat(value.toFixed(precision));\n\nexport const getPositionPercent = (value: number, min: number, max: number) => {\n if (min === max) {\n return 0;\n }\n\n const percent = ((value - min) / (max - min)) * 100;\n return clampNumber(percent, 0, 100);\n};\n\nexport const getSortedSelectableMarks = (\n marks: readonly SliderMark[] | undefined,\n min: number,\n max: number\n) => {\n if (!marks?.length) {\n return [] as number[];\n }\n\n const uniqueMarks = new Set<number>();\n for (const mark of marks) {\n if (!Number.isFinite(mark.value)) {\n continue;\n }\n\n if (mark.value < min || mark.value > max) {\n continue;\n }\n\n uniqueMarks.add(mark.value);\n }\n\n const sortedMarks = [...uniqueMarks];\n sortedMarks.sort((a, b) => a - b);\n return sortedMarks;\n};\n\nexport const getNearestMarkValue = (\n value: number,\n marks: readonly number[]\n) => {\n if (!marks.length) {\n return value;\n }\n\n let nearest = marks[0] ?? value;\n let nearestDistance = Math.abs(value - nearest);\n\n for (const mark of marks) {\n const distance = Math.abs(value - mark);\n if (distance + EPSILON < nearestDistance) {\n nearest = mark;\n nearestDistance = distance;\n }\n }\n\n return nearest;\n};\n\nexport const getNextMarkValue = (current: number, marks: readonly number[]) => {\n for (const mark of marks) {\n if (mark > current + EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getPreviousMarkValue = (\n current: number,\n marks: readonly number[]\n) => {\n for (let index = marks.length - 1; index >= 0; index -= 1) {\n const mark = marks[index];\n if (mark !== undefined && mark < current - EPSILON) {\n return mark;\n }\n }\n\n return current;\n};\n\nexport const getFirstMarkValue = (marks: readonly number[], fallback: number) =>\n marks[0] ?? fallback;\n\nexport const getLastMarkValue = (marks: readonly number[], fallback: number) =>\n marks.at(-1) ?? fallback;\n\nexport const isMarkFilled = ({\n inverted = false,\n mark,\n values,\n}: {\n inverted?: boolean;\n mark: number;\n values: readonly number[];\n}) => {\n if (!values.length) {\n return false;\n }\n\n if (values.length === 1) {\n const [singleValue] = values;\n if (singleValue === undefined) {\n return false;\n }\n\n return inverted ? mark >= singleValue : mark <= singleValue;\n }\n\n const sortedValues = [...values];\n sortedValues.sort((a, b) => a - b);\n const [from = 0, to = 0] = sortedValues;\n\n if (inverted) {\n return mark <= from || mark >= to;\n }\n\n return mark >= from && mark <= to;\n};\n\nexport const isKeyboardLikeReason = (reason: string | null | undefined) =>\n reason === \"input-change\" || reason === \"keyboard\";\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderControlProps = SliderPrimitive.Control.Props;\n\nconst SliderControl = ({ className, ...props }: SliderControlProps) => (\n <SliderPrimitive.Control\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/control relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:w-auto data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:flex-col\",\n className\n )}\n data-slot=\"slider-control\"\n {...props}\n />\n);\n\nexport { SliderControl };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderIndicatorProps = SliderPrimitive.Indicator.Props;\n\nconst SliderIndicator = ({ className, ...props }: SliderIndicatorProps) => (\n <SliderPrimitive.Indicator\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-color,var(--color-primary))] select-none group-data-[invalid]/slider:bg-danger data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full transition-[background-color,inset-inline-start,inset-inline-end,inset-block-start,inset-block-end,width,height] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-range\"\n />\n);\n\nexport { SliderIndicator };\n","\"use client\";\n\nimport type { CSSProperties, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nexport interface SliderMarkProps {\n disabled?: boolean;\n filled?: boolean;\n label?: ReactNode;\n orientation?: \"horizontal\" | \"vertical\";\n position: number;\n}\n\nconst SliderMark = ({\n disabled,\n filled,\n label,\n orientation = \"horizontal\",\n position,\n}: SliderMarkProps) => {\n const isHorizontal = orientation === \"horizontal\";\n\n const wrapperStyle = isHorizontal\n ? ({ insetInlineStart: `${position}%` } satisfies CSSProperties)\n : ({ bottom: `${position}%` } satisfies CSSProperties);\n\n return (\n <div\n className={cn(\n \"z-elevated pointer-events-none absolute\",\n isHorizontal\n ? \"top-1/2 -translate-x-1/2 -translate-y-1/2\"\n : \"left-1/2 -translate-x-1/2 translate-y-1/2\"\n )}\n data-filled={filled ? \"true\" : \"false\"}\n data-slot=\"slider-mark\"\n style={wrapperStyle}\n >\n <span\n aria-hidden=\"true\"\n className={cn(\n \"block h-[var(--slider-mark-size,0.5rem)] w-[var(--slider-mark-size,0.5rem)] rounded-full border transition-[border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n filled\n ? \"border-[var(--slider-color,var(--color-primary))] bg-[var(--slider-color,var(--color-primary))]\"\n : \"border-border bg-background\",\n disabled && \"border-muted bg-muted\"\n )}\n data-slot=\"slider-mark-dot\"\n />\n {label ? (\n <span\n className={cn(\n \"text-muted-foreground pointer-events-none absolute text-xs whitespace-nowrap\",\n isHorizontal\n ? \"top-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[calc(var(--slider-mark-size,0.5rem)+0.5rem)] -translate-y-1/2\"\n )}\n data-slot=\"slider-mark-label\"\n >\n {label}\n </span>\n ) : null}\n </div>\n );\n};\n\nexport { SliderMark };\n","\"use client\";\n\nimport { useMemo } from \"react\";\n\nimport { getPositionPercent, isMarkFilled } from \"../math/slider-math-utils\";\nimport type { SliderMark as SliderMarkType } from \"../shared/slider-types\";\nimport { SliderMark } from \"./slider-mark\";\n\nexport interface SliderMarksProps {\n disabled?: boolean;\n inverted?: boolean;\n marks?: readonly SliderMarkType[];\n max: number;\n min: number;\n orientation?: \"horizontal\" | \"vertical\";\n values: readonly number[];\n}\n\nconst SliderMarks = ({\n disabled,\n inverted,\n marks,\n max,\n min,\n orientation = \"horizontal\",\n values,\n}: SliderMarksProps) => {\n const normalizedMarks = useMemo(() => {\n if (!marks?.length) {\n return [];\n }\n\n return marks\n .filter((mark) => Number.isFinite(mark.value))\n .map((mark) => ({\n ...mark,\n position: getPositionPercent(mark.value, min, max),\n }));\n }, [marks, max, min]);\n\n if (!normalizedMarks.length) {\n return null;\n }\n\n return (\n <>\n {normalizedMarks.map((mark) => (\n <SliderMark\n disabled={disabled}\n filled={isMarkFilled({\n inverted,\n mark: mark.value,\n values,\n })}\n key={`${mark.value}-${String(mark.label)}`}\n label={mark.label}\n orientation={orientation}\n position={mark.position}\n />\n ))}\n </>\n );\n};\n\nexport { SliderMarks };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderThumbProps = SliderPrimitive.Thumb.Props;\n\nconst SliderThumb = ({ className, ...props }: SliderThumbProps) => (\n <SliderPrimitive.Thumb\n className={mergeBaseUIClassName<SliderPrimitive.Thumb.State>(\n \"group/thumb relative block h-[var(--slider-thumb-size,1.25rem)] w-[var(--slider-thumb-size,1.25rem)] shrink-0 cursor-clickable rounded-[var(--slider-radius,var(--radius-sm))] border border-border bg-background shadow-sm ring-ring/50 select-none hover:ring-[3px] has-[:focus-visible]:ring-[3px] has-[:focus-visible]:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px] disabled:pointer-events-none disabled:opacity-50 group-data-[invalid]/slider:border-danger group-data-[invalid]/slider:ring-danger/20 dark:group-data-[invalid]/slider:ring-danger/40 transition-[color,box-shadow,border-color,background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-thumb\"\n />\n);\n\nexport { SliderThumb };\n","export interface SliderLabelTransitionProps {\n delay?: number;\n duration?: number;\n timingFunction?: string;\n}\n\nexport const defaultSliderLabelTransitionProps = {\n delay: 0,\n duration: 0,\n timingFunction: \"linear\",\n} as const satisfies Required<SliderLabelTransitionProps>;\n","\"use client\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { defaultSliderLabelTransitionProps } from \"../shared/slider-transition\";\nimport type { SliderLabelTransitionProps } from \"../shared/slider-transition\";\n\nexport interface SliderThumbLabelProps extends Omit<\n ComponentPropsWithoutRef<\"span\">,\n \"children\"\n> {\n label: ReactNode;\n labelAlwaysOn?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n showLabelOnHover?: boolean;\n transitionProps?: SliderLabelTransitionProps;\n}\n\nconst toMilliseconds = (value: number) => `${value}ms`;\n\nconst SliderThumbLabel = ({\n className,\n label,\n labelAlwaysOn,\n orientation = \"horizontal\",\n showLabelOnHover,\n style,\n transitionProps,\n ...props\n}: SliderThumbLabelProps) => {\n if (label === null || label === undefined) {\n return null;\n }\n\n const transitionDelay =\n transitionProps?.delay ?? defaultSliderLabelTransitionProps.delay;\n const transitionDuration =\n transitionProps?.duration ?? defaultSliderLabelTransitionProps.duration;\n const transitionTimingFunction =\n transitionProps?.timingFunction ??\n defaultSliderLabelTransitionProps.timingFunction;\n\n return (\n <span\n {...props}\n aria-hidden=\"true\"\n className={cn(\n \"z-floating bg-foreground text-background pointer-events-none absolute rounded-sm px-1.5 py-0.5 text-xs whitespace-nowrap shadow-sm transition-opacity group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n orientation === \"horizontal\"\n ? \"-top-[var(--slider-thumb-label-offset,2rem)] left-1/2 -translate-x-1/2\"\n : \"top-1/2 left-[var(--slider-thumb-label-offset-vertical,2rem)] -translate-y-1/2\",\n labelAlwaysOn\n ? \"opacity-100\"\n : \"opacity-0 group-has-[:focus]/thumb:opacity-100 group-data-[dragging]/slider:opacity-100\",\n showLabelOnHover ? \"group-hover/slider:opacity-100\" : undefined,\n className\n )}\n data-slot=\"slider-thumb-label\"\n style={{\n ...style,\n transitionDelay: toMilliseconds(transitionDelay),\n transitionDuration: toMilliseconds(transitionDuration),\n transitionTimingFunction,\n }}\n >\n {label}\n </span>\n );\n};\n\nexport { SliderThumbLabel };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderTrackProps = SliderPrimitive.Track.Props;\n\nconst SliderTrack = ({ className, ...props }: SliderTrackProps) => (\n <SliderPrimitive.Track\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"relative overflow-visible rounded-[var(--slider-radius,var(--radius-sm))] bg-[var(--slider-track-color,var(--color-muted))] select-none group-data-[invalid]/slider:bg-danger/15 data-[orientation=horizontal]:h-[var(--slider-size,var(--slider-track-size,0.5rem))] data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-[var(--slider-size,var(--slider-track-size,0.5rem))] transition-[background-color] duration-150 ease-out group-data-[dragging]/slider:duration-0 motion-reduce:transition-none\",\n className\n )}\n {...props}\n data-slot=\"slider-track\"\n />\n);\n\nexport { SliderTrack };\n","\"use client\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\n\nexport type SliderValueProps = SliderPrimitive.Value.Props;\n\nconst SliderValue = ({ className, ...props }: SliderValueProps) => (\n <SliderPrimitive.Value\n className={mergeBaseUIClassName<SliderPrimitive.Root.State>(\n undefined,\n className\n )}\n data-slot=\"slider-value\"\n {...props}\n />\n);\n\nexport { SliderValue };\n","import { getPrecisionFromStep } from \"../math/slider-math-utils\";\n\ninterface ResolveSliderBoundsOptions {\n domain?: [number, number];\n max: number;\n min: number;\n precision?: number;\n step: number;\n}\n\ninterface ResolvedSliderBounds {\n domainMax: number;\n domainMin: number;\n max: number;\n min: number;\n precision: number;\n}\n\nexport const resolveSliderBounds = ({\n domain,\n max,\n min,\n precision,\n step,\n}: ResolveSliderBoundsOptions): ResolvedSliderBounds => {\n const normalizedMin = Math.min(min, max);\n const normalizedMax = Math.max(min, max);\n\n const domainMin = Math.min(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n const domainMax = Math.max(\n domain?.[0] ?? normalizedMin,\n domain?.[1] ?? normalizedMax\n );\n\n return {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision: precision ?? getPrecisionFromStep(step),\n };\n};\n","import type { SliderLabel } from \"./slider-types\";\n\nexport const resolveSliderLabel = (\n label: SliderLabel | undefined,\n value: number\n) => {\n if (typeof label === \"function\") {\n return label(value);\n }\n\n return label;\n};\n","import type { CSSProperties } from \"react\";\n\nconst PIXEL_UNIT = \"px\";\n\nexport const sliderStyleTokens = {\n color: \"--slider-color\",\n markSize: \"--slider-mark-size\",\n radius: \"--slider-radius\",\n size: \"--slider-size\",\n thumbLabelOffset: \"--slider-thumb-label-offset\",\n thumbLabelOffsetVertical: \"--slider-thumb-label-offset-vertical\",\n thumbSize: \"--slider-thumb-size\",\n trackColor: \"--slider-track-color\",\n trackSize: \"--slider-track-size\",\n} as const;\n\nconst sliderSemanticSizes = {\n lg: { thumbSize: \"1.5rem\", trackSize: \"0.625rem\" },\n md: { thumbSize: \"1.25rem\", trackSize: \"0.5rem\" },\n sm: { thumbSize: \"1rem\", trackSize: \"0.375rem\" },\n xl: { thumbSize: \"1.75rem\", trackSize: \"0.75rem\" },\n xs: { thumbSize: \"0.875rem\", trackSize: \"0.25rem\" },\n} as const;\n\nconst sliderSemanticRadii = {\n lg: \"var(--radius-lg)\",\n md: \"var(--radius-md)\",\n sm: \"var(--radius-sm)\",\n xl: \"var(--radius-xl)\",\n xs: \"calc(var(--radius-sm) - 2px)\",\n} as const;\n\nconst semanticSliderColorNames = new Set([\n \"background\",\n \"border\",\n \"danger\",\n \"foreground\",\n \"info\",\n \"muted\",\n \"primary\",\n \"secondary\",\n \"success\",\n \"warning\",\n]);\n\nexport type SliderSemanticSize = keyof typeof sliderSemanticSizes;\nexport type SliderSemanticRadius = keyof typeof sliderSemanticRadii;\nexport type SliderStyleTokenLength = number | string | undefined;\nexport type SliderSize = SliderSemanticSize | number | string;\nexport type SliderRadius = SliderSemanticRadius | number | string;\n\nexport interface SliderRootStyleTokenOptions {\n color?: string;\n markSize?: SliderStyleTokenLength;\n radius?: SliderRadius | undefined;\n size?: SliderSize | undefined;\n thumbLabelOffset?: SliderStyleTokenLength;\n thumbLabelOffsetVertical?: SliderStyleTokenLength;\n thumbSize?: SliderSize | undefined;\n trackSize?: SliderSize | undefined;\n}\n\nconst isSemanticSliderSize = (value: unknown): value is SliderSemanticSize =>\n typeof value === \"string\" && value in sliderSemanticSizes;\n\nconst isSemanticSliderRadius = (\n value: unknown\n): value is SliderSemanticRadius =>\n typeof value === \"string\" && value in sliderSemanticRadii;\n\nconst toSliderStyleTokenValue = (value: SliderStyleTokenLength) => {\n if (value === undefined) {\n return;\n }\n\n return typeof value === \"number\" ? `${value}${PIXEL_UNIT}` : value;\n};\n\nconst resolveSliderColorValue = (color: string | undefined) => {\n if (color === undefined) {\n return \"var(--color-primary)\";\n }\n\n return semanticSliderColorNames.has(color) ? `var(--color-${color})` : color;\n};\n\nconst resolveSliderRadiusValue = (value: SliderRadius | undefined) => {\n if (value === undefined) {\n return \"var(--radius-sm)\";\n }\n\n if (isSemanticSliderRadius(value)) {\n return sliderSemanticRadii[value];\n }\n\n return toSliderStyleTokenValue(value);\n};\n\nconst resolveSliderTrackSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].trackSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].trackSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.trackSize;\n};\n\nconst resolveSliderThumbSizeValue = (\n value: SliderSize | undefined,\n fallbackValue: SliderSize | undefined\n) => {\n if (value !== undefined) {\n return isSemanticSliderSize(value)\n ? sliderSemanticSizes[value].thumbSize\n : toSliderStyleTokenValue(value);\n }\n\n if (fallbackValue !== undefined) {\n return isSemanticSliderSize(fallbackValue)\n ? sliderSemanticSizes[fallbackValue].thumbSize\n : toSliderStyleTokenValue(fallbackValue);\n }\n\n return sliderSemanticSizes.md.thumbSize;\n};\n\nexport const resolveSliderRootStyleTokens = ({\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n}: SliderRootStyleTokenOptions): CSSProperties => {\n const markSizeValue = toSliderStyleTokenValue(markSize);\n const thumbLabelOffsetValue = toSliderStyleTokenValue(thumbLabelOffset);\n const thumbLabelOffsetVerticalValue = toSliderStyleTokenValue(\n thumbLabelOffsetVertical\n );\n const trackSizeValue = resolveSliderTrackSizeValue(trackSize, size);\n const thumbSizeValue = resolveSliderThumbSizeValue(thumbSize, size);\n\n return {\n [sliderStyleTokens.color]: resolveSliderColorValue(color),\n [sliderStyleTokens.radius]: resolveSliderRadiusValue(radius),\n [sliderStyleTokens.size]: trackSizeValue,\n [sliderStyleTokens.thumbSize]: thumbSizeValue,\n [sliderStyleTokens.trackColor]: \"var(--color-muted)\",\n [sliderStyleTokens.trackSize]: trackSizeValue,\n ...(markSizeValue === undefined\n ? {}\n : { [sliderStyleTokens.markSize]: markSizeValue }),\n ...(thumbLabelOffsetValue === undefined\n ? {}\n : { [sliderStyleTokens.thumbLabelOffset]: thumbLabelOffsetValue }),\n ...(thumbLabelOffsetVerticalValue === undefined\n ? {}\n : {\n [sliderStyleTokens.thumbLabelOffsetVertical]:\n thumbLabelOffsetVerticalValue,\n }),\n } as CSSProperties;\n};\n","import type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\nimport type { CSSProperties } from \"react\";\n\nimport { mergeBaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { BaseUIClassName } from \"../../../utils/merge-base-ui-class-name\";\nimport type { SliderRootStyleTokenOptions } from \"./slider-style-tokens\";\nimport { resolveSliderRootStyleTokens } from \"./slider-style-tokens\";\n\nexport const resolveSliderRootClassName = (\n className: BaseUIClassName<SliderPrimitive.Root.State>,\n inverted: boolean\n) =>\n mergeBaseUIClassName<SliderPrimitive.Root.State>(\n \"group/slider data-[orientation=horizontal]:w-full data-[orientation=horizontal]:px-[calc(var(--slider-thumb-size,1.25rem)/2)] data-[orientation=vertical]:h-full data-[orientation=vertical]:py-[calc(var(--slider-thumb-size,1.25rem)/2)]\",\n typeof className === \"function\"\n ? (state) =>\n [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className(state),\n ]\n .filter(Boolean)\n .join(\" \")\n : [\n inverted\n ? \"[&_[data-slot=slider-track]]:bg-[var(--slider-color,var(--color-primary))] [&_[data-slot=slider-range]]:bg-[var(--slider-track-color,var(--color-muted))]\"\n : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \")\n );\n\ntype SliderRootStyle<TValue extends number | number[]> =\n SliderPrimitive.Root.Props<TValue>[\"style\"];\n\nexport const mergeSliderRootStyle = <TValue extends number | number[]>(\n styleTokens: SliderRootStyleTokenOptions,\n style: SliderRootStyle<TValue>\n): SliderRootStyle<TValue> => {\n const baseStyle = resolveSliderRootStyleTokens(styleTokens);\n\n if (typeof style === \"function\") {\n return (state) => {\n const resolvedStyle = style(state);\n return baseStyle ? { ...baseStyle, ...resolvedStyle } : resolvedStyle;\n };\n }\n\n if (!baseStyle) {\n return style;\n }\n\n return { ...baseStyle, ...(style as CSSProperties | undefined) };\n};\n"],"mappings":"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"}
@@ -1,57 +1,7 @@
1
- import { ComponentPropsWithoutRef, ReactNode } from "react";
1
+ import { CSSProperties, ComponentPropsWithoutRef, ReactNode } from "react";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { Slider } from "@base-ui/react/slider";
4
4
 
5
- //#region src/ui/slider/shared/slider-style-tokens.d.ts
6
- declare const sliderSemanticSizes: {
7
- readonly xs: {
8
- readonly thumbSize: "0.875rem";
9
- readonly trackSize: "0.25rem";
10
- };
11
- readonly sm: {
12
- readonly thumbSize: "1rem";
13
- readonly trackSize: "0.375rem";
14
- };
15
- readonly md: {
16
- readonly thumbSize: "1.25rem";
17
- readonly trackSize: "0.5rem";
18
- };
19
- readonly lg: {
20
- readonly thumbSize: "1.5rem";
21
- readonly trackSize: "0.625rem";
22
- };
23
- readonly xl: {
24
- readonly thumbSize: "1.75rem";
25
- readonly trackSize: "0.75rem";
26
- };
27
- };
28
- declare const sliderSemanticRadii: {
29
- readonly xs: "calc(var(--radius-sm) - 2px)";
30
- readonly sm: "var(--radius-sm)";
31
- readonly md: "var(--radius-md)";
32
- readonly lg: "var(--radius-lg)";
33
- readonly xl: "var(--radius-xl)";
34
- };
35
- type SliderSemanticSize = keyof typeof sliderSemanticSizes;
36
- type SliderSemanticRadius = keyof typeof sliderSemanticRadii;
37
- type SliderSize = SliderSemanticSize | number | string;
38
- type SliderRadius = SliderSemanticRadius | number | string;
39
- //#endregion
40
- //#region src/ui/slider/shared/slider-transition.d.ts
41
- interface SliderLabelTransitionProps {
42
- delay?: number;
43
- duration?: number;
44
- timingFunction?: string;
45
- }
46
- //#endregion
47
- //#region src/ui/slider/shared/slider-types.d.ts
48
- type SliderValue$1 = number;
49
- interface SliderMark$1 {
50
- label?: ReactNode;
51
- value: number;
52
- }
53
- type SliderLabel = ((value: number) => ReactNode) | ReactNode | null;
54
- //#endregion
55
5
  //#region src/ui/slider/primitives/slider-control.d.ts
56
6
  type SliderControlProps = Slider.Control.Props;
57
7
  declare const SliderControl: ({
@@ -74,7 +24,7 @@ interface SliderMarkProps {
74
24
  orientation?: "horizontal" | "vertical";
75
25
  position: number;
76
26
  }
77
- declare const SliderMark: ({
27
+ declare const SliderMark$1: ({
78
28
  disabled,
79
29
  filled,
80
30
  label,
@@ -82,11 +32,19 @@ declare const SliderMark: ({
82
32
  position
83
33
  }: SliderMarkProps) => react_jsx_runtime0.JSX.Element;
84
34
  //#endregion
35
+ //#region src/ui/slider/shared/slider-types.d.ts
36
+ type SliderValue$1 = number;
37
+ interface SliderMark {
38
+ label?: ReactNode;
39
+ value: number;
40
+ }
41
+ type SliderLabel = ((value: number) => ReactNode) | ReactNode | null;
42
+ //#endregion
85
43
  //#region src/ui/slider/primitives/slider-marks.d.ts
86
44
  interface SliderMarksProps {
87
45
  disabled?: boolean;
88
46
  inverted?: boolean;
89
- marks?: readonly SliderMark$1[];
47
+ marks?: readonly SliderMark[];
90
48
  max: number;
91
49
  min: number;
92
50
  orientation?: "horizontal" | "vertical";
@@ -109,6 +67,13 @@ declare const SliderThumb: ({
109
67
  ...props
110
68
  }: SliderThumbProps) => react_jsx_runtime0.JSX.Element;
111
69
  //#endregion
70
+ //#region src/ui/slider/shared/slider-transition.d.ts
71
+ interface SliderLabelTransitionProps {
72
+ delay?: number;
73
+ duration?: number;
74
+ timingFunction?: string;
75
+ }
76
+ //#endregion
112
77
  //#region src/ui/slider/primitives/slider-thumb-label.d.ts
113
78
  interface SliderThumbLabelProps extends Omit<ComponentPropsWithoutRef<"span">, "children"> {
114
79
  label: ReactNode;
@@ -142,5 +107,40 @@ declare const SliderValue: ({
142
107
  ...props
143
108
  }: SliderValueProps) => react_jsx_runtime0.JSX.Element;
144
109
  //#endregion
145
- export { SliderSemanticSize as C, SliderSemanticRadius as S, SliderLabel as _, SliderThumbLabel as a, SliderLabelTransitionProps as b, SliderThumbProps as c, SliderMark as d, SliderMarkProps as f, SliderControlProps as g, SliderControl as h, SliderTrackProps as i, SliderMarks as l, SliderIndicatorProps as m, SliderValueProps as n, SliderThumbLabelProps as o, SliderIndicator as p, SliderTrack as r, SliderThumb as s, SliderValue as t, SliderMarksProps as u, SliderMark$1 as v, SliderSize as w, SliderRadius as x, SliderValue$1 as y };
146
- //# sourceMappingURL=slider-value-Db8SCu0c.d.ts.map
110
+ //#region src/ui/slider/shared/slider-style-tokens.d.ts
111
+ declare const sliderSemanticSizes: {
112
+ readonly lg: {
113
+ readonly thumbSize: "1.5rem";
114
+ readonly trackSize: "0.625rem";
115
+ };
116
+ readonly md: {
117
+ readonly thumbSize: "1.25rem";
118
+ readonly trackSize: "0.5rem";
119
+ };
120
+ readonly sm: {
121
+ readonly thumbSize: "1rem";
122
+ readonly trackSize: "0.375rem";
123
+ };
124
+ readonly xl: {
125
+ readonly thumbSize: "1.75rem";
126
+ readonly trackSize: "0.75rem";
127
+ };
128
+ readonly xs: {
129
+ readonly thumbSize: "0.875rem";
130
+ readonly trackSize: "0.25rem";
131
+ };
132
+ };
133
+ declare const sliderSemanticRadii: {
134
+ readonly lg: "var(--radius-lg)";
135
+ readonly md: "var(--radius-md)";
136
+ readonly sm: "var(--radius-sm)";
137
+ readonly xl: "var(--radius-xl)";
138
+ readonly xs: "calc(var(--radius-sm) - 2px)";
139
+ };
140
+ type SliderSemanticSize = keyof typeof sliderSemanticSizes;
141
+ type SliderSemanticRadius = keyof typeof sliderSemanticRadii;
142
+ type SliderSize = SliderSemanticSize | number | string;
143
+ type SliderRadius = SliderSemanticRadius | number | string;
144
+ //#endregion
145
+ export { SliderControl as C, SliderIndicatorProps as S, SliderMark as _, SliderValue as a, SliderMarkProps as b, SliderTrackProps as c, SliderLabelTransitionProps as d, SliderThumb as f, SliderLabel as g, SliderMarksProps as h, SliderSize as i, SliderThumbLabel as l, SliderMarks as m, SliderSemanticRadius as n, SliderValueProps as o, SliderThumbProps as p, SliderSemanticSize as r, SliderTrack as s, SliderRadius as t, SliderThumbLabelProps as u, SliderValue$1 as v, SliderControlProps as w, SliderIndicator as x, SliderMark$1 as y };
146
+ //# sourceMappingURL=slider-style-tokens-CZezJilZ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider-style-tokens-CZezJilZ.d.ts","names":[],"sources":["../src/ui/slider/primitives/slider-control.tsx","../src/ui/slider/primitives/slider-indicator.tsx","../src/ui/slider/primitives/slider-mark.tsx","../src/ui/slider/shared/slider-types.ts","../src/ui/slider/primitives/slider-marks.tsx","../src/ui/slider/primitives/slider-thumb.tsx","../src/ui/slider/shared/slider-transition.ts","../src/ui/slider/primitives/slider-thumb-label.tsx","../src/ui/slider/primitives/slider-track.tsx","../src/ui/slider/primitives/slider-value.tsx","../src/ui/slider/shared/slider-style-tokens.ts"],"mappings":";;;;;KAMY,kBAAA,GAAqB,MAAA,CAAgB,OAAA,CAAQ,KAAA;AAAA,cAEnD,aAAA;EAAiB,SAAA;EAAA,GAAA;AAAA,GAAyB,kBAAA,KAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFtD,oBAAA,GAAuB,MAAA,CAAgB,SAAA,CAAU,KAAA;AAAA,cAEvD,eAAA;EAAmB,SAAA;EAAA,GAAA;AAAA,GAAyB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCHrD,eAAA;EACf,QAAA;EACA,MAAA;EACA,KAAA,GAAQ,SAAA;EACR,WAAA;EACA,QAAA;AAAA;AAAA,cAGI,YAAA;EAAc,QAAA;EAAA,MAAA;EAAA,KAAA;EAAA,WAAA;EAAA;AAAA,GAMjB,eAAA,KAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCjBN,aAAA;AAAA,UAEK,UAAA;EACf,KAAA,GAAQ,SAAA;EACR,KAAA;AAAA;AAAA,KAGU,WAAA,KAAgB,KAAA,aAAkB,SAAA,IAAa,SAAA;;;UCD1C,gBAAA;EACf,QAAA;EACA,QAAA;EACA,KAAA,YAAiB,UAAA;EACjB,GAAA;EACA,GAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,cAGI,WAAA;EAAe,QAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;EAAA,GAAA;EAAA,WAAA;EAAA;AAAA,GAQlB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCpBP,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;UCR7C,0BAAA;EACf,KAAA;EACA,QAAA;EACA,cAAA;AAAA;;;UCKe,qBAAA,SAA8B,IAAA,CAC7C,wBAAA;EAGA,KAAA,EAAO,SAAA;EACP,aAAA;EACA,WAAA;EACA,gBAAA;EACA,eAAA,GAAkB,0BAAA;AAAA;AAAA,cAKd,gBAAA;EAAoB,SAAA;EAAA,KAAA;EAAA,aAAA;EAAA,WAAA;EAAA,gBAAA;EAAA,KAAA;EAAA,eAAA;EAAA,GAAA;AAAA,GASvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCxBZ,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCFlD,gBAAA,GAAmB,MAAA,CAAgB,KAAA,CAAM,KAAA;AAAA,cAE/C,WAAA;EAAe,SAAA;EAAA,GAAA;AAAA,GAAyB,gBAAA,KAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;cCQxD,mBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;cAQA,mBAAA;EAAA;;;;;;KAqBM,kBAAA,gBAAkC,mBAAA;AAAA,KAClC,oBAAA,gBAAoC,mBAAA;AAAA,KAEpC,UAAA,GAAa,kBAAA;AAAA,KACb,YAAA,GAAe,oBAAA"}
@@ -0,0 +1,37 @@
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 TextareaAutosize from "react-textarea-autosize";
6
+
7
+ //#region src/ui/textarea/textarea.d.ts
8
+ declare const textareaVariants: tailwind_variants0.TVReturnType<{
9
+ size: {
10
+ lg: string;
11
+ md: string;
12
+ sm: string;
13
+ xl: string;
14
+ xs: string;
15
+ };
16
+ }, undefined, "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex field-sizing-content w-full border bg-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", {
17
+ size: {
18
+ lg: string;
19
+ md: string;
20
+ sm: string;
21
+ xl: string;
22
+ xs: string;
23
+ };
24
+ }, undefined, tailwind_variants0.TVReturnType<{
25
+ size: {
26
+ lg: string;
27
+ md: string;
28
+ sm: string;
29
+ xl: string;
30
+ xs: string;
31
+ };
32
+ }, undefined, "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex field-sizing-content w-full border bg-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]", unknown, unknown, undefined>>;
33
+ type TextareaProps = ComponentProps<typeof TextareaAutosize> & VariantProps<typeof textareaVariants>;
34
+ declare const Textarea: (incomingProps: TextareaProps) => react_jsx_runtime0.JSX.Element;
35
+ //#endregion
36
+ export { TextareaProps as n, Textarea as t };
37
+ //# sourceMappingURL=textarea-C8dsnn8D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea-C8dsnn8D.d.ts","names":[],"sources":["../src/ui/textarea/textarea.tsx"],"mappings":";;;;;;;cAUM,gBAAA,EAcJ,kBAAA,CAdoB,YAAA;;;;;;;;;;;;;;;;cAcpB,kBAAA,CAAA,YAAA;;;;;;;;;KAEU,aAAA,GAAgB,cAAA,QAAsB,gBAAA,IAChD,YAAA,QAAoB,gBAAA;AAAA,cAEhB,QAAA,GAAY,aAAA,EAAe,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,39 @@
1
+ import { a as useComponentSize, i as useComponentDefaultProps } from "./size-provider-18EvJgDT.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { tv } from "tailwind-variants";
4
+ import TextareaAutosize from "react-textarea-autosize";
5
+
6
+ //#region src/ui/textarea/use-textarea-default-props.ts
7
+ const useTextareaDefaultProps = (incomingProps) => useComponentDefaultProps("Textarea", {}, incomingProps);
8
+
9
+ //#endregion
10
+ //#region src/ui/textarea/textarea.tsx
11
+ const textareaVariants = tv({
12
+ base: "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex field-sizing-content w-full border bg-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]",
13
+ defaultVariants: { size: "md" },
14
+ variants: { size: {
15
+ lg: "min-h-18 rounded-md px-3 py-2.5 text-base md:text-sm",
16
+ md: "min-h-16 rounded-md px-2.5 py-2 text-base md:text-sm",
17
+ sm: "min-h-14 rounded-[min(var(--radius-md),10px)] px-2.5 py-1.5 text-sm",
18
+ xl: "min-h-20 rounded-md px-4 py-2.5 text-base",
19
+ xs: "min-h-12 rounded-[min(var(--radius-md),8px)] px-2 py-1 text-xs"
20
+ } }
21
+ });
22
+ const Textarea = (incomingProps) => {
23
+ const { className, rows = 3, size: providedSize, ...props } = useTextareaDefaultProps(incomingProps);
24
+ const size = useComponentSize(providedSize);
25
+ return /* @__PURE__ */ jsx(TextareaAutosize, {
26
+ className: textareaVariants({
27
+ className,
28
+ size
29
+ }),
30
+ "data-size": size,
31
+ "data-slot": "textarea",
32
+ minRows: rows,
33
+ ...props
34
+ });
35
+ };
36
+
37
+ //#endregion
38
+ export { Textarea as t };
39
+ //# sourceMappingURL=textarea-CkiM1N_I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea-CkiM1N_I.js","names":[],"sources":["../src/ui/textarea/use-textarea-default-props.ts","../src/ui/textarea/textarea.tsx"],"sourcesContent":["import { useComponentDefaultProps } from \"../shared/size/size-provider\";\nimport type { TextareaProps } from \"./textarea\";\n\nexport const useTextareaDefaultProps = (\n incomingProps: TextareaProps\n): TextareaProps =>\n useComponentDefaultProps<TextareaProps>(\"Textarea\", {}, incomingProps);\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport { tv } from \"tailwind-variants\";\nimport type { VariantProps } from \"tailwind-variants\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { useTextareaDefaultProps } from \"./use-textarea-default-props\";\n\nconst textareaVariants = tv({\n base: \"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-danger aria-invalid:ring-danger/20 dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-danger/50 dark:aria-invalid:ring-danger/40 flex field-sizing-content w-full border bg-transparent shadow-xs transition-colors outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-[3px]\",\n defaultVariants: {\n size: \"md\",\n },\n variants: {\n size: {\n lg: \"min-h-18 rounded-md px-3 py-2.5 text-base md:text-sm\",\n md: \"min-h-16 rounded-md px-2.5 py-2 text-base md:text-sm\",\n sm: \"min-h-14 rounded-[min(var(--radius-md),10px)] px-2.5 py-1.5 text-sm\",\n xl: \"min-h-20 rounded-md px-4 py-2.5 text-base\",\n xs: \"min-h-12 rounded-[min(var(--radius-md),8px)] px-2 py-1 text-xs\",\n },\n },\n});\n\nexport type TextareaProps = ComponentProps<typeof TextareaAutosize> &\n VariantProps<typeof textareaVariants>;\n\nconst Textarea = (incomingProps: TextareaProps) => {\n const {\n className,\n rows = 3,\n size: providedSize,\n ...props\n } = useTextareaDefaultProps(incomingProps);\n const size = useComponentSize(providedSize);\n\n return (\n <TextareaAutosize\n className={textareaVariants({\n className,\n size,\n })}\n data-size={size}\n data-slot=\"textarea\"\n minRows={rows}\n {...props}\n />\n );\n};\n\nexport { Textarea };\n"],"mappings":";;;;;;AAGA,MAAa,2BACX,kBAEA,yBAAwC,YAAY,EAAE,EAAE,cAAc;;;;ACIxE,MAAM,mBAAmB,GAAG;CAC1B,MAAM;CACN,iBAAiB,EACf,MAAM,MACP;CACD,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACL,EACF;CACF,CAAC;AAKF,MAAM,YAAY,kBAAiC;CACjD,MAAM,EACJ,WACA,OAAO,GACP,MAAM,cACN,GAAG,UACD,wBAAwB,cAAc;CAC1C,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC,kBAAD;EACE,WAAW,iBAAiB;GAC1B;GACA;GACD,CAAC;EACF,aAAW;EACX,aAAU;EACV,SAAS;EACT,GAAI;EACJ"}
@@ -0,0 +1,53 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as tailwind_variants0 from "tailwind-variants";
3
+ import { VariantProps } from "tailwind-variants";
4
+ import { Toggle } from "@base-ui/react/toggle";
5
+
6
+ //#region src/ui/toggle/toggle.d.ts
7
+ declare const toggleVariants: tailwind_variants0.TVReturnType<{
8
+ size: {
9
+ lg: string;
10
+ md: string;
11
+ sm: string;
12
+ xl: string;
13
+ xs: string;
14
+ };
15
+ variant: {
16
+ default: string;
17
+ outline: string;
18
+ };
19
+ }, undefined, "group/toggle cursor-clickable hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 aria-pressed:bg-muted data-pressed:bg-muted dark:aria-invalid:ring-danger/40 inline-flex items-center justify-center gap-1 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
20
+ size: {
21
+ lg: string;
22
+ md: string;
23
+ sm: string;
24
+ xl: string;
25
+ xs: string;
26
+ };
27
+ variant: {
28
+ default: string;
29
+ outline: string;
30
+ };
31
+ }, undefined, tailwind_variants0.TVReturnType<{
32
+ size: {
33
+ lg: string;
34
+ md: string;
35
+ sm: string;
36
+ xl: string;
37
+ xs: string;
38
+ };
39
+ variant: {
40
+ default: string;
41
+ outline: string;
42
+ };
43
+ }, undefined, "group/toggle cursor-clickable hover:bg-muted hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-danger aria-invalid:ring-danger/20 aria-pressed:bg-muted data-pressed:bg-muted dark:aria-invalid:ring-danger/40 inline-flex items-center justify-center gap-1 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", unknown, unknown, undefined>>;
44
+ type ToggleProps = Toggle.Props & VariantProps<typeof toggleVariants>;
45
+ declare const Toggle$1: ({
46
+ className,
47
+ variant,
48
+ size: providedSize,
49
+ ...props
50
+ }: ToggleProps) => react_jsx_runtime0.JSX.Element;
51
+ //#endregion
52
+ export { ToggleProps as n, toggleVariants as r, Toggle$1 as t };
53
+ //# sourceMappingURL=toggle-CxkIncmZ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-CxkIncmZ.d.ts","names":[],"sources":["../src/ui/toggle/toggle.tsx"],"mappings":";;;;;;cASM,cAAA,EAmBJ,kBAAA,CAnBkB,YAAA;;;;;;;;;;;;;;;;;;;;;;;;cAmBlB,kBAAA,CAAA,YAAA;;;;;;;;;;;;;KAEU,WAAA,GAAc,MAAA,CAAgB,KAAA,GACxC,YAAA,QAAoB,cAAA;AAAA,cAEhB,QAAA;EAAU,SAAA;EAAA,OAAA;EAAA,IAAA,EAAA,YAAA;EAAA,GAAA;AAAA,GAKb,WAAA,KAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}