@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
53 lines (52 loc) • 1.18 kB
TypeScript
export declare enum ButtonVariant {
PRIMARY = "primary",
SECONDARY = "secondary",
OUTLINE = "outline",
GHOST = "ghost"
}
export declare 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[];
}