org.designtxt.defs

Shared type definitions for Design Tokens, based on DTCG 2025.10 stable specification. Defines scalar value types (color, dimension, duration, etc.) and composite value types (border, shadow, typography, etc.) used by token and resolver records.

Details · defs
Kinddefs
Authoritydesigntxt.org
Indexed

#borderValue

object

A composite border value combining width, line style, and color.

Properties

Border color.

Reference

style

string

Border line style.

  • maxLength: 8
  • knownValues: solid | dashed | dotted | double | groove | ridge | inset | outset | none

Border width.

Reference

#colorStop

object

A single gradient color stop. Position is a string-encoded float.

Properties

Color at this stop.

Reference

position

string

Stop position as a string-encoded float (0-1 for proportional, or unitless percentage like '50').

  • maxLength: 64

#colorValue

object

A color value expressed in a specific color space with optional alpha and hex fallback. Float components are stored as strings because the atproto data model does not support floating-point numbers.

Properties

alpha

string

Opacity as a string-encoded float between '0' and '1'. Assumed '1' if omitted.

  • maxLength: 64

colorSpace

requiredstring

The color space identifier.

  • maxLength: 16
  • knownValues: srgb | srgb-linear | hsl | hwb | lab | lch | oklab | oklch | display-p3 | a98-rgb | prophoto-rgb | rec2020 | xyz-d65 | xyz-d50

components

requiredarray

Color component values (positional, depending on colorSpace). Each element is a string-encoded float (e.g. '0.4', '1.0') or the string 'none'.

itemsstring
  • maxLength: 64

hex

string

6-digit CSS hex fallback (e.g. #ff00ff).

  • maxLength: 7
  • maxGraphemes: 7

#cubicBezierValue

array

A cubic Bezier curve defined by exactly 4 control-point string-encoded floats (x1, y1, x2, y2).

Items

itemsstring
  • maxLength: 64

#dimensionValue

object

A dimension with a numeric value and CSS-compatible unit. The value is a string-encoded float because atproto does not support floating-point numbers.

Properties

unit

requiredstring

The unit of measurement.

  • maxLength: 8
  • knownValues: px | rem | em | pt | pc | in | cm | mm | % | vw | vh | vmin | vmax | ch | ex

value

requiredstring

The numeric magnitude as a string-encoded float (e.g. '16.5', '100', '0.25').

  • maxLength: 64

#durationValue

object

A duration with a numeric value and time unit. The value is a string-encoded float because atproto does not support floating-point numbers.

Properties

unit

requiredstring

The time unit.

  • maxLength: 4
  • knownValues: ms | s

value

requiredstring

The numeric magnitude as a string-encoded float (e.g. '150', '300.5').

  • maxLength: 64

#fontFamilyValue

string

A font family name or comma-separated fallback string.

  • maxLength: 512

#fontWeightKeyword

string
  • maxLength: 16
  • knownValues: thin | hairline | extraLight | ultraLight | light | normal | regular | book | medium | semiBold | demiBold | bold | extraBold | ultraBold | black | heavy | extraBlack | ultraBlack

#fontWeightNumber

integer
  • minimum: 1
  • maximum: 1000

#gradientValue

object

A composite gradient value with type and color stops.

Properties

angles

array

Angle values in degrees as string-encoded floats.

itemsstring
  • maxLength: 64

Color stops defining the gradient.

itemsref
Reference

type

string

Gradient type.

  • maxLength: 8
  • knownValues: linear | radial | conic

#numberValue

string

A numeric value encoded as a string (e.g. '42', '3.14159'). Encoded as string because atproto does not support floating-point numbers and cannot distinguish integer from float at the type level.

  • maxLength: 128

#shadowValue

object

A composite shadow value (drop shadow / box-shadow) with color, offsets, blur, spread.

Properties

blur

ref

Blur radius.

Reference

Shadow color.

Reference

inset

boolean

Whether the shadow is inset (inner shadow).

Horizontal offset.

Reference

Vertical offset.

Reference

Spread radius.

Reference

#strokeStyleValue

object

Stroke style properties (dash array, line cap/join, miter limit). Corresponds to DTCG 'strokeStyle' composite type. Dash lengths and miter limit are string-encoded floats.

Properties

Dash and gap lengths as string-encoded floats.

itemsstring
  • maxLength: 64

lineCap

string

Shape at the end of open subpaths.

  • maxLength: 8
  • knownValues: round | butt | square

lineJoin

string

Shape at the corners of paths.

  • maxLength: 8
  • knownValues: miter | bevel | round

Maximum miter length when lineJoin is 'miter', as a string-encoded float.

  • maxLength: 64

#transitionValue

object

A composite transition value with duration, delay, and timing function.

Properties

Transition delay.

Reference

Transition duration.

Reference

Timing function as a cubic Bezier curve.

Reference

#typographyValue

object

A composite typography value aggregating font family, weight, size, line metrics, and text transforms. Numeric values are string-encoded floats to accommodate the atproto data model.

Properties

Ordered list of font family names (primary and fallbacks).

itemsstring
  • maxLength: 256

Font size.

Reference

Letter spacing.

Reference

Line height as a string-encoded unitless multiplier (e.g. '1.5', '1.2').

  • maxLength: 64

Paragraph indent.

Reference

Paragraph spacing.

Reference

textCase

string

Text case transformation.

  • maxLength: 12
  • knownValues: uppercase | lowercase | capitalize | none

Text decoration.

  • maxLength: 12
  • knownValues: underline | overline | line-through | none