Skip to content

Components

Vacano UI provides 50+ production-ready components organized by category.

Interactive Playground

Explore all components interactively in our Storybook.

Icons

1800+ Lucide icons as React components with tree-shaking support.

tsx
import { Search, User, Plus, Check, X } from '@vacano/ui/icons'

Browse all icons

Form

Components for user input and form controls.

ComponentDescription
AutocompleteAsync search input with suggestions (typeahead, combobox)
ButtonClickable button with variants, icons, keyboard bindings, and loading state
CheckboxCheckbox input with label and indeterminate state
CheckboxCardCard-style checkbox with description
CheckboxGroupGroup of checkboxes with shared state
DatePickerDate, month, or year selection with calendar dropdown
FileUploadDrag-and-drop file upload with progress tracking
InputSingle-line text input with label and validation
MultiSelectMultiple selection with modal picker
OtpCodeOTP/PIN verification code input (SMS, 2FA)
RadioRadio button input
RadioCardCard-style radio button with description
RadioGroupGroup of radio buttons
SelectSingle selection dropdown
TagsTag input with autocomplete and free-form support
TextareaMultiline text input with label and validation
ToggleToggle switch for binary on/off settings
ToggleCardCard-style toggle with description
ToggleGroupGroup of toggles with shared state

Data Display

Components for displaying information.

ComponentDescription
AvatarUser avatar with image, initials fallback, icon, and status indicator
AvatarGroupGroup of overlapping avatars with max count
BadgeStatus indicator dot or counter on any element
CardContainer with header, body, footer, shadow, and border
ChipSmall label/tag with optional icon and delete action
DateRangeDisplay a date range (from–to) with optional "Present" label
HashtagHashtag display with optional link
HeadingSemantic heading (h1–h6) with visual level override
OverlineSmall uppercase label with optional description
ProgressProgress bar indicator (0–100%)
SkeletonLoading placeholder with pulse or wave animation
StatStatistic display with value and label
StepLogCI/CD-style step log with status, duration, and expandable output
TabsTab navigation for switching views
TimelineVertical timeline for chronological events
UserUser display with avatar, name, and description

Feedback

Components for user notifications, confirmations, and loading states.

ComponentDescription
AlertInline alert block with icon, title, description, and variant colors
ConfirmationYes/no confirmation dialog for destructive actions
DrawerSlide-out side panel (left, right, top, bottom)
EmptyStateEmpty view with icon, title, description, and actions
ModalOverlay dialog for forms and content
NotificationTop-of-screen notification bar (one at a time, queued)
NotifyConfirmationSlide-in confirmation with confirm/discard actions
SaveProgressBackground save/upload indicator (bottom-right)
SpinnerLoading/activity indicator
ToastrToast notifications (multiple, bottom-left)
TooltipHover tooltip with placement and variants

Layout

Components for page structure.

ComponentDescription
ContainerResponsive centered container with max-width
DividerVisual separator with optional label
PanelTitled content section with description
ShellScreenFull-screen layout with grid background for auth, error, and status pages

Components for navigation and flow.

ComponentDescription
AccordionExpandable content sections with outlined or splitted variants
BreadcrumbsNavigation breadcrumb trail with collapsing support
DropdownPopup menu triggered by any element
MenuButtonAnimated hamburger menu button (toggles to X)
PaginationPage navigation with variants and controls
StepperStep indicator for multi-step wizards

Form Wrappers (react-hook-form)

17 Form* components for react-hook-form integration. Each wrapper binds a Vacano UI component to a form field, automatically handling value binding, validation errors, and error display.

WrapperBase Component
FormInputInput
FormTextareaTextarea
FormSelectSelect
FormAutocompleteAutocomplete
FormDatePickerDatePicker
FormMultiSelectMultiSelect
FormOtpCodeOtpCode
FormTagsTags
FormCheckboxCheckbox
FormCheckboxCardCheckboxCard
FormCheckboxGroupCheckboxGroup
FormRadioRadio
FormRadioCardRadioCard
FormRadioGroupRadioGroup
FormToggleToggle
FormToggleCardToggleCard
FormToggleGroupToggleGroup

Full documentation and examples

Utility

Helper components for forms, keyboard shortcuts, and styling.

ComponentDescription
FieldLabelForm field label with required indicator
FieldMessageValidation message, hint, or error below form fields
FieldRowGrid container for horizontal field alignment (CSS Subgrid)
GlobalStyleGlobal CSS reset and base styles (required)
ImageCropperImage upload and cropping (avatars, profile pictures)
KeysBindingsKeyboard shortcut display (e.g. Cmd+S)
KeySymbolSingle key symbol display

Choosing the Right Component

Text Input

NeedComponent
Single-line textInput
Multiline textTextarea
Search with API suggestionsAutocomplete
OTP / verification codeOtpCode
File selectionFileUpload

Selection

NeedComponent
One option from a listSelect
Multiple options from a listMultiSelect
Tags / keywords with autocompleteTags
Simple yes/no toggleCheckbox or Toggle
One from few options (visible)RadioGroup
Multiple from few options (visible)CheckboxGroup
Rich option cards (single)RadioCard
Rich option cards (multiple)CheckboxCard or ToggleCard
Date / month / yearDatePicker

Data Display

NeedComponent
User identityAvatar or User
Multiple usersAvatarGroup
Status label / tagChip or Badge
Key statisticStat
Section labelOverline or Heading
Loading placeholderSkeleton
Completion percentageProgress
CI/CD pipelineStepLog
Chronological eventsTimeline

Overlays

NeedComponent
Form or content overlayModal
Side panel for detailsDrawer
Simple yes/no confirmationConfirmation
Custom popup menuDropdown
Hover informationTooltip

Notifications & Loading

NeedComponent
Inline alert / messageAlert — inside containers, cards, panels
Brief feedback (success, error)Toastr — multiple toasts, bottom-left
Prominent single notificationNotification — top bar, queued
Background save indicatorSaveProgress — bottom-right, non-blocking
Loading spinnerSpinner
Completion percentageProgress
Button loading stateButtonloading prop
Empty content placeholderEmptyState
NeedComponent
Page breadcrumbsBreadcrumbs
Tab switchingTabs
Multi-step wizardStepper
Page paginationPagination
Collapsible sectionsAccordion
Hamburger menu toggleMenuButton

Released under the MIT License.