{"$type":"com.atproto.lexicon.schema","defs":{"actionPriorities":{"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.","properties":{"auxiliary":{"description":"The quietest choice.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"},"primary":{"description":"The one thing the screen most wants you to do.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"},"secondary":{"description":"A supporting choice.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"}},"required":["primary","secondary","auxiliary"],"type":"object"},"aspects":{"description":"A theme's renderable style, grouped by aspect. Each aspect is optional but complete when present; a theme SHOULD carry at least one.","properties":{"color":{"description":"The color aspect (21 intents). Optional, but complete when present.","ref":"lex:place.mode.standard.defs#colorAspect","type":"ref"},"typography":{"description":"The typography aspect (12 text intents). Optional, but complete when present.","ref":"lex:place.mode.standard.defs#typographyAspect","type":"ref"}},"type":"object"},"colorAspect":{"description":"The complete color aspect of a theme: control + action + surface (21 intents).","properties":{"action":{"description":"Interactive element (button/link) color, by priority.","ref":"lex:place.mode.standard.defs#actionPriorities","type":"ref"},"control":{"description":"Form fields. No priority — all controls are peers.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"},"surface":{"description":"Non-interactive container (surface) color, by how far above the page the surface sits.","ref":"lex:place.mode.standard.defs#surfacePriorities","type":"ref"}},"required":["control","action","surface"],"type":"object"},"colorIntent":{"description":"The three color values for a single intent (a purpose, or a purpose+priority).","properties":{"background":{"description":"Any valid CSS <color> for the element's background.","maxLength":128,"type":"string"},"border":{"description":"Any valid CSS <color> for the element's border.","maxLength":128,"type":"string"},"foreground":{"description":"Any valid CSS <color> for the element's foreground (text/icon).","maxLength":128,"type":"string"}},"required":["background","foreground","border"],"type":"object"},"fontDescriptor":{"description":"One @font-face declaration. Only `family` is schema-required; a source (`src` or `file`) is required by the standard.","properties":{"display":{"description":"CSS font-display descriptor (e.g. 'swap', 'fallback').","maxLength":32,"type":"string"},"family":{"description":"The font-family name as it should appear in CSS (e.g. 'Inter').","maxLength":256,"type":"string"},"file":{"accept":["font/woff2","font/woff","font/ttf","font/otf","application/octet-stream"],"description":"A font file stored as a blob on the author's PDS. Takes precedence over `src` when both are present.","maxSize":5000000,"type":"blob"},"src":{"description":"A URL to the font file, or a CSS `src` value (e.g. 'url(https://...) format(woff2)'). Alternative to `file`.","maxLength":1024,"type":"string"},"stretch":{"description":"CSS font-stretch/font-width descriptor or range (e.g. 'normal', '75% 125%').","maxLength":64,"type":"string"},"style":{"description":"CSS font-style descriptor (e.g. 'normal', 'italic', 'oblique 0deg 20deg').","maxLength":32,"type":"string"},"unicodeRange":{"description":"CSS unicode-range descriptor (e.g. 'U+0000-00FF, U+0131'). Lets several entries share one `family` for subsetting.","maxLength":2048,"type":"string"},"weight":{"description":"CSS font-weight descriptor or range (e.g. '400', '100 900').","maxLength":32,"type":"string"}},"required":["family"],"type":"object"},"surfacePriorities":{"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.","properties":{"auxiliary":{"description":"The page itself, and everything sitting on it rather than above it — cards, bars, panels. The layer a theme is mostly made of.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"},"primary":{"description":"A surface that interrupts the page: modal, dialog, alert, sheet.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"},"secondary":{"description":"A surface over the page, not instead of it: flyout, menu, popover.","ref":"lex:place.mode.standard.defs#colorIntent","type":"ref"}},"required":["primary","secondary","auxiliary"],"type":"object"},"textIntent":{"description":"Typography metrics for a single text priority. Color is intentionally excluded (it belongs to the containing surface).","properties":{"family":{"description":"A CSS font-family value; should match a `family` in the theme's `fonts` array.","maxLength":256,"type":"string"},"lineHeight":{"description":"A valid CSS line-height value (e.g. '1.4').","maxLength":128,"type":"string"},"size":{"description":"A valid CSS <length-percentage> font size (e.g. '1.25rem').","maxLength":128,"type":"string"},"weight":{"description":"A valid CSS <font-weight> (e.g. '400', '600').","maxLength":128,"type":"string"}},"required":["size","weight","family","lineHeight"],"type":"object"},"textPriorities":{"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.","properties":{"auxiliary":{"description":"Detail and help: captions, hints, legal.","ref":"lex:place.mode.standard.defs#textIntent","type":"ref"},"primary":{"description":"Headlines and titles.","ref":"lex:place.mode.standard.defs#textIntent","type":"ref"},"secondary":{"description":"Body copy — the text a page is mostly made of.","ref":"lex:place.mode.standard.defs#textIntent","type":"ref"}},"required":["primary","secondary","auxiliary"],"type":"object"},"typographyAspect":{"description":"The typography aspect of a theme: text (12 intents), complete when present.","properties":{"text":{"description":"Typography by priority.","ref":"lex:place.mode.standard.defs#textPriorities","type":"ref"}},"required":["text"],"type":"object"}},"id":"place.mode.standard.defs","lexicon":1}