import '../../../utils/index.mjs';
import { booleanType, someType, stringType, functionType } from '../../../utils/vue/propType.mjs';
import PropTypes from '../../../utils/vue/vueTypes.mjs';

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

export { inputElementProps, inputNumberProps };
//# sourceMappingURL=props.mjs.map
