侧边栏 · shadcn radix-luma Sidebar 草稿

三版都是官方 Sidebar 组件自带的 variant,行、分组标题、二级列表、页脚全部按官方度量在 14px 根字号下换算 (行高 31.5 / 二级 28 / 圆角 10.5 / 图标 16)。 B 把左右栏做成和输入框同一种"无边框白色浮起卡片"(--bg-input + shadow-raised,7px 留白,14px 圆角); A 保持现在的"深一层米色 + 发丝线",只换行的度量; C 反过来让中间聊天区浮起、侧边栏沉底。切换主题和描边看效果。

--bg-input 浮起面(输入框 / 气泡 / pills / B 的侧边栏) --bg-primary 页面底 --bg-secondary 深一层(A、C 的侧边栏)
元素官方 Luma 度量(14px 根字号换算)现状替换对象
主导航行SidebarMenuButton h-9 = 31.5px,px-3 = 10.5,gap-2 = 7,rounded-xl = 10.5,图标 16;active = bg-sidebar-accent + font-medium30px,6px 8px,gap 12,10px,图标 20,active 只换底色nav-classes.ts 的 5 组常量 + 全局 .ui-list-item
分组标题SidebarGroupLabel h-8 = 28,text-xs 12px,font-medium,前景 70%14px / 400 / secondary 80%,pt 15 pb 6section-header.tsx
项目下的会话SidebarMenuSub + SubButton:左侧 1px 引导线,h-7 = 24.5(草稿按 28 画以容纳状态点),13px.projectKids 自画引导线,30px,13pxsidebar.module.css + sessions-list.tsx
页脚用户SidebarFooter + SidebarMenuButton size="lg" h-14 = 4964px 自定义 trigger,上边线user-menu-footer.*
壳子variant="floating":p-2 = 7 留白,rounded-2xl = 14,shadow-sm;官方还带 ring-1,按输入框的既定做法去掉bg-secondary + 1px 发丝线sidebar.tsx / right-sidebar.tsx 根节点 + base.css 的 .sidebar 规则
收起态collapsible="icon":3rem = 42px 窄轨,行变 size-8 方块,label 隐藏,tooltip 自动在收起时出现49px 窄轨,.sidebar.collapsed 级联保留现有宽度 token,只把级联换成 data-state
拖宽官方 SidebarRail 只负责点击开合,不拖宽use-resizable-rail.ts 16px 隐形把手保留,挂在官方壳子上