/** * The themes bundled in the library's stylesheet. * * This is the single source of truth. `ThemeService` derives its union type and * its class-swapping from it, `ThemeSwitcher` and `SettingsPanel` derive their * default options, `initializeShell` derives its theme commands and View menu, * and Storybook derives its toolbar. Adding a theme is a block in `index.css` * plus one entry here. * * It lives in `lib/` rather than `core/services/` because the presentational * components need it, and they are forbidden from importing stores. * * Themes are not a closed set — see {@link ThemeSwitcher}'s `options` prop and * {@link SettingsPanel}'s `themes` prop for supplying your own. */ export interface IBundledTheme { /** Matches the `.theme-` class in the stylesheet. */ id: string; /** Full name, for menus and the settings panel. */ label: string; /** Abbreviated name, for the compact segmented switcher. */ shortLabel: string; /** One line on what the theme is, used in documentation. */ description: string; } export declare const BUNDLED_THEMES: readonly [{ readonly id: "light"; readonly label: "Light"; readonly shortLabel: "Light"; readonly description: "Neutral light theme. The default."; }, { readonly id: "dark"; readonly label: "Dark"; readonly shortLabel: "Dark"; readonly description: "Low-glare dark theme on a soft grey base."; }, { readonly id: "gt"; readonly label: "Georgia Tech"; readonly shortLabel: "GT"; readonly description: "Buzz Gold (#EAAA00) on Tech Tower White."; }, { readonly id: "tamu"; readonly label: "Texas A&M"; readonly shortLabel: "TAMU"; readonly description: "Aggie Maroon (#500000) on white."; }]; /** Ids of the themes that ship in the stylesheet. */ export type BundledThemeId = (typeof BUNDLED_THEMES)[number]['id']; /** Every bundled theme's class name, e.g. `["theme-light", …]`. */ export declare const BUNDLED_THEME_CLASSES: string[]; /** * The class name for a theme id. * * Accepts any string, not just a bundled id, so an app that defines its own * `.theme-*` block can use it too. */ export declare const themeClass: (id: string) => string;