'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.setContentAnimate = void 0; var version_1 = require('../common/version'); var utils_1 = require('../common/utils'); function useAnimate(context, expanded, mounted, height) { var selector = '.van-collapse-item__wrapper'; if (expanded) { context.animate( selector, [ { height: 0, ease: 'ease-in-out', offset: 0 }, { height: height + 'px', ease: 'ease-in-out', offset: 1 }, { height: 'auto', ease: 'ease-in-out', offset: 1 }, ], mounted ? 300 : 0, function () { context.clearAnimation(selector); } ); return; } context.animate( selector, [ { height: height + 'px', ease: 'ease-in-out', offset: 0 }, { height: 0, ease: 'ease-in-out', offset: 1 }, ], 300, function () { context.clearAnimation(selector); } ); } function useAnimation(context, expanded, mounted, height) { var animation = wx.createAnimation({ duration: 0, timingFunction: 'ease-in-out', }); if (expanded) { if (height === 0) { animation.height('auto').top(1).step(); } else { animation .height(height) .top(1) .step({ duration: mounted ? 300 : 1, }) .height('auto') .step(); } context.setData({ animation: animation.export(), }); return; } animation.height(height).top(0).step({ duration: 1 }).height(0).step({ duration: 300, }); context.setData({ animation: animation.export(), }); } function setContentAnimate(context, expanded, mounted) { utils_1 .getRect(context, '.van-collapse-item__content') .then(function (rect) { return rect.height; }) .then(function (height) { version_1.canIUseAnimate() ? useAnimate(context, expanded, mounted, height) : useAnimation(context, expanded, mounted, height); }); } exports.setContentAnimate = setContentAnimate;