@ndscnj/roomkit-web-vue3 25.12.24152 → 25.12.24153

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +6 -0
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +7 -0
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +105 -0
  4. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +2 -0
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +49 -0
  6. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +4 -0
  7. package/es/components/RoomFooter/VoteControl/index.d.ts +6 -0
  8. package/es/components/RoomFooter/VoteControl/index.mjs +7 -0
  9. package/es/components/RoomFooter/VoteControl/useMoreControlHooks.mjs +22 -0
  10. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  11. package/es/components/RoomFooter/index/indexPC.vue2.mjs +4 -4
  12. package/es/index.mjs +44 -16
  13. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +6 -0
  14. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +7 -0
  15. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +105 -0
  16. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +2 -0
  17. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +49 -0
  18. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +4 -0
  19. package/lib/components/RoomFooter/VoteControl/index.d.ts +6 -0
  20. package/lib/components/RoomFooter/VoteControl/index.js +7 -0
  21. package/lib/components/RoomFooter/VoteControl/useMoreControlHooks.js +22 -0
  22. package/lib/components/RoomFooter/index/indexPC.vue.js +1 -1
  23. package/lib/components/RoomFooter/index/indexPC.vue2.js +6 -6
  24. package/lib/index.js +44 -16
  25. package/package.json +1 -1
  26. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +122 -0
  27. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +31 -0
  28. package/src/TUIRoom/components/RoomFooter/VoteControl/index.ts +8 -0
  29. package/src/TUIRoom/components/RoomFooter/VoteControl/useMoreControlHooks.ts +23 -0
  30. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +1 -1
  31. package/es/components/RoomFooter/voteControl.vue.d.ts +0 -15
  32. package/es/components/RoomFooter/voteControl.vue.mjs +0 -7
  33. package/es/components/RoomFooter/voteControl.vue2.mjs +0 -55
  34. package/lib/components/RoomFooter/voteControl.vue.d.ts +0 -15
  35. package/lib/components/RoomFooter/voteControl.vue.js +0 -7
  36. package/lib/components/RoomFooter/voteControl.vue2.js +0 -55
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./MoreControlH5.vue2.mjs";
2
+ /* empty css */
3
+ import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const MoreControlH5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c413959d"]]);
5
+ export {
6
+ MoreControlH5 as default
7
+ };
@@ -0,0 +1,105 @@
1
+ import { defineComponent, ref, onMounted, onUnmounted, createElementBlock, openBlock, createCommentVNode, unref, withDirectives, createBlock, withCtx, createVNode, createElementVNode, createTextVNode, toDisplayString } from "vue";
2
+ import { IconExtension } from "@tencentcloud/uikit-base-component-vue3";
3
+ import IconButton from "../../common/base/IconButton.vue.mjs";
4
+ import useControl from "./useMoreControlHooks.mjs";
5
+ import _sfc_main$1 from "../ChatControl.vue.mjs";
6
+ import InviteControl from "../InviteControl.vue.mjs";
7
+ import ContactControl from "../ContactControl.vue.mjs";
8
+ import { useRoomStore } from "../../../stores/room.mjs";
9
+ import bus from "../../../hooks/useMitt.mjs";
10
+ import vTap from "../../../directives/vTap.mjs";
11
+ import "../../../services/main.mjs";
12
+ import { roomService } from "../../../services/roomService.mjs";
13
+ import "../../../locales/index.mjs";
14
+ import "@tencentcloud/tuiroom-engine-js";
15
+ import "../../../utils/environment.mjs";
16
+ import "mitt";
17
+ import "../../../services/manager/roomActionManager.mjs";
18
+ import "@tencentcloud/tui-core";
19
+ const _hoisted_1 = {
20
+ key: 0,
21
+ class: "more-control-container"
22
+ };
23
+ const _hoisted_2 = { class: "control-compent" };
24
+ const _hoisted_3 = { class: "close" };
25
+ const _sfc_main = /* @__PURE__ */ defineComponent({
26
+ __name: "MoreControlH5",
27
+ emits: ["show-overlay"],
28
+ setup(__props, { emit: __emit }) {
29
+ const moreControlConfig = roomService.getComponentConfig("MoreControl");
30
+ const showMoreContent = ref(false);
31
+ const moreContentRef = ref();
32
+ const { t, sidebarName } = useControl();
33
+ const roomStore = useRoomStore();
34
+ const emit = __emit;
35
+ function showMore() {
36
+ showMoreContent.value = true;
37
+ }
38
+ function handleCancelControl() {
39
+ showMoreContent.value = false;
40
+ }
41
+ function handleControlClick(name) {
42
+ bus.emit("experience-communication", name);
43
+ }
44
+ function handleShowOverlay(data) {
45
+ showMoreContent.value = false;
46
+ emit("show-overlay", data);
47
+ }
48
+ function handleDocumentClick(event) {
49
+ if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
50
+ showMoreContent.value = false;
51
+ }
52
+ }
53
+ onMounted(() => {
54
+ document == null ? void 0 : document.addEventListener("click", handleDocumentClick, true);
55
+ });
56
+ onUnmounted(() => {
57
+ document == null ? void 0 : document.removeEventListener("click", handleDocumentClick, true);
58
+ });
59
+ return (_ctx, _cache) => {
60
+ return openBlock(), createElementBlock("div", null, [
61
+ unref(moreControlConfig).visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
62
+ withDirectives((openBlock(), createBlock(IconButton, {
63
+ "is-active": unref(sidebarName) === "more",
64
+ title: unref(t)("More")
65
+ }, {
66
+ default: withCtx(() => [
67
+ createVNode(unref(IconExtension), { size: "24" })
68
+ ]),
69
+ _: 1
70
+ }, 8, ["is-active", "title"])), [
71
+ [unref(vTap), showMore]
72
+ ])
73
+ ])) : createCommentVNode("", true),
74
+ showMoreContent.value ? (openBlock(), createElementBlock("div", {
75
+ key: 1,
76
+ ref_key: "moreContentRef",
77
+ ref: moreContentRef,
78
+ class: "show-more-content"
79
+ }, [
80
+ createElementVNode("div", _hoisted_2, [
81
+ unref(roomStore).isSpeakAfterTakingSeatMode ? (openBlock(), createBlock(_sfc_main$1, {
82
+ key: 0,
83
+ onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("chatControl"))
84
+ })) : createCommentVNode("", true),
85
+ createVNode(ContactControl, {
86
+ onClick: _cache[1] || (_cache[1] = ($event) => handleControlClick("contactControl"))
87
+ }),
88
+ createVNode(InviteControl, {
89
+ onShowOverlay: handleShowOverlay,
90
+ onClick: _cache[2] || (_cache[2] = ($event) => handleControlClick("inviteControl"))
91
+ })
92
+ ]),
93
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_3, [
94
+ createTextVNode(toDisplayString(unref(t)("Cancel")), 1)
95
+ ])), [
96
+ [unref(vTap), handleCancelControl]
97
+ ])
98
+ ], 512)) : createCommentVNode("", true)
99
+ ]);
100
+ };
101
+ }
102
+ });
103
+ export {
104
+ _sfc_main as default
105
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { defineComponent, createElementBlock, createCommentVNode, unref, openBlock, createVNode, withCtx } from "vue";
2
+ import { IconMore } from "@tencentcloud/uikit-base-component-vue3";
3
+ import IconButton from "../../common/base/IconButton.vue.mjs";
4
+ import useControl from "./useMoreControlHooks.mjs";
5
+ import "../../../services/main.mjs";
6
+ import { roomService } from "../../../services/roomService.mjs";
7
+ import "../../../locales/index.mjs";
8
+ import "@tencentcloud/tuiroom-engine-js";
9
+ import "../../../utils/environment.mjs";
10
+ import "mitt";
11
+ import "../../../services/manager/roomActionManager.mjs";
12
+ import "@tencentcloud/tui-core";
13
+ const _hoisted_1 = {
14
+ key: 0,
15
+ class: "more-control-container"
16
+ };
17
+ const _sfc_main = /* @__PURE__ */ defineComponent({
18
+ __name: "MoreControlPC",
19
+ setup(__props) {
20
+ const moreControlConfig = roomService.getComponentConfig("MoreControl");
21
+ const { t, basicStore, sidebarName } = useControl();
22
+ function toggleMoreSidebar() {
23
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === "more") {
24
+ basicStore.setSidebarOpenStatus(false);
25
+ basicStore.setSidebarName("");
26
+ return;
27
+ }
28
+ basicStore.setSidebarOpenStatus(true);
29
+ basicStore.setSidebarName("more");
30
+ }
31
+ return (_ctx, _cache) => {
32
+ return unref(moreControlConfig).visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
33
+ createVNode(IconButton, {
34
+ "is-active": unref(sidebarName) === "more",
35
+ title: unref(t)("More"),
36
+ onClickIcon: toggleMoreSidebar
37
+ }, {
38
+ default: withCtx(() => [
39
+ createVNode(unref(IconMore), { size: "24" })
40
+ ]),
41
+ _: 1
42
+ }, 8, ["is-active", "title"])
43
+ ])) : createCommentVNode("", true);
44
+ };
45
+ }
46
+ });
47
+ export {
48
+ _sfc_main as default
49
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./MoreControlPC.vue.mjs";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,6 @@
1
+ declare const MoreControl: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default MoreControl;
@@ -0,0 +1,7 @@
1
+ import MoreControlH5 from "./MoreControlH5.vue.mjs";
2
+ import _sfc_main from "./MoreControlPC.vue.mjs";
3
+ import { isMobile } from "../../../utils/environment.mjs";
4
+ const MoreControl = isMobile ? MoreControlH5 : _sfc_main;
5
+ export {
6
+ MoreControl as default
7
+ };
@@ -0,0 +1,22 @@
1
+ import { computed } from "vue";
2
+ import { useBasicStore } from "../../../stores/basic.mjs";
3
+ import { storeToRefs } from "pinia";
4
+ import { useI18n } from "../../../locales/index.mjs";
5
+ import { ICON_NAME } from "../../../constants/icon.mjs";
6
+ function useControl() {
7
+ const { t } = useI18n();
8
+ const basicStore = useBasicStore();
9
+ const { sidebarName } = storeToRefs(basicStore);
10
+ const iconName = computed(
11
+ () => sidebarName.value === "more" ? ICON_NAME.MoreActive : ICON_NAME.More
12
+ );
13
+ return {
14
+ t,
15
+ basicStore,
16
+ iconName,
17
+ sidebarName
18
+ };
19
+ }
20
+ export {
21
+ useControl as default
22
+ };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./indexPC.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f808bd91"]]);
4
+ const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4afcea78"]]);
5
5
  export {
6
6
  indexPc as default
7
7
  };
@@ -57,7 +57,7 @@ import _sfc_main$3 from "../ManageMemberControl.vue.mjs";
57
57
  import _sfc_main$4 from "../ChatControl.vue.mjs";
58
58
  import _sfc_main$5 from "../ManageStageControl.vue.mjs";
59
59
  import MemberApplyControl from "../ApplyControl/MemberApplyControl.vue.mjs";
60
- import MoreControl from "../MoreControl/index.mjs";
60
+ import MoreControl$1 from "../MoreControl/index.mjs";
61
61
  import EndControl from "../EndControl/index.mjs";
62
62
  import _sfc_main$6 from "../SettingControl.vue.mjs";
63
63
  import WhiteboardControl from "../WhiteboardControl.vue.mjs";
@@ -65,7 +65,7 @@ import VirtualBackground from "../VirtualBackground.vue.mjs";
65
65
  import AIControl from "../AIControl.vue.mjs";
66
66
  import BasicBeauty from "../BasicBeauty.vue.mjs";
67
67
  import bus from "../../../hooks/useMitt.mjs";
68
- import voteControl from "../voteControl.vue.mjs";
68
+ import MoreControl from "../VoteControl/index.mjs";
69
69
  import useRoomFooter from "./useRoomFooterHooks.mjs";
70
70
  const _hoisted_1 = { class: "footer-container" };
71
71
  const _hoisted_2 = { class: "left-container" };
@@ -137,7 +137,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
137
137
  class: "center-container-item",
138
138
  onClick: _cache[9] || (_cache[9] = ($event) => handleControlClick("MasterApplyControl"))
139
139
  })) : createCommentVNode("", true),
140
- createVNode(voteControl, {
140
+ createVNode(unref(MoreControl), {
141
141
  class: "center-container-item",
142
142
  onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl")),
143
143
  onOnVote: onVote
@@ -147,7 +147,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
147
147
  ]),
148
148
  _: 3
149
149
  }),
150
- createVNode(unref(MoreControl), {
150
+ createVNode(unref(MoreControl$1), {
151
151
  class: "center-container-item",
152
152
  onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("moreControl"))
153
153
  }),
package/es/index.mjs CHANGED
@@ -3928,17 +3928,45 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.contact-container[data-v-753053ea] {
3932
- position: fixed;
3933
- top: 0;
3934
- bottom: 0;
3935
- left: 0;
3936
- z-index: 11;
3937
- box-sizing: border-box;
3938
- width: 100vw;
3939
- height: auto;
3940
- background-color: var(--uikit-color-black-8);
3941
- }.footer-container[data-v-f808bd91] {
3931
+ }.show-more-content[data-v-c413959d] {
3932
+ position: absolute;
3933
+ bottom: 15px;
3934
+ left: 5%;
3935
+ width: 90%;
3936
+ height: 17vh;
3937
+ padding: 10px;
3938
+ border-radius: 13px;
3939
+ animation-name: popup-c413959d;
3940
+ animation-duration: 200ms;
3941
+ background-color: var(--bg-color-operate);
3942
+ }
3943
+ @keyframes popup-c413959d {
3944
+ from {
3945
+ bottom: 0;
3946
+ }
3947
+ to {
3948
+ bottom: 15px;
3949
+ }
3950
+ }
3951
+ .control-compent[data-v-c413959d] {
3952
+ display: flex;
3953
+ }
3954
+ .close[data-v-c413959d] {
3955
+ position: relative;
3956
+ top: 10%;
3957
+ display: flex;
3958
+ align-items: center;
3959
+ justify-content: center;
3960
+ width: 100%;
3961
+ padding: 10px;
3962
+ font-style: normal;
3963
+ font-weight: 400;
3964
+ line-height: 24px;
3965
+ text-align: center;
3966
+ border-radius: 8px;
3967
+ color: var(--text-color-primary);
3968
+ background-color: var(--button-color-secondary-default);
3969
+ }.footer-container[data-v-4afcea78] {
3942
3970
  position: absolute;
3943
3971
  bottom: 0;
3944
3972
  display: flex;
@@ -3952,25 +3980,25 @@ to {
3952
3980
  background-color: var(--bg-color-topbar);
3953
3981
  box-shadow: 0 -8px 30px var(--uikit-color-black-8);
3954
3982
  }
3955
- .footer-container .left-container[data-v-f808bd91] {
3983
+ .footer-container .left-container[data-v-4afcea78] {
3956
3984
  display: flex;
3957
3985
  align-items: center;
3958
3986
  height: 100%;
3959
3987
  }
3960
- .footer-container .left-container .left-container-item[data-v-f808bd91]:not(:first-child) {
3988
+ .footer-container .left-container .left-container-item[data-v-4afcea78]:not(:first-child) {
3961
3989
  margin-left: 1rem;
3962
3990
  }
3963
- .footer-container .center-container[data-v-f808bd91] {
3991
+ .footer-container .center-container[data-v-4afcea78] {
3964
3992
  position: relative;
3965
3993
  display: flex;
3966
3994
  align-items: center;
3967
3995
  height: 100%;
3968
3996
  margin: 0 auto;
3969
3997
  }
3970
- .footer-container .center-container .center-container-item[data-v-f808bd91]:not(:first-child) {
3998
+ .footer-container .center-container .center-container-item[data-v-4afcea78]:not(:first-child) {
3971
3999
  margin-left: 16px;
3972
4000
  }
3973
- .footer-container .right-container[data-v-f808bd91] {
4001
+ .footer-container .right-container[data-v-4afcea78] {
3974
4002
  display: flex;
3975
4003
  align-items: center;
3976
4004
  height: 100%;
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const MoreControlH5_vue_vue_type_script_setup_true_lang = require("./MoreControlH5.vue2.js");
4
+ ;/* empty css */
5
+ const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
+ const MoreControlH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(MoreControlH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-c413959d"]]);
7
+ exports.default = MoreControlH5;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Vue = require("vue");
4
+ const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
5
+ const IconButton = require("../../common/base/IconButton.vue.js");
6
+ const useMoreControlHooks = require("./useMoreControlHooks.js");
7
+ const ChatControl_vue_vue_type_script_setup_true_lang = require("../ChatControl.vue.js");
8
+ const InviteControl = require("../InviteControl.vue.js");
9
+ const ContactControl = require("../ContactControl.vue.js");
10
+ const room = require("../../../stores/room.js");
11
+ const useMitt = require("../../../hooks/useMitt.js");
12
+ const vTap = require("../../../directives/vTap.js");
13
+ require("../../../services/main.js");
14
+ const roomService = require("../../../services/roomService.js");
15
+ require("../../../locales/index.js");
16
+ require("@tencentcloud/tuiroom-engine-js");
17
+ require("../../../utils/environment.js");
18
+ require("mitt");
19
+ require("../../../services/manager/roomActionManager.js");
20
+ require("@tencentcloud/tui-core");
21
+ const _hoisted_1 = {
22
+ key: 0,
23
+ class: "more-control-container"
24
+ };
25
+ const _hoisted_2 = { class: "control-compent" };
26
+ const _hoisted_3 = { class: "close" };
27
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
28
+ __name: "MoreControlH5",
29
+ emits: ["show-overlay"],
30
+ setup(__props, { emit: __emit }) {
31
+ const moreControlConfig = roomService.roomService.getComponentConfig("MoreControl");
32
+ const showMoreContent = Vue.ref(false);
33
+ const moreContentRef = Vue.ref();
34
+ const { t, sidebarName } = useMoreControlHooks.default();
35
+ const roomStore = room.useRoomStore();
36
+ const emit = __emit;
37
+ function showMore() {
38
+ showMoreContent.value = true;
39
+ }
40
+ function handleCancelControl() {
41
+ showMoreContent.value = false;
42
+ }
43
+ function handleControlClick(name) {
44
+ useMitt.default.emit("experience-communication", name);
45
+ }
46
+ function handleShowOverlay(data) {
47
+ showMoreContent.value = false;
48
+ emit("show-overlay", data);
49
+ }
50
+ function handleDocumentClick(event) {
51
+ if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
52
+ showMoreContent.value = false;
53
+ }
54
+ }
55
+ Vue.onMounted(() => {
56
+ document == null ? void 0 : document.addEventListener("click", handleDocumentClick, true);
57
+ });
58
+ Vue.onUnmounted(() => {
59
+ document == null ? void 0 : document.removeEventListener("click", handleDocumentClick, true);
60
+ });
61
+ return (_ctx, _cache) => {
62
+ return Vue.openBlock(), Vue.createElementBlock("div", null, [
63
+ Vue.unref(moreControlConfig).visible ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
64
+ Vue.withDirectives((Vue.openBlock(), Vue.createBlock(IconButton.default, {
65
+ "is-active": Vue.unref(sidebarName) === "more",
66
+ title: Vue.unref(t)("More")
67
+ }, {
68
+ default: Vue.withCtx(() => [
69
+ Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconExtension), { size: "24" })
70
+ ]),
71
+ _: 1
72
+ }, 8, ["is-active", "title"])), [
73
+ [Vue.unref(vTap.default), showMore]
74
+ ])
75
+ ])) : Vue.createCommentVNode("", true),
76
+ showMoreContent.value ? (Vue.openBlock(), Vue.createElementBlock("div", {
77
+ key: 1,
78
+ ref_key: "moreContentRef",
79
+ ref: moreContentRef,
80
+ class: "show-more-content"
81
+ }, [
82
+ Vue.createElementVNode("div", _hoisted_2, [
83
+ Vue.unref(roomStore).isSpeakAfterTakingSeatMode ? (Vue.openBlock(), Vue.createBlock(ChatControl_vue_vue_type_script_setup_true_lang.default, {
84
+ key: 0,
85
+ onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("chatControl"))
86
+ })) : Vue.createCommentVNode("", true),
87
+ Vue.createVNode(ContactControl.default, {
88
+ onClick: _cache[1] || (_cache[1] = ($event) => handleControlClick("contactControl"))
89
+ }),
90
+ Vue.createVNode(InviteControl.default, {
91
+ onShowOverlay: handleShowOverlay,
92
+ onClick: _cache[2] || (_cache[2] = ($event) => handleControlClick("inviteControl"))
93
+ })
94
+ ]),
95
+ Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", _hoisted_3, [
96
+ Vue.createTextVNode(Vue.toDisplayString(Vue.unref(t)("Cancel")), 1)
97
+ ])), [
98
+ [Vue.unref(vTap.default), handleCancelControl]
99
+ ])
100
+ ], 512)) : Vue.createCommentVNode("", true)
101
+ ]);
102
+ };
103
+ }
104
+ });
105
+ exports.default = _sfc_main;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Vue = require("vue");
4
+ const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
5
+ const IconButton = require("../../common/base/IconButton.vue.js");
6
+ const useMoreControlHooks = require("./useMoreControlHooks.js");
7
+ require("../../../services/main.js");
8
+ const roomService = require("../../../services/roomService.js");
9
+ require("../../../locales/index.js");
10
+ require("@tencentcloud/tuiroom-engine-js");
11
+ require("../../../utils/environment.js");
12
+ require("mitt");
13
+ require("../../../services/manager/roomActionManager.js");
14
+ require("@tencentcloud/tui-core");
15
+ const _hoisted_1 = {
16
+ key: 0,
17
+ class: "more-control-container"
18
+ };
19
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
20
+ __name: "MoreControlPC",
21
+ setup(__props) {
22
+ const moreControlConfig = roomService.roomService.getComponentConfig("MoreControl");
23
+ const { t, basicStore, sidebarName } = useMoreControlHooks.default();
24
+ function toggleMoreSidebar() {
25
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === "more") {
26
+ basicStore.setSidebarOpenStatus(false);
27
+ basicStore.setSidebarName("");
28
+ return;
29
+ }
30
+ basicStore.setSidebarOpenStatus(true);
31
+ basicStore.setSidebarName("more");
32
+ }
33
+ return (_ctx, _cache) => {
34
+ return Vue.unref(moreControlConfig).visible ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
35
+ Vue.createVNode(IconButton.default, {
36
+ "is-active": Vue.unref(sidebarName) === "more",
37
+ title: Vue.unref(t)("More"),
38
+ onClickIcon: toggleMoreSidebar
39
+ }, {
40
+ default: Vue.withCtx(() => [
41
+ Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconMore), { size: "24" })
42
+ ]),
43
+ _: 1
44
+ }, 8, ["is-active", "title"])
45
+ ])) : Vue.createCommentVNode("", true);
46
+ };
47
+ }
48
+ });
49
+ exports.default = _sfc_main;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const MoreControlPC_vue_vue_type_script_setup_true_lang = require("./MoreControlPC.vue.js");
4
+ exports.default = MoreControlPC_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,6 @@
1
+ declare const MoreControl: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "show-overlay": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
+ export default MoreControl;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const MoreControlH5 = require("./MoreControlH5.vue.js");
4
+ const MoreControlPC_vue_vue_type_script_setup_true_lang = require("./MoreControlPC.vue.js");
5
+ const environment = require("../../../utils/environment.js");
6
+ const MoreControl = environment.isMobile ? MoreControlH5.default : MoreControlPC_vue_vue_type_script_setup_true_lang.default;
7
+ exports.default = MoreControl;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Vue = require("vue");
4
+ const basic = require("../../../stores/basic.js");
5
+ const pinia = require("pinia");
6
+ const index = require("../../../locales/index.js");
7
+ const icon = require("../../../constants/icon.js");
8
+ function useControl() {
9
+ const { t } = index.useI18n();
10
+ const basicStore = basic.useBasicStore();
11
+ const { sidebarName } = pinia.storeToRefs(basicStore);
12
+ const iconName = Vue.computed(
13
+ () => sidebarName.value === "more" ? icon.ICON_NAME.MoreActive : icon.ICON_NAME.More
14
+ );
15
+ return {
16
+ t,
17
+ basicStore,
18
+ iconName,
19
+ sidebarName
20
+ };
21
+ }
22
+ exports.default = useControl;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const indexPC_vue_vue_type_script_setup_true_lang = require("./indexPC.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const indexPc = /* @__PURE__ */ _pluginVue_exportHelper.default(indexPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-f808bd91"]]);
6
+ const indexPc = /* @__PURE__ */ _pluginVue_exportHelper.default(indexPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4afcea78"]]);
7
7
  exports.default = indexPc;
@@ -59,15 +59,15 @@ const ManageMemberControl_vue_vue_type_script_setup_true_lang = require("../Mana
59
59
  const ChatControl_vue_vue_type_script_setup_true_lang = require("../ChatControl.vue.js");
60
60
  const ManageStageControl_vue_vue_type_script_setup_true_lang = require("../ManageStageControl.vue.js");
61
61
  const MemberApplyControl = require("../ApplyControl/MemberApplyControl.vue.js");
62
- const index$1 = require("../MoreControl/index.js");
63
- const index$2 = require("../EndControl/index.js");
62
+ const index$2 = require("../MoreControl/index.js");
63
+ const index$3 = require("../EndControl/index.js");
64
64
  const SettingControl_vue_vue_type_script_setup_true_lang = require("../SettingControl.vue.js");
65
65
  const WhiteboardControl = require("../WhiteboardControl.vue.js");
66
66
  const VirtualBackground = require("../VirtualBackground.vue.js");
67
67
  const AIControl = require("../AIControl.vue.js");
68
68
  const BasicBeauty = require("../BasicBeauty.vue.js");
69
69
  const useMitt = require("../../../hooks/useMitt.js");
70
- const voteControl = require("../voteControl.vue.js");
70
+ const index$1 = require("../VoteControl/index.js");
71
71
  const useRoomFooterHooks = require("./useRoomFooterHooks.js");
72
72
  const _hoisted_1 = { class: "footer-container" };
73
73
  const _hoisted_2 = { class: "left-container" };
@@ -139,7 +139,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
139
139
  class: "center-container-item",
140
140
  onClick: _cache[9] || (_cache[9] = ($event) => handleControlClick("MasterApplyControl"))
141
141
  })) : Vue.createCommentVNode("", true),
142
- Vue.createVNode(voteControl.default, {
142
+ Vue.createVNode(Vue.unref(index$1.default), {
143
143
  class: "center-container-item",
144
144
  onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl")),
145
145
  onOnVote: onVote
@@ -149,7 +149,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
149
149
  ]),
150
150
  _: 3
151
151
  }),
152
- Vue.createVNode(Vue.unref(index$1.default), {
152
+ Vue.createVNode(Vue.unref(index$2.default), {
153
153
  class: "center-container-item",
154
154
  onClick: _cache[11] || (_cache[11] = ($event) => handleControlClick("moreControl"))
155
155
  }),
@@ -168,7 +168,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
168
168
  })) : Vue.createCommentVNode("", true)
169
169
  ]),
170
170
  Vue.createElementVNode("div", _hoisted_4, [
171
- Vue.createVNode(Vue.unref(index$2.default))
171
+ Vue.createVNode(Vue.unref(index$3.default))
172
172
  ])
173
173
  ]);
174
174
  };
package/lib/index.js CHANGED
@@ -3928,17 +3928,45 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.contact-container[data-v-753053ea] {
3932
- position: fixed;
3933
- top: 0;
3934
- bottom: 0;
3935
- left: 0;
3936
- z-index: 11;
3937
- box-sizing: border-box;
3938
- width: 100vw;
3939
- height: auto;
3940
- background-color: var(--uikit-color-black-8);
3941
- }.footer-container[data-v-f808bd91] {
3931
+ }.show-more-content[data-v-c413959d] {
3932
+ position: absolute;
3933
+ bottom: 15px;
3934
+ left: 5%;
3935
+ width: 90%;
3936
+ height: 17vh;
3937
+ padding: 10px;
3938
+ border-radius: 13px;
3939
+ animation-name: popup-c413959d;
3940
+ animation-duration: 200ms;
3941
+ background-color: var(--bg-color-operate);
3942
+ }
3943
+ @keyframes popup-c413959d {
3944
+ from {
3945
+ bottom: 0;
3946
+ }
3947
+ to {
3948
+ bottom: 15px;
3949
+ }
3950
+ }
3951
+ .control-compent[data-v-c413959d] {
3952
+ display: flex;
3953
+ }
3954
+ .close[data-v-c413959d] {
3955
+ position: relative;
3956
+ top: 10%;
3957
+ display: flex;
3958
+ align-items: center;
3959
+ justify-content: center;
3960
+ width: 100%;
3961
+ padding: 10px;
3962
+ font-style: normal;
3963
+ font-weight: 400;
3964
+ line-height: 24px;
3965
+ text-align: center;
3966
+ border-radius: 8px;
3967
+ color: var(--text-color-primary);
3968
+ background-color: var(--button-color-secondary-default);
3969
+ }.footer-container[data-v-4afcea78] {
3942
3970
  position: absolute;
3943
3971
  bottom: 0;
3944
3972
  display: flex;
@@ -3952,25 +3980,25 @@ to {
3952
3980
  background-color: var(--bg-color-topbar);
3953
3981
  box-shadow: 0 -8px 30px var(--uikit-color-black-8);
3954
3982
  }
3955
- .footer-container .left-container[data-v-f808bd91] {
3983
+ .footer-container .left-container[data-v-4afcea78] {
3956
3984
  display: flex;
3957
3985
  align-items: center;
3958
3986
  height: 100%;
3959
3987
  }
3960
- .footer-container .left-container .left-container-item[data-v-f808bd91]:not(:first-child) {
3988
+ .footer-container .left-container .left-container-item[data-v-4afcea78]:not(:first-child) {
3961
3989
  margin-left: 1rem;
3962
3990
  }
3963
- .footer-container .center-container[data-v-f808bd91] {
3991
+ .footer-container .center-container[data-v-4afcea78] {
3964
3992
  position: relative;
3965
3993
  display: flex;
3966
3994
  align-items: center;
3967
3995
  height: 100%;
3968
3996
  margin: 0 auto;
3969
3997
  }
3970
- .footer-container .center-container .center-container-item[data-v-f808bd91]:not(:first-child) {
3998
+ .footer-container .center-container .center-container-item[data-v-4afcea78]:not(:first-child) {
3971
3999
  margin-left: 16px;
3972
4000
  }
3973
- .footer-container .right-container[data-v-f808bd91] {
4001
+ .footer-container .right-container[data-v-4afcea78] {
3974
4002
  display: flex;
3975
4003
  align-items: center;
3976
4004
  height: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndscnj/roomkit-web-vue3",
3
- "version": "25.12.24152",
3
+ "version": "25.12.24153",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -0,0 +1,122 @@
1
+ <template>
2
+ <div>
3
+ <div v-if="moreControlConfig.visible" class="more-control-container">
4
+ <icon-button
5
+ v-tap="showMore"
6
+ :is-active="sidebarName === 'more'"
7
+ :title="t('More')"
8
+ >
9
+ <IconExtension size="24" />
10
+ </icon-button>
11
+ </div>
12
+ <div v-if="showMoreContent" ref="moreContentRef" class="show-more-content">
13
+ <div class="control-compent">
14
+ <chat-control
15
+ v-if="roomStore.isSpeakAfterTakingSeatMode"
16
+ @click="handleControlClick('chatControl')"
17
+ />
18
+ <contact-control @click="handleControlClick('contactControl')" />
19
+ <invite-control
20
+ @show-overlay="handleShowOverlay"
21
+ @click="handleControlClick('inviteControl')"
22
+ />
23
+ </div>
24
+ <div v-tap="handleCancelControl" class="close">{{ t('Cancel') }}</div>
25
+ </div>
26
+ </div>
27
+ </template>
28
+ <script setup lang="ts">
29
+ import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
30
+ import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
31
+ import IconButton from '../../common/base/IconButton.vue';
32
+ import userMoreControl from './useMoreControlHooks';
33
+ import ChatControl from '../ChatControl.vue';
34
+ import InviteControl from '../InviteControl.vue';
35
+ import ContactControl from '../ContactControl.vue';
36
+ import { useRoomStore } from '../../../stores/room';
37
+ import bus from '../../../hooks/useMitt';
38
+ import vTap from '../../../directives/vTap';
39
+ import { roomService } from '../../../services';
40
+
41
+ const moreControlConfig = roomService.getComponentConfig('MoreControl');
42
+ const showMoreContent = ref(false);
43
+ const moreContentRef = ref();
44
+
45
+ const { t, sidebarName } = userMoreControl();
46
+ const roomStore = useRoomStore();
47
+ const emit = defineEmits(['show-overlay']);
48
+ function showMore() {
49
+ showMoreContent.value = true;
50
+ }
51
+
52
+ function handleCancelControl() {
53
+ showMoreContent.value = false;
54
+ }
55
+ function handleControlClick(name: string) {
56
+ bus.emit('experience-communication', name);
57
+ }
58
+
59
+ function handleShowOverlay(data: { name: string; visible: boolean }) {
60
+ showMoreContent.value = false;
61
+ emit('show-overlay', data);
62
+ }
63
+
64
+ function handleDocumentClick(event: MouseEvent) {
65
+ if (showMoreContent.value && !moreContentRef.value.contains(event.target)) {
66
+ showMoreContent.value = false;
67
+ }
68
+ }
69
+
70
+ onMounted(() => {
71
+ document?.addEventListener('click', handleDocumentClick, true);
72
+ });
73
+
74
+ onUnmounted(() => {
75
+ document?.removeEventListener('click', handleDocumentClick, true);
76
+ });
77
+ </script>
78
+ <style lang="scss" scoped>
79
+ .show-more-content {
80
+ position: absolute;
81
+ bottom: 15px;
82
+ left: 5%;
83
+ width: 90%;
84
+ height: 17vh;
85
+ padding: 10px;
86
+ border-radius: 13px;
87
+ animation-name: popup;
88
+ animation-duration: 200ms;
89
+ background-color: var(--bg-color-operate);
90
+ }
91
+
92
+ @keyframes popup {
93
+ from {
94
+ bottom: 0;
95
+ }
96
+
97
+ to {
98
+ bottom: 15px;
99
+ }
100
+ }
101
+
102
+ .control-compent {
103
+ display: flex;
104
+ }
105
+
106
+ .close {
107
+ position: relative;
108
+ top: 10%;
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ width: 100%;
113
+ padding: 10px;
114
+ font-style: normal;
115
+ font-weight: 400;
116
+ line-height: 24px;
117
+ text-align: center;
118
+ border-radius: 8px;
119
+ color: var(--text-color-primary);
120
+ background-color: var(--button-color-secondary-default);
121
+ }
122
+ </style>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <div v-if="moreControlConfig.visible" class="more-control-container">
3
+ <icon-button
4
+ :is-active="sidebarName === 'more'"
5
+ :title="t('More')"
6
+ @click-icon="toggleMoreSidebar"
7
+ >
8
+ <IconMore size="24" />
9
+ </icon-button>
10
+ </div>
11
+ </template>
12
+ <script setup lang="ts">
13
+ import { IconMore } from '@tencentcloud/uikit-base-component-vue3';
14
+ import IconButton from '../../common/base/IconButton.vue';
15
+ import userMoreControl from './useMoreControlHooks';
16
+ import { roomService } from '../../../services';
17
+
18
+ const moreControlConfig = roomService.getComponentConfig('MoreControl');
19
+ const { t, basicStore, sidebarName } = userMoreControl();
20
+
21
+ function toggleMoreSidebar() {
22
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'more') {
23
+ basicStore.setSidebarOpenStatus(false);
24
+ basicStore.setSidebarName('');
25
+ return;
26
+ }
27
+ basicStore.setSidebarOpenStatus(true);
28
+ basicStore.setSidebarName('more');
29
+ }
30
+ </script>
31
+ <style lang="scss" scoped></style>
@@ -0,0 +1,8 @@
1
+ import MoreControlH5 from './MoreControlH5.vue';
2
+ import MoreControlPc from './MoreControlPC.vue';
3
+
4
+ import { isMobile } from '../../../utils/environment';
5
+
6
+ const MoreControl = isMobile ? MoreControlH5 : MoreControlPc;
7
+
8
+ export default MoreControl;
@@ -0,0 +1,23 @@
1
+ import { computed } from 'vue';
2
+ import { useBasicStore } from '../../../stores/basic';
3
+ import { storeToRefs } from 'pinia';
4
+ import { useI18n } from '../../../locales';
5
+ import { ICON_NAME } from '../../../constants/icon';
6
+
7
+ export default function useControl() {
8
+ const { t } = useI18n();
9
+
10
+ const basicStore = useBasicStore();
11
+ const { sidebarName } = storeToRefs(basicStore);
12
+
13
+ const iconName = computed(() =>
14
+ sidebarName.value === 'more' ? ICON_NAME.MoreActive : ICON_NAME.More
15
+ );
16
+
17
+ return {
18
+ t,
19
+ basicStore,
20
+ iconName,
21
+ sidebarName,
22
+ };
23
+ }
@@ -103,7 +103,7 @@ import VirtualBackground from '../VirtualBackground.vue';
103
103
  import AIControl from '../AIControl.vue';
104
104
  import BasicBeauty from '../BasicBeauty.vue';
105
105
  import bus from '../../../hooks/useMitt';
106
- import voteControl from '../voteControl.vue';
106
+ import voteControl from '../VoteControl';
107
107
  import useRoomFooter from './useRoomFooterHooks';
108
108
  import { isElectron } from '../../../utils/environment';
109
109
  const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooter();
@@ -1,15 +0,0 @@
1
- declare function __VLS_template(): {
2
- content?(_: {}): any;
3
- };
4
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
- "on-vote": (...args: any[]) => void;
6
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
7
- "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
10
- export default _default;
11
- type __VLS_WithTemplateSlots<T, S> = T & {
12
- new (): {
13
- $slots: S;
14
- };
15
- };
@@ -1,7 +0,0 @@
1
- import _sfc_main from "./voteControl.vue2.mjs";
2
- /* empty css */
3
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-753053ea"]]);
5
- export {
6
- voteControl as default
7
- };
@@ -1,55 +0,0 @@
1
- import { defineComponent, computed, ref, createElementBlock, openBlock, createVNode, createCommentVNode, unref, withCtx, renderSlot } from "vue";
2
- import "../../services/main.mjs";
3
- import { roomService } from "../../services/roomService.mjs";
4
- import { useI18n } from "../../locales/index.mjs";
5
- import "@tencentcloud/tuiroom-engine-js";
6
- import "../../utils/environment.mjs";
7
- import "mitt";
8
- import "../../services/manager/roomActionManager.mjs";
9
- import "@tencentcloud/tui-core";
10
- import IconButton from "../common/base/IconButton.vue.mjs";
11
- import { IconAIIcon } from "@tencentcloud/uikit-base-component-vue3";
12
- const _hoisted_1 = { class: "vote-control-container" };
13
- const _hoisted_2 = {
14
- key: 0,
15
- class: "contact-container"
16
- };
17
- const _sfc_main = /* @__PURE__ */ defineComponent({
18
- __name: "voteControl",
19
- emits: ["on-vote"],
20
- setup(__props, { emit: __emit }) {
21
- const { basicStore } = roomService;
22
- const sidebarName = computed(() => basicStore.sidebarName);
23
- const { t } = useI18n();
24
- const showToolBox = ref(false);
25
- const emit = __emit;
26
- function toggleToolBox() {
27
- console.log(showToolBox.value, "0000");
28
- showToolBox.value = !showToolBox.value;
29
- emit("on-vote", {
30
- name: "onVote",
31
- visible: showToolBox.value
32
- });
33
- }
34
- return (_ctx, _cache) => {
35
- return openBlock(), createElementBlock("div", _hoisted_1, [
36
- createVNode(IconButton, {
37
- "is-active": sidebarName.value === "vote",
38
- title: unref(t)("Vote"),
39
- onClickIcon: toggleToolBox
40
- }, {
41
- default: withCtx(() => [
42
- createVNode(unref(IconAIIcon), { size: "24" })
43
- ]),
44
- _: 1
45
- }, 8, ["is-active", "title"]),
46
- showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
47
- renderSlot(_ctx.$slots, "content", {}, void 0, true)
48
- ])) : createCommentVNode("", true)
49
- ]);
50
- };
51
- }
52
- });
53
- export {
54
- _sfc_main as default
55
- };
@@ -1,15 +0,0 @@
1
- declare function __VLS_template(): {
2
- content?(_: {}): any;
3
- };
4
- declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
- "on-vote": (...args: any[]) => void;
6
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
7
- "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
10
- export default _default;
11
- type __VLS_WithTemplateSlots<T, S> = T & {
12
- new (): {
13
- $slots: S;
14
- };
15
- };
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const voteControl_vue_vue_type_script_setup_true_lang = require("./voteControl.vue2.js");
4
- ;/* empty css */
5
- const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
- const voteControl = /* @__PURE__ */ _pluginVue_exportHelper.default(voteControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-753053ea"]]);
7
- exports.default = voteControl;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const Vue = require("vue");
4
- require("../../services/main.js");
5
- const roomService = require("../../services/roomService.js");
6
- const index = require("../../locales/index.js");
7
- require("@tencentcloud/tuiroom-engine-js");
8
- require("../../utils/environment.js");
9
- require("mitt");
10
- require("../../services/manager/roomActionManager.js");
11
- require("@tencentcloud/tui-core");
12
- const IconButton = require("../common/base/IconButton.vue.js");
13
- const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
14
- const _hoisted_1 = { class: "vote-control-container" };
15
- const _hoisted_2 = {
16
- key: 0,
17
- class: "contact-container"
18
- };
19
- const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
20
- __name: "voteControl",
21
- emits: ["on-vote"],
22
- setup(__props, { emit: __emit }) {
23
- const { basicStore } = roomService.roomService;
24
- const sidebarName = Vue.computed(() => basicStore.sidebarName);
25
- const { t } = index.useI18n();
26
- const showToolBox = Vue.ref(false);
27
- const emit = __emit;
28
- function toggleToolBox() {
29
- console.log(showToolBox.value, "0000");
30
- showToolBox.value = !showToolBox.value;
31
- emit("on-vote", {
32
- name: "onVote",
33
- visible: showToolBox.value
34
- });
35
- }
36
- return (_ctx, _cache) => {
37
- return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
38
- Vue.createVNode(IconButton.default, {
39
- "is-active": sidebarName.value === "vote",
40
- title: Vue.unref(t)("Vote"),
41
- onClickIcon: toggleToolBox
42
- }, {
43
- default: Vue.withCtx(() => [
44
- Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconAIIcon), { size: "24" })
45
- ]),
46
- _: 1
47
- }, 8, ["is-active", "title"]),
48
- showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
49
- Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
50
- ])) : Vue.createCommentVNode("", true)
51
- ]);
52
- };
53
- }
54
- });
55
- exports.default = _sfc_main;