@datametria/vue-components
Version:
DATAMETRIA Vue.js 3 Component Library with Multi-Brand Theming - 51 components + 10 composables with theming support, WCAG 2.2 AA, dark mode, responsive system
56 lines (49 loc) • 1.05 kB
text/typescript
export enum ButtonVariant {
PRIMARY = 'primary',
SECONDARY = 'secondary',
OUTLINE = 'outline',
GHOST = 'ghost'
}
export enum ButtonSize {
SM = 'sm',
MD = 'md',
LG = 'lg'
}
export interface ButtonProps {
variant?: ButtonVariant
size?: ButtonSize
disabled?: boolean
loading?: boolean
fullWidth?: boolean
}
export interface InputProps {
modelValue?: string | number
label?: string
placeholder?: string
errorMessage?: string
disabled?: boolean
required?: boolean
}
export interface CardProps {
title?: string
padding?: boolean
}
export interface TableColumn {
key: string
label: string
width?: string
sortable?: boolean
filterable?: boolean
filterType?: 'text' | 'date' | 'select' | 'multiselect'
filterOptions?: Array<{ value: string; label: string }> | 'auto'
}
export interface SortableTableProps {
columns: TableColumn[]
data: Record<string, any>[]
selectable?: boolean
searchable?: boolean
filterable?: boolean
paginated?: boolean
pageSize?: number
pageSizeOptions?: number[]
}