"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var component_1 = require('./../common/component.js'); var touch_1 = require('./../mixins/touch.js'); component_1.VantComponent({ mixins: [touch_1.touch], props: { disabled: Boolean, useButtonSlot: Boolean, activeColor: String, inactiveColor: String, max: { type: Number, value: 100 }, min: { type: Number, value: 0 }, step: { type: Number, value: 1 }, value: { type: Number, value: 0 }, barHeight: { type: String, value: '2px' } }, watch: { value: function value(_value) { this.updateValue(_value, false); } }, created: function created() { this.updateValue(this.data.value); }, methods: { onTouchStart: function onTouchStart(event) { if (this.data.disabled) return; this.touchStart(event); this.startValue = this.format(this.data.value); }, onTouchMove: function onTouchMove(event) { var _this = this; if (this.data.disabled) return; this.touchMove(event); this.getRect('.van-slider').then(function (rect) { var diff = _this.deltaX / rect.width * 100; _this.newValue = _this.startValue + diff; _this.updateValue(_this.newValue, false, true); }); }, onTouchEnd: function onTouchEnd() { if (this.data.disabled) return; this.updateValue(this.newValue, true); }, onClick: function onClick(event) { var _this = this; if (this.data.disabled) return; this.getRect('.van-slider').then(function (rect) { var value = (event.detail.x - rect.left) / rect.width * 100; _this.updateValue(value, true); }); }, updateValue: function updateValue(value, end, drag) { value = this.format(value); this.set({ value: value, barStyle: "width: " + value + "%; height: " + this.data.barHeight + ";" }); if (drag) { this.$emit('drag', { value: value }); } if (end) { this.$emit('change', value); } }, format: function format(value) { var _a = this.data, max = _a.max, min = _a.min, step = _a.step; return Math.round(Math.max(min, Math.min(value, max)) / step) * step; } } }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwidG91Y2hfMSIsIm1peGlucyIsInByb3BzIiwiZGlzYWJsZWQiLCJ1c2VCdXR0b25TbG90IiwiYWN0aXZlQ29sb3IiLCJpbmFjdGl2ZUNvbG9yIiwibWF4IiwidHlwZSIsIm1pbiIsInN0ZXAiLCJiYXJIZWlnaHQiLCJ3YXRjaCIsImNyZWF0ZWQiLCJtZXRob2RzIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaE1vdmUiLCJfdGhpcyIsImRpZmYiLCJyZWN0Iiwib25Ub3VjaEVuZCIsIm9uQ2xpY2siLCJldmVudCIsInVwZGF0ZVZhbHVlIiwiYmFyU3R5bGUiLCJmb3JtYXQiLCJfYSIsIk1hdGgiXSwibWFwcGluZ3MiOiI7O0FBQ0FBLE9BQUFBLGNBQUFBLENBQUFBLE9BQUFBLEVBQUFBLFlBQUFBLEVBQTZDLEVBQUVDLE9BQS9DRCxJQUE2QyxFQUE3Q0E7QUFDQSxJQUFJRSxjQUFjQyxRQUFsQiwwQkFBa0JBLENBQWxCO0FBQ0EsSUFBSUMsVUFBVUQsUUFBZCxzQkFBY0EsQ0FBZDtBQUNBRCxZQUFBQSxhQUFBQSxDQUEwQjtBQUN0QkcsWUFBUSxDQUFDRCxRQURhLEtBQ2QsQ0FEYztBQUV0QkUsV0FBTztBQUNIQyxrQkFERyxPQUFBO0FBRUhDLHVCQUZHLE9BQUE7QUFHSEMscUJBSEcsTUFBQTtBQUlIQyx1QkFKRyxNQUFBO0FBS0hDLGFBQUs7QUFDREMsa0JBREMsTUFBQTtBQUVEWCxtQkFBTztBQUZOLFNBTEY7QUFTSFksYUFBSztBQUNERCxrQkFEQyxNQUFBO0FBRURYLG1CQUFPO0FBRk4sU0FURjtBQWFIYSxjQUFNO0FBQ0ZGLGtCQURFLE1BQUE7QUFFRlgsbUJBQU87QUFGTCxTQWJIO0FBaUJIQSxlQUFPO0FBQ0hXLGtCQURHLE1BQUE7QUFFSFgsbUJBQU87QUFGSixTQWpCSjtBQXFCSGMsbUJBQVc7QUFDUEgsa0JBRE8sTUFBQTtBQUVQWCxt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LEtBQUFBLEdBQUFBLENBQUFBLEtBQUFBLEVBQWRBLEdBQWNBLENBQWRBLElBQVhBLElBQUFBLElBQVAsSUFBQTtBQUNIO0FBaERJO0FBcENhLENBQTFCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xudmFyIHRvdWNoXzEgPSByZXF1aXJlKFwiLi4vbWl4aW5zL3RvdWNoXCIpO1xuY29tcG9uZW50XzEuVmFudENvbXBvbmVudCh7XG4gICAgbWl4aW5zOiBbdG91Y2hfMS50b3VjaF0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4sXG4gICAgICAgIHVzZUJ1dHRvblNsb3Q6IEJvb2xlYW4sXG4gICAgICAgIGFjdGl2ZUNvbG9yOiBTdHJpbmcsXG4gICAgICAgIGluYWN0aXZlQ29sb3I6IFN0cmluZyxcbiAgICAgICAgbWF4OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICB2YWx1ZTogMTAwXG4gICAgICAgIH0sXG4gICAgICAgIG1pbjoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDBcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDFcbiAgICAgICAgfSxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiAwXG4gICAgICAgIH0sXG4gICAgICAgIGJhckhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICAgICAgdmFsdWU6ICcycHgnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHdhdGNoOiB7XG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgY3JlYXRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuZGF0YS52YWx1ZSk7XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIG9uVG91Y2hTdGFydDogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRpc2FibGVkKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMudG91Y2hTdGFydChldmVudCk7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0VmFsdWUgPSB0aGlzLmZvcm1hdCh0aGlzLmRhdGEudmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBvblRvdWNoTW92ZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnRvdWNoTW92ZShldmVudCk7XG4gICAgICAgICAgICB0aGlzLmdldFJlY3QoJy52YW4tc2xpZGVyJykudGhlbihmdW5jdGlvbiAocmVjdCkge1xuICAgICAgICAgICAgICAgIHZhciBkaWZmID0gX3RoaXMuZGVsdGFYIC8gcmVjdC53aWR0aCAqIDEwMDtcbiAgICAgICAgICAgICAgICBfdGhpcy5uZXdWYWx1ZSA9IF90aGlzLnN0YXJ0VmFsdWUgKyBkaWZmO1xuICAgICAgICAgICAgICAgIF90aGlzLnVwZGF0ZVZhbHVlKF90aGlzLm5ld1ZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaEVuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMubmV3VmFsdWUsIHRydWUpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRpc2FibGVkKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVjdCgnLnZhbi1zbGlkZXInKS50aGVuKGZ1bmN0aW9uIChyZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gKGV2ZW50LmRldGFpbC54IC0gcmVjdC5sZWZ0KSAvIHJlY3Qud2lkdGggKiAxMDA7XG4gICAgICAgICAgICAgICAgX3RoaXMudXBkYXRlVmFsdWUodmFsdWUsIHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGVuZCwgZHJhZykge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmZvcm1hdCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGJhclN0eWxlOiBcIndpZHRoOiBcIiArIHZhbHVlICsgXCIlOyBoZWlnaHQ6IFwiICsgdGhpcy5kYXRhLmJhckhlaWdodCArIFwiO1wiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChkcmFnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnZHJhZycsIHsgdmFsdWU6IHZhbHVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2NoYW5nZScsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICAgIHZhciBfYSA9IHRoaXMuZGF0YSwgbWF4ID0gX2EubWF4LCBtaW4gPSBfYS5taW4sIHN0ZXAgPSBfYS5zdGVwO1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoTWF0aC5tYXgobWluLCBNYXRoLm1pbih2YWx1ZSwgbWF4KSkgLyBzdGVwKSAqIHN0ZXA7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiaW5kZXguanMifQ==