@justanarthur/modo-ui 0.6.0-canary.8 → 0.6.0

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 (490) hide show
  1. package/README.md +66 -164
  2. package/dist/base.css +4 -141
  3. package/dist/blocks/sidebar-app/index.js +26 -40
  4. package/dist/components/AI/input-message/index.js +16 -23
  5. package/dist/components/AI/thinking-indicator/index.js +6 -9
  6. package/dist/components/accordion/index.d.ts +11 -39
  7. package/dist/components/accordion/index.js +13 -18
  8. package/dist/components/badge/index.d.ts +11 -18
  9. package/dist/components/badge/index.js +7 -12
  10. package/dist/components/button/index.d.ts +17 -53
  11. package/dist/components/button/index.js +6 -11
  12. package/dist/components/card/index.d.ts +9 -32
  13. package/dist/components/card/index.js +11 -17
  14. package/dist/components/copy/index.d.ts +8 -41
  15. package/dist/components/copy/index.js +9 -15
  16. package/dist/components/inputs/checkbox/index.d.ts +9 -28
  17. package/dist/components/inputs/checkbox/index.js +13 -18
  18. package/dist/components/inputs/color-picker/index.d.ts +14 -22
  19. package/dist/components/inputs/color-picker/index.js +18 -26
  20. package/dist/components/inputs/combobox/index.d.ts +20 -85
  21. package/dist/components/inputs/combobox/index.js +18 -27
  22. package/dist/components/inputs/date-time/calendar/index.d.ts +18 -24
  23. package/dist/components/inputs/date-time/calendar/index.js +11 -15
  24. package/dist/components/inputs/date-time/date-picker/index.d.ts +16 -105
  25. package/dist/components/inputs/date-time/date-picker/index.js +25 -35
  26. package/dist/components/inputs/date-time/date-range-picker/index.d.ts +12 -106
  27. package/dist/components/inputs/date-time/date-range-picker/index.js +24 -35
  28. package/dist/components/inputs/date-time/duration-picker/index.d.ts +13 -66
  29. package/dist/components/inputs/date-time/duration-picker/index.js +24 -33
  30. package/dist/components/inputs/date-time/month-picker/index.d.ts +10 -60
  31. package/dist/components/inputs/date-time/month-picker/index.js +23 -32
  32. package/dist/components/inputs/date-time/time-picker/index.d.ts +10 -58
  33. package/dist/components/inputs/date-time/time-picker/index.js +24 -33
  34. package/dist/components/inputs/input/index.d.ts +13 -95
  35. package/dist/components/inputs/input/index.js +9 -18
  36. package/dist/components/inputs/radio/index.d.ts +5 -20
  37. package/dist/components/inputs/radio/index.js +12 -16
  38. package/dist/components/inputs/search/index.d.ts +3 -3
  39. package/dist/components/inputs/search/index.js +18 -26
  40. package/dist/components/inputs/select/index.d.ts +23 -99
  41. package/dist/components/inputs/select/index.js +14 -29
  42. package/dist/components/inputs/slider/index.d.ts +0 -9
  43. package/dist/components/inputs/slider/index.js +5 -8
  44. package/dist/components/inputs/switch/index.d.ts +2 -8
  45. package/dist/components/inputs/switch/index.js +12 -15
  46. package/dist/components/inputs/textarea/index.d.ts +1 -20
  47. package/dist/components/inputs/textarea/index.js +6 -9
  48. package/dist/components/navigation/sidebar/index.d.ts +21 -44
  49. package/dist/components/navigation/sidebar/index.js +31 -42
  50. package/dist/components/navigation/tabs/index.d.ts +2 -8
  51. package/dist/components/navigation/tabs/index.js +10 -15
  52. package/dist/components/navigation/tabs-subtle/index.js +10 -13
  53. package/dist/components/overlays/alert-dialog/index.d.ts +16 -135
  54. package/dist/components/overlays/alert-dialog/index.js +13 -23
  55. package/dist/components/overlays/command/index.d.ts +20 -25
  56. package/dist/components/overlays/command/index.js +17 -25
  57. package/dist/components/overlays/context-menu/index.d.ts +17 -39
  58. package/dist/components/overlays/context-menu/index.js +18 -29
  59. package/dist/components/overlays/dialog/index.d.ts +16 -42
  60. package/dist/components/overlays/dialog/index.js +12 -20
  61. package/dist/components/overlays/dropdown/index.d.ts +34 -304
  62. package/dist/components/overlays/dropdown/index.js +17 -44
  63. package/dist/components/overlays/popover/index.d.ts +12 -38
  64. package/dist/components/overlays/popover/index.js +9 -13
  65. package/dist/components/overlays/preview-card/index.js +8 -12
  66. package/dist/components/overlays/sheet/index.d.ts +8 -25
  67. package/dist/components/overlays/sheet/index.js +13 -19
  68. package/dist/components/overlays/toast/index.d.ts +50 -209
  69. package/dist/components/overlays/toast/index.js +10 -23
  70. package/dist/components/overlays/tooltip/index.d.ts +21 -123
  71. package/dist/components/overlays/tooltip/index.js +6 -16
  72. package/dist/components/table/index.d.ts +8 -63
  73. package/dist/components/table/index.js +9 -20
  74. package/dist/index.d.ts +1048 -2999
  75. package/dist/index.js +82 -231
  76. package/dist/preset.d.ts +0 -22
  77. package/dist/preset.js +2 -24
  78. package/dist/primitives/code/index.js +5 -8
  79. package/dist/primitives/craft/index.js +6 -10
  80. package/dist/primitives/fluid-hover/index.js +8 -10
  81. package/dist/primitives/morph/index.js +10 -16
  82. package/dist/primitives/motion/index.js +8 -11
  83. package/dist/primitives/scroll-area/index.js +3 -5
  84. package/dist/primitives/sizes/index.js +4 -6
  85. package/dist/primitives/surface/index.js +4 -6
  86. package/dist/shared/{components-4y816hwp.js → components-0q0sqfh4.js} +49 -27
  87. package/dist/shared/components-0sn7ypjw.js +61 -0
  88. package/dist/shared/{components-vc864c51.js → components-11da9ajg.js} +5 -8
  89. package/dist/shared/components-1434p1mh.js +123 -0
  90. package/dist/shared/{components-t2a3qmy9.js → components-1z6tdadk.js} +24 -40
  91. package/dist/shared/{components-qs4rkqsj.js → components-27nnvrwe.js} +14 -15
  92. package/dist/shared/{components-av5t26rc.js → components-2dxkv6zm.js} +7 -8
  93. package/dist/shared/{components-wqrvqq5p.js → components-2ecg8svx.js} +152 -234
  94. package/dist/shared/{components-3ydr2fqe.js → components-2ph6t61s.js} +34 -37
  95. package/dist/shared/{components-6gk118w3.js → components-39jq9va1.js} +24 -29
  96. package/dist/shared/components-3ky44908.js +9 -0
  97. package/dist/shared/{components-y1qvbawa.js → components-3mkepka5.js} +25 -28
  98. package/dist/shared/{components-xqszvkj4.js → components-4700p9kz.js} +22 -24
  99. package/dist/shared/{components-yhgq0qxx.js → components-59efxjd9.js} +12 -13
  100. package/dist/shared/{components-9j9abkct.js → components-5vgpnxgy.js} +27 -51
  101. package/dist/shared/{components-8tt3xbb5.js → components-5xc2j8jz.js} +18 -19
  102. package/dist/shared/{components-jymmaevv.js → components-6p8tfcd6.js} +29 -57
  103. package/dist/shared/{components-4nck8acq.js → components-7r3etddy.js} +54 -19
  104. package/dist/shared/{components-skfd7kff.js → components-8snj490h.js} +32 -78
  105. package/dist/shared/{components-ctqmge8t.js → components-b0eac83j.js} +30 -9
  106. package/dist/shared/{components-9sttq78t.js → components-b2wyq2cq.js} +59 -41
  107. package/dist/shared/{components-vkwq2k96.js → components-b3c5et5b.js} +38 -49
  108. package/dist/shared/{components-rrbpmfx4.js → components-c6s6b43g.js} +2 -3
  109. package/dist/shared/{components-pw06rbxq.js → components-chacnk61.js} +19 -19
  110. package/dist/shared/{components-71nbt03m.js → components-cv16mryv.js} +7 -26
  111. package/dist/shared/{components-eqze3y30.js → components-d6xtjht3.js} +30 -35
  112. package/dist/shared/{components-5y5shqfd.js → components-dk0gjr5a.js} +18 -19
  113. package/dist/shared/{components-khspp26b.js → components-fzrq6tr3.js} +34 -37
  114. package/dist/shared/{components-km7fhgbk.js → components-gc5vtq2f.js} +30 -66
  115. package/dist/shared/components-gf5s6ap9.js +42 -0
  116. package/dist/shared/{components-qqcmtrbv.js → components-gz8zf3ec.js} +55 -56
  117. package/dist/shared/{components-mattt5jp.js → components-h2ajmhwn.js} +35 -107
  118. package/dist/shared/{components-awra5sff.js → components-hqeq3w9q.js} +16 -24
  119. package/dist/shared/{components-5tzhqbcw.js → components-hw9yk32z.js} +24 -36
  120. package/dist/shared/components-hyq23phv.js +310 -0
  121. package/dist/shared/{components-8mt5bsv6.js → components-jbbmdr74.js} +22 -41
  122. package/dist/shared/{components-dcc02hs2.js → components-jjw69c4c.js} +4 -7
  123. package/dist/shared/{components-2syq4mwc.js → components-jthe1pwb.js} +420 -139
  124. package/dist/shared/{components-r7q1zm7r.js → components-jwst3vtj.js} +76 -224
  125. package/dist/shared/{components-qdm3yh26.js → components-kvr7f9hy.js} +10 -19
  126. package/dist/shared/{components-s8yqk2dc.js → components-kwa6mrf9.js} +11 -46
  127. package/dist/shared/{components-de99ykt7.js → components-men63rwj.js} +2 -3
  128. package/dist/shared/{components-6b0zb8z3.js → components-mjthm1kf.js} +9 -13
  129. package/dist/shared/{components-2c64r8c9.js → components-n42c79bz.js} +22 -23
  130. package/dist/shared/{components-tz1fv35x.js → components-n7mjr357.js} +2 -3
  131. package/dist/shared/components-ng72k97e.js +128 -0
  132. package/dist/shared/{components-dyae0y7h.js → components-pbmqctfa.js} +65 -169
  133. package/dist/shared/{components-px2zm7dc.js → components-q5xj5c16.js} +8 -9
  134. package/dist/shared/components-raknhppb.js +64 -0
  135. package/dist/shared/{components-8rb25gbe.js → components-rr7a6ja9.js} +27 -59
  136. package/dist/shared/{components-5012r6gr.js → components-s083f38z.js} +34 -164
  137. package/dist/shared/components-s5ngg32c.js +267 -0
  138. package/dist/shared/components-sn1rxx1d.js +143 -0
  139. package/dist/shared/{components-r8eqs7gz.js → components-ta7shw28.js} +4 -4
  140. package/dist/shared/{components-9as3rf68.js → components-vc7vq5nz.js} +3 -6
  141. package/dist/shared/{components-ft3zdc79.js → components-vfbhxf5r.js} +5 -6
  142. package/dist/shared/components-vynjtrk6.js +19 -0
  143. package/dist/shared/{components-w0xq6q9k.js → components-w1r67ag9.js} +149 -294
  144. package/dist/shared/{components-z0bqtvcp.js → components-w90endve.js} +72 -71
  145. package/dist/shared/{components-t5pk5nmc.js → components-wvp1m52g.js} +102 -149
  146. package/dist/shared/components-wy9jpqny.js +146 -0
  147. package/dist/shared/{components-5sxjeh6h.js → components-y9y0g8er.js} +28 -52
  148. package/dist/shared/components-ypp01w3p.js +986 -0
  149. package/dist/shared/{components-t50hrswb.js → components-zfnmn5d4.js} +36 -82
  150. package/dist/shared/{components-jqpefjsn.js → components-zrkzcayz.js} +6 -54
  151. package/dist/shared/{components-vf45j12c.js → components-zx6b6yby.js} +18 -4
  152. package/dist/styles.css +32 -320
  153. package/dist/tailwind.css +0 -16
  154. package/dist/tokens.css +0 -67
  155. package/package.json +4 -227
  156. package/DESIGN.md +0 -623
  157. package/blocks/sidebar-app/examples.mdx +0 -33
  158. package/blocks/sidebar-app/index.tsx +0 -218
  159. package/blocks/sidebar-app/inset-topbar.tsx +0 -25
  160. package/blocks/sidebar-app/menu-grid.ts +0 -26
  161. package/blocks/sidebar-app/nav-data.ts +0 -36
  162. package/blocks/sidebar-app/search-field.tsx +0 -48
  163. package/blocks/sidebar-app/user-footer.tsx +0 -67
  164. package/blocks/sidebar-app/workspace-header.tsx +0 -129
  165. package/components/AI/input-message/examples.mdx +0 -130
  166. package/components/AI/input-message/file-thumbnail.tsx +0 -173
  167. package/components/AI/input-message/index.tsx +0 -1385
  168. package/components/AI/thinking-indicator/examples.mdx +0 -27
  169. package/components/AI/thinking-indicator/index.tsx +0 -210
  170. package/components/accordion/examples.mdx +0 -233
  171. package/components/accordion/index.tsx +0 -1071
  172. package/components/avatar/examples.mdx +0 -95
  173. package/components/avatar/index.tsx +0 -129
  174. package/components/badge/change-demo.tsx +0 -29
  175. package/components/badge/examples.mdx +0 -124
  176. package/components/badge/index.tsx +0 -225
  177. package/components/badge/variants.ts +0 -73
  178. package/components/button/examples.mdx +0 -168
  179. package/components/button/index.tsx +0 -424
  180. package/components/button/loading-demo.tsx +0 -25
  181. package/components/button/variants.ts +0 -168
  182. package/components/card/examples.mdx +0 -251
  183. package/components/card/index.tsx +0 -1070
  184. package/components/copy/examples.mdx +0 -125
  185. package/components/copy/index.tsx +0 -662
  186. package/components/inputs/checkbox/examples.mdx +0 -87
  187. package/components/inputs/checkbox/index.tsx +0 -611
  188. package/components/inputs/checkbox/select-all-demo.tsx +0 -48
  189. package/components/inputs/color-picker/examples.mdx +0 -111
  190. package/components/inputs/color-picker/index.tsx +0 -1981
  191. package/components/inputs/color-picker/variants.ts +0 -401
  192. package/components/inputs/combobox/examples.mdx +0 -366
  193. package/components/inputs/combobox/index.tsx +0 -1527
  194. package/components/inputs/combobox/remote-demo.tsx +0 -105
  195. package/components/inputs/date-time/calendar/examples.mdx +0 -45
  196. package/components/inputs/date-time/calendar/index.tsx +0 -370
  197. package/components/inputs/date-time/calendar/use-month-window.ts +0 -173
  198. package/components/inputs/date-time/date-picker/examples.mdx +0 -243
  199. package/components/inputs/date-time/date-picker/index.tsx +0 -476
  200. package/components/inputs/date-time/date-picker/masked-date-input.tsx +0 -348
  201. package/components/inputs/date-time/date-range-picker/examples.mdx +0 -93
  202. package/components/inputs/date-time/date-range-picker/index.tsx +0 -525
  203. package/components/inputs/date-time/duration-picker/examples.mdx +0 -40
  204. package/components/inputs/date-time/duration-picker/index.tsx +0 -253
  205. package/components/inputs/date-time/month-picker/examples.mdx +0 -45
  206. package/components/inputs/date-time/month-picker/index.tsx +0 -254
  207. package/components/inputs/date-time/picker-shell.tsx +0 -581
  208. package/components/inputs/date-time/time-columns.tsx +0 -94
  209. package/components/inputs/date-time/time-picker/examples.mdx +0 -57
  210. package/components/inputs/date-time/time-picker/index.tsx +0 -227
  211. package/components/inputs/field/examples.mdx +0 -117
  212. package/components/inputs/field/index.tsx +0 -268
  213. package/components/inputs/file-dropzone/examples.mdx +0 -83
  214. package/components/inputs/file-dropzone/file-row.tsx +0 -201
  215. package/components/inputs/file-dropzone/index.tsx +0 -316
  216. package/components/inputs/file-dropzone/upload-demo.tsx +0 -67
  217. package/components/inputs/file-dropzone/variants.ts +0 -94
  218. package/components/inputs/input/examples.mdx +0 -166
  219. package/components/inputs/input/index.tsx +0 -494
  220. package/components/inputs/input/password-demo.tsx +0 -30
  221. package/components/inputs/label/examples.mdx +0 -67
  222. package/components/inputs/label/index.tsx +0 -85
  223. package/components/inputs/number-input/examples.mdx +0 -69
  224. package/components/inputs/number-input/index.tsx +0 -221
  225. package/components/inputs/radio/examples.mdx +0 -77
  226. package/components/inputs/radio/index.tsx +0 -636
  227. package/components/inputs/search/examples.mdx +0 -74
  228. package/components/inputs/search/index.tsx +0 -333
  229. package/components/inputs/select/examples.mdx +0 -296
  230. package/components/inputs/select/index.tsx +0 -1044
  231. package/components/inputs/select/variants.ts +0 -32
  232. package/components/inputs/slider/examples.mdx +0 -153
  233. package/components/inputs/slider/index.tsx +0 -1867
  234. package/components/inputs/switch/examples.mdx +0 -96
  235. package/components/inputs/switch/index.tsx +0 -504
  236. package/components/inputs/textarea/examples.mdx +0 -126
  237. package/components/inputs/textarea/index.tsx +0 -207
  238. package/components/navigation/navigation-menu/examples.mdx +0 -136
  239. package/components/navigation/navigation-menu/index.tsx +0 -704
  240. package/components/navigation/pagination/examples.mdx +0 -74
  241. package/components/navigation/pagination/index.tsx +0 -401
  242. package/components/navigation/sidebar/examples.mdx +0 -325
  243. package/components/navigation/sidebar/index.tsx +0 -453
  244. package/components/navigation/sidebar/sidebar-core.tsx +0 -1408
  245. package/components/navigation/sidebar/sidebar-menu.tsx +0 -1495
  246. package/components/navigation/sidebar/sidebar.css +0 -74
  247. package/components/navigation/sidebar/variants.ts +0 -55
  248. package/components/navigation/tabs/examples.mdx +0 -89
  249. package/components/navigation/tabs/index.tsx +0 -494
  250. package/components/navigation/tabs-subtle/examples.mdx +0 -49
  251. package/components/navigation/tabs-subtle/index.tsx +0 -512
  252. package/components/overlays/alert-dialog/examples.mdx +0 -123
  253. package/components/overlays/alert-dialog/index.tsx +0 -276
  254. package/components/overlays/alert-dialog/pending-demo.tsx +0 -36
  255. package/components/overlays/command/examples.mdx +0 -113
  256. package/components/overlays/command/index.tsx +0 -425
  257. package/components/overlays/context-menu/examples.mdx +0 -56
  258. package/components/overlays/context-menu/index.tsx +0 -279
  259. package/components/overlays/dialog/examples.mdx +0 -165
  260. package/components/overlays/dialog/index.tsx +0 -451
  261. package/components/overlays/dropdown/dropdown-search.tsx +0 -395
  262. package/components/overlays/dropdown/examples.mdx +0 -444
  263. package/components/overlays/dropdown/index.tsx +0 -1241
  264. package/components/overlays/dropdown/menu-item.tsx +0 -510
  265. package/components/overlays/dropdown/menu-parts.tsx +0 -725
  266. package/components/overlays/popover/anchored-demo.tsx +0 -59
  267. package/components/overlays/popover/examples.mdx +0 -203
  268. package/components/overlays/popover/index.tsx +0 -317
  269. package/components/overlays/preview-card/examples.mdx +0 -61
  270. package/components/overlays/preview-card/index.tsx +0 -204
  271. package/components/overlays/sheet/examples.mdx +0 -101
  272. package/components/overlays/sheet/index.tsx +0 -307
  273. package/components/overlays/toast/examples.mdx +0 -85
  274. package/components/overlays/toast/global-demo.tsx +0 -72
  275. package/components/overlays/toast/index.tsx +0 -544
  276. package/components/overlays/toast/manager.ts +0 -193
  277. package/components/overlays/tooltip/examples.mdx +0 -106
  278. package/components/overlays/tooltip/index.tsx +0 -539
  279. package/components/progress/examples.mdx +0 -59
  280. package/components/progress/index.tsx +0 -174
  281. package/components/progress/progress.css +0 -49
  282. package/components/progress/step-demo.tsx +0 -27
  283. package/components/table/examples.mdx +0 -188
  284. package/components/table/index.tsx +0 -535
  285. package/components/table/sort-demo.tsx +0 -61
  286. package/dist/components/avatar/index.d.ts +0 -46
  287. package/dist/components/avatar/index.js +0 -19
  288. package/dist/components/badge/variants.d.ts +0 -33
  289. package/dist/components/badge/variants.js +0 -10
  290. package/dist/components/button/variants.d.ts +0 -39
  291. package/dist/components/button/variants.js +0 -8
  292. package/dist/components/inputs/color-picker/variants.d.ts +0 -61
  293. package/dist/components/inputs/color-picker/variants.js +0 -28
  294. package/dist/components/inputs/field/index.d.ts +0 -116
  295. package/dist/components/inputs/field/index.js +0 -29
  296. package/dist/components/inputs/file-dropzone/index.d.ts +0 -167
  297. package/dist/components/inputs/file-dropzone/index.js +0 -33
  298. package/dist/components/inputs/file-dropzone/variants.d.ts +0 -35
  299. package/dist/components/inputs/file-dropzone/variants.js +0 -12
  300. package/dist/components/inputs/label/index.d.ts +0 -32
  301. package/dist/components/inputs/label/index.js +0 -11
  302. package/dist/components/inputs/number-input/index.d.ts +0 -87
  303. package/dist/components/inputs/number-input/index.js +0 -21
  304. package/dist/components/inputs/select/variants.d.ts +0 -5
  305. package/dist/components/inputs/select/variants.js +0 -6
  306. package/dist/components/navigation/navigation-menu/index.d.ts +0 -126
  307. package/dist/components/navigation/navigation-menu/index.js +0 -41
  308. package/dist/components/navigation/pagination/index.d.ts +0 -75
  309. package/dist/components/navigation/pagination/index.js +0 -41
  310. package/dist/components/navigation/sidebar/variants.d.ts +0 -25
  311. package/dist/components/navigation/sidebar/variants.js +0 -28
  312. package/dist/components/progress/index.d.ts +0 -56
  313. package/dist/components/progress/index.js +0 -15
  314. package/dist/docs/index.d.ts +0 -83
  315. package/dist/docs/index.js +0 -288
  316. package/dist/docs/vite.d.ts +0 -31
  317. package/dist/docs/vite.js +0 -45
  318. package/dist/lib/date-locale.d.ts +0 -26
  319. package/dist/lib/date-locale.js +0 -24
  320. package/dist/lib/field-classes.d.ts +0 -149
  321. package/dist/lib/field-classes.js +0 -41
  322. package/dist/lib/field-variants.d.ts +0 -47
  323. package/dist/lib/field-variants.js +0 -26
  324. package/dist/lib/fluid-hover-highlight.d.ts +0 -112
  325. package/dist/lib/fluid-hover-highlight.js +0 -17
  326. package/dist/lib/focus-ring.d.ts +0 -18
  327. package/dist/lib/focus-ring.js +0 -11
  328. package/dist/lib/goo-indicator.d.ts +0 -46
  329. package/dist/lib/goo-indicator.js +0 -14
  330. package/dist/lib/icon-context.d.ts +0 -30
  331. package/dist/lib/icon-context.js +0 -12
  332. package/dist/lib/inert.d.ts +0 -9
  333. package/dist/lib/inert.js +0 -8
  334. package/dist/lib/morph-layers.d.ts +0 -93
  335. package/dist/lib/morph-layers.js +0 -13
  336. package/dist/lib/morph-part.d.ts +0 -21
  337. package/dist/lib/morph-part.js +0 -12
  338. package/dist/lib/popup.d.ts +0 -20
  339. package/dist/lib/popup.js +0 -12
  340. package/dist/lib/reduced-motion.d.ts +0 -9
  341. package/dist/lib/reduced-motion.js +0 -6
  342. package/dist/lib/row-index.d.ts +0 -10
  343. package/dist/lib/row-index.js +0 -8
  344. package/dist/lib/row-order.d.ts +0 -28
  345. package/dist/lib/row-order.js +0 -10
  346. package/dist/lib/scroll-column.d.ts +0 -31
  347. package/dist/lib/scroll-column.js +0 -19
  348. package/dist/lib/shape-context.d.ts +0 -30
  349. package/dist/lib/shape-context.js +0 -13
  350. package/dist/lib/shape-radius.d.ts +0 -19
  351. package/dist/lib/shape-radius.js +0 -6
  352. package/dist/lib/size-context.d.ts +0 -94
  353. package/dist/lib/size-context.js +0 -20
  354. package/dist/lib/size-scale.d.ts +0 -79
  355. package/dist/lib/size-scale.js +0 -8
  356. package/dist/lib/slot.d.ts +0 -39
  357. package/dist/lib/slot.js +0 -14
  358. package/dist/lib/springs.d.ts +0 -44
  359. package/dist/lib/springs.js +0 -8
  360. package/dist/lib/surface-classes.d.ts +0 -19
  361. package/dist/lib/surface-classes.js +0 -10
  362. package/dist/lib/surface-context.d.ts +0 -9
  363. package/dist/lib/surface-context.js +0 -8
  364. package/dist/lib/use-controllable-state.d.ts +0 -2
  365. package/dist/lib/use-controllable-state.js +0 -6
  366. package/dist/lib/use-fluid-hover.d.ts +0 -138
  367. package/dist/lib/use-fluid-hover.js +0 -14
  368. package/dist/lib/use-is-mobile.d.ts +0 -2
  369. package/dist/lib/use-is-mobile.js +0 -6
  370. package/dist/lib/use-keyboard-nav-gate.d.ts +0 -20
  371. package/dist/lib/use-keyboard-nav-gate.js +0 -7
  372. package/dist/lib/use-merge-split.d.ts +0 -47
  373. package/dist/lib/use-merge-split.js +0 -15
  374. package/dist/lib/use-morph.d.ts +0 -101
  375. package/dist/lib/use-morph.js +0 -20
  376. package/dist/lib/use-touch-primary.d.ts +0 -2
  377. package/dist/lib/use-touch-primary.js +0 -6
  378. package/dist/lib/utils.d.ts +0 -3
  379. package/dist/lib/utils.js +0 -6
  380. package/dist/primitives/separator/index.d.ts +0 -25
  381. package/dist/primitives/separator/index.js +0 -9
  382. package/dist/primitives/skeleton/index.d.ts +0 -35
  383. package/dist/primitives/skeleton/index.js +0 -13
  384. package/dist/shared/components-124epb7f.js +0 -53
  385. package/dist/shared/components-1kab3j44.js +0 -337
  386. package/dist/shared/components-26snnbs9.js +0 -322
  387. package/dist/shared/components-34txk9rj.js +0 -35
  388. package/dist/shared/components-3h92d94m.js +0 -23
  389. package/dist/shared/components-4vfm04wq.js +0 -82
  390. package/dist/shared/components-54nq988h.js +0 -123
  391. package/dist/shared/components-7s7pykk5.js +0 -281
  392. package/dist/shared/components-7zkhz3r8.js +0 -399
  393. package/dist/shared/components-8v644a0s.js +0 -298
  394. package/dist/shared/components-a4evvq8h.js +0 -271
  395. package/dist/shared/components-adkarj8n.js +0 -35
  396. package/dist/shared/components-b1e239g3.js +0 -28
  397. package/dist/shared/components-b94t6qtj.js +0 -143
  398. package/dist/shared/components-c9yr4ed1.js +0 -44
  399. package/dist/shared/components-cwg1d0w6.js +0 -254
  400. package/dist/shared/components-d3shbwqq.js +0 -95
  401. package/dist/shared/components-dhgk6mbt.js +0 -16
  402. package/dist/shared/components-drxrtnp2.js +0 -25
  403. package/dist/shared/components-ej4r7wmj.js +0 -482
  404. package/dist/shared/components-f7h57m6t.js +0 -59
  405. package/dist/shared/components-fejdzvqc.js +0 -448
  406. package/dist/shared/components-gx4h5rbb.js +0 -40
  407. package/dist/shared/components-gyt7my41.js +0 -328
  408. package/dist/shared/components-h6p86be3.js +0 -19
  409. package/dist/shared/components-h83az0bz.js +0 -33
  410. package/dist/shared/components-hdzrqqpx.js +0 -55
  411. package/dist/shared/components-krtx3m5b.js +0 -84
  412. package/dist/shared/components-kswxnm3h.js +0 -24
  413. package/dist/shared/components-mpa2y6x8.js +0 -277
  414. package/dist/shared/components-mrbaxt8q.js +0 -62
  415. package/dist/shared/components-pt5ftm4p.js +0 -38
  416. package/dist/shared/components-rpw4md2b.js +0 -179
  417. package/dist/shared/components-rtadhd9j.js +0 -64
  418. package/dist/shared/components-tz4gaf1v.js +0 -23
  419. package/dist/shared/components-wbbckbw8.js +0 -34
  420. package/dist/shared/components-xdqmt6ed.js +0 -20
  421. package/dist/shared/components-xjkdvnbg.js +0 -107
  422. package/dist/shared/components-z3v0n0de.js +0 -11
  423. package/dist/shared/components-z6dfqtyt.js +0 -1545
  424. package/dist/tokens/colors.css +0 -230
  425. package/dist/tokens/motion.css +0 -40
  426. package/dist/tokens/radius.css +0 -10
  427. package/dist/tokens/spacing.css +0 -9
  428. package/dist/tokens/typography.css +0 -119
  429. package/docs/chrome.css +0 -120
  430. package/docs/chrome.tsx +0 -283
  431. package/docs/index.ts +0 -9
  432. package/docs/vite.ts +0 -85
  433. package/index.ts +0 -60
  434. package/lib/date-locale.ts +0 -195
  435. package/lib/field-classes.ts +0 -121
  436. package/lib/field-variants.ts +0 -117
  437. package/lib/fluid-hover-highlight.tsx +0 -139
  438. package/lib/focus-ring.tsx +0 -46
  439. package/lib/goo-indicator.tsx +0 -261
  440. package/lib/icon-context.tsx +0 -310
  441. package/lib/inert.ts +0 -22
  442. package/lib/morph-layers.tsx +0 -102
  443. package/lib/morph-part.tsx +0 -49
  444. package/lib/popup.ts +0 -52
  445. package/lib/reduced-motion.ts +0 -19
  446. package/lib/row-index.tsx +0 -29
  447. package/lib/row-order.tsx +0 -126
  448. package/lib/scroll-column.tsx +0 -273
  449. package/lib/shape-context.tsx +0 -138
  450. package/lib/shape-radius.ts +0 -67
  451. package/lib/size-context.tsx +0 -66
  452. package/lib/size-scale.ts +0 -115
  453. package/lib/slot.ts +0 -115
  454. package/lib/springs.ts +0 -62
  455. package/lib/surface-classes.ts +0 -58
  456. package/lib/surface-context.tsx +0 -21
  457. package/lib/use-controllable-state.ts +0 -44
  458. package/lib/use-fluid-hover.ts +0 -541
  459. package/lib/use-is-mobile.ts +0 -25
  460. package/lib/use-keyboard-nav-gate.ts +0 -45
  461. package/lib/use-merge-split.tsx +0 -209
  462. package/lib/use-morph.ts +0 -557
  463. package/lib/use-touch-primary.tsx +0 -43
  464. package/lib/utils.ts +0 -37
  465. package/preset.ts +0 -199
  466. package/primitives/code/examples.mdx +0 -27
  467. package/primitives/code/index.tsx +0 -80
  468. package/primitives/craft/demos.tsx +0 -173
  469. package/primitives/craft/examples.mdx +0 -142
  470. package/primitives/craft/index.tsx +0 -76
  471. package/primitives/fluid-hover/examples.mdx +0 -84
  472. package/primitives/fluid-hover/index.tsx +0 -316
  473. package/primitives/morph/examples.mdx +0 -139
  474. package/primitives/morph/index.tsx +0 -192
  475. package/primitives/motion/examples.mdx +0 -100
  476. package/primitives/motion/index.tsx +0 -160
  477. package/primitives/scroll-area/examples.mdx +0 -58
  478. package/primitives/scroll-area/index.tsx +0 -204
  479. package/primitives/separator/examples.mdx +0 -30
  480. package/primitives/separator/index.tsx +0 -53
  481. package/primitives/sizes/examples.mdx +0 -167
  482. package/primitives/sizes/index.tsx +0 -89
  483. package/primitives/skeleton/examples.mdx +0 -51
  484. package/primitives/skeleton/index.tsx +0 -72
  485. package/primitives/skeleton/skeleton.css +0 -15
  486. package/primitives/surface/examples.mdx +0 -173
  487. package/primitives/surface/index.tsx +0 -109
  488. package/primitives/surface/surface.css +0 -176
  489. /package/dist/shared/{components-3ey0hzpb.js → components-1v7rxytx.js} +0 -0
  490. /package/dist/shared/{components-jcnjay5g.js → components-ezxhrmer.js} +0 -0
@@ -1,19 +1,18 @@
1
- "use client";
2
1
  import {
3
- useShape2
4
- } from "./components-71nbt03m.js";
2
+ useShape
3
+ } from "./components-cv16mryv.js";
5
4
  import {
6
5
  useSizeVariant2
7
- } from "./components-h83az0bz.js";
6
+ } from "./components-0sn7ypjw.js";
8
7
  import {
9
- spring2
10
- } from "./components-3ey0hzpb.js";
11
- import {
12
- useControllableState2
13
- } from "./components-tz1fv35x.js";
8
+ useControllableState
9
+ } from "./components-n7mjr357.js";
14
10
  import {
15
11
  cn2
16
- } from "./components-jcnjay5g.js";
12
+ } from "./components-ezxhrmer.js";
13
+ import {
14
+ spring2
15
+ } from "./components-1v7rxytx.js";
17
16
 
18
17
  // components/inputs/slider/index.tsx
19
18
  import { Slider as SliderPrimitive } from "@base-ui/react/slider";
@@ -76,7 +75,7 @@ function ValueDisplay({
76
75
  isRange,
77
76
  isInteracting
78
77
  }) {
79
- const shape = useShape2();
78
+ const shape = useShape();
80
79
  const [inputValue, setInputValue] = useState("");
81
80
  const inputRef = useRef(null);
82
81
  useEffect(() => {
@@ -181,16 +180,18 @@ function ValueDisplay({
181
180
  ]
182
181
  });
183
182
  }
184
- function TooltipValue({ value, formatValue, motionX, vertical = false }) {
185
- const shape = useShape2();
183
+ function TooltipValue({ value, formatValue, motionX }) {
184
+ const shape = useShape();
186
185
  const tooltipX = useTransform(motionX, (x) => x + THUMB_SIZE / 2);
187
- const tooltipY = useTransform(motionX, (x) => -x);
188
186
  return /* @__PURE__ */ jsx(motion.div, {
189
- className: cn2("absolute pointer-events-none z-20", vertical ? "translate-y-1/2" : "-translate-x-1/2"),
190
- style: vertical ? { y: tooltipY, bottom: THUMB_SIZE / 2, left: `calc(50% + ${THUMB_SIZE}px)` } : { x: tooltipX, top: -16 },
191
- initial: vertical ? { opacity: 0, x: -4 } : { opacity: 0, y: 4 },
192
- animate: vertical ? { opacity: 1, x: 0 } : { opacity: 1, y: 0 },
193
- exit: vertical ? { opacity: 0, x: -4, transition: spring2.fast.exit } : { opacity: 0, y: 4, transition: spring2.fast.exit },
187
+ className: "absolute -translate-x-1/2 pointer-events-none z-20",
188
+ style: {
189
+ x: tooltipX,
190
+ top: -16
191
+ },
192
+ initial: { opacity: 0, y: 4 },
193
+ animate: { opacity: 1, y: 0 },
194
+ exit: { opacity: 0, y: 4, transition: spring2.fast.exit },
194
195
  transition: spring2.fast,
195
196
  children: /* @__PURE__ */ jsx("span", {
196
197
  className: cn2("text-caption text-background tabular-nums whitespace-nowrap bg-foreground px-2 py-1", shape.bg, "weight-medium"),
@@ -207,7 +208,7 @@ var CompactSlider = forwardRef(({
207
208
  steps,
208
209
  showSteps = false,
209
210
  showValue = true,
210
- valuePosition: valuePositionProp,
211
+ valuePosition = "left",
211
212
  formatValue = String,
212
213
  label,
213
214
  disabled = false,
@@ -218,20 +219,12 @@ var CompactSlider = forwardRef(({
218
219
  hideFill = false,
219
220
  thumbColor,
220
221
  thumbBorderColor,
221
- orientation = "horizontal",
222
- onValueCommit,
223
222
  className,
224
- "aria-label": ariaLabel,
225
223
  ...props
226
224
  }, ref) => {
227
- const vertical = orientation === "vertical";
228
- const valuePosition = valuePositionProp ?? (vertical ? "top" : "left");
229
- const onValueCommitRef = useRef(onValueCommit);
230
- onValueCommitRef.current = onValueCommit;
231
- const latestValue = useRef(value);
232
225
  const isRange = Array.isArray(value);
233
226
  const values = toRadixValue(value);
234
- const shape = useShape2();
227
+ const shape = useShape();
235
228
  const stepsKey = steps ? steps.join(",") : "";
236
229
  const stepValues = useMemo(() => {
237
230
  if (!stepsKey)
@@ -277,31 +270,16 @@ var CompactSlider = forwardRef(({
277
270
  const fillWidthSingle = useTransform(motionX0, (x) => x + THUMB_SIZE / 2 - TRACK_INSET);
278
271
  const fillWidthRange = useTransform([motionX0, motionX1], ([x0, x1]) => x1 - x0);
279
272
  const fillWidth = isRange ? fillWidthRange : fillWidthSingle;
280
- const thumbY0 = useTransform(motionX0, (x) => -x);
281
- const thumbY1 = useTransform(motionX1, (x) => -x);
282
- const maskDir = vertical ? "to top" : "to right";
283
273
  const stepDotsMaskSingle = useTransform(motionX0, (x) => {
284
274
  const edge = x + THUMB_SIZE / 2;
285
- return `linear-gradient(${maskDir}, transparent ${edge}px, black ${edge + 2}px)`;
275
+ return `linear-gradient(to right, transparent ${edge}px, black ${edge + 2}px)`;
286
276
  });
287
277
  const stepDotsMaskRange = useTransform([motionX0, motionX1], ([x0, x1]) => {
288
278
  const left = x0 + THUMB_SIZE / 2;
289
279
  const right = x1 + THUMB_SIZE / 2;
290
- return `linear-gradient(${maskDir}, black ${left - 2}px, transparent ${left}px, transparent ${right}px, black ${right + 2}px)`;
280
+ return `linear-gradient(to right, black ${left - 2}px, transparent ${left}px, transparent ${right}px, black ${right + 2}px)`;
291
281
  });
292
282
  const stepDotsMask = isRange ? stepDotsMaskRange : stepDotsMaskSingle;
293
- const measure = useCallback((clientX, clientY) => {
294
- const trackEl = trackRef.current;
295
- if (!trackEl)
296
- return null;
297
- const rect = trackEl.getBoundingClientRect();
298
- const length = vertical ? trackEl.offsetHeight : trackEl.offsetWidth;
299
- const visual = vertical ? rect.height : rect.width;
300
- if (length <= 0 || visual <= 0)
301
- return null;
302
- const scale = visual / length;
303
- return { length, pos: (vertical ? rect.bottom - clientY : clientX - rect.left) / scale };
304
- }, [vertical]);
305
283
  const computeHoverPreview = useCallback((cursorX, trackWidth) => {
306
284
  const usable = trackWidth - THUMB_SIZE;
307
285
  const rawPx = cursorX - THUMB_SIZE / 2;
@@ -325,7 +303,7 @@ var CompactSlider = forwardRef(({
325
303
  const el = trackRef.current;
326
304
  if (!el || initialSyncDone.current)
327
305
  return;
328
- const w = vertical ? el.offsetHeight : el.offsetWidth;
306
+ const w = el.offsetWidth;
329
307
  trackWidthRef.current = w;
330
308
  const px0 = valueToPixel(values[0], min, max, w);
331
309
  motionX0.set(px0);
@@ -341,7 +319,7 @@ var CompactSlider = forwardRef(({
341
319
  if (!el)
342
320
  return;
343
321
  const ro = new ResizeObserver(([entry]) => {
344
- const w = vertical ? entry.contentRect.height : entry.contentRect.width;
322
+ const w = entry.contentRect.width;
345
323
  trackWidthRef.current = w;
346
324
  if (!dragging.current && initialSyncDone.current) {
347
325
  const v = valuesRef.current;
@@ -357,7 +335,7 @@ var CompactSlider = forwardRef(({
357
335
  });
358
336
  ro.observe(el);
359
337
  return () => ro.disconnect();
360
- }, [isRange, vertical, motionX0, motionX1]);
338
+ }, [isRange, motionX0, motionX1]);
361
339
  const valuesKey = values.join(",");
362
340
  useEffect(() => {
363
341
  if (!initialSyncDone.current)
@@ -387,10 +365,8 @@ var CompactSlider = forwardRef(({
387
365
  if (isRange) {
388
366
  const newValues = [...values];
389
367
  newValues[thumbIndex] = newValue;
390
- latestValue.current = newValues;
391
368
  onChange(newValues);
392
369
  } else {
393
- latestValue.current = newValue;
394
370
  onChange(newValue);
395
371
  }
396
372
  }, [isRange, values, onChange]);
@@ -401,11 +377,15 @@ var CompactSlider = forwardRef(({
401
377
  return;
402
378
  e.preventDefault();
403
379
  e.stopPropagation();
404
- const m = measure(e.clientX, e.clientY);
405
- if (!m)
380
+ const trackEl = trackRef.current;
381
+ if (!trackEl)
382
+ return;
383
+ const trackRect = trackEl.getBoundingClientRect();
384
+ const layoutWidth = trackEl.offsetWidth;
385
+ if (layoutWidth <= 0 || trackRect.width <= 0)
406
386
  return;
407
- const layoutWidth = m.length;
408
- const localX = m.pos - THUMB_SIZE / 2;
387
+ const scale = trackRect.width / layoutWidth;
388
+ const localX = (e.clientX - trackRect.left) / scale - THUMB_SIZE / 2;
409
389
  const clamped = Math.max(0, Math.min(layoutWidth - THUMB_SIZE, localX));
410
390
  if (isRange) {
411
391
  const dist0 = Math.abs(clamped - motionX0.get());
@@ -424,16 +404,20 @@ var CompactSlider = forwardRef(({
424
404
  const finalValue = pixelToValue(finalPx, min, max, step, layoutWidth, stepValues);
425
405
  emitChange(activeDragThumb.current, finalValue);
426
406
  e.currentTarget.setPointerCapture(e.pointerId);
427
- }, [disabled, isRange, min, max, step, stepValues, motionX0, motionX1, clampForRange, emitChange, measure]);
407
+ }, [disabled, isRange, min, max, step, stepValues, motionX0, motionX1, clampForRange, emitChange]);
428
408
  const handlePointerMove = useCallback((e) => {
429
409
  if (!dragging.current)
430
410
  return;
431
411
  e.stopPropagation();
432
- const m = measure(e.clientX, e.clientY);
433
- if (!m)
412
+ const trackEl = trackRef.current;
413
+ if (!trackEl)
414
+ return;
415
+ const trackRect = trackEl.getBoundingClientRect();
416
+ const layoutWidth = trackEl.offsetWidth;
417
+ if (layoutWidth <= 0 || trackRect.width <= 0)
434
418
  return;
435
- const layoutWidth = m.length;
436
- const localX = m.pos - THUMB_SIZE / 2;
419
+ const scale = trackRect.width / layoutWidth;
420
+ const localX = (e.clientX - trackRect.left) / scale - THUMB_SIZE / 2;
437
421
  const clamped = Math.max(0, Math.min(layoutWidth - THUMB_SIZE, localX));
438
422
  const motionX = activeDragThumb.current === 0 ? motionX0 : motionX1;
439
423
  const snappedValue = pixelToValue(clamped, min, max, step, layoutWidth, stepValues);
@@ -442,12 +426,11 @@ var CompactSlider = forwardRef(({
442
426
  motionX.set(finalPx);
443
427
  const finalValue = pixelToValue(finalPx, min, max, step, layoutWidth, stepValues);
444
428
  emitChange(activeDragThumb.current, finalValue);
445
- }, [min, max, step, stepValues, motionX0, motionX1, clampForRange, emitChange, measure]);
429
+ }, [min, max, step, stepValues, motionX0, motionX1, clampForRange, emitChange]);
446
430
  const handlePointerUp = useCallback(() => {
447
431
  if (!dragging.current)
448
432
  return;
449
433
  dragging.current = false;
450
- onValueCommitRef.current?.(latestValue.current);
451
434
  setIsPressed(false);
452
435
  setHoverPreview(null);
453
436
  const tw = trackWidthRef.current;
@@ -467,16 +450,11 @@ var CompactSlider = forwardRef(({
467
450
  onChange(mapped[0]);
468
451
  }
469
452
  }, [isRange, onChange, stepValues]);
470
- const handleRadixCommit = useCallback((newValues) => {
471
- const mapped = stepValues ? newValues.map((i) => stepValues[Math.round(i)]) : newValues;
472
- onValueCommitRef.current?.(isRange ? mapped : mapped[0]);
473
- }, [isRange, stepValues]);
474
453
  const handleStartEdit = useCallback((index) => {
475
454
  setEditingIndex(index);
476
455
  }, []);
477
456
  const handleCommitEdit = useCallback((index, v) => {
478
457
  emitChange(index, v);
479
- onValueCommitRef.current?.(latestValue.current);
480
458
  setEditingIndex(null);
481
459
  }, [emitChange]);
482
460
  const handleCancelEdit = useCallback(() => {
@@ -492,12 +470,11 @@ var CompactSlider = forwardRef(({
492
470
  }) : [], [showSteps, min, max, step, stepValues]);
493
471
  const isInteracting = isHovered || isPressed;
494
472
  const thumbAriaLabel = (index) => {
495
- const name = ariaLabel || label;
496
473
  if (!isRange)
497
- return name;
498
- if (!name)
474
+ return label;
475
+ if (!label)
499
476
  return index === 0 ? "Minimum" : "Maximum";
500
- return index === 0 ? `${name} minimum` : `${name} maximum`;
477
+ return index === 0 ? `${label} minimum` : `${label} maximum`;
501
478
  };
502
479
  const valueDisplay = showValue && valuePosition !== "tooltip" && /* @__PURE__ */ jsx(ValueDisplay, {
503
480
  values,
@@ -518,16 +495,7 @@ var CompactSlider = forwardRef(({
518
495
  const motionX = index === 0 ? motionX0 : motionX1;
519
496
  return /* @__PURE__ */ jsxs(motion.span, {
520
497
  className: "flex items-center justify-center pointer-events-none",
521
- style: vertical ? {
522
- width: THUMB_SIZE,
523
- height: THUMB_SIZE,
524
- marginLeft: -THUMB_SIZE / 2,
525
- y: index === 0 ? thumbY0 : thumbY1,
526
- position: "absolute",
527
- left: "50%",
528
- bottom: 0,
529
- zIndex: 10
530
- } : {
498
+ style: {
531
499
  width: THUMB_SIZE,
532
500
  height: THUMB_SIZE,
533
501
  marginTop: -THUMB_SIZE / 2,
@@ -567,13 +535,13 @@ var CompactSlider = forwardRef(({
567
535
  };
568
536
  return /* @__PURE__ */ jsxs("div", {
569
537
  ref,
570
- className: cn2("flex gap-0 select-none touch-none overflow-visible", vertical ? "h-40 w-fit items-center" : "flex-col w-full", valuePosition === "left" || valuePosition === "right" ? vertical ? "flex-row gap-2" : "flex-row items-center gap-2 mb-2" : "flex-col", vertical && (valuePosition === "top" || valuePosition === "bottom" || valuePosition === "tooltip") && "gap-2", disabled && "opacity-50 pointer-events-none", className),
538
+ className: cn2("flex flex-col gap-0 w-full select-none touch-none overflow-visible", valuePosition === "left" || valuePosition === "right" ? "flex-row items-center gap-2 mb-2" : "flex-col", disabled && "opacity-50 pointer-events-none", className),
571
539
  ...props,
572
540
  children: [
573
541
  (valuePosition === "top" || valuePosition === "left") && valueDisplay,
574
542
  /* @__PURE__ */ jsxs("div", {
575
- className: cn2("relative overflow-visible", vertical ? "min-h-0 min-w-0" : "flex-1", vertical && (valuePosition === "left" || valuePosition === "right" ? "h-full" : "flex-1")),
576
- style: vertical ? { width: THUMB_SIZE + 16 } : {
543
+ className: "relative flex-1 overflow-visible",
544
+ style: {
577
545
  height: valuePosition === "left" || valuePosition === "right" ? THUMB_SIZE + 16 : THUMB_SIZE + (valuePosition === "tooltip" ? 16 : 0),
578
546
  paddingTop: valuePosition === "tooltip" ? 16 : 0
579
547
  },
@@ -585,10 +553,17 @@ var CompactSlider = forwardRef(({
585
553
  onMouseMove: (e) => {
586
554
  if (dragging.current)
587
555
  return;
588
- const m = measure(e.clientX, e.clientY);
589
- if (!m)
556
+ const trackEl = trackRef.current;
557
+ if (!trackEl)
590
558
  return;
591
- computeHoverPreview(Math.max(0, Math.min(m.length, m.pos)), m.length);
559
+ const trackRect = trackEl.getBoundingClientRect();
560
+ const layoutWidth = trackEl.offsetWidth;
561
+ if (layoutWidth <= 0 || trackRect.width <= 0)
562
+ return;
563
+ const scale = trackRect.width / layoutWidth;
564
+ const layoutX = (e.clientX - trackRect.left) / scale;
565
+ const clamped = Math.max(0, Math.min(layoutWidth, layoutX));
566
+ computeHoverPreview(clamped, layoutWidth);
592
567
  },
593
568
  children: [
594
569
  showValue && valuePosition === "tooltip" && /* @__PURE__ */ jsxs(AnimatePresence, {
@@ -596,28 +571,24 @@ var CompactSlider = forwardRef(({
596
571
  isInteracting && /* @__PURE__ */ jsx(TooltipValue, {
597
572
  value: values[0],
598
573
  formatValue,
599
- motionX: motionX0,
600
- vertical
574
+ motionX: motionX0
601
575
  }, "tooltip-0"),
602
576
  isInteracting && isRange && values[1] !== undefined && /* @__PURE__ */ jsx(TooltipValue, {
603
577
  value: values[1],
604
578
  formatValue,
605
- motionX: motionX1,
606
- vertical
579
+ motionX: motionX1
607
580
  }, "tooltip-1")
608
581
  ]
609
582
  }),
610
583
  /* @__PURE__ */ jsx(SliderPrimitive.Root, {
611
584
  value: stepValues ? values.map((v) => nearestStepIndex(v, stepValues)) : values,
612
585
  onValueChange: (v) => handleRadixChange(v),
613
- onValueCommitted: (v) => handleRadixCommit(v),
614
586
  min: stepValues ? 0 : min,
615
587
  max: stepValues ? stepValues.length - 1 : max,
616
588
  step: stepValues ? 1 : step,
617
- orientation,
618
589
  disabled,
619
590
  className: "absolute inset-0 opacity-0 pointer-events-none",
620
- style: vertical ? { width: THUMB_SIZE } : { height: THUMB_SIZE },
591
+ style: { height: THUMB_SIZE },
621
592
  children: /* @__PURE__ */ jsxs(SliderPrimitive.Control, {
622
593
  className: "w-full h-full",
623
594
  children: [
@@ -632,7 +603,7 @@ var CompactSlider = forwardRef(({
632
603
  className: "block outline-none",
633
604
  style: { width: THUMB_SIZE, height: THUMB_SIZE },
634
605
  onFocus: (e) => {
635
- if (e.target.matches(":focus-visible"))
606
+ if (e.currentTarget.matches(":focus-visible"))
636
607
  setFocusedThumb(0);
637
608
  },
638
609
  onBlur: () => setFocusedThumb((prev) => prev === 0 ? null : prev)
@@ -644,7 +615,7 @@ var CompactSlider = forwardRef(({
644
615
  className: "block outline-none",
645
616
  style: { width: THUMB_SIZE, height: THUMB_SIZE },
646
617
  onFocus: (e) => {
647
- if (e.target.matches(":focus-visible"))
618
+ if (e.currentTarget.matches(":focus-visible"))
648
619
  setFocusedThumb(1);
649
620
  },
650
621
  onBlur: () => setFocusedThumb((prev) => prev === 1 ? null : prev)
@@ -654,16 +625,16 @@ var CompactSlider = forwardRef(({
654
625
  }),
655
626
  /* @__PURE__ */ jsxs("div", {
656
627
  ref: trackRef,
657
- className: cn2("relative", vertical ? "h-full cursor-ns-resize px-2" : "w-full cursor-ew-resize py-2"),
658
- style: vertical ? { width: THUMB_SIZE + 16, opacity: ready ? 1 : 0 } : { height: THUMB_SIZE + 16, opacity: ready ? 1 : 0 },
628
+ className: "relative w-full cursor-ew-resize py-2",
629
+ style: { height: THUMB_SIZE + 16, opacity: ready ? 1 : 0 },
659
630
  onPointerDown: handlePointerDown,
660
631
  onPointerMove: handlePointerMove,
661
632
  onPointerUp: handlePointerUp,
662
633
  onPointerCancel: handlePointerUp,
663
634
  children: [
664
635
  /* @__PURE__ */ jsx("div", {
665
- className: cn2("absolute", vertical ? "cursor-ns-resize" : "cursor-ew-resize"),
666
- style: vertical ? { left: 0, right: 0, top: -8, bottom: -8 } : { left: -8, right: -8, top: 0, bottom: 0 },
636
+ className: "absolute cursor-ew-resize",
637
+ style: { left: -8, right: -8, top: 0, bottom: 0 },
667
638
  onPointerDown: handlePointerDown,
668
639
  onPointerMove: handlePointerMove,
669
640
  onPointerUp: handlePointerUp,
@@ -671,12 +642,15 @@ var CompactSlider = forwardRef(({
671
642
  }),
672
643
  /* @__PURE__ */ jsx(AnimatePresence, {
673
644
  children: hoverPreview && showHoverTooltip && !isPressed && valuePosition !== "tooltip" && /* @__PURE__ */ jsx(motion.div, {
674
- className: cn2("absolute pointer-events-none z-20", vertical ? "translate-y-1/2" : "-translate-x-1/2"),
675
- initial: vertical ? { opacity: 0, x: -4 } : { opacity: 0, y: 4 },
676
- animate: vertical ? { opacity: 1, x: 0 } : { opacity: 1, y: 0 },
677
- exit: vertical ? { opacity: 0, x: -4, transition: spring2.fast.exit } : { opacity: 0, y: 4, transition: spring2.fast.exit },
645
+ className: "absolute -translate-x-1/2 pointer-events-none z-20",
646
+ initial: { opacity: 0, y: 4 },
647
+ animate: { opacity: 1, y: 0 },
648
+ exit: { opacity: 0, y: 4, transition: spring2.fast.exit },
678
649
  transition: spring2.fast,
679
- style: vertical ? { bottom: hoverPreview.cursorX, left: `calc(100% + 4px)` } : { left: hoverPreview.cursorX, top: -20 },
650
+ style: {
651
+ left: hoverPreview.cursorX,
652
+ top: -20
653
+ },
680
654
  children: /* @__PURE__ */ jsx("span", {
681
655
  className: cn2("text-caption text-background tabular-nums whitespace-nowrap bg-foreground px-2 py-1", shape.bg, "weight-medium"),
682
656
  children: formatValue(hoverPreview.snappedValue)
@@ -686,22 +660,27 @@ var CompactSlider = forwardRef(({
686
660
  /* @__PURE__ */ jsxs(motion.div, {
687
661
  className: cn2("absolute bg-transparent border border-border overflow-hidden rounded-full", trackClassName),
688
662
  initial: false,
689
- animate: vertical ? { width: TRACK_BG_HEIGHT, left: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2 } : { height: TRACK_BG_HEIGHT, top: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2 },
663
+ animate: {
664
+ height: TRACK_BG_HEIGHT,
665
+ top: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2
666
+ },
690
667
  transition: spring2.fast,
691
668
  style: {
692
- ...vertical ? { top: TRACK_INSET, bottom: TRACK_INSET } : { left: TRACK_INSET, right: TRACK_INSET },
669
+ left: TRACK_INSET,
670
+ right: TRACK_INSET,
693
671
  ...trackStyle
694
672
  },
695
673
  children: [
696
674
  !hideFill && /* @__PURE__ */ jsx(motion.div, {
697
- className: cn2("absolute bg-selected/50 dark:bg-accent/40", vertical ? "w-full" : "h-full", fillClassName),
675
+ className: cn2("absolute h-full bg-selected/50 dark:bg-accent/40", fillClassName),
698
676
  style: {
699
- ...vertical ? { bottom: fillLeft, height: fillWidth } : { left: fillLeft, width: fillWidth },
677
+ left: fillLeft,
678
+ width: fillWidth,
700
679
  ...fillStyle
701
680
  }
702
681
  }),
703
682
  /* @__PURE__ */ jsx(motion.div, {
704
- className: cn2("absolute bg-accent/40 pointer-events-none z-[2]", vertical ? "w-full" : "h-full"),
683
+ className: "absolute h-full bg-accent/40 pointer-events-none z-[2]",
705
684
  initial: false,
706
685
  animate: {
707
686
  opacity: hoverPreview && !isPressed ? 1 : 0
@@ -710,35 +689,26 @@ var CompactSlider = forwardRef(({
710
689
  opacity: { duration: 0.15 }
711
690
  },
712
691
  style: {
713
- ...vertical ? {
714
- bottom: hoverPreview ? hoverPreview.left - TRACK_INSET : 0,
715
- height: hoverPreview ? hoverPreview.width : 0
716
- } : {
717
- left: hoverPreview ? hoverPreview.left - TRACK_INSET : 0,
718
- width: hoverPreview ? hoverPreview.width : 0
719
- },
720
- borderRadius: hoverPreview && hoverPreview.cursorX > hoverPreview.left ? vertical ? "9999px 9999px 0 0" : "0 9999px 9999px 0" : vertical ? "0 0 9999px 9999px" : "9999px 0 0 9999px"
692
+ left: hoverPreview ? hoverPreview.left - TRACK_INSET : 0,
693
+ width: hoverPreview ? hoverPreview.width : 0,
694
+ borderRadius: hoverPreview && hoverPreview.cursorX > hoverPreview.left ? "0 9999px 9999px 0" : "9999px 0 0 9999px"
721
695
  }
722
696
  })
723
697
  ]
724
698
  }),
725
699
  stepDots.length > 0 && /* @__PURE__ */ jsx(motion.div, {
726
- className: cn2("absolute pointer-events-none", vertical ? "top-0 bottom-0" : "left-0 right-0"),
700
+ className: "absolute left-0 right-0 pointer-events-none",
727
701
  style: {
728
- ...vertical ? { left: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2, width: TRACK_BG_HEIGHT } : { top: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2, height: TRACK_BG_HEIGHT },
702
+ top: 8 + (THUMB_SIZE - TRACK_BG_HEIGHT) / 2,
703
+ height: TRACK_BG_HEIGHT,
729
704
  WebkitMaskImage: stepDotsMask,
730
705
  maskImage: stepDotsMask
731
706
  },
732
707
  children: stepDots.map(({ value: v, percent }) => /* @__PURE__ */ jsx("div", {
733
708
  className: "absolute pointer-events-none flex items-center justify-center",
734
709
  style: {
735
- ...vertical ? {
736
- bottom: `calc(${THUMB_SIZE / 2}px + ${percent} * (100% - ${THUMB_SIZE}px))`,
737
- left: "50%"
738
- } : {
739
- left: `calc(${THUMB_SIZE / 2}px + ${percent} * (100% - ${THUMB_SIZE}px))`,
740
- top: "50%"
741
- },
710
+ left: `calc(${THUMB_SIZE / 2}px + ${percent} * (100% - ${THUMB_SIZE}px))`,
711
+ top: "50%",
742
712
  width: 0,
743
713
  height: 0
744
714
  },
@@ -774,15 +744,10 @@ var ComfortableSlider = forwardRef(({
774
744
  label,
775
745
  formatValue = String,
776
746
  disabled = false,
777
- onValueCommit,
778
747
  className,
779
- "aria-label": ariaLabel,
780
748
  ...props
781
749
  }, ref) => {
782
750
  const containerRef = useRef(null);
783
- const onValueCommitRef = useRef(onValueCommit);
784
- onValueCommitRef.current = onValueCommit;
785
- const latestValue = useRef(value);
786
751
  const dragging = useRef(false);
787
752
  const handleDragging = useRef(false);
788
753
  const [isHovered, setIsHovered] = useState(false);
@@ -791,7 +756,7 @@ var ComfortableSlider = forwardRef(({
791
756
  const [hoverPreview, setHoverPreview] = useState(null);
792
757
  const [showHoverTooltip, setShowHoverTooltip] = useState(false);
793
758
  const hoverDelayRef = useRef(null);
794
- const shape = useShape2();
759
+ const shape = useShape();
795
760
  useEffect(() => {
796
761
  if (isHovered) {
797
762
  hoverDelayRef.current = setTimeout(() => setShowHoverTooltip(true), 100);
@@ -896,7 +861,6 @@ var ComfortableSlider = forwardRef(({
896
861
  dragging.current = true;
897
862
  setIsPressed(true);
898
863
  const newVal = getValueFromX(e.clientX);
899
- latestValue.current = newVal;
900
864
  onChange(newVal);
901
865
  const newPercent = Math.max(0, Math.min(1, (newVal - min) / (max - min)));
902
866
  animate(fillPercent, newPercent, spring2.fast);
@@ -907,7 +871,6 @@ var ComfortableSlider = forwardRef(({
907
871
  if (!dragging.current)
908
872
  return;
909
873
  const newVal = getValueFromX(e.clientX);
910
- latestValue.current = newVal;
911
874
  onChange(newVal);
912
875
  const newPercent = Math.max(0, Math.min(1, (newVal - min) / (max - min)));
913
876
  if (variant === "scrubber") {
@@ -918,8 +881,6 @@ var ComfortableSlider = forwardRef(({
918
881
  animate(zeroOffset, newVal === min ? zeroTarget : 0, spring2.fast);
919
882
  }, [getValueFromX, onChange, variant, fillPercent, zeroOffset, zeroTarget, min, max]);
920
883
  const handlePointerUp = useCallback(() => {
921
- if (dragging.current)
922
- onValueCommitRef.current?.(latestValue.current);
923
884
  dragging.current = false;
924
885
  setIsPressed(false);
925
886
  setHoverPreview(null);
@@ -934,7 +895,6 @@ var ComfortableSlider = forwardRef(({
934
895
  handleDragging.current = true;
935
896
  setIsPressed(true);
936
897
  const newVal = getValueFromX(e.clientX);
937
- latestValue.current = newVal;
938
898
  onChange(newVal);
939
899
  fillPercent.set(Math.max(0, Math.min(1, (newVal - min) / (max - min))));
940
900
  animate(zeroOffset, newVal === min ? zeroTarget : 0, spring2.fast);
@@ -944,14 +904,11 @@ var ComfortableSlider = forwardRef(({
944
904
  if (!handleDragging.current)
945
905
  return;
946
906
  const newVal = getValueFromX(e.clientX);
947
- latestValue.current = newVal;
948
907
  onChange(newVal);
949
908
  fillPercent.set(Math.max(0, Math.min(1, (newVal - min) / (max - min))));
950
909
  animate(zeroOffset, newVal === min ? zeroTarget : 0, spring2.fast);
951
910
  }, [getValueFromX, onChange, fillPercent, zeroOffset, zeroTarget, min, max]);
952
911
  const handleResizePointerUp = useCallback(() => {
953
- if (handleDragging.current)
954
- onValueCommitRef.current?.(latestValue.current);
955
912
  handleDragging.current = false;
956
913
  setIsPressed(false);
957
914
  setHoverPreview(null);
@@ -1020,7 +977,6 @@ var ComfortableSlider = forwardRef(({
1020
977
  /* @__PURE__ */ jsx(SliderPrimitive.Root, {
1021
978
  value: [value],
1022
979
  onValueChange: (v) => handleRadixChange(v),
1023
- onValueCommitted: (v) => onValueCommitRef.current?.(v[0]),
1024
980
  min,
1025
981
  max,
1026
982
  step,
@@ -1035,10 +991,10 @@ var ComfortableSlider = forwardRef(({
1035
991
  }),
1036
992
  /* @__PURE__ */ jsx(SliderPrimitive.Thumb, {
1037
993
  index: 0,
1038
- "aria-label": ariaLabel || label,
994
+ "aria-label": label,
1039
995
  className: "block outline-none",
1040
996
  onFocus: (e) => {
1041
- if (e.target.matches(":focus-visible"))
997
+ if (e.currentTarget.matches(":focus-visible"))
1042
998
  setIsFocused(true);
1043
999
  },
1044
1000
  onBlur: () => setIsFocused(false)
@@ -1191,10 +1147,10 @@ var ComfortableSlider = forwardRef(({
1191
1147
  });
1192
1148
  ComfortableSlider.displayName = "SliderComfortable";
1193
1149
  var Slider2 = forwardRef(({ size, variant = "pips", value: valueProp, defaultValue, onChange: onChangeProp, ...rest }, ref) => {
1194
- const [value, onChange] = useControllableState2(valueProp, defaultValue ?? (rest.steps && rest.steps.length > 0 ? Math.min(...rest.steps) : rest.min ?? 0), onChangeProp);
1150
+ const [value, onChange] = useControllableState(valueProp, defaultValue ?? (rest.steps && rest.steps.length > 0 ? Math.min(...rest.steps) : rest.min ?? 0), onChangeProp);
1195
1151
  const props = { ...rest, value, onChange };
1196
1152
  const resolved = useSizeVariant2(size);
1197
- const needsCompactEngine = Array.isArray(props.value) || props.steps !== undefined || props.showSteps !== undefined || props.showValue !== undefined || props.valuePosition !== undefined || props.trackClassName !== undefined || props.trackStyle !== undefined || props.fillClassName !== undefined || props.fillStyle !== undefined || props.hideFill !== undefined || props.thumbColor !== undefined || props.thumbBorderColor !== undefined || props.orientation === "vertical";
1153
+ const needsCompactEngine = Array.isArray(props.value) || props.steps !== undefined || props.showSteps !== undefined || props.showValue !== undefined || props.valuePosition !== undefined || props.trackClassName !== undefined || props.trackStyle !== undefined || props.fillClassName !== undefined || props.fillStyle !== undefined || props.hideFill !== undefined || props.thumbColor !== undefined || props.thumbBorderColor !== undefined;
1198
1154
  if (resolved === "compact" || needsCompactEngine) {
1199
1155
  return /* @__PURE__ */ jsx(CompactSlider, {
1200
1156
  ref,
@@ -1210,7 +1166,6 @@ var Slider2 = forwardRef(({ size, variant = "pips", value: valueProp, defaultVal
1210
1166
  label,
1211
1167
  formatValue,
1212
1168
  disabled,
1213
- onValueCommit,
1214
1169
  steps: _steps,
1215
1170
  showSteps: _showSteps,
1216
1171
  showValue: _showValue,
@@ -1222,7 +1177,6 @@ var Slider2 = forwardRef(({ size, variant = "pips", value: valueProp, defaultVal
1222
1177
  hideFill: _hideFill,
1223
1178
  thumbColor: _thumbColor,
1224
1179
  thumbBorderColor: _thumbBorderColor,
1225
- orientation: _orientation,
1226
1180
  ...html
1227
1181
  } = props;
1228
1182
  return /* @__PURE__ */ jsx(ComfortableSlider, {
@@ -1236,7 +1190,6 @@ var Slider2 = forwardRef(({ size, variant = "pips", value: valueProp, defaultVal
1236
1190
  label,
1237
1191
  formatValue,
1238
1192
  disabled,
1239
- onValueCommit,
1240
1193
  ...html
1241
1194
  });
1242
1195
  });