SeviaFlow Get Started

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;

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.