@wdns/vuetify-stepper-form
Version:
The Vuetify Stepper Form plugin provides a structured way to create multi-step forms using Vue 3, TypeScript, and Vuetify. It features a stepper layout that allows users to navigate between steps with form validation. The plugin is customizable and stream
34 lines (33 loc) • 1.24 kB
TypeScript
import { Field, GlobalDensity, SharedProps } from '../../../types';
import { VBtn } from 'vuetify/components';
import { default as VSFButtonField } from './VSFButtonField.vue';
export interface Option {
appendIcon?: VBtn['appendIcon'];
class?: string;
color?: VBtn['color'];
height?: VBtn['height'];
icon?: VBtn['icon'];
id?: Field['id'];
label: Field['label'];
maxHeight?: VBtn['maxHeight'];
maxWidth?: VBtn['maxWidth'];
minHeight?: VBtn['minHeight'];
minWidth?: VBtn['minWidth'];
prependIcon?: VBtn['prependIcon'];
value: string | number;
width?: VBtn['width'];
}
interface InternalField extends Field, Partial<Pick<VBtn, 'activeColor' | 'appendIcon' | 'block' | 'border' | 'height' | 'icon' | 'maxHeight' | 'maxWidth' | 'minHeight' | 'minWidth' | 'prependIcon' | 'selectedClass' | 'size' | 'stacked' | 'variant' | 'width'>> {
align?: string;
gap?: string | number;
hint?: string;
messages?: string | string[];
multiple?: boolean;
options?: Option[];
persistentHint?: boolean;
}
export interface VSFButtonFieldProps extends SharedProps {
density?: GlobalDensity | 'expanded' | 'oversized';
field: InternalField;
}
export default VSFButtonField;