@ndscnj/roomkit-web-vue3 25.12.2419 → 25.12.2420

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.
@@ -1,8 +1,30 @@
1
- declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "show-overlay": (...args: any[]) => void;
3
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
1
+ declare const Index: ({
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
3
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
4
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "show-overlay": (...args: any[]) => void;
6
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
7
+ P: {};
8
+ B: {};
9
+ D: {};
10
+ C: {};
11
+ M: {};
12
+ Defaults: {};
13
+ }, Readonly<{}> & Readonly<{
14
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
15
+ }>, {}, {}, {}, {}, {}>;
16
+ __isFragment?: never;
17
+ __isTeleport?: never;
18
+ __isSuspense?: never;
19
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{
4
20
  "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | ({
21
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "show-overlay": (...args: any[]) => void;
23
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
24
+ $slots: {
25
+ contentH5?(_: {}): any;
26
+ };
27
+ })) | ({
6
28
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
7
29
  "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
30
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1,6 +1,15 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
1
+ declare function __VLS_template(): {
2
+ contentH5?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
5
  "show-overlay": (...args: any[]) => void;
3
6
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
7
  "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
8
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
10
  export default _default;
11
+ type __VLS_WithTemplateSlots<T, S> = T & {
12
+ new (): {
13
+ $slots: S;
14
+ };
15
+ };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./indexH5.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const indexH5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f3bbac91"]]);
4
+ const indexH5 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-90dd0d72"]]);
5
5
  export {
6
6
  indexH5 as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, withDirectives, createCommentVNode, createVNode, unref, createBlock } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, withDirectives, createCommentVNode, createVNode, unref, createBlock, withCtx, renderSlot } from "vue";
2
2
  import _sfc_main$1 from "../../../core/components/AudioSetting/index.vue.mjs";
3
3
  import VideoSetting from "../../../core/components/VideoSetting/index.vue.mjs";
4
4
  import "@tencentcloud/uikit-base-component-vue3";
@@ -56,6 +56,7 @@ import _sfc_main$2 from "../ChatControl.vue.mjs";
56
56
  import _sfc_main$3 from "../ManageStageControl.vue.mjs";
57
57
  import MemberApplyControl from "../ApplyControl/MemberApplyControl.vue.mjs";
58
58
  import MoreControl from "../MoreControl/index.mjs";
59
+ import voteControl from "../voteControl.vue.mjs";
59
60
  import AIControl from "../AIControl.vue.mjs";
60
61
  import bus from "../../../hooks/useMitt.mjs";
61
62
  import useRoomFooter from "./useRoomFooterHooks.mjs";
@@ -89,8 +90,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
90
  !unref(roomStore).isSpeakAfterTakingSeatMode ? withDirectives((openBlock(), createBlock(_sfc_main$2, { key: 2 }, null, 512)), [
90
91
  [unref(vTap), () => handleControlClick("chatControl")]
91
92
  ]) : createCommentVNode("", true),
93
+ createVNode(voteControl, {
94
+ onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("voteControl"))
95
+ }, {
96
+ contentH5: withCtx(() => [
97
+ renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
98
+ ]),
99
+ _: 3
100
+ }),
92
101
  createVNode(AIControl, {
93
- onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("AIControl"))
102
+ onClick: _cache[1] || (_cache[1] = ($event) => handleControlClick("AIControl"))
94
103
  }),
95
104
  unref(roomStore).isSpeakAfterTakingSeatMode && (unref(isMaster) || unref(isAdmin)) ? withDirectives((openBlock(), createBlock(_sfc_main$3, { key: 3 }, null, 512)), [
96
105
  [unref(vTap), () => handleControlClick("MasterApplyControl")]
@@ -0,0 +1,15 @@
1
+ declare function __VLS_template(): {
2
+ contentH5?(_: {}): 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
+ };
@@ -0,0 +1,7 @@
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-b0e5925b"]]);
5
+ export {
6
+ voteControl as default
7
+ };
@@ -0,0 +1,80 @@
1
+ import { defineComponent, computed, ref, createElementBlock, openBlock, createVNode, createCommentVNode, unref, withCtx, createElementVNode, renderSlot } from "vue";
2
+ import _imports_0 from "../../assets/imgs/vote-icon.png.mjs";
3
+ import "../../services/main.mjs";
4
+ import { roomService } from "../../services/roomService.mjs";
5
+ import { useI18n } from "../../locales/index.mjs";
6
+ import "@tencentcloud/tuiroom-engine-js";
7
+ import "../../utils/environment.mjs";
8
+ import "mitt";
9
+ import "../../services/manager/roomActionManager.mjs";
10
+ import "@tencentcloud/tui-core";
11
+ import IconButton from "../common/base/IconButton.vue.mjs";
12
+ import { IconArrowStrokeBack } from "@tencentcloud/uikit-base-component-vue3";
13
+ import { useBasicStore } from "../../stores/basic.mjs";
14
+ const _hoisted_1 = { class: "more-control-container" };
15
+ const _hoisted_2 = {
16
+ key: 0,
17
+ class: "contact-container"
18
+ };
19
+ const _hoisted_3 = { class: "container-title-box" };
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ __name: "voteControl",
22
+ emits: ["on-vote"],
23
+ setup(__props, { emit: __emit }) {
24
+ const { basicStore } = roomService;
25
+ const sidebarName = computed(() => basicStore.sidebarName);
26
+ const { t } = useI18n();
27
+ const showToolBox = ref(false);
28
+ const emit = __emit;
29
+ function toggleToolBox() {
30
+ console.log(showToolBox.value, "0000");
31
+ showToolBox.value = !showToolBox.value;
32
+ emit("on-vote", {
33
+ name: "onVote",
34
+ visible: showToolBox.value
35
+ });
36
+ }
37
+ const basicStoreNew = useBasicStore();
38
+ function handleClose() {
39
+ basicStoreNew.setSidebarOpenStatus(false);
40
+ basicStoreNew.setSidebarName("");
41
+ }
42
+ return (_ctx, _cache) => {
43
+ return openBlock(), createElementBlock("div", _hoisted_1, [
44
+ createVNode(IconButton, {
45
+ "is-active": sidebarName.value === "vote",
46
+ title: unref(t)("Vote"),
47
+ onClickIcon: toggleToolBox
48
+ }, {
49
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [
50
+ createElementVNode("img", {
51
+ class: "ndsc-img-box",
52
+ src: _imports_0,
53
+ alt: ""
54
+ }, null, -1)
55
+ ])]),
56
+ _: 1
57
+ }, 8, ["is-active", "title"]),
58
+ showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
59
+ createElementVNode("div", _hoisted_3, [
60
+ createElementVNode("span", {
61
+ onClick: handleClose,
62
+ class: "icon-container"
63
+ }, [
64
+ createVNode(unref(IconArrowStrokeBack), {
65
+ size: "10",
66
+ class: "close-icon"
67
+ })
68
+ ]),
69
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "tool-box-item" }, "表决", -1))
70
+ ]),
71
+ renderSlot(_ctx.$slots, "contentH5", {}, void 0, true),
72
+ _cache[2] || (_cache[2] = createElementVNode("div", { class: "bottom-box" }, null, -1))
73
+ ])) : createCommentVNode("", true)
74
+ ]);
75
+ };
76
+ }
77
+ });
78
+ export {
79
+ _sfc_main as default
80
+ };
@@ -16,6 +16,7 @@ declare function enterRoom(options: {
16
16
  declare function resetStore(): void;
17
17
  declare function __VLS_template(): {
18
18
  content?(_: {}): any;
19
+ contentH5?(_: {}): any;
19
20
  };
20
21
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
21
22
  displayMode: "permanent" | "wake-up";
@@ -2,7 +2,7 @@ import _sfc_main from "./conference.vue2.mjs";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import _export_sfc from "./_virtual/_plugin-vue_export-helper.mjs";
5
- const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4dd66a12"]]);
5
+ const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3323a5f0"]]);
6
6
  export {
7
7
  ConferenceMainView as default
8
8
  };
@@ -278,6 +278,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
278
278
  content: withCtx(() => [
279
279
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
280
280
  ]),
281
+ contentH5: withCtx(() => [
282
+ renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
283
+ ]),
281
284
  _: 3
282
285
  }, 512), [
283
286
  [vShow, unref(showRoomTool)]
package/es/index.mjs CHANGED
@@ -3635,6 +3635,46 @@ to {
3635
3635
  border-radius: 8px;
3636
3636
  color: var(--text-color-primary);
3637
3637
  background-color: var(--button-color-secondary-default);
3638
+ }.contact-container[data-v-b0e5925b] {
3639
+ position: fixed;
3640
+ top: 0;
3641
+ bottom: 0;
3642
+ left: 0;
3643
+ z-index: 11;
3644
+ box-sizing: border-box;
3645
+ width: 100vw;
3646
+ height: auto;
3647
+ background-color: var(--uikit-color-black-8);
3648
+ }
3649
+ .contact-container .container-title-box[data-v-b0e5925b] {
3650
+ width: 100vw;
3651
+ height: 6vh;
3652
+ background-color: var(--uikit-color-black-8);
3653
+ display: flex;
3654
+ align-items: center;
3655
+ justify-content: center;
3656
+ }
3657
+ .contact-container .container-title-box .icon-container[data-v-b0e5925b] {
3658
+ position: absolute;
3659
+ top: 0;
3660
+ left: 0;
3661
+ box-sizing: content-box;
3662
+ width: 10px;
3663
+ height: 18px;
3664
+ padding: 20px 25px;
3665
+ background-size: cover;
3666
+ }
3667
+ .contact-container .container-title-box .close-icon[data-v-b0e5925b] {
3668
+ background-size: cover;
3669
+ }
3670
+ .contact-container .bottom-box[data-v-b0e5925b] {
3671
+ width: 100vw;
3672
+ height: 7vh;
3673
+ background-color: var(--uikit-color-black-8);
3674
+ }
3675
+ .ndsc-img-box[data-v-b0e5925b] {
3676
+ width: 24px;
3677
+ height: 24px;
3638
3678
  }.tool-box[data-v-34681937] {
3639
3679
  position: absolute;
3640
3680
  bottom: 72px;
@@ -3664,7 +3704,7 @@ to {
3664
3704
  .tool-box .tool-box-item[data-v-34681937]:hover {
3665
3705
  border-radius: 8px;
3666
3706
  background-color: var(--list-color-hover);
3667
- }.footer-container[data-v-f3bbac91] {
3707
+ }.footer-container[data-v-90dd0d72] {
3668
3708
  position: absolute;
3669
3709
  bottom: 0;
3670
3710
  display: flex;
@@ -9168,7 +9208,7 @@ body, html {
9168
9208
  }
9169
9209
  .tui-room :not([class|=el]) {
9170
9210
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
9171
- }.tui-room[data-v-4dd66a12] {
9211
+ }.tui-room[data-v-3323a5f0] {
9172
9212
  position: relative;
9173
9213
  display: flex;
9174
9214
  flex-direction: column;
@@ -9180,7 +9220,7 @@ body, html {
9180
9220
  text-align: left;
9181
9221
  background-color: var(--bg-color-topbar);
9182
9222
  }
9183
- .tui-room .header[data-v-4dd66a12] {
9223
+ .tui-room .header[data-v-3323a5f0] {
9184
9224
  position: absolute;
9185
9225
  top: 0;
9186
9226
  left: 0;
@@ -9191,20 +9231,20 @@ body, html {
9191
9231
  border-bottom: 1px solid var(--stroke-color-primary);
9192
9232
  box-shadow: 0 1px 0 var(--uikit-color-black-8);
9193
9233
  }
9194
- .tui-room .content[data-v-4dd66a12] {
9234
+ .tui-room .content[data-v-3323a5f0] {
9195
9235
  position: absolute;
9196
9236
  top: 0;
9197
9237
  width: 100%;
9198
9238
  height: 100%;
9199
9239
  background-color: var(--bg-color-topbar);
9200
9240
  }
9201
- .tui-room.tui-room-h5[data-v-4dd66a12] {
9241
+ .tui-room.tui-room-h5[data-v-3323a5f0] {
9202
9242
  width: 100%;
9203
9243
  min-width: 350px;
9204
9244
  height: 100%;
9205
9245
  min-height: 525px;
9206
9246
  }
9207
- #roomContainer.chat-room[data-v-4dd66a12] {
9247
+ #roomContainer.chat-room[data-v-3323a5f0] {
9208
9248
  position: absolute;
9209
9249
  top: 0;
9210
9250
  right: 0;
@@ -9216,8 +9256,8 @@ body, html {
9216
9256
  margin: auto;
9217
9257
  border-radius: 10px;
9218
9258
  }
9219
- #roomContainer.tui-room-h5[data-v-4dd66a12],
9220
- #roomContainer .chat-room[data-v-4dd66a12] {
9259
+ #roomContainer.tui-room-h5[data-v-3323a5f0],
9260
+ #roomContainer .chat-room[data-v-3323a5f0] {
9221
9261
  width: 100%;
9222
9262
  height: 100%;
9223
9263
  }.user-info-container[data-v-9e9aff53] {
@@ -1,8 +1,30 @@
1
- declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "show-overlay": (...args: any[]) => void;
3
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
1
+ declare const Index: ({
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
3
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
4
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ "show-overlay": (...args: any[]) => void;
6
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
7
+ P: {};
8
+ B: {};
9
+ D: {};
10
+ C: {};
11
+ M: {};
12
+ Defaults: {};
13
+ }, Readonly<{}> & Readonly<{
14
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
15
+ }>, {}, {}, {}, {}, {}>;
16
+ __isFragment?: never;
17
+ __isTeleport?: never;
18
+ __isSuspense?: never;
19
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{
4
20
  "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | ({
21
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "show-overlay": (...args: any[]) => void;
23
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
24
+ $slots: {
25
+ contentH5?(_: {}): any;
26
+ };
27
+ })) | ({
6
28
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
7
29
  "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
30
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1,6 +1,15 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
1
+ declare function __VLS_template(): {
2
+ contentH5?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
5
  "show-overlay": (...args: any[]) => void;
3
6
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
7
  "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
8
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
10
  export default _default;
11
+ type __VLS_WithTemplateSlots<T, S> = T & {
12
+ new (): {
13
+ $slots: S;
14
+ };
15
+ };
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const indexH5_vue_vue_type_script_setup_true_lang = require("./indexH5.vue2.js");
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-f3bbac91"]]);
6
+ const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-90dd0d72"]]);
7
7
  exports.default = indexH5;
@@ -58,6 +58,7 @@ const ChatControl_vue_vue_type_script_setup_true_lang = require("../ChatControl.
58
58
  const ManageStageControl_vue_vue_type_script_setup_true_lang = require("../ManageStageControl.vue.js");
59
59
  const MemberApplyControl = require("../ApplyControl/MemberApplyControl.vue.js");
60
60
  const index$1 = require("../MoreControl/index.js");
61
+ const voteControl = require("../voteControl.vue.js");
61
62
  const AIControl = require("../AIControl.vue.js");
62
63
  const useMitt = require("../../../hooks/useMitt.js");
63
64
  const useRoomFooterHooks = require("./useRoomFooterHooks.js");
@@ -91,8 +92,16 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
91
92
  !Vue.unref(roomStore).isSpeakAfterTakingSeatMode ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(ChatControl_vue_vue_type_script_setup_true_lang.default, { key: 2 }, null, 512)), [
92
93
  [Vue.unref(vTap.default), () => handleControlClick("chatControl")]
93
94
  ]) : Vue.createCommentVNode("", true),
95
+ Vue.createVNode(voteControl.default, {
96
+ onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("voteControl"))
97
+ }, {
98
+ contentH5: Vue.withCtx(() => [
99
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
100
+ ]),
101
+ _: 3
102
+ }),
94
103
  Vue.createVNode(AIControl.default, {
95
- onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("AIControl"))
104
+ onClick: _cache[1] || (_cache[1] = ($event) => handleControlClick("AIControl"))
96
105
  }),
97
106
  Vue.unref(roomStore).isSpeakAfterTakingSeatMode && (Vue.unref(isMaster) || Vue.unref(isAdmin)) ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(ManageStageControl_vue_vue_type_script_setup_true_lang.default, { key: 3 }, null, 512)), [
98
107
  [Vue.unref(vTap.default), () => handleControlClick("MasterApplyControl")]
@@ -0,0 +1,15 @@
1
+ declare function __VLS_template(): {
2
+ contentH5?(_: {}): 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
+ };
@@ -0,0 +1,7 @@
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-b0e5925b"]]);
7
+ exports.default = voteControl;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Vue = require("vue");
4
+ const voteIcon = require("../../assets/imgs/vote-icon.png.js");
5
+ require("../../services/main.js");
6
+ const roomService = require("../../services/roomService.js");
7
+ const index = require("../../locales/index.js");
8
+ require("@tencentcloud/tuiroom-engine-js");
9
+ require("../../utils/environment.js");
10
+ require("mitt");
11
+ require("../../services/manager/roomActionManager.js");
12
+ require("@tencentcloud/tui-core");
13
+ const IconButton = require("../common/base/IconButton.vue.js");
14
+ const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
15
+ const basic = require("../../stores/basic.js");
16
+ const _hoisted_1 = { class: "more-control-container" };
17
+ const _hoisted_2 = {
18
+ key: 0,
19
+ class: "contact-container"
20
+ };
21
+ const _hoisted_3 = { class: "container-title-box" };
22
+ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
23
+ __name: "voteControl",
24
+ emits: ["on-vote"],
25
+ setup(__props, { emit: __emit }) {
26
+ const { basicStore } = roomService.roomService;
27
+ const sidebarName = Vue.computed(() => basicStore.sidebarName);
28
+ const { t } = index.useI18n();
29
+ const showToolBox = Vue.ref(false);
30
+ const emit = __emit;
31
+ function toggleToolBox() {
32
+ console.log(showToolBox.value, "0000");
33
+ showToolBox.value = !showToolBox.value;
34
+ emit("on-vote", {
35
+ name: "onVote",
36
+ visible: showToolBox.value
37
+ });
38
+ }
39
+ const basicStoreNew = basic.useBasicStore();
40
+ function handleClose() {
41
+ basicStoreNew.setSidebarOpenStatus(false);
42
+ basicStoreNew.setSidebarName("");
43
+ }
44
+ return (_ctx, _cache) => {
45
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
46
+ Vue.createVNode(IconButton.default, {
47
+ "is-active": sidebarName.value === "vote",
48
+ title: Vue.unref(t)("Vote"),
49
+ onClickIcon: toggleToolBox
50
+ }, {
51
+ default: Vue.withCtx(() => [..._cache[0] || (_cache[0] = [
52
+ Vue.createElementVNode("img", {
53
+ class: "ndsc-img-box",
54
+ src: voteIcon.default,
55
+ alt: ""
56
+ }, null, -1)
57
+ ])]),
58
+ _: 1
59
+ }, 8, ["is-active", "title"]),
60
+ showToolBox.value ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_2, [
61
+ Vue.createElementVNode("div", _hoisted_3, [
62
+ Vue.createElementVNode("span", {
63
+ onClick: handleClose,
64
+ class: "icon-container"
65
+ }, [
66
+ Vue.createVNode(Vue.unref(uikitBaseComponentVue3.IconArrowStrokeBack), {
67
+ size: "10",
68
+ class: "close-icon"
69
+ })
70
+ ]),
71
+ _cache[1] || (_cache[1] = Vue.createElementVNode("div", { class: "tool-box-item" }, "表决", -1))
72
+ ]),
73
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true),
74
+ _cache[2] || (_cache[2] = Vue.createElementVNode("div", { class: "bottom-box" }, null, -1))
75
+ ])) : Vue.createCommentVNode("", true)
76
+ ]);
77
+ };
78
+ }
79
+ });
80
+ exports.default = _sfc_main;
@@ -16,6 +16,7 @@ declare function enterRoom(options: {
16
16
  declare function resetStore(): void;
17
17
  declare function __VLS_template(): {
18
18
  content?(_: {}): any;
19
+ contentH5?(_: {}): any;
19
20
  };
20
21
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
21
22
  displayMode: "permanent" | "wake-up";
@@ -4,5 +4,5 @@ const conference_vue_vue_type_script_setup_true_lang = require("./conference.vue
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
6
  const _pluginVue_exportHelper = require("./_virtual/_plugin-vue_export-helper.js");
7
- const ConferenceMainView = /* @__PURE__ */ _pluginVue_exportHelper.default(conference_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4dd66a12"]]);
7
+ const ConferenceMainView = /* @__PURE__ */ _pluginVue_exportHelper.default(conference_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-3323a5f0"]]);
8
8
  exports.default = ConferenceMainView;
@@ -280,6 +280,9 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
280
280
  content: Vue.withCtx(() => [
281
281
  Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
282
282
  ]),
283
+ contentH5: Vue.withCtx(() => [
284
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
285
+ ]),
283
286
  _: 3
284
287
  }, 512), [
285
288
  [Vue.vShow, Vue.unref(showRoomTool)]
package/lib/index.js CHANGED
@@ -3635,6 +3635,46 @@ to {
3635
3635
  border-radius: 8px;
3636
3636
  color: var(--text-color-primary);
3637
3637
  background-color: var(--button-color-secondary-default);
3638
+ }.contact-container[data-v-b0e5925b] {
3639
+ position: fixed;
3640
+ top: 0;
3641
+ bottom: 0;
3642
+ left: 0;
3643
+ z-index: 11;
3644
+ box-sizing: border-box;
3645
+ width: 100vw;
3646
+ height: auto;
3647
+ background-color: var(--uikit-color-black-8);
3648
+ }
3649
+ .contact-container .container-title-box[data-v-b0e5925b] {
3650
+ width: 100vw;
3651
+ height: 6vh;
3652
+ background-color: var(--uikit-color-black-8);
3653
+ display: flex;
3654
+ align-items: center;
3655
+ justify-content: center;
3656
+ }
3657
+ .contact-container .container-title-box .icon-container[data-v-b0e5925b] {
3658
+ position: absolute;
3659
+ top: 0;
3660
+ left: 0;
3661
+ box-sizing: content-box;
3662
+ width: 10px;
3663
+ height: 18px;
3664
+ padding: 20px 25px;
3665
+ background-size: cover;
3666
+ }
3667
+ .contact-container .container-title-box .close-icon[data-v-b0e5925b] {
3668
+ background-size: cover;
3669
+ }
3670
+ .contact-container .bottom-box[data-v-b0e5925b] {
3671
+ width: 100vw;
3672
+ height: 7vh;
3673
+ background-color: var(--uikit-color-black-8);
3674
+ }
3675
+ .ndsc-img-box[data-v-b0e5925b] {
3676
+ width: 24px;
3677
+ height: 24px;
3638
3678
  }.tool-box[data-v-34681937] {
3639
3679
  position: absolute;
3640
3680
  bottom: 72px;
@@ -3664,7 +3704,7 @@ to {
3664
3704
  .tool-box .tool-box-item[data-v-34681937]:hover {
3665
3705
  border-radius: 8px;
3666
3706
  background-color: var(--list-color-hover);
3667
- }.footer-container[data-v-f3bbac91] {
3707
+ }.footer-container[data-v-90dd0d72] {
3668
3708
  position: absolute;
3669
3709
  bottom: 0;
3670
3710
  display: flex;
@@ -9168,7 +9208,7 @@ body, html {
9168
9208
  }
9169
9209
  .tui-room :not([class|=el]) {
9170
9210
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
9171
- }.tui-room[data-v-4dd66a12] {
9211
+ }.tui-room[data-v-3323a5f0] {
9172
9212
  position: relative;
9173
9213
  display: flex;
9174
9214
  flex-direction: column;
@@ -9180,7 +9220,7 @@ body, html {
9180
9220
  text-align: left;
9181
9221
  background-color: var(--bg-color-topbar);
9182
9222
  }
9183
- .tui-room .header[data-v-4dd66a12] {
9223
+ .tui-room .header[data-v-3323a5f0] {
9184
9224
  position: absolute;
9185
9225
  top: 0;
9186
9226
  left: 0;
@@ -9191,20 +9231,20 @@ body, html {
9191
9231
  border-bottom: 1px solid var(--stroke-color-primary);
9192
9232
  box-shadow: 0 1px 0 var(--uikit-color-black-8);
9193
9233
  }
9194
- .tui-room .content[data-v-4dd66a12] {
9234
+ .tui-room .content[data-v-3323a5f0] {
9195
9235
  position: absolute;
9196
9236
  top: 0;
9197
9237
  width: 100%;
9198
9238
  height: 100%;
9199
9239
  background-color: var(--bg-color-topbar);
9200
9240
  }
9201
- .tui-room.tui-room-h5[data-v-4dd66a12] {
9241
+ .tui-room.tui-room-h5[data-v-3323a5f0] {
9202
9242
  width: 100%;
9203
9243
  min-width: 350px;
9204
9244
  height: 100%;
9205
9245
  min-height: 525px;
9206
9246
  }
9207
- #roomContainer.chat-room[data-v-4dd66a12] {
9247
+ #roomContainer.chat-room[data-v-3323a5f0] {
9208
9248
  position: absolute;
9209
9249
  top: 0;
9210
9250
  right: 0;
@@ -9216,8 +9256,8 @@ body, html {
9216
9256
  margin: auto;
9217
9257
  border-radius: 10px;
9218
9258
  }
9219
- #roomContainer.tui-room-h5[data-v-4dd66a12],
9220
- #roomContainer .chat-room[data-v-4dd66a12] {
9259
+ #roomContainer.tui-room-h5[data-v-3323a5f0],
9260
+ #roomContainer .chat-room[data-v-3323a5f0] {
9221
9261
  width: 100%;
9222
9262
  height: 100%;
9223
9263
  }.user-info-container[data-v-9e9aff53] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndscnj/roomkit-web-vue3",
3
- "version": "25.12.2419",
3
+ "version": "25.12.2420",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -14,6 +14,13 @@
14
14
  v-if="!roomStore.isSpeakAfterTakingSeatMode"
15
15
  v-tap="() => handleControlClick('chatControl')"
16
16
  />
17
+ <voteControl
18
+ @click="handleControlClick('voteControl')"
19
+ >
20
+ <template #contentH5>
21
+ <slot name="contentH5"></slot>
22
+ </template>
23
+ </voteControl>
17
24
  <AIControl
18
25
  @click="handleControlClick('AIControl')"
19
26
  />
@@ -46,6 +53,7 @@ import ChatControl from '../ChatControl.vue';
46
53
  import MasterApplyControl from '../ManageStageControl.vue';
47
54
  import MemberApplyControl from '../ApplyControl/MemberApplyControl.vue';
48
55
  import MoreControl from '../MoreControl/index';
56
+ import voteControl from '../voteControl.vue';
49
57
  import AIControl from '../AIControl.vue';
50
58
  import bus from '../../../hooks/useMitt';
51
59
  import vTap from '../../../directives/vTap';
@@ -1,14 +1,21 @@
1
1
  <template>
2
- <div class="vote-control-container">
2
+ <div class="more-control-container">
3
3
  <icon-button
4
4
  :is-active="sidebarName === 'vote'"
5
5
  :title="t('Vote')"
6
6
  @click-icon="toggleToolBox"
7
7
  >
8
- <IconAIIcon size="24" />
8
+ <img class="ndsc-img-box" src="../../assets/imgs/vote-icon.png" alt=""/>
9
9
  </icon-button>
10
10
  <div class="contact-container" v-if="showToolBox">
11
- <slot name="content"></slot>
11
+ <div class="container-title-box">
12
+ <span @click="handleClose" class="icon-container">
13
+ <IconArrowStrokeBack size="10" class="close-icon" />
14
+ </span>
15
+ <div class="tool-box-item">表决</div>
16
+ </div>
17
+ <slot name="contentH5"></slot>
18
+ <div class="bottom-box"></div>
12
19
  </div>
13
20
  </div>
14
21
  </template>
@@ -18,10 +25,8 @@ import { roomService } from '../../services';
18
25
  import { defineEmits, ref,computed,watch } from 'vue';
19
26
  import { useI18n } from '../../locales';
20
27
  import IconButton from '../common/base/IconButton.vue';
21
- import {
22
- IconAIIcon,
23
- } from '@tencentcloud/uikit-base-component-vue3';
24
- import roomVote from '../RoomVote';
28
+ import { IconArrowStrokeBack } from '@tencentcloud/uikit-base-component-vue3';
29
+ import { useBasicStore } from '../../stores/basic';
25
30
  const { basicStore } = roomService;
26
31
  const sidebarName = computed(() => basicStore.sidebarName);
27
32
  const { t } = useI18n();
@@ -35,8 +40,10 @@ function toggleToolBox() {
35
40
  visible: showToolBox.value,
36
41
  });
37
42
  }
38
- function handleOnCloseContact() {
39
- showToolBox.value = false;
43
+ const basicStoreNew = useBasicStore();
44
+ function handleClose() {
45
+ basicStoreNew.setSidebarOpenStatus(false);
46
+ basicStoreNew.setSidebarName('');
40
47
  }
41
48
  </script>
42
49
 
@@ -51,5 +58,35 @@ function handleOnCloseContact() {
51
58
  width: 100vw;
52
59
  height: auto;
53
60
  background-color: var(--uikit-color-black-8);
61
+ .container-title-box{
62
+ width: 100vw;
63
+ height: 6vh;
64
+ background-color: var(--uikit-color-black-8);
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ .icon-container {
69
+ position: absolute;
70
+ top: 0;
71
+ left: 0;
72
+ box-sizing: content-box;
73
+ width: 10px;
74
+ height: 18px;
75
+ padding: 20px 25px;
76
+ background-size: cover;
77
+ }
78
+ .close-icon {
79
+ background-size: cover;
80
+ }
81
+ }
82
+ .bottom-box{
83
+ width: 100vw;
84
+ height: 7vh;
85
+ background-color: var(--uikit-color-black-8);
86
+ }
87
+ }
88
+ .ndsc-img-box{
89
+ width:24px;
90
+ height: 24px
54
91
  }
55
92
  </style>
@@ -21,6 +21,9 @@
21
21
  <template #content>
22
22
  <slot name="content"></slot>
23
23
  </template>
24
+ <template #contentH5>
25
+ <slot name="contentH5"></slot>
26
+ </template>
24
27
  </room-footer>
25
28
  <room-sidebar @on-vote="onVote">
26
29
  <template #content>