UI: Architecture
Panels → pages/resources → Livewire → routes flow.
Streams UI follows a Filament-inspired architecture: panels contain resources, resources define pages, and pages host Livewire components that resolve form and table builders.
Request flow
flowchart LR
Request --> Middleware
Middleware --> SetUpPanel
SetUpPanel --> LivewirePage
LivewirePage --> Resource
Resource --> FormOrTable
FormOrTable --> CoreStream
- HTTP request hits
/admin/{resource}/... SetUpPanelmiddleware boots the current panel viaUI::bootCurrentPanel()- Livewire page (
ListEntries,CreateEntry,EditEntry) mounts - Page delegates to
Resource::table()orResource::form() - Builders query or persist via Core
Streams::entries()
Key classes
| Layer | Namespace |
|---|---|
| Panel | Streams\Ui\Builders\Panels\Panel |
| Resource | Streams\Ui\Resources\Resource |
| Form | Streams\Ui\Builders\Forms\Form |
| Table | Streams\Ui\Builders\Tables\Table |
| Pages | Streams\Ui\Livewire\Pages\* |
Builders vs Livewire
Builders (Form, Table, Action) are configuration objects. Livewire pages (InteractsWithForms, InteractsWithTable) bind builder state to HTTP requests.