Shell
An app shell of sidebar navigation, a ⌘K command palette, a notification tray and an overview dashboard
Usage
Sidebar workspace
⌘K opens the command palette, the sidebar switches sections, and the bell opens notifications. Sample data.
Loading demo...
Top-nav console
Navigation folds into two rows at the top, leaving the full width to content. Suits consoles with few sections and frequent product or workspace switches.
⌘K opens the command palette; product, workspace, notifications, and account are dropdown menus. Sample data.
Loading demo...
Overview
The admin shell of a team workspace: switching sections replaces only the main area.
- ⌘K (Ctrl+K on Windows) is bound on the template root and calls
preventDefault(), so the docs site's own search stays closed. - The sidebar switches sections; New workflow adds an entry to the top of the feed.
- The bell opens the latest notification; feedback from commands and the account menu lands in the same tray and closes after 3.2 seconds.
- It plays once when it scrolls into view; a click or key press stops it, and reduced motion shows the final state.
- Wide (≥ 960px) adds a rail; narrow (< 640px) folds the sidebar into a top-bar menu.
- Top-nav console: product, workspace, notifications, and account are dropdown menus, with a Data region submenu under workspace; a project card opens its detail, and the breadcrumb walks back.
- Top-nav console: narrow (< 640px) swaps the global bar for a TxNavBar and moves the menus into a drawer.
Customization
- The navigation data is TxSidebarNav's
items; the narrow menu reuses it. - Bind shortcuts on the template root, not
windowordocument; givesearch-hinta multi-character glyph such as⌘K. - Use a controlled TxToastPanel for notifications, not the global
toast(). - With many sections, turn the main area into a router outlet (
<RouterView>/<NuxtPage>). - Top-nav console: TxDropdownMenu panels top out at 360px; for wider panels use TxPopover with an explicit
widthand handle focus yourself.
Related components
| Region | Components | Role |
|---|---|---|
| Sidebar | TxSidebarNav | Workspace switcher, grouped navigation, and the main action |
| Top bar | TxBreadcrumb, TxSearchInput, TxKbd, TxTooltip | Location, filter, and the ⌘K entry |
| Notification tray | TxIconButton, TxBadge, TxToastPanel, TxIconChip | Bell, unread count, and latest notification |
| Account menu | TxDropdownMenu, TxAvatar | Account actions |
| Command palette | TxCommandPalette | Navigation and global commands |
| Metrics | TxStatCard, TxTextMorph | Key metrics |
| Activity | TxTimeline, TxSearchEmpty | Recent events and the no-results state |
| Query trend | TxSparkChart / TxChartScrubber | Queries per hour |
| Rail (wide) | TxStatusBadge, TxAvatar, TxButton | Who is online, services, devices |
| Other sections | TxEmptyState, TuffSwitch, TxTag | Plugin toggles and empty states |
| Global bar (Top-nav console) | TxDropdownMenu / TxDropdownItem / TxDropdownSubmenu, TxIconChip, TxKbd | Product, workspace, and data-region switching; search entry |
| Notifications and account (Top-nav console) | TxCornerOverlay, TxBadge, TxDropdownMenu, TxAvatar, TxTooltip | Unread badge, notification menu, and account menu |
| Section tabs (Top-nav console) | TxTabs / TxTabItem, TxAvatarGroup / TxAvatar, TxTextMorph | Section tabs and who is online |
| Page header (Top-nav console) | TxTabHeader from TxTabs, TxBreadcrumb, TxButton / TxSplitButton | Breadcrumb drill-down and create-by-type |
| Projects (Top-nav console) | TxCard, TxStatusBadge, TxProgressBar, TxFilterChips, TxSearchInput, TxCardItem | Project grid, filters, and detail |
| Rail (Top-nav console, wide) | TxCardItem, TxSparkChart | Who is online, builds, and activity |
| Narrow (Top-nav console) | TxNavBar, TxDrawer | Compact top bar and drawer menus |