Wocart

@wocart/theme v4.1.0


@wocart/theme / index / ThemeManifest

Interface: ThemeManifest

The serializable theme contract.

  • contractVersion identifies this manifest's schema and interpretation contract (currently 1). It versions the format, not the theme.
  • key / version identify the theme (same values as ThemeDefinition).
  • surfaces declares what the theme can render (possibly empty).
  • components is the data-only catalogue, keyed by component type.

Three versioned contracts coexist and must not be confused: contractVersion (this manifest), ThemeDefinition.version (the theme's semver), and PageData.version (the page-document envelope, currently 1).

Properties

areas

areas: readonly AreaSpec[]

The parts every page shares (possibly none).


components

components: Record<string, ComponentSpec>


content

content: Readonly<Record<LocaleCode, Readonly<Record<string, string>>>>

The theme's content packs, by language (possibly none).


contractVersion

contractVersion: 1


key

key: string


locales

locales: readonly string[]

The languages the theme's packs cover (possibly none declared).


preview

preview: boolean

Whether the theme serves a preview route (THEME_PREVIEW_PATH).


sdkVersion?

optional sdkVersion?: string

The @wocart/theme version that generated the manifest — the renderer the theme ships with. An editor writes a feature only for renderers that read it (a hidden section needs 1.5.0). Absent from manifests made before 1.5.0.


settings

settings: readonly SettingsGroup[]

The theme's global settings (possibly none).


style?

optional style?: ThemeStyle

The sizes the theme gives the style steps (absent: none).


surfaces

surfaces: readonly SurfaceSpec[]


version

version: string