darkTheme property
Implementation
static final BsThemeData darkTheme = BsThemeData(
// Semantic colors remain unchanged in Dark Mode.
// Components use *TextEmphasis/*BgSubtle tokens for dark representation.
primary: BsColors.primary,
secondary: BsColors.secondary,
success: BsColors.success,
danger: BsColors.danger,
warning: BsColors.warning,
info: BsColors.info,
light: BsColors.gray[800]!,
dark: BsColors.gray[200]!,
onDark: const Color(0xFF000000),
onLight: const Color(0xFFFFFFFF),
bodyText: BsColors.gray[300]!,
bodyTextSecondary: BsColors.gray[300]!.withValues(alpha: 0.75),
bodyTextTertiary: BsColors.gray[300]!.withValues(alpha: 0.50),
emphasisColor: const Color(0xFFFFFFFF),
bodyBg: BsColors.gray[900]!,
bodyBgSecondary: BsColors.gray[800]!, // #343a40 = gray-800
bodyBgTertiary: const Color(
0xFF2B3035,
), // Bootstrap fixed value — no exact palette stop
border: BsColors.gray[700]!, // #495057 = gray-700
borderTranslucent: const Color(0x26FFFFFF), // rgba(255,255,255,.15)
linkColor: BsColors.blue[300]!, // tint-color($primary, 40%) = blue-300
linkHoverColor: BsColors.blue[200]!, // next stop to #8bb9fe
// tint-color($color, 40%) = 300 stop
primaryTextEmphasis: BsColors.blue[300]!,
secondaryTextEmphasis:
BsColors.gray[400]!, // Bootstrap: #a7acb1 — between gray-400/500
successTextEmphasis: BsColors.green[300]!,
dangerTextEmphasis: BsColors.red[300]!,
warningTextEmphasis: BsColors.yellow[300]!,
infoTextEmphasis: BsColors.cyan[300]!,
lightTextEmphasis: BsColors.gray[100]!,
darkTextEmphasis: BsColors.gray[300]!,
// shade-color($color, 80%) = 900 stop
primaryBgSubtle: BsColors.blue[900]!,
secondaryBgSubtle: BsColors.gray[900]!,
successBgSubtle: BsColors.green[900]!,
dangerBgSubtle: BsColors.red[900]!,
warningBgSubtle: BsColors.yellow[900]!,
infoBgSubtle: BsColors.cyan[900]!,
lightBgSubtle: BsColors.gray[800]!,
darkBgSubtle:
BsColors.gray[900]!, // Bootstrap: #1a1d20 — shade-color(gray-800, 20%)
// shade-color($color, 40%) = 700 stop
primaryBorderSubtle: BsColors.blue[700]!,
secondaryBorderSubtle: BsColors.gray[700]!,
successBorderSubtle: BsColors.green[700]!,
dangerBorderSubtle: BsColors.red[700]!,
warningBorderSubtle: BsColors.yellow[700]!,
infoBorderSubtle: BsColors.cyan[700]!,
lightBorderSubtle: BsColors.gray[600]!,
darkBorderSubtle: BsColors.gray[800]!,
);