hs-data 前端的视觉与交互定稿。本文是设计决策的唯一权威来源;
apps/web/src/index.css是实现来源(CSS 变量),改样式先看本文、再动 CSS,二者保持一致。 风格已锁定,非经讨论不随意更改(CLAUDE.md第 1、3 条)。
| 项 | 内容 |
|---|---|
| 文档版本 | v1.0 |
| 文档状态 | 已定稿 |
| 更新日期 | 2026-06-24 |
| 版本 | 日期 | 修订内容 |
|---|---|---|
| v1.0 | 2026-06-24 | 初版:锁定 shadcn + Tailwind v4 + 神策风 mint 主题、布局、漏斗图、控件、抗抖 |
docs/02 §1)。#04CB94、文本 #1F2D3D、底 #F9FAFC、弱化文本 #99A9BF、强调淡 mint #DEFFF6、错误 #EF4444。apps/web/src/components/ui/,可改;主题变量在 apps/web/src/index.css。完整值见
src/index.css的:root。以下为决策锚点(OKLCH / 对应 hex)。
| 角色 | token | 值 | 用途 |
|---|---|---|---|
| 页底色 | --background |
oklch(0.985 0.003 247) ≈ #F9FAFC |
主内容区,微蓝白(非纯白) |
| 文本 | --foreground |
oklch(0.27 0.035 261) ≈ #1F2D3D |
标题 / 正文 |
| 卡片 | --card |
纯白 | 浮在底色上 |
| 主色 | --primary |
oklch(0.71 0.16 168) = #04CB94 |
按钮 / 选中 / focus / logo / 漏斗末层 |
| 弱化文本 | --muted-foreground |
oklch(0.68 0.025 247) ≈ #99A9BF |
caption / 辅助 |
| 强调淡底 | --accent |
oklch(0.96 0.045 162) ≈ #DEFFF6 |
选中 / hover 淡 mint |
| 错误 | --destructive |
oklch(0.63 0.22 27) ≈ #EF4444 |
错误态 |
| 描边 | --border |
oklch(0.92 0.008 247) |
分隔线 / 边框 |
| 圆角 | --radius |
0.625rem |
全局基准 |
暗色(.dark)变量已备但默认不启用(index.html 不挂 dark 类)。
bg-card)+ 底部细线;左 mint logo 图标 + 标题「hs-data · 数据服务平台」,右 mint dot + MVP。--sidebar,有色不刺眼,比主区沉一档);宽 w-56,可纵向滚动。
NavTree.tsx,IA 见 docs/01 §2):L1 能力域(加粗 + 图标 + 展开箭头 ▸/▾)→ L2 分析模块 → L3 报表;L2/L3 用左侧竖引导线(border-l border-sidebar-border)+ 缩进,层级一眼可分。--sidebar-accent)+ mint-700 文字;叶子精确激活强高亮(mint pill),父分组在路径内仅文字变 mint。/behavior、指标体系 /metrics、画像体系 /profile、数据看板 /dashboards、营销触达 /marketing。MVP 可用页:/behavior/funnel/group(拼团漏斗);/ 重定向至此。--background 微蓝白,p-6;白卡浮起,卡片带轻双层投影(index.css 的 [data-slot="card"])。h-screen overflow-hidden:让 <main> 成为唯一滚动区,窗口(html)不滚动。<main> 带 overflow-auto [scrollbar-gutter:stable]:始终预留滚动条宽度,内容增高时滚动条不出现/消失 → 无横向抖动。minSize:'12%' 保底尾巴)。#064E3B → #065F46 → #047857 → #10A37F → #04CB94(对齐主色)。null 显示 “—”)。TimePeriodSelect,三选一:📅 单日 YYYY-MM-DD | 近 7 天 | 近 30 天。
bg-primary),由 React 状态直接驱动(cn(SEG, on?ON:OFF)),不依赖 shadcn Tabs/Button 的 data-active 变体——避免选中态在浅页上隐形。任一选中都同款 mint,给明确"当前在此周期"反馈。YYYY-MM-DD」。YYYY-MM-DD(近 7 天 / 近 30 天)」,点明窗口不含今天。ready 出图表+表格;missing 出「数据缺失」空态(不补零);传输错误出 destructive Alert。src/index.css 的 :root(主色改 --primary + --ring + --accent 一组)。FunnelChart.tsx 的 STEP_COLORS。docs/05 §7 讨论再动,落地后更新本文 + CHANGELOG.md。