Components Overview
The UI Kit provides four categories of functionality:
UI Primitives
Low-level, accessible components from shadcn-vue. These are unstyled by default and themed via CSS variables.
Available Components
| Component | Description |
|---|---|
| Accordion | Collapsible sections |
| Alert | Alert messages |
| AlertDialog | Confirmation dialog |
| AspectRatio | Aspect ratio container |
| Avatar | User avatar |
| Badge | Status badge |
| Button | Clickable button with variants and sizes |
| Calendar | Date picker |
| Card | Content container |
| Checkbox | Checkbox input |
| Collapsible | Collapsible content |
| Command | Command palette |
| ContextMenu | Right-click menu |
| Dialog | Modal dialog with overlay |
| DropdownMenu | Context menu |
| Form | Form wrapper with validation |
| HoverCard | Hover preview |
| Input | Text input with v-model support |
| Label | Form label |
| Menubar | Top menubar |
| NavigationMenu | Site navigation |
| Pagination | Page navigation |
| Popover | Floating content |
| Progress | Progress indicator |
| RadioGroup | Radio button group |
| ScrollArea | Custom scrollbar |
| Select | Dropdown select input |
| Separator | Visual divider |
| Sheet | Side panel |
| Skeleton | Loading placeholder |
| Slider | Range slider |
| Switch | Toggle switch |
| Table | Data table |
| Tabs | Tabbed navigation |
| Textarea | Multiline text input |
| Toaster (Sonner) | Toast notifications |
| Tooltip | Hover tooltip |
Domain Components
Platform-specific components designed for GXP platform use cases.
Available Components
| Component | Description |
|---|---|
| ActivityNotifications | Toast notification system for activity events |
| AudioVisualizer | Frequency bars and waveform timeline via Web Audio API |
| AwardIcon | SVG award/medal icon |
| BarcodeScanner | QR/barcode scanning using Quagga2 with dynamic import |
| Countdown | Idle timeout countdown with user interaction detection |
| FileUploader | File upload with image processing and multi-file support |
| Header | Page header with background image, logo, and video support |
| Leaderboard | Ranked list with placeholders, top-3 styling, and animations |
| Spinner | Loading spinner with sm/md/lg sizes |
| VideoPlayer | HTML5 video player with TypeScript props and events |
Composables
Reusable composition functions for common platform functionality.
Available Composables
| Composable | Description |
|---|---|
| useAnimations | Page transition animations with animate.css |
| useErrors | Shared error message state management |
| useMedia | Video/audio recording, device management, canvas processing |
| useNfcListener | NFC scan event handler via window.postMessage |
| useScanning | Barcode/QR scan state management |
| useExperience | State-machine orchestrator for multi-stage flows |
| useExperienceApi | Adapter that maps callApi to named experience actions |
Experience Flow
A state-machine orchestrator with 20 prebuilt page components for building multi-stage interactive apps (kiosks, photo booths, AI experiences). Pages are pure (emit data only); the optional useExperienceApi adapter wires API calls between pages so a typical flow is ~5 lines of config.
See the Experience Flow overview for the full guide.