'use strict';

require('../../../utils/index.cjs');
var vueTypes = require('../../../utils/vue/vueTypes.cjs');
var propType = require('../../../utils/vue/propType.cjs');
var omit = require('../../../utils/lang/omit.cjs');

function baseInputProps() {
  return {
    addonBefore: vueTypes.default.any,
    addonAfter: vueTypes.default.any,
    prefix: vueTypes.default.any,
    suffix: vueTypes.default.any,
    clearIcon: vueTypes.default.any,
    affixWrapperClassName: String,
    groupClassName: String,
    wrapperClassName: String,
    inputClassName: String,
    allowClear: { type: Boolean, default: void 0 },
    value: {
      type: [String, Number, Symbol],
      default: void 0
    },
    defaultValue: {
      type: [String, Number, Symbol],
      default: void 0
    },
    inputElement: vueTypes.default.any,
    prefixCls: String,
    disabled: { type: Boolean, default: void 0 },
    focused: { type: Boolean, default: void 0 },
    triggerFocus: Function,
    readonly: { type: Boolean, default: void 0 },
    handleReset: Function,
    hidden: { type: Boolean, default: void 0 }
  };
}
function internalInputProps() {
  return {
    ...baseInputProps(),
    "id": String,
    "placeholder": {
      type: [String, Number]
    },
    "autocomplete": String,
    "type": propType.stringType(
      "text"
    ),
    "name": String,
    "size": { type: String },
    "autofocus": { type: Boolean, default: void 0 },
    "lazy": { type: Boolean, default: true },
    "maxlength": Number,
    "loading": { type: Boolean, default: void 0 },
    "bordered": { type: Boolean, default: void 0 },
    "showCount": { type: [Boolean, Object] },
    "htmlSize": Number,
    "onPressEnter": Function,
    "onKeydown": Function,
    "onKeyup": Function,
    "onFocus": Function,
    "onBlur": Function,
    "onChange": Function,
    "onInput": Function,
    "onUpdate:value": Function,
    "onCompositionstart": Function,
    "onCompositionend": Function,
    "valueModifiers": Object,
    "hidden": { type: Boolean, default: void 0 },
    "status": String
  };
}
function inputProps() {
  return omit.omit(internalInputProps(), [
    "wrapperClassName",
    "groupClassName",
    "inputClassName",
    "affixWrapperClassName"
  ]);
}
function textAreaProps() {
  return {
    ...omit.omit(inputProps(), ["prefix", "addonBefore", "addonAfter", "suffix"]),
    rows: Number,
    autosize: { type: [Boolean, Object], default: void 0 },
    autoSize: { type: [Boolean, Object], default: void 0 },
    onResize: { type: Function },
    onCompositionstart: propType.eventType(),
    onCompositionend: propType.eventType(),
    valueModifiers: Object
  };
}

exports.baseInputProps = baseInputProps;
exports.inputProps = inputProps;
exports.internalInputProps = internalInputProps;
exports.textAreaProps = textAreaProps;
//# sourceMappingURL=props.cjs.map
