hongluan-ui
Version:
Hongluan Component Library for Vue 3
59 lines (54 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('../../../utils/index.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var style = require('../../../utils/dom/style.js');
const _sfc_main = vue.defineComponent({
name: "MenuCollapseTransition",
setup() {
const listeners = {
onBeforeEnter: (el) => el.style.opacity = "0.2",
onEnter(el, done) {
style.addClass(el, "opacity-transition");
el.style.opacity = "1";
done();
},
onAfterEnter(el) {
style.removeClass(el, "opacity-transition");
el.style.opacity = "";
},
onBeforeLeave(el) {
if (!el.dataset) {
el.dataset = {};
}
if (style.hasClass(el, "menu-collapse")) {
style.removeClass(el, "menu-collapse");
el.dataset.oldOverflow = el.style.overflow;
el.dataset.scrollWidth = el.clientWidth.toString();
style.addClass(el, "menu-collapse");
} else {
style.addClass(el, "menu-collapse");
el.dataset.oldOverflow = el.style.overflow;
el.dataset.scrollWidth = el.clientWidth.toString();
style.removeClass(el, "menu-collapse");
}
el.style.width = `${el.scrollWidth}px`;
el.style.overflow = "hidden";
},
onLeave(el) {
style.addClass(el, "horizontal-collapse-transition");
el.style.width = `${el.dataset.scrollWidth}px`;
}
};
return {
listeners
};
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.renderSlot(_ctx.$slots, "default");
}
var menuCollapseTransition = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
exports["default"] = menuCollapseTransition;
//# sourceMappingURL=menu-collapse-transition.js.map