UNPKG

vuetify

Version:

Vue.js 2 Semantic Component Framework

57 lines (54 loc) 2.07 kB
export default function () { var expandedParentClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return { beforeEnter: function beforeEnter(el) { el._parent = el.parentNode; el._initialStyle = { transition: el.style.transition, visibility: el.style.visibility, overflow: el.style.overflow, height: el.style.height }; }, enter: function enter(el) { var initialStyle = el._initialStyle; el.style.setProperty('transition', 'none', 'important'); el.style.visibility = 'hidden'; var height = el.offsetHeight + 'px'; el.style.visibility = initialStyle.visibility; el.style.overflow = 'hidden'; el.style.height = 0; void el.offsetHeight; // force reflow el.style.transition = initialStyle.transition; expandedParentClass && el._parent && el._parent.classList.add(expandedParentClass); requestAnimationFrame(function () { el.style.height = height; }); }, afterEnter: resetStyles, enterCancelled: resetStyles, leave: function leave(el) { el._initialStyle = { overflow: el.style.overflow, height: el.style.height }; el.style.overflow = 'hidden'; el.style.height = el.offsetHeight + 'px'; requestAnimationFrame(function () { return el.style.height = 0; }); }, afterLeave: afterLeave, leaveCancelled: afterLeave }; function afterLeave(el) { expandedParentClass && el._parent && el._parent.classList.remove(expandedParentClass); resetStyles(el); } } function resetStyles(el) { el.style.overflow = el._initialStyle.overflow; el.style.height = el._initialStyle.height; delete el._initialStyle; } //# sourceMappingURL=expand-transition.js.map