UI: Navigation
UI navigation is built from Resource metadata and dashboard registrations.
Resource Navigation Metadata
protected static ?string $navigationLabel = 'Customers';
protected static ?string $navigationGroup = 'Operations';
protected static ?string $navigationIcon = 'users';
protected static ?int $navigationSort = 10;
protected static bool $shouldRegisterNavigation = true;
Navigation Cache
The UI service provider registers navigation metadata services and tags a navigation cache participant. The default config enables seviaflow-ui.cache.navigation.
API Docs Navigation
The UI config can show API docs in navigation using api_docs_navigation.show_in_navigation, api_docs_navigation.route_name and a permission tuple for __settings.api-docs with ability apiDocs.view.
Accessible shell contract
The shared shell keeps navigation labels, status text and control microcopy in the UI translation catalog. Resource labels wrap instead of being clipped, while the sidebar supports an active state, a persisted desktop collapse state and a mobile drawer.
The command palette remains navigation-only and opens with Ctrl/Cmd + K. Dialogs and drawers expose labelled modal semantics, keep focus inside while open, close with Escape and return focus to the trigger after closing or a Livewire update. The background is inactive while an overlay is open.
Field controls use stable label, help and error IDs. Invalid controls expose aria-invalid and required controls expose aria-required; validation messages are linked through aria-describedby.
Get Started