WebExeBuilder Documentation

listStyles

Category: Style Management

Namespace: web.styles.listStyles

Description

Gets a list of all VCL styles embedded in the application. These are the styles that can be activated with setStyle(). Returns an empty string if the style cannot be determined.

Syntax

const styles = await web.styles.listStyles();

Parameters

None

Returns

Promise<string[]> - Returns a promise that resolves with an array of available style names

Examples

Simple example

const styles = await web.styles.listStyles();
console.log('Available styles:', styles);
// Output: ["Windows10", "Glow", "Amakrits", ...]

Create style selector dropdown

const styles = await web.styles.listStyles();
const currentStyle = await web.styles.getStyle();

// Create dropdown options
const select = document.getElementById('styleSelector');
styles.forEach(style => {
    const option = document.createElement('option');
    option.value = style;
    option.textContent = style;
    option.selected = (style === currentStyle);
    select.appendChild(option);
});

// Handle style change
select.addEventListener('change', async (e) => {
    await web.styles.setStyle(e.target.value);
});

Filter dark themes

const styles = await web.styles.listStyles();

// Find dark themes (usually contain "Dark" in name)
const darkThemes = styles.filter(style => 
    style.toLowerCase().includes('dark')
);

console.log('Dark themes available:', darkThemes);

Use Cases

  • Build theme selection UI
  • Display available themes to users
  • Validate style names before applying
  • Show theme preview gallery
  • Filter themes by type (light/dark)

Notes

  • Returns only styles embedded in the application at compile time
  • Style names are returned as they appear in the resources
  • Returns empty array if an error occurs
  • The list is static - determined at compile time
  • Use this to validate style names before calling setStyle()