"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var component_1 = require('./../common/component.js'); component_1.VantComponent({ field: true, classes: ['input-class', 'right-icon-class'], props: { size: String, icon: String, label: String, error: Boolean, fixed: Boolean, focus: Boolean, center: Boolean, isLink: Boolean, leftIcon: String, rightIcon: String, disabled: Boolean, autosize: Boolean, readonly: Boolean, required: Boolean, password: Boolean, iconClass: String, clearable: Boolean, inputAlign: String, customStyle: String, confirmType: String, confirmHold: Boolean, errorMessage: String, placeholder: String, placeholderStyle: String, errorMessageAlign: String, showConfirmBar: { type: Boolean, value: true }, adjustPosition: { type: Boolean, value: true }, cursorSpacing: { type: Number, value: 50 }, maxlength: { type: Number, value: -1 }, type: { type: String, value: 'text' }, border: { type: Boolean, value: true }, titleWidth: { type: String, value: '90px' } }, data: { showClear: false }, beforeCreate: function beforeCreate() { this.focused = false; }, methods: { onInput: function onInput(event) { var _this = this; var _a = (event.detail || {}).value, value = _a === void 0 ? '' : _a; this.set({ value: value, showClear: this.getShowClear(value) }, function () { _this.emitChange(value); }); }, onFocus: function onFocus(event) { var _a = event.detail || {}, _b = _a.value, value = _b === void 0 ? '' : _b, _c = _a.height, height = _c === void 0 ? 0 : _c; this.$emit('focus', { value: value, height: height }); this.focused = true; this.blurFromClear = false; this.set({ showClear: this.getShowClear() }); }, onBlur: function onBlur(event) { var _this = this; var _a = event.detail || {}, _b = _a.value, value = _b === void 0 ? '' : _b, _c = _a.cursor, cursor = _c === void 0 ? 0 : _c; this.$emit('blur', { value: value, cursor: cursor }); this.focused = false; var showClear = this.getShowClear(); if (this.data.value === value) { this.set({ showClear: showClear }); } else if (!this.blurFromClear) { // fix: the handwritten keyboard does not trigger input change this.set({ value: value, showClear: showClear }, function () { _this.emitChange(value); }); } }, onClickIcon: function onClickIcon() { this.$emit('click-icon'); }, getShowClear: function getShowClear(value) { value = value === undefined ? this.data.value : value; return this.data.clearable && this.focused && value && !this.data.readonly; }, onClear: function onClear() { var _this = this; this.blurFromClear = true; this.set({ value: '', showClear: this.getShowClear('') }, function () { _this.emitChange(''); _this.$emit('clear', ''); }); }, onConfirm: function onConfirm() { this.$emit('confirm', this.data.value); }, emitChange: function emitChange(value) { this.$emit('input', value); this.$emit('change', value); } } }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwiZmllbGQiLCJjbGFzc2VzIiwicHJvcHMiLCJzaXplIiwiaWNvbiIsImxhYmVsIiwiZXJyb3IiLCJmaXhlZCIsImZvY3VzIiwiY2VudGVyIiwiaXNMaW5rIiwibGVmdEljb24iLCJyaWdodEljb24iLCJkaXNhYmxlZCIsImF1dG9zaXplIiwicmVhZG9ubHkiLCJyZXF1aXJlZCIsInBhc3N3b3JkIiwiaWNvbkNsYXNzIiwiY2xlYXJhYmxlIiwiaW5wdXRBbGlnbiIsImN1c3RvbVN0eWxlIiwiY29uZmlybVR5cGUiLCJjb25maXJtSG9sZCIsImVycm9yTWVzc2FnZSIsInBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXJTdHlsZSIsImVycm9yTWVzc2FnZUFsaWduIiwic2hvd0NvbmZpcm1CYXIiLCJ0eXBlIiwiYWRqdXN0UG9zaXRpb24iLCJjdXJzb3JTcGFjaW5nIiwibWF4bGVuZ3RoIiwiYm9yZGVyIiwidGl0bGVXaWR0aCIsImRhdGEiLCJzaG93Q2xlYXIiLCJiZWZvcmVDcmVhdGUiLCJtZXRob2RzIiwib25JbnB1dCIsIl90aGlzIiwiX2EiLCJldmVudCIsIm9uRm9jdXMiLCJfYiIsIl9jIiwiaGVpZ2h0Iiwib25CbHVyIiwiY3Vyc29yIiwib25DbGlja0ljb24iLCJnZXRTaG93Q2xlYXIiLCJvbkNsZWFyIiwib25Db25maXJtIiwiZW1pdENoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7QUFDQUEsT0FBQUEsY0FBQUEsQ0FBQUEsT0FBQUEsRUFBQUEsWUFBQUEsRUFBNkMsRUFBRUMsT0FBL0NELElBQTZDLEVBQTdDQTtBQUNBLElBQUlFLGNBQWNDLFFBQWxCLDBCQUFrQkEsQ0FBbEI7QUFDQUQsWUFBQUEsYUFBQUEsQ0FBMEI7QUFDdEJFLFdBRHNCLElBQUE7QUFFdEJDLGFBQVMsQ0FBQSxhQUFBLEVBRmEsa0JBRWIsQ0FGYTtBQUd0QkMsV0FBTztBQUNI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LE9BQUEsR0FBWTtBQUNqQixnQkFBSVgsUUFBSixJQUFBO0FBQ0EsaUJBQUEsYUFBQSxHQUFBLElBQUE7QUFDQSxpQkFBQSxHQUFBLENBQVM7QUFDTDNDLHVCQURLLEVBQUE7QUFFTHVDLDJCQUFXLEtBQUEsWUFBQSxDQUFBLEVBQUE7QUFGTixhQUFULEVBR0csWUFBWTtBQUNYSSxzQkFBQUEsVUFBQUEsQ0FBQUEsRUFBQUE7QUFDQUEsc0JBQUFBLEtBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEVBQUFBO0FBTEosYUFBQTtBQW5EQyxTQUFBO0FBMkRMWSxtQkFBVyxTQUFBLFNBQUEsR0FBWTtBQUNuQixpQkFBQSxLQUFBLENBQUEsU0FBQSxFQUFzQixLQUFBLElBQUEsQ0FBdEIsS0FBQTtBQTVEQyxTQUFBO0FBOERMQyxvQkFBWSxTQUFBLFVBQUEsQ0FBQSxLQUFBLEVBQWlCO0FBQ3pCLGlCQUFBLEtBQUEsQ0FBQSxPQUFBLEVBQUEsS0FBQTtBQUNBLGlCQUFBLEtBQUEsQ0FBQSxRQUFBLEVBQUEsS0FBQTtBQUNIO0FBakVJO0FBaEVhLENBQTFCdkQiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xuY29tcG9uZW50XzEuVmFudENvbXBvbmVudCh7XG4gICAgZmllbGQ6IHRydWUsXG4gICAgY2xhc3NlczogWydpbnB1dC1jbGFzcycsICdyaWdodC1pY29uLWNsYXNzJ10sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgc2l6ZTogU3RyaW5nLFxuICAgICAgICBpY29uOiBTdHJpbmcsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcsXG4gICAgICAgIGVycm9yOiBCb29sZWFuLFxuICAgICAgICBmaXhlZDogQm9vbGVhbixcbiAgICAgICAgZm9jdXM6IEJvb2xlYW4sXG4gICAgICAgIGNlbnRlcjogQm9vbGVhbixcbiAgICAgICAgaXNMaW5rOiBCb29sZWFuLFxuICAgICAgICBsZWZ0SWNvbjogU3RyaW5nLFxuICAgICAgICByaWdodEljb246IFN0cmluZyxcbiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4sXG4gICAgICAgIGF1dG9zaXplOiBCb29sZWFuLFxuICAgICAgICByZWFkb25seTogQm9vbGVhbixcbiAgICAgICAgcmVxdWlyZWQ6IEJvb2xlYW4sXG4gICAgICAgIHBhc3N3b3JkOiBCb29sZWFuLFxuICAgICAgICBpY29uQ2xhc3M6IFN0cmluZyxcbiAgICAgICAgY2xlYXJhYmxlOiBCb29sZWFuLFxuICAgICAgICBpbnB1dEFsaWduOiBTdHJpbmcsXG4gICAgICAgIGN1c3RvbVN0eWxlOiBTdHJpbmcsXG4gICAgICAgIGNvbmZpcm1UeXBlOiBTdHJpbmcsXG4gICAgICAgIGNvbmZpcm1Ib2xkOiBCb29sZWFuLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IFN0cmluZyxcbiAgICAgICAgcGxhY2Vob2xkZXI6IFN0cmluZyxcbiAgICAgICAgcGxhY2Vob2xkZXJTdHlsZTogU3RyaW5nLFxuICAgICAgICBlcnJvck1lc3NhZ2VBbGlnbjogU3RyaW5nLFxuICAgICAgICBzaG93Q29uZmlybUJhcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGFkanVzdFBvc2l0aW9uOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgdmFsdWU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgY3Vyc29yU3BhY2luZzoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDUwXG4gICAgICAgIH0sXG4gICAgICAgIG1heGxlbmd0aDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IC0xXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAndGV4dCdcbiAgICAgICAgfSxcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgdmFsdWU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGVXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgdmFsdWU6ICc5MHB4J1xuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiB7XG4gICAgICAgIHNob3dDbGVhcjogZmFsc2VcbiAgICB9LFxuICAgIGJlZm9yZUNyZWF0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25JbnB1dDogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgdmFyIF9hID0gKGV2ZW50LmRldGFpbCB8fCB7fSkudmFsdWUsIHZhbHVlID0gX2EgPT09IHZvaWQgMCA/ICcnIDogX2E7XG4gICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIHNob3dDbGVhcjogdGhpcy5nZXRTaG93Q2xlYXIodmFsdWUpXG4gICAgICAgICAgICB9LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgX3RoaXMuZW1pdENoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Gb2N1czogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX2EgPSBldmVudC5kZXRhaWwgfHwge30sIF9iID0gX2EudmFsdWUsIHZhbHVlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2IsIF9jID0gX2EuaGVpZ2h0LCBoZWlnaHQgPSBfYyA9PT0gdm9pZCAwID8gMCA6IF9jO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnZm9jdXMnLCB7IHZhbHVlOiB2YWx1ZSwgaGVpZ2h0OiBoZWlnaHQgfSk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5ibHVyRnJvbUNsZWFyID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgc2hvd0NsZWFyOiB0aGlzLmdldFNob3dDbGVhcigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25CbHVyOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgX2EgPSBldmVudC5kZXRhaWwgfHwge30sIF9iID0gX2EudmFsdWUsIHZhbHVlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2IsIF9jID0gX2EuY3Vyc29yLCBjdXJzb3IgPSBfYyA9PT0gdm9pZCAwID8gMCA6IF9jO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnYmx1cicsIHsgdmFsdWU6IHZhbHVlLCBjdXJzb3I6IGN1cnNvciB9KTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdmFyIHNob3dDbGVhciA9IHRoaXMuZ2V0U2hvd0NsZWFyKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgc2hvd0NsZWFyOiBzaG93Q2xlYXJcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLmJsdXJGcm9tQ2xlYXIpIHtcbiAgICAgICAgICAgICAgICAvLyBmaXg6IHRoZSBoYW5kd3JpdHRlbiBrZXlib2FyZCBkb2VzIG5vdCB0cmlnZ2VyIGlucHV0IGNoYW5nZVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBzaG93Q2xlYXI6IHNob3dDbGVhclxuICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgX3RoaXMuZW1pdENoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xpY2tJY29uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KCdjbGljay1pY29uJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldFNob3dDbGVhcjogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID09PSB1bmRlZmluZWQgPyB0aGlzLmRhdGEudmFsdWUgOiB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5kYXRhLmNsZWFyYWJsZSAmJiB0aGlzLmZvY3VzZWQgJiYgdmFsdWUgJiYgIXRoaXMuZGF0YS5yZWFkb25seSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xlYXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB0aGlzLmJsdXJGcm9tQ2xlYXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgICAgICBzaG93Q2xlYXI6IHRoaXMuZ2V0U2hvd0NsZWFyKCcnKVxuICAgICAgICAgICAgfSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIF90aGlzLmVtaXRDaGFuZ2UoJycpO1xuICAgICAgICAgICAgICAgIF90aGlzLiRlbWl0KCdjbGVhcicsICcnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNvbmZpcm06IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NvbmZpcm0nLCB0aGlzLmRhdGEudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBlbWl0Q2hhbmdlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0JywgdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0=