yuang-framework-ui-pc
Version:
yuang-framework-ui-pc Library
57 lines (56 loc) • 1.79 kB
JavaScript
import { defineComponent, ref, computed, onActivated, onDeactivated, createBlock, openBlock, Teleport, createElementVNode, normalizeClass, normalizeStyle, renderSlot } from "vue";
import { useLayoutState } from "../ele-pro-layout/util";
import { bottomBarProps } from "./props";
const _sfc_main = defineComponent({
name: "EleBottomBar",
props: bottomBarProps,
setup() {
const layoutState = useLayoutState();
const isActivated = ref(true);
const teleportTo = computed(() => {
var _a;
return (_a = layoutState.getBodyWrapperEl) == null ? void 0 : _a.call(layoutState);
});
onActivated(() => {
isActivated.value = true;
});
onDeactivated(() => {
isActivated.value = false;
});
return { isActivated, teleportTo };
}
});
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return openBlock(), createBlock(Teleport, {
to: _ctx.teleportTo,
disabled: !_ctx.teleported || !_ctx.teleportTo
}, [
createElementVNode("div", {
class: normalizeClass(["ele-bottom-bar", { "is-deactivated": !_ctx.isActivated }])
}, [
createElementVNode("div", {
class: "ele-bottom-bar-body",
style: normalizeStyle(_ctx.bodyStyle)
}, [
renderSlot(_ctx.$slots, "default")
], 4),
createElementVNode("div", {
class: "ele-bottom-bar-extra",
style: normalizeStyle(_ctx.extraStyle)
}, [
renderSlot(_ctx.$slots, "extra")
], 4)
], 2)
], 8, ["to", "disabled"]);
}
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
index as default
};