'use strict';

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

function inputElementProps() {
  return {
    /** value will show as string */
    stringMode: propType.booleanType(),
    defaultValue: propType.someType([String, Number]),
    value: propType.someType([String, Number]),
    prefixCls: propType.stringType(),
    min: propType.someType([String, Number]),
    max: propType.someType([String, Number]),
    step: propType.someType([String, Number], 1),
    tabindex: Number,
    controls: propType.booleanType(true),
    readonly: propType.booleanType(),
    disabled: propType.booleanType(),
    autofocus: propType.booleanType(),
    keyboard: propType.booleanType(true),
    /** Parse display value to validate number */
    parser: propType.functionType(),
    /** Transform `value` to display value show in input */
    formatter: propType.functionType(),
    /** Syntactic sugar of `formatter`. Config precision of display. */
    precision: Number,
    /** Syntactic sugar of `formatter`. Config decimal separator of display. */
    decimalSeparator: String,
    onInput: propType.functionType(),
    onChange: propType.functionType(),
    onPressEnter: propType.functionType(),
    onStep: propType.functionType(),
    onBlur: propType.functionType(),
    onFocus: propType.functionType()
  };
}
function inputNumberProps() {
  return {
    ...inputElementProps(),
    "size": propType.stringType(),
    "bordered": propType.booleanType(true),
    "placeholder": String,
    "name": String,
    "id": String,
    "type": String,
    "addonBefore": vueTypes.default.any,
    "addonAfter": vueTypes.default.any,
    "prefix": vueTypes.default.any,
    "onUpdate:value": propType.functionType(),
    "valueModifiers": Object,
    "status": propType.stringType()
  };
}

exports.inputElementProps = inputElementProps;
exports.inputNumberProps = inputNumberProps;
//# sourceMappingURL=props.cjs.map
