@ndscnj/roomkit-web-vue3 25.12.24165 → 25.12.24167

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 (59) hide show
  1. package/es/assets/imgs/vote-icon.png.mjs +4 -0
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +1 -1
  4. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +31 -77
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +5 -53
  6. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +56 -1
  7. package/es/components/RoomFooter/VoteControl/index.d.ts +0 -4
  8. package/es/components/RoomFooter/VoteControl/index.mjs +2 -2
  9. package/es/components/RoomFooter/index/index.d.ts +31 -4
  10. package/es/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  11. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  12. package/es/components/RoomFooter/index/indexH5.vue2.mjs +20 -5
  13. package/es/components/RoomSidebar/indexPC.vue.d.ts +1 -0
  14. package/es/components/RoomSidebar/indexPC.vue.mjs +3 -0
  15. package/es/components/RoomVote/index.d.ts +17 -5
  16. package/es/components/RoomVote/indexH5.vue.d.ts +10 -5
  17. package/es/components/RoomVote/indexH5.vue.mjs +9 -2
  18. package/es/conference.vue.d.ts +1 -0
  19. package/es/conference.vue.mjs +1 -1
  20. package/es/conference.vue2.mjs +4 -6
  21. package/es/index.mjs +60 -117
  22. package/lib/assets/imgs/vote-icon.png.js +4 -0
  23. package/lib/components/Chat/index/indexH5.vue.js +1 -1
  24. package/lib/components/ManageMember/MemberItem/indexH5.vue.js +1 -1
  25. package/lib/components/ManageMember/indexH5.vue.js +1 -1
  26. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
  27. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
  28. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +30 -76
  29. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +5 -53
  30. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +57 -2
  31. package/lib/components/RoomFooter/VoteControl/index.d.ts +0 -4
  32. package/lib/components/RoomFooter/VoteControl/index.js +2 -2
  33. package/lib/components/RoomFooter/index/index.d.ts +31 -4
  34. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +12 -1
  35. package/lib/components/RoomFooter/index/indexH5.vue.js +2 -2
  36. package/lib/components/RoomFooter/index/indexH5.vue2.js +19 -4
  37. package/lib/components/RoomInvite/indexH5.vue.js +1 -1
  38. package/lib/components/RoomMore/indexH5.vue.js +1 -1
  39. package/lib/components/RoomSidebar/indexH5.vue.js +1 -1
  40. package/lib/components/RoomSidebar/indexPC.vue.d.ts +1 -0
  41. package/lib/components/RoomSidebar/indexPC.vue.js +3 -0
  42. package/lib/components/RoomVote/index.d.ts +17 -5
  43. package/lib/components/RoomVote/indexH5.vue.d.ts +10 -5
  44. package/lib/components/RoomVote/indexH5.vue.js +9 -2
  45. package/lib/conference.vue.d.ts +1 -0
  46. package/lib/conference.vue.js +1 -1
  47. package/lib/conference.vue2.js +4 -6
  48. package/lib/index.js +60 -117
  49. package/package.json +1 -1
  50. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +26 -108
  51. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +7 -2
  52. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +15 -2
  53. package/src/TUIRoom/components/RoomSidebar/indexPC.vue +3 -0
  54. package/src/TUIRoom/components/RoomVote/indexH5.vue +61 -118
  55. package/src/TUIRoom/conference.vue +3 -3
  56. package/es/components/RoomVote/indexH5.vue2.mjs +0 -51
  57. package/es/components/RoomVote/useRoomMoreHooks.mjs +0 -43
  58. package/lib/components/RoomVote/indexH5.vue2.js +0 -51
  59. package/lib/components/RoomVote/useRoomMoreHooks.js +0 -43
@@ -57,17 +57,22 @@ const ManageMemberControl_vue_vue_type_script_setup_true_lang = require("../Mana
57
57
  const ChatControl_vue_vue_type_script_setup_true_lang = require("../ChatControl.vue.js");
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
- const index$1 = require("../MoreControl/index.js");
60
+ const index$2 = require("../MoreControl/index.js");
61
61
  const AIControl = require("../AIControl.vue.js");
62
+ const index$1 = require("../VoteControl/index.js");
62
63
  const useMitt = require("../../../hooks/useMitt.js");
63
64
  const useRoomFooterHooks = require("./useRoomFooterHooks.js");
64
65
  const _hoisted_1 = { class: "footer-container" };
65
66
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
66
67
  __name: "indexH5",
67
- emits: ["show-overlay"],
68
+ emits: ["show-overlay", "on-vote"],
68
69
  setup(__props, { emit: __emit }) {
69
70
  const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooterHooks.default();
70
71
  const emit = __emit;
72
+ const onVote = (data) => {
73
+ console.log(data, "data111");
74
+ emit("on-vote", { code: data.visible, message: "vote" });
75
+ };
71
76
  function handleControlClick(name) {
72
77
  useMitt.default.emit("experience-communication", name);
73
78
  }
@@ -88,11 +93,21 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
88
93
  }, null, 8, ["display-mode"])), [
89
94
  [Vue.unref(vTap.default), () => handleControlClick("videoControl")]
90
95
  ]) : Vue.createCommentVNode("", true),
96
+ Vue.createVNode(Vue.unref(index$1.default), {
97
+ class: "center-container-item",
98
+ onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("voteControl")),
99
+ onOnVote: onVote
100
+ }, {
101
+ contentH5: Vue.withCtx(() => [
102
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
103
+ ]),
104
+ _: 3
105
+ }),
91
106
  !Vue.unref(roomStore).isSpeakAfterTakingSeatMode ? Vue.withDirectives((Vue.openBlock(), Vue.createBlock(ChatControl_vue_vue_type_script_setup_true_lang.default, { key: 2 }, null, 512)), [
92
107
  [Vue.unref(vTap.default), () => handleControlClick("chatControl")]
93
108
  ]) : Vue.createCommentVNode("", true),
94
109
  Vue.createVNode(AIControl.default, {
95
- onClick: _cache[0] || (_cache[0] = ($event) => handleControlClick("AIControl"))
110
+ onClick: _cache[1] || (_cache[1] = ($event) => handleControlClick("AIControl"))
96
111
  }),
97
112
  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
113
  [Vue.unref(vTap.default), () => handleControlClick("MasterApplyControl")]
@@ -103,7 +118,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
103
118
  Vue.withDirectives(Vue.createVNode(ManageMemberControl_vue_vue_type_script_setup_true_lang.default, null, null, 512), [
104
119
  [Vue.unref(vTap.default), () => handleControlClick("manageMemberControl")]
105
120
  ]),
106
- Vue.withDirectives(Vue.createVNode(Vue.unref(index$1.default), { onShowOverlay: handleShowOverlay }, null, 512), [
121
+ Vue.withDirectives(Vue.createVNode(Vue.unref(index$2.default), { onShowOverlay: handleShowOverlay }, null, 512), [
107
122
  [Vue.unref(vTap.default), () => handleControlClick("moreControl")]
108
123
  ])
109
124
  ]);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const indexH5_vue_vue_type_script_setup_true_lang = require("./indexH5.vue2.js");
3
+ const indexH5_vue_vue_type_script_setup_true_lang = ;/* empty css */
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4450d628"]]);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const indexH5_vue_vue_type_script_setup_true_lang = require("./indexH5.vue2.js");
3
+ const indexH5_vue_vue_type_script_setup_true_lang = ;/* empty css */
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-bae34b36"]]);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const indexH5_vue_vue_type_script_setup_true_lang = require("./indexH5.vue2.js");
3
+ const indexH5_vue_vue_type_script_setup_true_lang = ;/* empty css */
4
4
  ;/* empty css */
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-e545b2de"]]);
@@ -1,5 +1,6 @@
1
1
  declare function __VLS_template(): {
2
2
  content?(_: {}): any;
3
+ contentH5?(_: {}): any;
3
4
  };
4
5
  declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
5
6
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
@@ -29,6 +29,9 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
29
29
  content: Vue.withCtx(() => [
30
30
  Vue.renderSlot(_ctx.$slots, "content")
31
31
  ]),
32
+ contentH5: Vue.withCtx(() => [
33
+ Vue.renderSlot(_ctx.$slots, "contentH5")
34
+ ]),
32
35
  _: 3
33
36
  })) : Vue.createCommentVNode("", true),
34
37
  Vue.unref(sidebarName) == "more" ? (Vue.openBlock(), Vue.createBlock(Vue.unref(index$2.default), { key: 2 })) : Vue.createCommentVNode("", true),
@@ -1,8 +1,20 @@
1
- declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "on-close-contact": (...args: any[]) => void;
3
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
- "onOn-close-contact"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | ({
1
+ declare const Index: ({
2
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
3
+ P: {};
4
+ B: {};
5
+ D: {};
6
+ C: {};
7
+ M: {};
8
+ Defaults: {};
9
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
10
+ __isFragment?: never;
11
+ __isTeleport?: never;
12
+ __isSuspense?: never;
13
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
14
+ $slots: {
15
+ contentH5?(_: {}): any;
16
+ };
17
+ })) | ({
6
18
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
7
19
  P: {};
8
20
  B: {};
@@ -1,6 +1,11 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "on-close-contact": (...args: any[]) => void;
3
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
- "onOn-close-contact"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1
+ declare function __VLS_template(): {
2
+ contentH5?(_: {}): any;
3
+ };
4
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
5
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
6
  export default _default;
7
+ type __VLS_WithTemplateSlots<T, S> = T & {
8
+ new (): {
9
+ $slots: S;
10
+ };
11
+ };
@@ -1,7 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const indexH5_vue_vue_type_script_setup_true_lang = require("./indexH5.vue2.js");
3
+ const Vue = require("vue");
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-939000cb"]]);
6
+ const _sfc_main = {};
7
+ const _hoisted_1 = { class: "more-container" };
8
+ function _sfc_render(_ctx, _cache) {
9
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
10
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
11
+ ]);
12
+ }
13
+ const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6c9f3c67"]]);
7
14
  exports.default = indexH5;
@@ -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-5135c8c9"]]);
8
8
  exports.default = ConferenceMainView;
@@ -276,18 +276,16 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
276
276
  class: "footer",
277
277
  onShowOverlay: handleShowOverlay,
278
278
  onOnVote: onVote
279
- }, {
280
- content: Vue.withCtx(() => [
281
- Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
282
- ]),
283
- _: 3
284
- }, 512), [
279
+ }, null, 512), [
285
280
  [Vue.vShow, Vue.unref(showRoomTool)]
286
281
  ]),
287
282
  Vue.createVNode(Vue.unref(index$3.default), { onOnVote: onVote }, {
288
283
  content: Vue.withCtx(() => [
289
284
  Vue.renderSlot(_ctx.$slots, "content", {}, void 0, true)
290
285
  ]),
286
+ contentH5: Vue.withCtx(() => [
287
+ Vue.renderSlot(_ctx.$slots, "contentH5", {}, void 0, true)
288
+ ]),
291
289
  _: 3
292
290
  }),
293
291
  Vue.createVNode(index$4.default),
package/lib/index.js CHANGED
@@ -3664,7 +3664,13 @@ to {
3664
3664
  .tool-box .tool-box-item[data-v-34681937]:hover {
3665
3665
  border-radius: 8px;
3666
3666
  background-color: var(--list-color-hover);
3667
- }.footer-container[data-v-f3bbac91] {
3667
+ }.ndsc-img-box[data-v-2a47be79] {
3668
+ width: 24px;
3669
+ height: 24px;
3670
+ }.ndsc-img-box[data-v-997feff9] {
3671
+ width: 24px;
3672
+ height: 24px;
3673
+ }.footer-container[data-v-92597491] {
3668
3674
  position: absolute;
3669
3675
  bottom: 0;
3670
3676
  display: flex;
@@ -3928,44 +3934,6 @@ to {
3928
3934
  }
3929
3935
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3936
  margin-left: 4px;
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
3937
  }.footer-container[data-v-4afcea78] {
3970
3938
  position: absolute;
3971
3939
  bottom: 0;
@@ -4986,95 +4954,70 @@ to {
4986
4954
  right: 0;
4987
4955
  z-index: 101;
4988
4956
  height: 100%;
4989
- }span[data-v-939000cb] {
4990
- padding-right: 5px;
4991
- font-size: 12px;
4992
- font-weight: 500;
4993
- line-height: 17px;
4957
+ }.more-container[data-v-6c9f3c67] {
4958
+ padding: 20px;
4994
4959
  }
4995
- .contact-container-main[data-v-939000cb] {
4996
- position: fixed;
4997
- bottom: 0;
4960
+ .more-container .more-title[data-v-6c9f3c67] {
4998
4961
  display: flex;
4999
- flex-direction: column;
5000
- width: 100%;
5001
- padding-bottom: 4vh;
5002
- border-radius: 15px 15px 0 0;
5003
- animation-name: popup-939000cb;
5004
- animation-duration: 200ms;
5005
- background-color: var(--bg-color-operate);
5006
- }
5007
- @keyframes popup-939000cb {
5008
- from {
5009
- transform: scaleY(0);
5010
- transform-origin: bottom;
5011
- }
5012
- to {
5013
- transform: scaleY(1);
5014
- transform-origin: bottom;
4962
+ align-items: center;
5015
4963
  }
4964
+ .more-container .more-title .email-icon[data-v-6c9f3c67] {
4965
+ color: var(--uikit-color-gray-7);
5016
4966
  }
5017
- .contact-container-main .contact-title-main[data-v-939000cb] {
5018
- display: flex;
5019
- flex-direction: row;
5020
- align-items: center;
5021
- padding: 30px 0 20px 25px;
5022
- font-family: "PingFang SC";
5023
- font-size: 20px;
5024
- font-style: normal;
5025
- font-weight: 500;
5026
- line-height: 24px;
4967
+ .more-container .more-title .more-notice[data-v-6c9f3c67] {
4968
+ width: 100%;
4969
+ height: 22px;
4970
+ padding-left: 8px;
4971
+ font-size: 14px;
4972
+ font-weight: 400;
4973
+ line-height: 22px;
5027
4974
  color: var(--text-color-primary);
5028
4975
  }
5029
- .contact-container-main .contact-content-main[data-v-939000cb] {
4976
+ .more-container .more-item[data-v-6c9f3c67] {
4977
+ position: relative;
5030
4978
  display: flex;
5031
- flex-direction: row;
5032
- align-items: center;
5033
- width: 90%;
5034
- height: 15%;
5035
- padding: 0 0 0 25px;
5036
- margin-bottom: 10px;
4979
+ flex-direction: column;
5037
4980
  }
5038
- .contact-container-main .contact-title[data-v-939000cb],
5039
- .contact-container-main .contact-content[data-v-939000cb] {
5040
- width: 28%;
5041
- font-family: "PingFang SC";
4981
+ .more-container .more-item[data-v-6c9f3c67]:not(:first-child) {
4982
+ margin-top: 20px;
4983
+ }
4984
+ .more-container .more-item:not(:first-child) .item-title[data-v-6c9f3c67] {
4985
+ width: 100%;
4986
+ padding-bottom: 8px;
5042
4987
  font-size: 14px;
5043
- font-style: normal;
5044
4988
  font-weight: 400;
5045
- line-height: 20px;
5046
- white-space: nowrap;
4989
+ line-height: 22px;
5047
4990
  color: var(--text-color-primary);
5048
4991
  }
5049
- .contact-container-main .contact-content[data-v-939000cb] {
5050
- width: 62%;
4992
+ .more-container .more-item:not(:first-child) .more-content[data-v-6c9f3c67] {
4993
+ position: relative;
4994
+ box-sizing: border-box;
4995
+ display: inline-block;
4996
+ flex: 1;
4997
+ height: 42px;
4998
+ padding: 10px 30px 10px 16px;
5051
4999
  overflow: hidden;
5052
5000
  font-size: 14px;
5001
+ font-weight: 500;
5002
+ line-height: 22px;
5053
5003
  text-overflow: ellipsis;
5054
5004
  white-space: nowrap;
5055
- color: var(--text-color-secondary);
5056
- }
5057
- .contact-container-main .contact-bottom[data-v-939000cb] {
5058
- width: 90%;
5059
- padding-left: 40px;
5060
- font-family: "PingFang SC";
5061
- font-size: 12px;
5062
- font-style: normal;
5063
- font-weight: 400;
5064
- line-height: 17px;
5065
- text-align: center;
5066
- color: var(--text-color-secondary);
5005
+ border-radius: 8px;
5006
+ outline: none;
5007
+ transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
5008
+ color: var(--text-color-primary);
5009
+ background-color: var(--bg-color-input);
5010
+ border: 1px solid var(--stroke-color-module);
5067
5011
  }
5068
- .contact-container-main .copy[data-v-939000cb] {
5069
- margin-left: 30px;
5012
+ .more-container .more-item:not(:first-child) .copy-icon[data-v-6c9f3c67] {
5013
+ position: absolute;
5014
+ top: 45px;
5015
+ right: 10px;
5016
+ display: flex;
5017
+ align-items: center;
5018
+ justify-content: center;
5019
+ cursor: pointer;
5070
5020
  color: var(--text-color-link);
5071
- }
5072
- .cancel[data-v-939000cb] {
5073
- flex: 1;
5074
- padding-right: 30px;
5075
- font-size: 16px;
5076
- font-weight: 400;
5077
- text-align: end;
5078
5021
  }.more-container[data-v-41107c5f] {
5079
5022
  padding: 20px;
5080
5023
  }
@@ -9168,7 +9111,7 @@ body, html {
9168
9111
  }
9169
9112
  .tui-room :not([class|=el]) {
9170
9113
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
9171
- }.tui-room[data-v-4dd66a12] {
9114
+ }.tui-room[data-v-5135c8c9] {
9172
9115
  position: relative;
9173
9116
  display: flex;
9174
9117
  flex-direction: column;
@@ -9180,7 +9123,7 @@ body, html {
9180
9123
  text-align: left;
9181
9124
  background-color: var(--bg-color-topbar);
9182
9125
  }
9183
- .tui-room .header[data-v-4dd66a12] {
9126
+ .tui-room .header[data-v-5135c8c9] {
9184
9127
  position: absolute;
9185
9128
  top: 0;
9186
9129
  left: 0;
@@ -9191,20 +9134,20 @@ body, html {
9191
9134
  border-bottom: 1px solid var(--stroke-color-primary);
9192
9135
  box-shadow: 0 1px 0 var(--uikit-color-black-8);
9193
9136
  }
9194
- .tui-room .content[data-v-4dd66a12] {
9137
+ .tui-room .content[data-v-5135c8c9] {
9195
9138
  position: absolute;
9196
9139
  top: 0;
9197
9140
  width: 100%;
9198
9141
  height: 100%;
9199
9142
  background-color: var(--bg-color-topbar);
9200
9143
  }
9201
- .tui-room.tui-room-h5[data-v-4dd66a12] {
9144
+ .tui-room.tui-room-h5[data-v-5135c8c9] {
9202
9145
  width: 100%;
9203
9146
  min-width: 350px;
9204
9147
  height: 100%;
9205
9148
  min-height: 525px;
9206
9149
  }
9207
- #roomContainer.chat-room[data-v-4dd66a12] {
9150
+ #roomContainer.chat-room[data-v-5135c8c9] {
9208
9151
  position: absolute;
9209
9152
  top: 0;
9210
9153
  right: 0;
@@ -9216,8 +9159,8 @@ body, html {
9216
9159
  margin: auto;
9217
9160
  border-radius: 10px;
9218
9161
  }
9219
- #roomContainer.tui-room-h5[data-v-4dd66a12],
9220
- #roomContainer .chat-room[data-v-4dd66a12] {
9162
+ #roomContainer.tui-room-h5[data-v-5135c8c9],
9163
+ #roomContainer .chat-room[data-v-5135c8c9] {
9221
9164
  width: 100%;
9222
9165
  height: 100%;
9223
9166
  }.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.24165",
3
+ "version": "25.12.24167",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.mjs",
6
6
  "types": "./es/index.d.ts",
@@ -1,122 +1,40 @@
1
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>
2
+ <div v-if="moreControlConfig.visible" class="more-control-container">
3
+ <icon-button
4
+ :is-active="sidebarName === 'vote'"
5
+ :title="t('Vote')"
6
+ @click-icon="toggleMoreSidebar"
7
+ >
8
+ <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt=""/>
9
+ </icon-button>
26
10
  </div>
27
11
  </template>
28
12
  <script setup lang="ts">
29
- import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
30
- import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
13
+ import { IconMore } from '@tencentcloud/uikit-base-component-vue3';
31
14
  import IconButton from '../../common/base/IconButton.vue';
32
15
  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
16
  import { roomService } from '../../../services';
40
-
17
+ import { defineEmits} from 'vue';
41
18
  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;
19
+ const { t, basicStore, sidebarName } = userMoreControl();
20
+ const emit = defineEmits(['on-vote']);
21
+ function toggleMoreSidebar() {
22
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'vote') {
23
+ basicStore.setSidebarOpenStatus(false);
24
+ basicStore.setSidebarName('');
25
+ return;
67
26
  }
27
+ basicStore.setSidebarOpenStatus(true);
28
+ basicStore.setSidebarName('vote');
29
+ emit('on-vote', {
30
+ name: 'onVote',
31
+ visible:basicStore.isSidebarOpen,
32
+ });
68
33
  }
69
-
70
- onMounted(() => {
71
- document?.addEventListener('click', handleDocumentClick, true);
72
- });
73
-
74
- onUnmounted(() => {
75
- document?.removeEventListener('click', handleDocumentClick, true);
76
- });
77
34
  </script>
78
35
  <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);
36
+ .ndsc-img-box{
37
+ width: 24px;
38
+ height: 24px
121
39
  }
122
40
  </style>
@@ -5,7 +5,7 @@
5
5
  :title="t('Vote')"
6
6
  @click-icon="toggleMoreSidebar"
7
7
  >
8
- <IconMore size="24" />
8
+ <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt=""/>
9
9
  </icon-button>
10
10
  </div>
11
11
  </template>
@@ -32,4 +32,9 @@ function toggleMoreSidebar() {
32
32
  });
33
33
  }
34
34
  </script>
35
- <style lang="scss" scoped></style>
35
+ <style lang="scss" scoped>
36
+ .ndsc-img-box{
37
+ width: 24px;
38
+ height: 24px
39
+ }
40
+ </style>