## deferred (`poetry_deferred`)

A region that lazily loads its content on visibility, with skeleton and error states.

Class: Poetry::Ui::Deferred::Component - BEM block `poetry-ui-deferred`.
- `loading:` (symbol) - default "lazy" - :lazy fetches when the frame becomes visible; :eager fetches right after paint.
- `src:` (string) - required - The URL to fetch - required; rendering without it raises.
- PART `deferred` - The <turbo-frame> root - src is armed at connect(); failure is a state reflected here, never silent blankness | states: data-error (a frame fetch failed (error response, missing frame, or network error) - the controller stamps the error card; retry clears it)
- PART `deferred-error` - The retryable error card, stamped into the frame from the slotted <template> on failure
- WIRING root: `poetry--core--deferred` registers; values src
- WIRING placeholder: `poetry--core--deferred` targets placeholder
- WIRING error_template: `poetry--core--deferred` targets error
- WIRING retry: `poetry--core--deferred` actions retry on click
- RULE: Use poetry_deferred(src:) for expensive regions - never a spinner div + a hand-rolled fetch.
- RULE: loading: :lazy (the default) fetches on visibility: a deferred region inside a hidden Tabs panel (with_tab defer:) or HoverCard (defer:) loads on first reveal for free.
- RULE: The block is the placeholder (a Skeleton renders when absent); failure shows a retryable error card automatically - never hand-wire loading or error states around it.
