@ndscnj/roomkit-web-vue3 25.12.2318 → 25.12.2320

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 (41) hide show
  1. package/es/components/RoomFooter/index/index.d.ts +13 -3
  2. package/es/components/RoomFooter/index/indexPC.vue.d.ts +5 -1
  3. package/es/components/RoomFooter/index/indexPC.vue.mjs +1 -1
  4. package/es/components/RoomFooter/index/indexPC.vue2.mjs +8 -2
  5. package/es/components/RoomFooter/voteControl.vue.mjs +1 -1
  6. package/es/components/RoomFooter/voteControl.vue2.mjs +26 -13
  7. package/es/components/RoomInvite/useRoomInviteHooks.d.ts +1 -1
  8. package/es/components/RoomSidebar/useSideBarHooks.d.ts +1 -1
  9. package/es/components/RoomVote/index.d.ts +17 -1
  10. package/es/components/RoomVote/indexPC.vue.d.ts +10 -1
  11. package/es/components/RoomVote/indexPC.vue.mjs +1 -1
  12. package/es/components/RoomVote/indexPC.vue2.mjs +5 -1
  13. package/es/index.mjs +155 -163
  14. package/es/locales/zh-CN.mjs +1 -1
  15. package/es/services/manager/componentManager.d.ts +1 -1
  16. package/es/services/manager/componentManager.mjs +2 -0
  17. package/es/stores/basic.d.ts +1 -1
  18. package/lib/components/RoomFooter/index/index.d.ts +13 -3
  19. package/lib/components/RoomFooter/index/indexPC.vue.d.ts +5 -1
  20. package/lib/components/RoomFooter/index/indexPC.vue.js +1 -1
  21. package/lib/components/RoomFooter/index/indexPC.vue2.js +8 -2
  22. package/lib/components/RoomFooter/voteControl.vue.js +1 -1
  23. package/lib/components/RoomFooter/voteControl.vue2.js +25 -12
  24. package/lib/components/RoomInvite/useRoomInviteHooks.d.ts +1 -1
  25. package/lib/components/RoomSidebar/useSideBarHooks.d.ts +1 -1
  26. package/lib/components/RoomVote/index.d.ts +17 -1
  27. package/lib/components/RoomVote/indexPC.vue.d.ts +10 -1
  28. package/lib/components/RoomVote/indexPC.vue.js +1 -1
  29. package/lib/components/RoomVote/indexPC.vue2.js +4 -0
  30. package/lib/index.js +155 -163
  31. package/lib/locales/zh-CN.js +1 -1
  32. package/lib/services/manager/componentManager.d.ts +1 -1
  33. package/lib/services/manager/componentManager.js +2 -0
  34. package/lib/stores/basic.d.ts +1 -1
  35. package/package.json +1 -1
  36. package/src/TUIRoom/components/RoomFooter/index/indexPC.vue +6 -0
  37. package/src/TUIRoom/components/RoomFooter/voteControl.vue +30 -33
  38. package/src/TUIRoom/components/RoomVote/indexPC.vue +3 -0
  39. package/src/TUIRoom/locales/zh-CN.ts +1 -1
  40. package/src/TUIRoom/services/manager/componentManager.ts +2 -0
  41. package/src/TUIRoom/stores/basic.ts +1 -1
@@ -3,18 +3,28 @@ declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('v
3
3
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
4
  "onShow-overlay"?: ((...args: any[]) => any) | undefined;
5
5
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | ({
6
- 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, {
6
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
7
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
8
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ "on-vote": (...args: any[]) => void;
10
+ }, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
7
11
  P: {};
8
12
  B: {};
9
13
  D: {};
10
14
  C: {};
11
15
  M: {};
12
16
  Defaults: {};
13
- }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
17
+ }, Readonly<{}> & Readonly<{
18
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
19
+ }>, {}, {}, {}, {}, {}>;
14
20
  __isFragment?: never;
15
21
  __isTeleport?: never;
16
22
  __isSuspense?: never;
17
- } & 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 () => {
23
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{
24
+ "onOn-vote"?: ((...args: any[]) => any) | undefined;
25
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ "on-vote": (...args: any[]) => void;
27
+ }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
18
28
  $slots: {
19
29
  content?(_: {}): any;
20
30
  };
@@ -1,7 +1,11 @@
1
1
  declare function __VLS_template(): {
2
2
  content?(_: {}): any;
3
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>;
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>;
5
9
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
6
10
  export default _default;
7
11
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./indexPC.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6b90d75f"]]);
4
+ const indexPc = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-604d8288"]]);
5
5
  export {
6
6
  indexPc as default
7
7
  };
@@ -73,11 +73,16 @@ const _hoisted_3 = { class: "center-container" };
73
73
  const _hoisted_4 = { class: "right-container" };
74
74
  const _sfc_main = /* @__PURE__ */ defineComponent({
75
75
  __name: "indexPC",
76
- setup(__props) {
76
+ emits: ["on-vote"],
77
+ setup(__props, { emit: __emit }) {
77
78
  const { roomStore, isMaster, isAdmin, isAudience } = useRoomFooter();
78
79
  function handleControlClick(name) {
79
80
  bus.emit("experience-communication", name);
80
81
  }
82
+ const emit = __emit;
83
+ const onVote = (data) => {
84
+ emit("on-vote", { code: data.visible, message: "vote" });
85
+ };
81
86
  return (_ctx, _cache) => {
82
87
  return openBlock(), createElementBlock("div", _hoisted_1, [
83
88
  createElementVNode("div", _hoisted_2, [
@@ -133,7 +138,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
133
138
  })) : createCommentVNode("", true),
134
139
  createVNode(voteControl, {
135
140
  class: "center-container-item",
136
- onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl"))
141
+ onClick: _cache[10] || (_cache[10] = ($event) => handleControlClick("voteControl")),
142
+ onOnVote: onVote
137
143
  }, {
138
144
  content: withCtx(() => [
139
145
  renderSlot(_ctx.$slots, "content", {}, void 0, true)
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./voteControl.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-63c91660"]]);
4
+ const voteControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e8dc762c"]]);
5
5
  export {
6
6
  voteControl as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, ref, watch, resolveComponent, createElementBlock, openBlock, createVNode, createTextVNode, createElementVNode, createCommentVNode, unref, withCtx, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, computed, ref, watch, createElementBlock, createCommentVNode, unref, openBlock, createVNode, withCtx, renderSlot } from "vue";
2
2
  import "../../services/main.mjs";
3
3
  import { roomService } from "../../services/roomService.mjs";
4
4
  import { useI18n } from "../../locales/index.mjs";
@@ -7,10 +7,16 @@ import "../../utils/environment.mjs";
7
7
  import "mitt";
8
8
  import "../../services/manager/roomActionManager.mjs";
9
9
  import "@tencentcloud/tui-core";
10
- const _hoisted_1 = { class: "more-container" };
10
+ import IconButton from "../common/base/IconButton.vue.mjs";
11
+ import { IconAIIcon } from "@tencentcloud/uikit-base-component-vue3";
12
+ import Index from "../RoomVote/index.mjs";
13
+ const _hoisted_1 = {
14
+ key: 0,
15
+ class: "vote-control-container"
16
+ };
11
17
  const _hoisted_2 = {
12
18
  key: 0,
13
- class: "tool-box"
19
+ class: "contact-container"
14
20
  };
15
21
  const _sfc_main = /* @__PURE__ */ defineComponent({
16
22
  __name: "voteControl",
@@ -24,6 +30,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
30
  watch(isSidebarOpen, (newValue) => {
25
31
  showToolBox.value = newValue && false;
26
32
  });
33
+ const voteControlConfig = roomService.getComponentConfig("VoteControl");
27
34
  const emit = __emit;
28
35
  function toggleToolBox() {
29
36
  showToolBox.value = !showToolBox.value;
@@ -32,27 +39,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
39
  visible: showToolBox.value
33
40
  });
34
41
  }
42
+ function handleOnCloseContact() {
43
+ showToolBox.value = false;
44
+ }
35
45
  return (_ctx, _cache) => {
36
- const _component_IconAIIcon = resolveComponent("IconAIIcon");
37
- const _component_icon_button = resolveComponent("icon-button");
38
- return openBlock(), createElementBlock("div", _hoisted_1, [
39
- createVNode(_component_icon_button, {
46
+ return unref(voteControlConfig).visible ? (openBlock(), createElementBlock("div", _hoisted_1, [
47
+ createVNode(IconButton, {
40
48
  "is-active": sidebarName.value === "vote",
41
49
  title: unref(t)("Vote"),
42
50
  onClickIcon: toggleToolBox
43
51
  }, {
44
52
  default: withCtx(() => [
45
- createVNode(_component_IconAIIcon, { size: "24" })
53
+ createVNode(unref(IconAIIcon), { size: "24" })
46
54
  ]),
47
55
  _: 1
48
56
  }, 8, ["is-active", "title"]),
49
- createTextVNode(" " + toDisplayString(sidebarName.value) + " ", 1),
50
- createElementVNode("div", { onClick: toggleToolBox }, "测试"),
51
57
  !isSidebarOpen.value && showToolBox.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
52
- _cache[0] || (_cache[0] = createTextVNode(" 123 ", -1)),
53
- renderSlot(_ctx.$slots, "content", {}, void 0, true)
58
+ createVNode(unref(Index), {
59
+ ref: "contactRef",
60
+ onOnCloseContact: handleOnCloseContact
61
+ }, {
62
+ content: withCtx(() => [
63
+ renderSlot(_ctx.$slots, "content", {}, void 0, true)
64
+ ]),
65
+ _: 3
66
+ }, 512)
54
67
  ])) : createCommentVNode("", true)
55
- ]);
68
+ ])) : createCommentVNode("", true);
56
69
  };
57
70
  }
58
71
  });
@@ -76,5 +76,5 @@ export default function useRoomInvite(): {
76
76
  isVisible: boolean;
77
77
  }[]>;
78
78
  copyRoomIdAndRoomLink: () => void;
79
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
79
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
80
80
  };
@@ -2,7 +2,7 @@ export default function useSideBar(): {
2
2
  t: any;
3
3
  isSidebarOpen: import('vue').Ref<boolean, boolean>;
4
4
  title: import('vue').ComputedRef<string>;
5
- sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote", "" | "chat" | "invite" | "manage-member" | "more" | "transfer-leave" | "apply" | "aiTranscription" | "vote">;
5
+ sidebarName: import('vue').Ref<"" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription", "" | "chat" | "invite" | "manage-member" | "vote" | "more" | "transfer-leave" | "apply" | "aiTranscription">;
6
6
  handleClose: (done: any) => void;
7
7
  showSideBar: import('vue').ComputedRef<boolean>;
8
8
  };
@@ -2,5 +2,21 @@ declare const Index: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('v
2
2
  "on-close-contact": (...args: any[]) => void;
3
3
  }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
4
  "onOn-close-contact"?: ((...args: any[]) => any) | undefined;
5
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any> | ({
6
+ 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
+ P: {};
8
+ B: {};
9
+ D: {};
10
+ C: {};
11
+ M: {};
12
+ Defaults: {};
13
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
14
+ __isFragment?: never;
15
+ __isTeleport?: never;
16
+ __isSuspense?: never;
17
+ } & 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 () => {
18
+ $slots: {
19
+ content?(_: {}): any;
20
+ };
21
+ }));
6
22
  export default Index;
@@ -1,2 +1,11 @@
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>;
1
+ declare function __VLS_template(): {
2
+ content?(_: {}): 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>>;
2
6
  export default _default;
7
+ type __VLS_WithTemplateSlots<T, S> = T & {
8
+ new (): {
9
+ $slots: S;
10
+ };
11
+ };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./indexPC.vue2.mjs";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const indexPC = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-17479e8d"]]);
4
+ const indexPC = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d1a96ffd"]]);
5
5
  export {
6
6
  indexPC as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, toDisplayString, withCtx, createTextVNode } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, unref, toDisplayString, withCtx, createTextVNode, renderSlot } from "vue";
2
2
  import { IconEmail, TUIButton, IconCopy } from "@tencentcloud/uikit-base-component-vue3";
3
3
  import useRoomMoreHooks from "./useRoomMoreHooks.mjs";
4
4
  const _hoisted_1 = { class: "more-container" };
@@ -12,6 +12,7 @@ const _hoisted_5 = { class: "item-title" };
12
12
  const _hoisted_6 = { class: "more-item" };
13
13
  const _hoisted_7 = { class: "item-title" };
14
14
  const _hoisted_8 = { class: "more-content" };
15
+ const _hoisted_9 = { class: "more-item" };
15
16
  const _sfc_main = /* @__PURE__ */ defineComponent({
16
17
  __name: "indexPC",
17
18
  setup(__props) {
@@ -38,6 +39,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
39
  class: "copy-icon",
39
40
  onClick: _cache[0] || (_cache[0] = ($event) => unref(onCopy)(unref(email)))
40
41
  })
42
+ ]),
43
+ createElementVNode("div", _hoisted_9, [
44
+ renderSlot(_ctx.$slots, "content", {}, void 0, true)
41
45
  ])
42
46
  ]);
43
47
  };
package/es/index.mjs CHANGED
@@ -3928,17 +3928,106 @@ to {
3928
3928
  }
3929
3929
  .footer .mirror-container .mirror-text[data-v-21a63691] {
3930
3930
  margin-left: 4px;
3931
- }.more-container[data-v-63c91660] {
3931
+ }span[data-v-939000cb] {
3932
+ padding-right: 5px;
3933
+ font-size: 12px;
3934
+ font-weight: 500;
3935
+ line-height: 17px;
3936
+ }
3937
+ .contact-container-main[data-v-939000cb] {
3938
+ position: fixed;
3939
+ bottom: 0;
3940
+ display: flex;
3941
+ flex-direction: column;
3942
+ width: 100%;
3943
+ padding-bottom: 4vh;
3944
+ border-radius: 15px 15px 0 0;
3945
+ animation-name: popup-939000cb;
3946
+ animation-duration: 200ms;
3947
+ background-color: var(--bg-color-operate);
3948
+ }
3949
+ @keyframes popup-939000cb {
3950
+ from {
3951
+ transform: scaleY(0);
3952
+ transform-origin: bottom;
3953
+ }
3954
+ to {
3955
+ transform: scaleY(1);
3956
+ transform-origin: bottom;
3957
+ }
3958
+ }
3959
+ .contact-container-main .contact-title-main[data-v-939000cb] {
3960
+ display: flex;
3961
+ flex-direction: row;
3962
+ align-items: center;
3963
+ padding: 30px 0 20px 25px;
3964
+ font-family: "PingFang SC";
3965
+ font-size: 20px;
3966
+ font-style: normal;
3967
+ font-weight: 500;
3968
+ line-height: 24px;
3969
+ color: var(--text-color-primary);
3970
+ }
3971
+ .contact-container-main .contact-content-main[data-v-939000cb] {
3972
+ display: flex;
3973
+ flex-direction: row;
3974
+ align-items: center;
3975
+ width: 90%;
3976
+ height: 15%;
3977
+ padding: 0 0 0 25px;
3978
+ margin-bottom: 10px;
3979
+ }
3980
+ .contact-container-main .contact-title[data-v-939000cb],
3981
+ .contact-container-main .contact-content[data-v-939000cb] {
3982
+ width: 28%;
3983
+ font-family: "PingFang SC";
3984
+ font-size: 14px;
3985
+ font-style: normal;
3986
+ font-weight: 400;
3987
+ line-height: 20px;
3988
+ white-space: nowrap;
3989
+ color: var(--text-color-primary);
3990
+ }
3991
+ .contact-container-main .contact-content[data-v-939000cb] {
3992
+ width: 62%;
3993
+ overflow: hidden;
3994
+ font-size: 14px;
3995
+ text-overflow: ellipsis;
3996
+ white-space: nowrap;
3997
+ color: var(--text-color-secondary);
3998
+ }
3999
+ .contact-container-main .contact-bottom[data-v-939000cb] {
4000
+ width: 90%;
4001
+ padding-left: 40px;
4002
+ font-family: "PingFang SC";
4003
+ font-size: 12px;
4004
+ font-style: normal;
4005
+ font-weight: 400;
4006
+ line-height: 17px;
4007
+ text-align: center;
4008
+ color: var(--text-color-secondary);
4009
+ }
4010
+ .contact-container-main .copy[data-v-939000cb] {
4011
+ margin-left: 30px;
4012
+ color: var(--text-color-link);
4013
+ }
4014
+ .cancel[data-v-939000cb] {
4015
+ flex: 1;
4016
+ padding-right: 30px;
4017
+ font-size: 16px;
4018
+ font-weight: 400;
4019
+ text-align: end;
4020
+ }.more-container[data-v-d1a96ffd] {
3932
4021
  padding: 20px;
3933
4022
  }
3934
- .more-container .more-title[data-v-63c91660] {
4023
+ .more-container .more-title[data-v-d1a96ffd] {
3935
4024
  display: flex;
3936
4025
  align-items: center;
3937
4026
  }
3938
- .more-container .more-title .email-icon[data-v-63c91660] {
4027
+ .more-container .more-title .email-icon[data-v-d1a96ffd] {
3939
4028
  color: var(--uikit-color-gray-7);
3940
4029
  }
3941
- .more-container .more-title .more-notice[data-v-63c91660] {
4030
+ .more-container .more-title .more-notice[data-v-d1a96ffd] {
3942
4031
  width: 100%;
3943
4032
  height: 22px;
3944
4033
  padding-left: 8px;
@@ -3946,7 +4035,63 @@ to {
3946
4035
  font-weight: 400;
3947
4036
  line-height: 22px;
3948
4037
  color: var(--text-color-primary);
3949
- }.footer-container[data-v-6b90d75f] {
4038
+ }
4039
+ .more-container .more-item[data-v-d1a96ffd] {
4040
+ position: relative;
4041
+ display: flex;
4042
+ flex-direction: column;
4043
+ }
4044
+ .more-container .more-item[data-v-d1a96ffd]:not(:first-child) {
4045
+ margin-top: 20px;
4046
+ }
4047
+ .more-container .more-item:not(:first-child) .item-title[data-v-d1a96ffd] {
4048
+ width: 100%;
4049
+ padding-bottom: 8px;
4050
+ font-size: 14px;
4051
+ font-weight: 400;
4052
+ line-height: 22px;
4053
+ color: var(--text-color-primary);
4054
+ }
4055
+ .more-container .more-item:not(:first-child) .more-content[data-v-d1a96ffd] {
4056
+ position: relative;
4057
+ box-sizing: border-box;
4058
+ display: inline-block;
4059
+ flex: 1;
4060
+ height: 42px;
4061
+ padding: 10px 30px 10px 16px;
4062
+ overflow: hidden;
4063
+ font-size: 14px;
4064
+ font-weight: 500;
4065
+ line-height: 22px;
4066
+ text-overflow: ellipsis;
4067
+ white-space: nowrap;
4068
+ border-radius: 8px;
4069
+ outline: none;
4070
+ transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
4071
+ color: var(--text-color-primary);
4072
+ background-color: var(--bg-color-input);
4073
+ border: 1px solid var(--stroke-color-module);
4074
+ }
4075
+ .more-container .more-item:not(:first-child) .copy-icon[data-v-d1a96ffd] {
4076
+ position: absolute;
4077
+ top: 45px;
4078
+ right: 10px;
4079
+ display: flex;
4080
+ align-items: center;
4081
+ justify-content: center;
4082
+ cursor: pointer;
4083
+ color: var(--text-color-link);
4084
+ }.contact-container[data-v-e8dc762c] {
4085
+ position: fixed;
4086
+ top: 0;
4087
+ bottom: 0;
4088
+ left: 0;
4089
+ z-index: 11;
4090
+ box-sizing: border-box;
4091
+ width: 100vw;
4092
+ height: auto;
4093
+ background-color: var(--uikit-color-black-8);
4094
+ }.footer-container[data-v-604d8288] {
3950
4095
  position: absolute;
3951
4096
  bottom: 0;
3952
4097
  display: flex;
@@ -3960,25 +4105,25 @@ to {
3960
4105
  background-color: var(--bg-color-topbar);
3961
4106
  box-shadow: 0 -8px 30px var(--uikit-color-black-8);
3962
4107
  }
3963
- .footer-container .left-container[data-v-6b90d75f] {
4108
+ .footer-container .left-container[data-v-604d8288] {
3964
4109
  display: flex;
3965
4110
  align-items: center;
3966
4111
  height: 100%;
3967
4112
  }
3968
- .footer-container .left-container .left-container-item[data-v-6b90d75f]:not(:first-child) {
4113
+ .footer-container .left-container .left-container-item[data-v-604d8288]:not(:first-child) {
3969
4114
  margin-left: 1rem;
3970
4115
  }
3971
- .footer-container .center-container[data-v-6b90d75f] {
4116
+ .footer-container .center-container[data-v-604d8288] {
3972
4117
  position: relative;
3973
4118
  display: flex;
3974
4119
  align-items: center;
3975
4120
  height: 100%;
3976
4121
  margin: 0 auto;
3977
4122
  }
3978
- .footer-container .center-container .center-container-item[data-v-6b90d75f]:not(:first-child) {
4123
+ .footer-container .center-container .center-container-item[data-v-604d8288]:not(:first-child) {
3979
4124
  margin-left: 16px;
3980
4125
  }
3981
- .footer-container .right-container[data-v-6b90d75f] {
4126
+ .footer-container .right-container[data-v-604d8288] {
3982
4127
  display: flex;
3983
4128
  align-items: center;
3984
4129
  height: 100%;
@@ -4966,159 +5111,6 @@ to {
4966
5111
  right: 0;
4967
5112
  z-index: 101;
4968
5113
  height: 100%;
4969
- }span[data-v-939000cb] {
4970
- padding-right: 5px;
4971
- font-size: 12px;
4972
- font-weight: 500;
4973
- line-height: 17px;
4974
- }
4975
- .contact-container-main[data-v-939000cb] {
4976
- position: fixed;
4977
- bottom: 0;
4978
- display: flex;
4979
- flex-direction: column;
4980
- width: 100%;
4981
- padding-bottom: 4vh;
4982
- border-radius: 15px 15px 0 0;
4983
- animation-name: popup-939000cb;
4984
- animation-duration: 200ms;
4985
- background-color: var(--bg-color-operate);
4986
- }
4987
- @keyframes popup-939000cb {
4988
- from {
4989
- transform: scaleY(0);
4990
- transform-origin: bottom;
4991
- }
4992
- to {
4993
- transform: scaleY(1);
4994
- transform-origin: bottom;
4995
- }
4996
- }
4997
- .contact-container-main .contact-title-main[data-v-939000cb] {
4998
- display: flex;
4999
- flex-direction: row;
5000
- align-items: center;
5001
- padding: 30px 0 20px 25px;
5002
- font-family: "PingFang SC";
5003
- font-size: 20px;
5004
- font-style: normal;
5005
- font-weight: 500;
5006
- line-height: 24px;
5007
- color: var(--text-color-primary);
5008
- }
5009
- .contact-container-main .contact-content-main[data-v-939000cb] {
5010
- display: flex;
5011
- flex-direction: row;
5012
- align-items: center;
5013
- width: 90%;
5014
- height: 15%;
5015
- padding: 0 0 0 25px;
5016
- margin-bottom: 10px;
5017
- }
5018
- .contact-container-main .contact-title[data-v-939000cb],
5019
- .contact-container-main .contact-content[data-v-939000cb] {
5020
- width: 28%;
5021
- font-family: "PingFang SC";
5022
- font-size: 14px;
5023
- font-style: normal;
5024
- font-weight: 400;
5025
- line-height: 20px;
5026
- white-space: nowrap;
5027
- color: var(--text-color-primary);
5028
- }
5029
- .contact-container-main .contact-content[data-v-939000cb] {
5030
- width: 62%;
5031
- overflow: hidden;
5032
- font-size: 14px;
5033
- text-overflow: ellipsis;
5034
- white-space: nowrap;
5035
- color: var(--text-color-secondary);
5036
- }
5037
- .contact-container-main .contact-bottom[data-v-939000cb] {
5038
- width: 90%;
5039
- padding-left: 40px;
5040
- font-family: "PingFang SC";
5041
- font-size: 12px;
5042
- font-style: normal;
5043
- font-weight: 400;
5044
- line-height: 17px;
5045
- text-align: center;
5046
- color: var(--text-color-secondary);
5047
- }
5048
- .contact-container-main .copy[data-v-939000cb] {
5049
- margin-left: 30px;
5050
- color: var(--text-color-link);
5051
- }
5052
- .cancel[data-v-939000cb] {
5053
- flex: 1;
5054
- padding-right: 30px;
5055
- font-size: 16px;
5056
- font-weight: 400;
5057
- text-align: end;
5058
- }.more-container[data-v-17479e8d] {
5059
- padding: 20px;
5060
- }
5061
- .more-container .more-title[data-v-17479e8d] {
5062
- display: flex;
5063
- align-items: center;
5064
- }
5065
- .more-container .more-title .email-icon[data-v-17479e8d] {
5066
- color: var(--uikit-color-gray-7);
5067
- }
5068
- .more-container .more-title .more-notice[data-v-17479e8d] {
5069
- width: 100%;
5070
- height: 22px;
5071
- padding-left: 8px;
5072
- font-size: 14px;
5073
- font-weight: 400;
5074
- line-height: 22px;
5075
- color: var(--text-color-primary);
5076
- }
5077
- .more-container .more-item[data-v-17479e8d] {
5078
- position: relative;
5079
- display: flex;
5080
- flex-direction: column;
5081
- }
5082
- .more-container .more-item[data-v-17479e8d]:not(:first-child) {
5083
- margin-top: 20px;
5084
- }
5085
- .more-container .more-item:not(:first-child) .item-title[data-v-17479e8d] {
5086
- width: 100%;
5087
- padding-bottom: 8px;
5088
- font-size: 14px;
5089
- font-weight: 400;
5090
- line-height: 22px;
5091
- color: var(--text-color-primary);
5092
- }
5093
- .more-container .more-item:not(:first-child) .more-content[data-v-17479e8d] {
5094
- position: relative;
5095
- box-sizing: border-box;
5096
- display: inline-block;
5097
- flex: 1;
5098
- height: 42px;
5099
- padding: 10px 30px 10px 16px;
5100
- overflow: hidden;
5101
- font-size: 14px;
5102
- font-weight: 500;
5103
- line-height: 22px;
5104
- text-overflow: ellipsis;
5105
- white-space: nowrap;
5106
- border-radius: 8px;
5107
- outline: none;
5108
- transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
5109
- color: var(--text-color-primary);
5110
- background-color: var(--bg-color-input);
5111
- border: 1px solid var(--stroke-color-module);
5112
- }
5113
- .more-container .more-item:not(:first-child) .copy-icon[data-v-17479e8d] {
5114
- position: absolute;
5115
- top: 45px;
5116
- right: 10px;
5117
- display: flex;
5118
- align-items: center;
5119
- justify-content: center;
5120
- cursor: pointer;
5121
- color: var(--text-color-link);
5122
5114
  }.conversation[data-v-b897add1] {
5123
5115
  height: 100%;
5124
5116
  padding: 20px;
@@ -60,7 +60,7 @@ const ZH = {
60
60
  me: "我",
61
61
  Admin: "管理员",
62
62
  RoomOwner: "主持人",
63
- Vote: "表决",
63
+ "Vote": "表决",
64
64
  More: "更多",
65
65
  "AI Assistant": "AI 助手",
66
66
  "AI real-time conference content": "AI 实时会议内容",
@@ -4,7 +4,7 @@ interface IComponentManager {
4
4
  getComponentConfig(name: ComponentName): ComponentConfigItem;
5
5
  setComponentConfig(options: Partial<ComponentConfig>): boolean;
6
6
  }
7
- declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
7
+ declare const componentNames: readonly ["SwitchTheme", "LayoutControl", "RoomInfo", "RoomLink", "Language", "UserInfo", "ScreenShare", "FullScreen", "ManageMemberControl", "InviteControl", "ChatControl", "VoteControl", "MoreControl", "VirtualBackground", "BasicBeauty", "AIControl"];
8
8
  export type ComponentName = (typeof componentNames)[number];
9
9
  type ComponentConfigItem = {
10
10
  visible: boolean;
@@ -14,6 +14,7 @@ const componentNames = [
14
14
  "ManageMemberControl",
15
15
  "InviteControl",
16
16
  "ChatControl",
17
+ "VoteControl",
17
18
  "MoreControl",
18
19
  "VirtualBackground",
19
20
  "BasicBeauty",
@@ -32,6 +33,7 @@ const defaultConfig = {
32
33
  ManageMemberControl: { visible: true },
33
34
  InviteControl: { visible: true },
34
35
  ChatControl: { visible: true },
36
+ VoteControl: { visible: true },
35
37
  MoreControl: { visible: true },
36
38
  VirtualBackground: { visible: false },
37
39
  AIControl: { visible: false },