stThemeFromIr function
Implementation
STTheme stThemeFromIr(STDesignIr ir) {
final r = ir.radius;
return STTheme(
colors: STColors(
primary: _color(ir.colors.primary),
surface: _color(ir.colors.surface),
background: _color(ir.colors.background),
text: _color(ir.colors.text),
secondary:
ir.colors.secondary == null ? null : _color(ir.colors.secondary!),
border: ir.colors.border == null ? null : _color(ir.colors.border!),
divider: ir.colors.divider == null ? null : _color(ir.colors.divider!),
textSecondary:
ir.colors.textSecondary == null
? null
: _color(ir.colors.textSecondary!),
error: ir.colors.error == null ? null : _color(ir.colors.error!),
success: ir.colors.success == null ? null : _color(ir.colors.success!),
warning: ir.colors.warning == null ? null : _color(ir.colors.warning!),
info: ir.colors.info == null ? null : _color(ir.colors.info!),
extra: {for (final e in ir.colors.extra.entries) e.key: _color(e.value)},
),
radius: STRadius(
xs: r?.xs ?? 4,
sm: r?.sm ?? 8,
md: r?.md ?? 12,
lg: r?.lg ?? 16,
xl: r?.xl ?? 24,
),
typography:
ir.typography == null
? const STTypography()
: STTypography(
fontFamily: ir.typography!.fontFamily,
label: _text(ir.typography!.label),
sublabel: _text(ir.typography!.sublabel),
description: _text(ir.typography!.description),
),
components: _components(ir.components),
extras: [for (final extra in ir.extras) _extra(extra)],
);
}