REAL SHOWCASE SOURCEbasic-typography
1 个文件 · 36 行 · TypeScript
// ===== showcase/src/examples/components/basic_typography.ts ===== import { RenderBorder, RenderPageHeader, RenderParagraph, RenderStackPanel, RenderText,} from 'ds-ui' export function createBasicTypographyExample(): RenderStackPanel { const roles = new RenderStackPanel({ orientation: 'vertical', spacing: 8, crossAxisAlignment: 'stretch' }) roles.addChild(new RenderText('患者:林晓雨 住院号:ZY20260718036', { role: 'title', size: 'large', weight: 'bold' })) roles.addChild(new RenderText('呼吸与危重症医学科 · 12 床', { role: 'secondary', size: 'small' })) roles.addChild(new RenderText('高风险提醒:青霉素类药物过敏', { role: 'accent', weight: 'semibold' })) roles.addChild(new RenderText('这是一段很长的单行医嘱摘要,用于验证固定宽度下的自动缩小和省略显示能力', { size: 20, minSize: 12, fit: 'shrink', overflow: 'ellipsis', })) const paragraph = new RenderParagraph( '入院后完善血常规、C 反应蛋白和胸部影像检查。根据检查结果动态调整治疗方案,并持续观察体温、血氧饱和度和呼吸频率。\n护理人员需要记录每次吸氧方式调整后的生命体征变化。', ) const panel = new RenderStackPanel({ orientation: 'vertical', spacing: 18, crossAxisAlignment: 'stretch' }) panel.addChild(new RenderPageHeader({ title: 'Text / Paragraph 文本排版', description: '使用语义角色、字号、字重、单行省略、自动缩小和多行段落组织医疗信息。', })) panel.addChild(new RenderBorder({ background: 'panel', padding: 16, child: roles })) panel.addChild(new RenderBorder({ background: 'muted', padding: 16, accentSide: 'left', child: paragraph })) panel.padding = 24 return panel}