REAL SHOWCASE SOURCEcontent-containers
1 个文件 · 57 行 · TypeScript
// ===== showcase/src/examples/components/content_containers.ts ===== import { RenderBorder, RenderButton, RenderCard, RenderPageHeader, RenderParagraph, RenderSection, RenderStackPanel, RenderText, RenderWrapPanel,} from 'ds-ui' export function createContentContainersExample(): RenderStackPanel { const status = new RenderText('容器负责结构与视觉层级,业务状态仍由页面管理', { role: 'secondary' }) const headerActions = new RenderWrapPanel({ spacing: 8, runSpacing: 8 }) headerActions.addChild(new RenderButton({ label: '刷新', onClick: () => { status.text = '患者概览已刷新' } })) headerActions.addChild(new RenderButton({ label: '新建记录', variant: 'primary', onClick: () => { status.text = '已创建新的随访记录' } })) const metrics = new RenderStackPanel({ orientation: 'horizontal', spacing: 12, crossAxisAlignment: 'stretch' }) metrics.addChild(new RenderCard({ title: '生命体征', description: '最近一次测量', child: new RenderText('体温 36.8℃ 血压 128/78 mmHg', { role: 'accent', weight: 'semibold' }), }), 1) metrics.addChild(new RenderCard({ title: '风险评估', description: '护理评估结果', variant: 'translucent', child: new RenderText('跌倒风险:中风险', { role: 'title', weight: 'semibold' }), }), 1) const section = new RenderSection({ title: '当前诊疗摘要', description: '由业务页面组合标题、说明、操作和内容。', actions: new RenderButton({ label: '查看详情', onClick: () => { status.text = '已打开诊疗详情' } }), child: new RenderBorder({ background: 'selected', padding: 14, accentSide: 'left', child: new RenderParagraph('患者一般情况稳定,继续当前治疗方案。重点观察呼吸困难、发热和血氧饱和度变化。'), }), }) const panel = new RenderStackPanel({ orientation: 'vertical', spacing: 16, crossAxisAlignment: 'stretch' }) panel.addChild(new RenderPageHeader({ title: 'Card / Section / PageHeader / Border', description: '使用统一的医疗紧凑主题组织页面标题、指标卡片、内容分区和强调边框。', actions: headerActions, })) panel.addChild(metrics) panel.addChild(section) panel.addChild(status) panel.padding = 24 return panel}