ui_kit_theme Pro
Generates a new theme variant for the UI Kit (e.g., high_contrast, sepia, corporate).
Version: 2.0.0
Variables
| Variable | Type | Default | Description |
|---|---|---|---|
| themeName | string | — | The name of the new theme variant (e.g., high_contrast, sepia) |
| prefix | string | — | The prefix for the UI Kit (e.g., App, My) |
| appName | string | — | The app name for package imports |
| baseTheme | enum (light, dark) | light | Which existing theme to extend from |
| hasColorOverrides | boolean | true | Whether to generate color override placeholders |
| hasShadowOverrides | boolean | false | Whether to generate shadow override placeholders |
| hasTypographyOverrides | boolean | false | Whether to generate typography override placeholders |
Usage
Interactive
bash
archipelago generate ui_kit_themeNon-interactive (CI)
bash
archipelago generate ui_kit_theme --config my_config.jsonConfig Template
json
{
"@themeName": "The name of the new theme variant (e.g., high_contrast, sepia)",
"themeName": "high_contrast",
"@prefix": "The prefix for the UI Kit (e.g., App, My)",
"prefix": "App",
"@appName": "The app name for package imports",
"appName": "MyApp",
"@baseTheme": "Which existing theme to extend from (light | dark)",
"baseTheme": "light",
"@hasColorOverrides": "Whether to generate color override placeholders",
"hasColorOverrides": true,
"@hasShadowOverrides": "Whether to generate shadow override placeholders",
"hasShadowOverrides": false,
"@hasTypographyOverrides": "Whether to generate typography override placeholders",
"hasTypographyOverrides": false
}Generated Structure
lib/src/foundations/themes/
├── {prefix}_theme_{theme_name}.dart # Theme definition extending base
└── extensions/
├── {prefix}_color_extension_{theme_name}.dart # Color overrides (if hasColorOverrides)
├── {prefix}_shadow_extension_{theme_name}.dart # Shadow overrides (if hasShadowOverrides)
└── {prefix}_typography_extension_{theme_name}.dart # Typography overrides (if hasTypographyOverrides)