OPF
SpecDefinition referenceView source

Color Variable

A named color. Content color fields reference it as 'var:<id>'. Colors resolve at render time through the ordinary color-reference path, so a color variable keeps working as before.

Metadata

Definition
#/$defs/ColorVariable
Form
object
Source
spec/schemas/opf.schema.json

Field index

FieldTypeReq.Description
typeconstyesVariable kind. One of color, text, number, date, image, url or list.
type · Allowed values
"color"
valueref:HexColor—Hex color this variable resolves to.
requiredboolean—Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.
labelstring—Optional short human label for forms and fill panels.
descriptionstring—Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
exampleref:HexColor—Illustrative color shown in fill forms and used when a template is previewed with examples. Never written to output.

type

typeconstrequiredyesdefault—

Variable kind. One of color, text, number, date, image, url or list.

type · Allowed values
"color"
Field fragment · type.json
{
  "type": "color"
}

value

typeref:HexColorrequirednodefault—

Hex color this variable resolves to.

required

typebooleanrequirednodefaulttrue

Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.

label

typestringrequirednodefault—

Optional short human label for forms and fill panels.

description

typestringrequirednodefault—

Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.

example

typeref:HexColorrequirednodefault—

Illustrative color shown in fill forms and used when a template is previewed with examples. Never written to output.

Complete definition constraints
Exact schema constraints
{
  "type": "object",
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "properties": {
    "type": {
      "type": "string",
      "const": "color",
      "description": "Variable kind. One of color, text, number, date, image, url or list."
    },
    "value": {
      "$ref": "#/$defs/HexColor",
      "description": "Hex color this variable resolves to."
    },
    "required": {
      "type": "boolean",
      "default": true,
      "description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
    },
    "label": {
      "type": "string",
      "description": "Optional short human label for forms and fill panels."
    },
    "description": {
      "type": "string",
      "description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
    },
    "example": {
      "$ref": "#/$defs/HexColor",
      "description": "Illustrative color shown in fill forms and used when a template is previewed with examples. Never written to output."
    }
  },
  "description": "A named color. Content color fields reference it as 'var:<id>'. Colors resolve at render time through the ordinary color-reference path, so a color variable keeps working as before."
}