@tencentcloud/chat-uikit-react 2.1.0 → 2.1.3

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 (302) hide show
  1. package/.eslintrc.js +0 -1
  2. package/CHANGELOG.md +10 -0
  3. package/dist/cjs/components/Avatar/Avatar.js +1 -1
  4. package/dist/cjs/components/Checkbox/index.d.ts +2 -1
  5. package/dist/cjs/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  6. package/dist/cjs/components/ConversationCreate/ConversationCreate.js +1 -1
  7. package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  8. package/dist/cjs/components/ConversationPreview/ConversationPreview.js +1 -1
  9. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.d.ts +4 -1
  10. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  11. package/dist/cjs/components/ConversationPreview/utils.js +1 -1
  12. package/dist/cjs/components/ConversationSearch/ConversationSearchInput.d.ts +2 -1
  13. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
  14. package/dist/cjs/components/DivWithEdit/DivWithEdit.d.ts +3 -2
  15. package/dist/cjs/components/DivWithEdit/DivWithEdit.js +1 -1
  16. package/dist/cjs/components/DivWithEdit/WithText.js +1 -1
  17. package/dist/cjs/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +2 -1
  18. package/dist/cjs/components/Icon/Icon.d.ts +2 -1
  19. package/dist/cjs/components/Icon/Icon.js +1 -1
  20. package/dist/cjs/components/Icon/config.js +1 -1
  21. package/dist/cjs/components/Input/Input.js +1 -1
  22. package/dist/cjs/components/Model/index.d.ts +1 -1
  23. package/dist/cjs/components/Model/index.js +1 -1
  24. package/dist/cjs/components/Plugins/index.js +1 -1
  25. package/dist/cjs/components/Popup/index.d.ts +1 -1
  26. package/dist/cjs/components/Popup/index.js +1 -1
  27. package/dist/cjs/components/Switch/Switch.d.ts +2 -6
  28. package/dist/cjs/components/Switch/Switch.js +1 -1
  29. package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
  30. package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
  31. package/dist/cjs/components/TUIChat/hooks/useHandleMessage.js +1 -1
  32. package/dist/cjs/components/TUIChat/hooks/useHandleMessageList.js +1 -1
  33. package/dist/cjs/components/TUIChat/unitls.js +1 -1
  34. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  35. package/dist/cjs/components/TUIContact/TUIContact.js +1 -1
  36. package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  37. package/dist/cjs/components/TUIContact/TUIContactInfo/addFriendInfo.js +1 -1
  38. package/dist/cjs/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  39. package/dist/cjs/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  40. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  41. package/dist/cjs/components/TUIContactSearch/TUIContactSearch.js +1 -1
  42. package/dist/cjs/components/TUIContactSearch/hooks/useContactSearch.js +1 -1
  43. package/dist/cjs/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
  44. package/dist/cjs/components/TUIKit/TUIKit.d.ts +2 -2
  45. package/dist/cjs/components/TUIKit/TUIKit.js +1 -1
  46. package/dist/cjs/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +7 -7
  47. package/dist/cjs/components/TUIKit/hooks/useTUIKit.d.ts +2 -2
  48. package/dist/cjs/components/TUIKit/hooks/useTUIKit.js +1 -1
  49. package/dist/cjs/components/TUIManage/TUIManage.d.ts +4 -1
  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.js +1 -1
  55. package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
  56. package/dist/cjs/components/TUIMessage/MessageFace.js +1 -1
  57. package/dist/cjs/components/TUIMessage/MessageFile.js +1 -1
  58. package/dist/cjs/components/TUIMessage/MessageImage.js +1 -1
  59. package/dist/cjs/components/TUIMessage/MessageLocation.js +1 -1
  60. package/dist/cjs/components/TUIMessage/MessageMerger.js +1 -1
  61. package/dist/cjs/components/TUIMessage/MessageName.js +1 -1
  62. package/dist/cjs/components/TUIMessage/MessagePlugins.js +1 -1
  63. package/dist/cjs/components/TUIMessage/MessageProgress.js +1 -1
  64. package/dist/cjs/components/TUIMessage/MessageRevoke.js +1 -1
  65. package/dist/cjs/components/TUIMessage/MessageText.js +1 -1
  66. package/dist/cjs/components/TUIMessage/MessageVideo.js +1 -1
  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/TUIMessage/utils/index.js +1 -1
  72. package/dist/cjs/components/TUIMessageInput/EmojiPicker.js +1 -1
  73. package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  74. package/dist/cjs/components/TUIMessageInput/InputQuoteDefalut.js +1 -1
  75. package/dist/cjs/components/TUIMessageInput/TUIForward.js +1 -1
  76. package/dist/cjs/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  77. package/dist/cjs/components/TUIMessageInput/hooks/useEmojiPicker.js +1 -1
  78. package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  79. package/dist/cjs/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
  80. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputState.d.ts +2 -2
  81. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  82. package/dist/cjs/components/TUIMessageInput/hooks/useUploadElement.js +1 -1
  83. package/dist/cjs/components/TUIMessageList/TUIMessageList.js +1 -1
  84. package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  85. package/dist/cjs/components/TUIProfile/TUIProfile.js +1 -1
  86. package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
  87. package/dist/cjs/components/TUIProfile/hooks/useMyProfile.js +1 -1
  88. package/dist/cjs/components/Toast/index.js +1 -1
  89. package/dist/cjs/constants.js +1 -1
  90. package/dist/cjs/context/ComponentContext.d.ts +3 -2
  91. package/dist/cjs/context/TUIChatActionContext.d.ts +1 -1
  92. package/dist/cjs/context/TUIChatStateContext.d.ts +4 -4
  93. package/dist/cjs/context/TUIContactContext.js +1 -1
  94. package/dist/cjs/context/TUIConversationContext.js +1 -1
  95. package/dist/cjs/context/TUIKitContext.d.ts +1 -1
  96. package/dist/cjs/context/TUIMessageContext.js +1 -1
  97. package/dist/cjs/context/TUIMessageInputContext.js +1 -1
  98. package/dist/cjs/hooks/useProfile.d.ts +1 -1
  99. package/dist/cjs/index.css +1 -1
  100. package/dist/cjs/index.d.css +20 -3
  101. package/dist/cjs/index.d.ts +1 -1
  102. package/dist/esm/components/Avatar/Avatar.js +1 -1
  103. package/dist/esm/components/Checkbox/index.d.ts +2 -1
  104. package/dist/esm/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  105. package/dist/esm/components/ConversationCreate/ConversationCreate.js +1 -1
  106. package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  107. package/dist/esm/components/ConversationPreview/ConversationPreview.js +1 -1
  108. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.d.ts +4 -1
  109. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  110. package/dist/esm/components/ConversationPreview/utils.js +1 -1
  111. package/dist/esm/components/ConversationSearch/ConversationSearchInput.d.ts +2 -1
  112. package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
  113. package/dist/esm/components/DivWithEdit/DivWithEdit.d.ts +3 -2
  114. package/dist/esm/components/DivWithEdit/DivWithEdit.js +1 -1
  115. package/dist/esm/components/DivWithEdit/WithText.js +1 -1
  116. package/dist/esm/components/EmptyStateIndicator/EmptyStateIndicator.d.ts +2 -1
  117. package/dist/esm/components/Icon/Icon.d.ts +2 -1
  118. package/dist/esm/components/Icon/Icon.js +1 -1
  119. package/dist/esm/components/Icon/config.js +1 -1
  120. package/dist/esm/components/Input/Input.js +1 -1
  121. package/dist/esm/components/Model/index.d.ts +1 -1
  122. package/dist/esm/components/Model/index.js +1 -1
  123. package/dist/esm/components/Plugins/index.js +1 -1
  124. package/dist/esm/components/Popup/index.d.ts +1 -1
  125. package/dist/esm/components/Popup/index.js +1 -1
  126. package/dist/esm/components/Switch/Switch.d.ts +2 -6
  127. package/dist/esm/components/Switch/Switch.js +1 -1
  128. package/dist/esm/components/TUIChat/TUIChat.js +1 -1
  129. package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
  130. package/dist/esm/components/TUIChat/hooks/useHandleMessage.js +1 -1
  131. package/dist/esm/components/TUIChat/hooks/useHandleMessageList.js +1 -1
  132. package/dist/esm/components/TUIChat/unitls.js +1 -1
  133. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  134. package/dist/esm/components/TUIContact/TUIContact.js +1 -1
  135. package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  136. package/dist/esm/components/TUIContact/TUIContactInfo/addFriendInfo.js +1 -1
  137. package/dist/esm/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  138. package/dist/esm/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  139. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  140. package/dist/esm/components/TUIContactSearch/TUIContactSearch.js +1 -1
  141. package/dist/esm/components/TUIContactSearch/hooks/useContactSearch.js +1 -1
  142. package/dist/esm/components/TUIConversationList/hooks/useConversationUpdate.js +1 -1
  143. package/dist/esm/components/TUIKit/TUIKit.d.ts +2 -2
  144. package/dist/esm/components/TUIKit/TUIKit.js +1 -1
  145. package/dist/esm/components/TUIKit/hooks/useCreateTUIKitContext.d.ts +7 -7
  146. package/dist/esm/components/TUIKit/hooks/useTUIKit.d.ts +2 -2
  147. package/dist/esm/components/TUIKit/hooks/useTUIKit.js +1 -1
  148. package/dist/esm/components/TUIManage/TUIManage.d.ts +4 -1
  149. package/dist/esm/components/TUIManage/TUIManage.js +1 -1
  150. package/dist/esm/components/TUIMessage/MessageAudio.js +1 -1
  151. package/dist/esm/components/TUIMessage/MessageAvatar.js +1 -1
  152. package/dist/esm/components/TUIMessage/MessageBubble.js +1 -1
  153. package/dist/esm/components/TUIMessage/MessageContext.js +1 -1
  154. package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
  155. package/dist/esm/components/TUIMessage/MessageFace.js +1 -1
  156. package/dist/esm/components/TUIMessage/MessageFile.js +1 -1
  157. package/dist/esm/components/TUIMessage/MessageImage.js +1 -1
  158. package/dist/esm/components/TUIMessage/MessageLocation.js +1 -1
  159. package/dist/esm/components/TUIMessage/MessageMerger.js +1 -1
  160. package/dist/esm/components/TUIMessage/MessageName.js +1 -1
  161. package/dist/esm/components/TUIMessage/MessagePlugins.js +1 -1
  162. package/dist/esm/components/TUIMessage/MessageProgress.js +1 -1
  163. package/dist/esm/components/TUIMessage/MessageRevoke.js +1 -1
  164. package/dist/esm/components/TUIMessage/MessageText.js +1 -1
  165. package/dist/esm/components/TUIMessage/MessageVideo.js +1 -1
  166. package/dist/esm/components/TUIMessage/TUIMessage.js +1 -1
  167. package/dist/esm/components/TUIMessage/TUIMessageDefault.js +1 -1
  168. package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  169. package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +1 -1
  170. package/dist/esm/components/TUIMessage/utils/index.js +1 -1
  171. package/dist/esm/components/TUIMessageInput/EmojiPicker.js +1 -1
  172. package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  173. package/dist/esm/components/TUIMessageInput/InputQuoteDefalut.js +1 -1
  174. package/dist/esm/components/TUIMessageInput/TUIForward.js +1 -1
  175. package/dist/esm/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  176. package/dist/esm/components/TUIMessageInput/hooks/useEmojiPicker.js +1 -1
  177. package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  178. package/dist/esm/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +1 -1
  179. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputState.d.ts +2 -2
  180. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  181. package/dist/esm/components/TUIMessageInput/hooks/useUploadElement.js +1 -1
  182. package/dist/esm/components/TUIMessageList/TUIMessageList.js +1 -1
  183. package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  184. package/dist/esm/components/TUIProfile/TUIProfile.js +1 -1
  185. package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
  186. package/dist/esm/components/TUIProfile/hooks/useMyProfile.js +1 -1
  187. package/dist/esm/components/Toast/index.js +1 -1
  188. package/dist/esm/constants.js +1 -1
  189. package/dist/esm/context/ComponentContext.d.ts +3 -2
  190. package/dist/esm/context/TUIChatActionContext.d.ts +1 -1
  191. package/dist/esm/context/TUIChatStateContext.d.ts +4 -4
  192. package/dist/esm/context/TUIContactContext.js +1 -1
  193. package/dist/esm/context/TUIConversationContext.js +1 -1
  194. package/dist/esm/context/TUIKitContext.d.ts +1 -1
  195. package/dist/esm/context/TUIMessageContext.js +1 -1
  196. package/dist/esm/context/TUIMessageInputContext.js +1 -1
  197. package/dist/esm/hooks/useProfile.d.ts +1 -1
  198. package/dist/esm/index.css +1 -1
  199. package/dist/esm/index.d.css +20 -3
  200. package/dist/esm/index.d.ts +1 -1
  201. package/index.ts +1 -0
  202. package/package.json +7 -6
  203. package/rollup.config.js +2 -1
  204. package/src/components/Avatar/Avatar.tsx +7 -3
  205. package/src/components/Avatar/styles/index.scss +1 -1
  206. package/src/components/Checkbox/index.tsx +1 -1
  207. package/src/components/ConversationCreate/ConversationCreatGroupDetail.tsx +14 -7
  208. package/src/components/ConversationCreate/ConversationCreate.tsx +5 -1
  209. package/src/components/ConversationCreate/ConversationCreateSelectView.tsx +2 -2
  210. package/src/components/ConversationCreate/ConversationCreateUserSelectList.tsx +11 -10
  211. package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +14 -12
  212. package/src/components/ConversationPreview/ConversationPreview.tsx +3 -3
  213. package/src/components/ConversationPreview/ConversationPreviewContent.tsx +9 -5
  214. package/src/components/ConversationPreview/utils.tsx +6 -3
  215. package/src/components/DivWithEdit/DivWithEdit.tsx +6 -5
  216. package/src/components/DivWithEdit/WithText.tsx +3 -1
  217. package/src/components/DivWithEdit/styles/index.scss +1 -1
  218. package/src/components/Icon/Icon.tsx +2 -2
  219. package/src/components/Icon/config.ts +3 -4
  220. package/src/components/Input/Input.tsx +15 -12
  221. package/src/components/Model/index.tsx +2 -2
  222. package/src/components/Plugins/index.tsx +15 -12
  223. package/src/components/Popup/index.tsx +13 -9
  224. package/src/components/Switch/Switch.tsx +5 -7
  225. package/src/components/TUIChat/TUIChat.tsx +20 -5
  226. package/src/components/TUIChat/TUIChatState.tsx +3 -3
  227. package/src/components/TUIChat/hooks/useHandleMessage.tsx +5 -5
  228. package/src/components/TUIChat/hooks/useHandleMessageList.tsx +2 -2
  229. package/src/components/TUIChat/unitls.ts +2 -2
  230. package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +3 -2
  231. package/src/components/TUIContact/TUIContact.tsx +2 -1
  232. package/src/components/TUIContact/TUIContactInfo/TUIContactInfo.tsx +2 -1
  233. package/src/components/TUIContact/TUIContactInfo/addFriendInfo.tsx +2 -2
  234. package/src/components/TUIContact/TUIContactInfo/basicInfo.tsx +18 -0
  235. package/src/components/TUIContact/TUIContactInfo/friendInfo.tsx +1 -2
  236. package/src/components/TUIContact/TUIContactInfo/hooks/useContactInfo.tsx +0 -10
  237. package/src/components/TUIContact/TUIContactInfo/index.scss +5 -0
  238. package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +7 -4
  239. package/src/components/TUIContact/TUIContactList/index.scss +5 -0
  240. package/src/components/TUIContact/hooks/useTUIContact.tsx +3 -4
  241. package/src/components/TUIContact/index.scss +5 -0
  242. package/src/components/TUIContactSearch/TUIContactSearch.tsx +6 -7
  243. package/src/components/TUIContactSearch/hooks/useContactSearch.tsx +1 -3
  244. package/src/components/TUIConversationList/TUIConversationList.tsx +1 -1
  245. package/src/components/TUIConversationList/hooks/useConversationList.tsx +1 -1
  246. package/src/components/TUIConversationList/hooks/useConversationUpdate.tsx +2 -2
  247. package/src/components/TUIKit/TUIKit.tsx +35 -17
  248. package/src/components/TUIKit/hooks/useTUIKit.tsx +4 -4
  249. package/src/components/TUIManage/TUIManage.tsx +20 -13
  250. package/src/components/TUIMessage/MessageAudio.tsx +8 -6
  251. package/src/components/TUIMessage/MessageAvatar.tsx +2 -2
  252. package/src/components/TUIMessage/MessageBubble.tsx +7 -5
  253. package/src/components/TUIMessage/MessageContext.tsx +3 -3
  254. package/src/components/TUIMessage/MessageCustom.tsx +5 -3
  255. package/src/components/TUIMessage/MessageFace.tsx +2 -2
  256. package/src/components/TUIMessage/MessageFile.tsx +5 -5
  257. package/src/components/TUIMessage/MessageImage.tsx +4 -2
  258. package/src/components/TUIMessage/MessageLocation.tsx +3 -3
  259. package/src/components/TUIMessage/MessageMerger.tsx +3 -3
  260. package/src/components/TUIMessage/MessageName.tsx +1 -1
  261. package/src/components/TUIMessage/MessagePlugins.tsx +12 -10
  262. package/src/components/TUIMessage/MessageProgress.tsx +5 -4
  263. package/src/components/TUIMessage/MessageRevoke.tsx +1 -1
  264. package/src/components/TUIMessage/MessageText.tsx +4 -4
  265. package/src/components/TUIMessage/MessageVideo.tsx +3 -3
  266. package/src/components/TUIMessage/TUIMessage.tsx +1 -1
  267. package/src/components/TUIMessage/TUIMessageDefault.tsx +3 -1
  268. package/src/components/TUIMessage/hooks/useMessageHandler.ts +13 -13
  269. package/src/components/TUIMessage/hooks/useMessageReply.ts +6 -4
  270. package/src/components/TUIMessage/utils/decodeText.ts +2 -3
  271. package/src/components/TUIMessage/utils/index.ts +1 -2
  272. package/src/components/TUIMessageInput/EmojiPicker.tsx +4 -4
  273. package/src/components/TUIMessageInput/InputPluginsDefalut.tsx +8 -8
  274. package/src/components/TUIMessageInput/InputQuoteDefalut.tsx +4 -2
  275. package/src/components/TUIMessageInput/TUIForward.tsx +22 -15
  276. package/src/components/TUIMessageInput/TUIMessageInputDefault.tsx +15 -9
  277. package/src/components/TUIMessageInput/hooks/useEmojiPicker.tsx +2 -2
  278. package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +4 -4
  279. package/src/components/TUIMessageInput/hooks/useHandleQuoteMessage.tsx +5 -5
  280. package/src/components/TUIMessageInput/hooks/useMessageInputState.tsx +3 -3
  281. package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +12 -9
  282. package/src/components/TUIMessageInput/hooks/useUploadElement.tsx +2 -2
  283. package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +1 -1
  284. package/src/components/TUIMessageList/TUIMessageList.tsx +5 -6
  285. package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +5 -2
  286. package/src/components/TUIProfile/TUIProfile.tsx +3 -1
  287. package/src/components/TUIProfile/TUIProfileDefault.tsx +15 -15
  288. package/src/components/TUIProfile/hooks/useMyProfile.tsx +6 -6
  289. package/src/components/Toast/index.tsx +3 -3
  290. package/src/components/Toast/styles/layout.scss +1 -1
  291. package/src/components/untils.ts +1 -1
  292. package/src/constants.ts +5 -0
  293. package/src/context/TUIChatStateContext.tsx +4 -4
  294. package/src/context/TUIContactContext.tsx +1 -1
  295. package/src/context/TUIConversationContext.tsx +2 -2
  296. package/src/context/TUIMessageContext.tsx +1 -1
  297. package/src/context/TUIMessageInputContext.tsx +1 -1
  298. package/src/hooks/useConversation.tsx +1 -1
  299. package/src/hooks/useProfile.tsx +2 -2
  300. package/tsconfig.json +1 -0
  301. package/dist/cjs/components/Icon/images/create.png.js +0 -1
  302. package/dist/esm/components/Icon/images/create.png.js +0 -1
@@ -32,14 +32,14 @@ export function ConversationCreatGroupDetail(props: ConversationCreatGroupDetail
32
32
  const { t } = useTranslation();
33
33
  const { setActiveConversation, myProfile } = useTUIKitContext();
34
34
  const temp = [...profileList];
35
- temp.unshift(myProfile);
35
+ myProfile && temp.unshift(myProfile);
36
36
  const name = temp.map((item) => item.nick || item.userID).toString();
37
37
  const [groupName, setGroupName] = useState(
38
38
  name.length >= 15 ? `${name.slice(0, 12)}...` : name,
39
39
  );
40
40
  const [groupID, setGroupID] = useState('');
41
- const [groupType, setGroupType] = useState('Work');
42
- const groupInfoChange = (e, type) => {
41
+ const [groupType, setGroupType] = useState<string>('Work');
42
+ const groupInfoChange = (e: any, type: string) => {
43
43
  const { value } = e.target;
44
44
  switch (type) {
45
45
  case 'name':
@@ -57,7 +57,7 @@ export function ConversationCreatGroupDetail(props: ConversationCreatGroupDetail
57
57
  const showGroupTypeInfo = () => {
58
58
  setPageState(PageStateTypes.GROUP_TYPE);
59
59
  };
60
- const getDefaultAvatar = (type) => {
60
+ const getDefaultAvatar = (type: string) => {
61
61
  switch (type) {
62
62
  case 'Work':
63
63
  return defaultGroupAvatarWork;
@@ -71,7 +71,9 @@ export function ConversationCreatGroupDetail(props: ConversationCreatGroupDetail
71
71
  return '';
72
72
  }
73
73
  };
74
- const getDes = () => typeInfoList.find((item) => item.type === groupType).des;
74
+ // eslint-disable-next-line
75
+ // @ts-ignore
76
+ const getDes = () => typeInfoList?.find((item: any) => item.type === groupType).des;
75
77
 
76
78
  const next = async () => {
77
79
  const memberList = profileList.map((item) => ({
@@ -79,10 +81,15 @@ export function ConversationCreatGroupDetail(props: ConversationCreatGroupDetail
79
81
  }));
80
82
  const avatar = getDefaultAvatar(groupType);
81
83
  const conversation = await createConversation({
82
- name: groupName, type: GroupType[groupType], groupID, avatar, memberList,
84
+ name: groupName,
85
+ // eslint-disable-next-line
86
+ // @ts-ignore
87
+ type: GroupType[groupType],
88
+ groupID,
89
+ avatar,
90
+ memberList,
83
91
  });
84
92
  setActiveConversation(conversation);
85
- // 切换会话
86
93
  TUIConversationService.switchConversation(conversation?.conversationID);
87
94
  setConversationCreated(false);
88
95
  };
@@ -58,6 +58,8 @@ export function ConversationCreate<T extends ConversationCreateProps>(props:T) {
58
58
  setIsCreateGroup={setIsCreateGroup}
59
59
  className={className}
60
60
  selectList={selectList}
61
+ // eslint-disable-next-line
62
+ // @ts-ignore
61
63
  setSelectList={setSelectList}
62
64
  conversationList={conversationList}
63
65
  setConversationCreated={setConversationCreated}
@@ -67,7 +69,9 @@ export function ConversationCreate<T extends ConversationCreateProps>(props:T) {
67
69
  <ConversationCreatGroupDetail
68
70
  pageState={pageState}
69
71
  setPageState={setPageState}
70
- profileList={selectList.map((item) => item.profile)}
72
+ profileList={selectList.map((item: any) => item?.profile)}
73
+ // eslint-disable-next-line
74
+ // @ts-ignore
71
75
  createConversation={createConversation}
72
76
  setConversationCreated={setConversationCreated}
73
77
  />
@@ -14,9 +14,9 @@ export interface ConversationCreateSelectViewProps{
14
14
  }
15
15
  export function ConversationCreateSelectView(props:ConversationCreateSelectViewProps) {
16
16
  const { selectList, setSelectList } = props;
17
- const close = (domList, index) => {
17
+ const close = (domList:Array<HTMLInputElement>, index: number) => {
18
18
  // eslint-disable-next-line no-param-reassign
19
- domList.forEach((dom) => { dom.checked = false; });
19
+ domList.forEach((dom: HTMLInputElement) => { dom.checked = false; });
20
20
  selectList.splice(index, 1);
21
21
  setSelectList([...selectList]);
22
22
  };
@@ -1,6 +1,6 @@
1
1
  import React, { useRef, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { Conversation } from '@tencentcloud/chat';
3
+ import { Conversation, Profile } from '@tencentcloud/chat';
4
4
  import {
5
5
  TUIConversationService,
6
6
  } from '@tencentcloud/chat-uikit-engine';
@@ -36,7 +36,7 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
36
36
  const { t } = useTranslation();
37
37
  const [searchValue, setSearchValue] = useState('');
38
38
  const { chat, setActiveConversation } = useTUIKitContext();
39
- const [friendList, setFriendList] = useState({});
39
+ const [friendList, setFriendList] = useState<any>({});
40
40
  const {
41
41
  getFriendListSortSearchResult,
42
42
  } = useConversationCreate(chat, conversationList, (newFriendListResult) => {
@@ -44,7 +44,7 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
44
44
  });
45
45
  const { createConversation } = useConversation(chat);
46
46
  const userCheckedList = useRef(new Map());
47
- const searchValueChange = async (e) => {
47
+ const searchValueChange = async (e: React.ChangeEvent<HTMLInputElement>) => {
48
48
  const { value } = e.target;
49
49
  setSearchValue(value);
50
50
  setFriendList(await getFriendListSortSearchResult(value));
@@ -54,21 +54,22 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
54
54
  userCheckedList.current.clear();
55
55
  setSelectList([]);
56
56
  };
57
- const getUserChecked = (userID, dom) => {
57
+ const getUserChecked = (userID:string, dom: HTMLElement) => {
58
58
  if (!dom) return;
59
59
  if (!userCheckedList.current.has(userID)) {
60
60
  userCheckedList.current.set(userID, []);
61
61
  }
62
62
  const list = userCheckedList.current.get(userID);
63
- if (list.length !== 0 && list.some((item) => item.id === dom.id)) {
63
+ if (list.length !== 0 && list.some((item: any) => item.id === dom.id)) {
64
64
  return;
65
65
  }
66
66
  list.push(dom);
67
67
  };
68
- const userSelectListChange = (e, profile, domList = []) => {
68
+ const userSelectListChange = (e: any, profile: Profile, domList = []) => {
69
69
  const { userID } = profile;
70
70
  const { checked } = e.target;
71
- // eslint-disable-next-line no-param-reassign
71
+ // eslint-disable-next-line
72
+ // @ts-ignore
72
73
  domList.forEach((dom) => { dom.checked = checked; });
73
74
  if (checked) {
74
75
  selectList.push({ profile, domList });
@@ -77,7 +78,7 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
77
78
  }
78
79
  setSelectList([...selectList]);
79
80
  };
80
- const createC2CConversation = async (profile) => {
81
+ const createC2CConversation = async (profile: Profile) => {
81
82
  if (isCreateGroup) return;
82
83
  const { userID } = profile;
83
84
  const conversation = await createConversation(`C2C${userID}`);
@@ -118,7 +119,7 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
118
119
  (key) => friendList[key].length !== 0 && (
119
120
  <div className="tui-group-box" key={key}>
120
121
  <div className="title">{key}</div>
121
- {friendList[key].map((profile, index) => {
122
+ {friendList[key].map((profile: Profile, index: number) => {
122
123
  const { userID, nick, avatar } = profile;
123
124
  return (
124
125
  <label
@@ -138,7 +139,7 @@ export function ConversationCreateUserSelectList(props: ConversationCreateUserSe
138
139
  userSelectListChange(e, profile, userCheckedList.current.get(userID));
139
140
  }}
140
141
  type="checkbox"
141
- ref={(dom) => {
142
+ ref={(dom: any) => {
142
143
  getUserChecked(userID, dom);
143
144
  }}
144
145
  id={`userChecked-${key}-${userID}`}
@@ -1,17 +1,17 @@
1
1
  import React, { useState, useEffect } from 'react';
2
- import TencentCloudChat from '@tencentcloud/chat';
2
+ import TencentCloudChat, { Conversation, Friend, Profile } from '@tencentcloud/chat';
3
3
  import { strChineseFirstPy } from '../static/word';
4
4
  import { useProfile } from '../../../hooks';
5
5
 
6
6
  export const useConversationCreate = (
7
- chat,
8
- conversationList,
7
+ chat: any,
8
+ conversationList: Array<Conversation>,
9
9
  setFriendListResultHandler?:(
10
10
  newFriendListResult: object,
11
11
  setFriendListResult: React.Dispatch<React.SetStateAction<{string:Array<object>}>>
12
12
  ) => void,
13
13
  ) => {
14
- const [friendListSortResult, setFriendListSortResult] = useState({});
14
+ const [friendListSortResult, setFriendListSortResult] = useState<any>();
15
15
  const getFirstLetter = (str: string) => {
16
16
  const temp = str.trim();
17
17
  const uni = temp.charCodeAt(0);
@@ -22,12 +22,12 @@ export const useConversationCreate = (
22
22
  };
23
23
  const queryFriendList = async () => {
24
24
  const frequentlyConversationProfile = conversationList.filter(
25
- (item) => item.type === TencentCloudChat.TYPES.CONV_C2C,
26
- ).slice(0, 5).map((item) => item.userProfile);
25
+ (item: Conversation) => item?.type === TencentCloudChat.TYPES.CONV_C2C,
26
+ ).slice(0, 5).map((item: Conversation) => item?.userProfile);
27
27
  const { code, data } = await chat.getFriendList();
28
28
  if (code === 0) {
29
29
  const sortResult = handleData(
30
- data.map((item) => item.profile),
30
+ data.map((item: Friend) => item.profile),
31
31
  frequentlyConversationProfile,
32
32
  );
33
33
  setFriendListSortResult(sortResult);
@@ -36,8 +36,8 @@ export const useConversationCreate = (
36
36
  }
37
37
  }
38
38
  };
39
- const handleData = (profileList, frequentlyConversationProfile = []) => {
40
- const sortResult = {
39
+ const handleData = (profileList: Array<Profile>, frequentlyConversationProfile?: any) => {
40
+ const sortResult: any = {
41
41
  '#': [],
42
42
  };
43
43
  for (let i = 65; i <= 90; i += 1) {
@@ -55,7 +55,7 @@ export const useConversationCreate = (
55
55
  }
56
56
  });
57
57
  Object.keys(sortResult).forEach((key) => {
58
- sortResult[key].sort((a, b) => {
58
+ sortResult[key].sort((a: any, b: any) => {
59
59
  const { nick: aNick, userID: aUserID } = a;
60
60
  const { nick: bNick, userID: bUserID } = b;
61
61
  if (aNick || aUserID < bNick || bUserID) {
@@ -73,12 +73,14 @@ export const useConversationCreate = (
73
73
  if (!searchValue) return friendListSortResult;
74
74
  const { data: profileList } = await getUserProfile([searchValue]);
75
75
 
76
- const result = {};
76
+ const result: any = {};
77
77
  let isIncludes = false;
78
78
  Object.keys(friendListSortResult).forEach((key) => {
79
79
  result[key] = friendListSortResult[key].filter(
80
+ // eslint-disable-next-line
81
+ // @ts-ignore
80
82
  ({ nick, userID }) => {
81
- const tempNick = nick.toLocaleLowerCase();
83
+ const tempNick = nick?.toLocaleLowerCase();
82
84
  const tempSearchValue = searchValue.toLocaleLowerCase();
83
85
  const userIDValue = userID.toLocaleLowerCase();
84
86
  let includes;
@@ -50,14 +50,14 @@ export function ConversationPreview<T extends ConversationPreviewProps>(
50
50
  } = useTUIKitContext('ConversationPreview');
51
51
  const [displayImage, setDisplayImage] = useState(getDisplayImage(conversation));
52
52
  const [displayTitle, setDisplayTitle] = useState(getDisplayTitle(conversation, searchValue));
53
- const [displayMessage, setDisplayMessage] = useState(getDisplayMessage(conversation, myProfile, language));
53
+ const [displayMessage, setDisplayMessage] = useState(myProfile && getDisplayMessage(conversation, myProfile, language));
54
54
  const [displayTime, setDisplayTime] = useState(getDisplayTime(conversation, language));
55
55
  const [unread, setUnread] = useState(conversation.unreadCount);
56
56
  const isActive = activeConversation?.conversationID === conversation?.conversationID;
57
- if (!Preview) return null;
57
+ if (!Preview) return <></>;
58
58
  useEffect(() => {
59
59
  setDisplayTitle(getDisplayTitle(conversation, searchValue));
60
- setDisplayMessage(getDisplayMessage(conversation, myProfile, language));
60
+ myProfile && setDisplayMessage(getDisplayMessage(conversation, myProfile, language));
61
61
  setDisplayImage(getDisplayImage(conversation));
62
62
  setDisplayTime(getDisplayTime(conversation, language));
63
63
  setUnread(conversation.unreadCount);
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/jsx-key */
1
2
  import React, { useRef, useState, useEffect } from 'react';
2
3
  import { useTranslation } from 'react-i18next';
3
4
  import { TUIConversationService } from '@tencentcloud/chat-uikit-engine';
@@ -11,6 +12,9 @@ import { Plugins } from '../Plugins';
11
12
  import { useConversation } from '../../hooks';
12
13
  import { useTUIKitContext } from '../../context';
13
14
 
15
+ export interface IPluginsRef {
16
+ closeMore?: () => void,
17
+ }
14
18
  export function unMemoConversationPreviewContent<T extends ConversationPreviewUIComponentProps>(
15
19
  props: T,
16
20
  ):React.ReactElement {
@@ -36,7 +40,7 @@ export function unMemoConversationPreviewContent<T extends ConversationPreviewUI
36
40
  const unreadClass = unread && unread >= 1 ? 'conversation-preview-content--unread' : '';
37
41
  const pinClass = conversation.isPinned ? 'conversation-preview-content--pin' : '';
38
42
  const [isHover, setIsHover] = useState(false);
39
- const pluginsRef = useRef(null);
43
+ const pluginsRef = useRef<IPluginsRef>(null);
40
44
 
41
45
  const onSelectConversation = () => {
42
46
  TUIConversationService.switchConversation(conversation?.conversationID);
@@ -63,7 +67,7 @@ export function unMemoConversationPreviewContent<T extends ConversationPreviewUI
63
67
  const handleH5LongPress = (type: string) => {
64
68
  if (isPC) return;
65
69
  const { conversationID } = conversation;
66
- setActiveConversationID(conversationID);
70
+ setActiveConversationID && setActiveConversationID(conversationID);
67
71
  function longPressHandler() {
68
72
  clearTimeout(timer);
69
73
  setIsHover(true);
@@ -92,15 +96,15 @@ export function unMemoConversationPreviewContent<T extends ConversationPreviewUI
92
96
  const { conversationID, isPinned } = conversation;
93
97
  e.stopPropagation();
94
98
  setIsHover(false);
95
- pluginsRef.current.closeMore();
99
+ pluginsRef?.current?.closeMore && pluginsRef.current.closeMore();
96
100
  switch (type) {
97
101
  case 'pin':
98
102
  pinConversation({ conversationID, isPinned: !isPinned });
99
103
  break;
100
104
  case 'delete':
101
105
  deleteConversation(conversationID);
102
- if (conversation === activeConversation) {
103
- setActiveConversation(null);
106
+ if (setActiveConversation && conversation === activeConversation) {
107
+ setActiveConversation(undefined);
104
108
  }
105
109
  break;
106
110
  default:
@@ -27,12 +27,13 @@ export const getDisplayTitle = (
27
27
  }
28
28
  const handleTitle = (str:string) => {
29
29
  const tempStr = str.toLocaleLowerCase();
30
- const pos = tempStr.indexOf(searchValue.toLocaleLowerCase());
30
+ const pos = searchValue && tempStr.indexOf(searchValue.toLocaleLowerCase());
31
+ if (pos === '') return <></>
31
32
  return (
32
33
  <div>
33
34
  <span>{str.slice(0, pos)}</span>
34
- <span style={{ color: highlightColor }}>{str.slice(pos, pos + searchValue.length)}</span>
35
- <span>{str.slice(pos + searchValue.length)}</span>
35
+ <span style={{ color: highlightColor }}>{pos && str.slice(pos, pos + searchValue.length)}</span>
36
+ <span>{pos && str.slice(pos + searchValue.length)}</span>
36
37
  </div>
37
38
  );
38
39
  };
@@ -94,6 +95,8 @@ export const getDisplayMessage = (
94
95
  };
95
96
  interface TProfile extends Profile, Group {}
96
97
  export const getMessageProfile = (conversation: Conversation):TProfile => {
98
+ // eslint-disable-next-line
99
+ // @ts-ignore
97
100
  if (!conversation) return null;
98
101
  let result = {};
99
102
  const { type, groupProfile, userProfile } = conversation;
@@ -22,7 +22,7 @@ interface DivWithEditProps {
22
22
  type?: string,
23
23
  isEdit?: boolean,
24
24
  toggle?: (name:string) => void,
25
- close?: () => void,
25
+ close: () => void,
26
26
  }
27
27
 
28
28
  export function DivWithEdit<T extends DivWithEditProps>(props:PropsWithChildren<T>) {
@@ -40,15 +40,16 @@ export function DivWithEdit<T extends DivWithEditProps>(props:PropsWithChildren<
40
40
  } = props;
41
41
 
42
42
  const [value, setValue] = useState(propsValue);
43
-
43
+ // eslint-disable-next-line
44
+ // @ts-ignore
44
45
  const WithEditElements = elements[type] || WithText;
45
46
 
46
47
  useLayoutEffect(() => {
47
48
  setValue(propsValue);
48
49
  }, [propsValue]);
49
50
 
50
- const handleConfirm = (data) => {
51
- confirm({
51
+ const handleConfirm = (data: any) => {
52
+ confirm && confirm({
52
53
  name,
53
54
  value: data,
54
55
  });
@@ -66,7 +67,7 @@ export function DivWithEdit<T extends DivWithEditProps>(props:PropsWithChildren<
66
67
  <div className="show">
67
68
  <p>{value || '-'}</p>
68
69
  <div className="icon">
69
- <Icon className="icon-edit" width={12} height={12} type={IconTypes.EDIT} onClick={() => { toggle(name); }} />
70
+ <Icon className="icon-edit" width={12} height={12} type={IconTypes.EDIT} onClick={() => { toggle && name && toggle(name); }} />
70
71
  </div>
71
72
  </div>
72
73
  )
@@ -31,10 +31,12 @@ export function WithText<T extends WithEditProps>(props:PropsWithChildren<T>) {
31
31
  };
32
32
 
33
33
  const handleConfirm = () => {
34
- confirm(value);
34
+ confirm && confirm(value);
35
35
  };
36
36
  return (
37
37
  <div className={`edit ${className}`}>
38
+ {/* // eslint-disable-next-line
39
+ // @ts-ignore */}
38
40
  <input ref={inputRef} type="text" value={value} onChange={handleChange} />
39
41
  <Icon className="icon" width={15} height={10.5} type={IconTypes.CONFIRM} onClick={handleConfirm} />
40
42
  </div>
@@ -52,7 +52,7 @@
52
52
  min-width: 100%;
53
53
  z-index: 2;
54
54
  background: #FFFFFF;
55
- box-shadow: 0 11px 20px 0 rgb(0 0 0 / 30%);
55
+ box-shadow: 0 11px 20px 0 rgb(0,0,0.3);
56
56
  top: 100%;
57
57
  border-radius: 5px;
58
58
  padding: 10px 0;
@@ -28,13 +28,13 @@ export function Icon(props: React.PropsWithChildren<IconProps>) {
28
28
  };
29
29
  return (
30
30
  <div
31
- className={`tui-kit-icon ${changeTypeToIconClassName(type)} ${className}`}
31
+ className={`tui-kit-icon ${type && changeTypeToIconClassName(type)} ${className}`}
32
32
  role="button"
33
33
  tabIndex={0}
34
34
  style={iconStyle}
35
35
  onClick={onClick}
36
36
  >
37
- {children || changeTypeToIconComponent(type)}
37
+ {children || (type && changeTypeToIconComponent(type))}
38
38
  </div>
39
39
  );
40
40
  }
@@ -1,5 +1,4 @@
1
1
  import IconMoreUrl from './images/more.png';
2
- import IconCreateUrl from './images/create.png';
3
2
  import IconClearUrl from './images/clear.png';
4
3
  import IconSearchUrl from './images/search.png';
5
4
  import IconBackUrl from './images/back.png';
@@ -41,7 +40,7 @@ import IconUnunionUrl from './images/ununion.png';
41
40
  import IconVectorUrl from './images/vector.png';
42
41
  import IconUnvectorUrl from './images/unvector.png';
43
42
  import IconVoiceUrl from './images/voice.png';
44
- import IconAddFriendUrl from './images/add-friend.svg';
43
+ import IconAddCircleUrl from './images/add-friend.svg';
45
44
 
46
45
  import { IconTypes } from './type';
47
46
 
@@ -60,7 +59,7 @@ export const ICON_CONFIG:IconConfig = {
60
59
  className: 'tui-kit-icon-more',
61
60
  },
62
61
  [IconTypes.CREATE]: {
63
- url: IconCreateUrl,
62
+ url: IconAddCircleUrl,
64
63
  className: 'tui-kit-icon-create',
65
64
  },
66
65
  [IconTypes.CLEAR]: {
@@ -228,7 +227,7 @@ export const ICON_CONFIG:IconConfig = {
228
227
  className: 'tui-kit-icon-voice',
229
228
  },
230
229
  [IconTypes.ADDFRIEND]: {
231
- url: IconAddFriendUrl,
230
+ url: IconAddCircleUrl,
232
231
  className: 'tui-kit-icon-add-friend',
233
232
  },
234
233
  };
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/display-name */
1
2
  import React, {
2
3
  useRef, useState, useImperativeHandle, InputHTMLAttributes,
3
4
  } from 'react';
@@ -25,10 +26,10 @@ export interface InputRef {
25
26
  input: HTMLInputElement | null;
26
27
  }
27
28
  export const Input = React.forwardRef<InputRef, InputProps>(
28
- (props:InputProps, ref):React.ReactElement => {
29
+ (props: InputProps, ref): React.ReactElement => {
29
30
  const {
30
- className = '',
31
- customClassName = '',
31
+ className = "",
32
+ customClassName = "",
32
33
  placeholder,
33
34
  clearable = false,
34
35
  prefix,
@@ -37,25 +38,25 @@ export const Input = React.forwardRef<InputRef, InputProps>(
37
38
  onBlur,
38
39
  onFocus,
39
40
  onKeyDown,
40
- value: propsValue = '',
41
- border = '',
41
+ value: propsValue = "",
42
+ border = "",
42
43
  disabled = false,
43
44
  maxLength = undefined,
44
45
  } = props;
45
46
 
46
47
  const [focused, setFocused] = useState<boolean>(false);
47
- const enterCodeList = ['Enter', 'NumpadEnter'];
48
+ const enterCodeList = ["Enter", "NumpadEnter"];
48
49
  const [value, setValue] = useState(propsValue);
49
50
  const inputRef = useRef<HTMLInputElement>(null);
50
- const handleFocus = (e) => {
51
+ const handleFocus = (e: any) => {
51
52
  setFocused(true);
52
53
  onFocus?.(e);
53
54
  };
54
- const handleBlur = (e) => {
55
+ const handleBlur = (e: any) => {
55
56
  setFocused(false);
56
57
  onBlur?.(e);
57
58
  };
58
- const handleEnterKeyDown = (e) => {
59
+ const handleEnterKeyDown = (e: any) => {
59
60
  if (enterCodeList.indexOf(e?.key) > -1 && onKeyDown) {
60
61
  e?.preventDefault();
61
62
  onKeyDown(e);
@@ -64,7 +65,9 @@ export const Input = React.forwardRef<InputRef, InputProps>(
64
65
  const clearInput = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {
65
66
  setValue('');
66
67
  focus();
67
- const currentTarget = inputRef.current.cloneNode(true) as HTMLInputElement;
68
+ const currentTarget = inputRef?.current?.cloneNode(
69
+ true
70
+ ) as HTMLInputElement;
68
71
  const event = Object.create(e, {
69
72
  target: { value: currentTarget },
70
73
  currentTarget: { value: currentTarget },
@@ -109,9 +112,9 @@ export const Input = React.forwardRef<InputRef, InputProps>(
109
112
  />
110
113
  {suffix}
111
114
  {(clearable && value)
112
- && <Icon type={IconTypes.CLEAR} height={13} width={13} onClick={clearInput} />}
115
+ && <Icon type={IconTypes.CLEAR} height={13} width={13} onClick={(e: any) => {clearInput(e)}} />}
113
116
  </div>
114
117
  </div>
115
118
  );
116
- },
119
+ }
117
120
  );
@@ -4,7 +4,7 @@ import './styles/index.scss';
4
4
 
5
5
  interface PopupProps {
6
6
  className?: string,
7
- onClick?: (e?) => void,
7
+ onClick?: (e: Event) => void,
8
8
  }
9
9
 
10
10
  export function Model<
@@ -17,7 +17,7 @@ T extends PopupProps
17
17
  } = props;
18
18
 
19
19
  return (
20
- <div role="button" tabIndex={0} className={`model ${className}`} onClick={onClick}>
20
+ <div role="button" tabIndex={0} className={`model ${className}`} onClick={(e: any) => onClick && onClick(e)}>
21
21
  {children}
22
22
  </div>
23
23
  );
@@ -22,6 +22,8 @@ export interface PluginsProps {
22
22
 
23
23
  function PluginsWithContext<T extends PluginsProps>(
24
24
  props:PropsWithChildren<T>,
25
+ // eslint-disable-next-line
26
+ // @ts-ignore
25
27
  ref,
26
28
  ):React.ReactElement {
27
29
  const {
@@ -36,31 +38,31 @@ function PluginsWithContext<T extends PluginsProps>(
36
38
  } = props;
37
39
 
38
40
  useImperativeHandle(ref, () => ({
39
- closeMore: (newVal) => {
41
+ closeMore: (newVal: boolean) => {
40
42
  setShow(false);
41
43
  },
42
44
  }));
43
45
 
44
46
  const { showPicker, elements } = usePluginsElement({ plugins, showNumber });
45
- const pluginRef = useRef(null);
47
+ const pluginRef = useRef<HTMLDivElement>(null);
46
48
 
47
49
  const [show, setShow] = useState(false);
48
50
 
49
- const handleShow = (e) => {
51
+ const handleShow = (e: any) => {
50
52
  e.stopPropagation();
51
53
  setShow(!show);
52
54
  if (!show) {
53
- pluginRef.current.offsetParent.removeEventListener('scroll', handleShow);
55
+ pluginRef?.current?.offsetParent?.removeEventListener('scroll', handleShow);
54
56
  }
55
57
  };
56
58
 
57
- const pluginHandleVisible = (data) => {
59
+ const pluginHandleVisible = (data: any) => {
58
60
  if (handleVisible) {
59
61
  const {
60
62
  width, height,
61
- } = pluginRef.current.children[1].getBoundingClientRect();
62
- const { x = 0, y = 0 } = pluginRef.current.getBoundingClientRect();
63
- pluginRef.current.offsetParent.addEventListener('scroll', handleShow);
63
+ } = pluginRef?.current?.children[1].getBoundingClientRect() || {};
64
+ const { x = 0, y = 0 } = pluginRef?.current?.getBoundingClientRect() || {};
65
+ pluginRef.current?.offsetParent?.addEventListener('scroll', handleShow);
64
66
  handleVisible({
65
67
  ...data,
66
68
  width,
@@ -70,11 +72,12 @@ function PluginsWithContext<T extends PluginsProps>(
70
72
  });
71
73
  }
72
74
  };
73
-
75
+ // eslint-disable-next-line
76
+ // @ts-ignore
74
77
  return (
75
- (showPicker.length > 0 || elements?.length > 0) && (
78
+ ((showPicker && showPicker.length > 0) || (elements && elements?.length > 0)) && (
76
79
  <ul className={`plugin ${className}`}>
77
- {showPicker?.length > 0 && showPicker.map((Item, index:number) => {
80
+ {showPicker && showPicker?.length > 0 && showPicker.map((Item, index:number) => {
78
81
  const key = `${Item}${index}`;
79
82
  return (
80
83
  <li className="plugin-item" key={key}>
@@ -83,7 +86,7 @@ function PluginsWithContext<T extends PluginsProps>(
83
86
  );
84
87
  })}
85
88
  {
86
- elements?.length > 0 && (
89
+ elements && elements?.length > 0 && (
87
90
  <div className="plugin-popup" ref={pluginRef}>
88
91
  <div role="menuitem" tabIndex={0} className="more" onClick={handleShow}>
89
92
  {