@ndscnj/roomkit-web-vue3 25.12.24164 → 25.12.24166

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 (43) 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 +32 -76
  4. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue.mjs +1 -1
  5. package/es/components/RoomFooter/VoteControl/MoreControlPC.vue2.mjs +8 -9
  6. package/es/components/RoomFooter/VoteControl/index.d.ts +0 -4
  7. package/es/components/RoomFooter/index/index.d.ts +4 -26
  8. package/es/components/RoomFooter/index/indexH5.vue.d.ts +1 -10
  9. package/es/components/RoomFooter/index/indexH5.vue.mjs +1 -1
  10. package/es/components/RoomFooter/index/indexH5.vue2.mjs +1 -2
  11. package/es/components/RoomSidebar/indexPC.vue.d.ts +1 -0
  12. package/es/components/RoomSidebar/indexPC.vue.mjs +3 -0
  13. package/es/components/RoomVote/index.d.ts +18 -2
  14. package/es/components/RoomVote/indexH5.vue.d.ts +1 -1
  15. package/es/components/RoomVote/indexH5.vue.mjs +3 -3
  16. package/es/conference.vue.mjs +1 -1
  17. package/es/conference.vue2.mjs +4 -9
  18. package/es/index.mjs +58 -118
  19. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.d.ts +2 -2
  20. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue.js +1 -1
  21. package/lib/components/RoomFooter/VoteControl/MoreControlH5.vue2.js +30 -74
  22. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue.js +1 -1
  23. package/lib/components/RoomFooter/VoteControl/MoreControlPC.vue2.js +7 -8
  24. package/lib/components/RoomFooter/VoteControl/index.d.ts +0 -4
  25. package/lib/components/RoomFooter/index/index.d.ts +4 -26
  26. package/lib/components/RoomFooter/index/indexH5.vue.d.ts +1 -10
  27. package/lib/components/RoomFooter/index/indexH5.vue.js +1 -1
  28. package/lib/components/RoomFooter/index/indexH5.vue2.js +0 -1
  29. package/lib/components/RoomSidebar/indexPC.vue.d.ts +1 -0
  30. package/lib/components/RoomSidebar/indexPC.vue.js +3 -0
  31. package/lib/components/RoomVote/index.d.ts +18 -2
  32. package/lib/components/RoomVote/indexH5.vue.d.ts +1 -1
  33. package/lib/components/RoomVote/indexH5.vue.js +3 -3
  34. package/lib/conference.vue.js +1 -1
  35. package/lib/conference.vue2.js +4 -9
  36. package/lib/index.js +58 -118
  37. package/package.json +1 -1
  38. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlH5.vue +27 -108
  39. package/src/TUIRoom/components/RoomFooter/VoteControl/MoreControlPC.vue +1 -1
  40. package/src/TUIRoom/components/RoomFooter/index/indexH5.vue +0 -1
  41. package/src/TUIRoom/components/RoomSidebar/indexPC.vue +3 -0
  42. package/src/TUIRoom/components/RoomVote/indexH5.vue +61 -89
  43. package/src/TUIRoom/conference.vue +4 -7
@@ -1,122 +1,41 @@
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
+ <IconMore size="24" />
9
+ <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt=""/>
10
+ </icon-button>
26
11
  </div>
27
12
  </template>
28
13
  <script setup lang="ts">
29
- import { ref, onMounted, onUnmounted, defineEmits } from 'vue';
30
- import { IconExtension } from '@tencentcloud/uikit-base-component-vue3';
14
+ import { IconMore } from '@tencentcloud/uikit-base-component-vue3';
31
15
  import IconButton from '../../common/base/IconButton.vue';
32
16
  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
17
  import { roomService } from '../../../services';
40
-
18
+ import { defineEmits} from 'vue';
41
19
  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;
20
+ const { t, basicStore, sidebarName } = userMoreControl();
21
+ const emit = defineEmits(['on-vote']);
22
+ function toggleMoreSidebar() {
23
+ if (basicStore.setSidebarOpenStatus && basicStore.sidebarName === 'vote') {
24
+ basicStore.setSidebarOpenStatus(false);
25
+ basicStore.setSidebarName('');
26
+ return;
67
27
  }
28
+ basicStore.setSidebarOpenStatus(true);
29
+ basicStore.setSidebarName('vote');
30
+ emit('on-vote', {
31
+ name: 'onVote',
32
+ visible:basicStore.isSidebarOpen,
33
+ });
68
34
  }
69
-
70
- onMounted(() => {
71
- document?.addEventListener('click', handleDocumentClick, true);
72
- });
73
-
74
- onUnmounted(() => {
75
- document?.removeEventListener('click', handleDocumentClick, true);
76
- });
77
35
  </script>
78
36
  <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);
37
+ .ndsc-img-box{
38
+ width: 50px;
39
+ height: 50px
121
40
  }
122
41
  </style>
@@ -6,8 +6,8 @@
6
6
  @click-icon="toggleMoreSidebar"
7
7
  >
8
8
  <IconMore size="24" />
9
+ <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt=""/>
9
10
  </icon-button>
10
- <img class="ndsc-img-box" src="../../../assets/imgs/vote-icon.png" alt="" click="toggleMoreSidebar"/>
11
11
  </div>
12
12
  </template>
13
13
  <script setup lang="ts">
@@ -14,7 +14,6 @@
14
14
  v-if="!roomStore.isSpeakAfterTakingSeatMode"
15
15
  v-tap="() => handleControlClick('chatControl')"
16
16
  />
17
- <slot name="contentH5"></slot>
18
17
  <AIControl
19
18
  @click="handleControlClick('AIControl')"
20
19
  />
@@ -12,6 +12,9 @@
12
12
  <template #content>
13
13
  <slot name="content"></slot>
14
14
  </template>
15
+ <template #contentH5>
16
+ <slot name="contentH5"></slot>
17
+ </template>
15
18
  </room-vote>
16
19
  <room-more v-if="sidebarName == 'more'" />
17
20
  <manage-member v-if="sidebarName == 'manage-member'" />
@@ -1,112 +1,84 @@
1
1
  <template>
2
- <div class="contact-container-main">
3
- <slot name="content"></slot>
2
+ <div class="more-container">
3
+ <slot name="contentH5"></slot>
4
4
  </div>
5
5
  </template>
6
6
 
7
7
  <script setup lang="ts">
8
-
9
8
  </script>
10
9
 
11
10
  <style lang="scss" scoped>
12
- span {
13
- padding-right: 5px;
14
- font-size: 12px;
15
- font-weight: 500;
16
- line-height: 17px;
17
- }
11
+ .more-container {
12
+ padding: 20px;
18
13
 
19
- .contact-container-main {
20
- position: fixed;
21
- bottom: 0;
22
- display: flex;
23
- flex-direction: column;
24
- width: 100%;
25
- padding-bottom: 4vh;
26
- border-radius: 15px 15px 0 0;
27
- animation-name: popup;
28
- animation-duration: 200ms;
29
- background-color: var(--bg-color-operate);
14
+ .more-title {
15
+ display: flex;
16
+ align-items: center;
30
17
 
31
- @keyframes popup {
32
- from {
33
- transform: scaleY(0);
34
- transform-origin: bottom;
18
+ .email-icon {
19
+ color: var(--uikit-color-gray-7);
35
20
  }
36
21
 
37
- to {
38
- transform: scaleY(1);
39
- transform-origin: bottom;
22
+ .more-notice {
23
+ width: 100%;
24
+ height: 22px;
25
+ padding-left: 8px;
26
+ font-size: 14px;
27
+ font-weight: 400;
28
+ line-height: 22px;
29
+ color: var(--text-color-primary);
40
30
  }
41
31
  }
42
32
 
43
- .contact-title-main {
44
- display: flex;
45
- flex-direction: row;
46
- align-items: center;
47
- padding: 30px 0 20px 25px;
48
- font-family: 'PingFang SC';
49
- font-size: 20px;
50
- font-style: normal;
51
- font-weight: 500;
52
- line-height: 24px;
53
- color: var(--text-color-primary);
54
- }
55
-
56
- .contact-content-main {
33
+ .more-item {
34
+ position: relative;
57
35
  display: flex;
58
- flex-direction: row;
59
- align-items: center;
60
- width: 90%;
61
- height: 15%;
62
- padding: 0 0 0 25px;
63
- margin-bottom: 10px;
64
- }
36
+ flex-direction: column;
65
37
 
66
- .contact-title,
67
- .contact-content {
68
- width: 28%;
69
- font-family: 'PingFang SC';
70
- font-size: 14px;
71
- font-style: normal;
72
- font-weight: 400;
73
- line-height: 20px;
74
- white-space: nowrap;
75
- color: var(--text-color-primary);
76
- }
38
+ &:not(:first-child) {
39
+ margin-top: 20px;
77
40
 
78
- .contact-content {
79
- width: 62%;
80
- overflow: hidden;
81
- font-size: 14px;
82
- text-overflow: ellipsis;
83
- white-space: nowrap;
84
- color: var(--text-color-secondary);
85
- }
41
+ .item-title {
42
+ width: 100%;
43
+ padding-bottom: 8px;
44
+ font-size: 14px;
45
+ font-weight: 400;
46
+ line-height: 22px;
47
+ color: var(--text-color-primary);
48
+ }
86
49
 
87
- .contact-bottom {
88
- width: 90%;
89
- padding-left: 40px;
90
- font-family: 'PingFang SC';
91
- font-size: 12px;
92
- font-style: normal;
93
- font-weight: 400;
94
- line-height: 17px;
95
- text-align: center;
96
- color: var(--text-color-secondary);
97
- }
50
+ .more-content {
51
+ position: relative;
52
+ box-sizing: border-box;
53
+ display: inline-block;
54
+ flex: 1;
55
+ height: 42px;
56
+ padding: 10px 30px 10px 16px;
57
+ overflow: hidden;
58
+ font-size: 14px;
59
+ font-weight: 500;
60
+ line-height: 22px;
61
+ text-overflow: ellipsis;
62
+ white-space: nowrap;
63
+ border-radius: 8px;
64
+ outline: none;
65
+ transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
66
+ color: var(--text-color-primary);
67
+ background-color: var(--bg-color-input);
68
+ border: 1px solid var(--stroke-color-module);
69
+ }
98
70
 
99
- .copy {
100
- margin-left: 30px;
101
- color: var(--text-color-link);
71
+ .copy-icon {
72
+ position: absolute;
73
+ top: 45px;
74
+ right: 10px;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ cursor: pointer;
79
+ color: var(--text-color-link);
80
+ }
81
+ }
102
82
  }
103
83
  }
104
-
105
- .cancel {
106
- flex: 1;
107
- padding-right: 30px;
108
- font-size: 16px;
109
- font-weight: 400;
110
- text-align: end;
111
- }
112
84
  </style>
@@ -18,16 +18,13 @@
18
18
  @show-overlay="handleShowOverlay"
19
19
  @on-vote="onVote"
20
20
  >
21
- <template #content>
22
- <slot name="content"></slot>
23
- </template>
24
- <template #contentH5>
25
- <slot name="contentH5"></slot>
26
- </template>
27
21
  </room-footer>
28
22
  <room-sidebar @on-vote="onVote">
29
23
  <template #content>
30
- <slot name="content"></slot>
24
+ <slot name="content"></slot>
25
+ </template>
26
+ <template #contentH5>
27
+ <slot name="contentH5"></slot>
31
28
  </template>
32
29
  </room-sidebar>
33
30
  <room-setting />