@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,16 +1,15 @@
1
- "use client";
2
- import {
3
- spring2
4
- } from "./components-3ey0hzpb.js";
5
1
  import {
6
2
  cn2
7
- } from "./components-jcnjay5g.js";
3
+ } from "./components-ezxhrmer.js";
8
4
  import {
9
5
  button_default
10
- } from "./components-9sttq78t.js";
6
+ } from "./components-b2wyq2cq.js";
11
7
  import {
12
- useControllableState2
13
- } from "./components-tz1fv35x.js";
8
+ useControllableState
9
+ } from "./components-n7mjr357.js";
10
+ import {
11
+ spring2
12
+ } from "./components-1v7rxytx.js";
14
13
 
15
14
  // primitives/motion/index.tsx
16
15
  import { MotionConfig, motion } from "motion/react";
@@ -25,7 +24,7 @@ function Motion2({
25
24
  className,
26
25
  children
27
26
  }) {
28
- const [shown, setShown] = useControllableState2(show, defaultShow, onShowChange);
27
+ const [shown, setShown] = useControllableState(show, defaultShow, onShowChange);
29
28
  const enter = spring2[tier];
30
29
  const leave = sameExit ? enter : enter.exit;
31
30
  return /* @__PURE__ */ jsx(MotionConfig, {
@@ -0,0 +1,64 @@
1
+ import {
2
+ useShape
3
+ } from "./components-cv16mryv.js";
4
+ import {
5
+ useSize2
6
+ } from "./components-0sn7ypjw.js";
7
+ import {
8
+ cn2
9
+ } from "./components-ezxhrmer.js";
10
+
11
+ // lib/field-classes.ts
12
+ import { cva } from "class-variance-authority";
13
+ import { createContext, useContext } from "react";
14
+ var fieldVariants = cva([
15
+ "group/field ring-1 cursor-text transition-[background-color,box-shadow,opacity] duration-fast",
16
+ "hover:bg-muted/50 hover:ring-border data-[active]:bg-muted/50 data-[active]:ring-border",
17
+ "focus-within:!bg-card focus-within:ring-border",
18
+ "data-[invalid]:!ring-destructive/50 data-[invalid]:hover:bg-destructive-light/60 data-[invalid]:data-[active]:bg-destructive-light/60",
19
+ "data-[disabled]:ring-border data-[disabled]:opacity-50 data-[disabled]:pointer-events-none"
20
+ ], {
21
+ variants: {
22
+ variant: {
23
+ borderless: "bg-transparent ring-transparent",
24
+ bordered: "bg-transparent ring-border"
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ variant: "borderless"
29
+ }
30
+ });
31
+ var fieldIconClasses = "shrink-0 text-muted-foreground transition-[color,stroke-width] duration-fast group-hover/field:text-foreground group-hover/field:stroke-[2] group-data-[active]/field:text-foreground group-data-[active]/field:stroke-[2] group-focus-within/field:text-foreground group-focus-within/field:stroke-[2]";
32
+ var FieldStateContext = createContext(null);
33
+ var FIELD_PX = {
34
+ default: "px-2.5",
35
+ compact: "px-2"
36
+ };
37
+ function useFieldBox({ variant, invalid, disabled, active, size }) {
38
+ const field = useContext(FieldStateContext);
39
+ const shape = useShape();
40
+ const sizeClasses = useSize2(size);
41
+ const isInvalid = invalid ?? field?.invalid ?? false;
42
+ const isDisabled = disabled ?? field?.disabled ?? false;
43
+ return {
44
+ size: sizeClasses,
45
+ invalid: isInvalid,
46
+ disabled: isDisabled,
47
+ props: {
48
+ "data-active": (active ?? field?.active) || undefined,
49
+ "data-invalid": isInvalid || undefined,
50
+ "data-disabled": isDisabled || undefined,
51
+ className: cn2(fieldVariants({ variant }), shape.input, FIELD_PX[sizeClasses.variant])
52
+ }
53
+ };
54
+ }
55
+ function focusControlOnPress(control) {
56
+ return (e) => {
57
+ if (e.target === control.current)
58
+ return;
59
+ e.preventDefault();
60
+ control.current?.focus();
61
+ };
62
+ }
63
+
64
+ export { fieldVariants, fieldIconClasses, FieldStateContext, useFieldBox, focusControlOnPress };
@@ -1,24 +1,21 @@
1
- "use client";
2
1
  import {
3
- useMorph2
4
- } from "./components-awra5sff.js";
2
+ MorphSurface
3
+ } from "./components-0q0sqfh4.js";
5
4
  import {
6
- cn2
7
- } from "./components-jcnjay5g.js";
8
- import {
9
- MorphSurface2
10
- } from "./components-4y816hwp.js";
5
+ useMorph
6
+ } from "./components-hqeq3w9q.js";
11
7
  import {
12
- useShape2
13
- } from "./components-71nbt03m.js";
8
+ cn2
9
+ } from "./components-ezxhrmer.js";
14
10
  import {
15
- SURFACE_BG2,
16
- SURFACE_SHADOW2
17
- } from "./components-vf45j12c.js";
11
+ useShape
12
+ } from "./components-cv16mryv.js";
18
13
  import {
14
+ SURFACE_BG,
15
+ SURFACE_SHADOW,
19
16
  useSurface2,
20
17
  SurfaceProvider2
21
- } from "./components-dhgk6mbt.js";
18
+ } from "./components-zx6b6yby.js";
22
19
  import {
23
20
  useDialogState2,
24
21
  DialogTrigger2,
@@ -28,7 +25,7 @@ import {
28
25
  DialogTitle2,
29
26
  DialogDescription2,
30
27
  DialogState2
31
- } from "./components-t50hrswb.js";
28
+ } from "./components-zfnmn5d4.js";
32
29
 
33
30
  // components/overlays/sheet/index.tsx
34
31
  import { Drawer as DrawerPrimitive } from "@base-ui/react/drawer";
@@ -38,11 +35,10 @@ import {
38
35
  forwardRef,
39
36
  useContext,
40
37
  useImperativeHandle,
41
- useLayoutEffect,
42
38
  useState
43
39
  } from "react";
44
40
  import { jsx, jsxs } from "react/jsx-runtime";
45
- var SheetContext = createContext({ side: "bottom", swiped: false, setContentSide: () => {} });
41
+ var SheetContext = createContext({ side: "bottom", swiped: false });
46
42
  var SWIPE = {
47
43
  top: "up",
48
44
  right: "right",
@@ -57,39 +53,18 @@ var PLACEMENT = {
57
53
  };
58
54
  var DRAWER_OFFSET = 4;
59
55
  var INDENT_RADIUS = { pill: "data-[active]:rounded-3xl", rounded: "data-[active]:rounded-xl" };
60
- var SheetContent2 = forwardRef(({
61
- from,
62
- effect,
63
- hideSource,
64
- tier,
65
- container,
66
- side: sideProp,
67
- initialFocus,
68
- finalFocus,
69
- popupClassName,
70
- className,
71
- children,
72
- ...props
73
- }, ref) => {
74
- const { side: rootSide, swiped, setContentSide } = useContext(SheetContext);
75
- const side = sideProp ?? rootSide;
76
- useLayoutEffect(() => {
77
- if (!sideProp)
78
- return;
79
- setContentSide(sideProp);
80
- return () => setContentSide(undefined);
81
- }, [sideProp, setContentSide]);
56
+ var SheetContent2 = forwardRef(({ from, effect, hideSource, tier, container, className, children, ...props }, ref) => {
57
+ const { side, swiped } = useContext(SheetContext);
82
58
  const { open, origin } = useDialogState2();
83
- const morph = useMorph2(open, origin, {
59
+ const morph = useMorph(open, origin, {
84
60
  from: from ?? side,
85
61
  effect,
86
62
  hideSource,
87
63
  tier,
88
- exit: swiped ? { effect: "slide", from: side } : undefined,
89
- returnFocus: typeof finalFocus === "boolean" ? finalFocus : finalFocus === undefined
64
+ exit: swiped ? { effect: "slide", from: side } : undefined
90
65
  });
91
66
  useImperativeHandle(ref, () => morph.popup, [morph.popup]);
92
- const shape = useShape2();
67
+ const shape = useShape();
93
68
  const level = Math.min(useSurface2() + DRAWER_OFFSET, 8);
94
69
  const edge = side === "top" || side === "bottom";
95
70
  return /* @__PURE__ */ jsxs(DrawerPrimitive.Portal, {
@@ -106,15 +81,13 @@ var SheetContent2 = forwardRef(({
106
81
  children: /* @__PURE__ */ jsx(DrawerPrimitive.Popup, {
107
82
  ref: morph.popupRef,
108
83
  ...props,
109
- initialFocus,
110
- finalFocus,
111
- className: cn2("absolute flex flex-col focus:outline-none", PLACEMENT[side], "[transform:translate(var(--drawer-swipe-movement-x),calc(var(--drawer-snap-point-offset)_+_var(--drawer-swipe-movement-y)))]", "transition-[transform] duration-slow", popupClassName),
84
+ className: cn2("absolute flex flex-col focus:outline-none", PLACEMENT[side], "[transform:translate(var(--drawer-swipe-movement-x),calc(var(--drawer-snap-point-offset)_+_var(--drawer-swipe-movement-y)))]", "transition-[transform] duration-slow"),
112
85
  children: /* @__PURE__ */ jsx(SurfaceProvider2, {
113
86
  value: level,
114
- children: /* @__PURE__ */ jsxs(MorphSurface2, {
87
+ children: /* @__PURE__ */ jsxs(MorphSurface, {
115
88
  morph,
116
- bg: SURFACE_BG2[level],
117
- shadow: SURFACE_SHADOW2[level],
89
+ bg: SURFACE_BG[level],
90
+ shadow: SURFACE_SHADOW[level],
118
91
  radius: shape.container,
119
92
  className: cn2("flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-6", edge && "pt-3", className),
120
93
  children: [
@@ -133,7 +106,7 @@ var SheetContent2 = forwardRef(({
133
106
  });
134
107
  SheetContent2.displayName = "SheetContent";
135
108
  var SheetIndent2 = forwardRef(({ className, ...props }, ref) => {
136
- const shape = useShape2();
109
+ const shape = useShape();
137
110
  return /* @__PURE__ */ jsx(DrawerPrimitive.Indent, {
138
111
  ref,
139
112
  className: cn2("origin-top transition-[transform] duration-slow data-[active]:scale-[0.96] data-[active]:overflow-hidden", INDENT_RADIUS[shape.variant], className),
@@ -149,14 +122,11 @@ function Sheet2({
149
122
  side = "bottom",
150
123
  snapPoints,
151
124
  defaultSnapPoint,
152
- modal = true,
153
- disablePointerDismissal
125
+ modal = true
154
126
  }) {
155
127
  const [swiped, setSwiped] = useState(false);
156
- const [contentSide, setContentSide] = useState();
157
- const edge = contentSide ?? side;
158
128
  return /* @__PURE__ */ jsx(SheetContext.Provider, {
159
- value: { side: edge, swiped, setContentSide },
129
+ value: { side, swiped },
160
130
  children: /* @__PURE__ */ jsx(DialogState2, {
161
131
  open,
162
132
  defaultOpen,
@@ -164,15 +134,13 @@ function Sheet2({
164
134
  children: (root) => /* @__PURE__ */ jsx(DrawerPrimitive.Root, {
165
135
  open: root.open,
166
136
  onOpenChange: (next, details) => {
137
+ setSwiped(!next && details.reason === "swipe");
167
138
  root.onOpenChange(next, details);
168
- if (!details.isCanceled)
169
- setSwiped(!next && details.reason === "swipe");
170
139
  },
171
- swipeDirection: SWIPE[edge],
140
+ swipeDirection: SWIPE[side],
172
141
  snapPoints,
173
142
  defaultSnapPoint,
174
143
  modal,
175
- disablePointerDismissal,
176
144
  children
177
145
  })
178
146
  })
@@ -1,34 +1,30 @@
1
- "use client";
2
1
  import {
3
- useIcon2
4
- } from "./components-jqpefjsn.js";
2
+ useIcon
3
+ } from "./components-zrkzcayz.js";
5
4
  import {
6
- useReduceMotion2
7
- } from "./components-de99ykt7.js";
5
+ useReduceMotion
6
+ } from "./components-men63rwj.js";
8
7
  import {
9
- spring2
10
- } from "./components-3ey0hzpb.js";
8
+ GooFilter
9
+ } from "./components-0q0sqfh4.js";
11
10
  import {
12
- GOO_BLUR_RATIO2
13
- } from "./components-awra5sff.js";
11
+ GOO_BLUR_RATIO
12
+ } from "./components-hqeq3w9q.js";
14
13
  import {
15
14
  cn2
16
- } from "./components-jcnjay5g.js";
17
- import {
18
- GooFilter2
19
- } from "./components-4y816hwp.js";
15
+ } from "./components-ezxhrmer.js";
20
16
  import {
21
- useShape2
22
- } from "./components-71nbt03m.js";
17
+ useShape
18
+ } from "./components-cv16mryv.js";
23
19
  import {
24
20
  useSize2
25
- } from "./components-h83az0bz.js";
26
- import {
27
- useSurface2
28
- } from "./components-dhgk6mbt.js";
21
+ } from "./components-0sn7ypjw.js";
29
22
  import {
30
23
  Tooltip2
31
- } from "./components-cwg1d0w6.js";
24
+ } from "./components-ng72k97e.js";
25
+ import {
26
+ spring2
27
+ } from "./components-1v7rxytx.js";
32
28
 
33
29
  // components/copy/index.tsx
34
30
  import { AnimatePresence, animate, motion, useMotionValue } from "motion/react";
@@ -49,7 +45,7 @@ var sheet = (at) => ({ x: at * UNIT, y: at * UNIT, w: 14 * UNIT, h: 14 * UNIT, r
49
45
  var BACK = sheet(2);
50
46
  var FRONT = sheet(8);
51
47
  var DISC_RECT = { x: (GLYPH - DISC) / 2, y: (GLYPH - DISC) / 2, w: DISC, h: DISC, r: DISC / 2 };
52
- var BLUR = DISC / 2 * GOO_BLUR_RATIO2;
48
+ var BLUR = DISC / 2 * GOO_BLUR_RATIO;
53
49
  var LAYER = { at: DISC_RECT.x - BLUR * 3, size: DISC + BLUR * 6 };
54
50
  var TONE_BG = { copied: "bg-status-success", error: "bg-status-error" };
55
51
  var TONE_TEXT = { copied: "text-status-success", error: "text-status-error" };
@@ -75,7 +71,7 @@ function CopyDisc({ status }) {
75
71
  const back = useRef(null);
76
72
  const front = useRef(null);
77
73
  const progress = useMotionValue(0);
78
- const reduced = useReduceMotion2();
74
+ const reduced = useReduceMotion();
79
75
  const gooId = `copy-goo-${useId().replace(/:/g, "")}`;
80
76
  const tone = useRef("copied");
81
77
  const on = status !== "idle";
@@ -103,7 +99,7 @@ function CopyDisc({ status }) {
103
99
  className: "pointer-events-none absolute",
104
100
  style: { left: LAYER.at, top: LAYER.at, width: LAYER.size, height: LAYER.size },
105
101
  children: [
106
- /* @__PURE__ */ jsx(GooFilter2, {
102
+ /* @__PURE__ */ jsx(GooFilter, {
107
103
  id: gooId,
108
104
  blur: BLUR
109
105
  }),
@@ -180,62 +176,26 @@ function CopyGlyph({
180
176
  ]
181
177
  });
182
178
  }
183
- var DARK_CHIP_BG = {
184
- 1: "dark:bg-surface-1",
185
- 2: "dark:bg-surface-2",
186
- 3: "dark:bg-surface-3",
187
- 4: "dark:bg-surface-4",
188
- 5: "dark:bg-surface-5",
189
- 6: "dark:bg-surface-6",
190
- 7: "dark:bg-surface-7",
191
- 8: "dark:bg-surface-8"
192
- };
193
- var LABELS = {
194
- copy: "Copy to clipboard",
195
- copied: "Copied",
196
- failed: "Copy failed",
197
- word: "Copy",
198
- failedWord: "Failed"
199
- };
200
- var Copy2 = forwardRef(({
201
- value,
202
- children,
203
- label,
204
- onCopy,
205
- disabled,
206
- variant = "icon",
207
- align = "right",
208
- size,
209
- className,
210
- labels,
211
- "aria-label": ariaLabel,
212
- ...props
213
- }, ref) => {
214
- const CopyIcon = useIcon2("copy");
179
+ var Copy2 = forwardRef(({ value, label, onCopy, disabled, variant = "icon", align = "right", size, className, ...props }, ref) => {
180
+ const CopyIcon = useIcon("copy");
215
181
  const [status, setStatus] = useState("idle");
216
182
  const [copyCount, setCopyCount] = useState(0);
217
183
  const [tooltipState, setTooltipState] = useState("idle");
218
184
  const timeoutRef = useRef(null);
219
185
  const tooltipVisibleRef = useRef(false);
220
186
  const tooltipWasVisibleRef = useRef(false);
221
- const textRef = useRef(null);
222
- const shape = useShape2();
187
+ const shape = useShape();
223
188
  const sizeClasses = useSize2(size);
224
- const chipLevel = Math.min(useSurface2() + 3, 8);
225
- const words = { ...LABELS, ...labels };
226
- const chip = variant === "chip";
227
- const glyph = variant === "glyph";
228
- const compact = sizeClasses.variant === "compact";
229
- const rowPy = compact ? "py-1" : "py-2";
189
+ const rowPy = sizeClasses.variant === "compact" ? "py-1" : "py-2";
230
190
  const generatedId = useId();
231
191
  const labelId = label ? `${generatedId}-label` : undefined;
232
192
  const buttonId = `${generatedId}-button`;
233
193
  const handlePointerDown = useCallback(() => {
234
194
  tooltipWasVisibleRef.current = tooltipVisibleRef.current;
235
195
  }, []);
236
- const copyViaExecCommand = useCallback((text) => {
196
+ const copyViaExecCommand = useCallback(() => {
237
197
  const textarea = document.createElement("textarea");
238
- textarea.value = text;
198
+ textarea.value = value;
239
199
  textarea.setAttribute("readonly", "");
240
200
  textarea.style.position = "fixed";
241
201
  textarea.style.opacity = "0";
@@ -249,16 +209,15 @@ var Copy2 = forwardRef(({
249
209
  }
250
210
  document.body.removeChild(textarea);
251
211
  return ok;
252
- }, []);
212
+ }, [value]);
253
213
  const handleCopy = useCallback(async () => {
254
214
  if (disabled)
255
215
  return;
256
- const text = value ?? textRef.current?.textContent ?? "";
257
216
  let ok = true;
258
217
  try {
259
- await navigator.clipboard.writeText(text);
218
+ await navigator.clipboard.writeText(value);
260
219
  } catch {
261
- ok = copyViaExecCommand(text);
220
+ ok = copyViaExecCommand();
262
221
  }
263
222
  setStatus(ok ? "copied" : "error");
264
223
  setCopyCount((c) => c + 1);
@@ -287,94 +246,6 @@ var Copy2 = forwardRef(({
287
246
  const handleMouseLeave = useCallback(() => {
288
247
  setTooltipState((prev) => prev === "copied" ? "suppressed" : prev);
289
248
  }, []);
290
- const announcement = /* @__PURE__ */ jsx("span", {
291
- role: "status",
292
- className: "sr-only",
293
- children: status !== "idle" && /* @__PURE__ */ jsx("span", {
294
- children: status === "error" ? words.failed : words.copied
295
- }, copyCount)
296
- });
297
- if (chip) {
298
- return /* @__PURE__ */ jsxs("span", {
299
- ref,
300
- className: cn2("relative inline-flex rounded-box bg-muted", DARK_CHIP_BG[chipLevel], disabled && "opacity-50 pointer-events-none", className),
301
- ...props,
302
- children: [
303
- /* @__PURE__ */ jsxs("button", {
304
- id: buttonId,
305
- type: "button",
306
- onPointerDown: handlePointerDown,
307
- onClick: handleCopy,
308
- disabled,
309
- "aria-label": ariaLabel,
310
- className: cn2("group relative inline-flex cursor-pointer select-none items-center gap-1 rounded-box px-1 py-0.5 text-foreground outline-none", "focus-visible:ring-1 focus-visible:ring-focus-ring"),
311
- children: [
312
- /* @__PURE__ */ jsx("span", {
313
- "aria-hidden": true,
314
- className: "pointer-events-none absolute inset-0 rounded-box bg-hover opacity-0 transition-opacity duration-fast group-hover:opacity-100"
315
- }),
316
- /* @__PURE__ */ jsx("span", {
317
- ref: textRef,
318
- className: cn2("relative font-mono", compact ? "text-caption-compact" : "text-caption"),
319
- children: children ?? value
320
- }),
321
- !ariaLabel && /* @__PURE__ */ jsxs("span", {
322
- className: "sr-only",
323
- children: [
324
- ", ",
325
- words.copy
326
- ]
327
- }),
328
- /* @__PURE__ */ jsx("span", {
329
- className: "relative text-muted-foreground transition-colors duration-fast group-hover:text-foreground",
330
- children: /* @__PURE__ */ jsx(CopyGlyph, {
331
- status,
332
- copyCount,
333
- variant: "icon",
334
- CopyIcon
335
- })
336
- })
337
- ]
338
- }),
339
- announcement
340
- ]
341
- });
342
- }
343
- if (glyph) {
344
- const name = ariaLabel ?? words.copy;
345
- return /* @__PURE__ */ jsxs("span", {
346
- ref,
347
- className: cn2("inline-flex", disabled && "opacity-50 pointer-events-none", className),
348
- onMouseEnter: handleMouseEnter,
349
- onMouseLeave: handleMouseLeave,
350
- ...props,
351
- children: [
352
- /* @__PURE__ */ jsx(Tooltip2, {
353
- content: tooltipState === "idle" ? name : status === "error" ? words.failed : words.copied,
354
- delayDuration: 500,
355
- sideOffset: 2,
356
- forceOpen: tooltipState === "copied" ? true : tooltipState === "suppressed" ? false : undefined,
357
- onOpenChange: handleTooltipOpenChange,
358
- children: /* @__PURE__ */ jsx("button", {
359
- id: buttonId,
360
- type: "button",
361
- onPointerDown: handlePointerDown,
362
- onClick: handleCopy,
363
- disabled,
364
- "aria-label": name,
365
- className: cn2("group inline-flex shrink-0 cursor-pointer items-center justify-center text-muted-foreground outline-none transition-colors duration-fast", "hover:bg-hover hover:text-foreground active:bg-active focus-visible:ring-1 focus-visible:ring-focus-ring", shape.button, compact ? "size-7" : "size-9"),
366
- children: /* @__PURE__ */ jsx(CopyGlyph, {
367
- status,
368
- copyCount,
369
- variant: "icon",
370
- CopyIcon
371
- })
372
- })
373
- }),
374
- announcement
375
- ]
376
- });
377
- }
378
249
  const actionElement = variant === "button" ? /* @__PURE__ */ jsxs("span", {
379
250
  className: cn2("shrink-0 flex items-center gap-1.5 px-1.5 transition-colors duration-fast", rowPy, sizeClasses.text, "text-muted-foreground group-hover:text-foreground", "weight-normal"),
380
251
  children: [
@@ -387,11 +258,11 @@ var Copy2 = forwardRef(({
387
258
  /* @__PURE__ */ jsxs("span", {
388
259
  className: "select-none inline-grid text-left",
389
260
  children: [
390
- [words.word, words.copied, words.failedWord].map((word) => /* @__PURE__ */ jsx("span", {
261
+ /* @__PURE__ */ jsx("span", {
391
262
  className: "col-start-1 row-start-1 invisible",
392
263
  "aria-hidden": "true",
393
- children: word
394
- }, word)),
264
+ children: "Copied"
265
+ }),
395
266
  /* @__PURE__ */ jsx(AnimatePresence, {
396
267
  mode: "wait",
397
268
  initial: false,
@@ -401,7 +272,7 @@ var Copy2 = forwardRef(({
401
272
  animate: { opacity: 1, scale: 1 },
402
273
  exit: { opacity: 0, scale: 0.8, transition: spring2.fast.exit },
403
274
  transition: spring2.fast,
404
- children: status === "copied" ? words.copied : status === "error" ? words.failedWord : words.word
275
+ children: status === "copied" ? "Copied" : status === "error" ? "Failed" : "Copy"
405
276
  }, status)
406
277
  })
407
278
  ]
@@ -440,7 +311,7 @@ var Copy2 = forwardRef(({
440
311
  onPointerDown: handlePointerDown,
441
312
  onClick: handleCopy,
442
313
  disabled,
443
- "aria-label": status === "copied" ? words.copied : status === "error" ? words.failed : label ? words.word : words.copy,
314
+ "aria-label": status === "copied" ? "Copied" : status === "error" ? "Copy failed" : label ? "Copy" : "Copy to clipboard",
444
315
  "aria-labelledby": label ? `${buttonId} ${labelId}` : undefined,
445
316
  className: cn2("group flex items-center w-full cursor-pointer outline-none transition-all duration-fast", "focus-visible:ring-1 focus-visible:ring-focus-ring", shape.input),
446
317
  children: buttonContent
@@ -450,7 +321,6 @@ var Copy2 = forwardRef(({
450
321
  className: cn2("flex flex-col gap-0.5", disabled && "opacity-50 pointer-events-none", className),
451
322
  onMouseEnter: handleMouseEnter,
452
323
  onMouseLeave: handleMouseLeave,
453
- "aria-label": ariaLabel,
454
324
  ...props,
455
325
  children: [
456
326
  label && /* @__PURE__ */ jsx("span", {
@@ -459,7 +329,7 @@ var Copy2 = forwardRef(({
459
329
  children: label
460
330
  }),
461
331
  variant === "icon" ? /* @__PURE__ */ jsx(Tooltip2, {
462
- content: tooltipState === "idle" ? words.copy : status === "error" ? words.failed : words.copied,
332
+ content: tooltipState === "idle" ? "Copy to clipboard" : status === "error" ? "Copy failed" : "Copied",
463
333
  delayDuration: 500,
464
334
  sideOffset: 2,
465
335
  forceOpen: tooltipState === "copied" ? true : tooltipState === "suppressed" ? false : undefined,