Skip to content

blocks/spec-sheet

SpecRulerProps = Omit<HTMLAttributes<HTMLDivElement>>, "children"> > & object

Props accepted by SpecRuler.

label: ReactNode

A short section label, such as 01 · Plans.


SpecFrameProps = Omit<HTMLAttributes<HTMLElement>>, "children"> > & object

Props accepted by SpecFrame.

children: ReactNode

Caller-owned media, such as an img with its own alt text.

optional caption?: ReactNode

A short printed caption under the frame.

optional tone?: "paper" | "ink"

ink seats dark media, such as a terminal readout, in the frame.


SpecFact = object

One fact in a SpecFacts strip.

id: string

value: ReactNode

label: ReactNode


SpecFactsProps = Omit<HTMLAttributes<HTMLDListElement>>, "children"> > & object

Props accepted by SpecFacts.

facts: readonly SpecFact[]


SpecStep = object

One step in a SpecSteps list.

id: string

title: ReactNode

body: ReactNode


SpecStepsProps = Omit<HTMLAttributes<HTMLOListElement>>, "children"> > & object

Props accepted by SpecSteps.

steps: readonly SpecStep[]


SpecFaqItem = object

One question in a SpecFaq list.

id: string

question: ReactNode

answer: ReactNode

Caller-reviewed answer content.


SpecFaqProps = Omit<HTMLAttributes<HTMLDivElement>>, "children"> > & object

Props accepted by SpecFaq.

items: readonly SpecFaqItem[]

optional defaultOpen?: readonly string[]

Ids of the items that start open.


SpecDiagramMarker = object

One labelled part of a SpecDiagram, placed in percent of the art.

id: string

tag: string

A short tag drawn on the art, such as A.

x: number

Distance from the art’s left edge, 0 to 100.

y: number

Distance from the art’s top edge, 0 to 100.

label: ReactNode

optional note?: ReactNode


SpecDiagramProps = Omit<HTMLAttributes<HTMLElement>>, "children"> > & object

Props accepted by SpecDiagram.

art: ReactNode

Caller-owned art, such as an img with its own alt text.

markers: readonly SpecDiagramMarker[]


SpecPrintFilterProps = object

Props accepted by SpecPrintFilter.

optional offset?: object

Misregistration of the second ink, in CSS pixels. Defaults to 2, 1.

x: number

y: number

const SpecRuler: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>>, "children"> > & object & RefAttributes<HTMLDivElement>>>>

A tick-marked rule that separates sections, with crosshairs at both ends. It is decorative: the section heading carries the accessible name.


const SpecFrame: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLElement>>, "children"> > & object & RefAttributes<HTMLElement>>>>

A figure seated in a hatched band, like a plate in a printed manual.


const SpecFacts: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDListElement>>, "children"> > & object & RefAttributes<HTMLDListElement>>>>

A ruled strip of short facts: a big value over a small label.


const SpecSteps: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLOListElement>>, "children"> > & object & RefAttributes<HTMLOListElement>>>>

A numbered row of steps in ruled cells, numbered 01, 02 and on.


const SpecFaq: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>>, "children"> > & object & RefAttributes<HTMLDivElement>>>>

Questions and answers as native disclosures. It works without JavaScript, and every answer stays in the document for search and find-in-page.


const SpecDiagram: ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLElement>>, "children"> > & object & RefAttributes<HTMLElement>>>>

A manual-style parts diagram: tags drawn on the art and a legend that names each part. The legend is the accessible text; tags are decorative.

SpecPrintFilter(__namedParameters): Element

The #caps-print SVG filter, rendered once per page. It turns 1-bit art (dark ink on light paper) into the theme’s ink on a transparent ground, with a second ink printed slightly off register underneath, like a two-drum risograph. Art opts in through the theme’s --caps-print-filter; the inks come from --caps-print-ink and --caps-print-offset.

SpecPrintFilterProps

Element