PU 设计系统 · Playground

Muji×Stripe 融合 · 配色 O(Paper + Emerald)

第一轮 · 基础组件

Web 中后台刚需。对照 Shadcn 全家桶。

本轮 6 个:① Alert(内联横幅)② Progress(进度条)③ Avatar(头像)④ Breadcrumb(面包屑)⑤ Accordion(折叠组)⑥ HoverCard(悬停预览)
0业务场景 · 商品详情页

用基础组件组合真实页面:面包屑导航 + 商品卡 + 收货地址 + 订单列表。

商品图位
新品限购

无印良品 亚麻纯色床品四件套

100% 水洗亚麻,透气亲肤,越洗越柔软。夏季裸睡首选。
¥ 689
仅用于本次下单,不存储
●
待发货 3 件
2 小时前
✓
已完成 12 件
今天
♡
收藏 28 件
本周
1Alert — 内联横幅

页面/区块顶部提示。区别 alert-dialog(弹窗需确认)。4 类型 + 可关闭 + 可带 action。

props: { variant: 'info'|'success'|'warning'|'destructive'; title; description?; icon?; action?; onClose? }
2Progress — 进度条

任务/上传/预算完成度。4 色态 + 带标签 + indeterminate(不确定态)。

生成进度60%
已完成100%
预算预警85%
超出预算110%
props: { value: number(0-100); variant?: 'default'|'success'|'warning'|'danger'; showLabel?; size? }
3Avatar — 头像

用户/角色/账号头像。图片/文字/fallback 三态 + group 堆叠 + 在线状态点。

用户A
图片
龙
文字
?
fallback
在
在线状态
J
K
L
+1
group 堆叠
props: { src?; alt?; fallback?; size?: 'sm'|'md'|'lg'; shape?: 'circle'|'square' } + <AvatarGroup max={3}>
4Breadcrumb — 面包屑

深嵌套页面层级导航。TaskDetail / DirectiveDetail / 子页面。

props: { items: { label; href?; icon? }[] } + 最后一项自动为 current
5Accordion — 折叠组

多项折叠(vs 现有 collapsible 单项)。长内容分组、FAQ、设置面板。支持单选/多选展开。

props: { type?: 'single'|'multiple'; collapsible?; items: { trigger; content; disabled? }[] }
6HoverCard — 悬停预览

鼠标悬停弹出详情卡。列表行 hover 用户/任务预览、链接预览。

(鼠标移上去看预览)
props: { trigger: ReactNode; children: ReactNode; side?: 'top'|'bottom' }
7Icon · 统一图标入口

封装 lucide-react,默认 aria-hidden,size/strokeWidth/className 透传。装饰性默认,交互性传 aria-hidden= + aria-label。完整图标库见 lucide.dev/icons(单一 Linear 风格,搜索 + 复制 import 名)。

size 16
size 20
size 24
ChevronLeft
ChevronRight
ChevronDown
Plus
Search
User
House
Settings
Bell
Menu