Skip to main content

Interface: ThemeManifest

Defined in: manifest.ts:29

Properties

apiVersion?

optional apiVersion?: number

Defined in: manifest.ts:33


componentsCss?

optional componentsCss?: string

Defined in: manifest.ts:39

Relative path to component-skin CSS (theme level 2).


extends?

optional extends?: string

Defined in: manifest.ts:35

Parent theme id — this theme inherits its tokens/skin/shell.


iconPack?

optional iconPack?: string

Defined in: manifest.ts:49


id

id: string

Defined in: manifest.ts:30


locales?

optional locales?: Record<string, string>

Defined in: manifest.ts:52

Translation resources: language code → relative path to a JSON file.


modes?

optional modes?: ThemeMode[]

Defined in: manifest.ts:36


name

name: string

Defined in: manifest.ts:31


preview?

optional preview?: string

Defined in: manifest.ts:48


settings?

optional settings?: Record<string, ThemeSettingDef>

Defined in: manifest.ts:47


shell?

optional shell?: string

Defined in: manifest.ts:44

Relative path to declarative shell CSS (theme level 3). Executable JavaScript is deliberately not part of the Theme SDK.


shellLayout?

optional shellLayout?: ThemeShellLayout

Defined in: manifest.ts:46

Declarative host-controlled shell composition (no executable code).


soundPack?

optional soundPack?: string

Defined in: manifest.ts:50


tokens?

optional tokens?: object

Defined in: manifest.ts:37

dark?

optional dark?: Partial<Record<"color-text-primary" | "color-text-secondary" | "color-text-muted" | "color-text-inverse" | "color-text-link" | "color-surface-primary" | "color-surface-secondary" | "color-surface-tertiary" | "color-surface-overlay" | "color-surface-canvas" | "color-surface-elevated" | "color-accent" | "color-accent-hover" | "color-accent-text" | "color-accent-soft" | "color-accent-soft-text" | "color-border" | "color-border-strong" | "color-success" | "color-warning" | "color-danger" | "color-info" | "color-message-quote" | "color-message-emphasis" | "color-message-code" | "color-message-code-bg" | "font-ui" | "font-mono" | "font-size-2xs" | "font-size-xs" | "font-size-sm" | "font-size-md" | "font-size-lg" | "font-size-xl" | "font-size-2xl" | "line-height-body" | "font-weight-normal" | "font-weight-medium" | "font-weight-semibold" | "font-weight-strong" | "font-weight-bold" | "space-2xs" | "space-xs" | "space-sm" | "space-md" | "space-lg" | "space-xl" | "space-2xl" | "space-3xl" | "radius-control" | "radius-card" | "radius-overlay" | "radius-panel" | "radius-round" | "radius-inset" | "border-width" | "shadow-card" | "shadow-soft" | "shadow-focus" | "shadow-overlay" | "layer-base" | "layer-raised" | "layer-panel" | "layer-plugin-overlay" | "layer-plugin-chrome" | "layer-dropdown" | "layer-modal" | "layer-notification" | "motion-duration-fast" | "motion-duration-normal" | "motion-duration-slow" | "motion-easing-standard" | "effect-glass-blur" | "control-height" | "control-height-large" | "control-height-sm" | "control-height-xs" | "control-height-2xs" | "control-hit-min" | "switch-width" | "switch-height" | "switch-thumb-size" | "menu-min-width" | "dialog-max-width" | "dialog-max-height" | "textarea-min-height" | "spinner-size" | "size-panel-max-height" | "size-content-max-height" | "size-chat-column-max" | "overlay-width-limit" | "overlay-height-limit" | "dialog-sheet-height" | "scrollbar-width" | "scrollbar-radius" | "scrollbar-track-bg" | "scrollbar-thumb-bg" | "scrollbar-thumb-hover-bg" | "scrollbar-fade-duration" | "scrollbar-fade-easing" | "scrollbar-hide-delay" | "shell-rail-width" | "shell-panel-width" | "shell-panel-min-width" | "shell-panel-max-width" | "chat-wallpaper-image" | "chat-wallpaper-position" | "chat-wallpaper-size" | "chat-wallpaper-overlay" | "chat-wallpaper-blur" | "custom-glass-blur" | "custom-ui-opacity" | "custom-wallpaper-overlay-alpha" | "chat-markdown-column-width" | "chat-message-block" | "chat-message-inline", string>>

light?

optional light?: Partial<Record<"color-text-primary" | "color-text-secondary" | "color-text-muted" | "color-text-inverse" | "color-text-link" | "color-surface-primary" | "color-surface-secondary" | "color-surface-tertiary" | "color-surface-overlay" | "color-surface-canvas" | "color-surface-elevated" | "color-accent" | "color-accent-hover" | "color-accent-text" | "color-accent-soft" | "color-accent-soft-text" | "color-border" | "color-border-strong" | "color-success" | "color-warning" | "color-danger" | "color-info" | "color-message-quote" | "color-message-emphasis" | "color-message-code" | "color-message-code-bg" | "font-ui" | "font-mono" | "font-size-2xs" | "font-size-xs" | "font-size-sm" | "font-size-md" | "font-size-lg" | "font-size-xl" | "font-size-2xl" | "line-height-body" | "font-weight-normal" | "font-weight-medium" | "font-weight-semibold" | "font-weight-strong" | "font-weight-bold" | "space-2xs" | "space-xs" | "space-sm" | "space-md" | "space-lg" | "space-xl" | "space-2xl" | "space-3xl" | "radius-control" | "radius-card" | "radius-overlay" | "radius-panel" | "radius-round" | "radius-inset" | "border-width" | "shadow-card" | "shadow-soft" | "shadow-focus" | "shadow-overlay" | "layer-base" | "layer-raised" | "layer-panel" | "layer-plugin-overlay" | "layer-plugin-chrome" | "layer-dropdown" | "layer-modal" | "layer-notification" | "motion-duration-fast" | "motion-duration-normal" | "motion-duration-slow" | "motion-easing-standard" | "effect-glass-blur" | "control-height" | "control-height-large" | "control-height-sm" | "control-height-xs" | "control-height-2xs" | "control-hit-min" | "switch-width" | "switch-height" | "switch-thumb-size" | "menu-min-width" | "dialog-max-width" | "dialog-max-height" | "textarea-min-height" | "spinner-size" | "size-panel-max-height" | "size-content-max-height" | "size-chat-column-max" | "overlay-width-limit" | "overlay-height-limit" | "dialog-sheet-height" | "scrollbar-width" | "scrollbar-radius" | "scrollbar-track-bg" | "scrollbar-thumb-bg" | "scrollbar-thumb-hover-bg" | "scrollbar-fade-duration" | "scrollbar-fade-easing" | "scrollbar-hide-delay" | "shell-rail-width" | "shell-panel-width" | "shell-panel-min-width" | "shell-panel-max-width" | "chat-wallpaper-image" | "chat-wallpaper-position" | "chat-wallpaper-size" | "chat-wallpaper-overlay" | "chat-wallpaper-blur" | "custom-glass-blur" | "custom-ui-opacity" | "custom-wallpaper-overlay-alpha" | "chat-markdown-column-width" | "chat-message-block" | "chat-message-inline", string>>


version

version: string

Defined in: manifest.ts:32