"use strict"; exports.__esModule = true; exports["default"] = void 0; var _utils = require("../utils"); var _checkbox = require("../mixins/checkbox"); var _use = (0, _utils.use)('checkbox'), sfc = _use[0], bem = _use[1]; var _default = sfc({ mixins: [(0, _checkbox.CheckboxMixin)('van-checkbox-group', bem)], computed: { checked: { get: function get() { return this.parent ? this.parent.value.indexOf(this.name) !== -1 : this.value; }, set: function set(val) { if (this.parent) { this.setParentValue(val); } else { this.$emit('input', val); } } } }, watch: { value: function value(val) { this.$emit('change', val); } }, methods: { toggle: function toggle() { var _this = this; var checked = !this.checked; // When toggle method is called multiple times at the same time, // only the last call is valid. // This is a hack for usage inside Cell. clearTimeout(this.toggleTask); this.toggleTask = setTimeout(function () { _this.checked = checked; }); }, onClickIcon: function onClickIcon() { if (!this.isDisabled) { this.toggle(); } }, onClickLabel: function onClickLabel() { if (!this.isDisabled && !this.labelDisabled) { this.toggle(); } }, setParentValue: function setParentValue(val) { var parent = this.parent; var value = parent.value.slice(); if (val) { if (parent.max && value.length >= parent.max) { return; } /* istanbul ignore else */ if (value.indexOf(this.name) === -1) { value.push(this.name); parent.$emit('input', value); } } else { var index = value.indexOf(this.name); /* istanbul ignore else */ if (index !== -1) { value.splice(index, 1); parent.$emit('input', value); } } } } }); exports["default"] = _default;