UNPKG

@tencentcloud/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,

91 lines (90 loc) 2.55 kB
import { defineComponent, ref, watch, resolveComponent, createElementBlock, openBlock, withDirectives, createElementVNode, vShow, unref, normalizeStyle, createCommentVNode, renderSlot, createVNode, toDisplayString } from "vue"; import { IconArrowDown } from "@tencentcloud/uikit-base-component-vue3"; import vTap from "../../../directives/vTap.mjs"; 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__ */ 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 = ref(false); watch( () => props.visible, (val) => show.value = val, { immediate: true } ); watch( show, (val) => { emit("input", val); }, { immediate: true } ); const toggleShow = () => { show.value = !show.value; if (!show.value) { emit("close"); } }; return (_ctx, _cache) => { const _component_TUIIcon = resolveComponent("TUIIcon"); return openBlock(), createElementBlock("div", null, [ withDirectives(createElementVNode("div", _hoisted_1, null, 512), [ [vShow, show.value && __props.showMask], [unref(vTap), toggleShow] ]), withDirectives(createElementVNode("div", { class: "container", style: normalizeStyle({ height: props.height }) }, [ __props.showClose ? withDirectives((openBlock(), createElementBlock("div", _hoisted_2, [ createVNode(_component_TUIIcon, { icon: unref(IconArrowDown), size: "28" }, null, 8, ["icon"]) ])), [ [unref(vTap), toggleShow] ]) : createCommentVNode("", true), __props.title ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(__props.title), 1)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, void 0, true) ], 4), [ [vShow, show.value] ]) ]); }; } }); export { _sfc_main as default };