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
@@ -0,0 +1,141 @@
1
+ import { defineComponent, ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, normalizeClass, withDirectives, vModelText, withCtx, createTextVNode } from "vue";
2
+ import TUIChatEngine from "@tencentcloud/chat-uikit-engine";
3
+ import { useUIKit, TUIButton } from "@tencentcloud/uikit-base-component-vue3";
4
+ import Avatar from "../../../Avatar/Avatar.js";
5
+ import { TEXTAREA_LENGTH_LIMIT } from "../../constants/const.js";
6
+ import { useContactListState } from "../../../../states/ContactListState/ContactListState.js";
7
+ import { _ as _export_sfc } from "../../../../_plugin-vue_export-helper-1tPrXgE0.js";
8
+ const _hoisted_1 = { class: "contact-search-group-info" };
9
+ const _hoisted_2 = { class: "contact-search-group-info__header" };
10
+ const _hoisted_3 = { class: "contact-search-group-info__main-info" };
11
+ const _hoisted_4 = { class: "contact-search-group-info__name" };
12
+ const _hoisted_5 = { class: "contact-search-group-info__id" };
13
+ const _hoisted_6 = { class: "contact-search-group-info__intro" };
14
+ const _hoisted_7 = { class: "contact-search-group-info__intro" };
15
+ const _hoisted_8 = {
16
+ key: 1,
17
+ class: "contact-search-group-info__form"
18
+ };
19
+ const _hoisted_9 = { class: "contact-search-group-info__form-label" };
20
+ const _hoisted_10 = { class: "contact-search-group-info__form-input-wrapper" };
21
+ const _hoisted_11 = ["placeholder", "maxlength"];
22
+ const _hoisted_12 = { class: "contact-search-group-info__form-counter" };
23
+ const _hoisted_13 = {
24
+ key: 2,
25
+ class: "contact-search-group-info__actions"
26
+ };
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ __name: "SearchGroupInfo",
29
+ props: {
30
+ group: {},
31
+ onJoinGroup: {},
32
+ showActions: { type: Boolean, default: true },
33
+ onClose: {}
34
+ },
35
+ emits: ["joinGroup"],
36
+ setup(__props, { emit: __emit }) {
37
+ const props = __props;
38
+ const emit = __emit;
39
+ const { t } = useUIKit();
40
+ const { joinGroup } = useContactListState();
41
+ const note = ref("");
42
+ const loading = ref(false);
43
+ const status = ref("idle");
44
+ const errorMessage = ref("");
45
+ const displayName = computed(() => props.group.name || props.group.groupID);
46
+ const statusClasses = computed(() => [
47
+ "contact-search-group-info__status",
48
+ `contact-search-group-info__status--${status.value}`
49
+ ]);
50
+ const getGroupTypeName = (type) => {
51
+ switch (type) {
52
+ case TUIChatEngine.TYPES.GRP_WORK:
53
+ return t("TUIContact.Work group");
54
+ case TUIChatEngine.TYPES.GRP_PUBLIC:
55
+ return t("TUIContact.Public group");
56
+ case TUIChatEngine.TYPES.GRP_MEETING:
57
+ return t("TUIContact.Meeting group");
58
+ case TUIChatEngine.TYPES.GRP_AVCHATROOM:
59
+ return t("TUIContact.Live group");
60
+ case TUIChatEngine.TYPES.GRP_COMMUNITY:
61
+ return t("TUIContact.Community");
62
+ default:
63
+ return t("TUIContact.Unknown");
64
+ }
65
+ };
66
+ const handleJoinGroup = async () => {
67
+ if (loading.value) {
68
+ return;
69
+ }
70
+ loading.value = true;
71
+ status.value = "idle";
72
+ errorMessage.value = "";
73
+ const applyMessage = note.value.trim();
74
+ emit("joinGroup", props.group, applyMessage);
75
+ try {
76
+ await joinGroup({
77
+ groupID: props.group.groupID,
78
+ applyMessage
79
+ });
80
+ status.value = "success";
81
+ } catch (error) {
82
+ status.value = "error";
83
+ errorMessage.value = (error == null ? void 0 : error.message) || t("TUIContact.Apply to join group failed");
84
+ } finally {
85
+ loading.value = false;
86
+ }
87
+ };
88
+ return (_ctx, _cache) => {
89
+ return openBlock(), createElementBlock("div", _hoisted_1, [
90
+ createElementVNode("div", _hoisted_2, [
91
+ createElementVNode("div", _hoisted_3, [
92
+ createElementVNode("div", _hoisted_4, toDisplayString(displayName.value), 1),
93
+ createElementVNode("div", _hoisted_5, toDisplayString(unref(t)("TUIContact.Group ID")) + ":" + toDisplayString(_ctx.group.groupID), 1),
94
+ createElementVNode("div", _hoisted_6, toDisplayString(unref(t)("TUIContact.Group type")) + ":" + toDisplayString(getGroupTypeName(_ctx.group.type)), 1),
95
+ createElementVNode("div", _hoisted_7, toDisplayString(unref(t)("TUIContact.Group introduction")) + ":" + toDisplayString(_ctx.group.introduction || unref(t)("TUIContact.No introduction")), 1)
96
+ ]),
97
+ createVNode(unref(Avatar), {
98
+ src: _ctx.group.avatar,
99
+ alt: displayName.value,
100
+ size: "xl"
101
+ }, null, 8, ["src", "alt"])
102
+ ]),
103
+ status.value !== "idle" ? (openBlock(), createElementBlock("div", {
104
+ key: 0,
105
+ class: normalizeClass(statusClasses.value)
106
+ }, toDisplayString(status.value === "success" ? unref(t)("TUIContact.Group application sent, waiting for admin approval") : errorMessage.value), 3)) : (openBlock(), createElementBlock("div", _hoisted_8, [
107
+ createElementVNode("label", _hoisted_9, toDisplayString(unref(t)("TUIContact.Application info")), 1),
108
+ createElementVNode("div", _hoisted_10, [
109
+ withDirectives(createElementVNode("textarea", {
110
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => note.value = $event),
111
+ class: "contact-search-group-info__form-input",
112
+ name: "joinGroupNote",
113
+ placeholder: unref(t)("TUIContact.Please enter application info..."),
114
+ maxlength: unref(TEXTAREA_LENGTH_LIMIT)
115
+ }, null, 8, _hoisted_11), [
116
+ [vModelText, note.value]
117
+ ]),
118
+ createElementVNode("div", _hoisted_12, toDisplayString(note.value.length) + "/" + toDisplayString(unref(TEXTAREA_LENGTH_LIMIT)), 1)
119
+ ])
120
+ ])),
121
+ _ctx.showActions && status.value !== "success" ? (openBlock(), createElementBlock("div", _hoisted_13, [
122
+ createVNode(unref(TUIButton), {
123
+ type: "primary",
124
+ size: "big",
125
+ loading: loading.value,
126
+ onClick: handleJoinGroup
127
+ }, {
128
+ default: withCtx(() => [
129
+ createTextVNode(toDisplayString(unref(t)("TUIContact.Apply to join group")), 1)
130
+ ]),
131
+ _: 1
132
+ }, 8, ["loading"])
133
+ ])) : createCommentVNode("", true)
134
+ ]);
135
+ };
136
+ }
137
+ });
138
+ const SearchGroupInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2b2eb5ec"]]);
139
+ export {
140
+ SearchGroupInfo as default
141
+ };
@@ -0,0 +1,32 @@
1
+ import { SearchGroupInfoProps } from '../../../../types/contact';
2
+ import { GroupModel } from '../../../../types/engine';
3
+
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SearchGroupInfoProps>, {
5
+ showActions: boolean;
6
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ joinGroup: (group: GroupModel, note: string) => void;
8
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SearchGroupInfoProps>, {
9
+ showActions: boolean;
10
+ }>>> & Readonly<{
11
+ onJoinGroup?: ((group: GroupModel, note: string) => any) | undefined;
12
+ }>, {
13
+ showActions: boolean;
14
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
15
+ export default _default;
16
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
17
+ type __VLS_TypePropsToRuntimeProps<T> = {
18
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
19
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
20
+ } : {
21
+ type: import('vue').PropType<T[K]>;
22
+ required: true;
23
+ };
24
+ };
25
+ type __VLS_WithDefaults<P, D> = {
26
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
27
+ default: D[K];
28
+ }> : P[K];
29
+ };
30
+ type __VLS_Prettify<T> = {
31
+ [K in keyof T]: T[K];
32
+ } & {};
@@ -0,0 +1 @@
1
+ export { default as SearchGroupInfo } from './SearchGroupInfo.vue';
@@ -0,0 +1,4 @@
1
+ import { default as default2 } from "./SearchGroupInfo.js";
2
+ export {
3
+ default2 as SearchGroupInfo
4
+ };
@@ -0,0 +1,122 @@
1
+ import { defineComponent, ref, computed, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, normalizeClass, withDirectives, vModelText, withCtx, createTextVNode } from "vue";
2
+ import { useUIKit, TUIButton } from "@tencentcloud/uikit-base-component-vue3";
3
+ import Avatar from "../../../Avatar/Avatar.js";
4
+ import { TEXTAREA_LENGTH_LIMIT } from "../../constants/const.js";
5
+ import { useContactListState } from "../../../../states/ContactListState/ContactListState.js";
6
+ import { _ as _export_sfc } from "../../../../_plugin-vue_export-helper-1tPrXgE0.js";
7
+ const _hoisted_1 = { class: "contact-search-user-info" };
8
+ const _hoisted_2 = { class: "contact-search-user-info__header" };
9
+ const _hoisted_3 = { class: "contact-search-user-info__main-info" };
10
+ const _hoisted_4 = { class: "contact-search-user-info__name" };
11
+ const _hoisted_5 = { class: "contact-search-user-info__id" };
12
+ const _hoisted_6 = { class: "contact-search-user-info__intro" };
13
+ const _hoisted_7 = {
14
+ key: 1,
15
+ class: "contact-search-user-info__form"
16
+ };
17
+ const _hoisted_8 = { class: "contact-search-user-info__form-label" };
18
+ const _hoisted_9 = { class: "contact-search-user-info__form-input-wrapper" };
19
+ const _hoisted_10 = ["placeholder", "maxlength"];
20
+ const _hoisted_11 = { class: "contact-search-user-info__form-counter" };
21
+ const _hoisted_12 = {
22
+ key: 2,
23
+ class: "contact-search-user-info__actions"
24
+ };
25
+ const _sfc_main = /* @__PURE__ */ defineComponent({
26
+ __name: "SearchUserInfo",
27
+ props: {
28
+ user: {},
29
+ onAddFriend: {},
30
+ showActions: { type: Boolean, default: true },
31
+ onClose: {}
32
+ },
33
+ emits: ["addFriend", "close"],
34
+ setup(__props, { emit: __emit }) {
35
+ const props = __props;
36
+ const emit = __emit;
37
+ const { t } = useUIKit();
38
+ const { addFriend } = useContactListState();
39
+ const wording = ref("");
40
+ const loading = ref(false);
41
+ const status = ref("idle");
42
+ const errorMessage = ref("");
43
+ const displayName = computed(() => props.user.nick || props.user.userID);
44
+ const handleAddFriend = async () => {
45
+ if (loading.value) {
46
+ return;
47
+ }
48
+ loading.value = true;
49
+ status.value = "idle";
50
+ errorMessage.value = "";
51
+ const addWording = wording.value.trim();
52
+ emit("addFriend", props.user, addWording);
53
+ try {
54
+ await addFriend({
55
+ userID: props.user.userID,
56
+ addSource: "AddSource_Type_Web",
57
+ wording: addWording
58
+ });
59
+ status.value = "success";
60
+ } catch (error) {
61
+ status.value = "error";
62
+ errorMessage.value = (error == null ? void 0 : error.message) || t("TUIContact.Add friend failed");
63
+ } finally {
64
+ loading.value = false;
65
+ }
66
+ };
67
+ return (_ctx, _cache) => {
68
+ return openBlock(), createElementBlock("div", _hoisted_1, [
69
+ createElementVNode("div", _hoisted_2, [
70
+ createElementVNode("div", _hoisted_3, [
71
+ createElementVNode("div", _hoisted_4, toDisplayString(displayName.value), 1),
72
+ createElementVNode("div", _hoisted_5, toDisplayString(unref(t)("TUIContact.ID")) + ":" + toDisplayString(_ctx.user.userID), 1),
73
+ createElementVNode("div", _hoisted_6, toDisplayString(unref(t)("TUIContact.Personal signature")) + ":" + toDisplayString(_ctx.user.selfSignature || ""), 1)
74
+ ]),
75
+ createVNode(unref(Avatar), {
76
+ src: _ctx.user.avatar,
77
+ alt: displayName.value,
78
+ size: "xl"
79
+ }, null, 8, ["src", "alt"])
80
+ ]),
81
+ status.value !== "idle" ? (openBlock(), createElementBlock("div", {
82
+ key: 0,
83
+ class: normalizeClass([
84
+ "contact-search-user-info__status",
85
+ `contact-search-user-info__status--${status.value}`
86
+ ])
87
+ }, toDisplayString(status.value === "success" ? unref(t)("TUIContact.Friend request sent, waiting for confirmation") : errorMessage.value), 3)) : (openBlock(), createElementBlock("div", _hoisted_7, [
88
+ createElementVNode("label", _hoisted_8, toDisplayString(unref(t)("TUIContact.Application info")), 1),
89
+ createElementVNode("div", _hoisted_9, [
90
+ withDirectives(createElementVNode("textarea", {
91
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => wording.value = $event),
92
+ class: "contact-search-user-info__form-input",
93
+ name: "addFriendWording",
94
+ placeholder: unref(t)("TUIContact.Please enter application info..."),
95
+ maxlength: unref(TEXTAREA_LENGTH_LIMIT)
96
+ }, null, 8, _hoisted_10), [
97
+ [vModelText, wording.value]
98
+ ]),
99
+ createElementVNode("div", _hoisted_11, toDisplayString(wording.value.length) + "/" + toDisplayString(unref(TEXTAREA_LENGTH_LIMIT)), 1)
100
+ ])
101
+ ])),
102
+ _ctx.showActions && status.value !== "success" ? (openBlock(), createElementBlock("div", _hoisted_12, [
103
+ createVNode(unref(TUIButton), {
104
+ type: "primary",
105
+ size: "big",
106
+ loading: loading.value,
107
+ onClick: handleAddFriend
108
+ }, {
109
+ default: withCtx(() => [
110
+ createTextVNode(toDisplayString(unref(t)("TUIContact.Apply to add friend")), 1)
111
+ ]),
112
+ _: 1
113
+ }, 8, ["loading"])
114
+ ])) : createCommentVNode("", true)
115
+ ]);
116
+ };
117
+ }
118
+ });
119
+ const SearchUserInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-59ef3830"]]);
120
+ export {
121
+ SearchUserInfo as default
122
+ };
@@ -0,0 +1,33 @@
1
+ import { SearchUserInfoProps, UserProfile } from '../../../../types/contact';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SearchUserInfoProps>, {
4
+ showActions: boolean;
5
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ close: () => void;
7
+ addFriend: (user: UserProfile, wording: string) => void;
8
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SearchUserInfoProps>, {
9
+ showActions: boolean;
10
+ }>>> & Readonly<{
11
+ onClose?: (() => any) | undefined;
12
+ onAddFriend?: ((user: UserProfile, wording: string) => any) | undefined;
13
+ }>, {
14
+ showActions: boolean;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
17
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
18
+ type __VLS_TypePropsToRuntimeProps<T> = {
19
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
20
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
21
+ } : {
22
+ type: import('vue').PropType<T[K]>;
23
+ required: true;
24
+ };
25
+ };
26
+ type __VLS_WithDefaults<P, D> = {
27
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
28
+ default: D[K];
29
+ }> : P[K];
30
+ };
31
+ type __VLS_Prettify<T> = {
32
+ [K in keyof T]: T[K];
33
+ } & {};
@@ -0,0 +1 @@
1
+ export { default as SearchUserInfo } from './SearchUserInfo.vue';
@@ -0,0 +1,4 @@
1
+ import { default as default2 } from "./SearchUserInfo.js";
2
+ export {
3
+ default2 as SearchUserInfo
4
+ };
@@ -0,0 +1,8 @@
1
+ export { default as ContactInfo } from './ContactInfo.vue';
2
+ export * from './FriendInfo';
3
+ export * from './GroupInfo';
4
+ export * from './BlacklistInfo';
5
+ export * from './FriendApplicationInfo';
6
+ export * from './GroupApplicationInfo';
7
+ export * from './SearchUserInfo';
8
+ export * from './SearchGroupInfo';
@@ -0,0 +1,18 @@
1
+ import { default as default2 } from "./ContactInfo.js";
2
+ import { default as default3 } from "./FriendInfo/FriendInfo.js";
3
+ import { default as default4 } from "./GroupInfo/GroupInfo.js";
4
+ import { default as default5 } from "./BlacklistInfo/BlacklistInfo.js";
5
+ import { default as default6 } from "./FriendApplicationInfo/FriendApplicationInfo.js";
6
+ import { default as default7 } from "./GroupApplicationInfo/GroupApplicationInfo.js";
7
+ import { default as default8 } from "./SearchUserInfo/SearchUserInfo.js";
8
+ import { default as default9 } from "./SearchGroupInfo/SearchGroupInfo.js";
9
+ export {
10
+ default5 as BlacklistInfo,
11
+ default2 as ContactInfo,
12
+ default6 as FriendApplicationInfo,
13
+ default3 as FriendInfo,
14
+ default7 as GroupApplicationInfo,
15
+ default4 as GroupInfo,
16
+ default9 as SearchGroupInfo,
17
+ default8 as SearchUserInfo
18
+ };
@@ -0,0 +1,290 @@
1
+ import { defineComponent, computed, watch, ref, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, resolveDynamicComponent, unref, Fragment, renderList, withKeys, createVNode, normalizeClass, toDisplayString } from "vue";
2
+ import { useUIKit, IconArrowStrokeSelectDown } from "@tencentcloud/uikit-base-component-vue3";
3
+ import { ContactItemType } from "../../types/contact.js";
4
+ import { UNREAD_COUNT_LIMIT } from "./constants/const.js";
5
+ import ContactSearch from "./ContactSearch/ContactSearch.js";
6
+ import { ContactListItem as _sfc_main$1 } from "./ContactListItem/index.js";
7
+ import { useContactListState } from "../../states/ContactListState/ContactListState.js";
8
+ import { useContactList } from "./hooks/useContactList.js";
9
+ import { _ as _export_sfc } from "../../_plugin-vue_export-helper-1tPrXgE0.js";
10
+ const _hoisted_1 = { class: "contact-list" };
11
+ const _hoisted_2 = { class: "contact-list__container" };
12
+ const _hoisted_3 = { class: "contact-list__main" };
13
+ const _hoisted_4 = { class: "contact-list__content" };
14
+ const _hoisted_5 = ["onClick", "onKeydown"];
15
+ const _hoisted_6 = { class: "contact-list__group-title" };
16
+ const _hoisted_7 = { class: "contact-list__group-name" };
17
+ const _hoisted_8 = {
18
+ key: 0,
19
+ class: "contact-list__unread-badge"
20
+ };
21
+ const _hoisted_9 = {
22
+ key: 2,
23
+ class: "contact-list__group-content"
24
+ };
25
+ const _hoisted_10 = {
26
+ key: 1,
27
+ class: "contact-list__empty"
28
+ };
29
+ const _hoisted_11 = { class: "contact-list__empty-text" };
30
+ const _sfc_main = /* @__PURE__ */ defineComponent({
31
+ __name: "ContactList",
32
+ props: {
33
+ activeContactItem: {},
34
+ enableSearch: { type: Boolean, default: true },
35
+ groupConfig: {},
36
+ searchPlaceholder: { default: void 0 },
37
+ emptyText: { default: void 0 },
38
+ ContactItem: { default: () => _sfc_main$1 },
39
+ ContactSearchComponent: { default: () => ContactSearch },
40
+ GroupHeader: { default: void 0 },
41
+ PlaceholderEmptyList: { default: () => void 0 },
42
+ onContactItemClick: {},
43
+ onFriendApplicationAction: {},
44
+ onGroupApplicationAction: {}
45
+ },
46
+ emits: ["contact-item-click", "friend-application-action", "group-application-action"],
47
+ setup(__props, { emit: __emit }) {
48
+ const props = __props;
49
+ const emit = __emit;
50
+ const { t } = useUIKit();
51
+ const {
52
+ friendList,
53
+ groupList,
54
+ blackList,
55
+ friendApplicationList,
56
+ groupApplicationList,
57
+ friendApplicationUnreadCount,
58
+ acceptFriendApplication,
59
+ refuseFriendApplication,
60
+ acceptGroupApplication,
61
+ refuseGroupApplication,
62
+ markFriendApplicationAsRead
63
+ } = useContactListState();
64
+ const { activeContact, setActiveContact, setContactGroupTitles } = useContactList();
65
+ const defaultGroupTitles = computed(() => {
66
+ const groupTitle = {
67
+ [ContactItemType.FRIEND_REQUEST]: t("TUIContact.New contacts"),
68
+ [ContactItemType.GROUP_REQUEST]: t("TUIContact.Group applications"),
69
+ [ContactItemType.FRIEND]: t("TUIContact.My friends"),
70
+ [ContactItemType.GROUP]: t("TUIContact.My groups"),
71
+ [ContactItemType.BLACK]: t("TUIContact.Blacklist")
72
+ };
73
+ setContactGroupTitles(groupTitle);
74
+ return groupTitle;
75
+ });
76
+ watch(
77
+ () => props.activeContactItem,
78
+ (newVal) => {
79
+ if (newVal) {
80
+ setActiveContact(newVal);
81
+ }
82
+ },
83
+ { immediate: true }
84
+ );
85
+ const expandedGroups = ref(/* @__PURE__ */ new Set());
86
+ const toggleGroupExpanded = (groupKey) => {
87
+ const newExpanded = new Set(expandedGroups.value);
88
+ if (newExpanded.has(groupKey)) {
89
+ newExpanded.delete(groupKey);
90
+ } else {
91
+ newExpanded.add(groupKey);
92
+ }
93
+ if (groupKey === ContactItemType.FRIEND_REQUEST && friendApplicationUnreadCount.value > 0) {
94
+ markFriendApplicationAsRead();
95
+ }
96
+ expandedGroups.value = newExpanded;
97
+ };
98
+ const getItemId = (item) => {
99
+ if ("userID" in item) {
100
+ return item.userID;
101
+ }
102
+ if ("groupID" in item) {
103
+ return item.groupID;
104
+ }
105
+ return "";
106
+ };
107
+ const handleContactClick = (type, item) => {
108
+ const contactGroupItem = { type, data: item };
109
+ emit("contact-item-click", contactGroupItem);
110
+ setActiveContact(contactGroupItem);
111
+ if (props.onContactItemClick) {
112
+ props.onContactItemClick(contactGroupItem);
113
+ }
114
+ };
115
+ const handleFriendApplicationAction = async (action, application) => {
116
+ try {
117
+ if (action === "accept") {
118
+ await acceptFriendApplication({
119
+ userID: application.userID,
120
+ type: application.type
121
+ });
122
+ } else {
123
+ await refuseFriendApplication(application.userID);
124
+ }
125
+ emit("friend-application-action", action, application);
126
+ if (props.onFriendApplicationAction) {
127
+ props.onFriendApplicationAction(action, application);
128
+ }
129
+ } catch (error) {
130
+ console.error(`[ContactList handleFriendApplicationAction] Failed to ${action} friend application:`, error);
131
+ }
132
+ };
133
+ const handleGroupApplicationAction = async (action, application) => {
134
+ try {
135
+ const params = {
136
+ handleMessage: "",
137
+ application
138
+ };
139
+ if (action === "accept") {
140
+ await acceptGroupApplication(params);
141
+ } else {
142
+ await refuseGroupApplication(params);
143
+ }
144
+ emit("group-application-action", action, application);
145
+ if (props.onGroupApplicationAction) {
146
+ props.onGroupApplicationAction(action, application);
147
+ }
148
+ } catch (error) {
149
+ console.error(`[ContactList handleGroupApplicationAction] Failed to ${action} group application:`, error);
150
+ }
151
+ };
152
+ watch(
153
+ () => props.groupConfig,
154
+ (newConfig) => {
155
+ if (newConfig) {
156
+ const newGroupTitles = defaultGroupTitles.value;
157
+ Object.keys(defaultGroupTitles).forEach((key) => {
158
+ var _a;
159
+ newGroupTitles[key] = ((_a = newConfig[key]) == null ? void 0 : _a.title) || defaultGroupTitles.value[key] || "";
160
+ });
161
+ setContactGroupTitles(newGroupTitles);
162
+ }
163
+ }
164
+ );
165
+ const contactGroups = computed(() => {
166
+ const groupConfigs = [
167
+ {
168
+ type: ContactItemType.FRIEND_REQUEST,
169
+ title: defaultGroupTitles.value[ContactItemType.FRIEND_REQUEST],
170
+ items: friendApplicationList.value,
171
+ unreadCount: friendApplicationUnreadCount.value,
172
+ order: 1
173
+ },
174
+ {
175
+ type: ContactItemType.GROUP_REQUEST,
176
+ title: defaultGroupTitles.value[ContactItemType.GROUP_REQUEST],
177
+ items: groupApplicationList.value,
178
+ order: 2
179
+ },
180
+ {
181
+ type: ContactItemType.FRIEND,
182
+ title: defaultGroupTitles.value[ContactItemType.FRIEND],
183
+ items: friendList.value,
184
+ order: 3
185
+ },
186
+ {
187
+ type: ContactItemType.GROUP,
188
+ title: defaultGroupTitles.value[ContactItemType.GROUP],
189
+ items: groupList.value,
190
+ order: 4
191
+ },
192
+ {
193
+ type: ContactItemType.BLACK,
194
+ title: defaultGroupTitles.value[ContactItemType.BLACK],
195
+ items: blackList.value,
196
+ order: 5
197
+ }
198
+ ];
199
+ const customGroupConfig = props.groupConfig;
200
+ const groups = groupConfigs.filter((config) => {
201
+ var _a;
202
+ return !((_a = customGroupConfig == null ? void 0 : customGroupConfig[config.type]) == null ? void 0 : _a.hidden);
203
+ }).map((config) => {
204
+ var _a, _b;
205
+ return {
206
+ key: config.type,
207
+ type: config.type,
208
+ title: ((_a = customGroupConfig == null ? void 0 : customGroupConfig[config.type]) == null ? void 0 : _a.title) ?? config.title ?? "",
209
+ items: config.items,
210
+ ...config.unreadCount !== void 0 && { unreadCount: config.unreadCount },
211
+ isExpanded: expandedGroups.value.has(config.type),
212
+ order: ((_b = customGroupConfig == null ? void 0 : customGroupConfig[config.type]) == null ? void 0 : _b.order) ?? config.order
213
+ };
214
+ }).sort((a, b) => a.order - b.order);
215
+ return groups;
216
+ });
217
+ const searchPlaceholder = computed(() => props.searchPlaceholder || t("TUIContact.Search contacts"));
218
+ const emptyText = computed(() => props.emptyText || t("TUIContact.No contacts"));
219
+ return (_ctx, _cache) => {
220
+ return openBlock(), createElementBlock("div", _hoisted_1, [
221
+ createElementVNode("div", _hoisted_2, [
222
+ createElementVNode("div", _hoisted_3, [
223
+ _ctx.enableSearch ? (openBlock(), createBlock(resolveDynamicComponent(unref(ContactSearch)), {
224
+ key: 0,
225
+ placeholder: searchPlaceholder.value,
226
+ onResultClick: _cache[0] || (_cache[0] = (item) => {
227
+ handleContactClick(item.type, item.data);
228
+ })
229
+ }, null, 40, ["placeholder"])) : createCommentVNode("", true),
230
+ createElementVNode("div", _hoisted_4, [
231
+ contactGroups.value.length > 0 ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(contactGroups.value, (group) => {
232
+ return openBlock(), createElementBlock("div", {
233
+ key: group.key,
234
+ class: "contact-list__group"
235
+ }, [
236
+ _ctx.GroupHeader ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.GroupHeader), {
237
+ key: 0,
238
+ data: group,
239
+ onClick: ($event) => toggleGroupExpanded(group.key)
240
+ }, null, 8, ["data", "onClick"])) : (openBlock(), createElementBlock("div", {
241
+ key: 1,
242
+ class: "contact-list__group-header",
243
+ role: "button",
244
+ tabindex: "0",
245
+ onClick: ($event) => toggleGroupExpanded(group.key),
246
+ onKeydown: [
247
+ withKeys(($event) => toggleGroupExpanded(group.key), ["enter"]),
248
+ withKeys(($event) => toggleGroupExpanded(group.key), ["space"])
249
+ ]
250
+ }, [
251
+ createElementVNode("div", _hoisted_6, [
252
+ createVNode(unref(IconArrowStrokeSelectDown), {
253
+ class: normalizeClass([
254
+ "contact-list__group-icon",
255
+ group.isExpanded && "contact-list__group-icon--expanded"
256
+ ])
257
+ }, null, 8, ["class"]),
258
+ createElementVNode("span", _hoisted_7, toDisplayString(group.title), 1),
259
+ group.unreadCount !== void 0 && group.unreadCount > 0 ? (openBlock(), createElementBlock("div", _hoisted_8, toDisplayString(group.unreadCount > unref(UNREAD_COUNT_LIMIT) ? "99+" : group.unreadCount), 1)) : createCommentVNode("", true)
260
+ ])
261
+ ], 40, _hoisted_5)),
262
+ group.isExpanded ? (openBlock(), createElementBlock("div", _hoisted_9, [
263
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (contactItem, index) => {
264
+ return openBlock(), createBlock(resolveDynamicComponent(_ctx.ContactItem), {
265
+ key: `${group.type}_${getItemId(contactItem)}_${index}`,
266
+ "contact-item": { type: group.type, data: contactItem },
267
+ "active-contact-item": unref(activeContact),
268
+ onClick: handleContactClick,
269
+ onFriendApplicationAction: handleFriendApplicationAction,
270
+ onGroupApplicationAction: handleGroupApplicationAction
271
+ }, null, 40, ["contact-item", "active-contact-item"]);
272
+ }), 128))
273
+ ])) : createCommentVNode("", true)
274
+ ]);
275
+ }), 128)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
276
+ _ctx.PlaceholderEmptyList ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.PlaceholderEmptyList), { key: 0 })) : (openBlock(), createElementBlock("div", _hoisted_10, [
277
+ createElementVNode("div", _hoisted_11, toDisplayString(emptyText.value), 1)
278
+ ]))
279
+ ], 64))
280
+ ])
281
+ ])
282
+ ])
283
+ ]);
284
+ };
285
+ }
286
+ });
287
+ const ContactListComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f5c94dad"]]);
288
+ export {
289
+ ContactListComponent as default
290
+ };