Namespace ItTiger.TigerCli.Tui.Themes
Classes
- CliCustomStyle
- An app-defined custom semantic style: a named markup token (e.g.
ConnectionName,EnvironmentProd) that resolves through the active theme like the framework semantic tokens. A custom style always has a required framework ThemeStyle BaseStyle as a safe fallback, plus optional dark/light family overrides and optional exact theme-name overrides.Resolution order (most specific first):
- exact theme-name override (matches Name, case-insensitive);
- dark/light family override (chosen by Family);
- the active theme's resolved BaseStyle.
[ConnectionName]…[/]); like other semantic styles they are never valid inside a rawoncolour expression.
- DarkTheme
- Default dark framework theme: neutral dark background, gray text, cyan accent, and green active selection.
- LightTheme
- Light framework theme: dark text on a light background, dark-blue accent and table headers. Distinct from DarkTheme and TigerBlueTheme to exercise the theme system.
- ThemeBase
- Base class for TigerCli themes. Derived themes provide the required base palette and can override semantic role hooks for controls, markup, tables, surfaces, buttons, and progress bars.
- TigerBlueTheme
- Blue-accented framework theme: cyan accent, dark-blue dialog background, white table headers. (This is the original TigerCli dark palette, preserved as its own named theme.)
- TigerColorAliasRegistry
- App-scoped registry of raw colour aliases: application-defined names for concrete
CliColor values (e.g.
BrandOrange→ Orange). Aliases are valid only in raw colour positions of markup ([BrandOrange],[White on CompanyBlue]) and are a different concept from semantic styles.TigerCli ships no built-in aliases — only the CliColor enum names are known by default. Apps (or opt-in libraries) register the aliases they want. A registered alias takes precedence over a CliColor enum name of the same name: registering an alias is a deliberate app policy, so the alias wins and the enum value remains the fallback when no alias is registered.
Instances are app-local: construct one per app/test, configure it, then make it active viaTigerConsole.ColorAliases. Nothing is process-global.
- TigerCustomStyleRegistry
- App-scoped registry of custom semantic styles (see CliCustomStyle). Custom
styles extend the curated framework semantic tokens with app-defined roles such as
ConnectionNameorEnvironmentProd; they resolve through the active theme and are used as single-token markup tags.Instances are app-local: construct one per app/test, configure it, then make it active via
TigerConsole.CustomStylesso the markup call sites resolve custom tokens. Nothing is process-global.
- TigerThemeConfiguration
- App-scoped theme, style, and colour-alias policy configured through the app builder's
ConfigureThemesblock. The application owns this policy: framework themes are available by default, custom themes and styles are added explicitly, library packages register through this object (referencing a library never mutates TigerCli), and apps may disable framework themes they do not want. Everything configured here is applied to the activeTigerConsoleappearance for the run; nothing is registered merely because a type or library is referenced.