Interface: ThemeManifest
Defined in: manifest.ts:29
Properties
apiVersion?
optionalapiVersion?:number
Defined in: manifest.ts:33
componentsCss?
optionalcomponentsCss?:string
Defined in: manifest.ts:39
Relative path to component-skin CSS (theme level 2).
extends?
optionalextends?:string
Defined in: manifest.ts:35
Parent theme id — this theme inherits its tokens/skin/shell.
iconPack?
optionaliconPack?:string
Defined in: manifest.ts:49
id
id:
string
Defined in: manifest.ts:30
locales?
optionallocales?:Record<string,string>
Defined in: manifest.ts:52
Translation resources: language code → relative path to a JSON file.
modes?
optionalmodes?:ThemeMode[]
Defined in: manifest.ts:36
name
name:
string
Defined in: manifest.ts:31
preview?
optionalpreview?:string
Defined in: manifest.ts:48
settings?
optionalsettings?:Record<string,ThemeSettingDef>
Defined in: manifest.ts:47
shell?
optionalshell?: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?
optionalshellLayout?:ThemeShellLayout
Defined in: manifest.ts:46
Declarative host-controlled shell composition (no executable code).
soundPack?
optionalsoundPack?:string
Defined in: manifest.ts:50
tokens?
optionaltokens?:object
Defined in: manifest.ts:37
dark?
optionaldark?: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?
optionallight?: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