tuikit-atomicx-vue3 0.1.1 → 3.3.0

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 (582) hide show
  1. package/dist/AttachmentPicker.module-BesmtGyl.js +11 -0
  2. package/dist/FilePicker.vue_vue_type_script_setup_true_lang-CdJ4DUzE.js +76 -0
  3. package/dist/ImagePicker.vue_vue_type_script_setup_true_lang-CbNUofpK.js +76 -0
  4. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-wUJPjWbx.js +128 -0
  5. package/dist/{PopoverTrigger-ByOI-vdB.js → PopoverTrigger-BKOIHfdS.js} +1 -1
  6. package/dist/{PopperContent-BaiCn-CA.js → PopperContent-DtL7HVWz.js} +29 -21
  7. package/dist/VideoPicker.vue_vue_type_script_setup_true_lang-CmxjbNDJ.js +76 -0
  8. package/dist/baseComp/TuiSwitch.js +2 -2
  9. package/dist/baseComp/index.d.ts +0 -1
  10. package/dist/baseComp/index.js +1 -3
  11. package/dist/chat/index.d.ts +5677 -6176
  12. package/dist/chat/index.js +24 -15
  13. package/dist/components/Avatar/Avatar.js +35 -10
  14. package/dist/components/Avatar/Avatar.vue.d.ts +1 -1
  15. package/dist/components/BarrageInput/BarrageInput.vue.d.ts +2 -2
  16. package/dist/components/BarrageInput/BarrageInputH5.js +60 -16
  17. package/dist/components/BarrageInput/BarrageInputH5.vue.d.ts +2 -2
  18. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +10 -6
  19. package/dist/components/BarrageInput/TextEditor/index.js +27 -11
  20. package/dist/components/BarrageInput/constants.d.ts +3 -0
  21. package/dist/components/BarrageInput/constants.js +6 -0
  22. package/dist/components/BarrageInput/i18n/en-US/index.d.ts +2 -0
  23. package/dist/components/BarrageInput/i18n/en-US/index.js +3 -1
  24. package/dist/components/BarrageInput/i18n/zh-CN/index.d.ts +2 -0
  25. package/dist/components/BarrageInput/i18n/zh-CN/index.js +3 -1
  26. package/dist/components/BarrageInput/index.d.ts +18 -18
  27. package/dist/components/BarrageList/BarrageList.js +5 -6
  28. package/dist/components/BarrageList/BarrageListH5.js +5 -6
  29. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue.d.ts +4 -4
  30. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +1 -1
  31. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.js +5 -4
  32. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +2 -2
  33. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.js +7 -4
  34. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +12 -4
  35. package/dist/components/BarrageList/i18n/en-US/index.d.ts +1 -0
  36. package/dist/components/BarrageList/i18n/en-US/index.js +2 -1
  37. package/dist/components/BarrageList/i18n/zh-CN/index.d.ts +1 -0
  38. package/dist/components/BarrageList/i18n/zh-CN/index.js +2 -1
  39. package/dist/components/ChatSetting/ChatSetting.js +8 -11
  40. package/dist/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.js +5 -2
  41. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +3 -2
  42. package/dist/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.js +4 -4
  43. package/dist/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.js +3 -2
  44. package/dist/components/ChatSetting/GroupChatSetting/GroupMembers/GroupMembers.js +5 -5
  45. package/dist/components/ChatSetting/SettingItem/SettingItem.js +116 -89
  46. package/dist/components/ChatSetting/i18n/en-US.js +3 -3
  47. package/dist/components/ChatSetting/i18n/index.d.ts +191 -1
  48. package/dist/components/ChatSetting/i18n/index.js +3 -4
  49. package/dist/components/ChatSetting/i18n/zh-CN.js +3 -3
  50. package/dist/components/ChatSetting/index.d.ts +1 -4
  51. package/dist/components/ChatSetting/index.js +7 -6
  52. package/dist/components/CoGuestPanel/CoGuestPanel.js +1 -1
  53. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.js +78 -0
  54. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue.d.ts +33 -0
  55. package/dist/components/ContactList/ContactInfo/BlacklistInfo/index.d.ts +1 -0
  56. package/dist/components/ContactList/ContactInfo/BlacklistInfo/index.js +4 -0
  57. package/dist/components/ContactList/ContactInfo/ContactInfo.js +257 -0
  58. package/dist/components/ContactList/ContactInfo/ContactInfo.vue.d.ts +80 -0
  59. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.js +96 -0
  60. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue.d.ts +37 -0
  61. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/index.d.ts +1 -0
  62. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/index.js +4 -0
  63. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.js +228 -0
  64. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue.d.ts +39 -0
  65. package/dist/components/ContactList/ContactInfo/FriendInfo/index.d.ts +1 -0
  66. package/dist/components/ContactList/ContactInfo/FriendInfo/index.js +4 -0
  67. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.js +101 -0
  68. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue.d.ts +37 -0
  69. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/index.d.ts +1 -0
  70. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/index.js +4 -0
  71. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +155 -0
  72. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue.d.ts +37 -0
  73. package/dist/components/ContactList/ContactInfo/GroupInfo/index.d.ts +1 -0
  74. package/dist/components/ContactList/ContactInfo/GroupInfo/index.js +4 -0
  75. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.js +141 -0
  76. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue.d.ts +32 -0
  77. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/index.d.ts +1 -0
  78. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/index.js +4 -0
  79. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.js +122 -0
  80. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue.d.ts +33 -0
  81. package/dist/components/ContactList/ContactInfo/SearchUserInfo/index.d.ts +1 -0
  82. package/dist/components/ContactList/ContactInfo/SearchUserInfo/index.js +4 -0
  83. package/dist/components/ContactList/ContactInfo/index.d.ts +8 -0
  84. package/dist/components/ContactList/ContactInfo/index.js +18 -0
  85. package/dist/components/ContactList/ContactList.js +290 -0
  86. package/dist/components/ContactList/ContactList.vue.d.ts +149 -0
  87. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.js +52 -0
  88. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue.d.ts +25 -0
  89. package/dist/components/ContactList/ContactListItem/BlacklistItem/index.d.ts +1 -0
  90. package/dist/components/ContactList/ContactListItem/BlacklistItem/index.js +4 -0
  91. package/dist/components/ContactList/ContactListItem/ContactListItem.js +4 -0
  92. package/dist/components/ContactList/ContactListItem/ContactListItem.vue.d.ts +30 -0
  93. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.js +76 -0
  94. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue.d.ts +27 -0
  95. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/index.d.ts +1 -0
  96. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/index.js +4 -0
  97. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.js +53 -0
  98. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.vue.d.ts +25 -0
  99. package/dist/components/ContactList/ContactListItem/FriendItem/index.d.ts +1 -0
  100. package/dist/components/ContactList/ContactListItem/FriendItem/index.js +4 -0
  101. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.js +79 -0
  102. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue.d.ts +27 -0
  103. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/index.d.ts +1 -0
  104. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/index.js +4 -0
  105. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.js +52 -0
  106. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.vue.d.ts +25 -0
  107. package/dist/components/ContactList/ContactListItem/GroupItem/index.d.ts +1 -0
  108. package/dist/components/ContactList/ContactListItem/GroupItem/index.js +4 -0
  109. package/dist/components/ContactList/ContactListItem/index.d.ts +6 -0
  110. package/dist/components/ContactList/ContactListItem/index.js +95 -0
  111. package/dist/components/ContactList/ContactSearch/ContactSearch.js +85 -0
  112. package/dist/components/ContactList/ContactSearch/ContactSearch.vue.d.ts +8 -0
  113. package/dist/components/ContactList/ContactSearch/index.d.ts +1 -0
  114. package/dist/components/ContactList/ContactSearch/index.js +4 -0
  115. package/dist/components/ContactList/constants/const.d.ts +3 -0
  116. package/dist/components/ContactList/constants/const.js +6 -0
  117. package/dist/components/ContactList/hooks/index.d.ts +1 -0
  118. package/dist/components/ContactList/hooks/index.js +4 -0
  119. package/dist/components/ContactList/hooks/useContactList.d.ts +9 -0
  120. package/dist/components/ContactList/hooks/useContactList.js +18 -0
  121. package/dist/components/ContactList/i18n/en-US.d.ts +77 -0
  122. package/dist/components/ContactList/i18n/en-US.js +80 -0
  123. package/dist/components/ContactList/i18n/index.d.ts +4 -0
  124. package/dist/components/ContactList/i18n/index.js +6 -0
  125. package/dist/components/ContactList/i18n/zh-CN.d.ts +77 -0
  126. package/dist/components/ContactList/i18n/zh-CN.js +80 -0
  127. package/dist/components/ContactList/index.d.ts +442 -0
  128. package/dist/components/ContactList/index.js +16 -0
  129. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +30 -46
  130. package/dist/components/ConversationList/ConversationActions/ConversationActions.vue.d.ts +1 -10
  131. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +161 -100
  132. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.vue.d.ts +0 -3
  133. package/dist/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.js +79 -17
  134. package/dist/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue.d.ts +6 -12
  135. package/dist/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.js +78 -158
  136. package/dist/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue.d.ts +5 -4
  137. package/dist/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.js +37 -207
  138. package/dist/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue.d.ts +3 -9
  139. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.js +35 -23
  140. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue.d.ts +2 -11
  141. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/index.js +1 -2
  142. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.d.ts +2 -7
  143. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.js +6 -14
  144. package/dist/components/ConversationList/ConversationCreate/index.d.ts +0 -2
  145. package/dist/components/ConversationList/ConversationCreate/index.js +5 -9
  146. package/dist/components/ConversationList/ConversationList.js +61 -75
  147. package/dist/components/ConversationList/ConversationList.vue.d.ts +844 -3038
  148. package/dist/components/ConversationList/ConversationListContent/ConversationListContent.js +12 -15
  149. package/dist/components/ConversationList/ConversationListContent/ConversationListContent.vue.d.ts +22 -340
  150. package/dist/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.js +2 -2
  151. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +654 -1516
  152. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.js +15 -15
  153. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +14 -14
  154. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.js +19 -30
  155. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue.d.ts +0 -2
  156. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +27 -44
  157. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +154 -368
  158. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUnread.js +14 -14
  159. package/dist/components/ConversationList/ConversationPreview/index.d.ts +1 -1
  160. package/dist/components/ConversationList/ConversationPreview/index.js +20 -24
  161. package/dist/components/ConversationList/ConversationPreview/utils.js +8 -8
  162. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.js +6 -5
  163. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.vue.d.ts +8 -8
  164. package/dist/components/ConversationList/hooks/useConversation.d.ts +6 -0
  165. package/dist/components/ConversationList/hooks/useConversation.js +20 -0
  166. package/dist/components/ConversationList/hooks/useConversationCreate.d.ts +5 -0
  167. package/dist/components/ConversationList/hooks/useConversationCreate.js +24 -0
  168. package/dist/components/ConversationList/i18n/en-US.d.ts +16 -0
  169. package/dist/components/ConversationList/i18n/en-US.js +25 -7
  170. package/dist/components/ConversationList/i18n/zh-CN.d.ts +16 -0
  171. package/dist/components/ConversationList/i18n/zh-CN.js +24 -6
  172. package/dist/components/ConversationList/index.d.ts +2231 -6662
  173. package/dist/components/ConversationList/index.js +1 -1
  174. package/dist/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.js +1 -1
  175. package/dist/components/LiveCoreView/index.d.ts +4 -0
  176. package/dist/components/{LiveStreamView → LiveCoreView}/index.js +154 -105
  177. package/dist/components/{LiveStreamView → LiveCoreView}/index.vue.d.ts +9 -0
  178. package/dist/components/LiveList/LiveList.js +73 -45
  179. package/dist/components/LiveList/LiveListH5.js +80 -75
  180. package/dist/components/LiveList/i18n/en-US/index.d.ts +5 -0
  181. package/dist/components/LiveList/i18n/en-US/index.js +6 -1
  182. package/dist/components/LiveList/i18n/zh-CN/index.d.ts +5 -0
  183. package/dist/components/LiveList/i18n/zh-CN/index.js +6 -1
  184. package/dist/components/LiveList/pullToRefresh.js +204 -0
  185. package/dist/components/LiveList/pullToRefresh.vue.d.ts +86 -0
  186. package/dist/components/LiveScenePanel/CameraSettingDialog.js +7 -7
  187. package/dist/components/LiveScenePanel/icons/AddIcon.js +2 -2
  188. package/dist/components/LiveScenePanel/icons/CameraIcon.js +2 -2
  189. package/dist/components/LiveScenePanel/icons/CameraMirror.js +2 -2
  190. package/dist/components/LiveScenePanel/icons/CameraUnmirror.js +2 -2
  191. package/dist/components/LiveScenePanel/icons/ImageIcon.js +2 -2
  192. package/dist/components/LiveScenePanel/icons/MoreIcon.js +2 -2
  193. package/dist/components/LiveScenePanel/icons/ScreenIcon.js +2 -2
  194. package/dist/components/LiveScenePanel/index.js +3 -3
  195. package/dist/components/MessageInput/AttachmentPicker/AttachmentPicker.vue.d.ts +0 -4
  196. package/dist/components/MessageInput/AttachmentPicker/FilePicker.js +1 -1
  197. package/dist/components/MessageInput/AttachmentPicker/ImagePicker.js +1 -1
  198. package/dist/components/MessageInput/AttachmentPicker/VideoPicker.js +1 -1
  199. package/dist/components/MessageInput/AttachmentPicker/index.js +15 -20
  200. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +4 -4
  201. package/dist/components/MessageInput/MessageInput.js +1 -1
  202. package/dist/components/MessageInput/MessageInput.vue.d.ts +6 -9
  203. package/dist/components/MessageInput/QuotedMessagePreview/index.js +2 -2
  204. package/dist/components/MessageInput/SendButton/index.js +1 -1
  205. package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +2 -2
  206. package/dist/components/MessageInput/TextEditor/index.js +24 -14
  207. package/dist/components/MessageInput/i18n/index.d.ts +24 -1
  208. package/dist/components/MessageInput/i18n/index.js +7 -8
  209. package/dist/components/MessageInput/index.d.ts +373 -6
  210. package/dist/components/MessageInput/index.js +23 -125
  211. package/dist/components/MessageList/Message/AudioMessage/PlayButton.js +3 -3
  212. package/dist/components/MessageList/Message/CustomMessage/index.js +2 -2
  213. package/dist/components/MessageList/Message/FaceMessage/FaceMessage.js +7 -5
  214. package/dist/components/MessageList/Message/FaceMessage/FaceMessage.vue.d.ts +8 -8
  215. package/dist/components/MessageList/Message/ImageMessage/ImageMessage.js +2 -2
  216. package/dist/components/MessageList/Message/LocationMessage/LocationMessage.js +2 -1
  217. package/dist/components/MessageList/Message/MergerMessage/MergerMessage.js +2 -1
  218. package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.js +14 -6
  219. package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue.d.ts +8 -8
  220. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +1 -1
  221. package/dist/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.js +34 -30
  222. package/dist/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +0 -10
  223. package/dist/components/MessageList/MessageForward/MessageForward.js +4 -5
  224. package/dist/components/MessageList/MessageList.js +76 -63
  225. package/dist/components/MessageList/MessageList.vue.d.ts +4 -4
  226. package/dist/components/MessageList/MessageTimeDivider/MessageTimeDivider.js +5 -5
  227. package/dist/components/MessageList/MessageTimeDivider/MessageTimeDivider.vue.d.ts +10 -10
  228. package/dist/components/MessageList/ScrollToBottom/ScrollToBottom.js +32 -0
  229. package/dist/components/MessageList/ScrollToBottom/ScrollToBottom.vue.d.ts +6 -0
  230. package/dist/components/MessageList/ScrollToBottom/index.d.ts +3 -0
  231. package/dist/components/MessageList/ScrollToBottom/index.js +4 -0
  232. package/dist/components/MessageList/i18n/en-US.d.ts +5 -0
  233. package/dist/components/MessageList/i18n/en-US.js +6 -1
  234. package/dist/components/MessageList/i18n/index.d.ts +85 -1
  235. package/dist/components/MessageList/i18n/index.js +7 -8
  236. package/dist/components/MessageList/i18n/zh-CN.d.ts +5 -0
  237. package/dist/components/MessageList/i18n/zh-CN.js +6 -1
  238. package/dist/components/MessageList/index.d.ts +143 -5
  239. package/dist/components/MessageList/index.js +9 -5
  240. package/dist/components/Search/Search.js +5 -7
  241. package/dist/components/Search/Search.vue.d.ts +4 -4
  242. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +15 -9
  243. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +12 -7
  244. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +2 -2
  245. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +10 -5
  246. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +10 -10
  247. package/dist/components/Search/SearchBar/SearchBar.js +3 -2
  248. package/dist/components/Search/SearchResults/EmptyResult/EmptyResult.js +5 -7
  249. package/dist/components/Search/SearchResults/Loading/Loading.js +2 -4
  250. package/dist/components/Search/SearchResults/SearchResults.js +80 -69
  251. package/dist/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.js +6 -8
  252. package/dist/components/Search/SearchResults/SearchResultsItem/Group/Group.js +5 -7
  253. package/dist/components/Search/SearchResults/SearchResultsItem/Message/Message.js +19 -21
  254. package/dist/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.js +1 -3
  255. package/dist/components/Search/SearchResults/SearchResultsItem/User/User.js +5 -7
  256. package/dist/components/Search/SearchResults/SearchResultsItem/utils/highlightText.d.ts +5 -6
  257. package/dist/components/Search/i18n/en-US/Search.js +9 -9
  258. package/dist/components/Search/i18n/zh-CN/Search.js +13 -13
  259. package/dist/components/Search/index.d.ts +6 -6
  260. package/dist/components/StreamMixer/LocalMixer/MixerControl.js +14 -10
  261. package/dist/components/StreamMixer/LocalMixer/index.js +90 -59
  262. package/dist/components/StreamMixer/icons/CameraMirror.js +2 -2
  263. package/dist/components/StreamMixer/icons/Delete.js +2 -2
  264. package/dist/components/StreamMixer/icons/Down.js +2 -2
  265. package/dist/components/StreamMixer/icons/Rotation.js +2 -2
  266. package/dist/components/StreamMixer/icons/Up.js +2 -2
  267. package/dist/components/StreamMixer/index.js +2 -2
  268. package/dist/components/StreamView/common/StreamCover/index.js +2 -2
  269. package/dist/components/StreamView/manager/mediaManager.js +1 -1
  270. package/dist/components/UserPicker/UserPicker.js +2 -2
  271. package/dist/components/UserPicker/UserPicker.vue.d.ts +7 -8
  272. package/dist/components/UserPicker/components/ListMode/ListMode.js +14 -17
  273. package/dist/components/UserPicker/components/ListMode/ListMode.vue.d.ts +2 -2
  274. package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.vue.d.ts +2 -2
  275. package/dist/components/UserPicker/components/TreeMode/TreeMode.vue.d.ts +3 -3
  276. package/dist/components/UserPicker/components/TreeMode/TreeNode.js +2 -2
  277. package/dist/components/UserPicker/components/TreeMode/TreeNode.vue.d.ts +4 -4
  278. package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +3 -3
  279. package/dist/components/UserPicker/hooks/useSelection.d.ts +8 -8
  280. package/dist/components/UserPicker/hooks/useTreeState.d.ts +3 -3
  281. package/dist/components/UserPicker/i18n/index.d.ts +15 -1
  282. package/dist/components/UserPicker/i18n/index.js +3 -4
  283. package/dist/components/UserPicker/index.d.ts +134 -4
  284. package/dist/components/UserPicker/index.js +7 -3
  285. package/dist/components/UserPicker/type.d.ts +18 -18
  286. package/dist/components/VideoSettingPanel/VideoPreview.js +3 -4
  287. package/dist/components/VideoSettingPanel/VideoProfile.js +3 -4
  288. package/dist/components/VideoSettingPanel/i18n/en-US/index.d.ts +5 -0
  289. package/dist/components/VideoSettingPanel/i18n/en-US/index.js +8 -3
  290. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.d.ts +5 -0
  291. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.js +8 -3
  292. package/dist/components/VideoSettingPanel/index.js +3 -3
  293. package/dist/hooks/useLongPress.d.ts +4 -4
  294. package/dist/hooks/useMessageActions.js +5 -5
  295. package/dist/hooks/useMouseHover.d.ts +7 -5
  296. package/dist/hooks/useMouseHover.js +3 -1
  297. package/dist/index.js +17 -8
  298. package/dist/rtc/index.d.ts +31 -20
  299. package/dist/rtc/index.js +6 -3
  300. package/dist/states/BarrageListState/BarrageListState.js +3 -2
  301. package/dist/states/CoHostState.d.ts +1 -1
  302. package/dist/states/CoHostState.js +59 -62
  303. package/dist/states/ContactListState/ContactListState.d.ts +16 -16
  304. package/dist/states/ContactListState/ContactListState.js +20 -20
  305. package/dist/states/ConversationListState/ConversationListState.d.ts +13 -12
  306. package/dist/states/ConversationListState/ConversationListState.js +19 -19
  307. package/dist/states/GroupSettingState/GroupSettingState.js +3 -3
  308. package/dist/states/LiveSeatState/seatEventManager.js +3 -5
  309. package/dist/states/LiveSeatState/usePlayStream/MixStreamPlayer.js +12 -0
  310. package/dist/states/LiveState/index.d.ts +4 -4
  311. package/dist/states/LiveState/index.js +4 -2
  312. package/dist/states/LoginState.js +2 -3
  313. package/dist/states/MessageInputState/MessageInputState.js +39 -19
  314. package/dist/states/SearchState.d.ts +2 -2
  315. package/dist/states/SearchState.js +124 -127
  316. package/dist/styles/index.css +2814 -4214
  317. package/dist/types/contact.d.ts +146 -9
  318. package/dist/types/conversation.d.ts +48 -42
  319. package/dist/types/conversation.js +22 -0
  320. package/dist/types/engine.d.ts +12 -0
  321. package/dist/types/engine.js +15 -0
  322. package/dist/types/index.js +7 -4
  323. package/dist/types/live.d.ts +2 -3
  324. package/dist/types/types.d.ts +0 -8
  325. package/dist/types/types.js +0 -10
  326. package/dist/utils/json.js +0 -1
  327. package/dist/utils/time.d.ts +2 -2
  328. package/dist/utils/time.js +253 -1471
  329. package/package.json +27 -5
  330. package/src/baseComp/View/View.vue +1 -2
  331. package/src/baseComp/index.ts +1 -2
  332. package/src/chat/index.ts +23 -4
  333. package/src/components/Avatar/Avatar.vue +12 -11
  334. package/src/components/BarrageInput/BarrageInputH5.vue +85 -12
  335. package/src/components/BarrageInput/EmojiPicker/EmojiPicker.module.scss +1 -0
  336. package/src/components/BarrageInput/EmojiPicker/EmojiPicker.vue +1 -1
  337. package/src/components/BarrageInput/TextEditor/Editor.scss +1 -1
  338. package/src/components/BarrageInput/TextEditor/TextEditor.module.scss +2 -0
  339. package/src/components/BarrageInput/TextEditor/TextEditor.vue +19 -5
  340. package/src/components/BarrageInput/constants.ts +3 -0
  341. package/src/components/BarrageInput/i18n/en-US/index.ts +2 -0
  342. package/src/components/BarrageInput/i18n/zh-CN/index.ts +2 -0
  343. package/src/components/BarrageList/BarrageList.vue +2 -2
  344. package/src/components/BarrageList/BarrageListH5.vue +2 -2
  345. package/src/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue +8 -8
  346. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +0 -1
  347. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +5 -2
  348. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue +7 -3
  349. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +13 -3
  350. package/src/components/BarrageList/i18n/en-US/index.ts +1 -0
  351. package/src/components/BarrageList/i18n/zh-CN/index.ts +1 -0
  352. package/src/components/ChatSetting/ChatSetting.vue +6 -10
  353. package/src/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.vue +5 -2
  354. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -4
  355. package/src/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.vue +3 -3
  356. package/src/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.vue +3 -2
  357. package/src/components/ChatSetting/GroupChatSetting/GroupMembers/GroupMembers.vue +3 -3
  358. package/src/components/ChatSetting/SettingItem/SettingItem.vue +48 -41
  359. package/src/components/ChatSetting/i18n/en-US.ts +3 -3
  360. package/src/components/ChatSetting/i18n/index.ts +3 -5
  361. package/src/components/ChatSetting/i18n/zh-CN.ts +3 -3
  362. package/src/components/ChatSetting/index.ts +8 -4
  363. package/src/components/CoGuestPanel/CoGuestPanel.vue +9 -0
  364. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.scss +52 -0
  365. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue +71 -0
  366. package/src/components/ContactList/ContactInfo/BlacklistInfo/index.ts +1 -0
  367. package/src/components/ContactList/ContactInfo/ContactInfo.scss +33 -0
  368. package/src/components/ContactList/ContactInfo/ContactInfo.vue +264 -0
  369. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.scss +84 -0
  370. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue +88 -0
  371. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/index.ts +1 -0
  372. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.scss +93 -0
  373. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue +219 -0
  374. package/src/components/ContactList/ContactInfo/FriendInfo/index.ts +1 -0
  375. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.scss +84 -0
  376. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue +99 -0
  377. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/index.ts +1 -0
  378. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.scss +54 -0
  379. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +147 -0
  380. package/src/components/ContactList/ContactInfo/GroupInfo/index.ts +1 -0
  381. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.scss +111 -0
  382. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue +147 -0
  383. package/src/components/ContactList/ContactInfo/SearchGroupInfo/index.ts +1 -0
  384. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.scss +112 -0
  385. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue +128 -0
  386. package/src/components/ContactList/ContactInfo/SearchUserInfo/index.ts +1 -0
  387. package/src/components/ContactList/ContactInfo/index.ts +8 -0
  388. package/src/components/ContactList/ContactList.scss +125 -0
  389. package/src/components/ContactList/ContactList.vue +314 -0
  390. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.scss +39 -0
  391. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue +47 -0
  392. package/src/components/ContactList/ContactListItem/BlacklistItem/index.ts +1 -0
  393. package/src/components/ContactList/ContactListItem/ContactListItem.vue +98 -0
  394. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.scss +57 -0
  395. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue +70 -0
  396. package/src/components/ContactList/ContactListItem/FriendApplicationItem/index.ts +1 -0
  397. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.scss +39 -0
  398. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.vue +47 -0
  399. package/src/components/ContactList/ContactListItem/FriendItem/index.ts +1 -0
  400. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.scss +56 -0
  401. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue +78 -0
  402. package/src/components/ContactList/ContactListItem/GroupApplicationItem/index.ts +1 -0
  403. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.scss +39 -0
  404. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.vue +47 -0
  405. package/src/components/ContactList/ContactListItem/GroupItem/index.ts +1 -0
  406. package/src/components/ContactList/ContactListItem/index.ts +6 -0
  407. package/src/components/ContactList/ContactSearch/ContactSearch.scss +58 -0
  408. package/src/components/ContactList/ContactSearch/ContactSearch.vue +98 -0
  409. package/src/components/ContactList/ContactSearch/index.ts +1 -0
  410. package/src/components/ContactList/constants/const.ts +7 -0
  411. package/src/components/ContactList/hooks/index.ts +1 -0
  412. package/src/components/ContactList/hooks/useContactList.ts +21 -0
  413. package/src/components/ContactList/i18n/en-US.ts +77 -0
  414. package/src/components/ContactList/i18n/index.ts +4 -0
  415. package/src/components/ContactList/i18n/zh-CN.ts +77 -0
  416. package/src/components/ContactList/index.ts +18 -0
  417. package/src/components/ConversationList/ConversationActions/ConversationActions.scss +36 -47
  418. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +15 -29
  419. package/src/components/ConversationList/ConversationCreate/ConversationCreate.scss +11 -37
  420. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +155 -69
  421. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.scss +37 -1
  422. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue +70 -15
  423. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.scss +20 -66
  424. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue +72 -139
  425. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.scss +5 -129
  426. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +42 -183
  427. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.scss +15 -11
  428. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue +23 -18
  429. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.ts +2 -8
  430. package/src/components/ConversationList/ConversationCreate/index.ts +0 -2
  431. package/src/components/ConversationList/ConversationList.scss +1 -5
  432. package/src/components/ConversationList/ConversationList.vue +53 -60
  433. package/src/components/ConversationList/ConversationListContent/ConversationListContent.scss +3 -5
  434. package/src/components/ConversationList/ConversationListContent/ConversationListContent.vue +13 -18
  435. package/src/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.vue +2 -2
  436. package/src/components/ConversationList/ConversationPreview/ConversationPreview.scss +11 -9
  437. package/src/components/ConversationList/ConversationPreview/ConversationPreview.vue +14 -16
  438. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +1 -1
  439. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +2 -14
  440. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +6 -19
  441. package/src/components/ConversationList/ConversationPreview/index.ts +1 -1
  442. package/src/components/ConversationList/ConversationPreview/utils.ts +11 -11
  443. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +1 -0
  444. package/src/components/ConversationList/hooks/useConversation.ts +21 -0
  445. package/src/components/ConversationList/hooks/useConversationCreate.ts +29 -0
  446. package/src/components/ConversationList/i18n/en-US.ts +26 -6
  447. package/src/components/ConversationList/i18n/zh-CN.ts +25 -5
  448. package/src/components/{LiveStreamView → LiveCoreView}/index.ts +4 -3
  449. package/src/components/LiveCoreView/index.vue +420 -0
  450. package/src/components/LiveList/LiveList.vue +97 -38
  451. package/src/components/LiveList/LiveListH5.vue +65 -66
  452. package/src/components/LiveList/i18n/en-US/index.ts +5 -0
  453. package/src/components/LiveList/i18n/zh-CN/index.ts +5 -0
  454. package/src/components/LiveList/pullToRefresh.vue +364 -0
  455. package/src/components/LiveScenePanel/CameraSettingDialog.vue +6 -5
  456. package/src/components/LiveScenePanel/index.vue +2 -2
  457. package/src/components/MessageInput/AttachmentPicker/AttachmentPicker.module.scss +4 -0
  458. package/src/components/MessageInput/AttachmentPicker/AttachmentPicker.vue +12 -17
  459. package/src/components/MessageInput/AttachmentPicker/FilePicker.vue +3 -2
  460. package/src/components/MessageInput/AttachmentPicker/ImagePicker.vue +3 -2
  461. package/src/components/MessageInput/AttachmentPicker/VideoPicker.vue +3 -2
  462. package/src/components/MessageInput/EmojiPicker/EmojiPicker.module.scss +1 -0
  463. package/src/components/MessageInput/MessageInput.module.scss +1 -1
  464. package/src/components/MessageInput/MessageInput.vue +21 -15
  465. package/src/components/MessageInput/QuotedMessagePreview/QuotedMessagePreview.vue +2 -2
  466. package/src/components/MessageInput/SendButton/SendButton.vue +1 -1
  467. package/src/components/MessageInput/TextEditor/Editor.scss +4 -2
  468. package/src/components/MessageInput/TextEditor/TextEditor.module.scss +1 -0
  469. package/src/components/MessageInput/TextEditor/TextEditor.vue +18 -6
  470. package/src/components/MessageInput/i18n/index.ts +1 -7
  471. package/src/components/MessageInput/index.ts +25 -8
  472. package/src/components/MessageInput/types.d.ts +3 -4
  473. package/src/components/MessageList/Message/CustomMessage/CustomMessage.vue +1 -1
  474. package/src/components/MessageList/Message/FaceMessage/FaceMessage.vue +10 -7
  475. package/src/components/MessageList/Message/LocationMessage/LocationMessage.vue +3 -1
  476. package/src/components/MessageList/Message/MergerMessage/MergerMessage.vue +1 -1
  477. package/src/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue +6 -6
  478. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +0 -1
  479. package/src/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +16 -17
  480. package/src/components/MessageList/MessageForward/MessageForward.vue +5 -5
  481. package/src/components/MessageList/MessageList.vue +37 -9
  482. package/src/components/MessageList/MessageTimeDivider/MessageTimeDivider.vue +9 -9
  483. package/src/components/MessageList/ScrollToBottom/ScrollToBottom.vue +50 -0
  484. package/src/components/MessageList/ScrollToBottom/index.ts +5 -0
  485. package/src/components/MessageList/i18n/en-US.ts +5 -0
  486. package/src/components/MessageList/i18n/index.ts +1 -5
  487. package/src/components/MessageList/i18n/zh-CN.ts +5 -0
  488. package/src/components/MessageList/index.ts +9 -5
  489. package/src/components/Search/Search.scss +0 -3
  490. package/src/components/Search/Search.vue +0 -4
  491. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.vue +125 -38
  492. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.vue +24 -16
  493. package/src/components/Search/SearchAdvanced/SearchAdvanced.vue +9 -7
  494. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.vue +4 -3
  495. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +0 -1
  496. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.vue +57 -23
  497. package/src/components/Search/SearchBar/SearchBar.scss +0 -2
  498. package/src/components/Search/SearchBar/SearchBar.vue +7 -5
  499. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.scss +0 -3
  500. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.vue +4 -2
  501. package/src/components/Search/SearchResults/Loading/Loading.scss +0 -3
  502. package/src/components/Search/SearchResults/SearchResults.scss +12 -27
  503. package/src/components/Search/SearchResults/SearchResults.vue +25 -29
  504. package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.scss +5 -19
  505. package/src/components/Search/SearchResults/SearchResultsItem/Group/Group.scss +5 -11
  506. package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.scss +5 -11
  507. package/src/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.scss +0 -3
  508. package/src/components/Search/SearchResults/SearchResultsItem/User/User.scss +5 -6
  509. package/src/components/Search/SearchResults/SearchResultsItem/utils/highlightText.ts +15 -16
  510. package/src/components/Search/i18n/en-US/Search.ts +9 -9
  511. package/src/components/Search/i18n/zh-CN/Search.ts +13 -13
  512. package/src/components/StreamMixer/LocalMixer/MixerControl.vue +20 -15
  513. package/src/components/StreamMixer/LocalMixer/index.vue +138 -60
  514. package/src/components/StreamMixer/index.vue +3 -3
  515. package/src/components/StreamView/manager/mediaManager.ts +1 -1
  516. package/src/components/UserPicker/UserPicker.vue +6 -9
  517. package/src/components/UserPicker/components/ListMode/ListMode.vue +3 -7
  518. package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +2 -2
  519. package/src/components/UserPicker/components/TreeMode/TreeMode.vue +3 -3
  520. package/src/components/UserPicker/components/TreeMode/TreeNode.vue +3 -3
  521. package/src/components/UserPicker/hooks/useSearchFilter.ts +15 -14
  522. package/src/components/UserPicker/hooks/useSelection.ts +32 -32
  523. package/src/components/UserPicker/hooks/useTreeState.ts +4 -4
  524. package/src/components/UserPicker/i18n/index.ts +1 -5
  525. package/src/components/UserPicker/index.ts +20 -17
  526. package/src/components/UserPicker/type.ts +18 -18
  527. package/src/components/VideoSettingPanel/VideoPreview.vue +13 -8
  528. package/src/components/VideoSettingPanel/VideoProfile.vue +5 -5
  529. package/src/components/VideoSettingPanel/i18n/en-US/index.ts +8 -3
  530. package/src/components/VideoSettingPanel/i18n/zh-CN/index.ts +8 -3
  531. package/src/components/VideoSettingPanel/index.vue +15 -9
  532. package/src/hooks/useLongPress.ts +7 -18
  533. package/src/hooks/useMessageActions.ts +5 -5
  534. package/src/hooks/useMouseHover.ts +9 -7
  535. package/src/rtc/index.ts +6 -3
  536. package/src/types/contact.ts +176 -12
  537. package/src/types/conversation.ts +54 -46
  538. package/src/types/engine.ts +15 -0
  539. package/src/types/live.ts +3 -5
  540. package/src/types/types.ts +0 -28
  541. package/src/utils/json.ts +0 -4
  542. package/src/utils/time.ts +8 -10
  543. package/dist/AttachmentPicker.module-0_DWsAtr.js +0 -11
  544. package/dist/FilePicker.vue_vue_type_script_setup_true_lang-CaSj3Gh_.js +0 -72
  545. package/dist/ImagePicker.vue_vue_type_script_setup_true_lang-CrzGMmrh.js +0 -72
  546. package/dist/VideoPicker.vue_vue_type_script_setup_true_lang-DTv6TJKr.js +0 -72
  547. package/dist/baseComp/Popup/Popup.js +0 -132
  548. package/dist/baseComp/Popup/Popup.vue.d.ts +0 -54
  549. package/dist/baseComp/Popup/index.d.ts +0 -2
  550. package/dist/baseComp/Popup/index.js +0 -4
  551. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.js +0 -65
  552. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.vue.d.ts +0 -17
  553. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.d.ts +0 -1
  554. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.js +0 -4
  555. package/dist/components/ConversationList/ConversationCreate/hooks/useConversationCreate.d.ts +0 -9
  556. package/dist/components/ConversationList/ConversationCreate/hooks/useConversationCreate.js +0 -96
  557. package/dist/components/ConversationList/ConversationCreate/static/word.d.ts +0 -6
  558. package/dist/components/ConversationList/ConversationCreate/static/word.js +0 -4
  559. package/dist/components/LiveStreamView/index.d.ts +0 -4
  560. package/dist/states/UIOpenControlState/UIOpenControlState.d.ts +0 -15
  561. package/dist/states/UIOpenControlState/UIOpenControlState.js +0 -28
  562. package/dist/states/UIOpenControlState/index.d.ts +0 -1
  563. package/dist/states/UIOpenControlState/index.js +0 -4
  564. package/src/baseComp/Popup/Popup.vue +0 -156
  565. package/src/baseComp/Popup/index.ts +0 -2
  566. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.scss +0 -36
  567. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.vue +0 -44
  568. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.ts +0 -1
  569. package/src/components/ConversationList/ConversationCreate/hooks/useConversationCreate.ts +0 -132
  570. package/src/components/ConversationList/ConversationCreate/static/word.ts +0 -300
  571. package/src/components/LiveStreamView/index.vue +0 -333
  572. /package/dist/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.vue.d.ts +0 -0
  573. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.d.ts +0 -0
  574. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.js +0 -0
  575. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/index.d.ts +0 -0
  576. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/index.js +0 -0
  577. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.d.ts +0 -0
  578. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.js +0 -0
  579. /package/src/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.vue +0 -0
  580. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.ts +0 -0
  581. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/index.ts +0 -0
  582. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.ts +0 -0
@@ -1,15 +1,22 @@
1
1
  <template>
2
- <div class="mixer-control" @mousedown="handleMouseDown">
2
+ <div
3
+ class="mixer-control"
4
+ @mousedown="handleMouseDown"
5
+ >
3
6
  <div
4
- class="mixer-control-item"
5
7
  v-for="control in controlList"
6
- :class="{ 'disable': control.disable }"
7
8
  :key="control.name"
9
+ class="mixer-control-item"
10
+ :class="{ 'disable': control.disable }"
8
11
  :style="control.style"
9
12
  @click.stop="control.onClick"
10
13
  >
11
14
  <div class="mixer-control-item-icon">
12
- <component :is="control.icon" style="width: 100%; height: 100%" :style="control.style" />
15
+ <component
16
+ :is="control.icon"
17
+ style="width: 100%; height: 100%"
18
+ :style="control.style"
19
+ />
13
20
  </div>
14
21
  <span class="mixer-control-item-name">{{ control.text }}</span>
15
22
  </div>
@@ -17,16 +24,16 @@
17
24
  </template>
18
25
 
19
26
  <script setup lang="ts">
27
+ import { computed } from 'vue';
28
+ import { TRTCVideoMirrorType, TRTCVideoRotation } from '@tencentcloud/tuiroom-engine-js';
29
+ import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
30
+ import { useVideoMixerState } from '../../../states/VideoMixerState';
20
31
  import CameraMirror from '../icons/CameraMirror.vue';
21
32
  import Delete from '../icons/Delete.vue';
33
+ import Down from '../icons/Down.vue';
22
34
  import Rotation from '../icons/Rotation.vue';
23
35
  import Up from '../icons/Up.vue';
24
- import Down from '../icons/Down.vue';
25
- import { useVideoMixerState } from '../../../states/VideoMixerState';
26
- import { TRTCVideoMirrorType, TRTCVideoRotation } from '@tencentcloud/tuiroom-engine-js';
27
- import { computed, reactive } from 'vue';
28
- import { MediaSource } from '../../../types';
29
- import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
36
+ import type { MediaSource } from '../../../types';
30
37
 
31
38
  const { activeMediaSource, mediaSourceList, updateMediaSource, removeMediaSource } = useVideoMixerState();
32
39
  const { t } = useUIKit();
@@ -35,12 +42,10 @@ function handleMouseDown(event: Event) {
35
42
  event.stopPropagation();
36
43
  }
37
44
 
38
- const orderMediaSourceList = computed(() => {
39
- return [...mediaSourceList.value].sort((a: MediaSource, b: MediaSource) => a.layout.zOrder - b.layout.zOrder);
40
- });
45
+ const orderMediaSourceList = computed(() => [...mediaSourceList.value].sort((a: MediaSource, b: MediaSource) => a.layout.zOrder - b.layout.zOrder));
41
46
 
42
- const isActiveMediaSourceTop = computed(() => activeMediaSource.value.id === orderMediaSourceList.value[0].id);
43
- const isActiveMediaSourceBottom = computed(() => activeMediaSource.value.id === orderMediaSourceList.value[orderMediaSourceList.value.length - 1].id);
47
+ const isActiveMediaSourceTop = computed(() => activeMediaSource.value?.id === orderMediaSourceList.value[0]?.id);
48
+ const isActiveMediaSourceBottom = computed(() => activeMediaSource.value?.id === orderMediaSourceList.value[orderMediaSourceList.value.length - 1]?.id);
44
49
 
45
50
  const controlList = computed(() => [
46
51
  {
@@ -1,37 +1,51 @@
1
1
  <template>
2
- <div class="local-mixer-container" ref="localMixerRef">
3
- <div class="local-mixer-content" id="local-video-mixer"></div>
4
- <div class="mixer-control-container" v-if="activeMediaSource" :style="mixControlContainerStyle">
5
- <MixerControl class="mixer-control" :style="mixControlStyle" />
6
- </div>
7
- <div class="local-mixer-placeholder" v-if="mediaSourceList.length === 0">
2
+ <div
3
+ ref="localMixerRef"
4
+ class="local-mixer-container"
5
+ >
6
+ <div
7
+ id="local-video-mixer"
8
+ class="local-mixer-content"
9
+ />
10
+ <MixerControl
11
+ v-if="activeMediaSource"
12
+ ref="mixControlRef"
13
+ class="mixer-control"
14
+ :style="mixControlStyle"
15
+ />
16
+ <div
17
+ v-if="mediaSourceList.length === 0"
18
+ class="local-mixer-placeholder"
19
+ >
8
20
  <span class="placeholder-text">{{ t('No video') }}</span>
9
21
  </div>
10
22
  </div>
11
23
  </template>
12
24
 
13
25
  <script setup lang="ts">
14
- import { ref, onMounted, watch, onUnmounted, Ref, computed } from 'vue';
15
- import { useRoomEngine } from '../../../hooks/useRoomEngine';
16
- import { useVideoMixerState } from '../../../states/VideoMixerState';
26
+ import type { Ref } from 'vue';
27
+ import { ref, onMounted, watch, onBeforeUnmount, computed, nextTick } from 'vue';
17
28
  import TUIRoomEngine, {
18
29
  TRTCVideoResolutionMode,
19
30
  TRTCVideoRotation,
20
31
  TUIVideoQuality,
21
32
  } from '@tencentcloud/tuiroom-engine-js';
33
+ import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
34
+ import { useRoomEngine } from '../../../hooks/useRoomEngine';
22
35
  import { useLiveState } from '../../../states/LiveState';
36
+ import { useVideoMixerState } from '../../../states/VideoMixerState';
23
37
  import { LiveStatus, LiveOrientation } from '../../../types';
38
+ import { debounce } from '../../../utils/utils';
24
39
  import MixerControl from './MixerControl.vue';
25
- import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
26
40
 
27
41
  const { t } = useUIKit();
28
42
 
29
43
  const { currentLive } = useLiveState();
30
44
 
45
+ const mixControlRef = ref<InstanceType<typeof MixerControl> | null>(null);
31
46
  const { publishVideoQuality, activeMediaSource, enableLocalVideoMixer, mediaSourceList } = useVideoMixerState();
32
47
  enableLocalVideoMixer();
33
48
 
34
-
35
49
  const currentLiveOrientation = computed(() => {
36
50
  if (currentLive.value
37
51
  && currentLive.value?.layoutTemplate >= 200 && currentLive.value?.layoutTemplate <= 599) {
@@ -47,7 +61,7 @@ const localMixerRef = ref();
47
61
 
48
62
  function getCanvasSize(
49
63
  videoResolution: TUIVideoQuality,
50
- resMode: TRTCVideoResolutionMode
64
+ resMode: TRTCVideoResolutionMode,
51
65
  ): { width: number; height: number } {
52
66
  const sizeMap = {
53
67
  [TUIVideoQuality.kVideoQuality_360p]: { width: 640, height: 360 },
@@ -62,28 +76,30 @@ function getCanvasSize(
62
76
  return { width, height };
63
77
  }
64
78
 
65
- const mixControlContainerStyle = ref({
66
- top: '0px',
67
- left: '0px',
68
- width: '0px',
69
- height: '0px',
79
+ const mixControlStyle: Ref<{
80
+ transform: string;
81
+ position: string;
82
+ }> = ref({
83
+ position: 'absolute',
84
+ transform: 'translate(0px, 0px)',
70
85
  });
71
86
 
72
- const mixControlStyle: Ref<{ top?: string; bottom?: string; transform: string }> = ref({
73
- top: '-6px',
74
- transform: 'translate(-50%, -100%)',
75
- });
87
+ let mixControlWidth: number;
88
+ let mixControlHeight: number;
89
+ // margin between control and media source
90
+ const CONTROL_MARGIN_WITH_MEDIA_SOURCE = 6;
76
91
 
77
92
  function getMixControlStyle() {
78
93
  if (!localMixerRef.value || !activeMediaSource.value) {
79
94
  return;
80
95
  }
96
+
81
97
  const { width: canvasWidth, height: canvasHeight } = getCanvasSize(
82
98
  publishVideoQuality.value,
83
- currentLiveOrientation.value === LiveOrientation.Landscape ? TRTCVideoResolutionMode.TRTCVideoResolutionModeLandscape : TRTCVideoResolutionMode.TRTCVideoResolutionModePortrait
99
+ currentLiveOrientation.value === LiveOrientation.Landscape ? TRTCVideoResolutionMode.TRTCVideoResolutionModeLandscape : TRTCVideoResolutionMode.TRTCVideoResolutionModePortrait,
84
100
  );
85
- const { width: realWidth, height: realHeight } = localMixerRef.value.getBoundingClientRect();
86
- const scale = Math.max(realWidth / canvasWidth, realHeight / canvasHeight);
101
+ const { width: viewportWidth, height: viewportHeight } = localMixerRef.value.getBoundingClientRect();
102
+ const scale = Math.max(viewportWidth / canvasWidth, viewportHeight / canvasHeight);
87
103
 
88
104
  const previewWidth = canvasWidth * scale;
89
105
  const previewHeight = canvasHeight * scale;
@@ -92,67 +108,130 @@ function getMixControlStyle() {
92
108
  const mediaSourceWidth = right - left;
93
109
  const mediaSourceHeight = bottom - top;
94
110
  const rotation = activeMediaSource.value.layout.rotation || TRTCVideoRotation.TRTCVideoRotation0;
111
+
112
+ const mediaSourceTop = top * scale - (previewHeight - viewportHeight) / 2;
113
+ const mediaSourceLeft = left * scale - (previewWidth - viewportWidth) / 2;
114
+ let mediaSourceDisplayWidth;
115
+ let mediaSourceDisplayHeight;
116
+
95
117
  if (rotation === TRTCVideoRotation.TRTCVideoRotation0 || rotation === TRTCVideoRotation.TRTCVideoRotation180) {
96
- mixControlContainerStyle.value = {
97
- top: `${top * scale - (previewHeight - realHeight) / 2}px`,
98
- left: `${left * scale - (previewWidth - realWidth) / 2}px`,
99
- width: `${mediaSourceWidth * scale}px`,
100
- height: `${mediaSourceHeight * scale}px`,
101
- };
118
+ mediaSourceDisplayWidth = mediaSourceWidth * scale;
119
+ mediaSourceDisplayHeight = mediaSourceHeight * scale;
102
120
  } else {
103
- mixControlContainerStyle.value = {
104
- top: `${top * scale - (previewHeight - realHeight) / 2}px`,
105
- left: `${left * scale - (previewWidth - realWidth) / 2}px`,
106
- width: `${mediaSourceHeight * scale}px`,
107
- height: `${mediaSourceWidth * scale}px`,
108
- };
121
+ mediaSourceDisplayWidth = mediaSourceHeight * scale;
122
+ mediaSourceDisplayHeight = mediaSourceWidth * scale;
123
+ }
124
+
125
+ const controlPosition = calculateOptimalControlPosition(
126
+ mediaSourceLeft,
127
+ mediaSourceTop,
128
+ mediaSourceDisplayWidth,
129
+ mediaSourceDisplayHeight,
130
+ viewportWidth,
131
+ viewportHeight,
132
+ );
133
+
134
+ mixControlStyle.value = {
135
+ ...controlPosition,
136
+ position: 'absolute',
137
+ };
138
+ }
139
+
140
+ function calculateOptimalControlPosition(
141
+ mediaSourceLeft: number,
142
+ mediaSourceTop: number,
143
+ mediaSourceWidth: number,
144
+ mediaSourceHeight: number,
145
+ viewportWidth: number,
146
+ viewportHeight: number,
147
+ ) {
148
+ // media source boundary
149
+ const mediaSourceBottom = mediaSourceTop + mediaSourceHeight;
150
+ const mediaSourceCenterX = mediaSourceLeft + mediaSourceWidth / 2;
151
+
152
+ // ideal position
153
+ let controlLeft = mediaSourceCenterX - mixControlWidth / 2;
154
+ let controlTop = mediaSourceTop - CONTROL_MARGIN_WITH_MEDIA_SOURCE - mixControlHeight;
155
+
156
+ // horizontal boundary detection and adjustment
157
+ if (controlLeft < 0) {
158
+ controlLeft = 0;
159
+ } else if (controlLeft + mixControlWidth > viewportWidth) {
160
+ controlLeft = viewportWidth - mixControlWidth;
109
161
  }
110
- if (top < 60) {
111
- mixControlStyle.value = {
112
- bottom: '-6px',
113
- transform: 'translate(-50%, 100%)',
114
- };
162
+
163
+ // vertical boundary detection and adjustment
164
+ // check if there is enough space to display the control above
165
+ const topSpaceAvailable = mediaSourceTop;
166
+ const bottomSpaceAvailable = viewportHeight - mediaSourceBottom;
167
+
168
+ if (controlTop >= 0 && topSpaceAvailable >= mixControlHeight + CONTROL_MARGIN_WITH_MEDIA_SOURCE) {
169
+ // top space is enough, keep it above
170
+ controlTop = Math.min(controlTop, viewportHeight - mixControlHeight);
171
+ } else if (bottomSpaceAvailable >= mixControlHeight + CONTROL_MARGIN_WITH_MEDIA_SOURCE) {
172
+ // top space is not enough, but bottom space is enough, move to bottom
173
+ controlTop = Math.max(0, mediaSourceBottom + CONTROL_MARGIN_WITH_MEDIA_SOURCE);
115
174
  } else {
116
- mixControlStyle.value = {
117
- top: '-6px',
118
- transform: 'translate(-50%, -100%)',
119
- };
175
+ // top space is not enough, but bottom space is not enough, move to top
176
+ controlTop = Math.max(0, mediaSourceTop - mixControlHeight - CONTROL_MARGIN_WITH_MEDIA_SOURCE);
120
177
  }
178
+
179
+ return {
180
+ transform: `translate(${controlLeft}px, ${controlTop}px)`,
181
+ };
121
182
  }
122
183
 
184
+ const debouncedGetMixControlStyle = debounce(getMixControlStyle, 16);
185
+
186
+ watch(() => activeMediaSource.value, async (newVal, oldVal) => {
187
+ if (!oldVal && newVal) {
188
+ await nextTick();
189
+ const mixControlElement = mixControlRef.value?.$el as HTMLElement;
190
+ const { width, height } = mixControlElement?.getBoundingClientRect() || { width: 0, height: 0 };
191
+ mixControlWidth = width;
192
+ mixControlHeight = height;
193
+ }
194
+ getMixControlStyle();
195
+ }, { immediate: true, deep: true });
196
+
123
197
  watch(
124
- () => [publishVideoQuality.value, currentLiveOrientation.value, activeMediaSource.value?.layout],
125
- ([newVideoQuality, newOrientation, newLayout]) => {
126
- if (!newVideoQuality || !newOrientation || !newLayout) {
198
+ () => [publishVideoQuality.value, currentLiveOrientation.value],
199
+ ([newVideoQuality, newOrientation]) => {
200
+ if (!newVideoQuality || !newOrientation) {
127
201
  return;
128
202
  }
129
203
  getMixControlStyle();
130
204
  },
131
- { immediate: true, deep: true }
205
+ { immediate: true, deep: true },
132
206
  );
133
207
 
134
208
  const re = new ResizeObserver(() => {
135
- getMixControlStyle();
209
+ debouncedGetMixControlStyle();
136
210
  });
137
211
 
138
212
  onMounted(() => {
139
213
  re.observe(localMixerRef.value);
140
214
  TUIRoomEngine.once('ready', async () => {
141
215
  const mediaSourceManager = roomEngine.instance?.getTRTCCloud().getMediaMixingManager();
142
- await mediaSourceManager.setDisplayParams(document.getElementById('local-video-mixer') as HTMLElement);
216
+ await mediaSourceManager.bindPreviewArea(document.getElementById('local-video-mixer') as HTMLElement);
143
217
  getMixControlStyle();
144
218
  });
145
219
 
146
- watch(localLiveStatus, async newVal => {
220
+ watch(localLiveStatus, async (newVal) => {
221
+ const mediaSourceManager = roomEngine.instance?.getTRTCCloud().getMediaMixingManager();
147
222
  if (newVal === LiveStatus.Live) {
148
- const mediaSourceManager = roomEngine.instance?.getTRTCCloud().getMediaMixingManager();
149
223
  await mediaSourceManager?.startPublish();
150
224
  }
225
+ if (newVal === LiveStatus.IDLE) {
226
+ await mediaSourceManager?.stopPublish();
227
+ }
151
228
  });
152
229
  });
153
230
 
154
- onUnmounted(() => {
231
+ onBeforeUnmount(async () => {
155
232
  re.unobserve(localMixerRef.value);
233
+ const mediaSourceManager = roomEngine.instance?.getTRTCCloud().getMediaMixingManager();
234
+ await mediaSourceManager?.destroy();
156
235
  });
157
236
  </script>
158
237
 
@@ -169,14 +248,13 @@ onUnmounted(() => {
169
248
  width: 100%;
170
249
  height: 100%;
171
250
  }
172
- .mixer-control-container {
251
+ .mixer-control {
173
252
  position: absolute;
174
- pointer-events: none;
175
- .mixer-control {
176
- position: absolute;
177
- left: 50%;
178
- }
253
+ top: 0;
254
+ left: 0;
255
+ transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
179
256
  }
257
+
180
258
  .local-mixer-placeholder {
181
259
  position: absolute;
182
260
  top: 0;
@@ -1,14 +1,14 @@
1
1
  <template>
2
- <live-stream-view :ignore-local-video="true">
2
+ <live-core-view :ignore-local-video="true">
3
3
  <template #localVideo="{ style }">
4
4
  <local-mixer :style="style" />
5
5
  </template>
6
- </live-stream-view>
6
+ </live-core-view>
7
7
  </template>
8
8
 
9
9
  <script setup lang="ts">
10
+ import { LiveCoreView } from '../LiveCoreView';
10
11
  import LocalMixer from './LocalMixer/index.vue';
11
- import { LiveStreamView } from '../LiveStreamView';
12
12
  </script>
13
13
 
14
14
  <style scoped lang="scss"></style>
@@ -250,7 +250,7 @@ export class MediaManager {
250
250
  if (streamType === TUIVideoStreamType.kCameraStream) {
251
251
  if (isVideoMixerEnabled.value) {
252
252
  const mediaSourceManager = roomEngine.instance?.getTRTCCloud().getMediaMixingManager();
253
- mediaSourceManager.setDisplayParams(document.getElementById(viewIdList[0]) as HTMLElement);
253
+ mediaSourceManager.bindPreviewArea(document.getElementById(viewIdList[0]) as HTMLElement);
254
254
  // const publishParams = {
255
255
  // videoEncoderParams: {
256
256
  // videoResolution: TRTCVideoResolution.TRTCVideoResolution_1280_720,
@@ -21,7 +21,7 @@
21
21
  </div>
22
22
  <ListMode
23
23
  v-else-if="!isTreeMode"
24
- :data-source="searchManager.filteredData.value as IUserPickerRow<any>[]"
24
+ :data-source="searchManager.filteredData.value as UserPickerRow<any>[]"
25
25
  :selected-keys="selectionManager.selectedKeys.value"
26
26
  :locked-keys="selectionManager.lockedKeys.value"
27
27
  :on-item-click="selectionManager.toggle"
@@ -30,7 +30,7 @@
30
30
  />
31
31
  <TreeMode
32
32
  v-else
33
- :data-source="searchManager.filteredData.value as IUserPickerNode<any>[]"
33
+ :data-source="searchManager.filteredData.value as UserPickerNode<any>[]"
34
34
  :selected-keys="selectionManager.selectedKeys.value"
35
35
  :half-selected-keys="selectionManager.halfSelectedKeys.value"
36
36
  :locked-keys="selectionManager.lockedKeys.value"
@@ -64,10 +64,7 @@ import TreeMode from './components/TreeMode';
64
64
  import { useSearchFilter } from './hooks/useSearchFilter';
65
65
  import { useSelection } from './hooks/useSelection';
66
66
  import { useTreeState } from './hooks/useTreeState';
67
- import type { IUserPickerProps, IUserPickerRef, IUserPickerNode, IUserPickerRow } from './type';
68
-
69
- // Define type for props (without generics for Vue3 compatibility)
70
- type UserPickerProps = IUserPickerProps<any>;
67
+ import type { UserPickerProps, UserPickerRef, UserPickerNode, UserPickerRow } from './type';
71
68
 
72
69
  const props = withDefaults(defineProps<UserPickerProps>(), {
73
70
  dataSource: () => [],
@@ -129,7 +126,7 @@ watch(
129
126
  );
130
127
 
131
128
  // Generic node update function - can update any properties of a node
132
- const updateNodeByKey = (nodeKey: string, partialNode: Partial<IUserPickerNode<any>>) => {
129
+ const updateNodeByKey = (nodeKey: string, partialNode: Partial<UserPickerNode<any>>) => {
133
130
  if (!isTreeMode.value) {
134
131
  return;
135
132
  }
@@ -187,7 +184,7 @@ const updateNodeByKey = (nodeKey: string, partialNode: Partial<IUserPickerNode<a
187
184
  };
188
185
 
189
186
  // Implement methods exposed by ref
190
- const refMethods: IUserPickerRef<any> = {
187
+ const refMethods: UserPickerRef<any> = {
191
188
  getSelectedItems: () => selectionManager.getSelectedItems(),
192
189
  updateListData: (newDataSource: any[]) => {
193
190
  // Update list data
@@ -195,7 +192,7 @@ const refMethods: IUserPickerRef<any> = {
195
192
  internalDataSource.value = newDataSource;
196
193
  }
197
194
  },
198
- updateTreeData: (nodeKey: string, partialNode: Partial<IUserPickerNode<any>>) => {
195
+ updateTreeData: (nodeKey: string, partialNode: Partial<UserPickerNode<any>>) => {
199
196
  // Use generic update function
200
197
  updateNodeByKey(nodeKey, partialNode);
201
198
  },
@@ -27,10 +27,7 @@
27
27
  <!-- Checkbox -->
28
28
  <div :class="$style['list__checkbox-wrapper']">
29
29
  <div :class="[$style.list__checkbox, { [$style['list__checkbox--checked']]: isSelected(item.key) }]">
30
- <IconCheckSm
31
- v-if="isSelected(item.key)"
32
- name="check"
33
- />
30
+ <IconCheckSm v-if="isSelected(item.key)" />
34
31
  </div>
35
32
  </div>
36
33
 
@@ -61,10 +58,10 @@
61
58
  import { defineProps } from 'vue';
62
59
  import { useUIKit, IconCheckSm } from '@tencentcloud/uikit-base-component-vue3';
63
60
  import { Avatar } from '../../../Avatar';
64
- import type { IUserPickerRow } from '../../type';
61
+ import type { UserPickerRow } from '../../type';
65
62
 
66
63
  interface ListModeProps<T = unknown> {
67
- dataSource: IUserPickerRow<T>[];
64
+ dataSource: UserPickerRow<T>[];
68
65
  selectedKeys: Set<string>;
69
66
  lockedKeys: Set<string>;
70
67
  onItemClick: (key: string) => void;
@@ -150,7 +147,6 @@ const handleScroll = (e: Event) => {
150
147
  align-items: center;
151
148
  justify-content: center;
152
149
  transition: all 0.3s;
153
- color: #fff;
154
150
  border: 2px solid #d9d9d9;
155
151
 
156
152
  &--checked {
@@ -48,13 +48,13 @@
48
48
  import { defineProps, computed, withDefaults } from 'vue';
49
49
  import { IconClose, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
50
50
  import { Avatar } from '../../../Avatar';
51
- import type { IUserPickerResult } from '../../type';
51
+ import type { UserPickerResult } from '../../type';
52
52
 
53
53
  const { t } = useUIKit();
54
54
 
55
55
  interface SelectedPanelProps {
56
56
  displayMode: 'list' | 'tree';
57
- selectedItems: IUserPickerResult;
57
+ selectedItems: UserPickerResult;
58
58
  lockedKeys: Set<string>;
59
59
  onRemove: (key: string) => void;
60
60
  maxCount?: number;
@@ -21,17 +21,17 @@
21
21
  <script setup lang="ts">
22
22
  import { defineProps } from 'vue';
23
23
  import TreeNode from './TreeNode.vue';
24
- import type { IUserPickerNode } from '../../type';
24
+ import type { UserPickerNode } from '../../type';
25
25
 
26
26
  interface TreeModeProps<T = unknown> {
27
- dataSource: IUserPickerNode<T>[];
27
+ dataSource: UserPickerNode<T>[];
28
28
  selectedKeys: Set<string>;
29
29
  halfSelectedKeys: Set<string>;
30
30
  lockedKeys: Set<string>;
31
31
  expandedKeys: Set<string>;
32
32
  loadingKeys: Set<string>;
33
33
  onItemClick: (key: string) => void;
34
- onExpand: (node: IUserPickerNode<T>) => void;
34
+ onExpand: (node: UserPickerNode<T>) => void;
35
35
  renderItem?: any; // Vue component or render function
36
36
  }
37
37
 
@@ -88,10 +88,10 @@
88
88
  import { defineProps, defineEmits, computed } from 'vue';
89
89
  import { IconArrowDown, IconCheckSm, IconLoading } from '@tencentcloud/uikit-base-component-vue3';
90
90
  import { Avatar } from '../../../Avatar';
91
- import type { IUserPickerNode } from '../../type';
91
+ import type { UserPickerNode } from '../../type';
92
92
 
93
93
  interface TreeNodeProps<T = unknown> {
94
- node: IUserPickerNode<T>;
94
+ node: UserPickerNode<T>;
95
95
  level: number;
96
96
  selectedKeys: Set<string>;
97
97
  halfSelectedKeys: Set<string>;
@@ -105,7 +105,7 @@ const props = defineProps<TreeNodeProps>();
105
105
 
106
106
  const emit = defineEmits<{
107
107
  'item-click': [key: string];
108
- expand: [node: IUserPickerNode<any>];
108
+ expand: [node: UserPickerNode<any>];
109
109
  }>();
110
110
 
111
111
  const isSelected = computed(() => props.selectedKeys.has(props.node.key));
@@ -1,8 +1,9 @@
1
- import { ref, computed, type Ref } from 'vue';
2
- import type { IUserPickerDataSource, IUserPickerNode, IUserPickerRow } from '../type';
1
+ import { ref, computed } from 'vue';
2
+ import type { Ref } from 'vue';
3
+ import type { UserPickerDataSource, UserPickerNode, UserPickerRow } from '../type';
3
4
 
4
5
  interface UseSearchFilterOptions<T = unknown> {
5
- dataSource: Ref<IUserPickerDataSource<T>>;
6
+ dataSource: Ref<UserPickerDataSource<T>>;
6
7
  isTreeMode?: boolean;
7
8
  onSearch?: (value: string) => void;
8
9
  debounceTime?: number;
@@ -11,7 +12,7 @@ interface UseSearchFilterOptions<T = unknown> {
11
12
  interface UseSearchFilterReturn<T = unknown> {
12
13
  searchValue: Ref<string>;
13
14
  setSearchValue: (value: string) => void;
14
- filteredData: Ref<IUserPickerDataSource<T>>;
15
+ filteredData: Ref<UserPickerDataSource<T>>;
15
16
  isSearching: Ref<boolean>;
16
17
  handleSearch: (value: string) => void;
17
18
  clearSearch: () => void;
@@ -19,7 +20,7 @@ interface UseSearchFilterReturn<T = unknown> {
19
20
  }
20
21
 
21
22
  // Check if it's tree data structure
22
- function isTreeDataSource<T>(data: IUserPickerDataSource<T>): data is Array<IUserPickerNode<T>> {
23
+ function isTreeDataSource<T>(data: UserPickerDataSource<T>): data is Array<UserPickerNode<T>> {
23
24
  if (data.length === 0) {
24
25
  return false;
25
26
  }
@@ -27,22 +28,22 @@ function isTreeDataSource<T>(data: IUserPickerDataSource<T>): data is Array<IUse
27
28
  }
28
29
 
29
30
  // Search tree structure
30
- function searchTreeNodes<T>(nodes: Array<IUserPickerNode<T>>, searchValue: string): Array<IUserPickerNode<T>> {
31
+ function searchTreeNodes<T>(nodes: Array<UserPickerNode<T>>, searchValue: string): Array<UserPickerNode<T>> {
31
32
  if (!searchValue.trim()) {
32
33
  return nodes;
33
34
  }
34
35
 
35
36
  // Helper function: check if node matches
36
- const isNodeMatched = (node: IUserPickerNode<T>): boolean =>
37
+ const isNodeMatched = (node: UserPickerNode<T>): boolean =>
37
38
  node.label.toLowerCase().includes(searchValue.toLowerCase());
38
39
 
39
40
  // Helper function: recursively search nodes
40
- const searchNodes = (nodesList: Array<IUserPickerNode<T>>): Array<IUserPickerNode<T>> => {
41
- const matchedNodes: Array<IUserPickerNode<T>> = [];
41
+ const searchNodes = (nodesList: Array<UserPickerNode<T>>): Array<UserPickerNode<T>> => {
42
+ const matchedNodes: Array<UserPickerNode<T>> = [];
42
43
 
43
44
  nodesList.forEach(node => {
44
45
  const isMatched = isNodeMatched(node);
45
- let matchedChildren: Array<IUserPickerNode<T>> = [];
46
+ let matchedChildren: Array<UserPickerNode<T>> = [];
46
47
 
47
48
  if (node.children && node.children.length) {
48
49
  matchedChildren = searchNodes(node.children);
@@ -53,7 +54,7 @@ function searchTreeNodes<T>(nodes: Array<IUserPickerNode<T>>, searchValue: strin
53
54
  matchedNodes.push({
54
55
  ...node,
55
56
  children: matchedChildren.length > 0 ? matchedChildren : node.children,
56
- } as IUserPickerNode<T>);
57
+ } as UserPickerNode<T>);
57
58
  }
58
59
  });
59
60
 
@@ -64,7 +65,7 @@ function searchTreeNodes<T>(nodes: Array<IUserPickerNode<T>>, searchValue: strin
64
65
  }
65
66
 
66
67
  // Search list structure
67
- function searchListItems<T>(items: Array<IUserPickerRow<T>>, searchValue: string): Array<IUserPickerRow<T>> {
68
+ function searchListItems<T>(items: Array<UserPickerRow<T>>, searchValue: string): Array<UserPickerRow<T>> {
68
69
  if (!searchValue.trim()) {
69
70
  return items;
70
71
  }
@@ -89,9 +90,9 @@ export function useSearchFilter<T = unknown>({
89
90
  }
90
91
 
91
92
  if (isTreeMode && isTreeDataSource(dataSource.value)) {
92
- return searchTreeNodes(dataSource.value as Array<IUserPickerNode<T>>, searchValue.value);
93
+ return searchTreeNodes(dataSource.value as Array<UserPickerNode<T>>, searchValue.value);
93
94
  }
94
- return searchListItems(dataSource.value as Array<IUserPickerRow<T>>, searchValue.value);
95
+ return searchListItems(dataSource.value as Array<UserPickerRow<T>>, searchValue.value);
95
96
  });
96
97
 
97
98
  // Handle search input