@justanarthur/modo-ui 0.6.0-canary.9 → 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-c7rwx0ap.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-c74gf16d.js → components-1z6tdadk.js} +24 -40
  91. package/dist/shared/{components-bae8sbjx.js → components-27nnvrwe.js} +14 -15
  92. package/dist/shared/{components-qh1cvj6p.js → components-2dxkv6zm.js} +7 -8
  93. package/dist/shared/{components-y0kfy2g4.js → components-2ecg8svx.js} +152 -234
  94. package/dist/shared/{components-c5w5zk0s.js → components-2ph6t61s.js} +34 -37
  95. package/dist/shared/{components-4j3t39dd.js → components-39jq9va1.js} +24 -29
  96. package/dist/shared/components-3ky44908.js +9 -0
  97. package/dist/shared/{components-syynwm1r.js → components-3mkepka5.js} +25 -28
  98. package/dist/shared/{components-wgtjt2af.js → components-4700p9kz.js} +22 -24
  99. package/dist/shared/{components-yhgq0qxx.js → components-59efxjd9.js} +12 -13
  100. package/dist/shared/{components-91zw3d9f.js → components-5vgpnxgy.js} +27 -51
  101. package/dist/shared/{components-kz5q11pp.js → components-5xc2j8jz.js} +18 -19
  102. package/dist/shared/{components-zkk3fmw8.js → components-6p8tfcd6.js} +29 -57
  103. package/dist/shared/{components-4nck8acq.js → components-7r3etddy.js} +54 -19
  104. package/dist/shared/{components-svkt577j.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-pv1dyrtn.js → components-b3c5et5b.js} +38 -49
  108. package/dist/shared/{components-rrbpmfx4.js → components-c6s6b43g.js} +2 -3
  109. package/dist/shared/{components-pwayrkw9.js → components-chacnk61.js} +19 -19
  110. package/dist/shared/{components-71nbt03m.js → components-cv16mryv.js} +7 -26
  111. package/dist/shared/{components-hgv6tygd.js → components-d6xtjht3.js} +30 -35
  112. package/dist/shared/{components-z8fedth5.js → components-dk0gjr5a.js} +18 -19
  113. package/dist/shared/{components-cet3jpa0.js → components-fzrq6tr3.js} +34 -37
  114. package/dist/shared/{components-cnead5qm.js → components-gc5vtq2f.js} +30 -66
  115. package/dist/shared/components-gf5s6ap9.js +42 -0
  116. package/dist/shared/{components-0h78g3b5.js → components-gz8zf3ec.js} +55 -56
  117. package/dist/shared/{components-mattt5jp.js → components-h2ajmhwn.js} +35 -107
  118. package/dist/shared/{components-m06yq8wk.js → components-hqeq3w9q.js} +23 -38
  119. package/dist/shared/{components-7qx17na9.js → components-hw9yk32z.js} +24 -36
  120. package/dist/shared/components-hyq23phv.js +310 -0
  121. package/dist/shared/{components-9jmjnkqd.js → components-jbbmdr74.js} +22 -41
  122. package/dist/shared/{components-dcc02hs2.js → components-jjw69c4c.js} +4 -7
  123. package/dist/shared/{components-303jf96s.js → components-jthe1pwb.js} +420 -139
  124. package/dist/shared/{components-dtca4s6b.js → components-jwst3vtj.js} +76 -224
  125. package/dist/shared/{components-dc5q749x.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-qx27excf.js → components-mjthm1kf.js} +9 -13
  129. package/dist/shared/{components-1e64t8aj.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-w2jqa6hx.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-2a7hcand.js → components-rr7a6ja9.js} +27 -59
  136. package/dist/shared/{components-005jt2nz.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-p0fm0bab.js → components-w1r67ag9.js} +149 -294
  144. package/dist/shared/{components-xd3emmy4.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-yxmxn2jp.js → components-y9y0g8er.js} +28 -52
  148. package/dist/shared/components-ypp01w3p.js +986 -0
  149. package/dist/shared/{components-czdvj1a8.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-01w9qcfa.js +0 -277
  385. package/dist/shared/components-124epb7f.js +0 -53
  386. package/dist/shared/components-26snnbs9.js +0 -322
  387. package/dist/shared/components-2krsc300.js +0 -254
  388. package/dist/shared/components-2qbqqpgq.js +0 -1545
  389. package/dist/shared/components-34txk9rj.js +0 -35
  390. package/dist/shared/components-3h92d94m.js +0 -23
  391. package/dist/shared/components-4vfm04wq.js +0 -82
  392. package/dist/shared/components-54nq988h.js +0 -123
  393. package/dist/shared/components-7s7pykk5.js +0 -281
  394. package/dist/shared/components-868v7scv.js +0 -399
  395. package/dist/shared/components-8jrk5eye.js +0 -448
  396. package/dist/shared/components-adkarj8n.js +0 -35
  397. package/dist/shared/components-b1e239g3.js +0 -28
  398. package/dist/shared/components-b94t6qtj.js +0 -143
  399. package/dist/shared/components-bsqynhaj.js +0 -179
  400. package/dist/shared/components-c9yr4ed1.js +0 -44
  401. package/dist/shared/components-d3shbwqq.js +0 -95
  402. package/dist/shared/components-dhgk6mbt.js +0 -16
  403. package/dist/shared/components-drxrtnp2.js +0 -25
  404. package/dist/shared/components-f7h57m6t.js +0 -59
  405. package/dist/shared/components-g3eafs70.js +0 -337
  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-mhza2wdn.js +0 -482
  414. package/dist/shared/components-mrbaxt8q.js +0 -62
  415. package/dist/shared/components-pt5ftm4p.js +0 -38
  416. package/dist/shared/components-rtadhd9j.js +0 -64
  417. package/dist/shared/components-tv7b8tet.js +0 -271
  418. package/dist/shared/components-tz4gaf1v.js +0 -23
  419. package/dist/shared/components-wbbckbw8.js +0 -34
  420. package/dist/shared/components-wknae3m4.js +0 -298
  421. package/dist/shared/components-xdqmt6ed.js +0 -20
  422. package/dist/shared/components-xjkdvnbg.js +0 -107
  423. package/dist/shared/components-z3v0n0de.js +0 -11
  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 -575
  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,453 +0,0 @@
1
- // biome-ignore-all lint: vendored upstream code keeps its own patterns (see the header)
2
- /*
3
- * Ported from Fluid Functionalism — github.com/mickadesign/fluid-functionalism
4
- * `registry/base/sidebar.tsx` @ b3587bdbd83fc66c2a6aae3817ffb856cb09260b
5
- * MIT License © 2026 Micka Touillaud — fluidfunctionalism.com (notice: LICENSE.fluid-functionalism)
6
- * Local modifications:
7
- * - `"use client"` dropped; `framer-motion` → `motion/react`; `@/lib/*`
8
- * imports rewritten to `../../../lib/*`, `@/components/ui/scroll-area` →
9
- * `../../../primitives/scroll-area`, `@/components/ui/sidebar-{core,menu}` →
10
- * the siblings `./sidebar-core` / `./sidebar-menu`.
11
- * - The mobile sheet is the DS's `Sheet` (Base UI Drawer through the morph
12
- * layer): it grows out of its edge with the goo neck on `spring.goo`
13
- * and swipes away, replacing upstream's Dialog with a framer slide, its
14
- * held-open exit and its `bg-black` scrim.
15
- * - `SidebarProps` re-declared one member per line with the FF docs text;
16
- * `value` / `defaultValue` / `onValueChange` added: the sidebar holds the
17
- * selection its menu buttons' `value`s read (`SidebarSelection`), so rows
18
- * select without state of their own.
19
- * - The parts hang off `Sidebar` as statics (`Sidebar.Provider`,
20
- * `Sidebar.Menu`, …), typed through a `SidebarComponent` cast; upstream's
21
- * named re-exports are kept.
22
- * - Upstream's `.scroll-divider` (app/globals.css) ships beside it as
23
- * `sidebar.css`.
24
- */
25
-
26
- import {
27
- type CSSProperties,
28
- type ForwardRefExoticComponent,
29
- forwardRef,
30
- type HTMLAttributes,
31
- type ReactNode,
32
- type RefAttributes,
33
- useEffect,
34
- useMemo,
35
- } from 'react'
36
- import { useControllableState } from '../../../lib/use-controllable-state'
37
- import { cn } from '../../../lib/utils'
38
- import { ScrollArea } from '../../../primitives/scroll-area'
39
- import { Sheet } from '../../overlays/sheet'
40
- import {
41
- SidebarFooter,
42
- SidebarGroup,
43
- SidebarGroupAction,
44
- SidebarGroupActions,
45
- SidebarGroupContent,
46
- SidebarGroupLabel,
47
- SidebarHeader,
48
- SidebarInput,
49
- SidebarInset,
50
- SidebarProvider,
51
- SidebarRail,
52
- SidebarSeparator,
53
- SidebarShell,
54
- type SidebarSide,
55
- SidebarTrigger,
56
- useSidebar,
57
- } from './sidebar-core'
58
- import {
59
- SidebarMenu,
60
- SidebarMenuAction,
61
- SidebarMenuActions,
62
- SidebarMenuBadge,
63
- SidebarMenuButton,
64
- SidebarMenuItem,
65
- SidebarMenuSkeleton,
66
- SidebarMenuSub,
67
- SidebarMenuSubButton,
68
- SidebarMenuSubItem,
69
- SidebarSelection,
70
- } from './sidebar-menu'
71
-
72
- function SidebarSheet({ side, children }: { side: SidebarSide; children: ReactNode }) {
73
- const { openMobile, setOpenMobile, widthMobile } = useSidebar()
74
- return (
75
- <Sheet side={side} open={openMobile} onOpenChange={setOpenMobile}>
76
- <Sheet.Content
77
- aria-label="Sidebar"
78
- data-sidebar="sidebar"
79
- data-mobile="true"
80
- data-side={side}
81
- tier="moderate"
82
- className="gap-0 overflow-hidden p-0"
83
- style={{ width: widthMobile }}
84
- >
85
- {children}
86
- </Sheet.Content>
87
- </Sheet>
88
- )
89
- }
90
-
91
- // ─── Sidebar ─────────────────────────────────────────────────────────────────
92
-
93
- interface SidebarProps
94
- extends Omit<
95
- HTMLAttributes<HTMLDivElement>,
96
- | 'defaultValue'
97
- | 'onDrag'
98
- | 'onDragStart'
99
- | 'onDragEnd'
100
- | 'onAnimationStart'
101
- | 'onAnimationEnd'
102
- | 'onAnimationIteration'
103
- > {
104
- /** The edge it sits on; the shortcut key and the rail mirror it. Defaults to `'left'`. */
105
- side?: 'left' | 'right'
106
- /** `'sidebar'` sits flush with an inner border, `'floating'` lifts it onto its own card one surface level up, `'inset'` makes the main region the card. Defaults to `'sidebar'`. */
107
- variant?: 'sidebar' | 'floating' | 'inset'
108
- /** `'offcanvas'` collapses it away (rail, trigger, shortcut, open on hover, mobile drawer); `'none'` pins it open, with no rail or drawer — for a sidebar inside a dialog. Defaults to `'offcanvas'`. */
109
- collapsible?: 'offcanvas' | 'none'
110
- /** The `sidebar` variant's inner-edge border. Defaults to `true`. */
111
- bordered?: boolean
112
- /** Render the built-in resize/collapse rail on the inner edge. Defaults to `true`. */
113
- rail?: boolean
114
- /** Pin the rail's tooltip open (`true`) or closed (`false`); left out, it shows on hover. Dragging always hides it. */
115
- railTooltipOpen?: boolean
116
- /** Controlled selection: the menu button or sub-button whose `value` matches is the active row. */
117
- value?: string
118
- /** Initial selection, for an uncontrolled sidebar. */
119
- defaultValue?: string
120
- /** Called with the `value` of the row that was pressed. */
121
- onValueChange?: (value: string) => void
122
- /** Extra classes for the sidebar column (`h-full` pins it to a bounded frame). */
123
- className?: string
124
- /** The sidebar's parts: `Sidebar.Header`, `Sidebar.Content`, `Sidebar.Footer`. */
125
- children?: ReactNode
126
- }
127
-
128
- type SidebarComponent = ForwardRefExoticComponent<SidebarProps & RefAttributes<HTMLDivElement>> & {
129
- Provider: typeof SidebarProvider
130
- Trigger: typeof SidebarTrigger
131
- Rail: typeof SidebarRail
132
- Inset: typeof SidebarInset
133
- Input: typeof SidebarInput
134
- Header: typeof SidebarHeader
135
- Content: typeof SidebarContent
136
- Footer: typeof SidebarFooter
137
- Separator: typeof SidebarSeparator
138
- Group: typeof SidebarGroup
139
- GroupLabel: typeof SidebarGroupLabel
140
- GroupAction: typeof SidebarGroupAction
141
- GroupActions: typeof SidebarGroupActions
142
- GroupContent: typeof SidebarGroupContent
143
- Menu: typeof SidebarMenu
144
- MenuItem: typeof SidebarMenuItem
145
- MenuButton: typeof SidebarMenuButton
146
- MenuAction: typeof SidebarMenuAction
147
- MenuActions: typeof SidebarMenuActions
148
- MenuBadge: typeof SidebarMenuBadge
149
- MenuSkeleton: typeof SidebarMenuSkeleton
150
- MenuSub: typeof SidebarMenuSub
151
- MenuSubItem: typeof SidebarMenuSubItem
152
- MenuSubButton: typeof SidebarMenuSubButton
153
- }
154
-
155
- /**
156
- * A sidebar built from composable parts. Drag its edge to resize, collapse it
157
- * away, and on mobile it becomes a drawer.
158
- *
159
- * Everything that moves here moves in the morph style (see Morph). The
160
- * active row and the hover highlight are liquid: a new selection melts
161
- * across from the old one, and the highlight drips from row to row, into a
162
- * row's sub-menu too. On mobile it is a `Sheet` growing out of its edge
163
- * that you swipe away. The menus in the header, the footer and on each row
164
- * are Dropdowns, and the tooltips are Tooltips, so they grow out of their
165
- * triggers too.
166
- *
167
- * Wrap the page in `Sidebar.Provider`, then put the `Sidebar` and a
168
- * `Sidebar.Inset` (the main region) inside it. The provider holds the open
169
- * state (`open` / `defaultOpen` / `onOpenChange`, kept in the `sidebar_state`
170
- * cookie unless `persist={false}`), the `width` and `widthMobile`, the
171
- * `mobileBreakpoint` under which it becomes a drawer, `openOnHover` (below)
172
- * and the bare `shortcut` key (`[` for a left sidebar,
173
- * `]` for a right one; `null` turns it off). It fills the viewport; pass
174
- * `className="h-full min-h-0"` to fill a bounded frame instead.
175
- *
176
- * Drag the rail on the inner edge to resize the sidebar (160–360px); throw
177
- * it at the edge to collapse, or click it. There is no icon-only rail on
178
- * purpose: a collapsed sidebar opens whole on hover instead.
179
- *
180
- * With `openOnHover`, collapsing leaves the sidebar on hover: it opens, in
181
- * flow, while the pointer is between its edge and the far side of a
182
- * `Sidebar.Trigger` beside it (or a thin strip at the edge), and closes a
183
- * beat after the pointer leaves. `open` is then whether it is kept open: the
184
- * trigger switches between the two and draws a dashed glyph while on hover,
185
- * and the rail collapses or resizes the hover without keeping it open.
186
- *
187
- * ## Rows
188
- *
189
- * - Two levels: `Sidebar.MenuButton` rows, each folding a
190
- * `Sidebar.MenuSub` of `Sidebar.MenuSubButton` rows. A
191
- * `Sidebar.MenuItem collapsible` toggles its sub-menu from its own button
192
- * and draws the chevron.
193
- * - Give a button a `value` and the sidebar's `value` / `defaultValue` picks
194
- * the active row; pressing a row selects it. `isActive` still forces a row
195
- * active.
196
- * - `icon` puts a glyph in the leading slot; `status` (`'active'`,
197
- * `'unread'`, `'idle'`) a thread's dot instead.
198
- * - `Sidebar.MenuBadge` keeps the rightmost slot; up to three
199
- * `Sidebar.MenuAction`s (in a `Sidebar.MenuActions` cluster) sit beside
200
- * it, `showOnHover` so the label keeps the room at rest.
201
- * - The rows share one fluid hover, one keyboard roving focus (arrows,
202
- * Home, End) and one focus ring across both levels.
203
- *
204
- * ## Sections
205
- *
206
- * `Sidebar.Group` with a `Sidebar.GroupLabel` is a section; `collapsible`
207
- * makes the label fold everything under it. `Sidebar.GroupActions` holds
208
- * its `Sidebar.GroupAction` buttons over the label's right edge.
209
- *
210
- * Statics:
211
- * - `Sidebar.Provider`, `Sidebar.Inset`, `Sidebar.Trigger` (the ghost icon
212
- * button with the shortcut in its tooltip), `Sidebar.Rail`.
213
- * - `Sidebar.Header`, `Sidebar.Content` (the scrolling region),
214
- * `Sidebar.Footer`, `Sidebar.Separator`, `Sidebar.Input`.
215
- * - `Sidebar.Group`, `Sidebar.GroupLabel`, `Sidebar.GroupAction`,
216
- * `Sidebar.GroupActions`, `Sidebar.GroupContent`.
217
- * - `Sidebar.Menu`, `Sidebar.MenuItem`, `Sidebar.MenuButton`,
218
- * `Sidebar.MenuAction`, `Sidebar.MenuActions`, `Sidebar.MenuBadge`,
219
- * `Sidebar.MenuSkeleton`, `Sidebar.MenuSub`, `Sidebar.MenuSubItem`,
220
- * `Sidebar.MenuSubButton`.
221
- * - `useSidebar()` (named export) reads the provider's state.
222
- *
223
- * @example {@include ./examples.mdx}
224
- */
225
- const Sidebar = forwardRef<HTMLDivElement, SidebarProps>(
226
- (
227
- {
228
- side = 'left',
229
- variant = 'sidebar',
230
- collapsible = 'offcanvas',
231
- bordered = true,
232
- rail = true,
233
- railTooltipOpen,
234
- value: valueProp,
235
- defaultValue,
236
- onValueChange,
237
- className,
238
- style,
239
- children: parts,
240
- ...props
241
- },
242
- ref,
243
- ) => {
244
- const { isMobile, width, registerSide } = useSidebar()
245
- const [value, setValue] = useControllableState<string | undefined>(
246
- valueProp,
247
- defaultValue,
248
- onValueChange as ((value: string | undefined) => void) | undefined,
249
- )
250
- const selection = useMemo(() => ({ value, select: setValue }), [value, setValue])
251
- const children = <SidebarSelection.Provider value={selection}>{parts}</SidebarSelection.Provider>
252
-
253
- // The provider mirrors the side into the default shortcut ("[" / "]")
254
- // and the rail handle.
255
- useEffect(() => registerSide(side), [side, registerSide])
256
-
257
- if (collapsible === 'none') {
258
- return (
259
- <div
260
- ref={ref}
261
- data-slot="sidebar"
262
- data-variant={variant}
263
- data-side={side}
264
- className={cn('peer sticky top-0 flex h-svh shrink-0 flex-col', side === 'right' && 'order-last', className)}
265
- style={{ width, ...style } as CSSProperties}
266
- {...props}
267
- >
268
- <div
269
- data-sidebar="sidebar"
270
- className={cn(
271
- 'flex h-full w-full min-h-0 flex-col',
272
- bordered &&
273
- variant === 'sidebar' &&
274
- (side === 'left' ? 'border-r border-border' : 'border-l border-border'),
275
- )}
276
- >
277
- {children}
278
- </div>
279
- </div>
280
- )
281
- }
282
-
283
- // The desktop shell stays MOUNTED across the drawer breakpoint — its
284
- // breakpoint classes fade it out (opacity + display, allow-discrete)
285
- // instead of this component unmounting it, which snapped the rail away
286
- // the instant the window shrank. The sheet mounts alongside it below the
287
- // breakpoint; the hidden shell costs nothing visible (display: none).
288
- return (
289
- <>
290
- {isMobile && <SidebarSheet side={side}>{children}</SidebarSheet>}
291
- <SidebarShell
292
- ref={ref}
293
- side={side}
294
- variant={variant}
295
- bordered={bordered}
296
- rail={rail}
297
- railTooltipOpen={railTooltipOpen}
298
- className={className}
299
- style={style}
300
- {...props}
301
- >
302
- {children}
303
- </SidebarShell>
304
- </>
305
- )
306
- },
307
- ) as SidebarComponent
308
- Sidebar.displayName = 'Sidebar'
309
-
310
- // ─── SidebarContent ──────────────────────────────────────────────────────────
311
-
312
- export interface SidebarContentProps extends HTMLAttributes<HTMLDivElement> {
313
- viewportClassName?: string
314
- }
315
-
316
- const SidebarContent = forwardRef<HTMLDivElement, SidebarContentProps>(
317
- ({ className, viewportClassName, children, ...props }, ref) => {
318
- const { isMobile } = useSidebar()
319
-
320
- // Inside the mobile sheet, the sheet's flex column owns layout and this
321
- // region scrolls natively — a nested ScrollArea would double-scroll. The
322
- // boundary hairline still needs a frame to ride: scroll-divider can't sit
323
- // on the scroller itself (its own fade mask would erase the line), so the
324
- // region is wrapped the way ScrollArea wraps its viewport on desktop.
325
- if (isMobile) {
326
- return (
327
- <div className="scroll-divider [--scroll-divider-inset:8px] flex min-h-0 w-full flex-1 flex-col">
328
- <div
329
- ref={ref}
330
- data-sidebar="content"
331
- className={cn('scroll-fade flex min-h-0 w-full flex-1 flex-col overflow-y-auto', className)}
332
- {...props}
333
- >
334
- {children}
335
- </div>
336
- </div>
337
- )
338
- }
339
-
340
- // The scroll primitive wraps children in an inline-styled sizer that
341
- // sizes to content — rows would stop shrinking near the min width
342
- // instead of truncating, so the viewport's direct child is forced back
343
- // to a plain shrinkable block.
344
- return (
345
- <ScrollArea
346
- className={cn('scroll-divider min-h-0 w-full flex-1', className)}
347
- viewportClassName={cn('scroll-fade [&>div]:!block [&>div]:!min-w-0', viewportClassName)}
348
- >
349
- <div ref={ref} data-sidebar="content" className="flex w-full min-w-0 flex-col" {...props}>
350
- {children}
351
- </div>
352
- </ScrollArea>
353
- )
354
- },
355
- )
356
- SidebarContent.displayName = 'SidebarContent'
357
-
358
- Object.assign(Sidebar, {
359
- Provider: SidebarProvider,
360
- Trigger: SidebarTrigger,
361
- Rail: SidebarRail,
362
- Inset: SidebarInset,
363
- Input: SidebarInput,
364
- Header: SidebarHeader,
365
- Content: SidebarContent,
366
- Footer: SidebarFooter,
367
- Separator: SidebarSeparator,
368
- Group: SidebarGroup,
369
- GroupLabel: SidebarGroupLabel,
370
- GroupAction: SidebarGroupAction,
371
- GroupActions: SidebarGroupActions,
372
- GroupContent: SidebarGroupContent,
373
- Menu: SidebarMenu,
374
- MenuItem: SidebarMenuItem,
375
- MenuButton: SidebarMenuButton,
376
- MenuAction: SidebarMenuAction,
377
- MenuActions: SidebarMenuActions,
378
- MenuBadge: SidebarMenuBadge,
379
- MenuSkeleton: SidebarMenuSkeleton,
380
- MenuSub: SidebarMenuSub,
381
- MenuSubItem: SidebarMenuSubItem,
382
- MenuSubButton: SidebarMenuSubButton,
383
- })
384
-
385
- export type {
386
- SidebarCollapsible,
387
- SidebarContextValue,
388
- SidebarGroupActionProps,
389
- SidebarGroupLabelProps,
390
- SidebarInputProps,
391
- SidebarInsetProps,
392
- SidebarProviderProps,
393
- SidebarRailProps,
394
- SidebarSectionProps,
395
- SidebarSide,
396
- SidebarTriggerProps,
397
- SidebarVariant,
398
- } from './sidebar-core'
399
- // Re-export the flavor-neutral parts so `sidebar` is a one-stop import.
400
- export {
401
- SIDEBAR_COOKIE_MAX_AGE,
402
- SIDEBAR_COOKIE_NAME,
403
- SIDEBAR_KEYBOARD_SHORTCUT,
404
- SIDEBAR_KEYBOARD_SHORTCUT_RIGHT,
405
- SIDEBAR_MAX_WIDTH,
406
- SIDEBAR_MIN_WIDTH,
407
- SIDEBAR_WIDTH,
408
- SIDEBAR_WIDTH_MOBILE,
409
- SidebarFooter,
410
- SidebarGroup,
411
- SidebarGroupAction,
412
- SidebarGroupActions,
413
- SidebarGroupContent,
414
- SidebarGroupLabel,
415
- SidebarHeader,
416
- SidebarInput,
417
- SidebarInset,
418
- SidebarProvider,
419
- SidebarRail,
420
- SidebarSeparator,
421
- SidebarTrigger,
422
- useSidebar,
423
- } from './sidebar-core'
424
- export type {
425
- SidebarMenuActionProps,
426
- SidebarMenuBadgeProps,
427
- SidebarMenuButtonProps,
428
- SidebarMenuItemProps,
429
- SidebarMenuProps,
430
- SidebarMenuSkeletonProps,
431
- SidebarMenuSubButtonProps,
432
- SidebarMenuSubItemProps,
433
- SidebarMenuSubProps,
434
- SidebarSelectionValue,
435
- } from './sidebar-menu'
436
- export {
437
- SidebarMenu,
438
- SidebarMenuAction,
439
- SidebarMenuActions,
440
- SidebarMenuBadge,
441
- SidebarMenuButton,
442
- SidebarMenuItem,
443
- SidebarMenuSkeleton,
444
- SidebarMenuSub,
445
- SidebarMenuSubButton,
446
- SidebarMenuSubItem,
447
- SidebarSelection,
448
- sidebarMenuButtonVariants,
449
- } from './sidebar-menu'
450
- export type { SidebarProps }
451
- export { Sidebar, SidebarContent }
452
-
453
- export default Sidebar