routie dev init since i didn't adhere to any proper guidance up until now

This commit is contained in:
2026-04-29 22:27:29 -06:00
commit e1dabb71e2
15301 changed files with 3562618 additions and 0 deletions
@@ -0,0 +1,830 @@
import type { StepperVerticalItemActionSlot } from './VStepperVerticalItem.js';
import type { VStepperSlot } from '../../components/VStepper/VStepper.js';
import type { StepperItemSlot } from '../../components/VStepper/VStepperItem.js';
import type { GenericProps } from '../../util/index.js';
export type VStepperVerticalSlots<T> = {
actions: StepperVerticalItemActionSlot<T>;
default: VStepperSlot & {
step: T;
};
icon: StepperItemSlot<T>;
title: StepperItemSlot<T>;
subtitle: StepperItemSlot<T>;
prev: StepperVerticalItemActionSlot<T>;
next: StepperVerticalItemActionSlot<T>;
} & {
[key: `header-item.${string}`]: StepperItemSlot<T>;
[key: `item.${string}`]: StepperItemSlot<T>;
};
export declare const makeVStepperVerticalProps: <Defaults extends {
theme?: unknown;
class?: unknown;
style?: unknown;
mobile?: unknown;
mobileBreakpoint?: unknown;
elevation?: unknown;
rounded?: unknown;
tile?: unknown;
tag?: unknown;
modelValue?: unknown;
multiple?: unknown;
mandatory?: unknown;
max?: unknown;
selectedClass?: unknown;
disabled?: unknown;
eager?: unknown;
color?: unknown;
expandIcon?: unknown;
collapseIcon?: unknown;
hideActions?: unknown;
focusable?: unknown;
ripple?: unknown;
readonly?: unknown;
bgColor?: unknown;
flat?: unknown;
variant?: unknown;
altLabels?: unknown;
completeIcon?: unknown;
editIcon?: unknown;
editable?: unknown;
errorIcon?: unknown;
items?: unknown;
itemTitle?: unknown;
itemValue?: unknown;
itemProps?: unknown;
nonLinear?: unknown;
prevText?: unknown;
nextText?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
theme: unknown extends Defaults["theme"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
};
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
default: unknown extends Defaults["class"] ? any : any;
};
style: unknown extends Defaults["style"] ? {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
} : Omit<{
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | import("vue").StyleValue>;
default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable<import("vue").StyleValue>;
};
mobile: unknown extends Defaults["mobile"] ? {
type: import("vue").PropType<boolean | null>;
default: boolean;
} : Omit<{
type: import("vue").PropType<boolean | null>;
default: boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["mobile"] ? boolean | null : boolean | Defaults["mobile"] | null>;
default: unknown extends Defaults["mobile"] ? boolean | null : Defaults["mobile"] | NonNullable<boolean | null>;
};
mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? import("vue").PropType<number | import("../../types.js").DisplayBreakpoint> : {
type: import("vue").PropType<unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : number | Defaults["mobileBreakpoint"] | import("../../types.js").DisplayBreakpoint>;
default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : Defaults["mobileBreakpoint"] | NonNullable<number | import("../../types.js").DisplayBreakpoint>;
};
elevation: unknown extends Defaults["elevation"] ? {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["elevation"] ? string | number : string | number | Defaults["elevation"]>;
default: unknown extends Defaults["elevation"] ? string | number : Defaults["elevation"] | NonNullable<string | number>;
};
rounded: unknown extends Defaults["rounded"] ? {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
} : Omit<{
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["rounded"] ? string | number | boolean : string | number | boolean | Defaults["rounded"]>;
default: unknown extends Defaults["rounded"] ? string | number | boolean : Defaults["rounded"] | NonNullable<string | number | boolean>;
};
tile: unknown extends Defaults["tile"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]>;
default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"];
};
tag: unknown extends Defaults["tag"] ? {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
} : Omit<{
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>;
default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>;
};
modelValue: unknown extends Defaults["modelValue"] ? {
type: null;
default: undefined;
} : Omit<{
type: null;
default: undefined;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["modelValue"] ? any : any>;
default: unknown extends Defaults["modelValue"] ? any : any;
};
multiple: unknown extends Defaults["multiple"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"]>;
default: unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"];
};
mandatory: unknown extends Defaults["mandatory"] ? {
type: import("vue").PropType<"force" | boolean>;
default: NonNullable<"force" | boolean>;
} : Omit<{
type: import("vue").PropType<"force" | boolean>;
default: NonNullable<"force" | boolean>;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["mandatory"] ? "force" | boolean : "force" | boolean | Defaults["mandatory"]>;
default: unknown extends Defaults["mandatory"] ? "force" | boolean : Defaults["mandatory"] | NonNullable<"force" | boolean>;
};
max: unknown extends Defaults["max"] ? NumberConstructor : {
type: import("vue").PropType<unknown extends Defaults["max"] ? number : number | Defaults["max"]>;
default: unknown extends Defaults["max"] ? number : number | Defaults["max"];
};
selectedClass: unknown extends Defaults["selectedClass"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]>;
default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"];
};
disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
};
eager: unknown extends Defaults["eager"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"]>;
default: unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"];
};
color: unknown extends Defaults["color"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
};
expandIcon: unknown extends Defaults["expandIcon"] ? {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
collapseIcon: unknown extends Defaults["collapseIcon"] ? {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
hideActions: unknown extends Defaults["hideActions"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]>;
default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"];
};
focusable: unknown extends Defaults["focusable"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["focusable"] ? boolean : boolean | Defaults["focusable"]>;
default: unknown extends Defaults["focusable"] ? boolean : boolean | Defaults["focusable"];
};
ripple: unknown extends Defaults["ripple"] ? {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
} : Omit<{
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
class?: string;
keys?: string[];
} | undefined : boolean | {
class?: string;
keys?: string[];
} | Defaults["ripple"] | undefined>;
default: unknown extends Defaults["ripple"] ? boolean | {
class?: string;
keys?: string[];
} | undefined : Defaults["ripple"] | NonNullable<boolean | {
class?: string;
keys?: string[];
} | undefined>;
};
readonly: unknown extends Defaults["readonly"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]>;
default: unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"];
};
bgColor: unknown extends Defaults["bgColor"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["bgColor"] ? string : string | Defaults["bgColor"]>;
default: unknown extends Defaults["bgColor"] ? string : string | Defaults["bgColor"];
};
flat: unknown extends Defaults["flat"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["flat"] ? boolean : boolean | Defaults["flat"]>;
default: unknown extends Defaults["flat"] ? boolean : boolean | Defaults["flat"];
};
variant: unknown extends Defaults["variant"] ? Omit<{
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: string;
validator: (v: any) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: NonNullable<"accordion" | "default" | "inset" | "popout">;
} : Omit<Omit<{
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: string;
validator: (v: any) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: NonNullable<"accordion" | "default" | "inset" | "popout">;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["variant"] ? "accordion" | "default" | "inset" | "popout" : "accordion" | "default" | "inset" | "popout" | Defaults["variant"]>;
default: unknown extends Defaults["variant"] ? "accordion" | "default" | "inset" | "popout" : Defaults["variant"] | NonNullable<"accordion" | "default" | "inset" | "popout">;
};
altLabels: unknown extends Defaults["altLabels"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["altLabels"] ? boolean : boolean | Defaults["altLabels"]>;
default: unknown extends Defaults["altLabels"] ? boolean : boolean | Defaults["altLabels"];
};
completeIcon: unknown extends Defaults["completeIcon"] ? import("vue").PropType<import("../../composables/icons.js").IconValue> : {
type: import("vue").PropType<unknown extends Defaults["completeIcon"] ? import("../../composables/icons.js").IconValue : Defaults["completeIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["completeIcon"] ? import("../../composables/icons.js").IconValue : Defaults["completeIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
editIcon: unknown extends Defaults["editIcon"] ? import("vue").PropType<import("../../composables/icons.js").IconValue> : {
type: import("vue").PropType<unknown extends Defaults["editIcon"] ? import("../../composables/icons.js").IconValue : Defaults["editIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["editIcon"] ? import("../../composables/icons.js").IconValue : Defaults["editIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
editable: unknown extends Defaults["editable"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["editable"] ? boolean : boolean | Defaults["editable"]>;
default: unknown extends Defaults["editable"] ? boolean : boolean | Defaults["editable"];
};
errorIcon: unknown extends Defaults["errorIcon"] ? import("vue").PropType<import("../../composables/icons.js").IconValue> : {
type: import("vue").PropType<unknown extends Defaults["errorIcon"] ? import("../../composables/icons.js").IconValue : Defaults["errorIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["errorIcon"] ? import("../../composables/icons.js").IconValue : Defaults["errorIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
items: unknown extends Defaults["items"] ? {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").StepperItem[]>;
default: () => never[];
} : Omit<{
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").StepperItem[]>;
default: () => never[];
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["items"] ? readonly import("../../components/VStepper/VStepperItem.js").StepperItem[] : readonly import("../../components/VStepper/VStepperItem.js").StepperItem[] | Defaults["items"]>;
default: unknown extends Defaults["items"] ? readonly import("../../components/VStepper/VStepperItem.js").StepperItem[] : readonly import("../../components/VStepper/VStepperItem.js").StepperItem[] | Defaults["items"];
};
itemTitle: unknown extends Defaults["itemTitle"] ? {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["itemTitle"] ? import("../../util/index.js").SelectItemKey : Defaults["itemTitle"] | import("../../util/index.js").SelectItemKey>;
default: unknown extends Defaults["itemTitle"] ? import("../../util/index.js").SelectItemKey : Defaults["itemTitle"] | NonNullable<import("../../util/index.js").SelectItemKey>;
};
itemValue: unknown extends Defaults["itemValue"] ? {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["itemValue"] ? import("../../util/index.js").SelectItemKey : Defaults["itemValue"] | import("../../util/index.js").SelectItemKey>;
default: unknown extends Defaults["itemValue"] ? import("../../util/index.js").SelectItemKey : Defaults["itemValue"] | NonNullable<import("../../util/index.js").SelectItemKey>;
};
itemProps: unknown extends Defaults["itemProps"] ? {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["itemProps"] ? import("../../util/index.js").SelectItemKey : Defaults["itemProps"] | import("../../util/index.js").SelectItemKey>;
default: unknown extends Defaults["itemProps"] ? import("../../util/index.js").SelectItemKey : Defaults["itemProps"] | NonNullable<import("../../util/index.js").SelectItemKey>;
};
nonLinear: unknown extends Defaults["nonLinear"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["nonLinear"] ? boolean : boolean | Defaults["nonLinear"]>;
default: unknown extends Defaults["nonLinear"] ? boolean : boolean | Defaults["nonLinear"];
};
prevText: unknown extends Defaults["prevText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["prevText"] ? string : string | Defaults["prevText"]>;
default: unknown extends Defaults["prevText"] ? string : string | Defaults["prevText"];
};
nextText: unknown extends Defaults["nextText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["nextText"] ? string : string | Defaults["nextText"]>;
default: unknown extends Defaults["nextText"] ? string : string | Defaults["nextText"];
};
};
export declare const VStepperVertical: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
mobile: boolean | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemValue: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemProps: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
nonLinear: boolean;
prevText: string;
nextText: string;
} & {
theme?: string | undefined;
class?: any;
mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
max?: number | undefined;
selectedClass?: string | undefined;
color?: string | undefined;
bgColor?: string | undefined;
completeIcon?: import("../../composables/icons.js").IconValue | undefined;
editIcon?: import("../../composables/icons.js").IconValue | undefined;
errorIcon?: import("../../composables/icons.js").IconValue | undefined;
} & {}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
'update:modelValue': (val: any) => true;
}, "$children" | "modelValue" | "update:modelValue" | "v-slot:actions" | "v-slot:default" | "v-slot:icon" | "v-slot:next" | "v-slot:prev" | "v-slot:subtitle" | "v-slot:title" | "v-slots" | `v-slot:header-item.${string}` | `v-slot:item.${string}`>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
style: import("vue").StyleValue;
mobile: boolean | null;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: import("../../util/index.js").SelectItemKey;
itemValue: import("../../util/index.js").SelectItemKey;
itemProps: import("../../util/index.js").SelectItemKey;
nonLinear: boolean;
prevText: string;
nextText: string;
}, true, {}, import("vue").SlotsType<Partial<{
[x: `header-item.${string}`]: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
[x: `item.${string}`]: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
actions: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
default: (arg: VStepperSlot & {
step: unknown;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
icon: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
title: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
subtitle: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
prev: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
mobile: boolean | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemValue: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemProps: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
nonLinear: boolean;
prevText: string;
nextText: string;
} & {
theme?: string | undefined;
class?: any;
mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
max?: number | undefined;
selectedClass?: string | undefined;
color?: string | undefined;
bgColor?: string | undefined;
completeIcon?: import("../../composables/icons.js").IconValue | undefined;
editIcon?: import("../../composables/icons.js").IconValue | undefined;
errorIcon?: import("../../composables/icons.js").IconValue | undefined;
} & {}, {}, {}, {}, {}, {
style: import("vue").StyleValue;
mobile: boolean | null;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: import("../../util/index.js").SelectItemKey;
itemValue: import("../../util/index.js").SelectItemKey;
itemProps: import("../../util/index.js").SelectItemKey;
nonLinear: boolean;
prevText: string;
nextText: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import("vue").ComponentOptionsBase<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
mobile: boolean | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemValue: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
itemProps: string | boolean | readonly (string | number)[] | ((item: Record<string, any>, fallback?: any) => any) | null;
nonLinear: boolean;
prevText: string;
nextText: string;
} & {
theme?: string | undefined;
class?: any;
mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
max?: number | undefined;
selectedClass?: string | undefined;
color?: string | undefined;
bgColor?: string | undefined;
completeIcon?: import("../../composables/icons.js").IconValue | undefined;
editIcon?: import("../../composables/icons.js").IconValue | undefined;
errorIcon?: import("../../composables/icons.js").IconValue | undefined;
} & {}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{
'update:modelValue': (val: any) => true;
}, "$children" | "modelValue" | "update:modelValue" | "v-slot:actions" | "v-slot:default" | "v-slot:icon" | "v-slot:next" | "v-slot:prev" | "v-slot:subtitle" | "v-slot:title" | "v-slots" | `v-slot:header-item.${string}` | `v-slot:item.${string}`>, string, {
style: import("vue").StyleValue;
mobile: boolean | null;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
multiple: boolean;
mandatory: "force" | boolean;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
hideActions: boolean;
focusable: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
flat: boolean;
variant: "accordion" | "default" | "inset" | "popout";
altLabels: boolean;
editable: boolean;
items: readonly import("../../components/VStepper/VStepperItem.js").StepperItem[];
itemTitle: import("../../util/index.js").SelectItemKey;
itemValue: import("../../util/index.js").SelectItemKey;
itemProps: import("../../util/index.js").SelectItemKey;
nonLinear: boolean;
prevText: string;
nextText: string;
}, {}, string, import("vue").SlotsType<Partial<{
[x: `header-item.${string}`]: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
[x: `item.${string}`]: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
actions: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
default: (arg: VStepperSlot & {
step: unknown;
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
icon: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
title: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
subtitle: (arg: StepperItemSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
prev: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: StepperVerticalItemActionSlot<unknown>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new <T = number>(props: {
modelValue?: T;
'onUpdate:modelValue'?: (value: T) => void;
}, slots: VStepperVerticalSlots<T>) => GenericProps<typeof props, typeof slots>) & import("../../util/index.js").FilterPropsOptions<{
theme: StringConstructor;
class: import("vue").PropType<any>;
style: {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
};
mobile: {
type: import("vue").PropType<boolean | null>;
default: boolean;
};
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
elevation: {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
};
rounded: {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
};
tile: BooleanConstructor;
tag: {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
};
modelValue: {
type: null;
default: undefined;
};
multiple: BooleanConstructor;
mandatory: {
type: import("vue").PropType<"force" | boolean>;
default: NonNullable<"force" | boolean>;
};
max: NumberConstructor;
selectedClass: StringConstructor;
disabled: BooleanConstructor;
eager: BooleanConstructor;
color: StringConstructor;
expandIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
collapseIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
hideActions: BooleanConstructor;
focusable: BooleanConstructor;
ripple: {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
};
readonly: BooleanConstructor;
bgColor: StringConstructor;
flat: BooleanConstructor;
variant: Omit<{
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: string;
validator: (v: any) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: NonNullable<"accordion" | "default" | "inset" | "popout">;
};
altLabels: BooleanConstructor;
completeIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
editIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
editable: BooleanConstructor;
errorIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
items: {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").StepperItem[]>;
default: () => never[];
};
itemTitle: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
itemValue: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
itemProps: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
nonLinear: BooleanConstructor;
prevText: {
type: StringConstructor;
default: string;
};
nextText: {
type: StringConstructor;
default: string;
};
}, import("vue").ExtractPropTypes<{
theme: StringConstructor;
class: import("vue").PropType<any>;
style: {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
};
mobile: {
type: import("vue").PropType<boolean | null>;
default: boolean;
};
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
elevation: {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
};
rounded: {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
};
tile: BooleanConstructor;
tag: {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
};
modelValue: {
type: null;
default: undefined;
};
multiple: BooleanConstructor;
mandatory: {
type: import("vue").PropType<"force" | boolean>;
default: NonNullable<"force" | boolean>;
};
max: NumberConstructor;
selectedClass: StringConstructor;
disabled: BooleanConstructor;
eager: BooleanConstructor;
color: StringConstructor;
expandIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
collapseIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
hideActions: BooleanConstructor;
focusable: BooleanConstructor;
ripple: {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
};
readonly: BooleanConstructor;
bgColor: StringConstructor;
flat: BooleanConstructor;
variant: Omit<{
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: string;
validator: (v: any) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<"accordion" | "default" | "inset" | "popout">;
default: NonNullable<"accordion" | "default" | "inset" | "popout">;
};
altLabels: BooleanConstructor;
completeIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
editIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
editable: BooleanConstructor;
errorIcon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
items: {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").StepperItem[]>;
default: () => never[];
};
itemTitle: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
itemValue: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
itemProps: {
type: import("vue").PropType<import("../../util/index.js").SelectItemKey>;
default: string;
};
nonLinear: BooleanConstructor;
prevText: {
type: StringConstructor;
default: string;
};
nextText: {
type: StringConstructor;
default: string;
};
}>>;
export type VStepperVertical = InstanceType<typeof VStepperVertical>;
@@ -0,0 +1,110 @@
import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
// Components
import { VStepperVerticalItem } from "./VStepperVerticalItem.js";
import { makeVExpansionPanelsProps, VExpansionPanels } from "../../components/VExpansionPanel/VExpansionPanels.js";
import { makeStepperProps } from "../../components/VStepper/VStepper.js"; // Composables
import { provideDefaults } from "../../composables/defaults.js";
import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
import { computed, ref, toRefs } from 'vue';
import { genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from "../../util/index.js"; // Types
export const makeVStepperVerticalProps = propsFactory({
prevText: {
type: String,
default: '$vuetify.stepper.prev'
},
nextText: {
type: String,
default: '$vuetify.stepper.next'
},
...makeStepperProps(),
...omit(makeVExpansionPanelsProps({
mandatory: 'force',
variant: 'accordion'
}), ['static'])
}, 'VStepperVertical');
export const VStepperVertical = genericComponent()({
name: 'VStepperVertical',
props: makeVStepperVerticalProps(),
emits: {
'update:modelValue': val => true
},
setup(props, {
slots
}) {
const vExpansionPanelsRef = ref();
const {
color,
eager,
editable,
prevText,
nextText,
hideActions
} = toRefs(props);
const model = useProxiedModel(props, 'modelValue');
const items = computed(() => props.items.map((item, index) => {
const title = getPropertyFromItem(item, props.itemTitle, item);
const value = getPropertyFromItem(item, props.itemValue, index + 1);
const itemProps = props.itemProps === true ? item : getPropertyFromItem(item, props.itemProps);
const _props = {
title,
value,
...itemProps
};
return {
title: _props.title,
value: _props.value,
props: _props,
raw: item
};
}));
provideDefaults({
VStepperVerticalItem: {
color,
eager,
editable,
hideActions,
static: true
},
VStepperVerticalActions: {
color,
nextText,
prevText
}
});
useRender(() => {
const expansionPanelProps = VExpansionPanels.filterProps(props);
return _createVNode(VExpansionPanels, _mergeProps(expansionPanelProps, {
"modelValue": model.value,
"onUpdate:modelValue": $event => model.value = $event,
"ref": vExpansionPanelsRef,
"class": ['v-stepper', {
'v-stepper--alt-labels': props.altLabels,
'v-stepper--flat': props.flat,
'v-stepper--non-linear': props.nonLinear,
'v-stepper--mobile': props.mobile
}, props.class],
"style": props.style
}), {
...slots,
default: ({
prev,
next
}) => {
return _createElementVNode(_Fragment, null, [items.value.map(({
raw,
...item
}) => _createVNode(VStepperVerticalItem, item.props, {
...slots,
default: slots[`item.${item.value}`]
})), slots.default?.({
prev,
next,
step: model.value
})]);
}
});
});
return {};
}
});
//# sourceMappingURL=VStepperVertical.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,272 @@
export declare const makeVStepperVerticalActionsProps: <Defaults extends {
color?: unknown;
disabled?: unknown;
prevText?: unknown;
nextText?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
color: unknown extends Defaults["color"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
};
disabled: unknown extends Defaults["disabled"] ? {
type: import("vue").PropType<"next" | "prev" | boolean>;
default: boolean;
} : Omit<{
type: import("vue").PropType<"next" | "prev" | boolean>;
default: boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["disabled"] ? "next" | "prev" | boolean : "next" | "prev" | boolean | Defaults["disabled"]>;
default: unknown extends Defaults["disabled"] ? "next" | "prev" | boolean : Defaults["disabled"] | NonNullable<"next" | "prev" | boolean>;
};
prevText: unknown extends Defaults["prevText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["prevText"] ? string : string | Defaults["prevText"]>;
default: unknown extends Defaults["prevText"] ? string : string | Defaults["prevText"];
};
nextText: unknown extends Defaults["nextText"] ? {
type: StringConstructor;
default: string;
} : Omit<{
type: StringConstructor;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["nextText"] ? string : string | Defaults["nextText"]>;
default: unknown extends Defaults["nextText"] ? string : string | Defaults["nextText"];
};
};
export declare const VStepperVerticalActions: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
} & {
color?: string | undefined;
} & {
$children?: {
prev?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | {} | import("vue").VNodeChild;
'v-slots'?: {
prev?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:next"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} & {
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
'click:prev': () => true;
'click:next': () => true;
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
}, true, {}, import("vue").SlotsType<Partial<{
prev: (arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
} & {
color?: string | undefined;
} & {
$children?: {
prev?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | {} | import("vue").VNodeChild;
'v-slots'?: {
prev?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:next"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} & {
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, {}, {}, {}, {
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import("vue").ComponentOptionsBase<{
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
} & {
color?: string | undefined;
} & {
$children?: {
prev?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | {} | import("vue").VNodeChild;
'v-slots'?: {
prev?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:next"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNodeChild) | undefined;
} & {
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
'click:prev': () => true;
'click:next': () => true;
}, string, {
disabled: "next" | "prev" | boolean;
prevText: string;
nextText: string;
}, {}, string, import("vue").SlotsType<Partial<{
prev: (arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: {
props: {
onClick: () => void;
};
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
color: StringConstructor;
disabled: {
type: import("vue").PropType<"next" | "prev" | boolean>;
default: boolean;
};
prevText: {
type: StringConstructor;
default: string;
};
nextText: {
type: StringConstructor;
default: string;
};
}, import("vue").ExtractPropTypes<{
color: StringConstructor;
disabled: {
type: import("vue").PropType<"next" | "prev" | boolean>;
default: boolean;
};
prevText: {
type: StringConstructor;
default: string;
};
nextText: {
type: StringConstructor;
default: string;
};
}>>;
export type VStepperVerticalActions = InstanceType<typeof VStepperVerticalActions>;
@@ -0,0 +1,37 @@
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
// Components
import { makeVStepperActionsProps, VStepperActions } from "../../components/VStepper/VStepperActions.js"; // Utilities
import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
export const makeVStepperVerticalActionsProps = propsFactory({
...makeVStepperActionsProps()
}, 'VStepperActions');
export const VStepperVerticalActions = genericComponent()({
name: 'VStepperVerticalActions',
props: makeVStepperVerticalActionsProps(),
emits: {
'click:prev': () => true,
'click:next': () => true
},
setup(props, {
emit,
slots
}) {
function onClickPrev() {
emit('click:prev');
}
function onClickNext() {
emit('click:next');
}
useRender(() => {
const stepperActionsProps = VStepperActions.filterProps(props);
return _createVNode(VStepperActions, _mergeProps({
"class": "v-stepper-vertical-actions"
}, stepperActionsProps, {
"onClick:prev": onClickPrev,
"onClick:next": onClickNext
}), slots);
});
return {};
}
});
//# sourceMappingURL=VStepperVerticalActions.js.map
@@ -0,0 +1 @@
{"version":3,"file":"VStepperVerticalActions.js","names":["makeVStepperActionsProps","VStepperActions","genericComponent","propsFactory","useRender","makeVStepperVerticalActionsProps","VStepperVerticalActions","name","props","emits","click:prev","click:next","setup","emit","slots","onClickPrev","onClickNext","stepperActionsProps","filterProps","_createVNode","_mergeProps"],"sources":["../../../src/labs/VStepperVertical/VStepperVerticalActions.tsx"],"sourcesContent":["// Components\nimport { makeVStepperActionsProps, VStepperActions } from '@/components/VStepper/VStepperActions'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VStepperActionsSlots } from '@/components/VStepper/VStepperActions'\n\nexport const makeVStepperVerticalActionsProps = propsFactory({\n ...makeVStepperActionsProps(),\n}, 'VStepperActions')\n\nexport const VStepperVerticalActions = genericComponent<VStepperActionsSlots>()({\n name: 'VStepperVerticalActions',\n\n props: makeVStepperVerticalActionsProps(),\n\n emits: {\n 'click:prev': () => true,\n 'click:next': () => true,\n },\n\n setup (props, { emit, slots }) {\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n useRender(() => {\n const stepperActionsProps = VStepperActions.filterProps(props)\n\n return (\n <VStepperActions\n class=\"v-stepper-vertical-actions\"\n { ...stepperActionsProps }\n onClick:prev={ onClickPrev }\n onClick:next={ onClickNext }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperVerticalActions = InstanceType<typeof VStepperVerticalActions>\n"],"mappings":";AAAA;AAAA,SACSA,wBAAwB,EAAEC,eAAe,wDAElD;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAElD;AAGA,OAAO,MAAMC,gCAAgC,GAAGF,YAAY,CAAC;EAC3D,GAAGH,wBAAwB,CAAC;AAC9B,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,MAAMM,uBAAuB,GAAGJ,gBAAgB,CAAuB,CAAC,CAAC;EAC9EK,IAAI,EAAE,yBAAyB;EAE/BC,KAAK,EAAEH,gCAAgC,CAAC,CAAC;EAEzCI,KAAK,EAAE;IACL,YAAY,EAAEC,CAAA,KAAM,IAAI;IACxB,YAAY,EAAEC,CAAA,KAAM;EACtB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAE;IAAEK,IAAI;IAAEC;EAAM,CAAC,EAAE;IAC7B,SAASC,WAAWA,CAAA,EAAI;MACtBF,IAAI,CAAC,YAAY,CAAC;IACpB;IAEA,SAASG,WAAWA,CAAA,EAAI;MACtBH,IAAI,CAAC,YAAY,CAAC;IACpB;IAEAT,SAAS,CAAC,MAAM;MACd,MAAMa,mBAAmB,GAAGhB,eAAe,CAACiB,WAAW,CAACV,KAAK,CAAC;MAE9D,OAAAW,YAAA,CAAAlB,eAAA,EAAAmB,WAAA;QAAA;MAAA,GAGSH,mBAAmB;QAAA,gBACTF,WAAW;QAAA,gBACXC;MAAW,IAChBF,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,71 @@
@layer vuetify-components {
.v-stepper-vertical-item {
position: relative;
transition-duration: 0.2s;
transition-property: opacity;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.v-stepper-vertical-item--error {
color: rgb(var(--v-theme-error));
}
.v-stepper-vertical-item__title {
font-size: 1rem;
}
.v-stepper-vertical-item__subtitle {
font-size: 0.75rem;
}
.v-stepper-vertical-item .v-expansion-panel-text {
padding-inline-start: 32px;
}
.v-stepper-vertical-item:not(:last-child):before {
content: "";
position: absolute;
width: 2px;
height: calc(100% - 30px);
background: rgba(var(--v-border-color), var(--v-border-opacity));
left: 35px;
top: 44px;
z-index: 1;
transition-duration: 300ms;
transition-property: height;
}
.v-stepper-vertical-item:after {
display: none;
}
.v-stepper-vertical-item.v-expansion-panel--disabled .v-expansion-panel-title, .v-stepper-vertical-item:not(.v-stepper-vertical-item--editable) .v-expansion-panel-title {
pointer-events: none;
}
.v-stepper-vertical-item.v-expansion-panel--disabled .v-expansion-panel-title .v-expansion-panel-title__overlay, .v-stepper-vertical-item:not(.v-stepper-vertical-item--editable) .v-expansion-panel-title .v-expansion-panel-title__overlay {
opacity: 0;
}
.v-stepper-vertical-item__avatar.v-avatar {
background: color-mix(in srgb, rgb(var(--v-theme-surface-variant)) calc(var(--v-medium-emphasis-opacity) * 100%), transparent);
color: rgb(var(--v-theme-on-surface-variant));
transition-property: background;
align-self: start;
}
.v-stepper-vertical-item__avatar.v-avatar .v-icon {
font-size: 0.875rem;
}
.v-expansion-panel--active .v-stepper-vertical-item__avatar.v-avatar {
background: rgb(var(--v-theme-surface-variant));
}
.v-stepper-vertical-item--error .v-stepper-vertical-item__avatar.v-avatar {
background: rgb(var(--v-theme-error));
color: rgb(var(--v-theme-on-error));
}
.v-stepper-vertical-item--error .v-stepper-vertical-item__title {
color: rgb(var(--v-theme-error));
}
.v-stepper-vertical-item--error .v-stepper-vertical-item__subtitle {
color: rgb(var(--v-theme-error));
}
.v-stepper-vertical-actions.v-stepper-actions .v-btn {
margin-inline-end: 8px;
}
.v-stepper .v-stepper-vertical-actions.v-stepper-actions {
justify-content: flex-end;
padding: 24px 0 0;
flex-direction: row-reverse;
}
}
@@ -0,0 +1,828 @@
import type { StepperItemSlot } from '../../components/VStepper/VStepperItem.js';
export type StepperVerticalItemActionSlot<T = any> = StepperItemSlot<T> & {
next: () => void;
prev: () => void;
};
export type VStepperVerticalItemSlots<T = any> = {
default: StepperItemSlot<T>;
icon: StepperItemSlot<T>;
subtitle: StepperItemSlot<T>;
title: StepperItemSlot<T>;
text: StepperItemSlot<T>;
prev: StepperVerticalItemActionSlot<T>;
next: StepperVerticalItemActionSlot<T>;
actions: StepperVerticalItemActionSlot<T>;
};
export declare const makeVStepperVerticalItemProps: <Defaults extends {
class?: unknown;
style?: unknown;
elevation?: unknown;
rounded?: unknown;
tile?: unknown;
tag?: unknown;
value?: unknown;
disabled?: unknown;
selectedClass?: unknown;
height?: unknown;
maxHeight?: unknown;
maxWidth?: unknown;
minHeight?: unknown;
minWidth?: unknown;
width?: unknown;
eager?: unknown;
color?: unknown;
expandIcon?: unknown;
collapseIcon?: unknown;
focusable?: unknown;
static?: unknown;
ripple?: unknown;
readonly?: unknown;
title?: unknown;
text?: unknown;
bgColor?: unknown;
subtitle?: unknown;
complete?: unknown;
completeIcon?: unknown;
editable?: unknown;
editIcon?: unknown;
error?: unknown;
errorIcon?: unknown;
icon?: unknown;
rules?: unknown;
hideActions?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
class: unknown extends Defaults["class"] ? import("vue").PropType<any> : {
type: import("vue").PropType<unknown extends Defaults["class"] ? any : any>;
default: unknown extends Defaults["class"] ? any : any;
};
style: unknown extends Defaults["style"] ? {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
} : Omit<{
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | import("vue").StyleValue>;
default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable<import("vue").StyleValue>;
};
elevation: unknown extends Defaults["elevation"] ? {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
} : Omit<{
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["elevation"] ? string | number : string | number | Defaults["elevation"]>;
default: unknown extends Defaults["elevation"] ? string | number : Defaults["elevation"] | NonNullable<string | number>;
};
rounded: unknown extends Defaults["rounded"] ? {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
} : Omit<{
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["rounded"] ? string | number | boolean : string | number | boolean | Defaults["rounded"]>;
default: unknown extends Defaults["rounded"] ? string | number | boolean : Defaults["rounded"] | NonNullable<string | number | boolean>;
};
tile: unknown extends Defaults["tile"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]>;
default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"];
};
tag: unknown extends Defaults["tag"] ? {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
} : Omit<{
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : string | Defaults["tag"] | import("../../util/index.js").JSXComponent>;
default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable<string | import("../../util/index.js").JSXComponent>;
};
value: unknown extends Defaults["value"] ? null : {
type: import("vue").PropType<unknown extends Defaults["value"] ? any : any>;
default: unknown extends Defaults["value"] ? any : any;
};
disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
};
selectedClass: unknown extends Defaults["selectedClass"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]>;
default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"];
};
height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["height"] ? string | number : string | number | Defaults["height"]>;
default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable<string | number>;
};
maxHeight: unknown extends Defaults["maxHeight"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["maxHeight"] ? string | number : string | number | Defaults["maxHeight"]>;
default: unknown extends Defaults["maxHeight"] ? string | number : Defaults["maxHeight"] | NonNullable<string | number>;
};
maxWidth: unknown extends Defaults["maxWidth"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["maxWidth"] ? string | number : string | number | Defaults["maxWidth"]>;
default: unknown extends Defaults["maxWidth"] ? string | number : Defaults["maxWidth"] | NonNullable<string | number>;
};
minHeight: unknown extends Defaults["minHeight"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["minHeight"] ? string | number : string | number | Defaults["minHeight"]>;
default: unknown extends Defaults["minHeight"] ? string | number : Defaults["minHeight"] | NonNullable<string | number>;
};
minWidth: unknown extends Defaults["minWidth"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["minWidth"] ? string | number : string | number | Defaults["minWidth"]>;
default: unknown extends Defaults["minWidth"] ? string | number : Defaults["minWidth"] | NonNullable<string | number>;
};
width: unknown extends Defaults["width"] ? (NumberConstructor | StringConstructor)[] : {
type: import("vue").PropType<unknown extends Defaults["width"] ? string | number : string | number | Defaults["width"]>;
default: unknown extends Defaults["width"] ? string | number : Defaults["width"] | NonNullable<string | number>;
};
eager: unknown extends Defaults["eager"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"]>;
default: unknown extends Defaults["eager"] ? boolean : boolean | Defaults["eager"];
};
color: unknown extends Defaults["color"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
};
expandIcon: unknown extends Defaults["expandIcon"] ? Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
} : Omit<Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["expandIcon"] ? import("../../composables/icons.js").IconValue : Defaults["expandIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
collapseIcon: unknown extends Defaults["collapseIcon"] ? Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
} : Omit<Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["collapseIcon"] ? import("../../composables/icons.js").IconValue : Defaults["collapseIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
focusable: unknown extends Defaults["focusable"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["focusable"] ? boolean : boolean | Defaults["focusable"]>;
default: unknown extends Defaults["focusable"] ? boolean : boolean | Defaults["focusable"];
};
static: unknown extends Defaults["static"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["static"] ? boolean : boolean | Defaults["static"]>;
default: unknown extends Defaults["static"] ? boolean : boolean | Defaults["static"];
};
ripple: unknown extends Defaults["ripple"] ? {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
} : Omit<{
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
class?: string;
keys?: string[];
} | undefined : boolean | {
class?: string;
keys?: string[];
} | Defaults["ripple"] | undefined>;
default: unknown extends Defaults["ripple"] ? boolean | {
class?: string;
keys?: string[];
} | undefined : Defaults["ripple"] | NonNullable<boolean | {
class?: string;
keys?: string[];
} | undefined>;
};
readonly: unknown extends Defaults["readonly"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"]>;
default: unknown extends Defaults["readonly"] ? boolean : boolean | Defaults["readonly"];
};
title: unknown extends Defaults["title"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["title"] ? string : string | Defaults["title"]>;
default: unknown extends Defaults["title"] ? string : string | Defaults["title"];
};
text: unknown extends Defaults["text"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["text"] ? string : string | Defaults["text"]>;
default: unknown extends Defaults["text"] ? string : string | Defaults["text"];
};
bgColor: unknown extends Defaults["bgColor"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["bgColor"] ? string : string | Defaults["bgColor"]>;
default: unknown extends Defaults["bgColor"] ? string : string | Defaults["bgColor"];
};
subtitle: unknown extends Defaults["subtitle"] ? StringConstructor : {
type: import("vue").PropType<unknown extends Defaults["subtitle"] ? string : string | Defaults["subtitle"]>;
default: unknown extends Defaults["subtitle"] ? string : string | Defaults["subtitle"];
};
complete: unknown extends Defaults["complete"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["complete"] ? boolean : boolean | Defaults["complete"]>;
default: unknown extends Defaults["complete"] ? boolean : boolean | Defaults["complete"];
};
completeIcon: unknown extends Defaults["completeIcon"] ? {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["completeIcon"] ? import("../../composables/icons.js").IconValue : Defaults["completeIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["completeIcon"] ? import("../../composables/icons.js").IconValue : Defaults["completeIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
editable: unknown extends Defaults["editable"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["editable"] ? boolean : boolean | Defaults["editable"]>;
default: unknown extends Defaults["editable"] ? boolean : boolean | Defaults["editable"];
};
editIcon: unknown extends Defaults["editIcon"] ? {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["editIcon"] ? import("../../composables/icons.js").IconValue : Defaults["editIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["editIcon"] ? import("../../composables/icons.js").IconValue : Defaults["editIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
error: unknown extends Defaults["error"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["error"] ? boolean : boolean | Defaults["error"]>;
default: unknown extends Defaults["error"] ? boolean : boolean | Defaults["error"];
};
errorIcon: unknown extends Defaults["errorIcon"] ? {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
} : Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["errorIcon"] ? import("../../composables/icons.js").IconValue : Defaults["errorIcon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["errorIcon"] ? import("../../composables/icons.js").IconValue : Defaults["errorIcon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
icon: unknown extends Defaults["icon"] ? import("vue").PropType<import("../../composables/icons.js").IconValue> : {
type: import("vue").PropType<unknown extends Defaults["icon"] ? import("../../composables/icons.js").IconValue : Defaults["icon"] | import("../../composables/icons.js").IconValue>;
default: unknown extends Defaults["icon"] ? import("../../composables/icons.js").IconValue : Defaults["icon"] | NonNullable<import("../../composables/icons.js").IconValue>;
};
rules: unknown extends Defaults["rules"] ? {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[]>;
default: () => never[];
} : Omit<{
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[]>;
default: () => never[];
}, "default" | "type"> & {
type: import("vue").PropType<unknown extends Defaults["rules"] ? readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[] : readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[] | Defaults["rules"]>;
default: unknown extends Defaults["rules"] ? readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[] : readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[] | Defaults["rules"];
};
hideActions: unknown extends Defaults["hideActions"] ? BooleanConstructor : {
type: import("vue").PropType<unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"]>;
default: unknown extends Defaults["hideActions"] ? boolean : boolean | Defaults["hideActions"];
};
};
export declare const VStepperVerticalItem: {
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
} & {
class?: any;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
value?: any;
selectedClass?: string | undefined;
height?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
color?: string | undefined;
title?: string | undefined;
text?: string | undefined;
bgColor?: string | undefined;
subtitle?: string | undefined;
icon?: import("../../composables/icons.js").IconValue | undefined;
} & {
$children?: {
default?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | import("vue").VNodeChild;
'v-slots'?: {
default?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:actions"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:icon"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:next"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:text"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:title"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
} & {
"onClick:finish"?: (() => any) | undefined;
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
'click:next': () => true;
'click:prev': () => true;
'click:finish': () => true;
}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
style: import("vue").StyleValue;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
}, true, {}, import("vue").SlotsType<Partial<{
default: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
icon: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
subtitle: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
title: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
text: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
prev: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
actions: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, {
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
} & {
class?: any;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
value?: any;
selectedClass?: string | undefined;
height?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
color?: string | undefined;
title?: string | undefined;
text?: string | undefined;
bgColor?: string | undefined;
subtitle?: string | undefined;
icon?: import("../../composables/icons.js").IconValue | undefined;
} & {
$children?: {
default?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | import("vue").VNodeChild;
'v-slots'?: {
default?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:actions"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:icon"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:next"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:text"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:title"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
} & {
"onClick:finish"?: (() => any) | undefined;
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, {}, {}, {}, {
style: import("vue").StyleValue;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import("vue").ComponentOptionsBase<{
style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
};
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
} & {
class?: any;
elevation?: string | number | undefined;
rounded?: string | number | boolean | undefined;
value?: any;
selectedClass?: string | undefined;
height?: string | number | undefined;
maxHeight?: string | number | undefined;
maxWidth?: string | number | undefined;
minHeight?: string | number | undefined;
minWidth?: string | number | undefined;
width?: string | number | undefined;
color?: string | undefined;
title?: string | undefined;
text?: string | undefined;
bgColor?: string | undefined;
subtitle?: string | undefined;
icon?: import("../../composables/icons.js").IconValue | undefined;
} & {
$children?: {
default?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | {
$stable?: boolean;
} | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | import("vue").VNodeChild;
'v-slots'?: {
default?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
icon?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
subtitle?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
title?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
text?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
prev?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
next?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
actions?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
} | undefined;
} & {
"v-slot:actions"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:default"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:icon"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:next"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:prev"?: false | ((arg: StepperVerticalItemActionSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:subtitle"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:text"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
"v-slot:title"?: false | ((arg: StepperItemSlot<any>) => import("vue").VNodeChild) | undefined;
} & {
"onClick:finish"?: (() => any) | undefined;
"onClick:next"?: (() => any) | undefined;
"onClick:prev"?: (() => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
'click:next': () => true;
'click:prev': () => true;
'click:finish': () => true;
}, string, {
style: import("vue").StyleValue;
rounded: string | number | boolean;
tile: boolean;
tag: string | import("../../util/index.js").JSXComponent;
disabled: boolean;
eager: boolean;
expandIcon: import("../../composables/icons.js").IconValue;
collapseIcon: import("../../composables/icons.js").IconValue;
focusable: boolean;
static: boolean;
ripple: boolean | {
class?: string;
keys?: string[];
} | undefined;
readonly: boolean;
complete: boolean;
completeIcon: import("../../composables/icons.js").IconValue;
editable: boolean;
editIcon: import("../../composables/icons.js").IconValue;
error: boolean;
errorIcon: import("../../composables/icons.js").IconValue;
rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
hideActions: boolean;
}, {}, string, import("vue").SlotsType<Partial<{
default: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
icon: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
subtitle: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
title: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
text: (arg: StepperItemSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
prev: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
next: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
actions: (arg: StepperVerticalItemActionSlot<any>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
}>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
class: import("vue").PropType<any>;
style: {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
};
elevation: {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
};
rounded: {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
};
tile: BooleanConstructor;
tag: {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
};
value: null;
disabled: BooleanConstructor;
selectedClass: StringConstructor;
height: (NumberConstructor | StringConstructor)[];
maxHeight: (NumberConstructor | StringConstructor)[];
maxWidth: (NumberConstructor | StringConstructor)[];
minHeight: (NumberConstructor | StringConstructor)[];
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
eager: BooleanConstructor;
color: StringConstructor;
expandIcon: Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
};
collapseIcon: Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
};
focusable: BooleanConstructor;
static: BooleanConstructor;
ripple: {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
};
readonly: BooleanConstructor;
title: StringConstructor;
text: StringConstructor;
bgColor: StringConstructor;
subtitle: StringConstructor;
complete: BooleanConstructor;
completeIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
editable: BooleanConstructor;
editIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
error: BooleanConstructor;
errorIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
icon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
rules: {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[]>;
default: () => never[];
};
hideActions: BooleanConstructor;
}, import("vue").ExtractPropTypes<{
class: import("vue").PropType<any>;
style: {
type: import("vue").PropType<import("vue").StyleValue>;
default: null;
};
elevation: {
type: (NumberConstructor | StringConstructor)[];
validator: (value: string | number) => boolean;
};
rounded: {
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
default: undefined;
};
tile: BooleanConstructor;
tag: {
type: import("vue").PropType<string | import("../../util/index.js").JSXComponent>;
default: string;
};
value: null;
disabled: BooleanConstructor;
selectedClass: StringConstructor;
height: (NumberConstructor | StringConstructor)[];
maxHeight: (NumberConstructor | StringConstructor)[];
maxWidth: (NumberConstructor | StringConstructor)[];
minHeight: (NumberConstructor | StringConstructor)[];
minWidth: (NumberConstructor | StringConstructor)[];
width: (NumberConstructor | StringConstructor)[];
eager: BooleanConstructor;
color: StringConstructor;
expandIcon: Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
};
collapseIcon: Omit<{
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
}, "default" | "type"> & {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: NonNullable<import("../../composables/icons.js").IconValue>;
};
focusable: BooleanConstructor;
static: BooleanConstructor;
ripple: {
type: import("vue").PropType<boolean | {
class?: string;
keys?: string[];
} | undefined>;
default: boolean;
};
readonly: BooleanConstructor;
title: StringConstructor;
text: StringConstructor;
bgColor: StringConstructor;
subtitle: StringConstructor;
complete: BooleanConstructor;
completeIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
editable: BooleanConstructor;
editIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
error: BooleanConstructor;
errorIcon: {
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
default: string;
};
icon: import("vue").PropType<import("../../composables/icons.js").IconValue>;
rules: {
type: import("vue").PropType<readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[]>;
default: () => never[];
};
hideActions: BooleanConstructor;
}>>;
export type VStepperVerticalItem = InstanceType<typeof VStepperVerticalItem>;
@@ -0,0 +1,130 @@
import { Fragment as _Fragment, createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from "vue";
// Styles
import "./VStepperVerticalItem.css";
// Components
import { VStepperVerticalActions } from "./VStepperVerticalActions.js";
import { VAvatar } from "../../components/VAvatar/VAvatar.js";
import { VDefaultsProvider } from "../../components/VDefaultsProvider/VDefaultsProvider.js";
import { makeVExpansionPanelProps, VExpansionPanel } from "../../components/VExpansionPanel/VExpansionPanel.js";
import { VIcon } from "../../components/VIcon/VIcon.js";
import { makeStepperItemProps } from "../../components/VStepper/VStepperItem.js"; // Utilities
import { computed, ref } from 'vue';
import { genericComponent, omit, propsFactory, useRender } from "../../util/index.js"; // Types
export const makeVStepperVerticalItemProps = propsFactory({
hideActions: Boolean,
...makeStepperItemProps(),
...omit(makeVExpansionPanelProps({
expandIcon: '',
collapseIcon: ''
}), ['hideActions'])
}, 'VStepperVerticalItem');
export const VStepperVerticalItem = genericComponent()({
name: 'VStepperVerticalItem',
props: makeVStepperVerticalItemProps(),
emits: {
'click:next': () => true,
'click:prev': () => true,
'click:finish': () => true
},
setup(props, {
emit,
slots
}) {
const vExpansionPanelRef = ref();
const step = computed(() => !isNaN(parseInt(props.value)) ? Number(props.value) : props.value);
const groupItem = computed(() => vExpansionPanelRef.value?.groupItem);
const isValid = computed(() => props.rules.every(handler => handler() === true));
const canEdit = computed(() => !props.disabled && props.editable);
const hasError = computed(() => props.error || !isValid.value);
const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value);
const disabled = computed(() => {
if (props.disabled) return props.disabled;
if (groupItem.value?.isFirst.value) return 'prev';
return false;
});
const icon = computed(() => {
if (hasError.value) return props.errorIcon;
if (hasCompleted.value) return props.completeIcon;
if (groupItem.value?.isSelected.value && props.editable) return props.editIcon;
return props.icon;
});
const slotProps = computed(() => ({
canEdit: canEdit.value,
hasError: hasError.value,
hasCompleted: hasCompleted.value,
title: props.title,
subtitle: props.subtitle,
step: step.value
}));
const actionProps = computed(() => ({
...slotProps.value,
prev: onClickPrev,
next: onClickNext
}));
function onClickNext() {
emit('click:next');
if (groupItem.value?.isLast.value) return;
groupItem.value.group.next();
}
function onClickPrev() {
emit('click:prev');
groupItem.value.group.prev();
}
useRender(() => {
const hasColor = (!groupItem.value || groupItem.value?.isSelected.value || hasCompleted.value || canEdit.value) && !hasError.value && !props.disabled;
const hasActions = !props.hideActions || !!slots.actions;
const expansionPanelProps = VExpansionPanel.filterProps(props);
return _createVNode(VExpansionPanel, _mergeProps({
"_as": "VStepperVerticalItem",
"ref": vExpansionPanelRef
}, expansionPanelProps, {
"class": ['v-stepper-vertical-item', {
'v-stepper-vertical-item--complete': hasCompleted.value,
'v-stepper-vertical-item--disabled': props.disabled,
'v-stepper-vertical-item--editable': canEdit.value,
'v-stepper-vertical-item--error': hasError.value
}, props.class],
"readonly": !props.editable,
"style": props.style,
"color": "",
"hideActions": false,
"value": step.value
}), {
title: () => _createElementVNode(_Fragment, null, [_createVNode(VAvatar, {
"key": "stepper-avatar",
"class": "v-stepper-vertical-item__avatar",
"color": hasColor ? props.color : undefined,
"size": 24,
"start": true
}, {
default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? _createVNode(VIcon, {
"icon": icon.value
}, null) : step.value)]
}), _createElementVNode("div", null, [_createElementVNode("div", {
"class": "v-stepper-vertical-item__title"
}, [slots.title?.(slotProps.value) ?? props.title]), _createElementVNode("div", {
"class": "v-stepper-vertical-item__subtitle"
}, [slots.subtitle?.(slotProps.value) ?? props.subtitle])])]),
text: () => _createElementVNode(_Fragment, null, [slots.default?.(slotProps.value) ?? props.text, hasActions && _createVNode(VDefaultsProvider, {
"defaults": {
VStepperVerticalActions: {
disabled: disabled.value,
finish: groupItem.value?.isLast.value
}
}
}, {
default: () => [slots.actions?.(actionProps.value) ?? _createVNode(VStepperVerticalActions, {
"onClick:next": onClickNext,
"onClick:prev": onClickPrev
}, {
prev: slots.prev ? () => slots.prev?.(actionProps.value) : undefined,
next: slots.next ? () => slots.next?.(actionProps.value) : undefined
})]
})])
});
});
return {};
}
});
//# sourceMappingURL=VStepperVerticalItem.js.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,79 @@
@use '../../styles/settings'
@use '../../styles/tools'
@use './variables' as *
@include tools.layer('components')
.v-stepper-vertical-item
position: relative
transition-duration: $stepper-vertical-item-transition-duration
transition-property: $stepper-vertical-item-transition-property
transition-timing-function: $stepper-vertical-item-transition-timing-function
&--error
color: rgb(var(--v-theme-error))
&__title
font-size: 1rem
&__subtitle
font-size: .75rem
.v-expansion-panel-text
padding-inline-start: 32px
&:not(:last-child):before
content: ''
position: absolute
width: 2px
height: calc(100% - 30px)
background: rgba(var(--v-border-color), var(--v-border-opacity))
left: 35px
top: 44px
z-index: 1
transition-duration: 300ms
transition-property: height
&:after
display: none
&.v-expansion-panel--disabled,
&:not(.v-stepper-vertical-item--editable)
.v-expansion-panel-title
pointer-events: none
.v-expansion-panel-title__overlay
opacity: 0
.v-stepper-vertical-item__avatar.v-avatar
background: tools.theme-color('surface-variant', var(--v-medium-emphasis-opacity))
color: rgb(var(--v-theme-on-surface-variant))
transition-property: background
align-self: start
.v-icon
font-size: .875rem
.v-expansion-panel--active &
background: rgb(var(--v-theme-surface-variant))
.v-stepper-vertical-item--error &
background: rgb(var(--v-theme-error))
color: rgb(var(--v-theme-on-error))
.v-stepper-vertical-item__title
.v-stepper-vertical-item--error &
color: rgb(var(--v-theme-error))
.v-stepper-vertical-item__subtitle
.v-stepper-vertical-item--error &
color: rgb(var(--v-theme-error))
.v-stepper-vertical-actions
&.v-stepper-actions
.v-btn
margin-inline-end: 8px
.v-stepper &
justify-content: flex-end
padding: 24px 0 0
flex-direction: row-reverse
@@ -0,0 +1,3 @@
$stepper-vertical-item-transition-duration: .2s !default;
$stepper-vertical-item-transition-property: opacity !default;
$stepper-vertical-item-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !default;
+3
View File
@@ -0,0 +1,3 @@
export { VStepperVertical } from './VStepperVertical.js';
export { VStepperVerticalItem } from './VStepperVerticalItem.js';
export { VStepperVerticalActions } from './VStepperVerticalActions.js';
+4
View File
@@ -0,0 +1,4 @@
export { VStepperVertical } from "./VStepperVertical.js";
export { VStepperVerticalItem } from "./VStepperVerticalItem.js";
export { VStepperVerticalActions } from "./VStepperVerticalActions.js";
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","names":["VStepperVertical","VStepperVerticalItem","VStepperVerticalActions"],"sources":["../../../src/labs/VStepperVertical/index.ts"],"sourcesContent":["export { VStepperVertical } from './VStepperVertical'\nexport { VStepperVerticalItem } from './VStepperVerticalItem'\nexport { VStepperVerticalActions } from './VStepperVerticalActions'\n"],"mappings":"SAASA,gBAAgB;AAAA,SAChBC,oBAAoB;AAAA,SACpBC,uBAAuB","ignoreList":[]}