roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
88 lines (87 loc) • 2.48 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
const SvgIcon = require("./SvgIcon.vue.js");
const ArrowDown = require("../icons/ArrowDown.vue.js");
const vTap = require("../../../directives/vTap.js");
const _hoisted_1 = { class: "mask" };
const _hoisted_2 = {
key: 0,
class: "container-close"
};
const _hoisted_3 = {
key: 1,
class: "container-header"
};
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
__name: "ActionSheep",
props: {
visible: {
type: Boolean,
default: false
},
title: {
type: String,
default: ""
},
showClose: {
type: Boolean,
default: true
},
showMask: {
type: Boolean,
default: true
},
height: {
type: String,
default: ""
}
},
emits: ["input", "close"],
setup(__props, { emit: __emit }) {
const props = __props;
const emit = __emit;
const show = Vue.ref(false);
Vue.watch(
() => props.visible,
(val) => show.value = val,
{ immediate: true }
);
Vue.watch(
show,
(val) => {
emit("input", val);
},
{ immediate: true }
);
const toggleShow = () => {
show.value = !show.value;
if (!show.value) {
emit("close");
}
};
return (_ctx, _cache) => {
return Vue.openBlock(), Vue.createElementBlock("div", null, [
Vue.withDirectives(Vue.createElementVNode("div", _hoisted_1, null, 512), [
[Vue.vShow, show.value && __props.showMask],
[Vue.unref(vTap.default), toggleShow]
]),
Vue.withDirectives(Vue.createElementVNode("div", {
class: "container",
style: Vue.normalizeStyle({ height: props.height })
}, [
__props.showClose ? Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
Vue.createVNode(SvgIcon.default, { icon: ArrowDown.default })
])), [
[Vue.unref(vTap.default), toggleShow]
]) : Vue.createCommentVNode("", true),
__props.title ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3, Vue.toDisplayString(__props.title), 1)) : Vue.createCommentVNode("", true),
Vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
], 4), [
[Vue.vShow, show.value]
])
]);
};
}
});
exports.default = _sfc_main;