Interface: ThemeService
Defined in: packages/sdk/src/theme-service.ts:83
Consumer API for the theme domain, exposed as ExtensionContext.theme. Read via getState / subscribe (e.g. with useSyncExternalStore); drive via setActive and the custom-theme methods. Contributing a new preset is a separate concern — ExtensionContext.registerThemePreset.
Methods
getState()
getState(): ThemeState;Defined in: packages/sdk/src/theme-service.ts:85
Current frozen view of theme state.
Returns
subscribe()
subscribe(listener): Disposable;Defined in: packages/sdk/src/theme-service.ts:87
Subscribe to theme-state changes (active theme, custom themes, or presets).
Parameters
listener
(s) => void
Returns
setActive()
setActive(id): void;Defined in: packages/sdk/src/theme-service.ts:89
Set the active theme by id (a built-in preset, registered preset, or custom).
Parameters
id
string
Returns
void
resolve()
resolve(id): ResolvedTheme;Defined in: packages/sdk/src/theme-service.ts:91
Resolve a theme id to its base + effective vars (for previews/swatches).
Parameters
id
string
Returns
saveCustom()
saveCustom(theme): Promise<void>;Defined in: packages/sdk/src/theme-service.ts:93
Persist a custom theme to disk and refresh the in-memory list.
Parameters
theme
Returns
Promise<void>
deleteCustom()
deleteCustom(id): Promise<void>;Defined in: packages/sdk/src/theme-service.ts:95
Delete a custom theme from disk and refresh the in-memory list.
Parameters
id
string
Returns
Promise<void>
reloadCustom()
reloadCustom(): Promise<void>;Defined in: packages/sdk/src/theme-service.ts:97
Reload custom themes from disk into the store.
Returns
Promise<void>
exportTheme()
exportTheme(theme): ThemeExport;Defined in: packages/sdk/src/theme-service.ts:99
Strip the id from a custom theme for sharing/serialization.
Parameters
theme
Returns
importTheme()
importTheme(data): CustomTheme;Defined in: packages/sdk/src/theme-service.ts:101
Validate/parse imported JSON into a custom theme (assigns a fresh id).
Parameters
data
unknown