Skip to content

UI Components

UI components are ready-made frontend building blocks — tables, charts, modals, upload areas, and more. They're pure JavaScript with no npm dependencies, so they load fast and work anywhere.

To add one, just ask in chat:

"Add a sortable table to display the results" "Show a bar chart of monthly expenses" "Add a toast notification when the form submits" "Let users export the table as a CSV"


Data Display

ComponentWhat it does
Sortable Data TableSortable, filterable table with configurable columns and optional row selection
Stat CardsDisplay key metrics in a card grid — great for dashboards
Metric GaugeRadial gauge visualization for a single value (e.g. completion %, health score)
TimelineChronological event log or activity feed
Status StepperMulti-step progress indicator (e.g. Submitted → In Review → Approved)

Charts

ComponentWhat it does
ChartsBar, line, and pie charts powered by Chart.js (loaded from CDN). Handles destroy-before-rerender automatically to avoid canvas errors.

Maps

ComponentWhat it doesNeeds
Route MapInteractive map showing delivery or service routes with stop markersNothing — uses OpenStreetMap
Maps IntegrationInteractive map with custom markers, GeoJSON layers, and pan/zoomNothing — uses Leaflet + OpenStreetMap, no API key

User Input & Forms

ComponentWhat it doesNeeds
Client-Side SearchInstant filter-as-you-type search bar — works on any list of itemsNothing
Date PickerCalendar-based date selection with an onChange callbackNothing
Time Slot PickerSelect available time slots — good for booking and scheduling appsNothing
Address AutocompleteAutocomplete address input with lat/lng results via OSM geocoding, proxied through the WorkerNothing — uses OpenStreetMap Nominatim, no API key
Tag InputTag/chip input — add tags on Enter or comma, remove with Backspace or ×, duplicate preventionNothing
Rich Text EditorWYSIWYG editor (bold, italic, headings, lists, links) built on contenteditableNothing
Form ValidationReal-time inline field validation with custom rules and submit guardNothing

File Uploads

ComponentWhat it doesNeeds
Drag-and-Drop File UploadDrag-and-drop upload with progress bar, file list, and delete. Files go to R2 storage.File storage (R2)

Modals & Notifications

ComponentWhat it does
Modal DialogReusable modal with header, body, and footer — for forms, detail views, confirmations
Confirmation Dialog"Are you sure?" prompt with yes/no buttons
Toast NotificationsEphemeral pop-up messages — success, error, warning, info

Lists & Pagination

ComponentWhat it does
PaginationPage controls (prev/next/page numbers) for large lists
Infinite ScrollAuto-load more items as the user scrolls to the bottom

Data Export & Bulk Actions

ComponentWhat it does
CSV ExportDownload any table's data as a CSV file
Bulk Action BarToolbar that appears when rows are selected — for bulk delete, export, status change, etc.

ComponentWhat it does
TabsTab navigation panel — keyboard accessible, optional URL hash sync, supports dynamic content loading
Tree ViewCollapsible/expandable tree for hierarchical data — file trees, org charts, nested menus

Utilities

ComponentWhat it does
Empty StateA nice placeholder UI when a list or table has no data yet
Signature CaptureCapture a handwritten signature via canvas — useful for proof of delivery or approvals

Built by the Veho Developer Platform team