generateBoth static method
String
generateBoth({
- required ThemePalette light,
- required ThemePalette dark,
- FontConfig fonts = const FontConfig(),
- RadiusConfig radius = const RadiusConfig(),
Generate CSS for both light and dark mode.
Implementation
static String generateBoth({
required ThemePalette light,
required ThemePalette dark,
FontConfig fonts = const FontConfig(),
RadiusConfig radius = const RadiusConfig(),
}) {
final StringBuffer buffer = StringBuffer();
// Light mode (includes static values)
// Use both :root and html.light so variables work for:
// - Default/fallback (:root)
// - Document-level scrollbars when light class is on html (html.light)
buffer.writeln(
generate(
light,
selector: ':root, html.light, .light',
fonts: fonts,
radius: radius,
includeStatic: true,
),
);
buffer.writeln();
// Dark mode (no static values, they inherit from :root)
// Use both html.dark and .dark so variables work for:
// - Document-level scrollbars (html.dark)
// - Component-level styling (.dark on #arcane-root)
buffer.writeln(
generate(
dark,
selector: 'html.dark, .dark',
fonts: fonts,
radius: radius,
includeStatic: false,
),
);
return buffer.toString();
}