Skip to content

ui_kit_theme Pro

Generates a new theme variant for the UI Kit (e.g., high_contrast, sepia, corporate).

Version: 2.0.0

Variables

VariableTypeDefaultDescription
themeNamestringThe name of the new theme variant (e.g., high_contrast, sepia)
prefixstringThe prefix for the UI Kit (e.g., App, My)
appNamestringThe app name for package imports
baseThemeenum (light, dark)lightWhich existing theme to extend from
hasColorOverridesbooleantrueWhether to generate color override placeholders
hasShadowOverridesbooleanfalseWhether to generate shadow override placeholders
hasTypographyOverridesbooleanfalseWhether to generate typography override placeholders

Usage

Interactive

bash
archipelago generate ui_kit_theme

Non-interactive (CI)

bash
archipelago generate ui_kit_theme --config my_config.json

Config 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)

Built by Banua Coder