family.pardy.design.theme

pardy.at

Documentation

A general-purpose visual theme: colors, fonts and corner radii by semantic role. Public, so any app can publish and use it. Apps map roles to their own styling, ignore roles they don't know, and must validate values before using them.

main record

A general-purpose visual theme: colors, fonts and corner radii by semantic role. Public, so any app can publish and use it. Apps map roles to their own styling, ignore roles they don't know, and must validate values before using them.

Record Key any Any valid record key

Properties

colorScheme string Required

No description available.

Known values: light, dark
colors array of ref #color Required

No description available.

maxLength: 64 items
createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Optional

No description available.

maxLength: 1000 bytes
emoji string Optional

A small picture for theme pickers.

maxLength: 32 bytesmaxGraphemes: 2 graphemes
fonts array of ref #font Optional

No description available.

maxLength: 16 items
name string Required

No description available.

maxLength: 64 bytes
radii array of ref #radius Optional

No description available.

maxLength: 16 items
scenes array of ref #scene Optional

Variants for the conditions outside. The most specific matching scene wins; earlier scenes win ties.

maxLength: 64 items
View raw schema
{
  "description": "A general-purpose visual theme: colors, fonts and corner radii by semantic role. Public, so any app can publish and use it. Apps map roles to their own styling, ignore roles they don't know, and must validate values before using them.",
  "key": "any",
  "record": {
    "properties": {
      "colorScheme": {
        "knownValues": [
          "light",
          "dark"
        ],
        "type": "string"
      },
      "colors": {
        "items": {
          "ref": "#color",
          "type": "ref"
        },
        "maxLength": 64,
        "type": "array"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "description": {
        "maxLength": 1000,
        "type": "string"
      },
      "emoji": {
        "description": "A small picture for theme pickers.",
        "maxGraphemes": 2,
        "maxLength": 32,
        "type": "string"
      },
      "fonts": {
        "items": {
          "ref": "#font",
          "type": "ref"
        },
        "maxLength": 16,
        "type": "array"
      },
      "name": {
        "maxLength": 64,
        "type": "string"
      },
      "radii": {
        "items": {
          "ref": "#radius",
          "type": "ref"
        },
        "maxLength": 16,
        "type": "array"
      },
      "scenes": {
        "description": "Variants for the conditions outside. The most specific matching scene wins; earlier scenes win ties.",
        "items": {
          "ref": "#scene",
          "type": "ref"
        },
        "maxLength": 64,
        "type": "array"
      }
    },
    "required": [
      "name",
      "colorScheme",
      "colors",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
color object

No description available.

Properties

role string Required

A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.

maxLength: 32 bytes
Known values: background, onBackground, surface, onSurface, surfaceVariant, card, onCard, onCardMuted, accent, onAccent, neutral, border, success, warning, danger, info
value string Required

Hex color: #rgb, #rgba, #rrggbb or #rrggbbaa.

maxLength: 9 bytes
View raw schema
{
  "properties": {
    "role": {
      "description": "A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.",
      "knownValues": [
        "background",
        "onBackground",
        "surface",
        "onSurface",
        "surfaceVariant",
        "card",
        "onCard",
        "onCardMuted",
        "accent",
        "onAccent",
        "neutral",
        "border",
        "success",
        "warning",
        "danger",
        "info"
      ],
      "maxLength": 32,
      "type": "string"
    },
    "value": {
      "description": "Hex color: #rgb, #rgba, #rrggbb or #rrggbbaa.",
      "maxLength": 9,
      "type": "string"
    }
  },
  "required": [
    "role",
    "value"
  ],
  "type": "object"
}
conditions object

Every listed dimension must match. Open sets: readers ignore values they don't know.

Properties

season array of string Optional

No description available.

timeOfDay array of string Optional

No description available.

weather array of string Optional

No description available.

View raw schema
{
  "description": "Every listed dimension must match. Open sets: readers ignore values they don't know.",
  "properties": {
    "season": {
      "items": {
        "knownValues": [
          "winter",
          "spring",
          "summer",
          "autumn"
        ],
        "maxLength": 32,
        "type": "string"
      },
      "type": "array"
    },
    "timeOfDay": {
      "items": {
        "knownValues": [
          "dawn",
          "morning",
          "afternoon",
          "evening",
          "night"
        ],
        "maxLength": 32,
        "type": "string"
      },
      "type": "array"
    },
    "weather": {
      "items": {
        "knownValues": [
          "clear",
          "cloudy",
          "fog",
          "rain",
          "snow",
          "storm"
        ],
        "maxLength": 32,
        "type": "string"
      },
      "type": "array"
    }
  },
  "type": "object"
}
font object

No description available.

Properties

family string Required

A font family name (letters, digits, spaces, hyphens). Apps fall back to their own fonts if they don't have it.

maxLength: 64 bytes
role string Required

A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.

maxLength: 32 bytes
Known values: body, display, mono
View raw schema
{
  "properties": {
    "family": {
      "description": "A font family name (letters, digits, spaces, hyphens). Apps fall back to their own fonts if they don't have it.",
      "maxLength": 64,
      "type": "string"
    },
    "role": {
      "description": "A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.",
      "knownValues": [
        "body",
        "display",
        "mono"
      ],
      "maxLength": 32,
      "type": "string"
    }
  },
  "required": [
    "role",
    "family"
  ],
  "type": "object"
}
radius object

No description available.

Properties

role string Required

A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.

maxLength: 32 bytes
Known values: small, medium, large, card, button
value integer Required

Pixels.

minimum: 0maximum: 999
View raw schema
{
  "properties": {
    "role": {
      "description": "A semantic role name (camelCase). Open set: readers use the roles they know and ignore the rest.",
      "knownValues": [
        "small",
        "medium",
        "large",
        "card",
        "button"
      ],
      "maxLength": 32,
      "type": "string"
    },
    "value": {
      "description": "Pixels.",
      "maximum": 999,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "role",
    "value"
  ],
  "type": "object"
}
scene object

No description available.

Properties

background blob Optional

Artwork shown behind everything.

maxSize: 2.0 MB
colorScheme string Optional

No description available.

Known values: light, dark
colors array of ref#color Optional

Overrides the theme's colors, role by role.

maxLength: 64 items
name string Required

No description available.

maxLength: 64 bytes
when ref #conditions Optional

No description available.

View raw schema
{
  "properties": {
    "background": {
      "accept": [
        "image/svg+xml",
        "image/png",
        "image/jpeg",
        "image/webp"
      ],
      "description": "Artwork shown behind everything.",
      "maxSize": 2000000,
      "type": "blob"
    },
    "colorScheme": {
      "knownValues": [
        "light",
        "dark"
      ],
      "type": "string"
    },
    "colors": {
      "description": "Overrides the theme's colors, role by role.",
      "items": {
        "ref": "#color",
        "type": "ref"
      },
      "maxLength": 64,
      "type": "array"
    },
    "name": {
      "maxLength": 64,
      "type": "string"
    },
    "when": {
      "ref": "#conditions",
      "type": "ref"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}

Lexicon Garden

@