@ndscnj/roomkit-web-vue3 25.12.2417 → 25.12.2418

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 (65) hide show
  1. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
  2. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue.mjs +1 -1
  3. package/es/components/RoomFooter/VoteControl/MoreControlH5.vue2.mjs +77 -31
  4. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +1 -5
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +47 -5
  6. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +1 -56
  7. package/es/components/RoomFooter/VoteControl/index.d.ts +3 -3
  8. package/es/components/RoomFooter/VoteControl/index.mjs +2 -2
  9. package/es/components/RoomFooter/VoteControl/useMoreControlHooks.mjs +1 -3
  10. package/es/components/RoomFooter/index/index.d.ts +4 -31
  11. package/es/components/RoomFooter/index/indexH5.vue.d.ts +1 -12
  12. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  13. package/es/components/RoomFooter/index/indexH5.vue2.mjs +5 -20
  14. package/es/components/RoomSidebar/index.d.ts +1 -17
  15. package/es/components/RoomSidebar/indexH5.vue.d.ts +1 -10
  16. package/es/components/RoomSidebar/indexH5.vue.mjs +1 -1
  17. package/es/components/RoomSidebar/indexH5.vue2.mjs +3 -10
  18. package/es/components/RoomVote/index.d.ts +6 -2
  19. package/es/components/RoomVote/indexH5.vue.d.ts +5 -10
  20. package/es/components/RoomVote/indexH5.vue.mjs +2 -9
  21. package/es/components/RoomVote/indexH5.vue2.mjs +51 -0
  22. package/es/components/RoomVote/useRoomMoreHooks.mjs +43 -0
  23. package/es/conference.vue.mjs +1 -1
  24. package/es/conference.vue2.mjs +7 -2
  25. package/es/index.mjs +118 -61
  26. package/lib/components/Chat/index/indexH5.vue.js +1 -1
  27. package/lib/components/ManageMember/MemberItem/indexH5.vue.js +1 -1
  28. package/lib/components/ManageMember/indexH5.vue.js +1 -1
  29. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
  30. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
  31. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +76 -30
  32. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.d.ts +1 -5
  33. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +47 -5
  34. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +2 -57
  35. package/lib/components/RoomFooter/VoteControl/index.d.ts +3 -3
  36. package/lib/components/RoomFooter/VoteControl/index.js +2 -2
  37. package/lib/components/RoomFooter/VoteControl/useMoreControlHooks.js +1 -3
  38. package/lib/components/RoomFooter/index/index.d.ts +4 -31
  39. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +1 -12
  40. package/lib/components/RoomFooter/index/indexH5.vue.js +2 -2
  41. package/lib/components/RoomFooter/index/indexH5.vue2.js +4 -19
  42. package/lib/components/RoomInvite/indexH5.vue.js +1 -1
  43. package/lib/components/RoomMore/indexH5.vue.js +1 -1
  44. package/lib/components/RoomSidebar/index.d.ts +1 -17
  45. package/lib/components/RoomSidebar/indexH5.vue.d.ts +1 -10
  46. package/lib/components/RoomSidebar/indexH5.vue.js +2 -2
  47. package/lib/components/RoomSidebar/indexH5.vue2.js +2 -9
  48. package/lib/components/RoomVote/index.d.ts +6 -2
  49. package/lib/components/RoomVote/indexH5.vue.d.ts +5 -10
  50. package/lib/components/RoomVote/indexH5.vue.js +2 -9
  51. package/lib/components/RoomVote/indexH5.vue2.js +51 -0
  52. package/lib/components/RoomVote/useRoomMoreHooks.js +43 -0
  53. package/lib/conference.vue.js +1 -1
  54. package/lib/conference.vue2.js +7 -2
  55. package/lib/index.js +118 -61
  56. package/package.json +1 -1
  57. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +108 -26
  58. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +4 -13
  59. package/src/TUIRoom/components/RoomFooter/VoteControl/useMoreControlHooks.ts +1 -2
  60. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +2 -15
  61. package/src/TUIRoom/components/RoomSidebar/indexH5.vue +0 -5
  62. package/src/TUIRoom/components/RoomVote/indexH5.vue +118 -61
  63. package/src/TUIRoom/conference.vue +4 -1
  64. package/es/assets/imgs/vote-icon.png.mjs +0 -4
  65. package/lib/assets/imgs/vote-icon.png.js +0 -4
@@ -0,0 +1,51 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, withDirectives, toDisplayString, unref, createTextVNode, Fragment, renderList, createVNode } from "vue";
2
+ import useRoomMoreHooks from "./useRoomMoreHooks.mjs";
3
+ import { IconCopy } from "@tencentcloud/uikit-base-component-vue3";
4
+ import vTap from "../../directives/vTap.mjs";
5
+ const _hoisted_1 = { class: "contact-container-main" };
6
+ const _hoisted_2 = { class: "contact-title-main" };
7
+ const _hoisted_3 = { class: "cancel" };
8
+ const _hoisted_4 = { class: "contact-title" };
9
+ const _hoisted_5 = { class: "contact-content" };
10
+ const _hoisted_6 = { class: "contact-bottom" };
11
+ const _sfc_main = /* @__PURE__ */ defineComponent({
12
+ __name: "indexH5",
13
+ emits: ["on-close-contact"],
14
+ setup(__props, { emit: __emit }) {
15
+ const { t, onCopy, contactContentList } = useRoomMoreHooks();
16
+ const emit = __emit;
17
+ function handleCloseContact() {
18
+ emit("on-close-contact");
19
+ }
20
+ return (_ctx, _cache) => {
21
+ return openBlock(), createElementBlock("div", _hoisted_1, [
22
+ createElementVNode("div", _hoisted_2, [
23
+ createElementVNode("div", null, toDisplayString(unref(t)("Contact us")), 1),
24
+ withDirectives((openBlock(), createElementBlock("span", _hoisted_3, [
25
+ createTextVNode(toDisplayString(unref(t)("Cancel")), 1)
26
+ ])), [
27
+ [unref(vTap), handleCloseContact]
28
+ ])
29
+ ]),
30
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(contactContentList), (item) => {
31
+ return openBlock(), createElementBlock("div", {
32
+ key: item.id,
33
+ class: "contact-content-main"
34
+ }, [
35
+ createElementVNode("span", _hoisted_4, toDisplayString(unref(t)(item.title)), 1),
36
+ createElementVNode("span", _hoisted_5, toDisplayString(item.content), 1),
37
+ withDirectives(createVNode(unref(IconCopy), { class: "copy" }, null, 512), [
38
+ [unref(vTap), () => unref(onCopy)(item.copyLink)]
39
+ ])
40
+ ]);
41
+ }), 128)),
42
+ createElementVNode("span", _hoisted_6, toDisplayString(unref(t)(
43
+ "If you have any questions, please feel free to join our QQ group or send an email"
44
+ )), 1)
45
+ ]);
46
+ };
47
+ }
48
+ });
49
+ export {
50
+ _sfc_main as default
51
+ };
@@ -0,0 +1,43 @@
1
+ import { computed } from "vue";
2
+ import { TUIToast, TOAST_TYPE } from "@tencentcloud/uikit-base-component-vue3";
3
+ import i18n, { useI18n } from "../../locales/index.mjs";
4
+ import "../../utils/environment.mjs";
5
+ import { clipBoard } from "../../utils/adapter.mjs";
6
+ function useRoomMoreHooks() {
7
+ const { t } = useI18n();
8
+ const groupNumber = "770645461";
9
+ const email = "chaooliang@tencent.com";
10
+ async function onCopy(value) {
11
+ try {
12
+ await clipBoard(value);
13
+ TUIToast({
14
+ message: t("Copied successfully"),
15
+ type: TOAST_TYPE.SUCCESS
16
+ });
17
+ } catch (error) {
18
+ TUIToast({
19
+ message: t("Copied failure"),
20
+ type: TOAST_TYPE.ERROR
21
+ });
22
+ }
23
+ }
24
+ const isZH = computed(() => i18n.global.locale.value === "zh-CN");
25
+ const contactContentList = [
26
+ { id: 1, title: "group chat", content: groupNumber, copyLink: groupNumber },
27
+ { id: 2, title: "Email", content: email, copyLink: email }
28
+ ];
29
+ const handleClick = () => {
30
+ window.open("https://zhiliao.qq.com/s/c5GY7HIM62CK", "_blank");
31
+ };
32
+ return {
33
+ t,
34
+ onCopy,
35
+ contactContentList,
36
+ email,
37
+ handleClick,
38
+ isZH
39
+ };
40
+ }
41
+ export {
42
+ useRoomMoreHooks as default
43
+ };
@@ -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-3d7b72df"]]);
5
+ const ConferenceMainView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b4d71215"]]);
6
6
  export {
7
7
  ConferenceMainView as default
8
8
  };
@@ -274,10 +274,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
274
274
  class: "footer",
275
275
  onShowOverlay: handleShowOverlay,
276
276
  onOnVote: onVote
277
- }, null, 512), [
277
+ }, {
278
+ content: withCtx(() => [
279
+ renderSlot(_ctx.$slots, "content", {}, void 0, true)
280
+ ]),
281
+ _: 3
282
+ }, 512), [
278
283
  [vShow, unref(showRoomTool)]
279
284
  ]),
280
- createVNode(unref(Index$1), { onOnVote: onVote }, {
285
+ createVNode(unref(Index$1), null, {
281
286
  content: withCtx(() => [
282
287
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
283
288
  ]),
package/es/index.mjs CHANGED
@@ -3664,13 +3664,7 @@ 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
- }.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-df7f3346] {
3667
+ }.footer-container[data-v-f3bbac91] {
3674
3668
  position: absolute;
3675
3669
  bottom: 0;
3676
3670
  display: flex;
@@ -3934,6 +3928,44 @@ to {
3934
3928
  }
3935
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3936
3930
  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);
3937
3969
  }.footer-container[data-v-4afcea78] {
3938
3970
  position: absolute;
3939
3971
  bottom: 0;
@@ -4948,76 +4980,101 @@ to {
4948
4980
  justify-content: space-around;
4949
4981
  margin: 20px 0;
4950
4982
  cursor: pointer;
4951
- }.sidebar-container-mobile[data-v-83d339c1] {
4983
+ }.sidebar-container-mobile[data-v-e545b2de] {
4952
4984
  position: fixed;
4953
4985
  top: 0;
4954
4986
  right: 0;
4955
4987
  z-index: 101;
4956
4988
  height: 100%;
4957
- }.more-container[data-v-5d02e842] {
4958
- padding: 20px;
4989
+ }span[data-v-939000cb] {
4990
+ padding-right: 5px;
4991
+ font-size: 12px;
4992
+ font-weight: 500;
4993
+ line-height: 17px;
4959
4994
  }
4960
- .more-container .more-title[data-v-5d02e842] {
4995
+ .contact-container-main[data-v-939000cb] {
4996
+ position: fixed;
4997
+ bottom: 0;
4961
4998
  display: flex;
4962
- align-items: center;
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);
4963
5006
  }
4964
- .more-container .more-title .email-icon[data-v-5d02e842] {
4965
- color: var(--uikit-color-gray-7);
5007
+ @keyframes popup-939000cb {
5008
+ from {
5009
+ transform: scaleY(0);
5010
+ transform-origin: bottom;
4966
5011
  }
4967
- .more-container .more-title .more-notice[data-v-5d02e842] {
4968
- width: 100%;
4969
- height: 22px;
4970
- padding-left: 8px;
4971
- font-size: 14px;
4972
- font-weight: 400;
4973
- line-height: 22px;
4974
- color: var(--text-color-primary);
5012
+ to {
5013
+ transform: scaleY(1);
5014
+ transform-origin: bottom;
4975
5015
  }
4976
- .more-container .more-item[data-v-5d02e842] {
4977
- position: relative;
5016
+ }
5017
+ .contact-container-main .contact-title-main[data-v-939000cb] {
4978
5018
  display: flex;
4979
- flex-direction: column;
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;
5027
+ color: var(--text-color-primary);
4980
5028
  }
4981
- .more-container .more-item[data-v-5d02e842]:not(:first-child) {
4982
- margin-top: 20px;
5029
+ .contact-container-main .contact-content-main[data-v-939000cb] {
5030
+ 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;
4983
5037
  }
4984
- .more-container .more-item:not(:first-child) .item-title[data-v-5d02e842] {
4985
- width: 100%;
4986
- padding-bottom: 8px;
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";
4987
5042
  font-size: 14px;
5043
+ font-style: normal;
4988
5044
  font-weight: 400;
4989
- line-height: 22px;
5045
+ line-height: 20px;
5046
+ white-space: nowrap;
4990
5047
  color: var(--text-color-primary);
4991
5048
  }
4992
- .more-container .more-item:not(:first-child) .more-content[data-v-5d02e842] {
4993
- position: relative;
4994
- box-sizing: border-box;
4995
- display: inline-block;
4996
- flex: 1;
4997
- height: 42px;
4998
- padding: 10px 30px 10px 16px;
5049
+ .contact-container-main .contact-content[data-v-939000cb] {
5050
+ width: 62%;
4999
5051
  overflow: hidden;
5000
5052
  font-size: 14px;
5001
- font-weight: 500;
5002
- line-height: 22px;
5003
5053
  text-overflow: ellipsis;
5004
5054
  white-space: nowrap;
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);
5055
+ color: var(--text-color-secondary);
5011
5056
  }
5012
- .more-container .more-item:not(:first-child) .copy-icon[data-v-5d02e842] {
5013
- position: absolute;
5014
- top: 45px;
5015
- right: 10px;
5016
- display: flex;
5017
- align-items: center;
5018
- justify-content: center;
5019
- cursor: pointer;
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);
5067
+ }
5068
+ .contact-container-main .copy[data-v-939000cb] {
5069
+ margin-left: 30px;
5020
5070
  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;
5021
5078
  }.more-container[data-v-41107c5f] {
5022
5079
  padding: 20px;
5023
5080
  }
@@ -9111,7 +9168,7 @@ body, html {
9111
9168
  }
9112
9169
  .tui-room :not([class|=el]) {
9113
9170
  transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
9114
- }.tui-room[data-v-3d7b72df] {
9171
+ }.tui-room[data-v-b4d71215] {
9115
9172
  position: relative;
9116
9173
  display: flex;
9117
9174
  flex-direction: column;
@@ -9123,7 +9180,7 @@ body, html {
9123
9180
  text-align: left;
9124
9181
  background-color: var(--bg-color-topbar);
9125
9182
  }
9126
- .tui-room .header[data-v-3d7b72df] {
9183
+ .tui-room .header[data-v-b4d71215] {
9127
9184
  position: absolute;
9128
9185
  top: 0;
9129
9186
  left: 0;
@@ -9134,20 +9191,20 @@ body, html {
9134
9191
  border-bottom: 1px solid var(--stroke-color-primary);
9135
9192
  box-shadow: 0 1px 0 var(--uikit-color-black-8);
9136
9193
  }
9137
- .tui-room .content[data-v-3d7b72df] {
9194
+ .tui-room .content[data-v-b4d71215] {
9138
9195
  position: absolute;
9139
9196
  top: 0;
9140
9197
  width: 100%;
9141
9198
  height: 100%;
9142
9199
  background-color: var(--bg-color-topbar);
9143
9200
  }
9144
- .tui-room.tui-room-h5[data-v-3d7b72df] {
9201
+ .tui-room.tui-room-h5[data-v-b4d71215] {
9145
9202
  width: 100%;
9146
9203
  min-width: 350px;
9147
9204
  height: 100%;
9148
9205
  min-height: 525px;
9149
9206
  }
9150
- #roomContainer.chat-room[data-v-3d7b72df] {
9207
+ #roomContainer.chat-room[data-v-b4d71215] {
9151
9208
  position: absolute;
9152
9209
  top: 0;
9153
9210
  right: 0;
@@ -9159,8 +9216,8 @@ body, html {
9159
9216
  margin: auto;
9160
9217
  border-radius: 10px;
9161
9218
  }
9162
- #roomContainer.tui-room-h5[data-v-3d7b72df],
9163
- #roomContainer .chat-room[data-v-3d7b72df] {
9219
+ #roomContainer.tui-room-h5[data-v-b4d71215],
9220
+ #roomContainer .chat-room[data-v-b4d71215] {
9164
9221
  width: 100%;
9165
9222
  height: 100%;
9166
9223
  }.user-info-container[data-v-9e9aff53] {
@@ -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 = ;/* empty css */
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
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-a8c21a66"]]);
@@ -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 = ;/* empty css */
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
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-04bc5b87"]]);
@@ -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 = ;/* empty css */
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
6
  const indexH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(indexH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-524b1604"]]);
@@ -1,6 +1,6 @@
1
1
  declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "on-vote": (...args: any[]) => void;
2
+ "show-overlay": (...args: any[]) => void;
3
3
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
- "onOn-vote"?: ((...args: any[]) => any) | undefined;
4
+ "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
5
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
6
6
  export default _default;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const MoreControlH5_vue_vue_type_script_setup_true_lang = require("./MoreControlH5.vue2.js");
4
4
  ;/* empty css */
5
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-2a47be79"]]);
6
+ const MoreControlH5 = /* @__PURE__ */ _pluginVue_exportHelper.default(MoreControlH5_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-c413959d"]]);
7
7
  exports.default = MoreControlH5;
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const Vue = require("vue");
4
- const voteIcon = require("../../../assets/imgs/vote-icon.png.js");
4
+ const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3");
5
5
  const IconButton = require("../../common/base/IconButton.vue.js");
6
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");
7
13
  require("../../../services/main.js");
8
14
  const roomService = require("../../../services/roomService.js");
9
15
  require("../../../locales/index.js");
@@ -16,43 +22,83 @@ const _hoisted_1 = {
16
22
  key: 0,
17
23
  class: "more-control-container"
18
24
  };
25
+ const _hoisted_2 = { class: "control-compent" };
26
+ const _hoisted_3 = { class: "close" };
19
27
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
20
28
  __name: "MoreControlH5",
21
- emits: ["on-vote"],
29
+ emits: ["show-overlay"],
22
30
  setup(__props, { emit: __emit }) {
23
31
  const moreControlConfig = roomService.roomService.getComponentConfig("MoreControl");
24
- const { t, basicStore, sidebarName } = useMoreControlHooks.default();
32
+ const showMoreContent = Vue.ref(false);
33
+ const moreContentRef = Vue.ref();
34
+ const { t, sidebarName } = useMoreControlHooks.default();
35
+ const roomStore = room.useRoomStore();
25
36
  const emit = __emit;
26
- function toggleMoreSidebar() {
27
- if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === "vote") {
28
- basicStore.setSidebarOpenStatus(false);
29
- basicStore.setSidebarName("");
30
- return;
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;
31
53
  }
32
- basicStore.setSidebarOpenStatus(true);
33
- basicStore.setSidebarName("vote");
34
- emit("on-vote", {
35
- name: "onVote",
36
- visible: basicStore.isSidebarOpen
37
- });
38
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
+ });
39
61
  return (_ctx, _cache) => {
40
- return Vue.unref(moreControlConfig).visible ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
41
- Vue.createVNode(IconButton.default, {
42
- "is-active": Vue.unref(sidebarName) === "vote",
43
- title: Vue.unref(t)("Vote"),
44
- onClickIcon: toggleMoreSidebar
45
- }, {
46
- default: Vue.withCtx(() => [..._cache[0] || (_cache[0] = [
47
- Vue.createElementVNode("img", {
48
- class: "ndsc-img-box",
49
- src: voteIcon.default,
50
- alt: ""
51
- }, null, -1)
52
- ])]),
53
- _: 1
54
- }, 8, ["is-active", "title"])
55
- ])) : Vue.createCommentVNode("", true);
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
+ ]);
56
102
  };
57
103
  }
58
104
  });
@@ -1,6 +1,2 @@
1
- declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
- "on-vote": (...args: any[]) => void;
3
- }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
- "onOn-vote"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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>;
6
2
  export default _default;
@@ -1,7 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const MoreControlPC_vue_vue_type_script_setup_true_lang = require("./MoreControlPC.vue2.js");
4
- ;/* empty css */
5
- const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const MoreControlPc = /* @__PURE__ */ _pluginVue_exportHelper.default(MoreControlPC_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-997feff9"]]);
7
- exports.default = MoreControlPc;
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 === "vote") {
26
+ basicStore.setSidebarOpenStatus(false);
27
+ basicStore.setSidebarName("");
28
+ return;
29
+ }
30
+ basicStore.setSidebarOpenStatus(true);
31
+ basicStore.setSidebarName("vote");
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) === "vote",
37
+ title: Vue.unref(t)("Vote"),
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;