@tencent-rtc/mcp 1.4.7 → 1.6.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 (553) hide show
  1. package/cursor-setting.png +0 -0
  2. package/index.js +0 -1
  3. package/knowledge/bm25-cache.js +73 -0
  4. package/knowledge/bm25.js +147 -0
  5. package/knowledge/build-index.js +69 -0
  6. package/knowledge/chunker.js +167 -0
  7. package/knowledge/content-loader.js +39 -0
  8. package/knowledge/doc-url-resolver.js +142 -0
  9. package/knowledge/extractors.js +25 -0
  10. package/knowledge/path-meta.js +184 -0
  11. package/knowledge/search/exact-lookup.js +497 -0
  12. package/knowledge/search/filter-pool.js +104 -0
  13. package/knowledge/search/product-scope-intent.js +40 -0
  14. package/knowledge/search/requires-framework.js +81 -0
  15. package/knowledge/search/search-knowledge.js +229 -0
  16. package/mcp-server-prompt.png +0 -0
  17. package/package.json +1 -1
  18. package/resource/_schema/feature-aliases.yaml +10 -0
  19. package/resource/_schema/goal-tags.yaml +72 -0
  20. package/resource/_schema/products.yaml +19 -0
  21. package/resource/_schema/trtc-intents.yaml +27 -0
  22. package/resource/_schema/types.yaml +43 -0
  23. package/resource/index/component-slugs.json +1 -0
  24. package/resource/index/doc-source-urls.json +1 -0
  25. package/resource/index/manifest.json +1 -0
  26. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  27. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  28. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  29. package/resource/integration/callkit/preset/react/integration.md +362 -0
  30. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  31. package/resource/integration/chat/preset/android/integration.md +500 -0
  32. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  33. package/resource/integration/chat/preset/ios/integration.md +566 -0
  34. package/resource/integration/chat/preset/react/integration.md +490 -0
  35. package/resource/integration/chat/preset/vue/integration.md +504 -0
  36. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  37. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  38. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  39. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  40. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  41. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  42. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  43. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  44. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  45. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  46. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  47. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  48. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  49. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  50. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  51. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  52. package/resource/knowledge/callkit/faq/android.md +92 -0
  53. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  54. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  55. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  56. package/resource/knowledge/callkit/faq/ios.md +104 -0
  57. package/resource/knowledge/callkit/faq/web.md +74 -0
  58. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  59. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  60. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  61. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  62. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  63. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  64. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  65. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  66. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  67. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  68. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  69. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  70. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  71. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  72. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  73. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  74. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  75. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  76. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  77. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  78. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  79. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  80. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  81. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  82. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  83. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  84. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  85. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  86. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  87. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  88. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  89. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  93. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  94. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  95. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  96. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  97. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  98. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  99. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  100. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  101. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  102. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  103. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  104. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  105. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  106. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  107. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  108. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  109. package/resource/knowledge/chat/urls/error-code.md +17 -0
  110. package/resource/knowledge/chat/urls/product.md +43 -0
  111. package/resource/knowledge/chat/urls/restapi.md +204 -0
  112. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  113. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  114. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  115. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  116. package/resource/knowledge/chat/urls/webhook.md +68 -0
  117. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  119. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  120. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  121. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  122. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  123. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  124. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  125. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  126. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  127. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  128. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  157. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  158. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  159. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  160. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  161. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  162. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  163. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  164. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  165. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  166. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  167. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  168. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  172. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  184. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  185. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  186. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  187. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  188. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  189. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  190. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  191. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  192. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  193. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  194. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  195. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  196. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  198. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  204. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  205. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  206. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  207. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  208. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  209. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  210. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  211. package/resource/knowledge/push/config/android.md +92 -0
  212. package/resource/knowledge/push/config/harmonyos.md +83 -0
  213. package/resource/knowledge/push/config/ios.md +254 -0
  214. package/resource/knowledge/push/config/react-native.md +254 -0
  215. package/resource/knowledge/push/config/unity.md +209 -0
  216. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  217. package/resource/knowledge/push/integration/android.md +404 -0
  218. package/resource/knowledge/push/integration/flutter.md +465 -0
  219. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  220. package/resource/knowledge/push/integration/ios.md +246 -0
  221. package/resource/knowledge/push/integration/react-native.md +366 -0
  222. package/resource/knowledge/push/integration/uni-app.md +208 -0
  223. package/resource/knowledge/push/integration/unity.md +389 -0
  224. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  225. package/resource/knowledge/push/overview/prepare.md +60 -0
  226. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  227. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  228. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  229. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  230. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  231. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  232. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  233. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  234. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  235. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  236. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  237. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  238. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  239. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  240. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  241. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  242. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  243. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  244. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  245. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  246. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  247. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  248. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  249. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  250. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  251. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  252. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  253. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  254. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  255. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  256. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  257. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  258. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  259. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  260. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  261. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  262. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  263. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  264. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  265. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  266. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  267. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  268. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  269. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  270. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  271. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  272. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  273. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  274. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  275. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  276. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  277. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  278. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  279. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  280. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  281. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  282. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  283. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  284. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  285. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  286. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  287. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  288. package/server-config.js +0 -1
  289. package/server.js +35 -12
  290. package/streamable-http.js +0 -1
  291. package/tools/call/get_native_call_uikit_integration.js +2 -4
  292. package/tools/call/get_native_callkit_core_integration.js +2 -6
  293. package/tools/call/get_web_call_uikit_integration.js +2 -4
  294. package/tools/chat/get_native_chat_uikit_integration.js +2 -4
  295. package/tools/chat/get_web_chat_uikit_integration.js +2 -4
  296. package/tools/common/get_usersig.js +0 -1
  297. package/tools/common/present_framework_choice.js +19 -14
  298. package/tools/common/record_answer.js +19 -26
  299. package/tools/common/record_feedback.js +17 -31
  300. package/tools/common/search_trtc_knowledge.js +44 -0
  301. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -2
  302. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -4
  303. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -3
  304. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -6
  305. package/tools/definitions/get_usersig_def.js +0 -1
  306. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -3
  307. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
  308. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -6
  309. package/tools/definitions/get_web_room_core_integration_def.js +49 -0
  310. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -5
  311. package/tools/definitions/integration-boundary.js +5 -0
  312. package/tools/definitions/present_framework_choice_def.js +12 -11
  313. package/tools/definitions/record_answer_def.js +19 -18
  314. package/tools/definitions/record_feedback_def.js +14 -14
  315. package/tools/definitions/search_trtc_knowledge_def.js +39 -0
  316. package/tools/index.js +5 -37
  317. package/tools/live/get_native_livekit_core_integration.js +1 -4
  318. package/tools/live/get_web_live_uikit_integration.js +2 -5
  319. package/tools/room/get_web_room_core_integration.js +47 -0
  320. package/tools/room/get_web_room_uikit_integration.js +2 -4
  321. package/utils/generate-structured-result.js +24 -31
  322. package/utils/generate-usersig.js +0 -1
  323. package/utils/get-device-identifier.js +0 -1
  324. package/utils/get-doc-content.js +14 -9
  325. package/utils/http-get.js +0 -1
  326. package/utils/http-post.js +0 -1
  327. package/utils/report-cls-client.js +18 -21
  328. package/utils/report-es-client.js +1 -2
  329. package/index.js.map +0 -1
  330. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  331. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  332. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  333. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  334. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  335. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  336. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  337. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  338. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  339. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  340. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  341. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  342. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  343. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  344. package/resource/doc/callkit/faq/web-faq.md +0 -36
  345. package/resource/doc/callkit/preset/android/api.md +0 -296
  346. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  347. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  348. package/resource/doc/callkit/preset/ios/api.md +0 -80
  349. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  350. package/resource/doc/callkit/preset/react/api.md +0 -501
  351. package/resource/doc/callkit/preset/react/integration.md +0 -86
  352. package/resource/doc/callkit/preset/vue/api.md +0 -501
  353. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  354. package/resource/doc/chatkit/android/faq.md +0 -111
  355. package/resource/doc/chatkit/android/features/theme.md +0 -219
  356. package/resource/doc/chatkit/android/integration.md +0 -490
  357. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  358. package/resource/doc/chatkit/faq/common/product.md +0 -7
  359. package/resource/doc/chatkit/faq/common/server.md +0 -44
  360. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  361. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  362. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  363. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  364. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  365. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  366. package/resource/doc/chatkit/flutter/faq.md +0 -23
  367. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  368. package/resource/doc/chatkit/flutter/integration.md +0 -344
  369. package/resource/doc/chatkit/ios/faq.md +0 -111
  370. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  371. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  372. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  373. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  374. package/resource/doc/chatkit/react/components/chat.md +0 -38
  375. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  376. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  377. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  378. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  379. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  380. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  381. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  382. package/resource/doc/chatkit/react/faq.md +0 -26
  383. package/resource/doc/chatkit/react/integration.md +0 -416
  384. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  385. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  386. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  387. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  388. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  389. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  390. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  391. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  392. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  393. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  394. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  395. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  396. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  397. package/resource/doc/chatkit/vue/faq.md +0 -36
  398. package/resource/doc/chatkit/vue/integration.md +0 -428
  399. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  400. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  401. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  402. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  403. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  404. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  405. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  406. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  407. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  408. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  409. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  410. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  411. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  412. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  413. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  414. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  415. package/resource/doc/roomkit/vue/integration.md +0 -315
  416. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  417. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  418. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  419. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  420. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  421. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  422. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  423. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  424. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  425. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  426. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  427. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  428. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  429. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  430. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  431. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  432. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  433. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  434. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  435. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  436. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  437. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  438. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  439. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  440. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  441. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  442. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  443. package/server-config.js.map +0 -1
  444. package/server.js.map +0 -1
  445. package/streamable-http.js.map +0 -1
  446. package/tools/call/get_callkit_api.js +0 -33
  447. package/tools/call/get_callkit_api.js.map +0 -1
  448. package/tools/call/get_native_call_uikit_integration.js.map +0 -1
  449. package/tools/call/get_native_callkit_core_integration.js.map +0 -1
  450. package/tools/call/get_web_call_uikit_integration.js.map +0 -1
  451. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  452. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  453. package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
  454. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  455. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  456. package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
  457. package/tools/common/get_faq.js +0 -266
  458. package/tools/common/get_faq.js.map +0 -1
  459. package/tools/common/get_usersig.js.map +0 -1
  460. package/tools/common/present_framework_choice.js.map +0 -1
  461. package/tools/common/record_answer.js.map +0 -1
  462. package/tools/common/record_feedback.js.map +0 -1
  463. package/tools/common/record_skill_session.js +0 -69
  464. package/tools/common/record_skill_session.js.map +0 -1
  465. package/tools/definitions/get_callkit_api_def.js +0 -29
  466. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  467. package/tools/definitions/get_faq_def.js +0 -47
  468. package/tools/definitions/get_faq_def.js.map +0 -1
  469. package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
  470. package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
  471. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  472. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  473. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
  474. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  475. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  476. package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
  477. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  478. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  479. package/tools/definitions/get_usersig_def.js.map +0 -1
  480. package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
  481. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  482. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  483. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
  484. package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
  485. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  486. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  487. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  488. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  489. package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
  490. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  491. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  492. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  493. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  494. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  495. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  496. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  497. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  498. package/tools/definitions/present_framework_choice_def.js.map +0 -1
  499. package/tools/definitions/record_answer_def.js.map +0 -1
  500. package/tools/definitions/record_feedback_def.js.map +0 -1
  501. package/tools/definitions/record_skill_session_def.js +0 -31
  502. package/tools/definitions/record_skill_session_def.js.map +0 -1
  503. package/tools/index.js.map +0 -1
  504. package/tools/live/get_native_livekit_core_features.js +0 -68
  505. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  506. package/tools/live/get_native_livekit_core_integration.js.map +0 -1
  507. package/tools/live/get_web_live_uikit_integration.js.map +0 -1
  508. package/tools/live/get_web_livekit_api.js +0 -33
  509. package/tools/live/get_web_livekit_api.js.map +0 -1
  510. package/tools/live/get_web_livekit_component_detail.js +0 -35
  511. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  512. package/tools/room/get_web_room_uikit_integration.js.map +0 -1
  513. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  514. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  515. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  516. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  517. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  518. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  519. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  520. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  521. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  522. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  523. package/utils/build-session-directives.js +0 -120
  524. package/utils/build-session-directives.js.map +0 -1
  525. package/utils/generate-structured-result.js.map +0 -1
  526. package/utils/generate-usersig.js.map +0 -1
  527. package/utils/get-device-identifier.js.map +0 -1
  528. package/utils/get-doc-content.js.map +0 -1
  529. package/utils/handle-framework.js +0 -9
  530. package/utils/handle-framework.js.map +0 -1
  531. package/utils/handle-state-name.js +0 -29
  532. package/utils/handle-state-name.js.map +0 -1
  533. package/utils/http-get.js.map +0 -1
  534. package/utils/http-post.js.map +0 -1
  535. package/utils/report-cls-client.js.map +0 -1
  536. package/utils/report-es-client.js.map +0 -1
  537. package/utils/report-runtime-error-cls-client.js +0 -91
  538. package/utils/report-runtime-error-cls-client.js.map +0 -1
  539. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  540. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  541. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  542. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  553. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -3,49 +3,51 @@
3
3
  ContactList is a highly configurable contact list component. It supports friend list, group list, blocklist, and application management, offering core features such as group collapsing, search filtering, and custom rendering. It is suitable for contact management interfaces in instant messaging and social applications.
4
4
 
5
5
  ## ContactList Props
6
- | Field | Type | Default Value | Description |
7
- | --- | --- | --- | --- |
8
- | activeContactItem | ContactGroupItem \\| undefined | `undefined` | Currently active contact item |
9
- | enableSearch | boolean | `true` | Whether to enable the search feature |
10
- | groupConfig | Partial<Record<ContactItemType, CustomGroupConfig>> | `{}` | Custom group configuration |
11
- | className | string | `undefined` | Custom CSS class name |
12
- | style | React.CSSProperties | `undefined` | Custom inline style |
13
- | searchPlaceholder | string | `'Search contacts'` | search box placeholder text |
14
- | emptyText | string | `'No contacts'` | Empty status prompt text |
15
- | ContactItem | React.ComponentType<ContactListItemProps> \\| undefined | `ContactListItem` | Custom contact person component |
16
- | ContactSearchComponent | React.ComponentType<ContactSearchProps> \\| undefined | `ContactSearch` | Custom search component |
17
- | GroupHeader | React.ComponentType<{ data: ContactGroup }> \\| undefined | Default group header | Custom group header component |
18
- | PlaceholderEmptyList | React.ReactNode \\| undefined | Default empty status | Custom empty status component |
19
- | onContactItemClick | (item: ContactGroupItem) => void | `undefined` | Contact person item click event |
20
- | onFriendApplicationAction | (action: 'accept' \\| 'refuse', application: FriendApplication) => void | `undefined` | Friend request operation event |
21
- | onGroupApplicationAction | (action: 'accept' \\| 'refuse', application: GroupApplication) => void | `undefined` | Group request operation event |
6
+
7
+ |Field|Type|Default Value|Description|
8
+ |---------|---------|---------|---------|
9
+ |activeContactItem|ContactGroupItem \| undefined|`undefined`|Currently active contact item|
10
+ |enableSearch|boolean|`true`|Whether to enable the search feature|
11
+ |groupConfig|Partial<Record<ContactItemType, CustomGroupConfig>>|`{}`|Custom group configuration|
12
+ |className|string|`undefined`|Custom CSS class name|
13
+ |style|React.CSSProperties|`undefined`|Custom inline style|
14
+ |searchPlaceholder|string|`'Search contacts'`|search box placeholder text|
15
+ |emptyText|string|`'No contacts'`|Empty status prompt text|
16
+ |ContactItem|React.ComponentType<ContactListItemProps> \| undefined|`ContactListItem`|Custom contact person component|
17
+ |ContactSearchComponent|React.ComponentType<ContactSearchProps> \| undefined|`ContactSearch`|Custom search component|
18
+ |GroupHeader|React.ComponentType<{ data: ContactGroup }> \| undefined|Default group header|Custom group header component|
19
+ |PlaceholderEmptyList|React.ReactNode \| undefined|Default empty status|Custom empty status component|
20
+ |onContactItemClick|(item: ContactGroupItem) => void|`undefined`|Contact person item click event|
21
+ |onFriendApplicationAction|(action: 'accept' \| 'refuse', application: FriendApplication) => void|`undefined`|Friend request operation event|
22
+ |onGroupApplicationAction|(action: 'accept' \| 'refuse', application: GroupApplication) => void|`undefined`|Group request operation event|
22
23
 
23
24
  ## ContactInfo props
24
- | Field | Type | Default Value | Description |
25
- | --- | --- | --- | --- |
26
- | contactItem | ContactGroupItem \\| undefined | `undefined` | Currently showing contact item |
27
- | showActions | boolean | `true` | whether to display the action button |
28
- | PlaceholderEmpty | React.ReactNode \\| undefined | `undefined` | Empty status placeholder component |
29
- | FriendInfoComponent | React.ComponentType<FriendInfoProps> | `FriendInfo` | Friend information component |
30
- | GroupInfoComponent | React.ComponentType<GroupInfoProps> | `GroupInfo` | Group information component |
31
- | BlacklistInfoComponent | React.ComponentType<BlacklistInfoProps> | `BlacklistInfo` | Blocklist information component |
32
- | FriendApplicationInfoComponent | React.ComponentType<FriendApplicationInfoProps> | `FriendApplicationInfo` | Friend request information component |
33
- | GroupApplicationInfoComponent | React.ComponentType<GroupApplicationInfoProps> | `GroupApplicationInfo` | Group application information component |
34
- | SearchGroupInfoComponent | React.ComponentType<SearchGroupInfoProps> | `SearchGroupInfo` | Group information search component |
35
- | SearchUserInfoComponent | React.ComponentType<SearchUserInfoProps> | `SearchUserInfo` | User information search component |
36
- | onClose | () => void | `undefined` | Close message panel callback |
37
- | onSendMessage | (friend: Friend) => void | `undefined` | Message send callback |
38
- | onDeleteFriend | (friend: Friend) => void | `undefined` | Remove friend callback |
39
- | onUpdateFriendRemark | (friend: Friend, remark: string) => void | `undefined` | Update friend remark callback |
40
- | onAddToBlacklist | (friend: Friend) => void | `undefined` | Add to blocklist callback |
41
- | onRemoveFromBlacklist | (profile: UserProfile) => void | `undefined` | Remove from blocklist callback |
42
- | onEnterGroup | (group: GroupModel) => void | `undefined` | Group entry callback |
43
- | onLeaveGroup | (group: GroupModel) => void | `undefined` | Group exit callback |
44
- | onDismissGroup | (group: GroupModel) => void | `undefined` | Group dismissed callback |
45
- | onFriendApplicationAction | (action: 'accept' \\| 'refuse', application: FriendApplication) => void | `undefined` | Friend request operation callback |
46
- | onGroupApplicationAction | (action: 'accept' \\| 'refuse', application: GroupApplication) => void | `undefined` | Group application operation callback |
47
- | onAddFriend | (user: UserProfile, wording: string) => void | `undefined` | Friend request callback |
48
- | onJoinGroup | (group: GroupModel, note: string) => void | `undefined` | Group join callback |
25
+
26
+ |Field|Type|Default Value|Description|
27
+ |---------|---------|---------|---------|
28
+ |contactItem|ContactGroupItem \| undefined|`undefined`|Currently showing contact item|
29
+ |showActions|boolean|`true`|whether to display the action button|
30
+ |PlaceholderEmpty|React.ReactNode \| undefined|`undefined`|Empty status placeholder component|
31
+ |FriendInfoComponent|React.ComponentType<FriendInfoProps>|`FriendInfo`|Friend information component|
32
+ |GroupInfoComponent|React.ComponentType<GroupInfoProps>|`GroupInfo`|Group information component|
33
+ |BlacklistInfoComponent|React.ComponentType<BlacklistInfoProps>|`BlacklistInfo`|Blocklist information component|
34
+ |FriendApplicationInfoComponent|React.ComponentType<FriendApplicationInfoProps>|`FriendApplicationInfo`|Friend request information component|
35
+ |GroupApplicationInfoComponent|React.ComponentType<GroupApplicationInfoProps>|`GroupApplicationInfo`|Group application information component|
36
+ |SearchGroupInfoComponent|React.ComponentType<SearchGroupInfoProps>|`SearchGroupInfo`|Group information search component|
37
+ |SearchUserInfoComponent|React.ComponentType<SearchUserInfoProps>|`SearchUserInfo`|User information search component|
38
+ |onClose|() => void|`undefined`|Close message panel callback|
39
+ |onSendMessage|(friend: Friend) => void|`undefined`|Message send callback|
40
+ |onDeleteFriend|(friend: Friend) => void|`undefined`|Remove friend callback|
41
+ |onUpdateFriendRemark|(friend: Friend, remark: string) => void|`undefined`|Update friend remark callback|
42
+ |onAddToBlacklist|(friend: Friend) => void|`undefined`|Add to blocklist callback|
43
+ |onRemoveFromBlacklist|(profile: UserProfile) => void|`undefined`|Remove from blocklist callback|
44
+ |onEnterGroup|(group: GroupModel) => void|`undefined`|Group entry callback|
45
+ |onLeaveGroup|(group: GroupModel) => void|`undefined`|Group exit callback|
46
+ |onDismissGroup|(group: GroupModel) => void|`undefined`|Group dismissed callback|
47
+ |onFriendApplicationAction|(action: 'accept' \| 'refuse', application: FriendApplication) => void|`undefined`|Friend request operation callback|
48
+ |onGroupApplicationAction|(action: 'accept' \| 'refuse', application: GroupApplication) => void|`undefined`|Group application operation callback|
49
+ |onAddFriend|(user: UserProfile, wording: string) => void|`undefined`|Friend request callback|
50
+ |onJoinGroup|(group: GroupModel, note: string) => void|`undefined`|Group join callback|
49
51
 
50
52
  ## Basic Usage
51
53
  ``` tsx
@@ -0,0 +1,215 @@
1
+ The `ConversationActions` component manages actions for individual conversations. By default, it provides options to delete conversations, pin or unpin conversations, and enable or disable Do Not Disturb mode for conversations.
2
+
3
+ ## Basic Usage
4
+
5
+ When you use `ConversationActions` within a `ConversationList`, you can configure it directly using the top-level `actionsConfig` prop on `ConversationList`. The `actionsConfig` prop lets you enable or disable default conversation actions, handle action events, add custom action items, and perform basic UI customization.
6
+
7
+ For advanced customization, you can create your own component based on `ConversationActions`.
8
+
9
+ ### Basic Customization with actionsConfig
10
+ ``` typescript
11
+ import { UIKitProvider, ConversationList } from "@tencentcloud/chat-uikit-react";
12
+
13
+ const App = () => {
14
+ return (
15
+ <UIKitProvider>
16
+ <ConversationList
17
+ actionsConfig={{
18
+ enablePin: false,
19
+ onConversationDelete: (conversation) => { console.log('Delete conversation success'); },
20
+ customConversationActions: {
21
+ 'custom-actions-1': {
22
+ label: 'custom-actions',
23
+ onClick: (conversation) => { console.log(conversation); },
24
+ },
25
+ },
26
+ }}/>
27
+ </UIKitProvider>
28
+ );
29
+ }
30
+ ```
31
+
32
+ ### Customizing the ConversationActions Component
33
+ ``` typescript
34
+ import { UIKitProvider, ConversationList, ConversationActions } from "@tencentcloud/chat-uikit-react";
35
+
36
+ type ConversationActionsProps = Parameters<typeof ConversationActions>[0];
37
+
38
+ function CustomConversationActions(props: ConversationActionsProps) {
39
+ return <ConversationActions {...props} enableDelete={false} />;
40
+ }
41
+
42
+ const App = () => {
43
+ return (
44
+ <UIKitProvider>
45
+ <ConversationList
46
+ style={{ maxWidth: '300px', height: '600px' }}
47
+ ConversationActions={CustomConversationActions}
48
+ />
49
+ </UIKitProvider>
50
+ );
51
+ }
52
+ ```
53
+
54
+ ## Props
55
+
56
+ The `ConversationActionsProps` interface extends `ConversationActionsConfig`, and defines the props for the `ConversationActions` component.
57
+
58
+ |Parameter|Type|Default|Description|
59
+ |---------|---------|---------|---------|
60
+ |**conversation** (Required)|ConversationInfo|-|Specifies the conversation for which actions are rendered.|
61
+ |className|String|-|Custom class name for the root element.|
62
+ |style|React.CSSProperties|-|Custom style for the root element.|
63
+
64
+ #### ConversationActionsConfig
65
+
66
+ |Parameter|Type|Default|Description|
67
+ |---------|---------|---------|---------|
68
+ |enablePin|Boolean|true|Whether to display the Pin Conversation button.|
69
+ |enableMute|Boolean|true|Whether to display the Do Not Disturb button.|
70
+ |enableDelete|Boolean|true|Whether to display the Delete Conversation button.|
71
+ |onConversationPin|(conversation: ConversationInfo, e?: React.MouseEvent) => void|-|Custom handler for pinning or unpinning a conversation.|
72
+ |onConversationMute|(conversation: ConversationInfo, e?: React.MouseEvent) => void|-|Custom handler for enabling or disabling Do Not Disturb for a conversation.|
73
+ |onConversationDelete|(conversation: ConversationInfo, e?: React.MouseEvent) => void|-|Custom handler for deleting a conversation.|
74
+ |customConversationActions|Record|-|Custom action items for conversations.|
75
+ |onClick|(e: React.MouseEvent, key?: string, conversation?: ConversationInfo) => void|-|Callback triggered when an action item is clicked.|
76
+
77
+ ## Custom Components
78
+
79
+ ### Basic Feature Toggles
80
+
81
+ Use the `enablePin`, `enableDelete`, and `enableMute` props to control the visibility of Pin Conversation, Do Not Disturb, and Delete Conversation actions in `ConversationActions`.
82
+ ``` typescript
83
+ <ConversationActions enablePin={false} />
84
+ ```
85
+ ``` typescript
86
+ <ConversationActions enableDelete={false} />
87
+ ```
88
+ ``` typescript
89
+ <ConversationActions enableMute={false} />
90
+ ```
91
+
92
+ |`enablePin={false}`|`enableDelete={false}`|`enableMute={false}`|
93
+ |---------|---------|---------|
94
+ ||||
95
+
96
+ ### Event Handling
97
+
98
+ `ConversationActions` provides built-in support for deleting conversations, pinning or unpinning conversations, and enabling or disabling Do Not Disturb. If you need to override the default event handlers, provide your own handler functions. You can also use the `onClick` prop to handle generic click events.
99
+ ``` typescript
100
+ import { ConversationList, ConversationActions, useChatContext } from '@tencentcloud/chat-uikit-react';
101
+ import { Toast } from 'third-party-lib';
102
+ type ConversationActionsProps = Parameters<typeof ConversationActions>[0];
103
+
104
+ const CustomConversationActions = (props: ConversationActionsProps) => {
105
+
106
+ const {
107
+ deleteConversation
108
+ } = useChatContext();
109
+
110
+ return (
111
+ <ConversationActions
112
+ {...props}
113
+ onConversationDelete={(conversation) => {
114
+ deleteConversation(conversation.conversationID).then(() => {
115
+ Toast({ text: 'delete conversation successfully!', type: 'info' });
116
+ }).catch(() => {
117
+ Toast({ text: 'delete conversation failed!', type: 'error' });
118
+ });
119
+ }}
120
+ />
121
+ );
122
+ };
123
+
124
+ <ConversationList ConversationActions={CustomConversationActions} />
125
+ ```
126
+
127
+ ### customConversationActions
128
+
129
+ The `customConversationActions` prop lets you add custom action items to `ConversationActions`.
130
+
131
+ |Parameter|Type|Default|Description|
132
+ |---------|---------|---------|---------|
133
+ |enable|Boolean|true|Whether the custom action item is enabled.|
134
+ |label|String|-|Display label for the custom action item.|
135
+ |onClick|(conversation: ConversationInfo, e?: React.MouseEvent) => void|-|Callback triggered when the custom action item is clicked.|
136
+
137
+ Below is an example showing how to add custom action items with `customConversationActions`:
138
+ ``` typescript
139
+ import { ConversationList, ConversationActions } from '@tencentcloud/chat-uikit-react';
140
+ import type { ConversationInfo } from '@tencentcloud/chat-uikit-react';
141
+ type ConversationActionsProps = Parameters<typeof ConversationActions>[0];
142
+
143
+ const CustomConversationActions = (props: ConversationActionsProps) => {
144
+ return (
145
+ <ConversationActions
146
+ {...props}
147
+ customConversationActions={{
148
+ 'custom-actions-1': {
149
+ label: 'custom-actions',
150
+ onClick: (conversation: ConversationInfo) => { console.log(conversation); },
151
+ },
152
+ }}
153
+ />
154
+ );
155
+ };
156
+
157
+ <ConversationList ConversationActions={CustomConversationActions} />
158
+ ```
159
+
160
+ |Before|After|
161
+ |---------|---------|
162
+ |||
163
+
164
+ ### UI Customization
165
+
166
+ You can fully customize the conversation action menu using third-party UI elements.
167
+ ``` typescript
168
+ import { ConversationList, ConversationActions } from '@tencentcloud/chat-uikit-react';
169
+ type ConversationActionsProps = Parameters<typeof ConversationActions>[0];
170
+
171
+ function CustomConversationActions(props: ConversationActionsProps) {
172
+ const [menuPosition, setMenuPosition] = useState<MenuPosition | null>(null);
173
+
174
+ const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {
175
+ event.preventDefault();
176
+ setMenuPosition({
177
+ x: event.clientX,
178
+ y: event.clientY,
179
+ });
180
+ };
181
+
182
+ const handleActionClick = () => {
183
+ console.log('Custom conversation action:', props.conversation);
184
+ setMenuPosition(null);
185
+ };
186
+
187
+ return (
188
+ <div
189
+ className="conversation-actions-basic-demo__trigger"
190
+ onContextMenu={handleContextMenu}
191
+ >
192
+ {props.children}
193
+ {menuPosition && (
194
+ <div
195
+ className="conversation-actions-basic-demo__menu"
196
+ style={{ left: menuPosition.x, top: menuPosition.y }}
197
+ >
198
+ <button onClick={handleActionClick} type="button">
199
+ Custom action
200
+ </button>
201
+ <button onClick={() => setMenuPosition(null)} type="button">
202
+ Close
203
+ </button>
204
+ </div>
205
+ )}
206
+ </div>
207
+ );
208
+ }
209
+
210
+ <ConversationList ConversationActions={CustomConversationActions} />
211
+ ```
212
+
213
+ |Before|After|
214
+ |---------|---------|
215
+ |||
@@ -0,0 +1,339 @@
1
+ ## Component Overview
2
+
3
+ The `ConversationList` component provides the main conversation list functionality. It includes a Header section and a List section, and supports features such as conversation search, conversation creation, pinning conversations, and deleting conversations.
4
+
5
+ This guide covers basic usage, component customization, flexible composition, and a complete list of component props.
6
+
7
+ |**Conversation List**|**Conversation Actions**|**Conversation Search**|**Create Conversation**|
8
+ |---------|---------|---------|---------|
9
+ |||||
10
+
11
+ ## Component Structure
12
+
13
+ The `ConversationList` component includes the following:
14
+ - `ConversationSearch` - Conversation search
15
+
16
+ - `ConversationList UI` - Conversation list container
17
+
18
+ - `ConversationPreview` - Displays information for a single conversation
19
+
20
+ - `ConversationActions` - Actions for an individual conversation
21
+
22
+ ## Basic Usage
23
+
24
+ The `ConversationList` component does not require any mandatory props. To use `ConversationList`, add the following code:
25
+ ``` typescript
26
+ import { UIKitProvider, ConversationList } from '@tencentcloud/chat-uikit-react';
27
+
28
+ const App = () => {
29
+ return (
30
+ <UIKitProvider>
31
+ <ConversationList />
32
+ </UIKitProvider>
33
+ );
34
+ };
35
+ ```
36
+
37
+ ## Customizing the Component
38
+
39
+ `ConversationList` offers a comprehensive props interface for customizing functionality, UI, modules, and more.
40
+
41
+ You can replace multiple subcomponents within `ConversationList`, including `Header`, `List`, `ConversationPreview`, `ConversationCreate`, `ConversationSearch`, `ConversationActions`, `Avatar`, and `Placeholder`. You can also extend and customize these default subcomponents as needed.
42
+
43
+ ### Basic Feature Toggles
44
+
45
+ Control the display of conversation search, conversation creation, and conversation actions in `ConversationList` by setting the `enableSearch`, `enableCreate`, and `enableActions` parameters.
46
+ ``` typescript
47
+ <ConversationList enableSearch={false} />
48
+ ```
49
+ ``` typescript
50
+ <ConversationList enableCreate={false} />
51
+ ```
52
+ ``` typescript
53
+ <ConversationList enableActions={false} />
54
+ ```
55
+
56
+ |`enableSearch={false}`|`enableCreate={false}`|`enableActions={false}`|
57
+ |---------|---------|---------|
58
+ ||||
59
+
60
+ ### Data Filtering and Sorting
61
+
62
+ The `ConversationList` component provides `filterConversation` and `sortConversation` properties to filter and sort conversation list data.
63
+
64
+ #### Filter Conversations
65
+
66
+ To filter conversation list data, pass a filter function to the `filterConversation` property. This function receives the conversation list as a parameter and returns a new list containing only conversations that meet your criteria.
67
+
68
+ The following example uses the `filterConversation` property to display only conversations with unread messages:
69
+ ``` typescript
70
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
71
+ import type { ConversationInfo } from '@tencentcloud/chat-uikit-react';
72
+
73
+ <ConversationList
74
+ filter={(conversationList: ConversationInfo[]) =>
75
+ conversationList.filter(conversation => conversation.unreadCount > 0)}
76
+ />
77
+ ```
78
+
79
+ #### Sort Conversations
80
+
81
+ To sort conversation list data, pass a sorting function to the `sortConversation` property. This function receives the conversation list as a parameter and returns a new list sorted according to your requirements.
82
+
83
+ The following example uses the `sortConversation` property to sort conversations by latest message time in descending order:
84
+ ``` typescript
85
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
86
+ import type { ConversationInfo } from '@tencentcloud/chat-uikit-react';
87
+
88
+ <ConversationList
89
+ sort={(conversationList: ConversationInfo[]) =>
90
+ conversationList.sort(
91
+ (a, b) => {
92
+ const timeA = a.lastMessage?.timestamp?.getTime() || 0;
93
+ const timeB = b.lastMessage?.timestamp?.getTime() || 0;
94
+ return timeB - timeA;
95
+ },
96
+ )}
97
+ />
98
+ ```
99
+
100
+ By using the `filter` and `sort` properties, you can efficiently filter and sort conversation list data to suit your needs.
101
+
102
+ ### Custom actionsConfig
103
+
104
+ Use actionsConfig to control the basic functionality of `ConversationActions`.
105
+
106
+ For additional customization, refer to the ConversationActions section.
107
+ ``` typescript
108
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
109
+ import type { ConversationInfo } from '@tencentcloud/chat-uikit-react';
110
+
111
+ <ConversationList
112
+ actionsConfig={{
113
+ enablePin: false,
114
+ onConversationDelete: (conversation: ConversationInfo) => { console.log('Delete conversation success'); },
115
+ customConversationActions: {
116
+ 'custom-actions-1': {
117
+ label: 'custom-actions',
118
+ onClick: (conversation: ConversationInfo) => { console.log(conversation); },
119
+ },
120
+ },
121
+ }}
122
+ />
123
+ ```
124
+
125
+ |`enablePin: false`|`enableDelete: false`|`enableMute: false`|`customConversationActions`|
126
+ |---------|---------|---------|---------|
127
+ |||||
128
+
129
+ ### Custom Placeholder
130
+
131
+ Customize the list display for different states by passing `PlaceholderEmptyList`, `PlaceholderLoading`, and `PlaceholderLoadError`.
132
+
133
+ The following example customizes the `PlaceholderLoading` element:
134
+ ``` typescript
135
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
136
+
137
+ <ConversationList
138
+ PlaceholderEmptyList={<div>Empty List!!!</div>}
139
+ />
140
+ ```
141
+
142
+ ### Custom Header
143
+
144
+ `ConversationListHeader` renders the Header section of the ConversationList. By default, it wraps and displays `ConversationSearch` and `ConversationCreate`. You can customize it by passing left, right, and other properties, or by replacing the entire component.
145
+
146
+ #### Props
147
+
148
+ |**Prop Name**|**Type**|**Default**|**Description**|
149
+ |---------|---------|---------|---------|
150
+ |children|`ReactNode`|-|Custom center component for the conversation list header. When used in ``, and `` are passed in by default.|
151
+ |left|`ReactElement`|-|Custom component for the left side of the conversation list header.|
152
+ |right|`ReactElement`|-|Custom component for the right side of the conversation list header.|
153
+ |className|`String`|-|Custom CSS class name for the root element.|
154
+ |style|`React.CSSProperties`|-|Custom style for the root element.|
155
+
156
+ #### Basic Customization
157
+
158
+ The following example adds a new feature button to the right side of the Header component.
159
+ ``` typescript
160
+ import {
161
+ ConversationList,
162
+ ConversationListHeader,
163
+ } from '@tencentcloud/chat-uikit-react';
164
+
165
+ const CustomConversationListHeader = (props) => {
166
+ const CustomIcon = <div>Custom Icon</div>;
167
+ return (
168
+ <ConversationListHeader {...props} right={CustomIcon} />
169
+ );
170
+ };
171
+
172
+ <ConversationList Header={CustomConversationListHeader} />
173
+ ```
174
+
175
+ #### Advanced Customization
176
+
177
+ The following example implements conversation grouping, categorizing by All, Unread, C2C, and Group. Clicking each group button applies a different filter.
178
+
179
+ |**Before**|**After**|
180
+ |---------|---------|
181
+ |||
182
+
183
+ ``` typescript
184
+ import { useState } from 'react';
185
+ import { ConversationList, UIKitProvider, ConversationInfo } from '@tencentcloud/chat-uikit-react';
186
+
187
+ const conversationGroupFilter: Record<string, (conversationList: ConversationInfo[]) => ConversationInfo[]> = {
188
+ all: (conversationList: ConversationInfo[]) => conversationList,
189
+ unread: (conversationList: ConversationInfo[]) => conversationList?.filter((item: ConversationInfo) => item.unreadCount > 0),
190
+ c2c: (conversationList: ConversationInfo[]) => conversationList?.filter((item: ConversationInfo) => item.type === ConversationType.C2C),
191
+ group: (conversationList: ConversationInfo[]) => conversationList?.filter((item: ConversationInfo) => item.type === ConversationType.Group),
192
+ };
193
+
194
+ const App = () => {
195
+ const [currentFilter, setCurrentFilter] = useState<string>('all');
196
+
197
+ const CustomConversationListHeader = (props: IConversationListHeaderProps) => {
198
+ return (
199
+ <div className="conversation-group-wrapper">
200
+ <button className={currentFilter === 'all' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('all')}>All</button>
201
+ <button className={currentFilter === 'unread' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('unread')}>Unread</button>
202
+ <button className={currentFilter === 'c2c' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('c2c')}>C2C</button>
203
+ <button className={currentFilter === 'group' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('group')}>Group</button>
204
+ </div>
205
+ );
206
+ };
207
+
208
+ return (
209
+ <UIKitProvider>
210
+ <ConversationList
211
+ style={{ maxWidth: '300px', height: '600px' }}
212
+ Header={CustomConversationListHeader}
213
+ filter={conversationGroupFilter[currentFilter]}
214
+ />
215
+ </UIKitProvider>
216
+ );
217
+ };
218
+ ```
219
+ ``` scss
220
+ .conversation-group-wrapper {
221
+ display: flex;
222
+ justify-content: space-around;
223
+ align-items: center;
224
+ margin: 10px;
225
+ font-size: 14px;
226
+ .btn-default{
227
+ display: flex;
228
+ padding: 5px 10px;
229
+ border: 1px solid #b3b3b4;
230
+ color: #3b3d43;
231
+ background-color: transparent;
232
+ border-radius: 2px;
233
+ }
234
+ .btn-active{
235
+ display: flex;
236
+ padding: 5px 10px;
237
+ border: 1px solid #1c66e5;
238
+ color: #1c66e5;
239
+ background-color: transparent;
240
+ border-radius: 2px;
241
+ }
242
+ }
243
+ ```
244
+
245
+ ### Custom List
246
+
247
+ `ConversationListContent` renders the main list section of the ConversationList.
248
+
249
+ By default, it displays the current conversation list data (`filteredAndSortedConversationList`) calculated in Context.
250
+
251
+ #### Props
252
+
253
+ |**Prop Name**|**Type**|**Default**|**Description**|
254
+ |---------|---------|---------|---------|
255
+ |children|`ReactNode`|-|Custom component for the conversation list content area. When used in , the `filteredAndSortedConversationList` is passed in and iterated as a list of `` components.|
256
+ |empty|`Boolean`|`false`|Flag for empty conversation list. When used in ``, it checks if `filteredAndSortedConversationList.length === 0` and passes this in.|
257
+ |loading|`Boolean`|`false`|Flag for conversation list loading state. When used in ``, it uses `useConversationList()` to get `isLoading` and passes it in.|
258
+ |error|`Boolean`|`false`|Flag for conversation list load error. When used in ``, it uses `useConversationList()` to get `isLoadError` and passes it in.|
259
+ |PlaceholderEmptyList|`ReactNode`|``|Custom placeholder element when the conversation list is empty.|
260
+ |PlaceholderLoading|`ReactNode`|``|Custom placeholder element when the conversation list is loading.|
261
+ |PlaceholderLoadError|`ReactNode`|``|Custom placeholder element when the conversation list fails to load.|
262
+ |className|`String`|-|Custom CSS class name for the root element.|
263
+ |style|`React.CSSProperties`|-|Custom style for the root element.|
264
+
265
+ #### Basic Customization
266
+
267
+ The `List` component manages different UI states as shown below. State transitions are handled internally within `ConversationList`.
268
+
269
+ You can also control the component state by passing custom `empty`, `loading`, or `error` props.
270
+ ``` typescript
271
+ import { ConversationList, ConversationListContent } from '@tencentcloud/chat-uikit-react';
272
+
273
+ const CustomConversationListContent = (props) => {
274
+ return <ConversationListContent {...props} loading={true} />;
275
+ };
276
+
277
+ <ConversationList List={CustomConversationListContent} />
278
+ ```
279
+
280
+ |`default`|`empty={true}`|`loading={true}`|`error={true}`|
281
+ |---------|---------|---------|---------|
282
+ |||||
283
+
284
+ ### Custom ConversationPreview
285
+
286
+ For details, see the ConversationPreview section.
287
+ ``` typescript
288
+ <ConversationList ConversationPreview={CustomConversationPreview} />
289
+ ```
290
+
291
+ ### Custom ConversationActions
292
+
293
+ For details, see the ConversationActions section.
294
+ ``` typescript
295
+ <ConversationList ConversationActions={CustomConversationActions} />
296
+ ```
297
+
298
+ ### Custom ConversationSearch
299
+
300
+ For details, see the ConversationSearch section.
301
+ ``` typescript
302
+ <ConversationList ConversationSearch={CustomConversationSearch} />
303
+ ```
304
+
305
+ ### Custom ConversationCreate
306
+ ``` typescript
307
+ <ConversationList ConversationCreate={CustomConversationCreate} />
308
+ ```
309
+
310
+ ### Custom Avatar
311
+ ``` typescript
312
+ <ConversationList Avatar={CustomAvatar} />
313
+ ```
314
+
315
+ ## APIs/Props
316
+
317
+ |**Prop Name**|**Type**|**Default**|**Description**|
318
+ |---------|---------|---------|---------|
319
+ |enableSearch|Boolean|true|Controls whether the conversation search feature is displayed.|
320
+ |enableCreate|Boolean|true|Controls whether the conversation creation feature is displayed.|
321
+ |enableActions|Boolean|true|Controls whether conversation actions are displayed.|
322
+ |actionsConfig|ConversationActionsConfig|-|Used to customize conversation action configurations.|
323
+ |Header|ReactElement|Header|Custom Header component.|
324
+ |List|ReactElement|List|Custom conversation list component.|
325
+ |Preview|ReactElement|ConversationPreview|Custom conversation preview component.|
326
+ |ConversationCreate|ReactElement|ConversationCreate|Custom conversation creation component.|
327
+ |ConversationSearch|ReactElement|ConversationSearch|Custom conversation search component.|
328
+ |ConversationActions|ReactElement|ConversationActions|Custom conversation actions component.|
329
+ |Avatar|ReactElement|Avatar|Custom avatar component.|
330
+ |PlaceholderEmptyList|ReactNode|-|Custom placeholder element when the conversation list is empty.|
331
+ |PlaceholderLoading|ReactNode|-|Custom placeholder element when the conversation list is loading.|
332
+ |PlaceholderLoadError|ReactNode|-|Custom placeholder element when the conversation list fails to load.|
333
+ |filter|(conversationList: ConversationInfo[]) => ConversationInfo[]|-|Function used to filter the conversation list.|
334
+ |sort|(conversationList: ConversationInfo[]) => ConversationInfo[]|-|Function used to sort the conversation list.|
335
+ |onConversationSelect|(conversation: ConversationInfo) => void;|-|Callback function triggered when a conversation is clicked. The parameter is the clicked conversation object.|
336
+ |onBeforeCreateConversation|(params: CreateParams) => CreateParams;|-|Custom operation executed before creating a conversation. The parameter is the required parameters for creating a conversation.|
337
+ |onConversationCreate|(conversation: ConversationInfo) => void;|-|Callback function after conversation creation. The parameter is the created conversation object.|
338
+ |className|String|-|Custom CSS class name for the root element.|
339
+ |style|`React.CSSProperties`|-|Custom style for the root element.|