Modules
The component contract (spec/01): the behavior every Macaw component implements, and the dispatch functions a host reaches a component through.
An announcement request (spec/01 §1.6): %{name, text, politeness}, for a name the
component declares in announces. Components never render a live region; the announcer
is the host's.
The assigns a component renders with (spec/02 §1): context, settings,
declarations, drawn, deliveries and value, and nothing else. Nothing else reaches
a component: not the viewer, not another component, not the page.
The fixed names of the client protocols every adopter shares (spec/02 §8): the announcer's two regions, the announce event, and the client bus. Each is found, not created per component, so components share one announcer and one bus on any page.
The component conformance kit (spec/04): the contract and the rendering rules as checks, so a component author proves conformance by running it.
The context a component renders in (spec/02 §2): its mode, instance, size, root font size, heading level, theme, the viewer's preferences, and the holder's now.
A component's configured declarations (spec/01 §1.2), built by new/2 from its
declarations/1 answer, every key checked, every fault at once.
Drawn states (spec/02 §6): every component is always in exactly one, in this precedence,
each but live with a theme role, a glyph and words, and never blank.
The rendering modes and what each allows (spec/02 §3).
The package side of the registry (spec/03): what a package provides, read the same way
by every host. A package is a module with __members__/0; its components are the
members that use Macaw.Component, each registering through its static declarations.
Proxy routes (spec/01 §1.8): media a component needs from another origin, fetched by the host's one same-origin proxy, so a page holds same-origin URLs only.
A slot: a typed input, %{requires: %{role => requirement}, doc: "…"} (spec/01 §1.3).
The state vocabulary a component and every host agree on (spec/01 §1.5): the standard state sources a component may write, and the value and domain types.
Generated stylesheets (spec/01 §1.8): CSS a document defines at runtime, served from
'self' at a path addressed by its content, so the same document always yields the same
file and base renders capture it.