ShellHtmlRenderer
Paints the shell's own components — `admin-sidebar` and `admin-section-header` — as HTML on the `mui-*` design classes, each closed with its signed state envelope like every Milpa component. The sidebar keeps the exact item markup of `milpa/live`'s `dashboard-sidebar` (`.mui-sidebar__item` with its icon and label spans, `aria-current="page"` on the active one), so the design bundle and any guest that matched the primitive's items keep working — and adds what the primitive lacks: one `.mui-sidebar__section` per group, headed by the catalog's label (`ADMIN / APP / AGENT`; an unknown group is its own name uppercased in its own alphabet — `año` reads `AÑO`), and the glyph a section declared. A heading's id is positional (`<sidebar id>-group-<n>`), never derived from the group's name, so two names that would sanitize alike (`my lab`, `my-lab`) never share an id. Every human-facing string comes from the {@see Catalog} the request's `ComponentContext` names by locale — the shell always fills it, so the sidebar and the header answer in the language the page does.
ShellHtmlRenderer::__construct()
public function __construct(Milpa\Live\Contracts\Transport\StateTransferCodecInterface $codec):Parameters
| Name | Type | Description |
|---|---|---|
| $codec | Milpa\Live\Contracts\Transport\StateTransferCodecInterface |
ShellHtmlRenderer::supportsTarget()
public function supportsTarget(Milpa\Live\ValueObjects\RenderTarget $target): boolHTML only — the panel is a web surface.
Parameters
| Name | Type | Description |
|---|---|---|
| $target | Milpa\Live\ValueObjects\RenderTarget |
ShellHtmlRenderer::render()
public function render(Milpa\Live\Contracts\Component\ComponentDefinitionInterface $component, Milpa\Live\ValueObjects\RenderRequest $request): Milpa\Live\ValueObjects\RenderResultMounts (unless the request carries state) and paints the shell component the contract names.
Parameters
| Name | Type | Description |
|---|---|---|
| $component | Milpa\Live\Contracts\Component\ComponentDefinitionInterface | |
| $request | Milpa\Live\ValueObjects\RenderRequest |
Throws
\InvalidArgumentException for a component that is not one of the shell's two