From
bafyreifza7diu5q65tswpc456glqk577gg5dpfr6xet46l2yuflben54ui
indexed 2026-07-31 19:24 UTC
View this version
To
bafyreif4d7lhy3hwr2yusdkroofgncui6rzovrg6mnbatkhzcihnlupiwm
indexed 2026-07-31 19:56 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"actionPriorities": {55
"description": "The three Mise en Mode priorities for `action`, counting down from the thing a screen most wants you to do to the thing it least insists on.",66
"properties": {77
"auxiliary": {88
"description": "The quietest choice.",99
"ref": "lex:place.mode.standard.defs#colorIntent",1010
"type": "ref"1111
},1212
"primary": {1313
"description": "The one thing the screen most wants you to do.",1414
"ref": "lex:place.mode.standard.defs#colorIntent",1515
"type": "ref"1616
},1717
"secondary": {1818
"description": "A supporting choice.",1919
"ref": "lex:place.mode.standard.defs#colorIntent",2020
"type": "ref"2121
}2222
},2323
"required": [2424
"primary",2525
"secondary",2626
"auxiliary"2727
],2828
"type": "object"2929
},3030
"aspects": {3131
"description": "A theme's renderable style, grouped by aspect. Each aspect is optional but complete when present; a theme SHOULD carry at least one.",3232
"properties": {3333
"color": {3434
"description": "The color aspect (21 intents). Optional, but complete when present.",3535
"ref": "lex:place.mode.standard.defs#colorAspect",3636
"type": "ref"3737
},3838
"typography": {3939
"description": "The typography aspect (12 text intents). Optional, but complete when present.",4040
"ref": "lex:place.mode.standard.defs#typographyAspect",4141
"type": "ref"4242
}4343
},4444
"type": "object"4545
},4646
"colorAspect": {4747
"description": "The complete color aspect of a theme: control + action + surface (21 intents).",4848
"properties": {4949
"action": {5050
"description": "Interactive element (button/link) color, by priority.",5151
"ref": "lex:place.mode.standard.defs#actionPriorities",5252
"type": "ref"5353
},5454
"control": {5555
"description": "Form fields. No priority — all controls are peers.",5656
"ref": "lex:place.mode.standard.defs#colorIntent",5757
"type": "ref"5858
},5959
"surface": {6060
"description": "Non-interactive container (surface) color, by how far above the page the surface sits.",6161
"ref": "lex:place.mode.standard.defs#surfacePriorities",6262
"type": "ref"6363
}6464
},6565
"required": [6666
"control",6767
"action",6868
"surface"6969
],7070
"type": "object"7171
},7272
"colorIntent": {7373
"description": "The three color values for a single intent (a purpose, or a purpose+priority).",7474
"properties": {7575
"background": {7676
"description": "Any valid CSS <color> for the element's background.",7777
"maxLength": 128,7878
"type": "string"7979
},8080
"border": {8181
"description": "Any valid CSS <color> for the element's border.",8282
"maxLength": 128,8383
"type": "string"8484
},8585
"foreground": {8686
"description": "Any valid CSS <color> for the element's foreground (text/icon).",8787
"maxLength": 128,8888
"type": "string"8989
}9090
},9191
"required": [9292
"background",9393
"foreground",9494
"border"9595
],9696
"type": "object"9797
},9898
"fontDescriptor": {9999
"description": "One @font-face declaration. Only `family` is schema-required; a source (`src` or `file`) is required by the standard.",100100
"properties": {101101
"display": {102102
"description": "CSS font-display descriptor (e.g. 'swap', 'fallback').",103103
"maxLength": 32,104104
"type": "string"105105
},106106
"family": {107107
"description": "The font-family name as it should appear in CSS (e.g. 'Inter').",108108
"maxLength": 256,109109
"type": "string"110110
},111111
"file": {112112
"accept": [113113
"font/woff2",114114
"font/woff",115115
"font/ttf",116116
"font/otf",117117
"application/octet-stream"118118
],119119
"description": "A font file stored as a blob on the author's PDS. Takes precedence over `src` when both are present.",120120
"maxSize": 5000000,121121
"type": "blob"122122
},123123
"src": {124124
"description": "A URL to the font file, or a CSS `src` value (e.g. 'url(https://...) format(woff2)'). Alternative to `file`.",125125
"maxLength": 1024,126126
"type": "string"127127
},128128
"stretch": {129129
"description": "CSS font-stretch/font-width descriptor or range (e.g. 'normal', '75% 125%').",130130
"maxLength": 64,131131
"type": "string"132132
},133133
"style": {134134
"description": "CSS font-style descriptor (e.g. 'normal', 'italic', 'oblique 0deg 20deg').",135135
"maxLength": 32,136136
"type": "string"137137
},138138
"unicodeRange": {139139
"description": "CSS unicode-range descriptor (e.g. 'U+0000-00FF, U+0131'). Lets several entries share one `family` for subsetting.",140140
"maxLength": 2048,141141
"type": "string"142142
},143143
"weight": {144144
"description": "CSS font-weight descriptor or range (e.g. '400', '100 900').",145145
"maxLength": 32,146146
"type": "string"147147
}148148
},149149
"required": [150150
"family"151151
],152152
"type": "object"153153
},154154
"surfacePriorities": {155155
"description": "The three Mise en Mode priorities for `surface`, counting down from the layer that claims most of a reader's attention to the one that claims least. Because priority counts down, the page is `auxiliary` and not `primary`: a page is what a modal interrupts.",156156
"properties": {157157
"auxiliary": {158
"description": "The page itself — the layer everything else sits on.",158
"description": "The page itself, and everything sitting on it rather than above it — cards, bars, panels. The layer a theme is mostly made of.",159159
"ref": "lex:place.mode.standard.defs#colorIntent",160160
"type": "ref"161161
},162162
"primary": {163163
"description": "A surface that interrupts the page: modal, dialog, alert, sheet.",164164
"ref": "lex:place.mode.standard.defs#colorIntent",165165
"type": "ref"166166
},167167
"secondary": {168
"description": "A surface over the page, not instead of it: flyout, menu, card.",168
"description": "A surface over the page, not instead of it: flyout, menu, popover.",169169
"ref": "lex:place.mode.standard.defs#colorIntent",170170
"type": "ref"171171
}172172
},173173
"required": [174174
"primary",175175
"secondary",176176
"auxiliary"177177
],178178
"type": "object"179179
},180180
"textIntent": {181181
"description": "Typography metrics for a single text priority. Color is intentionally excluded (it belongs to the containing surface).",182182
"properties": {183183
"family": {184184
"description": "A CSS font-family value; should match a `family` in the theme's `fonts` array.",185185
"maxLength": 256,186186
"type": "string"187187
},188188
"lineHeight": {189189
"description": "A valid CSS line-height value (e.g. '1.4').",190190
"maxLength": 128,191191
"type": "string"192192
},193193
"size": {194194
"description": "A valid CSS <length-percentage> font size (e.g. '1.25rem').",195195
"maxLength": 128,196196
"type": "string"197197
},198198
"weight": {199199
"description": "A valid CSS <font-weight> (e.g. '400', '600').",200200
"maxLength": 128,201201
"type": "string"202202
}203203
},204204
"required": [205205
"size",206206
"weight",207207
"family",208208
"lineHeight"209209
],210210
"type": "object"211211
},212212
"textPriorities": {213213
"description": "The three Mise en Mode priorities for `text`, counting down from the text that claims most of a reader's attention to the text that claims least.",214214
"properties": {215215
"auxiliary": {216216
"description": "Detail and help: captions, hints, legal.",217217
"ref": "lex:place.mode.standard.defs#textIntent",218218
"type": "ref"219219
},220220
"primary": {221221
"description": "Headlines and titles.",222222
"ref": "lex:place.mode.standard.defs#textIntent",223223
"type": "ref"224224
},225225
"secondary": {226226
"description": "Body copy — the text a page is mostly made of.",227227
"ref": "lex:place.mode.standard.defs#textIntent",228228
"type": "ref"229229
}230230
},231231
"required": [232232
"primary",233233
"secondary",234234
"auxiliary"235235
],236236
"type": "object"237237
},238238
"typographyAspect": {239239
"description": "The typography aspect of a theme: text (12 intents), complete when present.",240240
"properties": {241241
"text": {242242
"description": "Typography by priority.",243243
"ref": "lex:place.mode.standard.defs#textPriorities",244244
"type": "ref"245245
}246246
},247247
"required": [248248
"text"249249
],250250
"type": "object"251251
}252252
},253253
"id": "place.mode.standard.defs",254254
"lexicon": 1255255
}