UNPKG

antdv-eoi

Version:

An enterprise-class UI design language and Vue-based implementation

884 lines (753 loc) 29.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _vue = require("vue"); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _vueTypes = _interopRequireDefault(require("../../_util/vue-types")); var _BaseMixin = _interopRequireDefault(require("../../_util/BaseMixin")); var _propsUtil = require("../../_util/props-util"); var _classNames2 = _interopRequireDefault(require("../../_util/classNames")); var _KeyCode = _interopRequireDefault(require("../../_util/KeyCode")); var _InputHandler = _interopRequireDefault(require("./InputHandler")); var _supportsPassive = _interopRequireDefault(require("../../_util/supportsPassive")); // based on rc-input-number 4.5.5 function preventDefault(e) { e.preventDefault(); } function defaultParser(input) { return input.replace(/[^\w\.-]+/g, ''); } /** * When click and hold on a button - the speed of auto changin the value. */ var SPEED = 200; /** * When click and hold on a button - the delay before auto changin the value. */ var DELAY = 600; /** * Max Safe Integer -- on IE this is not available, so manually set the number in that case. * The reason this is used, instead of Infinity is because numbers above the MSI are unstable */ var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1; var isValidProps = function isValidProps(value) { return value !== undefined && value !== null; }; var isEqual = function isEqual(oldValue, newValue) { return newValue === oldValue || typeof newValue === 'number' && typeof oldValue === 'number' && isNaN(newValue) && isNaN(oldValue); }; var inputNumberProps = { value: _vueTypes.default.oneOfType([_vueTypes.default.number, _vueTypes.default.string]), defaultValue: _vueTypes.default.oneOfType([_vueTypes.default.number, _vueTypes.default.string]), focusOnUpDown: _vueTypes.default.looseBool, autofocus: _vueTypes.default.looseBool, // onChange: PropTypes.func, // onKeyDown: PropTypes.func, // onKeyUp: PropTypes.func, prefixCls: _vueTypes.default.string, tabindex: _vueTypes.default.oneOfType([_vueTypes.default.string, _vueTypes.default.number]), placeholder: _vueTypes.default.string, disabled: _vueTypes.default.looseBool, // onFocus: PropTypes.func, // onBlur: PropTypes.func, readonly: _vueTypes.default.looseBool, max: _vueTypes.default.number, min: _vueTypes.default.number, step: _vueTypes.default.oneOfType([_vueTypes.default.number, _vueTypes.default.string]), upHandler: _vueTypes.default.any, downHandler: _vueTypes.default.any, useTouch: _vueTypes.default.looseBool, formatter: _vueTypes.default.func, parser: _vueTypes.default.func, // onMouseEnter: PropTypes.func, // onMouseLeave: PropTypes.func, // onMouseOver: PropTypes.func, // onMouseOut: PropTypes.func, precision: _vueTypes.default.number, required: _vueTypes.default.looseBool, pattern: _vueTypes.default.string, decimalSeparator: _vueTypes.default.string, autocomplete: _vueTypes.default.string, title: _vueTypes.default.string, name: _vueTypes.default.string, id: _vueTypes.default.string, type: _vueTypes.default.string, maxlength: _vueTypes.default.any }; var _default2 = (0, _vue.defineComponent)({ name: 'VCInputNumber', mixins: [_BaseMixin.default], inheritAttrs: false, // model: { // prop: 'value', // event: 'change', // }, props: (0, _propsUtil.initDefaultProps)(inputNumberProps, { focusOnUpDown: true, useTouch: false, prefixCls: 'rc-input-number', min: -MAX_SAFE_INTEGER, step: 1, parser: defaultParser, required: false, autocomplete: 'off' }), data: function data() { var props = (0, _propsUtil.getOptionProps)(this); this.prevProps = (0, _extends2.default)({}, props); var value; if ('value' in props) { value = this.value; } else { value = this.defaultValue; } var validValue = this.getValidValue(this.toNumber(value)); return { inputValue: this.toPrecisionAsStep(validValue), sValue: validValue, focused: this.autofocus }; }, mounted: function mounted() { var _this = this; this.$nextTick(function () { _this.updatedFunc(); }); }, updated: function updated() { var _this2 = this; var _this$$props = this.$props, value = _this$$props.value, max = _this$$props.max, min = _this$$props.min; var focused = this.$data.focused; var prevProps = this.prevProps; var props = (0, _propsUtil.getOptionProps)(this); // Don't trigger in componentDidMount if (prevProps) { if (!isEqual(prevProps.value, value) || !isEqual(prevProps.max, max) || !isEqual(prevProps.min, min)) { var validValue = focused ? value : this.getValidValue(value); var nextInputValue; if (this.pressingUpOrDown) { nextInputValue = validValue; } else if (this.inputting) { nextInputValue = this.rawInput; } else { nextInputValue = this.toPrecisionAsStep(validValue); } this.setState({ // eslint-disable-line sValue: validValue, inputValue: nextInputValue }); } // Trigger onChange when max or min change // https://github.com/ant-design/ant-design/issues/11574 var nextValue = 'value' in props ? value : this.$data.sValue; // ref: null < 20 === true // https://github.com/ant-design/ant-design/issues/14277 if ('max' in props && prevProps.max !== max && typeof nextValue === 'number' && nextValue > max) { this.__emit('update:value', max); this.__emit('change', max); } if ('min' in props && prevProps.min !== min && typeof nextValue === 'number' && nextValue < min) { this.__emit('update:value', min); this.__emit('change', min); } } this.prevProps = (0, _extends2.default)({}, props); this.$nextTick(function () { _this2.updatedFunc(); }); }, beforeUnmount: function beforeUnmount() { this.stop(); }, methods: { updatedFunc: function updatedFunc() { var inputElem = this.inputRef; // Restore cursor try { // Firefox set the input cursor after it get focused. // This caused that if an input didn't init with the selection, // set will cause cursor not correct when first focus. // Safari will focus input if set selection. We need skip this. if (this.cursorStart !== undefined && this.$data.focused) { // In most cases, the string after cursor is stable. // We can move the cursor before it if ( // If not match full str, try to match part of str !this.partRestoreByAfter(this.cursorAfter) && this.$data.sValue !== this.value) { // If not match any of then, let's just keep the position // TODO: Logic should not reach here, need check if happens var pos = this.cursorStart + 1; // If not have last string, just position to the end if (!this.cursorAfter) { pos = inputElem.value.length; } else if (this.lastKeyCode === _KeyCode.default.BACKSPACE) { pos = this.cursorStart - 1; } else if (this.lastKeyCode === _KeyCode.default.DELETE) { pos = this.cursorStart; } this.fixCaret(pos, pos); } else if (this.currentValue === inputElem.value) { // Handle some special key code switch (this.lastKeyCode) { case _KeyCode.default.BACKSPACE: this.fixCaret(this.cursorStart - 1, this.cursorStart - 1); break; case _KeyCode.default.DELETE: this.fixCaret(this.cursorStart + 1, this.cursorStart + 1); break; default: // Do nothing } } } } catch (e) {// Do nothing } // Reset last key this.lastKeyCode = null; // pressingUpOrDown is true means that someone just click up or down button if (!this.pressingUpOrDown) { return; } if (this.focusOnUpDown && this.$data.focused) { if (document.activeElement !== inputElem) { this.focus(); } } this.pressingUpOrDown = false; }, onKeyDown: function onKeyDown(e) { if (e.keyCode === _KeyCode.default.UP) { var ratio = this.getRatio(e); this.up(e, ratio); this.stop(); } else if (e.keyCode === _KeyCode.default.DOWN) { var _ratio = this.getRatio(e); this.down(e, _ratio); this.stop(); } else if (e.keyCode === _KeyCode.default.ENTER) { this.__emit('pressEnter', e); } // Trigger user key down this.recordCursorPosition(); this.lastKeyCode = e.keyCode; for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } this.__emit.apply(this, ['keydown', e].concat(args)); }, onKeyUp: function onKeyUp(e) { this.stop(); this.recordCursorPosition(); for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } this.__emit.apply(this, ['keyup', e].concat(args)); }, onTrigger: function onTrigger(e) { if (e.target.composing) return false; this.onChange(e); }, onChange: function onChange(e) { if (this.$data.focused) { this.inputting = true; } this.rawInput = this.parser(this.getValueFromEvent(e)); this.setState({ inputValue: this.rawInput }); var num = this.toNumber(this.rawInput); // valid number or invalid string this.__emit('update:value', num); this.__emit('change', num); }, onFocus: function onFocus() { this.setState({ focused: true }); for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } this.__emit.apply(this, ['focus'].concat(args)); }, onBlur: function onBlur() { this.inputting = false; this.setState({ focused: false }); var value = this.getCurrentValidValue(this.$data.inputValue); var newValue = this.setValue(value); if (this.$attrs.onBlur && this.inputRef) { var originValue = this.inputRef.value; var inputValue = this.getInputDisplayValue({ focused: false, sValue: newValue }); this.inputRef.value = inputValue; for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } this.__emit.apply(this, ['blur'].concat(args)); this.inputRef.value = originValue; } }, getCurrentValidValue: function getCurrentValidValue(value) { var val = value; if (val === '') { val = ''; } else if (!this.isNotCompleteNumber(parseFloat(val, 10))) { val = this.getValidValue(val); } else { val = this.$data.sValue; } return this.toNumber(val); }, getRatio: function getRatio(e) { var ratio = 1; if (e.metaKey || e.ctrlKey) { ratio = 0.1; } else if (e.shiftKey) { ratio = 10; } return ratio; }, getValueFromEvent: function getValueFromEvent(e) { // optimize for chinese input expierence // https://github.com/ant-design/ant-design/issues/8196 var value = e.target.value.trim().replace(/。/g, '.'); if (isValidProps(this.decimalSeparator)) { value = value.replace(this.decimalSeparator, '.'); } return value; }, getValidValue: function getValidValue(value) { var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.min; var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.max; var val = parseFloat(value, 10); // https://github.com/ant-design/ant-design/issues/7358 if (isNaN(val)) { return value; } if (val < min) { val = min; } if (val > max) { val = max; } return val; }, setValue: function setValue(v, callback) { // trigger onChange var precision = this.$props.precision; var newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? null : parseFloat(v, 10); var _this$$data = this.$data, _this$$data$sValue = _this$$data.sValue, value = _this$$data$sValue === void 0 ? null : _this$$data$sValue, _this$$data$inputValu = _this$$data.inputValue, inputValue = _this$$data$inputValu === void 0 ? null : _this$$data$inputValu; // https://github.com/ant-design/ant-design/issues/7363 // https://github.com/ant-design/ant-design/issues/16622 var newValueInString = typeof newValue === 'number' ? newValue.toFixed(precision) : "".concat(newValue); var changed = newValue !== value || newValueInString !== "".concat(inputValue); if (!(0, _propsUtil.hasProp)(this, 'value')) { this.setState({ sValue: newValue, inputValue: this.toPrecisionAsStep(v) }, callback); } else { // always set input value same as value this.setState({ inputValue: this.toPrecisionAsStep(this.$data.sValue) }, callback); } if (changed) { this.__emit('update:value', newValue); this.__emit('change', newValue); } return newValue; }, getPrecision: function getPrecision(value) { if (isValidProps(this.precision)) { return this.precision; } var valueString = value.toString(); if (valueString.indexOf('e-') >= 0) { return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10); } var precision = 0; if (valueString.indexOf('.') >= 0) { precision = valueString.length - valueString.indexOf('.') - 1; } return precision; }, // step={1.0} value={1.51} // press + // then value should be 2.51, rather than 2.5 // if this.$props.precision is undefined // https://github.com/react-component/input-number/issues/39 getMaxPrecision: function getMaxPrecision(currentValue) { var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; if (isValidProps(this.precision)) { return this.precision; } var step = this.step; var ratioPrecision = this.getPrecision(ratio); var stepPrecision = this.getPrecision(step); var currentValuePrecision = this.getPrecision(currentValue); if (!currentValue) { return ratioPrecision + stepPrecision; } return Math.max(currentValuePrecision, ratioPrecision + stepPrecision); }, getPrecisionFactor: function getPrecisionFactor(currentValue) { var ratio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var precision = this.getMaxPrecision(currentValue, ratio); return Math.pow(10, precision); }, getInputDisplayValue: function getInputDisplayValue(state) { var _ref = state || this.$data, focused = _ref.focused, inputValue = _ref.inputValue, sValue = _ref.sValue; var inputDisplayValue; if (focused) { inputDisplayValue = inputValue; } else { inputDisplayValue = this.toPrecisionAsStep(sValue); } if (inputDisplayValue === undefined || inputDisplayValue === null) { inputDisplayValue = ''; } var inputDisplayValueFormat = this.formatWrapper(inputDisplayValue); if (isValidProps(this.$props.decimalSeparator)) { inputDisplayValueFormat = inputDisplayValueFormat.toString().replace('.', this.$props.decimalSeparator); } return inputDisplayValueFormat; }, recordCursorPosition: function recordCursorPosition() { // Record position try { var inputElem = this.inputRef; this.cursorStart = inputElem.selectionStart; this.cursorEnd = inputElem.selectionEnd; this.currentValue = inputElem.value; this.cursorBefore = inputElem.value.substring(0, this.cursorStart); this.cursorAfter = inputElem.value.substring(this.cursorEnd); } catch (e) {// Fix error in Chrome: // Failed to read the 'selectionStart' property from 'HTMLInputElement' // http://stackoverflow.com/q/21177489/3040605 } }, fixCaret: function fixCaret(start, end) { if (start === undefined || end === undefined || !this.inputRef || !this.inputRef.value) { return; } try { var inputElem = this.inputRef; var currentStart = inputElem.selectionStart; var currentEnd = inputElem.selectionEnd; if (start !== currentStart || end !== currentEnd) { inputElem.setSelectionRange(start, end); } } catch (e) {// Fix error in Chrome: // Failed to read the 'selectionStart' property from 'HTMLInputElement' // http://stackoverflow.com/q/21177489/3040605 } }, restoreByAfter: function restoreByAfter(str) { if (str === undefined) return false; var fullStr = this.inputRef.value; var index = fullStr.lastIndexOf(str); if (index === -1) return false; var prevCursorPos = this.cursorBefore.length; if (this.lastKeyCode === _KeyCode.default.DELETE && this.cursorBefore.charAt(prevCursorPos - 1) === str[0]) { this.fixCaret(prevCursorPos, prevCursorPos); return true; } if (index + str.length === fullStr.length) { this.fixCaret(index, index); return true; } return false; }, partRestoreByAfter: function partRestoreByAfter(str) { var _this3 = this; if (str === undefined) return false; // For loop from full str to the str with last char to map. e.g. 123 // -> 123 // -> 23 // -> 3 return Array.prototype.some.call(str, function (_, start) { var partStr = str.substring(start); return _this3.restoreByAfter(partStr); }); }, focus: function focus() { this.inputRef.focus(); this.recordCursorPosition(); }, blur: function blur() { this.inputRef.blur(); }, formatWrapper: function formatWrapper(num) { // http://2ality.com/2012/03/signedzero.html // https://github.com/ant-design/ant-design/issues/9439 if (this.formatter) { return this.formatter(num); } return num; }, toPrecisionAsStep: function toPrecisionAsStep(num) { if (this.isNotCompleteNumber(num) || num === '') { return num; } var precision = Math.abs(this.getMaxPrecision(num)); if (!isNaN(precision)) { return Number(num).toFixed(precision); } return num.toString(); }, // '1.' '1x' 'xx' '' => are not complete numbers isNotCompleteNumber: function isNotCompleteNumber(num) { return isNaN(num) || num === '' || num === null || num && num.toString().indexOf('.') === num.toString().length - 1; }, toNumber: function toNumber(num) { var _this$$props2 = this.$props, precision = _this$$props2.precision, autofocus = _this$$props2.autofocus; var _this$$data$focused = this.$data.focused, focused = _this$$data$focused === void 0 ? autofocus : _this$$data$focused; // num.length > 16 => This is to prevent input of large numbers var numberIsTooLarge = num && num.length > 16 && focused; if (this.isNotCompleteNumber(num) || numberIsTooLarge) { return num; } if (isValidProps(precision)) { return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision); } return Number(num); }, upStep: function upStep(val, rat) { var step = this.step; var precisionFactor = this.getPrecisionFactor(val, rat); var precision = Math.abs(this.getMaxPrecision(val, rat)); var result = ((precisionFactor * val + precisionFactor * step * rat) / precisionFactor).toFixed(precision); return this.toNumber(result); }, downStep: function downStep(val, rat) { var step = this.step; var precisionFactor = this.getPrecisionFactor(val, rat); var precision = Math.abs(this.getMaxPrecision(val, rat)); var result = ((precisionFactor * val - precisionFactor * step * rat) / precisionFactor).toFixed(precision); return this.toNumber(result); }, stepFn: function stepFn(type, e) { var _this4 = this; var ratio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; var recursive = arguments.length > 3 ? arguments[3] : undefined; this.stop(); if (e) { // e.persist() e.preventDefault(); } if (this.disabled) { return; } var max = this.max, min = this.min; var value = this.getCurrentValidValue(this.$data.inputValue) || 0; if (this.isNotCompleteNumber(value)) { return; } var val = this["".concat(type, "Step")](value, ratio); var outOfRange = val > max || val < min; if (val > max) { val = max; } else if (val < min) { val = min; } this.setValue(val); this.setState({ focused: true }); if (outOfRange) { return; } this.autoStepTimer = setTimeout(function () { _this4[type](e, ratio, true); }, recursive ? SPEED : DELAY); }, stop: function stop() { if (this.autoStepTimer) { clearTimeout(this.autoStepTimer); } }, down: function down(e, ratio, recursive) { this.pressingUpOrDown = true; this.stepFn('down', e, ratio, recursive); }, up: function up(e, ratio, recursive) { this.pressingUpOrDown = true; this.stepFn('up', e, ratio, recursive); }, handleInputClick: function handleInputClick() { this.__emit('click'); }, saveUp: function saveUp(node) { this.upHandlerRef = node; }, saveDown: function saveDown(node) { this.downHandlerRef = node; }, saveInput: function saveInput(node) { this.inputRef = node; }, onCompositionstart: function onCompositionstart(e) { e.target.composing = true; }, onCompositionend: function onCompositionend(e) { this.onChange(e); e.target.composing = false; } }, render: function render() { var _classNames; var props = (0, _extends2.default)((0, _extends2.default)({}, this.$props), this.$attrs); var prefixCls = props.prefixCls, disabled = props.disabled, readonly = props.readonly, useTouch = props.useTouch, autocomplete = props.autocomplete, upHandler = props.upHandler, downHandler = props.downHandler, className = props.class; var classes = (0, _classNames2.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, className, className), (0, _defineProperty2.default)(_classNames, prefixCls, true), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-focused"), this.$data.focused), _classNames)); var upDisabledClass = ''; var downDisabledClass = ''; var sValue = this.$data.sValue; if (sValue || sValue === 0) { if (!isNaN(sValue)) { var val = Number(sValue); if (val >= this.max) { upDisabledClass = "".concat(prefixCls, "-handler-up-disabled"); } if (val <= this.min) { downDisabledClass = "".concat(prefixCls, "-handler-down-disabled"); } } else { upDisabledClass = "".concat(prefixCls, "-handler-up-disabled"); downDisabledClass = "".concat(prefixCls, "-handler-down-disabled"); } } var dataOrAriaAttributeProps = {}; for (var key in props) { if (props.hasOwnProperty(key) && (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')) { dataOrAriaAttributeProps[key] = props[key]; } } var editable = !this.readonly && !this.disabled; // focus state, show input value // unfocus state, show valid value var inputDisplayValue = this.getInputDisplayValue(); var upEvents; var downEvents; if (useTouch) { var _upEvents, _downEvents; upEvents = (_upEvents = {}, (0, _defineProperty2.default)(_upEvents, _supportsPassive.default ? 'onTouchstartPassive' : 'onTouchstart', editable && !upDisabledClass && this.up), (0, _defineProperty2.default)(_upEvents, "onTouchend", this.stop), _upEvents); downEvents = (_downEvents = {}, (0, _defineProperty2.default)(_downEvents, _supportsPassive.default ? 'onTouchstartPassive' : 'onTouchstart', editable && !downDisabledClass && this.down), (0, _defineProperty2.default)(_downEvents, "onTouchend", this.stop), _downEvents); } else { upEvents = { onMousedown: editable && !upDisabledClass && this.up, onMouseup: this.stop, onMouseleave: this.stop }; downEvents = { onMousedown: editable && !downDisabledClass && this.down, onMouseup: this.stop, onMouseleave: this.stop }; } var isUpDisabled = !!upDisabledClass || disabled || readonly; var isDownDisabled = !!downDisabledClass || disabled || readonly; var upHandlerProps = (0, _extends2.default)((0, _extends2.default)({ disabled: isUpDisabled, prefixCls: prefixCls, unselectable: 'unselectable', role: 'button', 'aria-label': 'Increase Value', 'aria-disabled': !!isUpDisabled, class: "".concat(prefixCls, "-handler ").concat(prefixCls, "-handler-up ").concat(upDisabledClass) }, upEvents), { ref: this.saveUp }); var downHandlerProps = (0, _extends2.default)((0, _extends2.default)({ disabled: isDownDisabled, prefixCls: prefixCls, unselectable: 'unselectable', role: 'button', 'aria-label': 'Decrease Value', 'aria-disabled': !!isDownDisabled, class: "".concat(prefixCls, "-handler ").concat(prefixCls, "-handler-down ").concat(downDisabledClass) }, downEvents), { ref: this.saveDown }); return (0, _vue.createVNode)("div", { "class": classes, "style": props.style, "title": props.title, "onMouseenter": props.onMouseenter, "onMouseleave": props.onMouseleave, "onMouseover": props.onMouseover, "onMouseout": props.onMouseout }, [(0, _vue.createVNode)("div", { "class": "".concat(prefixCls, "-handler-wrap") }, [(0, _vue.createVNode)("span", null, [(0, _vue.createVNode)(_InputHandler.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, upHandlerProps), {}, { "key": "upHandler" }), { default: function _default() { return [upHandler || (0, _vue.createVNode)("span", { "unselectable": "unselectable", "class": "".concat(prefixCls, "-handler-up-inner"), "onClick": preventDefault }, null)]; } })]), (0, _vue.createVNode)(_InputHandler.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, downHandlerProps), {}, { "key": "downHandler" }), { default: function _default() { return [downHandler || (0, _vue.createVNode)("span", { "unselectable": "unselectable", "class": "".concat(prefixCls, "-handler-down-inner"), "onClick": preventDefault }, null)]; } })]), (0, _vue.createVNode)("div", { "class": "".concat(prefixCls, "-input-wrap") }, [(0, _vue.createVNode)("input", (0, _objectSpread2.default)({ "role": "spinbutton", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": sValue, "required": this.required, "type": props.type, "placeholder": this.placeholder, "onClick": this.handleInputClick, "class": "".concat(prefixCls, "-input"), "tabindex": this.tabindex, "autocomplete": autocomplete, "onFocus": this.onFocus, "onBlur": this.onBlur, "onKeydown": editable && this.onKeyDown, "onKeyup": editable && this.onKeyUp, "autofocus": this.autofocus, "maxlength": this.maxlength, "readonly": this.readonly, "disabled": this.disabled, "max": this.max, "min": this.min, "step": this.step, "name": this.name, "title": this.title, "id": this.id, "onInput": this.onTrigger, "onCompositionstart": this.onCompositionstart, "onCompositionend": this.onCompositionend, "ref": this.saveInput, "value": inputDisplayValue, "pattern": this.pattern }, dataOrAriaAttributeProps), null)])]); } }); exports.default = _default2;