# app.witchsky.theme.colors

> Published by [witchsky.app](https://lexicon.garden/identity/did:plc:nstiflhvn4dywu5xlwq5wp4v)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:nstiflhvn4dywu5xlwq5wp4v/app.witchsky.theme.colors)
- [Documentation](https://lexicon.garden/lexicon/did:plc:nstiflhvn4dywu5xlwq5wp4v/app.witchsky.theme.colors/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:nstiflhvn4dywu5xlwq5wp4v/app.witchsky.theme.colors/examples)

## Definitions

### `app.witchsky.theme.colors`

**Type**: `record`

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `base` | `ref` → `#colorSet` | Yes |  |
| `mode` | `string` | Yes |  |
| `name` | `string` | Yes |  |
| `special` | `union` | No | Generator metadata requiring special client support. Unsupported union variants may be hidden. |
| `variants` | `array` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `updatedAt` | `string` (datetime) | No |  |
| `description` | `string` | No |  |
| `recommendedPair` | `string` (at-uri) | No | Theme recommended for the opposite appearance mode. |

### `app.witchsky.theme.colors#variant`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes |  |
| `colors` | `ref` → `#semanticColorOverrides` | No |  |

### `app.witchsky.theme.colors#colorSet`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes |  |
| `colors` | `ref` → `#semanticColors` | Yes |  |

### `app.witchsky.theme.colors#semanticColors`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `string` | Yes | Primary content text. |
| `accent` | `string` | Yes | Links, selected controls, and primary actions. |
| `border` | `string` | Yes | Dividers and control outlines. |
| `canvas` | `string` | Yes | App background. |
| `surface` | `string` | Yes | Cards, sheets, and controls. |
| `warning` | `string` | Yes | Caution states. |
| `critical` | `string` | Yes | Errors and destructive actions. |
| `favorite` | `string` | Yes | Like and favorite actions. |
| `onAccent` | `string` | Yes | Content drawn on the accent color. |
| `positive` | `string` | Yes | Success and confirmation states. |
| `textMuted` | `string` | Yes | Secondary labels and metadata. |
| `accentSoft` | `string` | Yes | Subtle selected and accent backgrounds. |
| `surfaceRaised` | `string` | Yes | Menus and elevated surfaces. |

### `app.witchsky.theme.colors#semanticColorOverrides`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `string` | No | Primary content text. |
| `accent` | `string` | No | Links, selected controls, and primary actions. |
| `border` | `string` | No | Dividers and control outlines. |
| `canvas` | `string` | No | App background. |
| `surface` | `string` | No | Cards, sheets, and controls. |
| `warning` | `string` | No | Caution states. |
| `critical` | `string` | No | Errors and destructive actions. |
| `favorite` | `string` | No | Like and favorite actions. |
| `onAccent` | `string` | No | Content drawn on the accent color. |
| `positive` | `string` | No | Success and confirmation states. |
| `textMuted` | `string` | No | Secondary labels and metadata. |
| `accentSoft` | `string` | No | Subtle selected and accent backgrounds. |
| `surfaceRaised` | `string` | No | Menus and elevated surfaces. |

## Raw Schema

```json
{
  "id": "app.witchsky.theme.colors",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "mode",
          "base",
          "createdAt"
        ],
        "properties": {
          "base": {
            "ref": "#colorSet",
            "type": "ref"
          },
          "mode": {
            "type": "string",
            "knownValues": [
              "light",
              "dark"
            ]
          },
          "name": {
            "type": "string",
            "maxLength": 64,
            "maxGraphemes": 48
          },
          "special": {
            "refs": [
              "app.witchsky.theme.defs#materialYou",
              "app.witchsky.theme.defs#hue"
            ],
            "type": "union",
            "closed": false,
            "description": "Generator metadata requiring special client support. Unsupported union variants may be hidden."
          },
          "variants": {
            "type": "array",
            "items": {
              "ref": "#variant",
              "type": "ref"
            },
            "maxLength": 11
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          },
          "description": {
            "type": "string",
            "maxLength": 300,
            "maxGraphemes": 300
          },
          "recommendedPair": {
            "type": "string",
            "format": "at-uri",
            "description": "Theme recommended for the opposite appearance mode."
          }
        }
      }
    },
    "variant": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 48,
          "maxGraphemes": 32
        },
        "colors": {
          "ref": "#semanticColorOverrides",
          "type": "ref"
        }
      }
    },
    "colorSet": {
      "type": "object",
      "required": [
        "name",
        "colors"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 48,
          "maxGraphemes": 32
        },
        "colors": {
          "ref": "#semanticColors",
          "type": "ref"
        }
      }
    },
    "semanticColors": {
      "type": "object",
      "required": [
        "canvas",
        "surface",
        "surfaceRaised",
        "text",
        "textMuted",
        "border",
        "accent",
        "accentSoft",
        "onAccent",
        "positive",
        "warning",
        "critical",
        "favorite"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "Primary content text."
        },
        "accent": {
          "type": "string",
          "description": "Links, selected controls, and primary actions."
        },
        "border": {
          "type": "string",
          "description": "Dividers and control outlines."
        },
        "canvas": {
          "type": "string",
          "description": "App background."
        },
        "surface": {
          "type": "string",
          "description": "Cards, sheets, and controls."
        },
        "warning": {
          "type": "string",
          "description": "Caution states."
        },
        "critical": {
          "type": "string",
          "description": "Errors and destructive actions."
        },
        "favorite": {
          "type": "string",
          "description": "Like and favorite actions."
        },
        "onAccent": {
          "type": "string",
          "description": "Content drawn on the accent color."
        },
        "positive": {
          "type": "string",
          "description": "Success and confirmation states."
        },
        "textMuted": {
          "type": "string",
          "description": "Secondary labels and metadata."
        },
        "accentSoft": {
          "type": "string",
          "description": "Subtle selected and accent backgrounds."
        },
        "surfaceRaised": {
          "type": "string",
          "description": "Menus and elevated surfaces."
        }
      }
    },
    "semanticColorOverrides": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Primary content text."
        },
        "accent": {
          "type": "string",
          "description": "Links, selected controls, and primary actions."
        },
        "border": {
          "type": "string",
          "description": "Dividers and control outlines."
        },
        "canvas": {
          "type": "string",
          "description": "App background."
        },
        "surface": {
          "type": "string",
          "description": "Cards, sheets, and controls."
        },
        "warning": {
          "type": "string",
          "description": "Caution states."
        },
        "critical": {
          "type": "string",
          "description": "Errors and destructive actions."
        },
        "favorite": {
          "type": "string",
          "description": "Like and favorite actions."
        },
        "onAccent": {
          "type": "string",
          "description": "Content drawn on the accent color."
        },
        "positive": {
          "type": "string",
          "description": "Success and confirmation states."
        },
        "textMuted": {
          "type": "string",
          "description": "Secondary labels and metadata."
        },
        "accentSoft": {
          "type": "string",
          "description": "Subtle selected and accent backgrounds."
        },
        "surfaceRaised": {
          "type": "string",
          "description": "Menus and elevated surfaces."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
