UNPKG

vuetify

Version:

Vue.js 2 Semantic Component Framework

42 lines (35 loc) 1.25 kB
import { addOnceEventListener } from '../../util/helpers'; export default function () { var expandedParentClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; return { enter: function enter(el, done) { el._parent = el.parentNode; addOnceEventListener(el, 'transitionend', done); // Get height that is to be scrolled el.style.overflow = 'hidden'; el.style.height = 0; el.style.display = 'block'; expandedParentClass && el._parent.classList.add(expandedParentClass); setTimeout(function () { return el.style.height = el.scrollHeight + 'px'; }, 100); }, afterEnter: function afterEnter(el) { el.style.overflow = null; el.style.height = null; }, leave: function leave(el, done) { // Remove initial transition addOnceEventListener(el, 'transitionend', done); // Set height before we transition to 0 el.style.overflow = 'hidden'; el.style.height = el.offsetHeight + 'px'; setTimeout(function () { return el.style.height = 0; }, 100); }, afterLeave: function afterLeave(el) { expandedParentClass && el._parent.classList.remove(expandedParentClass); } }; }