"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var component_1 = require("../common/component"); var color_1 = require("../common/color"); component_1.VantComponent({ field: true, classes: ['node-class'], props: { checked: { type: null, observer: function (value) { var loadingColor = this.getLoadingColor(value); this.setData({ value: value, loadingColor: loadingColor }); } }, loading: Boolean, disabled: Boolean, activeColor: String, inactiveColor: String, size: { type: String, value: '30px' }, activeValue: { type: null, value: true }, inactiveValue: { type: null, value: false } }, created: function () { var value = this.data.checked; var loadingColor = this.getLoadingColor(value); this.setData({ value: value, loadingColor: loadingColor }); }, methods: { getLoadingColor: function (checked) { var _a = this.data, activeColor = _a.activeColor, inactiveColor = _a.inactiveColor; return checked ? activeColor || color_1.BLUE : inactiveColor || color_1.GRAY_DARK; }, onClick: function () { var _a = this.data, activeValue = _a.activeValue, inactiveValue = _a.inactiveValue; if (!this.data.disabled && !this.data.loading) { var checked = this.data.checked === activeValue; var value = checked ? inactiveValue : activeValue; this.$emit('input', value); this.$emit('change', value); } } } });