UNPKG

ivue-material-plus

Version:

A high quality UI components Library with Vue.js

68 lines (63 loc) 2.06 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var assist = require('./assist.js'); const handle = { onBeforeEnter(el) { assist.addClass(el, "collapse-transition"); if (!el.dataset) el.dataset = {}; el.dataset.oldPaddingTop = el.style.paddingTop; el.dataset.oldPaddingBottom = el.style.paddingBottom; el.style.height = "0"; el.style.paddingTop = 0; el.style.paddingBottom = 0; }, onEnter(el) { el.dataset.oldOverflow = el.style.overflow; if (el.scrollHeight !== 0) { el.style.height = `${el.scrollHeight}px`; el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.paddingBottom; } else { el.style.height = ""; el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.oldPaddingBottom; } el.style.overflow = "hidden"; }, onAfterEnter(el) { assist.removeClass(el, "collapse-transition"); el.style.height = ""; el.style.overflow = el.dataset.oldOverflow; }, onBeforeLeave(el) { if (!el.dataset) el.dataset = {}; el.dataset.oldPaddingTop = el.style.paddingTop; el.dataset.oldPaddingBottom = el.style.paddingBottom; el.dataset.oldOverflow = el.style.overflow; el.style.height = `${el.scrollHeight}px`; el.style.overflow = "hidden"; }, onLeave(el) { if (el.scrollHeight !== 0) { assist.addClass(el, "collapse-transition"); el.style.height = 0; el.style.paddingTop = 0; el.style.paddingBottom = 0; } }, onAfterLeave(el) { assist.removeClass(el, "collapse-transition"); el.style.height = ""; el.style.overflow = el.dataset.oldOverflow; el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.oldPaddingBottom; } }; const collapseTransition = (props, context) => { return vue.h(vue.Transition, handle, context.slots); }; exports["default"] = collapseTransition; //# sourceMappingURL=collapse-transition.js.map