mealcomes
Version:
MealComes 用于学习前端的组件库
1,505 lines (1,479 loc) • 130 kB
TypeScript
import * as vue from 'vue';
import { Plugin, PropType, ExtractPropTypes, InjectionKey, SetupContext, DefineComponent, App } from 'vue';
import * as async_validator from 'async-validator';
import { RuleItem, ValidateFieldsError } from 'async-validator';
import * as _vue_reactivity from '@vue/reactivity';
import * as vue_jsx_runtime from 'vue/jsx-runtime';
import * as dayjs from 'dayjs';
declare const _default$1: {
install: (app: vue.App) => void;
};
type SFCWithInstall<T> = T & Plugin;
declare const componentSizes: readonly ["", "default", "small", "large"];
type ComponentSize = (typeof componentSizes)[number];
declare const componentSizeMap: {
readonly large: 40;
readonly default: 32;
readonly small: 24;
};
declare const WEEK_DAYS: readonly ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
type Type = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'default' | '';
type NativeType = 'button' | 'submit' | 'reset';
type Placement = 'left' | 'right';
declare const buttonProps: {
readonly size: {
readonly type: PropType<ComponentSize>;
};
readonly type: {
readonly type: PropType<Type>;
readonly validator: (val: string) => boolean;
};
readonly round: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly loading: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly nativeType: {
readonly type: PropType<NativeType>;
readonly default: "button";
};
readonly iconPlacement: {
readonly type: PropType<Placement>;
readonly default: "left";
};
readonly circle: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly plain: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
type ButtonProps = ExtractPropTypes<typeof buttonProps>;
declare const buttonEmits: {
click: (e: MouseEvent) => boolean;
mousedown: (e: MouseEvent) => boolean;
};
type ButtonEmits = typeof buttonEmits;
declare const McButton: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly size: {
readonly type: vue.PropType<ComponentSize>;
};
readonly type: {
readonly type: vue.PropType<Type>;
readonly validator: (val: string) => boolean;
};
readonly round: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly loading: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly nativeType: {
readonly type: vue.PropType<NativeType>;
readonly default: "button";
};
readonly iconPlacement: {
readonly type: vue.PropType<Placement>;
readonly default: "left";
};
readonly circle: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly plain: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
onMousedown?: ((e: MouseEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
click: (e: MouseEvent) => void;
mousedown: (e: MouseEvent) => void;
}, vue.PublicProps, {
readonly round: boolean;
readonly loading: boolean;
readonly disabled: boolean;
readonly nativeType: NativeType;
readonly iconPlacement: Placement;
readonly circle: boolean;
readonly plain: boolean;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {
waveRef: vue.CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
wave: () => void;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {
waveRef: HTMLDivElement;
}, HTMLDivElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<{}> & Readonly<{}>, {
wave: () => void;
}, {}, {}, {}, {}> | null;
}, any, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly size: {
readonly type: vue.PropType<ComponentSize>;
};
readonly type: {
readonly type: vue.PropType<Type>;
readonly validator: (val: string) => boolean;
};
readonly round: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly loading: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly nativeType: {
readonly type: vue.PropType<NativeType>;
readonly default: "button";
};
readonly iconPlacement: {
readonly type: vue.PropType<Placement>;
readonly default: "left";
};
readonly circle: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly plain: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
onMousedown?: ((e: MouseEvent) => any) | undefined;
}>, {}, {}, {}, {}, {
readonly round: boolean;
readonly loading: boolean;
readonly disabled: boolean;
readonly nativeType: NativeType;
readonly iconPlacement: Placement;
readonly circle: boolean;
readonly plain: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly size: {
readonly type: vue.PropType<ComponentSize>;
};
readonly type: {
readonly type: vue.PropType<Type>;
readonly validator: (val: string) => boolean;
};
readonly round: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly loading: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly nativeType: {
readonly type: vue.PropType<NativeType>;
readonly default: "button";
};
readonly iconPlacement: {
readonly type: vue.PropType<Placement>;
readonly default: "left";
};
readonly circle: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly plain: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
onClick?: ((e: MouseEvent) => any) | undefined;
onMousedown?: ((e: MouseEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
click: (e: MouseEvent) => void;
mousedown: (e: MouseEvent) => void;
}, string, {
readonly round: boolean;
readonly loading: boolean;
readonly disabled: boolean;
readonly nativeType: NativeType;
readonly iconPlacement: Placement;
readonly circle: boolean;
readonly plain: boolean;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
loading?(_: {}): any;
loading?(_: {}): any;
icon?(_: {}): any;
icon?(_: {}): any;
default?(_: {}): any;
};
})>;
declare module 'vue' {
interface GlobalComponents {
McButton: typeof McButton;
}
}
type CalendarDateType = 'prev-month' | 'next-month' | 'prev-year' | 'next-year' | 'today';
declare const calendarProps: {
readonly modelValue: {
readonly type: DateConstructor;
};
readonly mini: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
type CalendarProps = ExtractPropTypes<typeof calendarProps>;
declare const calendarEmits: {
'update:modelValue': (val: Date) => boolean;
};
type CalendarEmits = typeof calendarEmits;
declare const McCalendar: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: DateConstructor;
};
readonly mini: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((val: Date) => any) | undefined;
}>, {
selectedDay: vue.WritableComputedRef<dayjs.Dayjs | undefined, dayjs.Dayjs | undefined>;
pickDay: (day: dayjs.Dayjs) => void;
selectDate: (type: CalendarDateType) => void;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
"update:modelValue": (val: Date) => void;
}, vue.PublicProps, {
readonly mini: boolean;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, HTMLDivElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: DateConstructor;
};
readonly mini: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((val: Date) => any) | undefined;
}>, {
selectedDay: vue.WritableComputedRef<dayjs.Dayjs | undefined, dayjs.Dayjs | undefined>;
pickDay: (day: dayjs.Dayjs) => void;
selectDate: (type: CalendarDateType) => void;
}, {}, {}, {}, {
readonly mini: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: DateConstructor;
};
readonly mini: {
readonly type: BooleanConstructor;
readonly default: false;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((val: Date) => any) | undefined;
}>, {
selectedDay: vue.WritableComputedRef<dayjs.Dayjs | undefined, dayjs.Dayjs | undefined>;
pickDay: (day: dayjs.Dayjs) => void;
selectDate: (type: CalendarDateType) => void;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
"update:modelValue": (val: Date) => void;
}, string, {
readonly mini: boolean;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
header?(_: {
date: string;
}): any;
'date-cell'?(_: {
data: {
isSelected: boolean;
type: string;
day: string;
date: Date;
};
}): any;
};
})>;
type CalendarInstance = InstanceType<typeof McCalendar>;
declare module 'vue' {
interface GlobalComponents {
McCalendar: typeof McCalendar;
}
}
declare const checkboxProps: {
readonly modelValue: {
readonly type: PropType<boolean | string | number>;
};
readonly indeterminate: BooleanConstructor;
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly label: {
readonly type: PropType<string>;
};
};
type CheckboxProps = Partial<ExtractPropTypes<typeof checkboxProps>>;
declare const checkboxEmits: {
'update:modelValue': (value: boolean | string | number) => value is boolean;
change: (value: boolean) => boolean;
};
type CheckboxEmits = typeof checkboxEmits;
declare const McCheckbox: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: vue.PropType<boolean | string | number>;
};
readonly indeterminate: BooleanConstructor;
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly label: {
readonly type: vue.PropType<string>;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
onChange?: ((value: boolean) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
"update:modelValue": (value: string | number | boolean) => void;
change: (value: boolean) => void;
}, vue.PublicProps, {
readonly disabled: boolean;
readonly indeterminate: boolean;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {
inputRef: HTMLInputElement;
}, HTMLLabelElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: vue.PropType<boolean | string | number>;
};
readonly indeterminate: BooleanConstructor;
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly label: {
readonly type: vue.PropType<string>;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
onChange?: ((value: boolean) => any) | undefined;
}>, {}, {}, {}, {}, {
readonly disabled: boolean;
readonly indeterminate: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly modelValue: {
readonly type: vue.PropType<boolean | string | number>;
};
readonly indeterminate: BooleanConstructor;
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly label: {
readonly type: vue.PropType<string>;
};
}>> & Readonly<{
"onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
onChange?: ((value: boolean) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
"update:modelValue": (value: string | number | boolean) => void;
change: (value: boolean) => void;
}, string, {
readonly disabled: boolean;
readonly indeterminate: boolean;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
default?(_: {}): any;
};
})>;
declare module 'vue' {
interface GlobalComponents {
McCheckbox: typeof McCheckbox;
}
}
type Arrayable<T> = T | T[];
interface FormItemRule extends RuleItem {
trigger?: string | string[];
}
declare const formItemValidateState: readonly ["success", "error", "validating", ""];
type FormItemValidateState = (typeof formItemValidateState)[number];
declare const formItemSize: readonly ["default", "small", "large"];
type FormItemSize = (typeof formItemSize)[number];
declare const formItemProps: {
readonly prop: {
readonly type: StringConstructor;
readonly default: "";
};
readonly label: {
readonly type: StringConstructor;
readonly default: "";
};
readonly labelWidth: {
readonly type: PropType<string | number>;
readonly default: "";
};
readonly rules: {
readonly type: PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly size: {
readonly type: PropType<ComponentSize>;
readonly default: "default";
};
};
type FormItemProps = Partial<ExtractPropTypes<typeof formItemProps>>;
interface FormItemContext extends FormItemProps {
validate: (trigger: string, callback?: (idValid: boolean, invalidFields?: ValidateFieldsError) => void) => Promise<boolean>;
}
declare const formItemContextKey: InjectionKey<FormItemContext>;
declare const formProps: {
readonly model: ObjectConstructor;
readonly rules: {
readonly type: PropType<Record<string, Arrayable<FormItemRule>>>;
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
};
type FormProps = Partial<ExtractPropTypes<typeof formProps>>;
interface FormContext extends FormProps {
addField: (field: FormItemContext) => void;
}
declare const formContextKey: InjectionKey<FormContext>;
declare const formItemInputProps: {
labelWidth: {
type: PropType<string | number>;
default: string;
};
size: {
readonly type: PropType<ComponentSize>;
readonly default: "default";
};
prop: {
readonly type: StringConstructor;
readonly default: "";
};
rules: {
readonly type: PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
type: {
readonly type: StringConstructor;
readonly default: "text";
};
disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
modelValue: {
readonly type: PropType<string | number>;
readonly default: "";
};
clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
};
type FormItemInputProps = ExtractPropTypes<typeof formItemInputProps>;
declare const formItemInputEmits: {
'update:modelValue': (value: string) => boolean;
input: (value: string) => boolean;
change: (value: string) => boolean;
focus: (event: FocusEvent) => boolean;
blur: (event: FocusEvent) => boolean;
clear: () => boolean;
keydown: (event: KeyboardEvent) => boolean;
};
type FormItemInputEmits = typeof formItemInputEmits;
declare const McForm: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: vue.PropType<Record<string, Arrayable<FormItemRule>>>;
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
}>> & Readonly<{}>, {
validate: (callback?: (valid: boolean, fields?: async_validator.ValidateFieldsError) => void) => Promise<void>;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {
readonly showMessage: boolean;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, HTMLFormElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: vue.PropType<Record<string, Arrayable<FormItemRule>>>;
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
}>> & Readonly<{}>, {
validate: (callback?: (valid: boolean, fields?: async_validator.ValidateFieldsError) => void) => Promise<void>;
}, {}, {}, {}, {
readonly showMessage: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly model: ObjectConstructor;
readonly rules: {
readonly type: vue.PropType<Record<string, Arrayable<FormItemRule>>>;
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
}>> & Readonly<{}>, {
validate: (callback?: (valid: boolean, fields?: async_validator.ValidateFieldsError) => void) => Promise<void>;
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
readonly showMessage: boolean;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
default?(_: {}): any;
};
})>;
declare const McFormItem: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly prop: {
readonly type: StringConstructor;
readonly default: "";
};
readonly label: {
readonly type: StringConstructor;
readonly default: "";
};
readonly labelWidth: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
}>> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {
readonly size: "" | "default" | "small" | "large";
readonly label: string;
readonly prop: string;
readonly labelWidth: string | number;
readonly rules: Arrayable<FormItemRule>;
readonly showMessage: boolean;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, HTMLDivElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly prop: {
readonly type: StringConstructor;
readonly default: "";
};
readonly label: {
readonly type: StringConstructor;
readonly default: "";
};
readonly labelWidth: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
}>> & Readonly<{}>, {}, {}, {}, {}, {
readonly size: "" | "default" | "small" | "large";
readonly label: string;
readonly prop: string;
readonly labelWidth: string | number;
readonly rules: Arrayable<FormItemRule>;
readonly showMessage: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly prop: {
readonly type: StringConstructor;
readonly default: "";
};
readonly label: {
readonly type: StringConstructor;
readonly default: "";
};
readonly labelWidth: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
readonly showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
}>> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
readonly size: "" | "default" | "small" | "large";
readonly label: string;
readonly prop: string;
readonly labelWidth: string | number;
readonly rules: Arrayable<FormItemRule>;
readonly showMessage: boolean;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
label?(_: {}): any;
default?(_: {}): any;
error?(_: {
error: string;
}): any;
};
})>;
declare const McFormItemInput: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
labelWidth: {
type: vue.PropType<string | number>;
default: string;
};
size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
prop: {
readonly type: StringConstructor;
readonly default: "";
};
rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
type: {
readonly type: StringConstructor;
readonly default: "text";
};
disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
clear: () => void;
input: (value: string) => void;
"update:modelValue": (value: string) => void;
change: (value: string) => void;
focus: (event: FocusEvent) => void;
blur: (event: FocusEvent) => void;
keydown: (event: KeyboardEvent) => void;
}, vue.PublicProps, {
size: "" | "default" | "small" | "large";
type: string;
disabled: boolean;
placeholder: string;
modelValue: string | number;
prop: string;
labelWidth: string | number;
rules: Arrayable<FormItemRule>;
showMessage: boolean;
clearable: boolean;
showPassword: boolean;
readonly: boolean;
ariaLabel: string;
autocomplete: string;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {
labelRef: HTMLSpanElement;
}, HTMLDivElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
labelWidth: {
type: vue.PropType<string | number>;
default: string;
};
size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
prop: {
readonly type: StringConstructor;
readonly default: "";
};
rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
type: {
readonly type: StringConstructor;
readonly default: "text";
};
disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, {
size: "" | "default" | "small" | "large";
type: string;
disabled: boolean;
placeholder: string;
modelValue: string | number;
prop: string;
labelWidth: string | number;
rules: Arrayable<FormItemRule>;
showMessage: boolean;
clearable: boolean;
showPassword: boolean;
readonly: boolean;
ariaLabel: string;
autocomplete: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
labelWidth: {
type: vue.PropType<string | number>;
default: string;
};
size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
prop: {
readonly type: StringConstructor;
readonly default: "";
};
rules: {
readonly type: vue.PropType<Arrayable<FormItemRule>>;
readonly default: () => never[];
};
showMessage: {
readonly type: BooleanConstructor;
readonly default: true;
};
type: {
readonly type: StringConstructor;
readonly default: "text";
};
disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
clear: () => void;
input: (value: string) => void;
"update:modelValue": (value: string) => void;
change: (value: string) => void;
focus: (event: FocusEvent) => void;
blur: (event: FocusEvent) => void;
keydown: (event: KeyboardEvent) => void;
}, string, {
size: "" | "default" | "small" | "large";
type: string;
disabled: boolean;
placeholder: string;
modelValue: string | number;
prop: string;
labelWidth: string | number;
rules: Arrayable<FormItemRule>;
showMessage: boolean;
clearable: boolean;
showPassword: boolean;
readonly: boolean;
ariaLabel: string;
autocomplete: string;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
prefix?(_: {}): any;
suffix?(_: {}): any;
prepend?(_: {}): any;
append?(_: {}): any;
};
})>;
type FormInstance = InstanceType<typeof McForm>;
declare module 'vue' {
interface GlobalComponents {
McForm: typeof McForm;
McFormItem: typeof McFormItem;
McFormItemInput: typeof McFormItemInput;
}
}
declare const iconProps: {
readonly color: StringConstructor;
readonly size: PropType<number | string>;
};
type IconProps = ExtractPropTypes<typeof iconProps>;
declare const McIcon: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly color: StringConstructor;
readonly size: vue.PropType<number | string>;
}>> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, HTMLElement, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly color: StringConstructor;
readonly size: vue.PropType<number | string>;
}>> & Readonly<{}>, {}, {}, {}, {}, {}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly color: StringConstructor;
readonly size: vue.PropType<number | string>;
}>> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
default?(_: {}): any;
};
})>;
declare module 'vue' {
interface GlobalComponents {
McIcon: typeof McIcon;
}
}
declare const inputProps: {
readonly type: {
readonly type: StringConstructor;
readonly default: "text";
};
readonly modelValue: {
readonly type: PropType<string | number>;
readonly default: "";
};
readonly placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
readonly clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
readonly size: {
readonly type: PropType<ComponentSize>;
readonly default: "default";
};
readonly autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
};
type InputProps = ExtractPropTypes<typeof inputProps>;
declare const McInput: SFCWithInstall<{
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<vue.ExtractPropTypes<{
readonly type: {
readonly type: StringConstructor;
readonly default: "text";
};
readonly modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
readonly clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
readonly autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
clear: () => void;
input: (value: string) => void;
"update:modelValue": (value: string) => void;
change: (value: string) => void;
focus: (event: FocusEvent) => void;
blur: (event: FocusEvent) => void;
keydown: (event: KeyboardEvent) => void;
}, vue.PublicProps, {
readonly size: "" | "default" | "small" | "large";
readonly type: string;
readonly disabled: boolean;
readonly placeholder: string;
readonly modelValue: string | number;
readonly clearable: boolean;
readonly showPassword: boolean;
readonly readonly: boolean;
readonly ariaLabel: string;
readonly autocomplete: string;
}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {
inputRef: HTMLInputElement;
}, any, vue.ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly<vue.ExtractPropTypes<{
readonly type: {
readonly type: StringConstructor;
readonly default: "text";
};
readonly modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
readonly clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
readonly autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, {
readonly size: "" | "default" | "small" | "large";
readonly type: string;
readonly disabled: boolean;
readonly placeholder: string;
readonly modelValue: string | number;
readonly clearable: boolean;
readonly showPassword: boolean;
readonly readonly: boolean;
readonly ariaLabel: string;
readonly autocomplete: string;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{
readonly type: {
readonly type: StringConstructor;
readonly default: "text";
};
readonly modelValue: {
readonly type: vue.PropType<string | number>;
readonly default: "";
};
readonly placeholder: {
readonly type: StringConstructor;
readonly default: "";
};
readonly clearable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly showPassword: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly disabled: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly readonly: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly ariaLabel: {
readonly type: StringConstructor;
readonly default: "";
};
readonly size: {
readonly type: vue.PropType<ComponentSize>;
readonly default: "default";
};
readonly autocomplete: {
readonly type: StringConstructor;
readonly default: "off";
};
}>> & Readonly<{
onClear?: (() => any) | undefined;
onInput?: ((value: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
onChange?: ((value: string) => any) | undefined;
onFocus?: ((event: FocusEvent) => any) | undefined;
onBlur?: ((event: FocusEvent) => any) | undefined;
onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
clear: () => void;
input: (value: string) => void;
"update:modelValue": (value: string) => void;
change: (value: string) => void;
focus: (event: FocusEvent) => void;
blur: (event: FocusEvent) => void;
keydown: (event: KeyboardEvent) => void;
}, string, {
readonly size: "" | "default" | "small" | "large";
readonly type: string;
readonly disabled: boolean;
readonly placeholder: string;
readonly modelValue: string | number;
readonly clearable: boolean;
readonly showPassword: boolean;
readonly readonly: boolean;
readonly ariaLabel: string;
readonly autocomplete: string;
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
$slots: {
prepend?(_: {}): any;
prefix?(_: {}): any;
suffix?(_: {}): any;
append?(_: {}): any;
};
})>;
declare module 'vue' {
interface GlobalComponents {
McInput: typeof McInput;
}
}
type Key = string | number;
interface TreeNode extends Required<TreeOption> {
level: number;
rawNode: TreeOption;
children: TreeNode[];
isLeaf: boolean;
parentKey: Key | undefined;
}
interface TreeOption {
label?: Key;
key?: Key;
children?: TreeOption[];
isLeaf?: boolean;
disabled?: boolean;
[key: string]: unknown;
}
declare const treeProps: {
readonly data: {
readonly type: PropType<TreeOption[]>;
readonly default: () => never[];
};
readonly defaultExpandedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly labelField: {
readonly type: StringConstructor;
readonly default: "label";
};
readonly keyField: {
readonly type: StringConstructor;
readonly default: "key";
};
readonly childrenField: {
readonly type: StringConstructor;
readonly default: "children";
};
readonly onLoad: PropType<(node: TreeOption) => Promise<TreeOption[]>>;
readonly selectedKeys: {
readonly type: PropType<Key[]>;
};
readonly selectable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly defaultCheckedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly showCheckbox: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
declare const treeEmits: {
'update:selectedKeys': (keys: Key[]) => Key[];
};
type TreeProps = Partial<ExtractPropTypes<typeof treeProps>>;
declare const treeNodeProps: {
readonly node: {
readonly type: PropType<TreeNode>;
readonly required: true;
};
readonly expanded: {
readonly type: BooleanConstructor;
readonly required: true;
};
readonly loadingKeys: {
readonly type: PropType<Set<Key>>;
readonly required: true;
};
readonly selectedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly showCheckbox: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly checked: BooleanConstructor;
readonly disabled: BooleanConstructor;
readonly indeterminate: BooleanConstructor;
};
declare const treeNodeEmits: {
toggle: (node: TreeNode) => TreeNode;
select: (node: TreeNode, canMulti?: boolean) => TreeNode;
check: (node: TreeNode, val: boolean) => false | TreeNode;
};
type TreeNodeProps = Partial<ExtractPropTypes<typeof treeNodeProps>>;
interface TreeContext {
slots: SetupContext['slots'];
}
declare const treeInjectKey: InjectionKey<TreeContext>;
declare const treeNodeContentProps: {
readonly node: {
readonly type: PropType<TreeNode>;
readonly required: true;
};
};
declare const McTree: SFCWithInstall<vue.DefineComponent<vue.ExtractPropTypes<{
readonly data: {
readonly type: vue.PropType<TreeOption[]>;
readonly default: () => never[];
};
readonly defaultExpandedKeys: {
readonly type: vue.PropType<Key[]>;
readonly default: () => never[];
};
readonly labelField: {
readonly type: StringConstructor;
readonly default: "label";
};
readonly keyField: {
readonly type: StringConstructor;
readonly default: "key";
};
readonly childrenField: {
readonly type: StringConstructor;
readonly default: "children";
};
readonly onLoad: vue.PropType<(node: TreeOption) => Promise<TreeOption[]>>;
readonly selectedKeys: {
readonly type: vue.PropType<Key[]>;
};
readonly selectable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly defaultCheckedKeys: {
readonly type: vue.PropType<Key[]>;
readonly default: