Skip to content
docsv0.34.0

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

Parameters of __construct()
NameTypeDescription
$codecMilpa\Live\Contracts\Transport\StateTransferCodecInterface

ShellHtmlRenderer::supportsTarget()

public function supportsTarget(Milpa\Live\ValueObjects\RenderTarget $target): bool

HTML only — the panel is a web surface.

Parameters

Parameters of supportsTarget()
NameTypeDescription
$targetMilpa\Live\ValueObjects\RenderTarget

ShellHtmlRenderer::render()

public function render(Milpa\Live\Contracts\Component\ComponentDefinitionInterface $component, Milpa\Live\ValueObjects\RenderRequest $request): Milpa\Live\ValueObjects\RenderResult

Mounts (unless the request carries state) and paints the shell component the contract names.

Parameters

Parameters of render()
NameTypeDescription
$componentMilpa\Live\Contracts\Component\ComponentDefinitionInterface
$requestMilpa\Live\ValueObjects\RenderRequest

Throws

\InvalidArgumentException for a component that is not one of the shell's two