UNPKG

element-plus

Version:

A Component Library for Vue 3

130 lines (127 loc) 2.96 kB
import { CircleClose } from '@element-plus/icons-vue'; import { useSizeProp } from '../../../hooks/use-size/index.mjs'; import { iconPropType } from '../../../utils/vue/icon.mjs'; import { mutable } from '../../../utils/typescript.mjs'; import { useAriaProps } from '../../../hooks/use-aria/index.mjs'; import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs'; import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs'; import { isString } from '@vue/shared'; const inputProps = buildProps({ id: { type: String, default: void 0 }, size: useSizeProp, disabled: { type: Boolean, default: void 0 }, modelValue: { type: definePropType([ String, Number, Object ]), default: "" }, modelModifiers: { type: definePropType(Object), default: () => ({}) }, maxlength: { type: [String, Number] }, minlength: { type: [String, Number] }, type: { type: definePropType(String), default: "text" }, resize: { type: String, values: ["none", "both", "horizontal", "vertical"] }, autosize: { type: definePropType([Boolean, Object]), default: false }, autocomplete: { type: definePropType(String), default: "off" }, formatter: { type: Function }, parser: { type: Function }, placeholder: { type: String }, form: { type: String }, readonly: Boolean, clearable: Boolean, clearIcon: { type: iconPropType, default: CircleClose }, showPassword: Boolean, showWordLimit: Boolean, wordLimitPosition: { type: String, values: ["inside", "outside"], default: "inside" }, suffixIcon: { type: iconPropType }, prefixIcon: { type: iconPropType }, containerRole: { type: String, default: void 0 }, tabindex: { type: [String, Number], default: 0 }, validateEvent: { type: Boolean, default: true }, inputStyle: { type: definePropType([Object, Array, String]), default: () => mutable({}) }, autofocus: Boolean, rows: { type: Number, default: 2 }, ...useAriaProps(["ariaLabel"]), inputmode: { type: definePropType(String), default: void 0 }, name: String }); const inputEmits = { [UPDATE_MODEL_EVENT]: (value) => isString(value), input: (value) => isString(value), change: (value, evt) => isString(value) && (evt instanceof Event || evt === void 0), focus: (evt) => evt instanceof FocusEvent, blur: (evt) => evt instanceof FocusEvent, clear: () => true, mouseleave: (evt) => evt instanceof MouseEvent, mouseenter: (evt) => evt instanceof MouseEvent, keydown: (evt) => evt instanceof Event, compositionstart: (evt) => evt instanceof CompositionEvent, compositionupdate: (evt) => evt instanceof CompositionEvent, compositionend: (evt) => evt instanceof CompositionEvent }; export { inputEmits, inputProps }; //# sourceMappingURL=input.mjs.map