@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,72 +1,61 @@
1
- "use client";
2
1
  import {
3
- fieldIconClasses2
4
- } from "./components-124epb7f.js";
5
- import {
6
- shapeMap2,
7
- useShape2
8
- } from "./components-71nbt03m.js";
2
+ shapeMap,
3
+ useShape
4
+ } from "./components-cv16mryv.js";
9
5
  import {
10
6
  useSize2
11
- } from "./components-h83az0bz.js";
7
+ } from "./components-0sn7ypjw.js";
12
8
  import {
13
9
  cn2
14
- } from "./components-jcnjay5g.js";
15
- import {
16
- useFieldBox2
17
- } from "./components-hdzrqqpx.js";
10
+ } from "./components-ezxhrmer.js";
18
11
  import {
19
- useReduceMotion2
20
- } from "./components-de99ykt7.js";
21
- import {
22
- spring2
23
- } from "./components-3ey0hzpb.js";
12
+ fieldIconClasses,
13
+ useFieldBox
14
+ } from "./components-raknhppb.js";
24
15
  import {
25
- opensInPlace2,
26
- inPlaceOffset2,
27
- useMorphOrigin2,
28
- useMorph2
29
- } from "./components-awra5sff.js";
16
+ opensInPlace,
17
+ inPlaceOffset,
18
+ useMorphOrigin,
19
+ useMorph
20
+ } from "./components-hqeq3w9q.js";
30
21
  import {
31
22
  FluidHoverHighlight2
32
- } from "./components-qdm3yh26.js";
23
+ } from "./components-kvr7f9hy.js";
33
24
  import {
34
- useIcon2
35
- } from "./components-jqpefjsn.js";
25
+ useIcon
26
+ } from "./components-zrkzcayz.js";
36
27
  import {
37
- MorphSurface2
38
- } from "./components-4y816hwp.js";
39
- import {
40
- popupScrollAreaClass2,
41
- popupViewportClass2,
42
- isDisabledRow2
43
- } from "./components-h6p86be3.js";
44
- import {
45
- SURFACE_BG2,
46
- SURFACE_SHADOW2
47
- } from "./components-vf45j12c.js";
28
+ MorphSurface
29
+ } from "./components-0q0sqfh4.js";
48
30
  import {
31
+ SURFACE_BG,
32
+ SURFACE_SHADOW,
49
33
  useSurface2,
50
34
  SurfaceProvider2
51
- } from "./components-dhgk6mbt.js";
52
- import {
53
- useControllableState2
54
- } from "./components-tz1fv35x.js";
35
+ } from "./components-zx6b6yby.js";
55
36
  import {
56
37
  useFluidHover2,
57
38
  useRegisterFluidHoverItem2
58
- } from "./components-yhgq0qxx.js";
39
+ } from "./components-59efxjd9.js";
59
40
  import {
60
- useSelectionRuns2,
61
- useMergeSplitBlocks2,
62
- SelectionBackgrounds2
63
- } from "./components-8tt3xbb5.js";
41
+ useSelectionRuns,
42
+ useMergeSplitBlocks,
43
+ SelectionBackgrounds
44
+ } from "./components-5xc2j8jz.js";
64
45
  import {
65
46
  ScrollArea2
66
- } from "./components-ctqmge8t.js";
47
+ } from "./components-b0eac83j.js";
67
48
  import {
68
49
  SizeProvider2
69
- } from "./components-dcc02hs2.js";
50
+ } from "./components-jjw69c4c.js";
51
+ import {
52
+ popupScrollAreaClass,
53
+ popupViewportClass,
54
+ isDisabledRow
55
+ } from "./components-vynjtrk6.js";
56
+ import {
57
+ spring2
58
+ } from "./components-1v7rxytx.js";
70
59
 
71
60
  // components/inputs/combobox/index.tsx
72
61
  import { Combobox as ComboboxPrimitive } from "@base-ui/react/combobox";
@@ -87,11 +76,6 @@ function itemValue(item) {
87
76
  return typeof item === "string" ? item : item.value;
88
77
  }
89
78
  function itemLabel(item) {
90
- if (typeof item === "string")
91
- return item;
92
- return item.textValue ?? (typeof item.label === "string" ? item.label : item.value);
93
- }
94
- function itemNode(item) {
95
79
  return typeof item === "string" ? item : item.label;
96
80
  }
97
81
  var CREATE_VALUE = "\x00create";
@@ -101,7 +85,6 @@ function isCreateItem(item) {
101
85
  function defaultCreateLabel(query) {
102
86
  return `Create “${query}”`;
103
87
  }
104
- var NO_LABELS = {};
105
88
  var ComboboxContext = createContext(null);
106
89
  var ComboboxHighlightContext = createContext(null);
107
90
  function useComboboxContext() {
@@ -134,26 +117,15 @@ function Combobox2({
134
117
  disabled = false,
135
118
  name,
136
119
  required,
137
- inputValue: inputValueProp,
138
- defaultInputValue,
139
- onInputValueChange,
140
- labels,
141
- loading = false,
142
- loadingLabel = "Loading…",
143
- readOnly = false,
144
- open: openProp,
145
- defaultOpen = false,
146
- onOpenChange,
147
120
  size
148
121
  }) {
149
122
  const isMultiple = !!multiple;
150
123
  const [internalValues, setInternalValues] = useState(() => toValues(defaultValue));
151
- const inputDetails = useRef(undefined);
152
- const [inputValue, setInputValue] = useControllableState2(inputValueProp, defaultInputValue ?? "", (next) => onInputValueChange?.(next, inputDetails.current));
153
- const [open, setOpen] = useControllableState2(openProp, defaultOpen, onOpenChange);
124
+ const [inputValue, setInputValue] = useState("");
125
+ const [open, setOpen] = useState(false);
154
126
  const [highlight, setHighlight] = useState(null);
155
127
  const [createdItems, setCreatedItems] = useState([]);
156
- const { origin, capture } = useMorphOrigin2();
128
+ const { origin, capture } = useMorphOrigin();
157
129
  const anchorRef = useRef(null);
158
130
  const controlledValues = useMemo(() => toValues(value), [value]);
159
131
  const values = value !== undefined ? controlledValues : internalValues;
@@ -210,8 +182,6 @@ function Combobox2({
210
182
  }, [value, onValueChange, isMultiple, creatable]);
211
183
  const { contains } = ComboboxPrimitive.useFilter();
212
184
  const filterFn = useMemo(() => {
213
- if (filter === null)
214
- return null;
215
185
  if (!filter && !createItem)
216
186
  return;
217
187
  const match = filter ? (item, q) => filter(item, q) : (item, q) => contains(item, q, itemLabel);
@@ -228,28 +198,8 @@ function Combobox2({
228
198
  disabled,
229
199
  itemsByValue,
230
200
  createRow,
231
- allSelected,
232
- loading,
233
- loadingLabel,
234
- readOnly,
235
- setOpen,
236
- labels: labels ?? NO_LABELS
237
- }), [
238
- values,
239
- isMultiple,
240
- inputValue,
241
- open,
242
- origin,
243
- disabled,
244
- itemsByValue,
245
- createRow,
246
- allSelected,
247
- loading,
248
- loadingLabel,
249
- readOnly,
250
- setOpen,
251
- labels
252
- ]);
201
+ allSelected
202
+ }), [values, isMultiple, inputValue, open, origin, disabled, itemsByValue, createRow, allSelected]);
253
203
  const root = /* @__PURE__ */ jsx(ComboboxContext.Provider, {
254
204
  value: ctx,
255
205
  children: /* @__PURE__ */ jsx(ComboboxHighlightContext.Provider, {
@@ -269,16 +219,10 @@ function Combobox2({
269
219
  capture({ event: details.event, trigger: anchorRef.current ?? undefined });
270
220
  setOpen(next);
271
221
  },
272
- inputValue: inputValueProp,
273
- defaultInputValue,
274
- onInputValueChange: (next, details) => {
275
- inputDetails.current = details;
276
- setInputValue(next);
277
- },
222
+ onInputValueChange: (next) => setInputValue(next),
278
223
  autoHighlight: ALWAYS_HIGHLIGHT,
279
224
  onItemHighlighted: (item, details) => setHighlight(item === undefined ? null : { index: details.index, keyboard: details.reason !== "pointer" }),
280
225
  disabled,
281
- readOnly,
282
226
  name,
283
227
  required,
284
228
  modal: false,
@@ -292,33 +236,20 @@ function Combobox2({
292
236
  }) : root;
293
237
  }
294
238
  Combobox2.displayName = "Combobox";
295
- var popupShape = shapeMap2.rounded;
239
+ var popupShape = shapeMap.rounded;
296
240
  var ALWAYS_HIGHLIGHT = "always";
297
241
  var fieldButtonClass = "flex shrink-0 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors duration-fast hover:text-foreground focus-visible:ring-1 focus-visible:ring-focus-ring data-[disabled]:pointer-events-none";
298
242
  var clearButtonClass = cn2(fieldButtonClass, "hover:bg-hover active:bg-active transition-[color,background-color]");
299
243
  var chipRemoveClass = cn2(fieldButtonClass, "rounded hover:bg-active");
300
- var SHOWN = { opacity: 1, scale: 1, filter: "blur(0px)" };
301
- var HIDDEN = { opacity: 0, scale: 0.6, filter: "blur(4px)" };
302
- var swapEnter = { type: "tween", duration: spring2.fast.duration, ease: "easeOut" };
303
- var swapLeave = { type: "tween", ...spring2.fast.exit, ease: "easeIn" };
304
- function FieldControls({
305
- clearable,
306
- hideTrigger,
307
- compact,
308
- iconSize
309
- }) {
310
- const XIcon = useIcon2("x");
311
- const Loader = useIcon2("loader-circle");
312
- const pill = useShape2().variant === "pill";
313
- const { loading, readOnly, labels } = useComboboxContext();
314
- const reduced = useReduceMotion2();
315
- const swap = (shown) => reduced ? { opacity: shown ? 1 : 0 } : shown ? SHOWN : HIDDEN;
244
+ function FieldControls({ clearable, compact, iconSize }) {
245
+ const XIcon = useIcon("x");
246
+ const pill = useShape().variant === "pill";
316
247
  return /* @__PURE__ */ jsxs(Fragment, {
317
248
  children: [
318
- clearable && !readOnly && /* @__PURE__ */ jsx("span", {
249
+ clearable && /* @__PURE__ */ jsx("span", {
319
250
  className: cn2("flex shrink-0 items-center justify-center", compact ? "size-5" : "size-6"),
320
251
  children: /* @__PURE__ */ jsx(ComboboxPrimitive.Clear, {
321
- "aria-label": labels.clear ?? "Clear",
252
+ "aria-label": "Clear",
322
253
  className: cn2(clearButtonClass, pill && "rounded-full", compact ? "size-5" : "size-6"),
323
254
  children: /* @__PURE__ */ jsx(XIcon, {
324
255
  size: iconSize,
@@ -326,68 +257,32 @@ function FieldControls({
326
257
  })
327
258
  })
328
259
  }),
329
- !hideTrigger && /* @__PURE__ */ jsx(ComboboxPrimitive.Trigger, {
330
- "aria-label": labels.open ?? "Open",
260
+ /* @__PURE__ */ jsx(ComboboxPrimitive.Trigger, {
261
+ "aria-label": "Open",
331
262
  tabIndex: -1,
332
263
  className: cn2(fieldButtonClass, compact ? "size-5" : "size-6"),
333
- children: /* @__PURE__ */ jsxs("span", {
334
- className: "grid",
335
- style: { width: iconSize, height: iconSize },
336
- children: [
337
- /* @__PURE__ */ jsx(motion.span, {
338
- className: "col-start-1 row-start-1 flex",
339
- initial: false,
340
- animate: swap(!loading),
341
- transition: loading ? swapLeave : swapEnter,
342
- children: /* @__PURE__ */ jsx("svg", {
343
- width: iconSize,
344
- height: iconSize,
345
- viewBox: "0 0 24 24",
346
- fill: "none",
347
- stroke: "currentColor",
348
- strokeWidth: 2,
349
- strokeLinecap: "round",
350
- strokeLinejoin: "round",
351
- className: cn2("transition-colors duration-fast", readOnly && "invisible"),
352
- children: /* @__PURE__ */ jsx("path", {
353
- d: "M6 9l6 6 6-6"
354
- })
355
- })
356
- }),
357
- /* @__PURE__ */ jsx(motion.span, {
358
- "aria-hidden": true,
359
- className: "col-start-1 row-start-1 flex",
360
- initial: false,
361
- animate: swap(loading),
362
- transition: loading ? swapEnter : swapLeave,
363
- children: /* @__PURE__ */ jsx(Loader, {
364
- size: iconSize,
365
- strokeWidth: 1.5,
366
- className: "animate-spin motion-reduce:animate-none"
367
- })
368
- })
369
- ]
264
+ children: /* @__PURE__ */ jsx("svg", {
265
+ width: iconSize,
266
+ height: iconSize,
267
+ viewBox: "0 0 24 24",
268
+ fill: "none",
269
+ stroke: "currentColor",
270
+ strokeWidth: 2,
271
+ strokeLinecap: "round",
272
+ strokeLinejoin: "round",
273
+ className: "transition-colors duration-fast",
274
+ children: /* @__PURE__ */ jsx("path", {
275
+ d: "M6 9l6 6 6-6"
276
+ })
370
277
  })
371
278
  })
372
279
  ]
373
280
  });
374
281
  }
375
- var ComboboxInput2 = forwardRef(({
376
- className,
377
- variant = "bordered",
378
- icon: Icon,
379
- placeholder,
380
- error,
381
- invalid,
382
- hideTrigger = false,
383
- clearable = false,
384
- size,
385
- ...props
386
- }, ref) => {
387
- const { anchorRef, readOnly, labels } = useComboboxContext();
388
- const box = useFieldBox2({ variant, invalid: error ? true : invalid, readOnly, size });
389
- const { size: sizeClasses, props: boxProps } = box;
282
+ var ComboboxInput2 = forwardRef(({ className, variant = "bordered", icon: Icon, placeholder = "Search…", error, clearable = false, size, ...props }, ref) => {
283
+ const { size: sizeClasses, props: boxProps } = useFieldBox({ variant, invalid: !!error, size });
390
284
  const compact = sizeClasses.variant === "compact";
285
+ const { anchorRef } = useComboboxContext();
391
286
  return /* @__PURE__ */ jsxs("div", {
392
287
  className: "flex flex-col gap-1",
393
288
  children: [
@@ -399,18 +294,17 @@ var ComboboxInput2 = forwardRef(({
399
294
  Icon && /* @__PURE__ */ jsx(Icon, {
400
295
  size: sizeClasses.icon,
401
296
  strokeWidth: 1.5,
402
- className: fieldIconClasses2
297
+ className: fieldIconClasses
403
298
  }),
404
299
  /* @__PURE__ */ jsx(ComboboxPrimitive.Input, {
405
300
  ref,
406
- placeholder: placeholder ?? labels.placeholder ?? "Search…",
407
- "aria-invalid": box.invalid || undefined,
301
+ placeholder,
302
+ "aria-invalid": !!error || undefined,
408
303
  className: cn2("min-w-0 flex-1 rounded-none bg-transparent text-foreground placeholder:text-muted-foreground outline-none font-[inherit]", sizeClasses.text, compact ? "leading-5" : "leading-6"),
409
304
  ...props
410
305
  }),
411
306
  /* @__PURE__ */ jsx(FieldControls, {
412
307
  clearable,
413
- hideTrigger,
414
308
  compact,
415
309
  iconSize: sizeClasses.icon
416
310
  })
@@ -450,23 +344,11 @@ function useChipRowHeight(padY) {
450
344
  }, [height]);
451
345
  return { ref, height };
452
346
  }
453
- var ComboboxChips2 = forwardRef(({
454
- className,
455
- variant = "bordered",
456
- icon: Icon,
457
- placeholder,
458
- error,
459
- invalid,
460
- hideTrigger = false,
461
- clearable = false,
462
- size,
463
- ...props
464
- }, ref) => {
465
- const XIcon = useIcon2("x");
466
- const shape = useShape2();
467
- const { anchorRef, open, disabled, inputValue, values, readOnly, labels } = useComboboxContext();
468
- const box = useFieldBox2({ variant, invalid: error ? true : invalid, disabled, readOnly, size });
469
- const { size: sizeClasses, props: boxProps } = box;
347
+ var ComboboxChips2 = forwardRef(({ className, variant = "bordered", icon: Icon, placeholder = "Search…", error, clearable = false, size, ...props }, ref) => {
348
+ const XIcon = useIcon("x");
349
+ const shape = useShape();
350
+ const { anchorRef, open, disabled, inputValue, values } = useComboboxContext();
351
+ const { size: sizeClasses, props: boxProps } = useFieldBox({ variant, invalid: !!error, disabled, size });
470
352
  const compact = sizeClasses.variant === "compact";
471
353
  const rowHeight = useChipRowHeight(compact ? 8 : 12);
472
354
  return /* @__PURE__ */ jsxs("div", {
@@ -486,7 +368,7 @@ var ComboboxChips2 = forwardRef(({
486
368
  children: /* @__PURE__ */ jsx(Icon, {
487
369
  size: sizeClasses.icon,
488
370
  strokeWidth: 1.5,
489
- className: fieldIconClasses2
371
+ className: fieldIconClasses
490
372
  })
491
373
  }),
492
374
  /* @__PURE__ */ jsx("div", {
@@ -518,11 +400,11 @@ var ComboboxChips2 = forwardRef(({
518
400
  className: cn2("inline-flex max-w-full shrink-0 items-center gap-0.5 bg-hover pl-2 pr-0.5 text-foreground outline-none", shape.variant === "pill" ? "rounded-full" : "rounded-md", "focus-visible:ring-1 focus-visible:ring-focus-ring", compact ? "h-5 text-caption-compact" : "h-6 text-caption"),
519
401
  children: [
520
402
  /* @__PURE__ */ jsx("span", {
521
- className: cn2(typeof itemNode(item) === "string" ? "truncate" : "flex min-w-0 items-center", readOnly && "pr-1.5"),
522
- children: itemNode(item)
403
+ className: "truncate",
404
+ children: label
523
405
  }),
524
- !readOnly && /* @__PURE__ */ jsx(ComboboxPrimitive.ChipRemove, {
525
- "aria-label": labels.remove ? labels.remove(label) : `Remove ${label}`,
406
+ /* @__PURE__ */ jsx(ComboboxPrimitive.ChipRemove, {
407
+ "aria-label": `Remove ${label}`,
526
408
  className: cn2(chipRemoveClass, shape.variant === "pill" && "rounded-full", compact ? "size-4" : "size-5"),
527
409
  children: /* @__PURE__ */ jsx(XIcon, {
528
410
  size: compact ? 10 : 12,
@@ -539,8 +421,8 @@ var ComboboxChips2 = forwardRef(({
539
421
  children: /* @__PURE__ */ jsx(ComboboxPrimitive.Input, {
540
422
  ref,
541
423
  size: Math.max(1, inputValue.length + 1),
542
- placeholder: selected?.length ? undefined : placeholder ?? labels.placeholder ?? "Search…",
543
- "aria-invalid": box.invalid || undefined,
424
+ placeholder: selected?.length ? undefined : placeholder,
425
+ "aria-invalid": !!error || undefined,
544
426
  className: cn2("w-full min-w-0 rounded-none bg-transparent text-foreground placeholder:text-muted-foreground outline-none font-[inherit]", compact ? "h-5 leading-5" : "h-6 leading-6", sizeClasses.text),
545
427
  ...props
546
428
  })
@@ -551,7 +433,6 @@ var ComboboxChips2 = forwardRef(({
551
433
  }),
552
434
  /* @__PURE__ */ jsx(FieldControls, {
553
435
  clearable,
554
- hideTrigger,
555
436
  compact,
556
437
  iconSize: sizeClasses.icon
557
438
  })
@@ -574,11 +455,10 @@ var ComboboxContent2 = forwardRef(({
574
455
  from,
575
456
  effect,
576
457
  hideSource,
577
- tier = "moderate",
578
- footer
458
+ tier = "moderate"
579
459
  }, ref) => {
580
- const { open, origin, anchorRef, setOpen, inputValue } = useComboboxContext();
581
- const morph = useMorph2(open, origin, { from, effect, hideSource, tier });
460
+ const { open, origin, anchorRef } = useComboboxContext();
461
+ const morph = useMorph(open, origin, { from, effect, hideSource, tier });
582
462
  useImperativeHandle(ref, () => morph.popup, [morph.popup]);
583
463
  const level = Math.min(useSurface2() + 2, 8);
584
464
  const shape = popupShape;
@@ -587,26 +467,20 @@ var ComboboxContent2 = forwardRef(({
587
467
  anchor: anchorRef,
588
468
  side,
589
469
  align,
590
- sideOffset: opensInPlace2({ effect, hideSource }) ? inPlaceOffset2 : sideOffset,
470
+ sideOffset: opensInPlace({ effect, hideSource }) ? inPlaceOffset : sideOffset,
591
471
  className: "z-50 outline-none",
592
472
  children: /* @__PURE__ */ jsx(ComboboxPrimitive.Popup, {
593
473
  ref: morph.popupRef,
594
474
  className: "relative select-none outline-none",
595
475
  children: /* @__PURE__ */ jsx(SurfaceProvider2, {
596
476
  value: level,
597
- children: /* @__PURE__ */ jsxs(MorphSurface2, {
477
+ children: /* @__PURE__ */ jsx(MorphSurface, {
598
478
  morph,
599
- bg: SURFACE_BG2[level],
600
- shadow: SURFACE_SHADOW2[3],
479
+ bg: SURFACE_BG[level],
480
+ shadow: SURFACE_SHADOW[3],
601
481
  radius: shape.container,
602
482
  className: cn2(`flex flex-col min-w-[var(--anchor-width)] max-h-[min(300px,var(--available-height))] overflow-hidden ${shape.container}`, className),
603
- children: [
604
- children,
605
- footer !== undefined && /* @__PURE__ */ jsx("div", {
606
- className: "shrink-0 border-t border-border p-1",
607
- children: typeof footer === "function" ? footer({ close: () => setOpen(false), query: inputValue.trim() }) : footer
608
- })
609
- ]
483
+ children
610
484
  })
611
485
  })
612
486
  })
@@ -615,14 +489,12 @@ var ComboboxContent2 = forwardRef(({
615
489
  });
616
490
  ComboboxContent2.displayName = "ComboboxContent";
617
491
  var ComboboxList2 = forwardRef(({ className, children }, ref) => {
618
- const { open, values, multiple, inputValue, createRow, loading, loadingLabel } = useComboboxContext();
619
- const Loader = useIcon2("loader-circle");
620
- const sizeClasses = useSize2();
492
+ const { open, values, multiple, inputValue, createRow } = useComboboxContext();
621
493
  const highlight = useContext(ComboboxHighlightContext);
622
- const PlusIcon = useIcon2("plus");
494
+ const PlusIcon = useIcon("plus");
623
495
  const shape = popupShape;
624
496
  const containerRef = useRef(null);
625
- const hover = useFluidHover2(containerRef, { isItemDisabled: isDisabledRow2 });
497
+ const hover = useFluidHover2(containerRef, { isItemDisabled: isDisabledRow });
626
498
  const { activeIndex, setActiveIndex, itemRects, isMeasured, handlers, registerItem, remeasure } = hover;
627
499
  const [checkedIndices, setCheckedIndices] = useState([]);
628
500
  useEffect(() => {
@@ -680,81 +552,64 @@ var ComboboxList2 = forwardRef(({ className, children }, ref) => {
680
552
  }, [open, setActiveIndex]);
681
553
  const firstChecked = checkedIndices[0];
682
554
  const checkedRect = isMeasured && !multiple && firstChecked !== undefined ? itemRects[firstChecked] ?? null : null;
683
- const runs = useSelectionRuns2(multiple ? checkedIndices : []);
684
- const blocks = useMergeSplitBlocks2(runs, isMeasured && open ? itemRects : [], shape.bgRadius);
555
+ const runs = useSelectionRuns(multiple ? checkedIndices : []);
556
+ const blocks = useMergeSplitBlocks(runs, isMeasured && open ? itemRects : [], shape.bgRadius);
685
557
  const contentCtx = useMemo(() => ({ registerItem, activeIndex }), [registerItem, activeIndex]);
686
558
  return /* @__PURE__ */ jsx(ComboboxContentContext.Provider, {
687
559
  value: contentCtx,
688
- children: /* @__PURE__ */ jsxs(ScrollArea2, {
689
- className: popupScrollAreaClass2,
690
- viewportClassName: cn2(popupViewportClass2, "scroll-fade"),
691
- children: [
692
- /* @__PURE__ */ jsxs(ComboboxPrimitive.List, {
693
- ref: (node) => {
694
- containerRef.current = node;
695
- if (typeof ref === "function")
696
- ref(node);
697
- else if (ref)
698
- ref.current = node;
699
- },
700
- onMouseEnter: handlers.onMouseEnter,
701
- onMouseMove: handlers.onMouseMove,
702
- onMouseLeave: handlers.onMouseLeave,
703
- onClick: handlers.onClick,
704
- className: cn2("relative flex flex-col p-1 outline-none data-[empty]:p-0", className),
705
- children: [
706
- open && multiple && /* @__PURE__ */ jsx(SelectionBackgrounds2, {
707
- blocks: reflowSnap ? blocks.map((b) => ({ ...b, instant: true })) : blocks
708
- }),
709
- open && !multiple && /* @__PURE__ */ jsx(AnimatePresence, {
710
- children: checkedRect && /* @__PURE__ */ jsx(motion.div, {
711
- "aria-hidden": true,
712
- className: `absolute ${shape.bg} bg-active pointer-events-none`,
713
- initial: false,
714
- animate: {
715
- top: checkedRect.top,
716
- left: checkedRect.left,
717
- width: checkedRect.width,
718
- height: checkedRect.height,
719
- opacity: 1
720
- },
721
- exit: { opacity: 0, transition: spring2.moderate.exit },
722
- transition: reflowSnap ? { duration: 0 } : { ...spring2.moderate, opacity: { duration: spring2.fast.duration } }
723
- }, "checked")
724
- }),
725
- open && /* @__PURE__ */ jsx(FluidHoverHighlight2, {
726
- hover,
727
- className: shape.bg,
728
- transition: reflowSnap ? false : undefined
729
- }),
730
- /* @__PURE__ */ jsx(ComboboxPrimitive.Collection, {
731
- children: (item, index) => /* @__PURE__ */ jsx(ComboboxItemIndexContext.Provider, {
732
- value: index,
733
- children: isCreateItem(item) ? /* @__PURE__ */ jsx(ComboboxItem2, {
734
- value: CREATE_VALUE,
735
- icon: PlusIcon,
736
- children: createRow
737
- }) : children(item, index)
738
- }, itemValue(item))
739
- })
740
- ]
741
- }),
742
- loading && /* @__PURE__ */ jsxs("div", {
743
- role: "status",
744
- className: cn2("flex shrink-0 items-center justify-center text-muted-foreground", sizeClasses.control, sizeClasses.itemPx, sizeClasses.gap, sizeClasses.text),
745
- children: [
746
- /* @__PURE__ */ jsx(Loader, {
747
- size: sizeClasses.icon,
748
- strokeWidth: 1.5,
749
- className: "shrink-0 animate-spin motion-reduce:animate-none"
750
- }),
751
- /* @__PURE__ */ jsx("span", {
752
- className: "truncate [text-box:trim-both_cap_alphabetic]",
753
- children: loadingLabel
754
- })
755
- ]
756
- })
757
- ]
560
+ children: /* @__PURE__ */ jsx(ScrollArea2, {
561
+ className: popupScrollAreaClass,
562
+ viewportClassName: cn2(popupViewportClass, "scroll-fade"),
563
+ children: /* @__PURE__ */ jsxs(ComboboxPrimitive.List, {
564
+ ref: (node) => {
565
+ containerRef.current = node;
566
+ if (typeof ref === "function")
567
+ ref(node);
568
+ else if (ref)
569
+ ref.current = node;
570
+ },
571
+ onMouseEnter: handlers.onMouseEnter,
572
+ onMouseMove: handlers.onMouseMove,
573
+ onMouseLeave: handlers.onMouseLeave,
574
+ onClick: handlers.onClick,
575
+ className: cn2("relative flex flex-col p-1 outline-none data-[empty]:p-0", className),
576
+ children: [
577
+ open && multiple && /* @__PURE__ */ jsx(SelectionBackgrounds, {
578
+ blocks: reflowSnap ? blocks.map((b) => ({ ...b, instant: true })) : blocks
579
+ }),
580
+ open && !multiple && /* @__PURE__ */ jsx(AnimatePresence, {
581
+ children: checkedRect && /* @__PURE__ */ jsx(motion.div, {
582
+ "aria-hidden": true,
583
+ className: `absolute ${shape.bg} bg-active pointer-events-none`,
584
+ initial: false,
585
+ animate: {
586
+ top: checkedRect.top,
587
+ left: checkedRect.left,
588
+ width: checkedRect.width,
589
+ height: checkedRect.height,
590
+ opacity: 1
591
+ },
592
+ exit: { opacity: 0, transition: spring2.moderate.exit },
593
+ transition: reflowSnap ? { duration: 0 } : { ...spring2.moderate, opacity: { duration: spring2.fast.duration } }
594
+ }, "checked")
595
+ }),
596
+ open && /* @__PURE__ */ jsx(FluidHoverHighlight2, {
597
+ hover,
598
+ className: shape.bg,
599
+ transition: reflowSnap ? false : undefined
600
+ }),
601
+ /* @__PURE__ */ jsx(ComboboxPrimitive.Collection, {
602
+ children: (item, index) => /* @__PURE__ */ jsx(ComboboxItemIndexContext.Provider, {
603
+ value: index,
604
+ children: isCreateItem(item) ? /* @__PURE__ */ jsx(ComboboxItem2, {
605
+ value: CREATE_VALUE,
606
+ icon: PlusIcon,
607
+ children: createRow
608
+ }) : children(item, index)
609
+ }, itemValue(item))
610
+ })
611
+ ]
612
+ })
758
613
  })
759
614
  });
760
615
  });
@@ -801,7 +656,7 @@ var ComboboxItem2 = forwardRef(({ className, children, icon: Icon, value, disabl
801
656
  className: "shrink-0 transition-[color,stroke-width] duration-fast"
802
657
  }),
803
658
  /* @__PURE__ */ jsx("span", {
804
- className: cn2("flex-1 min-w-0", typeof children === "string" || typeof children === "number" ? "truncate [text-box:trim-both_cap_alphabetic] py-1 -my-1" : "flex items-center"),
659
+ className: "flex-1 min-w-0 truncate [text-box:trim-both_cap_alphabetic] py-1 -my-1",
805
660
  children
806
661
  }),
807
662
  /* @__PURE__ */ jsx("span", {
@@ -847,7 +702,7 @@ var ComboboxEmpty2 = forwardRef(({ className, children, allSelected, ...props },
847
702
  ref,
848
703
  className: cn2("px-3 text-center text-muted-foreground [&:not(:empty)]:py-6", sizeClasses.text, className),
849
704
  ...props,
850
- children: ctx.loading ? null : ctx.allSelected && allSelected !== undefined ? allSelected : children
705
+ children: ctx.allSelected && allSelected !== undefined ? allSelected : children
851
706
  });
852
707
  });
853
708
  ComboboxEmpty2.displayName = "ComboboxEmpty";