UNPKG

mealcomes

Version:

MealComes 用于学习前端的组件库

1,505 lines (1,479 loc) 130 kB
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: