01 Select

A versatile dropdown select component with support for single/multi selection, search filtering, server-side search, infinite scroll loading, and custom option/tag rendering.

Preview

Single Select
Multi Select

Props

NameTypeRequiredDescription
modelValueArray<string | number> | string | number | nullNoSelected value(s). Use v-model for two-way binding
optionsSelectOption[]YesArray of options with label, value, and optional disabled property
placeholderstringNoPlaceholder text when no option is selected
searchPlaceholderstringNoPlaceholder text for the search input inside dropdown
disabledbooleanNoDisables the select component
clearablebooleanNoShows clear button to reset selection
singleSelectbooleanNoForces single selection mode
noResultsTextstringNoText shown when search yields no results
dropdownMaxHeightClassstringNoCustom CSS class for dropdown max height
isTransparentbooleanNoMakes the select background transparent
searchOnServerbooleanNoEnables server-side search mode
namestringNoForm field name attribute

Events

NamePayloadDescription
@update:modelValuestring | number | (string | number)[] | nullEmitted when selection changes
@searchstringEmitted when user types in search input (for server-side search)
@load-morevoidEmitted when user scrolls to bottom (for infinite loading)

Slots

NameDescription
#tagCustom template for selected tags in multi-select mode
#optionCustom template for dropdown options

02 DatePicker

A powerful date picker component built on top of vue-datepicker. Supports single date and date range selection, dark mode, teleportation for proper z-index handling, and programmatic control via exposed methods.

Preview

Single Date

Select date

Date Range

Select dates

Props

NameTypeDefaultDescription
modelValueDate | Date[]Selected date or date range. Use v-model for two-way binding
teleportbooleantrueTeleports the calendar popup to body element
inTablebooleanfalseOptimizes styles for usage inside tables
initDateFunctionFunction to initialize the default date
isClerablebooleantrueShows clear button to reset the date
darkbooleanfalseEnables dark theme for the calendar
isRangebooleantrueEnables date range selection mode
size"default" | "large""default"Size variant of the date picker input
namestringForm field name attribute

Events

NamePayloadDescription
@update:modelValueDate | Date[] | undefinedEmitted when date selection changes
@changeanyEmitted when date changes (alternative to v-model)

Exposed Methods

MethodDescription
setDateRangeMethod to programmatically set the date range: (dates: Date[] | Date | null) => void
clearDateMethod to clear the selected date: () => void
getCurrentValueMethod to get current value: () => Date | Date[] | undefined

03 CButton

A versatile button component with multiple visual variants, sizes, loading state, and full accessibility support.

Variants

Sizes

States

Props

NameTypeDefaultDescription
variantButtonVariant"brand""brand" | "brand-outline" | "primary" | "primary-outline" | "secondary" | "error" | "error-outline" | "default" | "custom"
sizeButtonSize"medium""small" | "medium" | "large"
disabledbooleanfalseDisables the button
loadingbooleanfalseShows loading spinner and disables interaction

Slots

NameDescription
#defaultButton content (text, icons, etc.)

04 IconButton

A compact icon-only button component with various visual variants. Perfect for toolbars, action buttons, and compact UI elements.

Green Variants

Dark & Black Variants

Red Variants

Disabled

Props

NameTypeDefaultDescription
variantIconButtonVariant"filled-green""filled-green" | "outlined-green" | "small-green" | "filled-dark-gray" | "small-black" | "filled-red" | "outlined-red" | "small-red" | "small-black-to-green" | "small-brand" | "custom"
iconIconNameIcon name from the built-in icon set
disabledbooleanfalseDisables the button

Slots

NameDescription
#defaultCustom icon content (overrides icon prop)

05 Input

A flexible text input component with label support, error states, multiple input types, and customizable icon slots.

Preview

This field is required

Props

NameTypeDefaultDescription
modelValuestring | numberInput value. Use v-model for two-way binding
placeholderstringPlaceholder text shown when input is empty
labelstringLabel text displayed above the input
errorsstring | string[]Error message(s) to display below the input
disabledbooleanfalseDisables the input
typeTInputTypes"text""text" | "number" | "email"
inputClassstringAdditional CSS class for the input element

Slots

NameDescription
#icon-leftCustom icon on the left side of input
#icon-rightCustom icon on the right side of input
#header-slotAdditional content in the header area

06 SearchInput

A specialized search input component with built-in search and clear icons. Extends CInput with search-specific features.

Preview

Props

NameTypeDefaultDescription
modelValuestring | numberSearch input value. Use v-model for two-way binding
variant"base" | "table""base"Visual variant: base for forms, table for compact headers
placeholderstringPlaceholder text
labelstringLabel text displayed above the input
errorsstring | string[]Error message(s) to display
disabledbooleanfalseDisables the input
typeTInputTypes"text"Input type (inherited from CInput)
inputClassstringAdditional CSS class for the input element

Slots

NameDescription
#header-slotAdditional content in the header area
#clear-iconCustom clear button icon
#search-iconCustom search icon

07 PasswordInput

A secure password input component with built-in show/hide toggle functionality. Extends CInput with password-specific features.

Preview

Props

NameTypeDefaultDescription
modelValuestring | numberPassword value. Use v-model for two-way binding
placeholderstringPlaceholder text
labelstringLabel text displayed above the input
errorsstring | string[]Error message(s) to display
disabledbooleanfalseDisables the input
inputClassstringAdditional CSS class for the input element

Slots

NameDescription
#icon-leftCustom icon on the left side of input
#header-slotAdditional content in the header area
#toggle-icon-showCustom icon for "show password" state
#toggle-icon-hideCustom icon for "hide password" state

08 Textarea

A multi-line text input component with label support, error states, and optional resize functionality.

Preview

Props

NameTypeDefaultDescription
modelValuestringTextarea value. Use v-model for two-way binding
placeholderstringPlaceholder text
labelstringLabel text displayed above the textarea
errorsstring | string[]Error message(s) to display
disabledbooleanfalseDisables the textarea
rowsnumber4Number of visible text rows
resizablebooleanfalseAllows user to resize the textarea
inputClassstringAdditional CSS class for the textarea element

Slots

NameDescription
#header-slotAdditional content in the header area

09 Checkbox

A styled checkbox component with label support, two size variants, and disabled state.

Default Size

Small Size

Disabled States

Props

NameTypeDefaultDescription
modelValuebooleanCheckbox state. Use v-model for two-way binding
disabledbooleanfalseDisables the checkbox
sizeCheckboxSize"default""default" | "small"

Slots

NameDescription
#defaultLabel content displayed next to the checkbox

10 Label

A status label component with semantic color variants. Perfect for displaying statuses, badges, and tags.

Variants

Success
Completed
Warning
Review Required
Pending
In Progress
Custom
Custom Style

Props

NameTypeDefaultDescription
variantLabelVariant"success""success" | "warning" | "pending" | "custom"

Slots

NameDescription
#defaultLabel text content

11 AdaptiveTabs

A responsive tab navigation component that automatically adapts to container width. Excess tabs are moved to an overflow menu.

Default Tabs

Active: tab1

Full Width Tabs

Active: overview

Props

NameTypeDefaultDescription
modelValuestringActive tab value. Use v-model for two-way binding
tabsTab[]Array of tab objects with value, label, and optional exclude
minTabWidthnumber100Minimum width of each tab in pixels
fullWidthbooleanfalseMakes tabs stretch to fill container width

Slots

NameDescription
#defaultCustom tab content. Receives { value, label, exclude? } props

12 Toasts

A powerful toast notification system with multiple variants, auto-dismiss, and progress bar support. Uses the useToasts composable for programmatic control.

Demo

Toast Props

NameTypeDefaultDescription
delaynumber5000Auto-dismiss delay in milliseconds
manualbooleanfalseIf true, toast will not auto-dismiss
typeToastType"success""success" | "error" | "warning"
noProgressbooleanfalseHides the progress bar
noBorderbooleanfalseRemoves the colored border
loaderToastLoaderLoading spinner config: { show: boolean, color: string }
iconToastIconCustom icon config: { name: string, color: string }

AddToast Interface

NameTypeRequiredDescription
titlestringYesToast title text
descriptionstringNoToast description text
delaynumberNoAuto-dismiss delay in ms
manualbooleanNoDisable auto-dismiss
typeToastTypeNoToast type variant
customComponentComponentNoCustom Vue component to render