@tencentcloud/chat-uikit-react 2.2.5 → 2.2.6

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 (307) hide show
  1. package/.eslintrc.js +16 -12
  2. package/.lintstagedrc.json +1 -1
  3. package/CHANGELOG.md +8 -0
  4. package/dist/cjs/components/Avatar/Avatar.d.ts +4 -4
  5. package/dist/cjs/components/Checkbox/index.d.ts +2 -2
  6. package/dist/cjs/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  7. package/dist/cjs/components/ConversationCreate/ConversationCreate.js +1 -1
  8. package/dist/cjs/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
  9. package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  10. package/dist/cjs/components/ConversationPreview/ConversationListContainer.d.ts +2 -2
  11. package/dist/cjs/components/ConversationPreview/ConversationPreview.d.ts +8 -8
  12. package/dist/cjs/components/ConversationPreview/ConversationPreview.js +1 -1
  13. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.d.ts +2 -2
  14. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  15. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.d.ts +3 -3
  16. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
  17. package/dist/cjs/components/Icon/Icon.d.ts +3 -3
  18. package/dist/cjs/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +4 -4
  19. package/dist/cjs/components/Input/Input.d.ts +4 -4
  20. package/dist/cjs/components/Model/index.d.ts +2 -2
  21. package/dist/cjs/components/Plugins/index.d.ts +4 -4
  22. package/dist/cjs/components/Popup/index.d.ts +2 -2
  23. package/dist/cjs/components/Switch/Switch.d.ts +2 -2
  24. package/dist/cjs/components/TUIChat/TUIChat.d.ts +12 -12
  25. package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
  26. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.d.ts +5 -5
  27. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.js +1 -1
  28. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +5 -5
  29. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  30. package/dist/cjs/components/TUIContact/TUIContact.d.ts +3 -3
  31. package/dist/cjs/components/TUIContact/TUIContact.js +1 -1
  32. package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.d.ts +3 -3
  33. package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  34. package/dist/cjs/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  35. package/dist/cjs/components/TUIContact/TUIContactInfo/blockInfo.js +1 -1
  36. package/dist/cjs/components/TUIContact/TUIContactInfo/friendApplication.js +1 -1
  37. package/dist/cjs/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  38. package/dist/cjs/components/TUIContact/TUIContactInfo/groupInfo.js +1 -1
  39. package/dist/cjs/components/TUIContact/TUIContactInfo/hooks/useContactInfo.js +1 -1
  40. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.d.ts +3 -3
  41. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  42. package/dist/cjs/components/TUIContact/hooks/useTUIContact.js +1 -1
  43. package/dist/cjs/components/TUIContactSearch/TUIContactSearch.js +1 -1
  44. package/dist/cjs/components/TUIContactSearch/hooks/useContactSearch.js +1 -1
  45. package/dist/cjs/components/TUIConversation/TUIConversation.d.ts +2 -2
  46. package/dist/cjs/components/TUIConversationList/TUIConversationList.d.ts +6 -6
  47. package/dist/cjs/components/TUIConversationList/TUIConversationList.js +1 -1
  48. package/dist/cjs/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
  49. package/dist/cjs/components/TUIManage/TUIManage.d.ts +2 -2
  50. package/dist/cjs/components/TUIManage/TUIManage.js +1 -1
  51. package/dist/cjs/components/TUIMessage/MessageAudio.js +1 -1
  52. package/dist/cjs/components/TUIMessage/MessageAvatar.js +1 -1
  53. package/dist/cjs/components/TUIMessage/MessageBubble.js +1 -1
  54. package/dist/cjs/components/TUIMessage/MessageContext.d.ts +2 -2
  55. package/dist/cjs/components/TUIMessage/MessageContext.js +1 -1
  56. package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
  57. package/dist/cjs/components/TUIMessage/MessageName.js +1 -1
  58. package/dist/cjs/components/TUIMessage/MessagePlugins.d.ts +4 -4
  59. package/dist/cjs/components/TUIMessage/MessagePlugins.js +1 -1
  60. package/dist/cjs/components/TUIMessage/MessageProgress.js +1 -1
  61. package/dist/cjs/components/TUIMessage/MessageRevoke.js +1 -1
  62. package/dist/cjs/components/TUIMessage/MessageStatus.js +1 -1
  63. package/dist/cjs/components/TUIMessage/MessageSystem.js +1 -1
  64. package/dist/cjs/components/TUIMessage/MessageText.js +1 -1
  65. package/dist/cjs/components/TUIMessage/MessageTip.js +1 -1
  66. package/dist/cjs/components/TUIMessage/TUIMessage.d.ts +19 -19
  67. package/dist/cjs/components/TUIMessage/TUIMessage.js +1 -1
  68. package/dist/cjs/components/TUIMessage/TUIMessageDefault.js +1 -1
  69. package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  70. package/dist/cjs/components/TUIMessage/hooks/useMessageReply.js +1 -1
  71. package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.d.ts +2 -2
  72. package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  73. package/dist/cjs/components/TUIMessageInput/InputQuoteDefalut.js +1 -1
  74. package/dist/cjs/components/TUIMessageInput/TUIForward.js +1 -1
  75. package/dist/cjs/components/TUIMessageInput/TUIMessageInput.d.ts +7 -7
  76. package/dist/cjs/components/TUIMessageInput/TUIMessageInput.js +1 -1
  77. package/dist/cjs/components/TUIMessageInput/TUIMessageInputDefault.d.ts +2 -2
  78. package/dist/cjs/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  79. package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  80. package/dist/cjs/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
  81. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  82. package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  83. package/dist/cjs/components/TUIMessageList/TUIMessageList.d.ts +2 -2
  84. package/dist/cjs/components/TUIMessageList/TUIMessageList.js +1 -1
  85. package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  86. package/dist/cjs/components/TUIProfile/TUIProfile.d.ts +3 -3
  87. package/dist/cjs/components/TUIProfile/TUIProfile.js +1 -1
  88. package/dist/cjs/components/TUIProfile/TUIProfileDefault.d.ts +2 -2
  89. package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
  90. package/dist/cjs/components/Toast/index.d.ts +2 -2
  91. package/dist/cjs/context/ComponentContext.d.ts +12 -12
  92. package/dist/cjs/context/LanguageContext.js +1 -0
  93. package/dist/cjs/context/TUIChatActionContext.d.ts +3 -3
  94. package/dist/cjs/context/TUIChatStateContext.d.ts +5 -5
  95. package/dist/cjs/context/TUIContactContext.d.ts +4 -4
  96. package/dist/cjs/context/TUIConversationContext.js +1 -1
  97. package/dist/cjs/context/TUIMessageContext.d.ts +17 -17
  98. package/dist/cjs/context/TUIMessageInputContext.d.ts +4 -4
  99. package/dist/cjs/context/ThemeContext.js +1 -0
  100. package/dist/cjs/context/UIKitContext.d.ts +25 -0
  101. package/dist/cjs/context/UIKitContext.js +1 -0
  102. package/dist/cjs/context/UIManagerContext.d.ts +46 -0
  103. package/dist/cjs/context/UIManagerContext.js +1 -0
  104. package/dist/cjs/hooks/useConversation.d.ts +2 -2
  105. package/dist/cjs/index.css +1 -2
  106. package/dist/cjs/index.d.css +908 -1440
  107. package/dist/cjs/index.d.ts +2 -4
  108. package/dist/cjs/index.js +1 -1
  109. package/dist/cjs/locales/en-US/TUIGlobal.js +1 -0
  110. package/dist/cjs/locales/en-US/index.js +1 -1
  111. package/dist/cjs/locales/ja-JP/TUIGlobal.js +1 -0
  112. package/dist/cjs/locales/ja-JP/index.js +1 -1
  113. package/dist/cjs/locales/ko-KR/TUIGlobal.js +1 -0
  114. package/dist/cjs/locales/ko-KR/index.js +1 -1
  115. package/dist/cjs/locales/zh-CN/TUIGlobal.js +1 -0
  116. package/dist/cjs/locales/zh-CN/index.js +1 -1
  117. package/dist/esm/components/Avatar/Avatar.d.ts +4 -4
  118. package/dist/esm/components/Checkbox/index.d.ts +2 -2
  119. package/dist/esm/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  120. package/dist/esm/components/ConversationCreate/ConversationCreate.js +1 -1
  121. package/dist/esm/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
  122. package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  123. package/dist/esm/components/ConversationPreview/ConversationListContainer.d.ts +2 -2
  124. package/dist/esm/components/ConversationPreview/ConversationPreview.d.ts +8 -8
  125. package/dist/esm/components/ConversationPreview/ConversationPreview.js +1 -1
  126. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.d.ts +2 -2
  127. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  128. package/dist/esm/components/ConversationSearch/ConversationSearchResult.d.ts +3 -3
  129. package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
  130. package/dist/esm/components/Icon/Icon.d.ts +3 -3
  131. package/dist/esm/components/InfiniteScrollPaginator/InfiniteScroll.d.ts +4 -4
  132. package/dist/esm/components/Input/Input.d.ts +4 -4
  133. package/dist/esm/components/Model/index.d.ts +2 -2
  134. package/dist/esm/components/Plugins/index.d.ts +4 -4
  135. package/dist/esm/components/Popup/index.d.ts +2 -2
  136. package/dist/esm/components/Switch/Switch.d.ts +2 -2
  137. package/dist/esm/components/TUIChat/TUIChat.d.ts +12 -12
  138. package/dist/esm/components/TUIChat/TUIChat.js +1 -1
  139. package/dist/esm/components/TUIChatHeader/TUIChatHeader.d.ts +5 -5
  140. package/dist/esm/components/TUIChatHeader/TUIChatHeader.js +1 -1
  141. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +5 -5
  142. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  143. package/dist/esm/components/TUIContact/TUIContact.d.ts +3 -3
  144. package/dist/esm/components/TUIContact/TUIContact.js +1 -1
  145. package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.d.ts +3 -3
  146. package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  147. package/dist/esm/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  148. package/dist/esm/components/TUIContact/TUIContactInfo/blockInfo.js +1 -1
  149. package/dist/esm/components/TUIContact/TUIContactInfo/friendApplication.js +1 -1
  150. package/dist/esm/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  151. package/dist/esm/components/TUIContact/TUIContactInfo/groupInfo.js +1 -1
  152. package/dist/esm/components/TUIContact/TUIContactInfo/hooks/useContactInfo.js +1 -1
  153. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.d.ts +3 -3
  154. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  155. package/dist/esm/components/TUIContact/hooks/useTUIContact.js +1 -1
  156. package/dist/esm/components/TUIContactSearch/TUIContactSearch.js +1 -1
  157. package/dist/esm/components/TUIContactSearch/hooks/useContactSearch.js +1 -1
  158. package/dist/esm/components/TUIConversation/TUIConversation.d.ts +2 -2
  159. package/dist/esm/components/TUIConversationList/TUIConversationList.d.ts +6 -6
  160. package/dist/esm/components/TUIConversationList/TUIConversationList.js +1 -1
  161. package/dist/esm/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
  162. package/dist/esm/components/TUIManage/TUIManage.d.ts +2 -2
  163. package/dist/esm/components/TUIManage/TUIManage.js +1 -1
  164. package/dist/esm/components/TUIMessage/MessageAudio.js +1 -1
  165. package/dist/esm/components/TUIMessage/MessageAvatar.js +1 -1
  166. package/dist/esm/components/TUIMessage/MessageBubble.js +1 -1
  167. package/dist/esm/components/TUIMessage/MessageContext.d.ts +2 -2
  168. package/dist/esm/components/TUIMessage/MessageContext.js +1 -1
  169. package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
  170. package/dist/esm/components/TUIMessage/MessageName.js +1 -1
  171. package/dist/esm/components/TUIMessage/MessagePlugins.d.ts +4 -4
  172. package/dist/esm/components/TUIMessage/MessagePlugins.js +1 -1
  173. package/dist/esm/components/TUIMessage/MessageProgress.js +1 -1
  174. package/dist/esm/components/TUIMessage/MessageRevoke.js +1 -1
  175. package/dist/esm/components/TUIMessage/MessageStatus.js +1 -1
  176. package/dist/esm/components/TUIMessage/MessageSystem.js +1 -1
  177. package/dist/esm/components/TUIMessage/MessageText.js +1 -1
  178. package/dist/esm/components/TUIMessage/MessageTip.js +1 -1
  179. package/dist/esm/components/TUIMessage/TUIMessage.d.ts +19 -19
  180. package/dist/esm/components/TUIMessage/TUIMessage.js +1 -1
  181. package/dist/esm/components/TUIMessage/TUIMessageDefault.js +1 -1
  182. package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  183. package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +1 -1
  184. package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.d.ts +2 -2
  185. package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  186. package/dist/esm/components/TUIMessageInput/InputQuoteDefalut.js +1 -1
  187. package/dist/esm/components/TUIMessageInput/TUIForward.js +1 -1
  188. package/dist/esm/components/TUIMessageInput/TUIMessageInput.d.ts +7 -7
  189. package/dist/esm/components/TUIMessageInput/TUIMessageInput.js +1 -1
  190. package/dist/esm/components/TUIMessageInput/TUIMessageInputDefault.d.ts +2 -2
  191. package/dist/esm/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  192. package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  193. package/dist/esm/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
  194. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  195. package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  196. package/dist/esm/components/TUIMessageList/TUIMessageList.d.ts +2 -2
  197. package/dist/esm/components/TUIMessageList/TUIMessageList.js +1 -1
  198. package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  199. package/dist/esm/components/TUIProfile/TUIProfile.d.ts +3 -3
  200. package/dist/esm/components/TUIProfile/TUIProfile.js +1 -1
  201. package/dist/esm/components/TUIProfile/TUIProfileDefault.d.ts +2 -2
  202. package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
  203. package/dist/esm/components/Toast/index.d.ts +2 -2
  204. package/dist/esm/context/ComponentContext.d.ts +12 -12
  205. package/dist/esm/context/LanguageContext.js +1 -0
  206. package/dist/esm/context/TUIChatActionContext.d.ts +3 -3
  207. package/dist/esm/context/TUIChatStateContext.d.ts +5 -5
  208. package/dist/esm/context/TUIContactContext.d.ts +4 -4
  209. package/dist/esm/context/TUIConversationContext.js +1 -1
  210. package/dist/esm/context/TUIMessageContext.d.ts +17 -17
  211. package/dist/esm/context/TUIMessageInputContext.d.ts +4 -4
  212. package/dist/esm/context/ThemeContext.js +1 -0
  213. package/dist/esm/context/UIKitContext.d.ts +25 -0
  214. package/dist/esm/context/UIKitContext.js +1 -0
  215. package/dist/esm/context/UIManagerContext.d.ts +46 -0
  216. package/dist/esm/context/UIManagerContext.js +1 -0
  217. package/dist/esm/hooks/useConversation.d.ts +2 -2
  218. package/dist/esm/index.css +1 -2
  219. package/dist/esm/index.d.css +908 -1440
  220. package/dist/esm/index.d.ts +2 -4
  221. package/dist/esm/index.js +1 -1
  222. package/dist/esm/locales/en-US/TUIGlobal.js +1 -0
  223. package/dist/esm/locales/en-US/index.js +1 -1
  224. package/dist/esm/locales/ja-JP/TUIGlobal.js +1 -0
  225. package/dist/esm/locales/ja-JP/index.js +1 -1
  226. package/dist/esm/locales/ko-KR/TUIGlobal.js +1 -0
  227. package/dist/esm/locales/ko-KR/index.js +1 -1
  228. package/dist/esm/locales/zh-CN/TUIGlobal.js +1 -0
  229. package/dist/esm/locales/zh-CN/index.js +1 -1
  230. package/package.json +4 -3
  231. package/src/components/ConversationCreate/ConversationCreatGroupDetail.tsx +4 -4
  232. package/src/components/ConversationCreate/ConversationCreate.tsx +2 -2
  233. package/src/components/ConversationCreate/ConversationCreateUserSelectList.tsx +3 -2
  234. package/src/components/ConversationPreview/ConversationPreview.tsx +21 -21
  235. package/src/components/ConversationPreview/ConversationPreviewContent.tsx +3 -2
  236. package/src/components/Plugins/styles/color.scss +2 -2
  237. package/src/components/TUIChat/TUIChat.tsx +4 -3
  238. package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +3 -3
  239. package/src/components/TUIContact/TUIContact.tsx +2 -2
  240. package/src/components/TUIContact/TUIContactInfo/TUIContactInfo.tsx +2 -2
  241. package/src/components/TUIContact/TUIContactInfo/basicInfo.tsx +2 -2
  242. package/src/components/TUIContact/TUIContactInfo/blockInfo.tsx +2 -2
  243. package/src/components/TUIContact/TUIContactInfo/friendApplication.tsx +2 -2
  244. package/src/components/TUIContact/TUIContactInfo/friendInfo.tsx +4 -3
  245. package/src/components/TUIContact/TUIContactInfo/groupInfo.tsx +3 -3
  246. package/src/components/TUIContact/TUIContactInfo/hooks/useContactInfo.tsx +2 -2
  247. package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +5 -5
  248. package/src/components/TUIContact/hooks/useTUIContact.tsx +2 -2
  249. package/src/components/TUIContactSearch/TUIContactSearch.tsx +2 -2
  250. package/src/components/TUIContactSearch/hooks/useContactSearch.tsx +2 -2
  251. package/src/components/TUIConversationList/TUIConversationList.tsx +3 -4
  252. package/src/components/TUIConversationList/hooks/useConversationUpdate.tsx +2 -2
  253. package/src/components/TUIManage/TUIManage.tsx +3 -3
  254. package/src/components/TUIMessage/MessageStatus.tsx +2 -2
  255. package/src/components/TUIMessage/MessageText.tsx +16 -15
  256. package/src/components/TUIMessage/hooks/useMessageHandler.ts +2 -2
  257. package/src/components/TUIMessage/hooks/useMessageReply.ts +2 -2
  258. package/src/components/TUIMessageInput/TUIMessageInput.tsx +1 -1
  259. package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +2 -2
  260. package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +2 -2
  261. package/src/components/TUIMessageInput/styles/color.scss +2 -2
  262. package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +2 -2
  263. package/src/components/TUIProfile/TUIProfile.tsx +3 -3
  264. package/src/components/TUIProfile/TUIProfileDefault.tsx +2 -2
  265. package/src/components/index.ts +0 -1
  266. package/src/context/LanguageContext.tsx +59 -0
  267. package/src/context/ThemeContext.tsx +61 -0
  268. package/src/context/UIKitContext.tsx +67 -0
  269. package/src/context/UIManagerContext.tsx +163 -0
  270. package/src/context/index.ts +3 -2
  271. package/src/locales/en-US/index.ts +1 -1
  272. package/src/locales/ja-JP/index.ts +2 -0
  273. package/src/locales/ko-KR/TUIGlobal.ts +2 -2
  274. package/src/locales/ko-KR/index.ts +2 -0
  275. package/src/locales/zh-CN/index.ts +2 -2
  276. package/src/styles/colors/_color-theme.scss +1 -1
  277. package/dist/cjs/components/Icon/images/chats-selected.svg.js +0 -1
  278. package/dist/cjs/components/Icon/images/chats.svg.js +0 -1
  279. package/dist/cjs/components/Icon/images/contacts-selected.svg.js +0 -1
  280. package/dist/cjs/components/Icon/images/contacts.svg.js +0 -1
  281. package/dist/cjs/components/TUIKit/TUIKit.d.ts +0 -12
  282. package/dist/cjs/components/TUIKit/TUIKit.js +0 -1
  283. package/dist/cjs/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +0 -21
  284. package/dist/cjs/components/TUIKit/hooks/useCreateTUIKitContext.js +0 -1
  285. package/dist/cjs/components/TUIKit/hooks/useTUIKit.d.ts +0 -43
  286. package/dist/cjs/components/TUIKit/hooks/useTUIKit.js +0 -1
  287. package/dist/cjs/context/TUIKitContext.d.ts +0 -25
  288. package/dist/cjs/context/TUIKitContext.js +0 -1
  289. package/dist/esm/components/Icon/images/chats-selected.svg.js +0 -1
  290. package/dist/esm/components/Icon/images/chats.svg.js +0 -1
  291. package/dist/esm/components/Icon/images/contacts-selected.svg.js +0 -1
  292. package/dist/esm/components/Icon/images/contacts.svg.js +0 -1
  293. package/dist/esm/components/TUIKit/TUIKit.d.ts +0 -12
  294. package/dist/esm/components/TUIKit/TUIKit.js +0 -1
  295. package/dist/esm/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +0 -21
  296. package/dist/esm/components/TUIKit/hooks/useCreateTUIKitContext.js +0 -1
  297. package/dist/esm/components/TUIKit/hooks/useTUIKit.d.ts +0 -43
  298. package/dist/esm/components/TUIKit/hooks/useTUIKit.js +0 -1
  299. package/dist/esm/context/TUIKitContext.d.ts +0 -25
  300. package/dist/esm/context/TUIKitContext.js +0 -1
  301. package/src/components/TUIKit/TUIKit.tsx +0 -229
  302. package/src/components/TUIKit/hooks/useCreateTUIKitContext.tsx +0 -48
  303. package/src/components/TUIKit/hooks/useTUIKit.tsx +0 -99
  304. package/src/components/TUIKit/index.ts +0 -3
  305. package/src/components/TUIKit/styles/h5.scss +0 -34
  306. package/src/components/TUIKit/styles/index.scss +0 -132
  307. package/src/context/TUIKitContext.tsx +0 -44
@@ -5,7 +5,7 @@ import './styles/index.scss';
5
5
  import { Icon, IconTypes } from '../Icon';
6
6
  import { Avatar, defaultGroupAvatarWork, defaultUserAvatar } from '../Avatar';
7
7
  import { Switch } from '../Switch';
8
- import { useTUIKitContext } from '../../context';
8
+ import { useUIKit, useUIManager } from '../../context';
9
9
  import { isH5, isPC } from '../../utils/env';
10
10
  import { getMessageProfile } from '../ConversationPreview/utils';
11
11
  import { useConversationUpdate } from '../TUIConversationList/hooks/useConversationUpdate';
@@ -19,13 +19,13 @@ function UnMemoizedTUIManage<T>(
19
19
  const [profile, setProfile] = useState<any>();
20
20
  const [isPinned, setIsPinned] = useState<boolean>(false);
21
21
  const [forceUpdateCount, setForceUpdateCount] = useState(0);
22
+ const { chat } = useUIKit('TUIManage');
22
23
  const {
23
24
  conversation: activeConversation,
24
25
  setActiveConversation,
25
- chat,
26
26
  TUIManageShow,
27
27
  setTUIManageShow,
28
- } = useTUIKitContext('TUIManage');
28
+ } = useUIManager('TUIManage');
29
29
  useConversationUpdate(undefined, () => {
30
30
  setForceUpdateCount((count) => count + 1);
31
31
  });
@@ -1,6 +1,6 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import { Message } from '@tencentcloud/chat';
3
- import { useTUIMessageContext, useTUIKitContext } from '../../context';
3
+ import { useTUIMessageContext, useUIKit } from '../../context';
4
4
  import { getTimeStamp } from '../untils';
5
5
 
6
6
  export interface MessageContextProps {
@@ -13,7 +13,7 @@ function MessageStatustWithContext <T extends MessageContextProps>(
13
13
  const {
14
14
  message,
15
15
  } = props;
16
- const { language } = useTUIKitContext('TUIChat');
16
+ const { language } = useUIKit('TUIChat');
17
17
  const {
18
18
  isShowTime,
19
19
  } = useTUIMessageContext('MessageStatustWithContext');
@@ -3,21 +3,21 @@ import TencentCloudChat, { Message } from '@tencentcloud/chat';
3
3
  import { UnknowPorps, useTUIChatStateContext, useComponentContext } from '../../context';
4
4
 
5
5
  export interface MessageContextProps {
6
- context?: UnknowPorps,
7
- message?: Message,
8
- className?: string,
6
+ context?: UnknowPorps;
7
+ message?: Message;
8
+ className?: string;
9
9
  }
10
10
 
11
- function MessageTextWithContext <T extends MessageContextProps>(
12
- props: PropsWithChildren<T>,
13
- ):React.ReactElement {
11
+ function MessageTextWithContext(props: PropsWithChildren<MessageContextProps>) {
14
12
  const {
15
13
  context,
16
14
  message,
17
15
  children,
18
16
  } = props;
17
+
19
18
  const { MessageTextPlugins } = useComponentContext('MessageText');
20
19
  const { firstSendMessage } = useTUIChatStateContext('MessageText');
20
+
21
21
  if (MessageTextPlugins && message?.flow === 'in' && (firstSendMessage && firstSendMessage?.time <= message?.time)) {
22
22
  return (
23
23
  <div className={`bubble message-text bubble-${message.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}>
@@ -25,14 +25,15 @@ function MessageTextWithContext <T extends MessageContextProps>(
25
25
  </div>
26
26
  );
27
27
  }
28
- const urlToLink = function (text: string) {
28
+
29
+ function urlToLink(text: string) {
29
30
  if (!text) {
30
31
  return text;
31
32
  }
32
- // eslint-disable-next-line no-useless-escape
33
33
  const urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
34
- return text.replace(urlRegex, (website) => `<a class='website' href='${website}' target='_blank'>${website}</a>`);
35
- };
34
+ return text.replace(urlRegex, website => `<a class='website' href='${website}' target='_blank'>${website}</a>`);
35
+ }
36
+
36
37
  return (
37
38
  <div className={`bubble message-text bubble-${message?.flow} ${message?.conversationType === TencentCloudChat.TYPES.CONV_GROUP ? 'group' : ''}`}>
38
39
  <div className="message-text-content">
@@ -43,8 +44,9 @@ function MessageTextWithContext <T extends MessageContextProps>(
43
44
  <p
44
45
  className="message-text-content-p"
45
46
  key={item.src + key}
46
- dangerouslySetInnerHTML={{ __html: urlToLink(item.text) }}
47
- />
47
+ >
48
+ {item.text}
49
+ </p>
48
50
  );
49
51
  }
50
52
  return <img className="text-img" key={item.src + key} src={item.src} alt="" />;
@@ -55,10 +57,9 @@ function MessageTextWithContext <T extends MessageContextProps>(
55
57
  );
56
58
  }
57
59
 
58
- const MemoizedMessageText = React.memo(MessageTextWithContext) as
59
- typeof MessageTextWithContext;
60
+ const MemoizedMessageText = React.memo(MessageTextWithContext) as typeof MessageTextWithContext;
60
61
 
61
- export function MessageText(props:MessageContextProps):React.ReactElement {
62
+ export function MessageText(props: MessageContextProps) {
62
63
  return (
63
64
  <MemoizedMessageText {...props} />
64
65
  );
@@ -4,7 +4,7 @@ import { Message } from '@tencentcloud/chat';
4
4
  import { TUIStore } from '@tencentcloud/chat-uikit-engine';
5
5
  import { CONSTANT_DISPATCH_TYPE, MESSAGE_FLOW, MESSAGE_OPERATE } from '../../../constants';
6
6
  import { enableSampleTaskStatus } from '../../untils';
7
- import { useTUIChatActionContext, useTUIKitContext } from '../../../context';
7
+ import { useTUIChatActionContext, useUIKit } from '../../../context';
8
8
  import { Toast } from '../../Toast';
9
9
 
10
10
  interface MessageHandlerProps {
@@ -24,7 +24,7 @@ export const useMessageHandler = (props: MessageHandlerProps) => {
24
24
  revokeMessage,
25
25
  } = useTUIChatActionContext('useDeleteHandler');
26
26
  const { t } = useTranslation();
27
- const { chat } = useTUIKitContext('useDeleteHandler');
27
+ const { chat } = useUIKit('useDeleteHandler');
28
28
 
29
29
  const handleDelMessage = useCallback(async (event?: any) => {
30
30
  event.preventDefault();
@@ -1,6 +1,6 @@
1
1
  import { useLayoutEffect, useState } from 'react';
2
2
  import TencentCloudChat, { Message } from '@tencentcloud/chat';
3
- import { useTUIChatStateContext, useTUIKitContext } from '../../../context';
3
+ import { useTUIChatStateContext, useUIKit } from '../../../context';
4
4
  import { JSONStringToParse } from '../../untils';
5
5
 
6
6
  interface messageContextParams {
@@ -26,7 +26,7 @@ export const useMessageReply = <T extends messageContextParams>(params:T) => {
26
26
  const [replyMessage, setReplyMessage] = useState(null);
27
27
  const [messageID, setMessageID] = useState('');
28
28
 
29
- const { chat } = useTUIKitContext('TUIChat');
29
+ const { chat } = useUIKit('TUIChat');
30
30
  const { messageList } = useTUIChatStateContext('useMessageReply');
31
31
 
32
32
  useLayoutEffect(() => {
@@ -7,7 +7,7 @@ import {
7
7
  UnknowPorps,
8
8
  useComponentContext,
9
9
  useTUIChatStateContext,
10
- useTUIKitContext,
10
+ useUIManager,
11
11
  } from '../../context';
12
12
  import { EmptyStateIndicator } from '../EmptyStateIndicator';
13
13
  import { InputQuoteDefalut } from './InputQuoteDefalut';
@@ -5,7 +5,7 @@ import {
5
5
  } from '@tencentcloud/chat-uikit-engine';
6
6
  import { MESSAGE_OPERATE } from '../../../constants';
7
7
  import {
8
- useTUIChatStateContext, useTUIKitContext,
8
+ useTUIChatStateContext, useUIKit,
9
9
  } from '../../../context';
10
10
 
11
11
  export function useHandleForwardMessage(msg?:Message) {
@@ -14,7 +14,7 @@ export function useHandleForwardMessage(msg?:Message) {
14
14
  } = useTUIChatStateContext('TUIMessageInputDefault');
15
15
 
16
16
  const [conversationList, setConversationList] = useState([]);
17
- const { chat } = useTUIKitContext('TUIChat');
17
+ const { chat } = useUIKit('TUIChat');
18
18
 
19
19
  const message = msg || (operateData && operateData[MESSAGE_OPERATE.FORWARD]);
20
20
 
@@ -9,7 +9,7 @@ import {
9
9
  import { CONSTANT_DISPATCH_TYPE, MESSAGE_OPERATE, MESSAGE_TYPE_NAME } from '../../../constants';
10
10
  import {
11
11
  useTUIChatActionContext,
12
- useTUIKitContext,
12
+ useUIKit,
13
13
  } from '../../../context';
14
14
  import { enableSampleTaskStatus } from '../../untils';
15
15
  import { formatEmojiString } from '../../TUIMessage/utils/emojiMap';
@@ -33,7 +33,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
33
33
  sendUploadMessage,
34
34
  } = props;
35
35
 
36
- const { chat } = useTUIKitContext('useMessageInputText');
36
+ const { chat } = useUIKit('useMessageInputText');
37
37
  const { operateMessage, setFirstSendMessage } = useTUIChatActionContext('TUIMessageInput');
38
38
 
39
39
  const { cloudCustomData } = useHandleQuoteMessage();
@@ -23,12 +23,12 @@
23
23
  &-box {
24
24
  border-radius: 16px;
25
25
 
26
- [data-chat-theme="light"] & {
26
+ [data-uikit-theme="light"] & {
27
27
  background-color: var(--chat-theme-light-bg-primary);
28
28
  box-shadow: var(--chat-theme-light-box-shadow-1);
29
29
  }
30
30
 
31
- [data-chat-theme="dark"] & {
31
+ [data-uikit-theme="dark"] & {
32
32
  background-color: var(--chat-theme-dark-bg-3);
33
33
  box-shadow: var(--chat-theme-dark-box-shadow-1);
34
34
  }
@@ -2,7 +2,7 @@ import React, {
2
2
  PropsWithChildren, useMemo,
3
3
  } from 'react';
4
4
  import { Message } from '@tencentcloud/chat';
5
- import { UnknowPorps, useTUIKitContext } from '../../../context';
5
+ import { UnknowPorps, useUIKit } from '../../../context';
6
6
  import { TUIMessageProps } from '../../TUIMessage/TUIMessage';
7
7
  import { getTimeStamp } from '../../untils';
8
8
 
@@ -20,7 +20,7 @@ function useMessageListElement <T extends MessageListElementProps>(
20
20
  TUIMessage,
21
21
  intervalsTimer,
22
22
  } = props;
23
- const { language } = useTUIKitContext('TUIConversation');
23
+ const { language } = useUIKit('TUIConversation');
24
24
 
25
25
  return useMemo(() => enrichedMessageList?.map((item: Message, index:number) => {
26
26
  const key = `${item.ID}-${index}`;
@@ -4,7 +4,7 @@ import { Profile } from '../Profile';
4
4
  import './styles/index.scss';
5
5
  import { useMyProfile } from './hooks';
6
6
  import { TUIProfileDefault } from './TUIProfileDefault';
7
- import { useTUIKitContext } from '../../context';
7
+ import { useUIManager } from '../../context';
8
8
 
9
9
  interface TUIProfileProps {
10
10
  className?: string,
@@ -21,13 +21,13 @@ function UnMemoizedTUIProfile<T extends TUIProfileProps>(
21
21
 
22
22
  const { myProfile, updateMyProfile } = useMyProfile();
23
23
 
24
- const { setTUIProfileShow, TUIProfileShow } = useTUIKitContext('TUIProfile');
24
+ const { setTUIProfileShow, TUIProfileShow } = useUIManager('TUIProfile');
25
25
 
26
26
  const TUIProfileUIComponent = PropTUIProfile || TUIProfileDefault;
27
27
 
28
28
  return (
29
29
  <>
30
- {/* //eslint-disable-next-line
30
+ {/* //eslint-disable-next-line
31
31
  @ts-ignore */}
32
32
  <Profile
33
33
  profile={myProfile}
@@ -4,7 +4,7 @@ import DatePicker from 'react-date-picker';
4
4
  import TencentCloudChat, { Profile } from '@tencentcloud/chat';
5
5
  import { UpdateMyProfileParams } from "@tencentcloud/chat-uikit-engine";
6
6
  import { isH5 } from '../../utils/env';
7
- import { useTUIKitContext } from '../../context';
7
+ import { useUIManager } from '../../context';
8
8
 
9
9
  import { Avatar } from '../Avatar';
10
10
  import { DivWithEdit } from '../DivWithEdit';
@@ -73,7 +73,7 @@ function TUIProfileDefaultWithContext<T extends TUIProfileDefaultProps>(
73
73
  } = props;
74
74
 
75
75
  const { t } = useTranslation();
76
- const { setTUIProfileShow } = useTUIKitContext('TUIProfileDefault');
76
+ const { setTUIProfileShow } = useUIManager('TUIProfileDefault');
77
77
 
78
78
  const [isEditName, setIsEditName] = useState('');
79
79
 
@@ -1,4 +1,3 @@
1
- export * from './TUIKit';
2
1
  export * from './TUIConversation';
3
2
  export * from './TUIConversationList';
4
3
  export * from './TUIChat';
@@ -0,0 +1,59 @@
1
+ import {
2
+ useState,
3
+ useContext,
4
+ createContext,
5
+ useLayoutEffect,
6
+ PropsWithChildren,
7
+ } from 'react';
8
+ import { useTranslation } from 'react-i18next';
9
+
10
+ interface LanguageContextType {
11
+ language: string;
12
+ setLanguage: React.Dispatch<React.SetStateAction<string>>;
13
+ }
14
+
15
+ interface LanguageProviderProps {
16
+ language: string;
17
+ }
18
+
19
+ const LanguageContext = createContext<LanguageContextType | null>(null);
20
+
21
+ function LanguageProvider(props: PropsWithChildren<Partial<LanguageProviderProps>>) {
22
+ const {
23
+ language: _language = 'en-US',
24
+ children,
25
+ } = props;
26
+
27
+ const { i18n } = useTranslation();
28
+
29
+ const [language, setLanguage] = useState(_language);
30
+
31
+ useLayoutEffect(() => {
32
+ i18n.changeLanguage(language);
33
+ }, [language, i18n]);
34
+
35
+ useLayoutEffect(() => {
36
+ document.documentElement.lang = language;
37
+ }, [language]);
38
+
39
+ const value = {
40
+ language,
41
+ setLanguage,
42
+ };
43
+
44
+ return (
45
+ <LanguageContext.Provider value={value}>
46
+ {children}
47
+ </LanguageContext.Provider>
48
+ );
49
+ }
50
+
51
+ function useLanguage() {
52
+ const context = useContext(LanguageContext);
53
+ if (!context) {
54
+ throw new Error('useLanguage must be used within a LanguageProvider');
55
+ }
56
+ return context;
57
+ }
58
+
59
+ export { LanguageProvider, useLanguage, LanguageContextType };
@@ -0,0 +1,61 @@
1
+ import {
2
+ useState,
3
+ useContext,
4
+ createContext,
5
+ useLayoutEffect,
6
+ PropsWithChildren,
7
+ } from 'react';
8
+
9
+ import '../styles/index.scss';
10
+
11
+ interface ThemeContextType {
12
+ theme: string;
13
+ colors: Record<string, string> | undefined;
14
+ setTheme: (theme: string) => void;
15
+ setColors: (colors: Record<string, string>) => void;
16
+ }
17
+
18
+ interface ThemeProviderProps {
19
+ theme: string;
20
+ colors: Record<string, string> | undefined;
21
+ }
22
+
23
+ const ThemeContext = createContext<ThemeContextType | null>(null);
24
+
25
+ function ThemeProvider(props: PropsWithChildren<Partial<ThemeProviderProps>>) {
26
+ const {
27
+ theme: _theme = 'light',
28
+ colors: _colors,
29
+ children,
30
+ } = props;
31
+
32
+ const [theme, setTheme] = useState(_theme);
33
+ const [colors, setColors] = useState(_colors);
34
+
35
+ useLayoutEffect(() => {
36
+ document.documentElement.dataset.uikitTheme = theme;
37
+ }, [theme]);
38
+
39
+ const value = {
40
+ theme,
41
+ colors,
42
+ setTheme,
43
+ setColors,
44
+ };
45
+
46
+ return (
47
+ <ThemeContext.Provider value={value}>
48
+ {children}
49
+ </ThemeContext.Provider>
50
+ );
51
+ }
52
+
53
+ function useTheme() {
54
+ const context = useContext(ThemeContext);
55
+ if (!context) {
56
+ throw new Error('useTheme must be used within a ThemeProvider');
57
+ }
58
+ return context;
59
+ }
60
+
61
+ export { ThemeProvider, useTheme, ThemeContextType };
@@ -0,0 +1,67 @@
1
+ import { PropsWithChildren, useContext, createContext } from 'react';
2
+ import type {
3
+ ChatSDK,
4
+ Conversation,
5
+ } from '@tencentcloud/chat';
6
+ import { TUILogin } from '@tencentcloud/tui-core';
7
+ import { ThemeProvider, useTheme } from './ThemeContext';
8
+ import { LanguageProvider, useLanguage } from './LanguageContext';
9
+ import { UIManagerProvider } from './UIManagerContext';
10
+
11
+ interface UIKitContextType {
12
+ chat: ChatSDK;
13
+ }
14
+
15
+ interface UIKitProviderProps {
16
+ chat?: ChatSDK;
17
+ language?: string;
18
+ theme?: string;
19
+ colors?: Record<string, string>;
20
+ customClasses?: string;
21
+ activeConversation?: Conversation;
22
+ }
23
+
24
+ const UIKitContext = createContext<UIKitContextType | null>(null);
25
+
26
+ function UIKitProvider(props: PropsWithChildren<UIKitProviderProps>) {
27
+ const {
28
+ chat = TUILogin.getContext().chat,
29
+ language,
30
+ theme,
31
+ colors,
32
+ customClasses,
33
+ activeConversation,
34
+ children,
35
+ } = props;
36
+
37
+ return (
38
+ <LanguageProvider language={language}>
39
+ <ThemeProvider theme={theme} colors={colors}>
40
+ <UIKitContext.Provider value={{ chat }}>
41
+ <UIManagerProvider activeConversation={activeConversation} customClasses={customClasses}>
42
+ {children}
43
+ </UIManagerProvider>
44
+ </UIKitContext.Provider>
45
+ </ThemeProvider>
46
+ </LanguageProvider>
47
+ );
48
+ }
49
+
50
+ const useUIKit = (componentName?: string) => {
51
+ const languageContext = useLanguage();
52
+ const themeContext = useTheme();
53
+ const uikitContext = useContext(UIKitContext);
54
+ if (!uikitContext) {
55
+ throw new Error('useUIKit must be used within a UIKitProvider');
56
+ }
57
+ return {
58
+ ...themeContext,
59
+ ...languageContext,
60
+ ...uikitContext,
61
+ };
62
+ };
63
+
64
+ export {
65
+ UIKitProvider,
66
+ useUIKit,
67
+ };
@@ -0,0 +1,163 @@
1
+ import React, {
2
+ useState,
3
+ useContext,
4
+ useCallback,
5
+ PropsWithChildren,
6
+ useEffect,
7
+ } from 'react';
8
+ import type {
9
+ Conversation,
10
+ Profile,
11
+ Friend,
12
+ FriendApplication,
13
+ } from '@tencentcloud/chat';
14
+ import {
15
+ TUIStore,
16
+ StoreName,
17
+ type IConversationModel,
18
+ } from '@tencentcloud/chat-uikit-engine';
19
+ import type { IGroupModel } from '@tencentcloud/chat-uikit-engine';
20
+ import { useUIKit } from './UIKitContext';
21
+
22
+ type blockData = {
23
+ type: 'block';
24
+ data: Profile;
25
+ };
26
+
27
+ type friendData = {
28
+ type: 'friend';
29
+ data: Friend;
30
+ };
31
+
32
+ type friendApplicationData = {
33
+ type: 'friendApplication';
34
+ data: FriendApplication;
35
+ };
36
+
37
+ type addFriendData = {
38
+ type: 'addFriend';
39
+ data: Profile;
40
+ };
41
+
42
+ type GroupData = {
43
+ type: 'group';
44
+ data: IGroupModel;
45
+ };
46
+
47
+ type UseContactParams =
48
+ | blockData
49
+ | friendData
50
+ | friendApplicationData
51
+ | addFriendData
52
+ | GroupData
53
+ | undefined;
54
+
55
+ type UIManagerContextType = {
56
+ conversation?: Conversation;
57
+ contactData?: UseContactParams;
58
+ customClasses?: unknown;
59
+ myProfile?: Profile;
60
+ TUIManageShow?: boolean;
61
+ TUIProfileShow?: boolean;
62
+ setTUIManageShow: React.Dispatch<React.SetStateAction<boolean>>;
63
+ setTUIProfileShow: React.Dispatch<React.SetStateAction<boolean>>;
64
+ setActiveConversation: (conversation?: Conversation) => void;
65
+ setActiveContact: (useContactParams?: UseContactParams) => void;
66
+ };
67
+
68
+ type UIManagerProviderProps = {
69
+ customClasses: string;
70
+ activeConversation: Conversation;
71
+ };
72
+
73
+ const UIManagerContext = React.createContext<UIManagerContextType | null>(null);
74
+
75
+ function UIManagerProvider(props: PropsWithChildren<Partial<UIManagerProviderProps>>) {
76
+ const {
77
+ customClasses,
78
+ activeConversation,
79
+ children,
80
+ } = props;
81
+
82
+ const { chat } = useUIKit();
83
+
84
+ const [conversation, setConversation] = useState<Conversation | undefined>(activeConversation);
85
+ const [contactData, setContactData] = useState<UseContactParams>();
86
+ const [myProfile, setMyProfile] = useState<Profile>();
87
+ const [TUIManageShow, setTUIManageShow] = useState<boolean>(false);
88
+ const [TUIProfileShow, setTUIProfileShow] = useState<boolean>(false);
89
+
90
+ useEffect(() => {
91
+ TUIStore.watch(StoreName.USER, {
92
+ userProfile: onMyProfileUpdated,
93
+ });
94
+ TUIStore.watch(StoreName.CONV, {
95
+ currentConversation: onCurrentConversationUpdated,
96
+ });
97
+
98
+ return () => {
99
+ TUIStore.unwatch(StoreName.USER, {
100
+ userProfile: onMyProfileUpdated,
101
+ });
102
+ TUIStore.unwatch(StoreName.CONV, {
103
+ currentConversation: onCurrentConversationUpdated,
104
+ });
105
+ };
106
+ }, []);
107
+
108
+ const setActiveConversation = useCallback((_activeConversation?: Conversation) => {
109
+ if (_activeConversation) {
110
+ chat?.setMessageRead({ conversationID: _activeConversation.conversationID });
111
+ }
112
+
113
+ if (_activeConversation?.conversationID !== conversation?.conversationID) {
114
+ setTUIManageShow(false);
115
+ }
116
+
117
+ setConversation(_activeConversation);
118
+ }, []);
119
+
120
+ function onMyProfileUpdated(userProfileData: unknown) {
121
+ setMyProfile(userProfileData as Profile);
122
+ }
123
+
124
+ function onCurrentConversationUpdated(conversationModel: IConversationModel) {
125
+ setActiveConversation(conversationModel?.getConversation());
126
+ }
127
+
128
+ function setActiveContact(actionContactData?: UseContactParams) {
129
+ setContactData(actionContactData);
130
+ }
131
+
132
+ const value = {
133
+ conversation,
134
+ contactData,
135
+ setActiveConversation,
136
+ myProfile,
137
+ TUIManageShow,
138
+ setTUIManageShow,
139
+ TUIProfileShow,
140
+ setTUIProfileShow,
141
+ setActiveContact,
142
+ };
143
+
144
+ return (
145
+ <UIManagerContext.Provider value={value}>
146
+ {children}
147
+ </UIManagerContext.Provider>
148
+ );
149
+ }
150
+
151
+ const useUIManager = (componentName?: string) => {
152
+ const context = useContext(UIManagerContext);
153
+ if (!context) {
154
+ throw new Error('useUIManager must be used within a UIManagerProvider');
155
+ }
156
+ return context;
157
+ };
158
+
159
+ export {
160
+ UIManagerProvider,
161
+ useUIManager,
162
+ UIManagerContextType,
163
+ };
@@ -1,7 +1,8 @@
1
- export * from './TUIKitContext';
1
+ export * from './UIKitContext';
2
+ export * from './UIManagerContext';
2
3
  export * from './TUIChatStateContext';
3
4
  export * from './TUIChatActionContext';
4
5
  export * from './TUIMessageContext';
5
6
  export * from './ComponentContext';
6
7
  export * from './TUIMessageInputContext';
7
- export * from './TUIContactContext';
8
+ export * from './TUIContactContext';
@@ -1,8 +1,8 @@
1
+ import TUIGlobal from './TUIGlobal';
1
2
  import TUIChat from './TUIChat';
2
3
  import TUIConversation from './TUIConversation';
3
4
  import TUIContact from './TUIContact';
4
5
  import TUIProfile from './TUIProfile';
5
- import TUIGlobal from './TUIProfile';
6
6
 
7
7
 
8
8
  export const message = {
@@ -1,9 +1,11 @@
1
+ import TUIGlobal from './TUIGlobal';
1
2
  import TUIChat from './TUIChat';
2
3
  import TUIConversation from './TUIConversation';
3
4
  import TUIContact from './TUIContact';
4
5
  import TUIProfile from './TUIProfile';
5
6
 
6
7
  export const message = {
8
+ TUIGlobal,
7
9
  TUIChat,
8
10
  TUIConversation,
9
11
  TUIContact,
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable quote-props */
2
2
  export const TUIGlobal = {
3
- 'chats': 'メッセージ',
4
- 'contacts': '連絡先'
3
+ 'chats': '채팅',
4
+ 'contacts': '연락처'
5
5
  }
6
6
  export default TUIGlobal;