Skip to content

Themes

Each theme ships as a WebJar module under components/ui/resources-theme-<name>/. The platform's built-in themes are blimpkit (default), classic, mystic, and high-contrast.

Module layout

components/ui/resources-theme-<name>/
  pom.xml
  src/main/resources/META-INF/dirigible/resources-theme-<name>/
    theme-<name>.css
    theme-<name>-dark.css        (optional)
    extensions/theme.extension
    configs/theme.js

Theme config

js
const themeData = {
    id: 'forest',
    label: 'Forest',
    type: 'light',                      // 'light' | 'dark' | 'auto'
    css: '/services/web/resources-theme-forest/theme-forest.css'
};
if (typeof exports !== 'undefined') {
    exports.getTheme = () => themeData;
}

Theme stylesheet

Override BlimpKit theme variables - not raw colors or --sap* legacy vars.

css
:root {
    --background: #f4f7f5;
    --foreground: #122019;
    --muted: #6b8074;
    --accent: #2f7a4d;
    --border: #ccd9d2;
    --card: #ffffff;

    --positive: #2f7a4d;
    --negative: #b03a2e;
    --warning:  #c98b21;
    --information: #2b6cb0;

    --font-sans: "72", -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: "72Mono-Regular", "JetBrains Mono", monospace;
}

Every BlimpKit component reads from these variables, so the whole IDE recolors without further work.

Dark variant

Ship a paired theme-<name>-dark.css. The platform's theme switcher honours the system preference if type: 'auto' is set in the theme config.

Activation

The theme is registered through the theme.extension artefact. Once published it appears in the theme switcher under the Settings perspective.

Group registration

Add the module to components/group/group-ui/pom.xml.

See also

Released under the EPL-2.0 License.