AppShell UI component
Purpose
AppShell is a shell/layout component. Standard local application frame. Use for local app-style servers and Go WebAssembly tools.
Inputs
| Field | Required | Type | Behavior |
|---|---|---|---|
title |
yes | string or Go value | Sets page title. |
body |
yes | slot node | Main content. |
nav |
no | slot node or {label,href,active} array |
Default empty navigation; item label and href are required, active is optional boolean defaulting false. href must be same-origin path or an https: URL whose origin appears in host runtime config externalNavOrigins, an array of exact origins such as https://docs.example.com. |
runtimeConfig |
no | public object | Default empty object. Values must be public and JSON-serializable. |
assetURLs |
no |
{css,wasm} object |
Both members are optional same-origin paths; omitted members use host defaults. |
Boundary
The shell renders local chrome only. Provider policy means auth checks, permission decisions, account eligibility, and API authorization; those remain in provider/API modules and product view models.
Example
package workspaceui
var workspaceShell = (
<AppShell title="Local workspace">
<Panel slot="body" title="Workspace"></Panel>
</AppShell>
)
Runtime Terms
Expression children document ordinary Go
expressions inside markup bodies. In this patch, AppShell accepts only
already-validated navigation and asset URLs from its parent component or host
runtime config.