"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var component_1 = require('./../common/component.js'); var nextTick = function nextTick() { return new Promise(function (resolve) { return setTimeout(resolve, 20); }); }; component_1.VantComponent({ classes: ['title-class', 'content-class'], relation: { name: 'collapse', type: 'ancestor', linked: function linked(parent) { this.parent = parent; } }, props: { name: null, title: null, value: null, icon: String, label: String, disabled: Boolean, clickable: Boolean, border: { type: Boolean, value: true }, isLink: { type: Boolean, value: true } }, data: { contentHeight: 0, expanded: false, transition: false }, mounted: function mounted() { var _this = this; this.updateExpanded().then(nextTick).then(function () { var data = { transition: true }; if (_this.data.expanded) { data.contentHeight = 'auto'; } _this.set(data); }); }, methods: { updateExpanded: function updateExpanded() { if (!this.parent) { return Promise.resolve(); } var _a = this.parent.data, value = _a.value, accordion = _a.accordion; var _b = this.parent.children, children = _b === void 0 ? [] : _b; var name = this.data.name; var index = children.indexOf(this); var currentName = name == null ? index : name; var expanded = accordion ? value === currentName : (value || []).some(function (name) { return name === currentName; }); var stack = []; if (expanded !== this.data.expanded) { stack.push(this.updateStyle(expanded)); } stack.push(this.set({ index: index, expanded: expanded })); return Promise.all(stack); }, updateStyle: function updateStyle(expanded) { var _this = this; return this.getRect('.van-collapse-item__content').then(function (rect) { return rect.height; }).then(function (height) { if (expanded) { return _this.set({ contentHeight: height ? height + "px" : 'auto' }); } return _this.set({ contentHeight: height + "px" }).then(nextTick).then(function () { return _this.set({ contentHeight: 0 }); }); }); }, onClick: function onClick() { if (this.data.disabled) { return; } var _a = this.data, name = _a.name, expanded = _a.expanded; var index = this.parent.children.indexOf(this); var currentName = name == null ? index : name; this.parent.switch(currentName, !expanded); }, onTransitionEnd: function onTransitionEnd() { if (this.data.expanded) { this.set({ contentHeight: 'auto' }); } } } }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwibmV4dFRpY2siLCJzZXRUaW1lb3V0IiwiY2xhc3NlcyIsInJlbGF0aW9uIiwibmFtZSIsInR5cGUiLCJsaW5rZWQiLCJwcm9wcyIsInRpdGxlIiwiaWNvbiIsImxhYmVsIiwiZGlzYWJsZWQiLCJjbGlja2FibGUiLCJib3JkZXIiLCJpc0xpbmsiLCJkYXRhIiwiY29udGVudEhlaWdodCIsImV4cGFuZGVkIiwidHJhbnNpdGlvbiIsIm1vdW50ZWQiLCJfdGhpcyIsIm1ldGhvZHMiLCJ1cGRhdGVFeHBhbmRlZCIsIlByb21pc2UiLCJfYSIsImFjY29yZGlvbiIsIl9iIiwiY2hpbGRyZW4iLCJpbmRleCIsImN1cnJlbnROYW1lIiwic3RhY2siLCJ1cGRhdGVTdHlsZSIsInJlY3QiLCJoZWlnaHQiLCJvbkNsaWNrIiwib25UcmFuc2l0aW9uRW5kIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBLElBQUlDLFdBQVcsU0FBWEEsUUFBVyxHQUFZO0FBQUUsV0FBTyxJQUFBLE9BQUEsQ0FBWSxVQUFBLE9BQUEsRUFBbUI7QUFBRSxlQUFPQyxXQUFBQSxPQUFBQSxFQUFQLEVBQU9BLENBQVA7QUFBeEMsS0FBTyxDQUFQO0FBQTdCLENBQUE7QUFDQUgsWUFBQUEsYUFBQUEsQ0FBMEI7QUFDdEJJLGFBQVMsQ0FBQSxhQUFBLEVBRGEsZUFDYixDQURhO0FBRXRCQyxjQUFVO0FBQ05DLGNBRE0sVUFBQTtBQUVOQyxjQUZNLFVBQUE7QUFHTkMsZ0JBQVEsU0FBQSxNQUFBLENBQUEsTUFBQSxFQUFrQjtBQUN0QixpQkFBQSxNQUFBLEdBQUEsTUFBQTtBQUNIO0FBTEssS0FGWTtB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WUFBWTtBQUFFLDJCQUFPYixNQUFBQSxHQUFBQSxDQUFVLEVBQUVKLGVBQW5CLENBQWlCLEVBQVZJLENBQVA7QUFGeEIsaUJBQU8sQ0FBUDtBQVJKLGFBQU8sQ0FBUDtBQXRCQyxTQUFBO0FBbUNMYyxpQkFBUyxTQUFBLE9BQUEsR0FBWTtBQUNqQixnQkFBSSxLQUFBLElBQUEsQ0FBSixRQUFBLEVBQXdCO0FBQ3BCO0FBQ0g7QUFDRCxnQkFBSVYsS0FBSyxLQUFULElBQUE7QUFBQSxnQkFBb0JwQixPQUFPb0IsR0FBM0IsSUFBQTtBQUFBLGdCQUFvQ1AsV0FBV08sR0FBL0MsUUFBQTtBQUNBLGdCQUFJSSxRQUFRLEtBQUEsTUFBQSxDQUFBLFFBQUEsQ0FBQSxPQUFBLENBQVosSUFBWSxDQUFaO0FBQ0EsZ0JBQUlDLGNBQWN6QixRQUFBQSxJQUFBQSxHQUFBQSxLQUFBQSxHQUFsQixJQUFBO0FBQ0EsaUJBQUEsTUFBQSxDQUFBLE1BQUEsQ0FBQSxXQUFBLEVBQWdDLENBQWhDLFFBQUE7QUExQ0MsU0FBQTtBQTRDTCtCLHlCQUFpQixTQUFBLGVBQUEsR0FBWTtBQUN6QixnQkFBSSxLQUFBLElBQUEsQ0FBSixRQUFBLEVBQXdCO0FBQ3BCLHFCQUFBLEdBQUEsQ0FBUztBQUNMbkIsbUNBQWU7QUFEVixpQkFBVDtBQUdIO0FBQ0o7QUFsREk7QUEzQ2EsQ0FBMUJsQiIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbXBvbmVudF8xID0gcmVxdWlyZShcIi4uL2NvbW1vbi9jb21wb25lbnRcIik7XG52YXIgbmV4dFRpY2sgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXR1cm4gc2V0VGltZW91dChyZXNvbHZlLCAyMCk7IH0pOyB9O1xuY29tcG9uZW50XzEuVmFudENvbXBvbmVudCh7XG4gICAgY2xhc3NlczogWyd0aXRsZS1jbGFzcycsICdjb250ZW50LWNsYXNzJ10sXG4gICAgcmVsYXRpb246IHtcbiAgICAgICAgbmFtZTogJ2NvbGxhcHNlJyxcbiAgICAgICAgdHlwZTogJ2FuY2VzdG9yJyxcbiAgICAgICAgbGlua2VkOiBmdW5jdGlvbiAocGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgcHJvcHM6IHtcbiAgICAgICAgbmFtZTogbnVsbCxcbiAgICAgICAgdGl0bGU6IG51bGwsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgICBpY29uOiBTdHJpbmcsXG4gICAgICAgIGxhYmVsOiBTdHJpbmcsXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuLFxuICAgICAgICBjbGlja2FibGU6IEJvb2xlYW4sXG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGlzTGluazoge1xuICAgICAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgICAgIHZhbHVlOiB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuICAgIGRhdGE6IHtcbiAgICAgICAgY29udGVudEhlaWdodDogMCxcbiAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICB0cmFuc2l0aW9uOiBmYWxzZVxuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB0aGlzLnVwZGF0ZUV4cGFuZGVkKClcbiAgICAgICAgICAgIC50aGVuKG5leHRUaWNrKVxuICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB7IHRyYW5zaXRpb246IHRydWUgfTtcbiAgICAgICAgICAgIGlmIChfdGhpcy5kYXRhLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgZGF0YS5jb250ZW50SGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX3RoaXMuc2V0KGRhdGEpO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgdXBkYXRlRXhwYW5kZWQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLnBhcmVudC5kYXRhLCB2YWx1ZSA9IF9hLnZhbHVlLCBhY2NvcmRpb24gPSBfYS5hY2NvcmRpb247XG4gICAgICAgICAgICB2YXIgX2IgPSB0aGlzLnBhcmVudC5jaGlsZHJlbiwgY2hpbGRyZW4gPSBfYiA9PT0gdm9pZCAwID8gW10gOiBfYjtcbiAgICAgICAgICAgIHZhciBuYW1lID0gdGhpcy5kYXRhLm5hbWU7XG4gICAgICAgICAgICB2YXIgaW5kZXggPSBjaGlsZHJlbi5pbmRleE9mKHRoaXMpO1xuICAgICAgICAgICAgdmFyIGN1cnJlbnROYW1lID0gbmFtZSA9PSBudWxsID8gaW5kZXggOiBuYW1lO1xuICAgICAgICAgICAgdmFyIGV4cGFuZGVkID0gYWNjb3JkaW9uXG4gICAgICAgICAgICAgICAgPyB2YWx1ZSA9PT0gY3VycmVudE5hbWVcbiAgICAgICAgICAgICAgICA6ICh2YWx1ZSB8fCBbXSkuc29tZShmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gbmFtZSA9PT0gY3VycmVudE5hbWU7IH0pO1xuICAgICAgICAgICAgdmFyIHN0YWNrID0gW107XG4gICAgICAgICAgICBpZiAoZXhwYW5kZWQgIT09IHRoaXMuZGF0YS5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHN0YWNrLnB1c2godGhpcy51cGRhdGVTdHlsZShleHBhbmRlZCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLnNldCh7IGluZGV4OiBpbmRleCwgZXhwYW5kZWQ6IGV4cGFuZGVkIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChzdGFjayk7XG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZVN0eWxlOiBmdW5jdGlvbiAoZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSZWN0KCcudmFuLWNvbGxhcHNlLWl0ZW1fX2NvbnRlbnQnKVxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZWN0KSB7IHJldHVybiByZWN0LmhlaWdodDsgfSlcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudEhlaWdodDogaGVpZ2h0ID8gaGVpZ2h0ICsgXCJweFwiIDogJ2F1dG8nXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuc2V0KHsgY29udGVudEhlaWdodDogaGVpZ2h0ICsgXCJweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKG5leHRUaWNrKVxuICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiBfdGhpcy5zZXQoeyBjb250ZW50SGVpZ2h0OiAwIH0pOyB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsaWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIF9hID0gdGhpcy5kYXRhLCBuYW1lID0gX2EubmFtZSwgZXhwYW5kZWQgPSBfYS5leHBhbmRlZDtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyk7XG4gICAgICAgICAgICB2YXIgY3VycmVudE5hbWUgPSBuYW1lID09IG51bGwgPyBpbmRleCA6IG5hbWU7XG4gICAgICAgICAgICB0aGlzLnBhcmVudC5zd2l0Y2goY3VycmVudE5hbWUsICFleHBhbmRlZCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudEhlaWdodDogJ2F1dG8nXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiaW5kZXguanMifQ==