tuikit-atomicx-vue3 4.5.0 → 4.5.2

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 (182) hide show
  1. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-jPzZ5INK.js → MessageInput.vue_vue_type_script_setup_true_lang-3RVYOdkv.js} +38 -38
  2. package/dist/{PopoverTrigger-L8abAry7.js → PopoverPortal-DV6zFXcf.js} +91 -136
  3. package/dist/PopoverTrigger-DIjW4PKa.js +54 -0
  4. package/dist/{PopperContent-XdhqL8Y2.js → PopperContent-D__dbwpA.js} +6 -6
  5. package/dist/{Teleport-CSEuZbpM.js → Teleport-98QrIYDI.js} +280 -270
  6. package/dist/baseComp/Modal/Modal.js +3 -3
  7. package/dist/components/AudioSettingPanel/index.js +14 -14
  8. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +10 -9
  9. package/dist/components/BarrageInput/TextEditor/CharacterCountExtension.js +1 -1
  10. package/dist/components/BarrageInput/TextEditor/EditorCore.js +16 -15
  11. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +53 -50
  12. package/dist/components/ConversationList/ConversationActions/ConversationActions.vue.d.ts +2 -0
  13. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +25 -25
  14. package/dist/components/ConversationList/ConversationList.vue.d.ts +16 -0
  15. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +16 -0
  16. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.js +62 -40
  17. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +28 -26
  18. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.js +27 -23
  19. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue.d.ts +1 -1
  20. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +81 -70
  21. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +4 -0
  22. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUnread.js +33 -31
  23. package/dist/components/ConversationList/ConversationPreview/utils.d.ts +2 -2
  24. package/dist/components/ConversationList/ConversationPreview/utils.js +81 -35
  25. package/dist/components/ConversationList/i18n/en-US.d.ts +11 -1
  26. package/dist/components/ConversationList/i18n/en-US.js +12 -2
  27. package/dist/components/ConversationList/i18n/zh-CN.d.ts +11 -1
  28. package/dist/components/ConversationList/i18n/zh-CN.js +12 -2
  29. package/dist/components/ConversationList/index.d.ts +48 -0
  30. package/dist/components/MessageInput/AttachmentPicker/index.js +10 -9
  31. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +17 -16
  32. package/dist/components/MessageInput/MessageInput.js +1 -1
  33. package/dist/components/MessageInput/QuotedMessagePreview/index.js +35 -35
  34. package/dist/components/MessageInput/TextEditor/EditorCore.d.ts +13 -12
  35. package/dist/components/MessageInput/TextEditor/EditorCore.js +54 -89
  36. package/dist/components/MessageInput/TextEditor/extensions/MentionSuggestion.js +229 -0
  37. package/dist/components/MessageInput/TextEditor/extensions/MentionSuggestion.vue.d.ts +15 -0
  38. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.js +1 -1
  39. package/dist/components/MessageInput/TextEditor/extensions/emojiExtension.d.ts +1 -0
  40. package/dist/components/MessageInput/TextEditor/extensions/emojiExtension.js +22 -0
  41. package/dist/components/MessageInput/TextEditor/extensions/enterKeyExtension.d.ts +3 -0
  42. package/dist/components/MessageInput/TextEditor/extensions/enterKeyExtension.js +15 -0
  43. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.js +2 -2
  44. package/dist/components/MessageInput/TextEditor/extensions/index.d.ts +8 -0
  45. package/dist/components/MessageInput/TextEditor/extensions/index.js +12 -0
  46. package/dist/components/MessageInput/TextEditor/extensions/mentionExtension.d.ts +5 -0
  47. package/dist/components/MessageInput/TextEditor/extensions/mentionExtension.js +330 -0
  48. package/dist/components/MessageInput/TextEditor/index.js +62 -62
  49. package/dist/components/MessageInput/i18n/en-US.d.ts +3 -0
  50. package/dist/components/MessageInput/i18n/en-US.js +4 -1
  51. package/dist/components/MessageInput/i18n/index.d.ts +6 -0
  52. package/dist/components/MessageInput/i18n/zh-CN.d.ts +3 -0
  53. package/dist/components/MessageInput/i18n/zh-CN.js +4 -1
  54. package/dist/components/MessageInput/index.js +1 -1
  55. package/dist/components/MessageList/Message/ImageMessage/ImageMessage.js +119 -89
  56. package/dist/components/MessageList/Message/ImageMessage/ImagePreview.js +142 -0
  57. package/dist/components/MessageList/Message/ImageMessage/ImagePreview.vue.d.ts +20 -0
  58. package/dist/components/MessageList/Message/Message.vue.d.ts +8 -0
  59. package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.js +3 -3
  60. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +69 -58
  61. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.vue.d.ts +8 -0
  62. package/dist/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.js +37 -28
  63. package/dist/components/MessageList/Message/index.js +8 -4
  64. package/dist/components/MessageList/MessageList.js +109 -91
  65. package/dist/components/MessageList/MessageList.vue.d.ts +1 -1
  66. package/dist/components/MessageList/index.d.ts +21 -3
  67. package/dist/components/ScheduleRoomPanel/RoomDetail.js +22 -22
  68. package/dist/components/ScheduleRoomPanel/RoomEdit.js +1 -1
  69. package/dist/components/ScheduleRoomPanel/RoomShare.js +4 -4
  70. package/dist/components/ScheduleRoomPanel/ScheduleRoomPanel.js +1 -1
  71. package/dist/components/ScheduleRoomPanel/ScheduledRoomList.js +1 -1
  72. package/dist/components/Search/SearchResults/SearchResultsItem/Message/Message.js +6 -6
  73. package/dist/components/Search/SearchResults/SearchResultsItem/Message/Message.vue.d.ts +1 -1
  74. package/dist/components/UIKitModal/chatErrorModal/chatErrorModal.d.ts +72 -0
  75. package/dist/components/UIKitModal/chatErrorModal/chatErrorModal.js +95 -0
  76. package/dist/components/UIKitModal/chatErrorModal/i18n/en-US/index.d.ts +40 -0
  77. package/dist/components/UIKitModal/chatErrorModal/i18n/en-US/index.js +51 -0
  78. package/dist/components/UIKitModal/chatErrorModal/i18n/index.d.ts +4 -0
  79. package/dist/components/UIKitModal/chatErrorModal/i18n/index.js +6 -0
  80. package/dist/components/UIKitModal/chatErrorModal/i18n/zh-CN/index.d.ts +40 -0
  81. package/dist/components/UIKitModal/chatErrorModal/i18n/zh-CN/index.js +51 -0
  82. package/dist/components/UIKitModal/chatErrorModal/index.d.ts +3 -0
  83. package/dist/components/UIKitModal/chatErrorModal/index.js +11 -0
  84. package/dist/components/VideoSettingPanel/index.js +1 -1
  85. package/dist/hooks/useReadReceipt/useReadReceipt.js +44 -41
  86. package/dist/index-CTthrJb2.js +1461 -0
  87. package/dist/index-DXC5bPY4.js +2174 -0
  88. package/dist/{index-Do-2CngU.js → index-DuAffztD.js} +115 -142
  89. package/dist/{index-7vNB_Vx8.js → index-hHVD-MG2.js} +1 -1
  90. package/dist/index.d.ts +1 -1
  91. package/dist/index.js +150 -149
  92. package/dist/states/GroupSettingState/GroupSettingState.js +109 -102
  93. package/dist/states/LoginState.js +43 -43
  94. package/dist/states/MessageActionState/MessageActionState.js +83 -223
  95. package/dist/states/MessageInputState/MessageInputState.js +111 -82
  96. package/dist/states/MessageInputState/type.d.ts +36 -10
  97. package/dist/states/MessageInputState/utils.d.ts +1 -5
  98. package/dist/states/MessageListState/MessageListState.d.ts +1 -1
  99. package/dist/states/MessageListState/MessageListState.js +26 -23
  100. package/dist/states/RoomParticipantState/index.js +83 -24
  101. package/dist/states/RoomParticipantState/participantEventManager.d.ts +2 -2
  102. package/dist/states/RoomParticipantState/participantEventManager.js +217 -205
  103. package/dist/states/RoomParticipantState/participantManager.d.ts +4 -0
  104. package/dist/states/RoomParticipantState/participantManager.js +159 -127
  105. package/dist/states/RoomState/callManager.d.ts +3 -3
  106. package/dist/states/RoomState/callManager.js +20 -20
  107. package/dist/states/RoomState/common.d.ts +3 -2
  108. package/dist/states/RoomState/common.js +34 -24
  109. package/dist/states/RoomState/roomManager.d.ts +0 -1
  110. package/dist/states/RoomState/roomManager.js +21 -27
  111. package/dist/states/RoomState/scheduleManager.js +2 -2
  112. package/dist/styles/index.css +1 -1
  113. package/dist/{chat/index.d.ts → subEntry/chat/chat.d.ts} +2160 -2087
  114. package/dist/subEntry/chat/chat.js +89 -0
  115. package/dist/subEntry/chat/index.d.ts +11 -0
  116. package/dist/subEntry/chat/index.js +81 -0
  117. package/dist/{chat → subEntry/chat}/server.js +4 -4
  118. package/dist/subEntry/live/index.js +46 -45
  119. package/dist/subEntry/room/index.js +39 -38
  120. package/dist/types/beauty.d.ts +20 -0
  121. package/dist/types/index.js +37 -36
  122. package/dist/types/participant.d.ts +2 -0
  123. package/dist/types/room.d.ts +45 -1
  124. package/dist/types/room.js +4 -3
  125. package/dist/{useId-CtirfF0W.js → useId-B1VwPJLm.js} +1 -1
  126. package/dist/utils/call.js +77 -71
  127. package/dist/{utils-DaB7eSu5.js → utils-BU8IkP_V.js} +1 -1
  128. package/package.json +8 -7
  129. package/src/components/AudioSettingPanel/index.vue +4 -5
  130. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +7 -1
  131. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +5 -1
  132. package/src/components/ConversationList/ConversationList.vue +0 -1
  133. package/src/components/ConversationList/ConversationPreview/ConversationPreview.scss +10 -2
  134. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +32 -1
  135. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +3 -2
  136. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +15 -0
  137. package/src/components/ConversationList/ConversationPreview/utils.ts +98 -28
  138. package/src/components/ConversationList/i18n/en-US.ts +11 -1
  139. package/src/components/ConversationList/i18n/zh-CN.ts +11 -1
  140. package/src/components/MessageInput/MessageInput.module.scss +1 -0
  141. package/src/components/MessageInput/QuotedMessagePreview/QuotedMessagePreview.vue +19 -22
  142. package/src/components/MessageInput/TextEditor/Editor.scss +25 -0
  143. package/src/components/MessageInput/TextEditor/EditorCore.ts +79 -99
  144. package/src/components/MessageInput/TextEditor/TextEditor.vue +64 -68
  145. package/src/components/MessageInput/TextEditor/extensions/MentionSuggestion.vue +449 -0
  146. package/src/components/MessageInput/TextEditor/extensions/emojiExtension.ts +22 -0
  147. package/src/components/MessageInput/TextEditor/extensions/enterKeyExtension.ts +22 -0
  148. package/src/components/MessageInput/TextEditor/extensions/index.ts +8 -0
  149. package/src/components/MessageInput/TextEditor/extensions/mentionExtension.ts +87 -0
  150. package/src/components/MessageInput/i18n/en-US.ts +3 -0
  151. package/src/components/MessageInput/i18n/zh-CN.ts +3 -0
  152. package/src/components/MessageList/Message/ImageMessage/ImageMessage.vue +49 -0
  153. package/src/components/MessageList/Message/ImageMessage/ImagePreview.vue +344 -0
  154. package/src/components/MessageList/Message/Message.vue +6 -0
  155. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +8 -1
  156. package/src/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +12 -3
  157. package/src/components/MessageList/MessageList.vue +50 -14
  158. package/src/components/ScheduleRoomPanel/RoomDetail.vue +1 -0
  159. package/src/components/ScheduleRoomPanel/RoomEdit.vue +2 -1
  160. package/src/components/ScheduleRoomPanel/RoomShare.vue +1 -0
  161. package/src/components/ScheduleRoomPanel/ScheduleRoomPanel.vue +1 -0
  162. package/src/components/ScheduleRoomPanel/ScheduledRoomList.vue +1 -0
  163. package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.vue +30 -31
  164. package/src/components/UIKitModal/chatErrorModal/chatErrorModal.ts +205 -0
  165. package/src/components/UIKitModal/chatErrorModal/i18n/en-US/index.ts +56 -0
  166. package/src/components/UIKitModal/chatErrorModal/i18n/index.ts +4 -0
  167. package/src/components/UIKitModal/chatErrorModal/i18n/zh-CN/index.ts +56 -0
  168. package/src/components/UIKitModal/chatErrorModal/index.ts +16 -0
  169. package/src/components/VideoSettingPanel/index.vue +1 -0
  170. package/src/hooks/useReadReceipt/useReadReceipt.ts +5 -4
  171. package/src/index.ts +1 -1
  172. package/src/{chat/index.ts → subEntry/chat/chat.ts} +25 -18
  173. package/src/subEntry/chat/index.ts +13 -0
  174. package/src/{chat → subEntry/chat}/server.ts +3 -3
  175. package/src/types/beauty.ts +20 -0
  176. package/src/types/participant.ts +3 -0
  177. package/src/types/room.ts +49 -1
  178. package/src/utils/call.ts +8 -0
  179. package/dist/chat/index.js +0 -59
  180. package/dist/index-ZILx4LYk.js +0 -4826
  181. package/dist/states/SearchState.d.ts +0 -314
  182. /package/dist/{chat → subEntry/chat}/server.d.ts +0 -0
@@ -2,54 +2,55 @@ import { AudioRoute as t, DeviceError as a, DevicePermission as r, DeviceStatus
2
2
  import { QuoteTypeEnum as l, TranslationStatusEnum as y, VoiceToTextStatusEnum as v } from "./message.js";
3
3
  import { VariantType as c, defaultTypeLabels as I } from "./search.js";
4
4
  import { ConversationType as U, MessageType as f, SearchType as S } from "./engine.js";
5
- import { CreateConvTypes as C, GroupLabelTypes as E, GroupType as M, PageStateTypes as L, PlaceHolderTypes as g } from "./conversation.js";
5
+ import { CreateConvTypes as x, GroupLabelTypes as E, GroupType as M, PageStateTypes as L, PlaceHolderTypes as g } from "./conversation.js";
6
6
  import { ContactItemType as D, GroupApplicationType as k } from "./contact.js";
7
7
  import { CallMediaType as A } from "./call.js";
8
- import { TRTCRole as G, TUIAudioQuality as Q, TUIAudioRoute as O, TUICaptureSourceType as H, TUIChangeReason as b, TUIConferenceCancelReason as q, TUIConferenceInvitationManagerEvents as K, TUIConferenceListManagerEvents as N, TUIConferenceStatus as h, TUIErrorCode as w, TUIInvitationCode as F, TUIInvitationRejectedReason as j, TUIInvitationStatus as z, TUIKickedOutOfRoomReason as J, TUILiveLayoutManagerEvents as W, TUILiveListManagerEvents as X, TUILiveModifyFlag as Y, TUIMediaDevice as Z, TUIMediaDeviceState as _, TUIMediaDeviceType as $, TUINetworkQuality as ee, TUIRequestAction as oe, TUIRequestCallbackType as te, TUIResolutionMode as ae, TUIRole as re, TUIRoomDismissedReason as ie, TUIRoomEvents as ne, TUIRoomType as pe, TUISeatMode as Te, TUIVideoQuality as se, TUIVideoStreamType as ue } from "./types.js";
8
+ import { TRTCRole as G, TUIAudioQuality as Q, TUIAudioRoute as O, TUICaptureSourceType as H, TUIChangeReason as b, TUIConferenceCancelReason as q, TUIConferenceInvitationManagerEvents as K, TUIConferenceListManagerEvents as N, TUIConferenceStatus as h, TUIErrorCode as j, TUIInvitationCode as w, TUIInvitationRejectedReason as F, TUIInvitationStatus as z, TUIKickedOutOfRoomReason as J, TUILiveLayoutManagerEvents as W, TUILiveListManagerEvents as X, TUILiveModifyFlag as Y, TUIMediaDevice as Z, TUIMediaDeviceState as _, TUIMediaDeviceType as $, TUINetworkQuality as ee, TUIRequestAction as oe, TUIRequestCallbackType as te, TUIResolutionMode as ae, TUIRole as re, TUIRoomDismissedReason as ie, TUIRoomEvents as ne, TUIRoomType as pe, TUISeatMode as Te, TUIVideoQuality as se, TUIVideoStreamType as ue } from "./types.js";
9
9
  import { LiveEndedReason as le, LiveKickedOutReason as ye, LiveListEvent as ve, LiveOrientation as Re, LiveType as ce } from "./live.js";
10
10
  import { StreamPlayMode as de, StreamPlayQuality as Ue } from "./stream.js";
11
11
  import { LiveAudienceEvent as Se } from "./audience.js";
12
- import { DeviceControlPolicy as Ce, LiveSeatEvent as Ee, MoveSeatPolicy as Me, Role as Le } from "./seat.js";
12
+ import { DeviceControlPolicy as xe, LiveSeatEvent as Ee, MoveSeatPolicy as Me, Role as Le } from "./seat.js";
13
13
  import { MonitorDeviceStatus as Pe } from "./monitor.js";
14
14
  import { GuestEvent as ke, HostEvent as Ve, NoResponseReason as Ae } from "./coGuest.js";
15
15
  import { CoHostEvent as Ge, CoHostLayoutTemplate as Qe, CoHostStatus as Oe } from "./coHost.js";
16
16
  import { BattleEndedReason as be, BattleEvent as qe } from "./battle.js";
17
17
  import { BarrageType as Ne } from "./barrage.js";
18
- import { RoomCallResult as we, RoomCallStatus as Fe, RoomEvent as je, RoomStatus as ze } from "./room.js";
19
- import { FillMode as We, KickedOutOfRoomReason as Xe, RoomLayoutTemplate as Ye, RoomParticipantEvent as Ze, RoomParticipantRole as _e, RoomParticipantStatus as $e, VideoStreamType as eo } from "./participant.js";
20
- import { TRTCBeautyStyle as to } from "./beauty.js";
21
- import { VirtualBackgroundEvent as ro, VirtualBackgroundType as io } from "./virtualBackground.js";
22
- import { BattleStatus as po, ConnectionStatus as To, RequestType as so, SeatStatus as uo, StreamPlayStatus as mo, UserAction as lo, UserRoomStatus as yo } from "./user.js";
23
- import { GroupInviteType as Ro, GroupMemberRole as co, GroupPermission as Io } from "../states/GroupSettingState/types.js";
18
+ import { CallRejectReason as je, RoomCallResult as we, RoomCallStatus as Fe, RoomEvent as ze, RoomStatus as Je } from "./room.js";
19
+ import { FillMode as Xe, KickedOutOfRoomReason as Ye, RoomLayoutTemplate as Ze, RoomParticipantEvent as _e, RoomParticipantRole as $e, RoomParticipantStatus as eo, VideoStreamType as oo } from "./participant.js";
20
+ import { TRTCBeautyStyle as ao } from "./beauty.js";
21
+ import { VirtualBackgroundEvent as io, VirtualBackgroundType as no } from "./virtualBackground.js";
22
+ import { BattleStatus as To, ConnectionStatus as so, RequestType as uo, SeatStatus as mo, StreamPlayStatus as lo, UserAction as yo, UserRoomStatus as vo } from "./user.js";
23
+ import { GroupInviteType as co, GroupMemberRole as Io, GroupPermission as Uo } from "../states/GroupSettingState/types.js";
24
24
  export {
25
25
  t as AudioRoute,
26
26
  Ne as BarrageType,
27
27
  be as BattleEndedReason,
28
28
  qe as BattleEvent,
29
- po as BattleStatus,
29
+ To as BattleStatus,
30
30
  A as CallMediaType,
31
+ je as CallRejectReason,
31
32
  Ge as CoHostEvent,
32
33
  Qe as CoHostLayoutTemplate,
33
34
  Oe as CoHostStatus,
34
- To as ConnectionStatus,
35
+ so as ConnectionStatus,
35
36
  D as ContactItemType,
36
37
  U as ConversationType,
37
- C as CreateConvTypes,
38
- Ce as DeviceControlPolicy,
38
+ x as CreateConvTypes,
39
+ xe as DeviceControlPolicy,
39
40
  a as DeviceError,
40
41
  r as DevicePermission,
41
42
  i as DeviceStatus,
42
43
  n as DeviceType,
43
- We as FillMode,
44
+ Xe as FillMode,
44
45
  k as GroupApplicationType,
45
- Ro as GroupInviteType,
46
+ co as GroupInviteType,
46
47
  E as GroupLabelTypes,
47
- co as GroupMemberRole,
48
- Io as GroupPermission,
48
+ Io as GroupMemberRole,
49
+ Uo as GroupPermission,
49
50
  M as GroupType,
50
51
  ke as GuestEvent,
51
52
  Ve as HostEvent,
52
- Xe as KickedOutOfRoomReason,
53
+ Ye as KickedOutOfRoomReason,
53
54
  Se as LiveAudienceEvent,
54
55
  le as LiveEndedReason,
55
56
  ye as LiveKickedOutReason,
@@ -67,22 +68,22 @@ export {
67
68
  L as PageStateTypes,
68
69
  g as PlaceHolderTypes,
69
70
  l as QuoteTypeEnum,
70
- so as RequestType,
71
+ uo as RequestType,
71
72
  Le as Role,
72
73
  we as RoomCallResult,
73
74
  Fe as RoomCallStatus,
74
- je as RoomEvent,
75
- Ye as RoomLayoutTemplate,
76
- Ze as RoomParticipantEvent,
77
- _e as RoomParticipantRole,
78
- $e as RoomParticipantStatus,
79
- ze as RoomStatus,
75
+ ze as RoomEvent,
76
+ Ze as RoomLayoutTemplate,
77
+ _e as RoomParticipantEvent,
78
+ $e as RoomParticipantRole,
79
+ eo as RoomParticipantStatus,
80
+ Je as RoomStatus,
80
81
  S as SearchType,
81
- uo as SeatStatus,
82
+ mo as SeatStatus,
82
83
  de as StreamPlayMode,
83
84
  Ue as StreamPlayQuality,
84
- mo as StreamPlayStatus,
85
- to as TRTCBeautyStyle,
85
+ lo as StreamPlayStatus,
86
+ ao as TRTCBeautyStyle,
86
87
  G as TRTCRole,
87
88
  Q as TUIAudioQuality,
88
89
  O as TUIAudioRoute,
@@ -92,9 +93,9 @@ export {
92
93
  K as TUIConferenceInvitationManagerEvents,
93
94
  N as TUIConferenceListManagerEvents,
94
95
  h as TUIConferenceStatus,
95
- w as TUIErrorCode,
96
- F as TUIInvitationCode,
97
- j as TUIInvitationRejectedReason,
96
+ j as TUIErrorCode,
97
+ w as TUIInvitationCode,
98
+ F as TUIInvitationRejectedReason,
98
99
  z as TUIInvitationStatus,
99
100
  J as TUIKickedOutOfRoomReason,
100
101
  W as TUILiveLayoutManagerEvents,
@@ -115,13 +116,13 @@ export {
115
116
  se as TUIVideoQuality,
116
117
  ue as TUIVideoStreamType,
117
118
  y as TranslationStatusEnum,
118
- lo as UserAction,
119
- yo as UserRoomStatus,
119
+ yo as UserAction,
120
+ vo as UserRoomStatus,
120
121
  c as VariantType,
121
122
  u as VideoQuality,
122
- eo as VideoStreamType,
123
- ro as VirtualBackgroundEvent,
124
- io as VirtualBackgroundType,
123
+ oo as VideoStreamType,
124
+ io as VirtualBackgroundEvent,
125
+ no as VirtualBackgroundType,
125
126
  v as VoiceToTextStatusEnum,
126
127
  I as defaultTypeLabels
127
128
  };
@@ -139,6 +139,8 @@ export interface IRoomParticipantState {
139
139
  userId: string;
140
140
  device: DeviceType;
141
141
  }): Promise<void>;
142
+ muteMicrophone(): Promise<void>;
143
+ unmuteMicrophone(): Promise<void>;
142
144
  subscribeEvent(event: RoomParticipantEvent, callback: RoomParticipantEventPayloads[keyof RoomParticipantEventPayloads]): void;
143
145
  unsubscribeEvent(event: RoomParticipantEvent, callback: RoomParticipantEventPayloads[keyof RoomParticipantEventPayloads]): void;
144
146
  }
@@ -61,6 +61,22 @@ export declare enum RoomCallResult {
61
61
  AlreadyInCalling = 1,
62
62
  AlreadyInRoom = 2
63
63
  }
64
+ /**
65
+ * 呼叫拒绝原因枚举
66
+ * @enum {number}
67
+ * @description 表示呼叫被拒绝的原因。
68
+ *
69
+ */
70
+ export declare enum CallRejectReason {
71
+ /**
72
+ * 用户拒绝呼叫
73
+ */
74
+ Rejected = 0,
75
+ /**
76
+ * 用户已在其他房间中
77
+ */
78
+ InOtherRoom = 1
79
+ }
64
80
  export interface RoomCall {
65
81
  caller: RoomUser;
66
82
  callee: RoomUser;
@@ -157,6 +173,21 @@ export declare enum RoomEvent {
157
173
  onCallCancelled = "onCallCancelled",
158
174
  onCallTimeout = "onCallTimeout",
159
175
  onCallAccepted = "onCallAccepted",
176
+ /**
177
+ * 当您发出的呼叫被被叫方拒绝时触发。
178
+ * @event
179
+ * @param {object} options - 事件参数对象
180
+ * @param {RoomInfo} options.roomInfo - 房间信息
181
+ * @param {RoomCall} options.call - 呼叫信息
182
+ * @param {string} options.extensionInfo - 被叫方拒绝的原因或附加信息
183
+ * @example
184
+ * import { useRoomState, RoomEvent } from 'tuikit-atomicx-vue3';
185
+ *
186
+ * const roomState = useRoomState();
187
+ * roomState.subscribeEvent(RoomEvent.onCallRejected, ({ roomInfo, call, reason }) => {
188
+ * console.log(`${call.callee.userName} 拒绝了您的呼叫: ${reason}`);
189
+ * });
190
+ */
160
191
  onCallRejected = "onCallRejected",
161
192
  onCallHandledByOtherDevice = "onCallHandledByOtherDevice",
162
193
  onCallRevokedByAdmin = "onCallRevokedByAdmin"
@@ -196,11 +227,24 @@ export interface RoomEventHandlers {
196
227
  roomInfo: RoomInfo;
197
228
  call: RoomCall;
198
229
  }) => void;
230
+ /**
231
+ * onCallRejected 事件处理函数
232
+ * @param options - 事件数据
233
+ * @param options.roomInfo - 房间信息
234
+ * @param options.call - 呼叫信息
235
+ * @param options.reason - 被叫方拒绝原因
236
+ */
199
237
  onCallRejected: (options: {
200
238
  roomInfo: RoomInfo;
201
239
  call: RoomCall;
202
- extensionInfo: string;
240
+ reason: CallRejectReason;
203
241
  }) => void;
242
+ /**
243
+ * onCallHandledByOtherDevice 事件处理函数
244
+ * @param options - 事件数据
245
+ * @param options.roomInfo - 房间信息
246
+ * @param options.isAccepted - 呼叫是否在其他设备上被接受
247
+ */
204
248
  onCallHandledByOtherDevice: (options: {
205
249
  roomInfo: RoomInfo;
206
250
  isAccepted: boolean;
@@ -1,7 +1,8 @@
1
- var d = /* @__PURE__ */ ((e) => (e[e.Scheduled = 1] = "Scheduled", e[e.Running = 2] = "Running", e))(d || {}), n = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Calling = 1] = "Calling", e[e.Timeout = 2] = "Timeout", e[e.Rejected = 3] = "Rejected", e))(n || {}), l = /* @__PURE__ */ ((e) => (e[e.Success = 0] = "Success", e[e.AlreadyInCalling = 1] = "AlreadyInCalling", e[e.AlreadyInRoom = 2] = "AlreadyInRoom", e))(l || {}), c = /* @__PURE__ */ ((e) => (e.onAddedToScheduledRoom = "onAddedToScheduledRoom", e.onRemovedFromScheduledRoom = "onRemovedFromScheduledRoom", e.onScheduledRoomCancelled = "onScheduledRoomCancelled", e.onScheduledRoomStartingSoon = "onScheduledRoomStartingSoon", e.onRoomEnded = "onRoomEnded", e.onCallReceived = "onCallReceived", e.onCallCancelled = "onCallCancelled", e.onCallTimeout = "onCallTimeout", e.onCallAccepted = "onCallAccepted", e.onCallRejected = "onCallRejected", e.onCallHandledByOtherDevice = "onCallHandledByOtherDevice", e.onCallRevokedByAdmin = "onCallRevokedByAdmin", e))(c || {});
1
+ var d = /* @__PURE__ */ ((e) => (e[e.Scheduled = 1] = "Scheduled", e[e.Running = 2] = "Running", e))(d || {}), n = /* @__PURE__ */ ((e) => (e[e.None = 0] = "None", e[e.Calling = 1] = "Calling", e[e.Timeout = 2] = "Timeout", e[e.Rejected = 3] = "Rejected", e))(n || {}), c = /* @__PURE__ */ ((e) => (e[e.Success = 0] = "Success", e[e.AlreadyInCalling = 1] = "AlreadyInCalling", e[e.AlreadyInRoom = 2] = "AlreadyInRoom", e))(c || {}), r = /* @__PURE__ */ ((e) => (e[e.Rejected = 0] = "Rejected", e[e.InOtherRoom = 1] = "InOtherRoom", e))(r || {}), l = /* @__PURE__ */ ((e) => (e.onAddedToScheduledRoom = "onAddedToScheduledRoom", e.onRemovedFromScheduledRoom = "onRemovedFromScheduledRoom", e.onScheduledRoomCancelled = "onScheduledRoomCancelled", e.onScheduledRoomStartingSoon = "onScheduledRoomStartingSoon", e.onRoomEnded = "onRoomEnded", e.onCallReceived = "onCallReceived", e.onCallCancelled = "onCallCancelled", e.onCallTimeout = "onCallTimeout", e.onCallAccepted = "onCallAccepted", e.onCallRejected = "onCallRejected", e.onCallHandledByOtherDevice = "onCallHandledByOtherDevice", e.onCallRevokedByAdmin = "onCallRevokedByAdmin", e))(l || {});
2
2
  export {
3
- l as RoomCallResult,
3
+ r as CallRejectReason,
4
+ c as RoomCallResult,
4
5
  n as RoomCallStatus,
5
- c as RoomEvent,
6
+ l as RoomEvent,
6
7
  d as RoomStatus
7
8
  };
@@ -1,4 +1,4 @@
1
- import { i } from "./Teleport-CSEuZbpM.js";
1
+ import { i } from "./Teleport-98QrIYDI.js";
2
2
  import * as t from "vue";
3
3
  let n = 0;
4
4
  function u(d, e = "reka") {
@@ -1,12 +1,14 @@
1
- import { TUIChatEngine as k, TUIFriendService as U, TUIUserService as L } from "@tencentcloud/chat-uikit-engine";
2
- import R, { TUIConstants as T } from "@tencentcloud/tui-core";
1
+ import { TUIChatEngine as L, TUIFriendService as U, TUIUserService as N } from "@tencentcloud/chat-uikit-engine";
2
+ import S, { TUIConstants as c } from "@tencentcloud/tui-core";
3
3
  import { safeJSONParse as u } from "./json.js";
4
- function P(r) {
4
+ import "../components/UIKitModal/chatErrorModal/index.js";
5
+ import { showChatErrorModalById as R, ChatErrorModalId as k } from "../components/UIKitModal/chatErrorModal/chatErrorModal.js";
6
+ function G(a) {
5
7
  try {
6
- const e = u(r.payload.data, {});
8
+ const e = u(a.payload.data, {});
7
9
  if (e.businessID === 1 && e.data) {
8
- const s = u(e.data, {});
9
- if (s.businessID === "av_call" || s.businessID === "rtc_call")
10
+ const i = u(e.data, {});
11
+ if (i.businessID === "av_call" || i.businessID === "rtc_call")
10
12
  return !0;
11
13
  }
12
14
  } catch {
@@ -14,42 +16,46 @@ function P(r) {
14
16
  }
15
17
  return !1;
16
18
  }
17
- function q(r) {
18
- R.callService({
19
- serviceName: T.TUICalling.SERVICE.NAME,
20
- method: T.TUICalling.SERVICE.METHOD.START_CALL,
19
+ function H(a) {
20
+ if (!S.getService(c.TUICalling.SERVICE.NAME)) {
21
+ R(k.CALL_KIT_NOT_INTEGRATED);
22
+ return;
23
+ }
24
+ S.callService({
25
+ serviceName: c.TUICalling.SERVICE.NAME,
26
+ method: c.TUICalling.SERVICE.METHOD.START_CALL,
21
27
  params: {
22
- ...r,
28
+ ...a,
23
29
  version: "v3"
24
30
  }
25
31
  });
26
32
  }
27
- function A(r) {
28
- const e = u(r.payload.data, void 0);
33
+ function V(a) {
34
+ const e = u(a.payload.data, void 0);
29
35
  if (!e)
30
36
  return;
31
- const s = u(e.data, void 0);
32
- return s ? {
33
- description: r.payload.description,
34
- extension: r.payload.extension,
37
+ const i = u(e.data, void 0);
38
+ return i ? {
39
+ description: a.payload.description,
40
+ extension: a.payload.extension,
35
41
  data: {
36
42
  businessID: e.businessID,
37
43
  timeout: e.timeout,
38
44
  data: {
39
- businessID: s.businessID,
40
- call_end: s.call_end,
41
- call_type: s.call_type,
45
+ businessID: i.businessID,
46
+ call_end: i.call_end,
47
+ call_type: i.call_type,
42
48
  data: {
43
- cmd: s.data.cmd,
44
- inviter: s.data.inviter,
45
- message: s.data.message,
46
- room_id: s.data.room_id,
47
- str_room_id: s.data.str_room_id
49
+ cmd: i.data.cmd,
50
+ inviter: i.data.inviter,
51
+ message: i.data.message,
52
+ room_id: i.data.room_id,
53
+ str_room_id: i.data.str_room_id
48
54
  },
49
- platform: s.platform,
50
- room_id: s.room_id,
51
- userData: s.userData,
52
- version: s.version
55
+ platform: i.platform,
56
+ room_id: i.room_id,
57
+ userData: i.userData,
58
+ version: i.version
53
59
  },
54
60
  inviteID: e.inviteID,
55
61
  groupID: e.groupID,
@@ -59,74 +65,74 @@ function A(r) {
59
65
  }
60
66
  } : void 0;
61
67
  }
62
- function N(r) {
63
- if (!r || r <= 0)
68
+ function x(a) {
69
+ if (!a || a <= 0)
64
70
  return "00:00";
65
- const e = Math.floor(r / 3600), s = Math.floor(r % 3600 / 60), i = Math.floor(r % 60);
66
- return e > 0 ? `${e.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}` : `${s.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}`;
71
+ const e = Math.floor(a / 3600), i = Math.floor(a % 3600 / 60), s = Math.floor(a % 60);
72
+ return e > 0 ? `${e.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}` : `${i.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}`;
67
73
  }
68
- function S(r, e = 12) {
69
- return !r || r.length <= e ? r : `${r.substring(0, e)}...`;
74
+ function $(a, e = 12) {
75
+ return !a || a.length <= e ? a : `${a.substring(0, e)}...`;
70
76
  }
71
- function V(r) {
72
- return U.getFriendRemark([r])[r] || "";
77
+ function B(a) {
78
+ return U.getFriendRemark([a])[a] || "";
73
79
  }
74
- const c = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map();
75
- function D(r, e) {
76
- var f, g, _, m, p, C, M, h, v, I, w;
77
- const s = A(r);
78
- if (!s || s.data.businessID !== 1)
80
+ const f = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map();
81
+ function J(a, e) {
82
+ var g, _, m, p, C, M, h, I, v, T, w;
83
+ const i = V(a);
84
+ if (!i || i.data.businessID !== 1)
79
85
  return "";
80
- const { data: i } = s, a = i.data, l = r.fromAccount || r.from, d = V(l), t = k.getMyUserID();
81
- let n = d || r.nameCard || r.nick || l;
82
- switch (n = S(n), i.actionType) {
86
+ const { data: s } = i, r = s.data, l = a.fromAccount || a.from, d = B(l), t = L.getMyUserID();
87
+ let n = d || a.nameCard || a.nick || l;
88
+ switch (n = $(n), s.actionType) {
83
89
  case 1:
84
- return (((f = a == null ? void 0 : a.data) == null ? void 0 : f.cmd) === "audioCall" || ((g = a == null ? void 0 : a.data) == null ? void 0 : g.cmd) === "videoCall") && i.groupID ? e("CallMessage.start_call", { messageSender: n }) : ((_ = a == null ? void 0 : a.data) == null ? void 0 : _.cmd) === "hangup" ? i.groupID ? e("CallMessage.call_ended") : `${e("CallMessage.call_duration")}: ${N(a == null ? void 0 : a.call_end)}` : ((m = a == null ? void 0 : a.data) == null ? void 0 : m.cmd) === "switchToAudio" ? e("CallMessage.switch_to_audio_call") : ((p = a == null ? void 0 : a.data) == null ? void 0 : p.cmd) === "switchToVideo" ? e("CallMessage.switch_to_video_call") : e("CallMessage.start_call", { messageSender: "" });
90
+ return (((g = r == null ? void 0 : r.data) == null ? void 0 : g.cmd) === "audioCall" || ((_ = r == null ? void 0 : r.data) == null ? void 0 : _.cmd) === "videoCall") && s.groupID ? e("CallMessage.start_call", { messageSender: n }) : ((m = r == null ? void 0 : r.data) == null ? void 0 : m.cmd) === "hangup" ? s.groupID ? e("CallMessage.call_ended") : `${e("CallMessage.call_duration")}: ${x(r == null ? void 0 : r.call_end)}` : ((p = r == null ? void 0 : r.data) == null ? void 0 : p.cmd) === "switchToAudio" ? e("CallMessage.switch_to_audio_call") : ((C = r == null ? void 0 : r.data) == null ? void 0 : C.cmd) === "switchToVideo" ? e("CallMessage.switch_to_video_call") : e("CallMessage.start_call", { messageSender: "" });
85
91
  case 2:
86
- return i.groupID ? `${n} ${e("CallMessage.cancel_call")}` : i.inviter === t ? e("CallMessage.canceled") : e("CallMessage.canceled_by_recipient");
92
+ return s.groupID ? `${n} ${e("CallMessage.cancel_call")}` : s.inviter === t ? e("CallMessage.canceled") : e("CallMessage.canceled_by_recipient");
87
93
  case 3:
88
- return ((C = a == null ? void 0 : a.data) == null ? void 0 : C.cmd) === "switchToAudio" ? e("CallMessage.switch_to_audio_call") : ((M = a == null ? void 0 : a.data) == null ? void 0 : M.cmd) === "switchToVideo" ? e("CallMessage.switch_to_video_call") : i.groupID ? `${n} ${e("CallMessage.answered")}` : e("CallMessage.answered");
94
+ return ((M = r == null ? void 0 : r.data) == null ? void 0 : M.cmd) === "switchToAudio" ? e("CallMessage.switch_to_audio_call") : ((h = r == null ? void 0 : r.data) == null ? void 0 : h.cmd) === "switchToVideo" ? e("CallMessage.switch_to_video_call") : s.groupID ? `${n} ${e("CallMessage.answered")}` : e("CallMessage.answered");
89
95
  case 4:
90
- return i.groupID ? `${n} ${e("CallMessage.decline_call")}` : (a == null ? void 0 : a.line_busy) === "line_busy" || ((h = a == null ? void 0 : a.data) == null ? void 0 : h.message) === "lineBusy" ? i.inviter === t ? e("CallMessage.line_busy") : e("CallMessage.missed_due_to_busy") : i.inviter === t ? e("CallMessage.declined_by_recipient") : e("CallMessage.declined");
96
+ return s.groupID ? `${n} ${e("CallMessage.decline_call")}` : (r == null ? void 0 : r.line_busy) === "line_busy" || ((I = r == null ? void 0 : r.data) == null ? void 0 : I.message) === "lineBusy" ? s.inviter === t ? e("CallMessage.line_busy") : e("CallMessage.missed_due_to_busy") : s.inviter === t ? e("CallMessage.declined_by_recipient") : e("CallMessage.declined");
91
97
  case 5:
92
- if (((v = a == null ? void 0 : a.data) == null ? void 0 : v.cmd) === "switchToAudio")
98
+ if (((v = r == null ? void 0 : r.data) == null ? void 0 : v.cmd) === "switchToAudio")
93
99
  return e("CallMessage.switch_to_audio_call");
94
- if (((I = a == null ? void 0 : a.data) == null ? void 0 : I.cmd) === "switchToVideo")
100
+ if (((T = r == null ? void 0 : r.data) == null ? void 0 : T.cmd) === "switchToVideo")
95
101
  return e("CallMessage.switch_to_video_call");
96
- if (i.groupID) {
97
- if (l === i.inviter) {
98
- x(i.inviteeList);
102
+ if (s.groupID) {
103
+ if (l === s.inviter) {
104
+ O(s.inviteeList);
99
105
  let o = "";
100
- return (w = i.inviteeList) == null || w.forEach((y) => {
101
- const E = c.get(y) || y;
102
- o += `${S(E)}、`;
106
+ return (w = s.inviteeList) == null || w.forEach((y) => {
107
+ const A = f.get(y) || y;
108
+ o += `${$(A)}、`;
103
109
  }), o = o.substring(0, o.lastIndexOf("、")), `${o} ${e("CallMessage.no_answer")}`;
104
110
  }
105
111
  return `${n} ${e("CallMessage.no_answer")}`;
106
112
  }
107
- return i.inviter === t ? e("CallMessage.no_answer_from_recipient") : e("CallMessage.no_answer_timeout");
113
+ return s.inviter === t ? e("CallMessage.no_answer_from_recipient") : e("CallMessage.no_answer_timeout");
108
114
  default:
109
115
  return "";
110
116
  }
111
117
  }
112
- function x(r = []) {
113
- if (r.length === 0)
118
+ function O(a = []) {
119
+ if (a.length === 0)
114
120
  return;
115
- const e = U.getFriendRemark(r), s = [];
116
- r.forEach((i) => {
117
- const a = e[i];
118
- a ? c.set(i, a) : $.has(i) || (s.push(i), $.set(i, 1));
119
- }), s.length > 0 && L.getUserProfile({ userIDList: s }).then((i) => {
120
- (i.data || []).forEach((l) => {
121
+ const e = U.getFriendRemark(a), i = [];
122
+ a.forEach((s) => {
123
+ const r = e[s];
124
+ r ? f.set(s, r) : E.has(s) || (i.push(s), E.set(s, 1));
125
+ }), i.length > 0 && N.getUserProfile({ userIDList: i }).then((s) => {
126
+ (s.data || []).forEach((l) => {
121
127
  const { userID: d, nick: t } = l, n = t || d;
122
- c.set(d, n);
128
+ f.set(d, n);
123
129
  });
124
130
  }).catch(() => {
125
131
  });
126
132
  }
127
133
  export {
128
- P as isCallMessage,
129
- A as parseCallMessage,
130
- D as parseCallMessageText,
131
- q as startCall
134
+ G as isCallMessage,
135
+ V as parseCallMessage,
136
+ J as parseCallMessageText,
137
+ H as startCall
132
138
  };
@@ -1,4 +1,4 @@
1
- import { g as E } from "./Teleport-CSEuZbpM.js";
1
+ import { g as E } from "./Teleport-98QrIYDI.js";
2
2
  const m = "menu.itemSelect", x = ["Enter", " "], S = [
3
3
  "ArrowDown",
4
4
  "PageUp",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tuikit-atomicx-vue3",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -16,8 +16,8 @@
16
16
  "import": "./dist/index.js"
17
17
  },
18
18
  "./chat": {
19
- "types": "./dist/chat/index.d.ts",
20
- "import": "./dist/chat/index.js"
19
+ "types": "./dist/subEntry/chat/index.d.ts",
20
+ "import": "./dist/subEntry/chat/index.js"
21
21
  },
22
22
  "./live": {
23
23
  "types": "./dist/subEntry/live/index.d.ts",
@@ -41,7 +41,6 @@
41
41
  "check-chinese:src": "node scripts/check-chinese-simple.js directory src",
42
42
  "check-chinese:staged": "node scripts/check-chinese-simple.js staged",
43
43
  "pre-commit": "npm run check-chinese:staged",
44
- "publish": "npm publish --access public",
45
44
  "test:pre": "node scripts/test-pre.js",
46
45
  "test": "playwright test",
47
46
  "test:ci": "playwright test || exit 0",
@@ -57,14 +56,16 @@
57
56
  "@tencentcloud/chat-uikit-engine": "~2.5.7",
58
57
  "@tencentcloud/tui-core": "latest",
59
58
  "@tencentcloud/tuiroom-engine-js": "~3.5.0",
60
- "@tencentcloud/uikit-base-component-vue3": "1.3.0",
61
- "vue": "^3.4.21"
59
+ "@tencentcloud/uikit-base-component-vue3": "1.3.2",
60
+ "vue": "^3.4.0"
62
61
  },
63
62
  "dependencies": {
64
63
  "@tencentcloud/universal-api": "^2.4.0",
64
+ "@tiptap/extension-mention": "^2.11.5",
65
+ "@tiptap/suggestion": "^2.11.5",
65
66
  "@tiptap/extension-image": "^2.11.5",
66
67
  "@tiptap/extension-placeholder": "^2.11.5",
67
- "@tiptap/pm": "^3.1.0",
68
+ "@tiptap/pm": "^2.11.5",
68
69
  "@tiptap/starter-kit": "^2.11.5",
69
70
  "@tiptap/vue-3": "^2.11.5",
70
71
  "@vue/tsconfig": "^0.7.0",
@@ -131,18 +131,16 @@ const volumeTotalNum = ref(28);
131
131
  const volumeNum = computed(() => {
132
132
  if (isMicrophoneTesting.value) {
133
133
  return (testingMicVolume.value * volumeTotalNum.value) / 100;
134
- } else {
135
- return (currentMicVolume.value * volumeTotalNum.value) / 100;
136
134
  }
135
+ return (currentMicVolume.value * volumeTotalNum.value) / 100;
137
136
  });
138
137
 
139
138
  const showInputVolume = computed(() => {
140
139
  if (props.micTestVisible) {
141
140
  return isMicrophoneTesting.value;
142
- } else {
143
- return true;
144
141
  }
145
- })
142
+ return true;
143
+ });
146
144
 
147
145
  const captureVolumeValue = ref(captureVolume.value);
148
146
  const outputVolumeValue = ref(outputVolume.value);
@@ -161,6 +159,7 @@ watch(outputVolumeValue, async (value) => {
161
159
  width: 100%;
162
160
  font-size: 14px;
163
161
  border-radius: 4px;
162
+ text-align: initial;
164
163
 
165
164
  .item-setting {
166
165
  width: 100%;
@@ -25,8 +25,9 @@
25
25
  <TUIDropdown
26
26
  v-else
27
27
  trigger="click"
28
- :teleported="false"
28
+ :teleported="true"
29
29
  placement="bottom-end"
30
+ @visible-change="handleDropdownVisibleChange"
30
31
  >
31
32
  <div
32
33
  :class="$style['conversationActions__popup-icon']"
@@ -71,6 +72,7 @@ const props = withDefaults(defineProps<ConversationActionsProps>(), {
71
72
  const emit = defineEmits<{
72
73
  click: [e: Event, key?: string, conversation?: ConversationModel];
73
74
  close: [];
75
+ dropdownVisibleChange: [visible: boolean];
74
76
  markConversationUnread: [conversation: ConversationModel, e?: Event];
75
77
  conversationPin: [conversation: ConversationModel, e?: Event];
76
78
  conversationMute: [conversation: ConversationModel, e?: Event];
@@ -169,6 +171,10 @@ const handleMaskClick = (e: Event) => {
169
171
  props.onClose();
170
172
  }
171
173
  };
174
+
175
+ const handleDropdownVisibleChange = (visible: boolean) => {
176
+ emit('dropdownVisibleChange', visible);
177
+ };
172
178
  </script>
173
179
 
174
180
  <style lang="scss" module>
@@ -189,7 +189,11 @@ const handleCreateGroupConversation = async () => {
189
189
  const conversation = await createGroupConversation(options);
190
190
  _onConversationCreated(conversation);
191
191
  } catch (error: any) {
192
- TUIToast.error({ message: error.message });
192
+ if (error.code === 10021) {
193
+ TUIToast.error({ message: t('TUIConversation.group_id_already_used') });
194
+ } else {
195
+ TUIToast.error({ message: error.message });
196
+ }
193
197
  }
194
198
  };
195
199
 
@@ -25,7 +25,6 @@
25
25
  @created="handleCreated"
26
26
  />
27
27
  </component>
28
-
29
28
  <component
30
29
  :is="List"
31
30
  :empty="renderConversationList.length === 0"
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  &--active {
21
- background-color: var(--list-color-hover, #e3f2fd);
21
+ background-color: var(--list-color-focused, #e3f2fd);
22
22
  }
23
23
 
24
24
  &--pin {
@@ -71,6 +71,14 @@
71
71
  color: var(--text-color-secondary, #666);
72
72
 
73
73
  @include mixins.text-ellipsis();
74
+
75
+ &__drafts {
76
+ color: var(--text-color-error);
77
+ }
78
+
79
+ &__at-info {
80
+ color: var(--text-color-error);
81
+ }
74
82
  }
75
83
 
76
84
  &__external {
@@ -115,4 +123,4 @@
115
123
  border-radius: 4px;
116
124
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
117
125
  }
118
- }
126
+ }