Skip to content

New theme system #1045

Description

@Su-Yong

Structure

{
  "variables": {
    "@override": true,
    "[variable_name]": {
      "type": "number",
      "default": 10
      "expose": {
        "label": {
          "en": "Setting Label"
        },
		"description": {
		  "en": "description"
		}
      }
    }
  },
  "style": {
    "wrapper": {
      "@override": false,
      "style": "asdf"
    }
  },
  "render": {
    "type": "wrapper",
    "children": [
      {
        "type": "Lyric",
      },
      // ...
    ]
  }
}
  • @override: override field

Render

interface BaseRenderElement<Type extends string> {
  type: Type;
  children?: RenderElement[];
}

type WrapperRenderElement = BaseRenderElement<'wrapper'>;
type LyricGroupRenderElement = // ...
type LyricRenderElement = // ...

type RenderElement = WrapperRenderElement | LyricGroupRenderElement | // ...;

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions