/** * THE MARK SCALE — the one set of squares a mark standing for someone or something is drawn at: a face, its initials, * a picture, a document's badge, the placeholder for either, a stack of them (`constitution.md` §9). Every mark * that leads a row, a line or a datum takes a rung here, so marks side by side are one size. */ /** From `identityRung`, never pixels. */ export type MarkSize = "xs" | "sm" | "md" | "lg" | "xl" | "xxl"; /** * `md` is `CONTROL_CONTENT_HEIGHT` and `lg` is `CONTROL_HEIGHT`: a mark is the tallest thing in its row, so an * overshooting rung resizes the container. `tokens.css` states the same squares as `--lotics-mark-*`. */ export declare const MARK_PX: Record; /** * The text block a mark identifies, which its rung is read from: `line` a statement on a line of small words, * `datum` a chart's datum's name, `name` alone, `pair` with a supporting line, `heading` a record's title line, * `profile` a profile's header. */ export type IdentityBlock = "line" | "datum" | "name" | "pair" | "heading" | "profile"; export interface IdentitySetting { /** The one place a lone name's mark drops to `sm`. */ dense?: boolean; /** A thing's picture is the row's content, so it never draws under a pair's rung. */ thing?: boolean; } /** * The height of the text block it identifies (`constitution.md` §9): a rung under reads as a footnote, one over * resizes the row. A datum's is the smallest whose initial reads, since a chart is read at a glance; its label * column budgets it. */ export declare function identityRung(block: IdentityBlock, { dense, thing }?: IdentitySetting): MarkSize; /** * A LIST'S PICTURE SLOT — a register's row, a child's, a folder's, a file's: two rungs over a name's mark, so a * picture held reads as the thing rather than a bullet. */ export declare const ROW_PICTURE: MarkSize; /** * What stands in a lead's slot, each at its natural size there (`markInSlot`): * - `tile` — a picture filling the slot, or a document: a tile the slot's size, a picture's frame, its badge inset * (`tileBadge`); * - `placeholder` — a document not held, a paper owed: that tile dashed, the page's ghost in it; * - `lacking` — a thing's picture not held: that tile dashed, the picture's glyph in it. In a list it marks the rows * lacking one only beside a lead that holds a picture or a document; where none does, it draws nothing; * - `face` — a person or an organisation, by a picture or initials: a face's rung, centred. */ export type LeadMark = "tile" | "placeholder" | "lacking" | "face"; /** * ONE SLOT PER LIST, so every name starts at one x: the picture's where any row holds a picture or a document, else a * face's; on a phone a list steps down to a face's before a name is cut; none where every lead is a picture not held * (`lacking`). The slot is no mark's size. */ export declare function leadSlot(tiled: boolean): MarkSize; /** A face never grows past a face's rung: at a picture's size it reads as a poster beside the name it marks. */ export declare function markInSlot(mark: LeadMark, slot: MarkSize): MarkSize; /** * THE BADGE A DOCUMENT'S TILE HOLDS, in px — 34 in a picture's 56, 24 in a face's 40: inset, never edge to edge, so the * page reads as a paper in a picture's frame rather than one crammed into it. */ export declare function tileBadge(tile: number): number; /** The largest rung a square of `px` holds — the smallest where none fits. */ export declare function markSizeWithin(px: number): MarkSize;