UNPKG

ten-design-vue

Version:

ten-vue

87 lines (80 loc) 2.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _default = { name: 'TenSlideDown', functional: true, props: { disabled: Boolean }, render: function render(h, _ref) { var children = _ref.children, props = _ref.props; if (props.disabled) { return h('transition', children); } var data = { props: { name: 'ten-slide-down' }, on: { beforeEnter: function beforeEnter(_el) { var el = _el; 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; }, enter: function enter(_el) { var el = _el; el.dataset.oldOverflow = el.style.overflow; if (el.scrollHeight !== 0) { el.style.height = "".concat(el.scrollHeight, "px"); el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.oldPaddingBottom; } else { el.style.height = ''; el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.oldPaddingBottom; } el.style.overflow = 'hidden'; }, afterEnter: function afterEnter(_el) { var el = _el; // for safari: remove class then reset height is necessary el.style.height = ''; el.style.overflow = el.dataset.oldOverflow; }, beforeLeave: function beforeLeave(_el) { var el = _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 = "".concat(el.scrollHeight, "px"); el.style.overflow = 'hidden'; }, leave: function leave(_el) { var el = _el; if (el.scrollHeight !== 0) { el.style.height = 0; el.style.paddingTop = 0; el.style.paddingBottom = 0; } }, afterLeave: function afterLeave(_el) { var el = _el; el.style.height = ''; el.style.overflow = el.dataset.oldOverflow; el.style.paddingTop = el.dataset.oldPaddingTop; el.style.paddingBottom = el.dataset.oldPaddingBottom; } } }; return h('transition', data, children); } }; exports.default = _default;